:root {
    --gt-white-color: #fff;
    --gt-bg-rgb: 255, 255, 255;
    --gt-box-shadow: 0 3px 8px 6px rgba(7, 17, 27, 0.05);
    --gt-main-color: #3253b4;
    --gt-main-rgb: 50, 83, 180;
    --gt-main-color-88: rgba(50, 83, 180, 0.88);
    --gt-main-color-66: rgba(50, 83, 180, 0.66);
    --gt-main-color-56: rgba(50, 83, 180, 0.56);
    --gt-main-color-28: rgba(50, 83, 180, 0.28);
    --gt-main-color-16: rgba(50, 83, 180, 0.16);
    --gt-main-color-6: rgba(50, 83, 180, 0.06);
    --gt-font-color: #34495e;
    --gt-font-88: rgba(52, 73, 94, 0.88);
    --gt-font-66: rgba(52, 73, 94, 0.66);
    --gt-font-56: rgba(52, 73, 94, 0.56);
    --gt-font-28: rgba(52, 73, 94, 0.28);
    --gt-font-16: rgba(52, 73, 94, 0.16);
    --gt-font-6: rgba(52, 73, 94, 0.06);
    --gt-main-radius: 0.5rem;
    --gt-aside-width: 318px;
    --gt-main-max-width: 1458px;
    --gt-header-height: 72px;
    --gt-default: #BEC4CC;
    --gt-default-hover: rgba(190, 196, 204, 0.09);
    --gt-info: #3253b4;
    --gt-info-hover: rgba(50, 83, 180, 0.09);
    --gt-success: #01C4B6;
    --gt-success-hover: rgba(1, 196, 182, 0.09);
    --gt-warning: #DD8636;
    --gt-warning-hover: rgba(221, 134, 54, 0.09);
    --gt-error: #DE3C3D;
    --gt-error-hover: rgba(222, 60, 61, 0.09);
    --gt-import: #B984DF;
    --gt-import-hover: rgba(185, 132, 223, 0.09)
}

*,
*::before,
*::after {
    box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p,
pre,
code,
figure,
blockquote,
dl,
dd {
    margin: 0
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0
}

del {
    text-decoration: line-through
}

html:focus-within {
    scroll-behavior: smooth
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

input,
button,
textarea,
select {
    font: inherit
}

* {
    -webkit-tap-highlight-color: transparent;
    text-decoration: none;
    outline: none
}

/* Firefox 滚动条 */
html {
    scroll-behavior: smooth;
}

::selection,
::-webkit-selection {
    color: #fff;
    background: var(--gt-main-color-88)
}

html {
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 16px;
    font-weight: 400
}

body {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100vw;
    min-height: 100vh;
    color: var(--gt-font-color);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
    background: linear-gradient(180deg, rgba(var(--gt-bg-rgb), 0.12) 0%, rgba(var(--gt-bg-rgb), 0.04) 90%, rgba(var(--gt-bg-rgb), 0) 100%) !important;
    overflow-x: hidden
}

body::before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='8' height='8' fill='none' stroke='rgb(0 0 0 / 0.1)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e");
    opacity: 0.188;
    z-index: -1;
    pointer-events: none
}

pre,
code {
    font-family: 'SF Mono', Monaco, Consolas, monospace !important
}

a {
    color: var(--gt-font-color);
    text-decoration: none;
    transition: color 0.18s ease-in-out
}

a:hover {
    color: var(--gt-main-color)
}

img {
    max-width: 100%;
    user-select: none;
    -webkit-user-drag: none
}

img[data-src]:not(.lazyloaded),
img.lazyload:not(.lazyloaded) {
    filter: blur(0.88rem) brightness(1);
    transition: filter 0.18s ease-in
}

img.lazyloaded {
    filter: none
}

.gt-hover {
    position: relative;
    transition: all 0.18s ease-in-out
}

.gt-hover:hover {
    color: var(--gt-white-color) !important
}

.gt-hover::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.5rem;
    background-color: var(--gt-main-color-88);
    opacity: 0;
    z-index: -1;
    transition: all 0.18s ease-in-out
}

.gt-hover:hover::before {
    transform: scale(1.2);
    opacity: 1
}

.gt-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    word-break: break-all
}

.gt-ellipsis:not([class*="line-"]) {
    white-space: nowrap;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gt-ellipsis.line-2 {
    -webkit-line-clamp: 2;
    line-clamp: 2;
    line-clamp: 2;
    white-space: normal
}

.gt-ellipsis.line-3 {
    -webkit-line-clamp: 3;
    line-clamp: 3;
    line-clamp: 3;
    white-space: normal
}

header.gt-header {
    position: fixed;
    left: 0;
    top: 0;
    box-sizing: border-box;
    width: 100vw;
    height: var(--gt-header-height);
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.08);
    transition: background-color 0.18s ease-in-out;
    z-index: 999
}

header.gt-header>section {
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 0.88rem 0 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: var(--gt-main-max-width)
}

header.gt-header .home {
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0.266rem 0.188rem;
    display: flex;
    align-items: center;
    gap: 0.618rem;
    width: max-content;
    height: max-content;
    color: var(--gt-font-color)
}

header.gt-header .home:hover span {
    color: var(--gt-white-color)
}

header.gt-header .home img {
    height: 2.5rem;
    width: auto;
    object-fit: contain
}

header.gt-header .home span {
    font-size: 1.5rem;
    font-weight: 700;
    padding-top: 0.188rem;
    transition: all 0.1s
}

header.gt-header .nav-center {
    flex: 1;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.18rem;
    height: 100%;
    margin: 0 1rem
}

header.gt-header .nav-center .nav-link {
    box-sizing: border-box;
    padding: 0.288rem 0.36rem;
    display: flex;
    align-items: center;
    gap: 0.28rem;
    line-height: inherit;
    height: max-content;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--gt-font-color);
    user-select: none;
    cursor: pointer;
    transition: all 0.18s;
    white-space: nowrap
}

header.gt-header .nav-center .nav-link:hover {
    color: var(--gt-white-color)
}

header.gt-header .nav-center .nav-link i {
    font-size: 1rem;
    transition: transform 0.18s
}

header.gt-header .nav-center .nav-dropdown:hover .nav-link i {
    transform: rotate(180deg)
}

header.gt-header .nav-right {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.88rem;
    margin-left: auto
}

header.gt-header .nav-right .nav-link {
    box-sizing: border-box;
    padding: 0.288rem 0.36rem;
    display: flex;
    align-items: center;
    gap: 0.28rem;
    line-height: inherit;
    height: max-content;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--gt-font-color);
    user-select: none;
    cursor: pointer;
    transition: all 0.18s
}

header.gt-header .nav-right .nav-link:hover {
    color: var(--gt-white-color)
}

header.gt-header .nav-right .nav-link i {
    font-size: 1.28rem
}

header.gt-header .menu-btn {
    display: none
}

header.gt-header .menu-btn i {
    font-size: 1.28rem
}

main.main {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: calc(100vh - 200px);
    overflow: visible !important
}

main.main>.main-inner {
    flex-shrink: 0;
    position: relative;
    box-sizing: border-box;
    padding-top: calc(var(--gt-header-height) + 0.5rem);
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    max-width: var(--gt-main-max-width);
    min-height: calc(100vh - 200px);
    z-index: 1
}

main.main>.main-inner.aside-right {
    flex-direction: row
}

main.main>.main-inner.aside-left {
    flex-direction: row-reverse
}

main.main>.main-inner>.main-inner-content {
    flex: 1 1 0%;
    box-sizing: border-box;
    padding: 0.5rem 0.66rem 0.88rem;
    width: 100%;
    min-width: 0;
    height: max-content;
    overflow: hidden
}

aside.gt-aside {
    flex-shrink: 0;
    position: relative;
    box-sizing: border-box;
    padding: 2rem 0.66rem 0.88rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: var(--gt-aside-width);
    height: auto
}

.main-inner.home-page aside.gt-aside {
    padding: 0.75rem 0.66rem 0.88rem;
}

aside.gt-aside>.sticky-aside {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--gt-header-height) + 1rem);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%
}

.main-inner.home-page aside.gt-aside>.sticky-aside {
    top: calc(var(--gt-header-height) + 0.75rem);
}

.gt-aside-item {
    position: relative;
    box-sizing: border-box;
    padding: 1.28rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    height: max-content;
    border-radius: var(--gt-main-radius);
    background: var(--gt-white-color) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden;
    isolation: isolate;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
}

.gt-aside-item::before {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 12px;
    height: 12px;
    background: #ff5f56;
    border-radius: 50%;
    box-shadow: -22px 0 0 #ffbd2e, -44px 0 0 #27c93f;
    z-index: 2;
}

.gt-aside-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
    background: linear-gradient(180deg, rgba(var(--gt-bg-rgb), 0.22) 0%, rgba(var(--gt-bg-rgb), 0.02) 100%) !important
}

.gt-aside-item>h3 {
    width: 100%;
    font-size: 0.68rem;
    font-weight: 400;
    color: var(--gt-font-56)
}

.gt-aside-item.user {
    padding: 1.88rem 0;
    align-items: center
}

.gt-aside-item:not(.user) .sky-h3 {
    font-size: 1rem;
    margin: -0.5rem 0 0.5rem 0;
    line-height: 14px;
    color: var(--gt-font-24);
    font-weight: 600;
    padding: 0;
    position: relative;
    top: 0;
    display: inline-block;
    vertical-align: middle;
}

.gt-aside-item.user .gt-aside-avatar {
    position: relative;
    width: 6.36rem;
    height: 6.36rem;
    border-radius: 50%;
    object-fit: cover;
    overflow: hidden;
    border: 3px solid var(--gt-main-color);
    box-shadow: 0 0 0 3px rgba(1, 196, 182, 0.2);
    transition: all 0.3s ease
}

.gt-aside-item.user .gt-aside-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 0 0 4px rgba(1, 196, 182, 0.3)
}

.gt-aside-item.user .gt-aside-auther {
    position: relative;
    font-size: 1.25rem;
    font-weight: 600
}

.gt-aside-item.user .gt-aside-auther::after {
    content: '';
    position: absolute;
    display: block;
    bottom: -0.16rem;
    left: 50%;
    transform: translateX(-50%);
    width: 36%;
    height: 0.26rem;
    border-radius: 3px;
    background-color: var(--gt-main-color-88)
}

.gt-aside-item.user .gt-aside-motto {
    font-size: 0.86rem;
    color: var(--gt-font-66);
    line-height: 1.5;
    text-align: center;
    padding: 0 1.28rem;
    box-sizing: border-box
}

.gt-aside-item.user .gt-aside-links {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem
}

.gt-aside-item.user .gt-aside-links-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.88rem;
    height: 1.88rem;
    border: solid 1px #333;
    background-color: var(--gt-white-color);
    border-radius: 0.38rem;
    overflow: hidden;
    z-index: 1;
    transition: all 0.18s ease-in-out
}

.gt-aside-item.user .gt-aside-links-item:hover {
    color: var(--gt-white-color);
    border-color: var(--gt-white-color)
}

.gt-aside-item.user .gt-aside-links-item::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background-color: var(--gt-main-color-88);
    transition: height 0.18s ease-in-out;
    z-index: -1
}

.gt-aside-item.user .gt-aside-links-item:hover::after {
    height: 100%
}

.gt-aside-item.user .gt-aside-links-item i {
    font-size: 1.18rem
}

.gt-aside-item.cat .gt-aside-cat {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: max-content;
    max-height: 15.56rem;
    overflow-x: hidden;
    overflow-y: auto
}

.gt-aside-item.cat .gt-aside-cat a {
    flex-shrink: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 2.18rem;
    font-size: 0.88rem;
    border-radius: 0.38rem;
    background-color: var(--gt-white-color);
    transition: all 0.18s ease-in-out;
    overflow: hidden
}

.gt-aside-item.cat .gt-aside-cat a:hover {
    padding-left: 0.66rem;
    background-color: var(--gt-main-color-66);
    color: var(--gt-white-color)
}

.gt-aside-item.cat .gt-aside-cat a:hover i {
    background-color: transparent
}

.gt-aside-item.cat .gt-aside-cat a i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.68rem;
    height: 1.28rem;
    color: var(--gt-white-color);
    font-size: 0.66rem;
    font-style: normal;
    border-radius: 0.38rem;
    background-color: var(--gt-main-color-66);
    transition: background 0.18s ease-in-out;
    overflow: hidden
}

.gt-aside-item.tags .gt-aside-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.68rem 1rem;
    width: 100%;
    height: max-content;
    max-height: 18.88rem;
    overflow-x: hidden;
    overflow-y: auto
}

.gt-aside-item.tags .gt-aside-tags a {
    display: flex;
    align-items: center;
    gap: 0.18rem;
    width: max-content;
    height: max-content
}

.gt-aside-item.tags .gt-aside-tags a:hover span {
    color: var(--gt-main-color)
}

.gt-aside-item.tags .gt-aside-tags a span {
    box-sizing: border-box;
    width: max-content;
    font-size: 0.8rem;
    line-height: 1.5;
    transition: color 0.18s ease-in-out;
    overflow: hidden
}

.gt-aside-item.tags .gt-aside-tags a em {
    color: var(--gt-font-28);
    font-size: 0.688rem;
    font-style: normal
}

.gt-aside-item.articles .gt-aside-articles {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    height: max-content;
    overflow: hidden
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 2.68rem;
    overflow: hidden
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a:hover cite {
    color: var(--gt-main-color)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a:hover cite::after {
    width: 100%
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0.618rem;
    width: 100%
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a cite {
    width: max-content;
    max-width: 100%;
    border-bottom: 1px solid transparent;
    font-size: 0.8rem;
    line-height: 1.5;
    font-style: normal;
    transition: color 0.288s ease-in-out;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a cite::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background-color: var(--gt-main-color);
    transition: width 0.58s cubic-bezier(.6, .1, 0, 1)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a i {
    flex-shrink: 0;
    width: 0.875rem;
    height: 0.875rem;
    border-radius: 0.18rem;
    color: var(--gt-white-color);
    text-align: center;
    font-size: 0.66rem;
    font-style: normal;
    line-height: 0.875rem;
    background-color: var(--gt-success)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a:nth-of-type(2) i {
    background-color: var(--gt-warning)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a:nth-of-type(3) i {
    background-color: var(--gt-import)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a em {
    flex-shrink: 0;
    width: max-content;
    font-style: normal;
    font-size: 0.8125rem;
    color: var(--gt-font-66)
}

.gt-aside-item.articles .gt-aside-articles:not(.gt-aside-articles-cover) a time {
    color: var(--gt-font-56);
    font-size: 0.688rem
}

/* 带封面的侧边栏文章样式 */
.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-item {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.12rem;
    overflow: hidden;
    border-radius: var(--gt-main-radius);
    background-color: rgba(var(--gt-bg-rgb), 0.05);
    transition: all 0.3s ease;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-item:last-child {
    margin-bottom: 0;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-cover {
    position: relative;
    width: 100%;
    height: 8.88rem;
    overflow: hidden;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-item:hover .gt-aside-article-img {
    transform: scale(1.05);
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    color: var(--gt-white-color);
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-title {
    margin: 0 0 0.36rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--gt-white-color);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.688rem;
    color: rgba(255, 255, 255, 0.8);
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-views,
.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-time {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-views i,
.gt-aside-item.articles .gt-aside-articles.gt-aside-articles-cover .gt-aside-article-time i {
    font-size: 0.688rem;
}

.article-list-main {
    position: relative;
    box-sizing: border-box;
    padding-bottom: 1rem;
    width: 100%;
    max-width: var(--gt-main-max-width);
    margin: 0 auto 0;
    height: max-content;
}

.article-list-tabs {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.article-list-tabs .tab-item {
    padding: 0.35rem 0.88rem;
    border-radius: var(--gt-main-radius);
    background-color: rgba(var(--gt-bg-rgb), 0.1);
    color: var(--gt-font-color);
    font-size: 0.875rem;
    transition: all 0.18s ease;
    border: 1px solid rgba(var(--gt-main-rgb), 0.1);
}

.article-list-tabs .tab-item:hover {
    background-color: var(--gt-main-color-16);
    color: var(--gt-main-color);
}

.article-list-tabs .tab-item.active {
    background-color: var(--gt-main-color);
    color: var(--gt-white-color);
}

.article-list-main>section.article-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
    height: max-content;
    overflow: hidden
}
/* 根据data-grid属性显示不同列数 */
.article-list-main>section.article-list[data-grid="3"] {
    grid-template-columns: repeat(3, 1fr);
}
.article-list-main>section.article-list[data-grid="2"] {
    grid-template-columns: repeat(2, 1fr);
}
.article-list-main>section.article-list[data-grid="1"] {
    grid-template-columns: 1fr;
}

.gt-article-item {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: initial;
    min-height: max-content;
    border: solid 1px rgba(var(--gt-main-rgb), 0.1);
    border-radius: var(--gt-main-radius);
    background: linear-gradient(180deg, rgba(var(--gt-bg-rgb), 0.1) 0%, rgba(var(--gt-bg-rgb), 0.01) 100%) !important;
    overflow: hidden;
    transition: all 0.3s ease;
    isolation: isolate
}

.gt-article-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1)
}

.gt-article-item:hover .gt-article-banner img {
    transform: scale(1.08)
}

.gt-article-item.active::before {
    content: "置顶";
    position: absolute;
    top: 0.8rem;
    left: -0.3rem;
    box-sizing: border-box;
    padding: 0.18rem 1rem;
    width: max-content;
    height: max-content;
    font-size: 1rem;
    color: #fff;
    border-radius: 0.66rem;
    transform: rotate(-45deg);
    background: rgba(255, 0, 0, 0.8);
    box-shadow: 0 2rem 1rem rgba(0, 0, 0, 0.1);
    z-index: 10;
}

.gt-recommend-top-badge {
    position: absolute;
    top: 0.8rem;
    left: -0.3rem;
    padding: 0.18rem 1rem;
    background: rgba(255, 0, 0, 0.8);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0.66rem;
    transform: rotate(-45deg);
    box-shadow: 0 2rem 1rem rgba(0, 0, 0, 0.1);
    z-index: 10;
    transition: all 0.3s ease;
}

.gt-article-item.active .gt-article-banner::before,
.gt-recommend-main.active .gt-recommend-overlay::before,
.gt-recommend-item.active .gt-recommend-overlay::before,
.gt-recommend-card.active .gt-recommend-thumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.06);
    z-index: 1;
    pointer-events: none
}

.gt-article-item .gt-article-banner {
    flex-shrink: 0;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden
}

.gt-article-item .gt-article-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease
}

.gt-article-item .gt-article-banner .banner-cat {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    padding: 0.1rem 0.3rem;
    background-color: #3253b4;
    color: var(--gt-white-color);
    margin-right: 0;
    flex-shrink: 1;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 0.5px solid #3253b4;
}



.gt-article-item > header {
    box-sizing: border-box;
    padding: 0.5rem 0.5rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
    height: max-content
}

.gt-article-item>header>div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    height: max-content;
    margin: 0;
    font-weight: normal
}

.gt-article-item .gt-article-cat {
    box-sizing: border-box;
    width: max-content;
    background-color: #3253b4;
    color: var(--gt-white-color);
    padding: 0.05rem 0.2rem;
    margin-right: 0.1rem;
    border: 0.5px solid #3253b4;
    border-radius: 0.15rem;
    font-size: 0.688rem;
    line-height: 1.2;
    display: inline-block;
    vertical-align: middle;
}

.gt-article-item .gt-article-taglist .gt-article-cat {
    margin-right: 0.28rem;
}

.gt-article-item>header>div:first-child time {
    box-sizing: border-box;
    font-weight: 400;
    color: var(--gt-font-56);
    width: max-content;
    margin-left: auto
}

.gt-article-item>header .title {
    box-sizing: border-box;
    width: 100%;
    height: max-content;
    overflow: hidden;
    margin: 0;
    font-size: 0.81rem;
    font-weight: 600
}

.gt-article-item>header .title a {
    font-weight: 600;
    font-size: 0.81rem;
    transition: color 0.18s;
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
    line-height: 1.4
}

.gt-article-item>header .title a:hover {
    color: var(--gt-main-color)
}

.gt-article-item .gt-article-excerpt {
    box-sizing: border-box;
    padding: 0 0.5rem;
    width: 100%;
    height: max-content;
    color: var(--gt-font-66);
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.88px;
    line-height: 0.9rem;
    margin: 0;
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
    max-height: calc(0.9rem * 2);
}

.gt-article-item .gt-article-taglist {
    margin-top: auto;
    box-sizing: border-box;
    padding: 0.1rem 0.5rem 1rem;
    width: 100%;
    height: max-content;
    overflow: hidden;
    font-weight: normal;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.gt-article-item .gt-article-taglist a:not(.gt-article-cat) {
    box-sizing: border-box;
    margin-right: 0.1rem;
    color: var(--gt-main-color);
    font-size: 0.688rem;
    font-weight: 400;
    line-height: 1.2;
    transition: all 0.18s;
    display: inline;
    padding: 0.05rem 0.2rem;
    border: 0.5px solid var(--gt-main-color-66);
    border-radius: 0.15rem;
    background-color: transparent;
    vertical-align: middle;
}

.gt-article-item .gt-article-taglist time {
    box-sizing: border-box;
    margin-right: 0.28rem;
    color: var(--gt-font-66) !important;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    transition: color 0.18s
}

.gt-article-item .gt-article-taglist a:not(.gt-article-cat):hover {
    color: var(--gt-white-color);
    background-color: var(--gt-main-color-88);
    border-color: var(--gt-main-color-88);
}



.gt-article-item .gt-article-author,
.gt-article-item .gt-article-views {
    box-sizing: border-box;
    margin-right: 0.28rem;
    color: var(--gt-font-66);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    vertical-align: middle;
}

.gt-article-item .gt-article-views i {
    font-size: 0.75rem;
    color: var(--gt-font-56);
}

.gt-article-item .gt-article-taglist a:not(.gt-article-cat):last-of-type {
    margin-right: 0
}

section.gt-art-page {
    position: relative;
    box-sizing: border-box;
    padding: 1.5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    height: max-content;
    overflow: hidden;
    margin-top: 1rem;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

section.gt-art-page a.gt-pagination-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--gt-main-radius);
    background-color: var(--gt-white-color);
    box-shadow: var(--gt-box-shadow);
    font-size: 0.875rem;
    color: #99a9bf;
    user-select: none;
    transition: background-color 0.18s ease-in-out;
    cursor: pointer;
    overflow: hidden
}

section.gt-art-page a.gt-pagination-item:hover {
    color: var(--gt-white-color);
    background-color: rgba(129, 146, 174, 0.36)
}

section.gt-art-page a.gt-pagination-item:hover svg {
    color: var(--gt-white-color)
}

section.gt-art-page a.gt-pagination-item.active {
    background-color: #8192AE;
    cursor: default;
    pointer-events: none;
    color: var(--gt-white-color)
}

section.gt-art-page a.gt-pagination-item.disabled {
    pointer-events: none
}

section.gt-art-page a.gt-pagination-item.disabled svg {
    color: var(--gt-font-16)
}

section.gt-art-page a.gt-pagination-item svg {
    height: 1.18rem;
    width: auto;
    object-fit: contain
}

article.gt-article-main {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: max-content
}

article.gt-article-main>header {
    box-sizing: border-box;
    padding: 2rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: max-content;
    background-color: var(--gt-white-color);
    border-top-left-radius: var(--gt-main-radius);
    border-top-right-radius: var(--gt-main-radius);
    box-shadow: var(--gt-box-shadow);
    overflow: hidden
}

article.gt-article-main>header h1 {
    width: 100%;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0
}

article.gt-article-main>header .article-meta {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.85rem;
    width: 100%;
    height: auto;
    overflow: visible;
    margin-top: 1rem;
    flex-wrap: wrap
}

article.gt-article-main>header .article-meta-item {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    width: max-content;
    height: auto;
    line-height: 1.2
}

article.gt-article-main>header .article-meta-item svg,
article.gt-article-main>header .article-meta-item i {
    flex-shrink: 0;
    height: 0.85rem;
    width: 0.85rem;
    object-fit: contain;
    margin-right: 0.1rem
}

article.gt-article-main>header .article-meta-item time {
    color: var(--gt-font-66);
    display: inline-flex;
    align-items: center
}

article.gt-article-main>header .article-meta-item span.count {
    color: #3FA67F;
    display: inline-flex;
    align-items: center
}

article.gt-article-main>header .article-meta-item span.time {
    color: #E9B740;
    display: inline-flex;
    align-items: center
}

article.gt-article-main>.article-content-container {
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: max-content;
    background-color: var(--gt-white-color);
    border-bottom-left-radius: var(--gt-main-radius);
    border-bottom-right-radius: var(--gt-main-radius);
    box-shadow: 0 12px 8px 6px rgba(7, 17, 27, 0.05);
    overflow: hidden
}

article.gt-article-main>.article-content-container .tag-list {
    margin-top: 2rem;
    position: relative;
    box-sizing: border-box;
    padding: 1rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.58rem;
    width: 100%
}

article.gt-article-main>.article-content-container .tag-list a {
    position: relative;
    box-sizing: border-box;
    padding: 0 0.3125rem;
    display: flex;
    align-items: center;
    gap: 0.28rem;
    width: max-content;
    height: 1.5rem;
    color: var(--gt-info);
    border-radius: 0.28rem;
    font-size: 0.76rem;
    transition: color 0.288s ease-in-out;
    overflow: hidden;
    z-index: 1
}

article.gt-article-main>.article-content-container .tag-list a:hover {
    color: var(--gt-main-color) !important
}

article.gt-article-main>.article-content-container .tag-list a:hover::before {
    width: 100%;
    left: 0;
    right: auto
}

article.gt-article-main>.article-content-container .tag-list a:hover::after {
    width: 0;
    right: 0;
    left: auto
}

article.gt-article-main>.article-content-container .tag-list a::before,
article.gt-article-main>.article-content-container .tag-list a::after {
    content: '';
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    width: 0;
    height: 100%;
    z-index: 1;
    transition: width 0.288s ease-in-out;
    background-color: var(--gt-main-color-16)
}

article.gt-article-main>.article-content-container .tag-list a::after {
    width: 100%;
    left: 0;
    right: auto;
    z-index: -1
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+1) {
    color: var(--gt-default)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+1)::after {
    background-color: var(--gt-default-hover)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+2) {
    color: var(--gt-info)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+2)::after {
    background-color: var(--gt-info-hover)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+3) {
    color: var(--gt-success)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+3)::after {
    background-color: var(--gt-success-hover)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+4) {
    color: var(--gt-warning)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+4)::after {
    background-color: var(--gt-warning-hover)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+5) {
    color: var(--gt-error)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+5)::after {
    background-color: var(--gt-error-hover)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+6) {
    color: var(--gt-import)
}

article.gt-article-main>.article-content-container .tag-list a:nth-of-type(6n+6)::after {
    background-color: var(--gt-import-hover)
}

article.gt-article-main>.article-content-container .tag-list a i {
    height: 0.8rem;
    width: auto;
    object-fit: contain
}

.main-inner-content h1,
.main-inner-content h2,
.main-inner-content h3,
.main-inner-content h4,
.main-inner-content h5,
.main-inner-content h6 {
    display: inline-block;
    box-sizing: border-box;
    margin: 1.666rem 0 0.36rem;
    font-size: 1rem;
    width: 100%;
    max-width: 100%;
    word-break: break-all;
    color: var(--gt-font-color)
}

.main-inner-content h1:hover::before,
.main-inner-content h2:hover::before,
.main-inner-content h3:hover::before,
.main-inner-content h4:hover::before {
    color: var(--gt-main-color-88)
}

.main-inner-content h1 {
    margin: 0;
    padding-bottom: 1rem;
    font-size: 1.58rem
}

.main-inner-content h1::before {
    display: none
}

.article-content h2 {
    font-size: 1.5rem;
    position: relative;
    padding-left: 1.25rem;
    color: var(--gt-font-color)
}

.article-content h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: #3b82f6;
    border-radius: 2px
}

.article-content h3 {
    font-size: 1.25rem;
    position: relative;
    display: inline-block;
    width: auto;
    padding-bottom: 0.25rem;
    margin-bottom: 0.5rem;
    color: var(--gt-font-color)
}

.article-content h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 35%;
    height: 3px;
    background-color: #f43f5e;
    border-radius: 1.5px
}

.main-inner-content h3 {
    font-size: 1.25rem
}

.main-inner-content h4 {
    font-size: 1.125rem
}

.main-inner-content p,
.main-inner-content ul:not(.gt-comment ul),
.main-inner-content ol:not(.gt-comment ol) {
    padding: 0.618rem 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--gt-font-color)
}

.main-inner-content ul:not(.gt-comment ul) li,
.main-inner-content ol:not(.gt-comment ol) li {
    color: var(--gt-font-66);
    font-size: 0.875rem;
    line-height: 1.6
}

.main-inner-content p a,
.main-inner-content li a {
    color: var(--gt-main-color);
    text-decoration: none;
    transition: color 0.2s ease-in-out
}

.main-inner-content p a:hover,
.main-inner-content li a:hover {
    color: var(--gt-main-color-88)
}

.main-inner-content p code,
.main-inner-content li code {
    background-color: var(--gt-font-16);
    padding: 0.125rem 0.375rem;
    font-size: 0.8125rem;
    border-radius: 0.25rem
}

.main-inner-content ul:not(.gt-comment ul),
.main-inner-content ol:not(.gt-comment ol) {
    box-sizing: border-box;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: disc
}

.main-inner-content ol:not(.gt-comment ol) {
    list-style: decimal
}

.main-inner-content blockquote {
    margin: 1rem 0 1.618rem;
    padding: 0 0.88rem;
    border-left: 0.288rem solid #49b1f5;
    background-color: rgba(73, 177, 245, 0.1);
    border-radius: 0.618rem
}

.main-inner-content blockquote p {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.58rem;
    color: var(--gt-font-color)
}

.main-inner-content table {
    box-sizing: border-box;
    margin: 1rem 0;
    width: 100%;
    border-spacing: 0;
    font-size: 0.9rem;
    background-color: var(--gt-white-color);
    border: 1px solid var(--gt-font-16);
    border-radius: 0.38rem;
    overflow: hidden
}

.main-inner-content table a {
    color: #49B1F5;
    transition: all 0.18s
}

.main-inner-content table a:hover {
    color: #1b99ee
}

.main-inner-content table th {
    background-color: var(--gt-font-6);
    padding: 0.75rem;
    border-bottom: solid 1px var(--gt-font-16);
    border-right: solid 1px var(--gt-font-16);
    color: var(--gt-font-color)
}

.main-inner-content table th:last-of-type {
    border-right: none
}

.main-inner-content table td {
    padding: 0.618rem 0.75rem;
    vertical-align: top;
    border-bottom: solid 1px var(--gt-font-16);
    border-right: solid 1px var(--gt-font-16);
    color: var(--gt-font-color)
}

.main-inner-content table td:last-of-type {
    border-right: none
}

.main-inner-content table tr:last-of-type td {
    border-bottom: none
}

.main-inner-content table tr:hover {
    background-color: rgba(242, 242, 242, 0.4)
}

.main-inner-content table code {
    background-color: var(--gt-font-16);
    padding: 0.125rem 0.375rem;
    font-size: 0.8125rem;
    color: var(--gt-font-color)
}

.main-inner-content img {
    display: block;
    margin: 0 auto
}

.main-inner-content img.gt-article-img {
    box-sizing: border-box;
    padding: 0.36rem;
    width: max-content;
    max-width: 100%;
    max-height: 36rem;
    border: solid 1px var(--gt-font-16);
    border-radius: 5px;
    cursor: zoom-in
}

.main-inner-content img.gt-article-img:not(.loaded) {
    width: 100%
}

.gt-note {
    margin: 0.618rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.688rem;
    padding: 0.888rem;
    border-left: 5px solid var(--gt-font-28);
    border-radius: 3px;
    background-color: var(--gt-font-6)
}

.gt-note p {
    font-size: 0.875rem;
    line-height: 1.58rem;
    font-weight: 500;
    margin: 0;
    padding: 0;
    color: var(--gt-font-color)
}

.gt-note.note-success {
    border-color: var(--gt-success);
    background-color: var(--gt-success-hover)
}

.gt-note.note-info {
    border-color: var(--gt-info);
    background-color: var(--gt-info-hover)
}

.gt-note.note-warning {
    border-color: var(--gt-main-color);
    background-color: var(--gt-main-color-6)
}

.gt-note.note-error {
    border-color: var(--gt-error);
    background-color: var(--gt-error-hover)
}

.gt-note.note-import {
    border-color: var(--gt-import);
    background-color: var(--gt-import-hover)
}

pre.code-block {
    position: relative;
    background: #f8f9fa;
    border-radius: 10px;
    margin: 20px 0;
    padding: 45px 16px 16px 16px;
    font-family: "Cascadia Code", "Source Code Pro", ui-monospace, monospace;
    font-size: 14px;
    line-height: 1.6;
    color: #24292e;
    border: 1px solid #e1e4e8;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: auto;
    max-height: 500px;
    word-wrap: normal
}

pre.code-block code.hljs {
    background: transparent;
    padding: 0;
    font-family: inherit
}

pre.code-block::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    width: 12px;
    height: 12px;
    background: #ff5f56;
    border-radius: 50%;
    box-shadow: 20px 0 0 #ffbd2e, 40px 0 0 #27c93f;
    z-index: 2
}

pre.code-block .code-language {
    position: absolute;
    top: 10px;
    left: 80px;
    font-size: 12px;
    color: #99aab5;
    font-weight: bold;
    text-transform: uppercase;
    font-family: sans-serif;
    user-select: none
}

pre.code-block .btn-pre-copy {
    position: absolute;
    top: 10px;
    right: 12px;
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 6px;
    background: #ffffff;
    color: #57606a;
    border: 1px solid #d0d7de;
    cursor: pointer;
    z-index: 100;
    transition: all 0.2s;
    opacity: 0.8;
    font-family: sans-serif;
    display: flex;
    align-items: center;
    gap: 5px
}

pre.code-block .btn-pre-copy:hover {
    background: #f3f4f6;
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
}

pre code.hljs {
    display: block;
    overflow-x: auto;
    padding: 1em
}

code.hljs {
    padding: 3px 5px
}

.hljs {
    color: #24292e;
    background: #fff
}

.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
    color: #d73a49
}

.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
    color: #6f42c1
}

.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id,
.hljs-variable {
    color: #005cc5
}

.hljs-meta .hljs-string,
.hljs-regexp,
.hljs-string {
    color: #032f62
}

.hljs-built_in,
.hljs-symbol {
    color: #e36209
}

.hljs-code,
.hljs-comment,
.hljs-formula {
    color: #6a737d
}

.hljs-name,
.hljs-quote,
.hljs-selector-pseudo,
.hljs-selector-tag {
    color: #22863a
}

.hljs-subst {
    color: #24292e
}

.hljs-section {
    color: #005cc5;
    font-weight: 700
}

.hljs-bullet {
    color: #735c0f
}

.hljs-emphasis {
    color: #24292e;
    font-style: italic
}

.hljs-strong {
    color: #24292e;
    font-weight: 700
}

.hljs-addition {
    color: #22863a;
    background-color: #f0fff4
}

.hljs-deletion {
    color: #b31d28;
    background-color: #ffeef0
}

.gt-footer {
    margin-top: 1rem;
    box-sizing: border-box;
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: max-content;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08)
}

.gt-footer main {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
    width: 100%;
    max-width: var(--gt-main-max-width);
    height: max-content;
    padding: 0 1rem
}

.gt-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1.6fr 1fr;
    gap: 1.68rem;
    align-items: center;
    width: 100%
}

.gt-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.gt-footer-logo {
    display: inline-flex;
    align-items: center;
    width: max-content;
    height: max-content;
    color: var(--gt-font-color)
}

.gt-footer-logo-img {
    display: block;
    width: 120px;
    height: 40px;
    object-fit: contain
}

.gt-footer-logo-text {
    font-size: 1.08rem;
    font-weight: 700
}

.gt-footer-desc {
    font-size: 0.78rem;
    line-height: 1.6;
    color: var(--gt-font-66);
    font-weight: normal
}

.gt-footer-custom {
    font-size: 0.9rem;
    color: var(--gt-font-color);
    line-height: 1.8
}

.gt-footer-custom a {
    color: var(--gt-main-color);
    transition: color 0.18s
}

.gt-footer-custom a:hover {
    color: var(--gt-main-color)
}

.gt-footer-qrcodes {
    display: flex;
    justify-content: flex-end;
    gap: 1rem
}

.gt-footer-qrcode {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem
}

.gt-footer-qrcode-img {
    display: block;
    background: var(--gt-white-color);
    border-radius: 0.5rem;
    box-shadow: var(--gt-box-shadow);
    object-fit: cover
}

.gt-footer-qrcode-text {
    font-size: 0.86rem;
    color: var(--gt-font-66);
    line-height: 1.2
}

.gt-footer-bottom {
    box-sizing: border-box;
    margin-top: 0.8rem;
    padding-top: 0;
    border-top: none
}

.gt-footer-bottom p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.618rem;
    line-height: 1.5;
    font-size: 0.875rem;
    color: var(--gt-font-color)
}

.gt-footer-bottom p a {
    color: var(--gt-main-color);
    transition: color 0.18s
}

.gt-footer-bottom p a:hover {
    color: var(--gt-main-color)
}

.gt-footer-bottom p span {
    box-sizing: border-box;
    padding-left: 0.28rem;
    display: flex;
    align-items: center;
    width: max-content;
    height: 1.25rem;
    background-color: var(--gt-white-color);
    font-size: 0.875rem;
    border-radius: 0.18rem;
    overflow: hidden
}

.gt-footer-bottom p span cite,
.gt-footer-bottom p span em {
    box-sizing: border-box;
    padding: 0 0.618rem;
    width: max-content;
    height: 100%;
    line-height: 1.25rem;
    color: var(--gt-font-color);
    font-style: normal
}

.gt-footer-bottom p span cite {
    padding-left: 0.28rem
}

.gt-footer-bottom p span em {
    background-color: transparent
}

.gt-footer-bottom p span svg {
    width: 0.88rem;
    height: 0.88rem;
    fill: var(--gt-font-color)
}

@media (max-width: 992px) {
    .gt-footer-grid {
        grid-template-columns: 1fr;
        gap: 1.18rem
    }
    .gt-footer-qrcodes {
        justify-content: center
    }
    .gt-footer-brand {
        display: none
    }
    .gt-footer-custom {
        text-align: center
    }
}

.gt-back-top {
    position: fixed;
    right: 1rem;
    bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 998
}

.gt-back-top button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gt-white-color);
    border: none;
    box-shadow: var(--gt-box-shadow);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s;
    color: var(--gt-font-color)
}

.gt-back-top button:hover {
    background: var(--gt-main-color);
    color: #fff;
    transform: translateY(-3px)
}

.gt-back-top button i {
    font-size: 1.2rem
}

.gt-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding-top: 15vh;
    z-index: 1000
}

.gt-search-modal.active {
    display: flex
}

.gt-search-box {
    box-sizing: border-box;
    padding: 1.5rem;
    width: 100%;
    max-width: 500px;
    background: var(--gt-white-color);
    border-radius: var(--gt-main-radius);
    box-shadow: var(--gt-box-shadow)
}

.gt-search-box h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem
}

.gt-search-box h3 i {
    font-size: 1.2rem
}

.gt-search-form {
    display: flex;
    gap: 0.5rem
}

.gt-search-form input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid var(--gt-font-16);
    border-radius: var(--gt-main-radius);
    font-size: 0.95rem;
    outline: none;
    transition: all 0.18s
}

.gt-search-form input:focus {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16)
}

.gt-search-form button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    background: var(--gt-main-color);
    border: none;
    border-radius: var(--gt-main-radius);
    color: #fff;
    cursor: pointer;
    transition: all 0.18s
}

.gt-search-form button:hover {
    background: var(--gt-main-color-88);
    transform: translateX(3px)
}

.gt-search-form button i {
    font-size: 1.2rem
}

.gt-animation.gt-animation-init {
    opacity: 0;
    animation: 300ms gt-init-show;
    animation-fill-mode: forwards;
    transition: opacity 0.18s ease-in-out, transform 0.18s ease-in-out
}

@keyframes gt-init-show {
    0% {
        transform: translateY(2rem);
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}

.gt-article-item:nth-child(1) {
    animation-delay: 0.05s
}

.gt-article-item:nth-child(2) {
    animation-delay: 0.1s
}

.gt-article-item:nth-child(3) {
    animation-delay: 0.15s
}

.gt-article-item:nth-child(4) {
    animation-delay: 0.2s
}

.gt-article-item:nth-child(5) {
    animation-delay: 0.25s
}

.gt-article-item:nth-child(6) {
    animation-delay: 0.3s
}

.gt-article-item:nth-child(7) {
    animation-delay: 0.35s
}

.gt-article-item:nth-child(8) {
    animation-delay: 0.4s
}

.gt-article-item:nth-child(9) {
    animation-delay: 0.45s
}

.gt-space-loading {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: span 3;
    width: 100%;
    height: 8.88rem;
    overflow: hidden
}

.gt-space-loading span {
    background-color: #000;
    position: relative;
    width: 5px;
    height: 5px;
    margin: 3px;
    border-radius: 5px
}

.gt-space-loading span:nth-of-type(1) {
    animation: gt-loading-animation 0.8s ease infinite
}

.gt-space-loading span:nth-of-type(2) {
    animation: gt-loading-animation 0.8s ease 0.2s infinite
}

.gt-space-loading span:nth-of-type(3) {
    animation: gt-loading-animation 0.8s ease 0.4s infinite
}

@keyframes gt-loading-animation {
    50% {
        height: 25px
    }

    0% {
        height: 5px
    }
}

@media screen and (max-width:1150px) {
    .article-list-main>section.article-list,
    .article-list-main>section.article-list[data-grid="4"] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width:888px) {
    main.main>.main-inner {
        flex-direction: column;
        padding-top: calc(var(--gt-header-height) + 0rem); /* 调整移动端间距为72px + 4px = 76px */
    }

    aside.gt-aside.pc-aside {
        display: none !important
    }

    header.gt-header .nav-center {
        display: none
    }

    header.gt-header .nav-right .btn-text {
        display: none
    }

    header.gt-header .menu-btn {
        display: flex !important
    }

    header.gt-header .nav-right {
        gap: 0.35rem;
        margin-left: auto
    }

    header.gt-header .nav-right .nav-link {
        padding: 0.2rem 0.3rem
    }

    header.gt-header .nav-right .nav-link i {
        font-size: 1.1rem
    }
}

@media screen and (max-width:556px) {
    .article-list-main>section.article-list,
    .article-list-main>section.article-list[data-grid="3"],
    .article-list-main>section.article-list[data-grid="4"] {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* 单列布局下手机端不显示标签 */
    .article-list.single-column .gt-article-item .gt-article-taglist a:not(.gt-article-cat) {
        display: none;
    }
}




@media screen and (max-width:768px) {
    body {
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none
    }

    article.gt-article-main>header h1 {
        font-size: 1.36rem
    }

    article.gt-article-main>header .article-meta {
        flex-wrap: wrap;
        height: auto;
        gap: 0.5rem 0.75rem
    }

    article.gt-article-main>header .article-meta-item {
        font-size: 0.8rem
    }

    article.gt-article-main>header .article-meta-item svg,
    article.gt-article-main>header .article-meta-item i {
        height: 0.8rem;
        font-size: 0.85rem
    }

    .main-inner-content h1 {
        font-size: 1.36rem
    }

    .main-inner-content h2 {
        font-size: 1.26rem
    }

    .main-inner-content h3 {
        font-size: 1.125rem
    }
    
    /* 手机端缩小置顶标识 */
    .gt-article-item.active::before {
        top: 0.6rem;
        left: -0.4rem;
        padding: 0.1rem 0.6rem;
        font-size: 0.688rem;
        border-radius: 0.4rem;
    }
    
    .gt-recommend-top-badge {
        top: 0.6rem;
        left: -0.4rem;
        padding: 0.1rem 0.6rem;
        font-size: 0.688rem;
        border-radius: 0.4rem;
    }
}

[data-theme="dark"] {
    --gt-body-bg: #181a1b;
    --gt-white-color: #242628;
    --gt-font-color: #e8e6e3;
    --gt-font-88: rgba(232, 230, 227, 0.88);
    --gt-font-66: rgba(232, 230, 227, 0.72);
    --gt-font-56: rgba(232, 230, 227, 0.62);
    --gt-font-28: rgba(232, 230, 227, 0.32);
    --gt-font-16: rgba(232, 230, 227, 0.18);
    --gt-font-6: rgba(232, 230, 227, 0.08);
    --gt-box-shadow: 0 3px 8px 6px rgba(0, 0, 0, 0.15)
}

[data-theme="dark"] body {
    background: #181a1b !important
}

[data-theme="dark"] body::before {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='8' height='8' fill='none' stroke='rgb(255 255 255 / 0.05)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e") !important;
    opacity: 0.5 !important
}

[data-theme="dark"] header.gt-header {
    background: rgba(30, 32, 33, 0.98);
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.25)
}

[data-theme="dark"] .gt-article-item {
    border-color: #3a3d40 !important;
    background: var(--gt-white-color) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: var(--gt-box-shadow) !important
}

[data-theme="dark"] .gt-article-item:hover {
    border-color: #4a4d50
}

[data-theme="dark"] .gt-article-item>header>div:first-child time {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-aside-item {
    background: var(--gt-white-color) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: var(--gt-box-shadow) !important;
    transition: none !important
}

[data-theme="dark"] .gt-aside-item:hover {
    transform: none !important;
    box-shadow: var(--gt-box-shadow) !important;
    background: var(--gt-white-color) !important
}

[data-theme="dark"] .gt-aside-item.user .gt-aside-links-item {
    border-color: #666
}

[data-theme="dark"] .gt-search-box {
    background: var(--gt-white-color)
}

[data-theme="dark"] .gt-search-form input {
    background: var(--gt-body-bg);
    color: var(--gt-font-color);
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .gt-mobile-sidebar {
    background: var(--gt-white-color)
}

[data-theme="dark"] .gt-mobile-sidebar-header {
    background: rgba(1, 196, 182, 0.1);
    border-color: var(--gt-font-16)
}

[data-theme="dark"] .gt-mobile-overlay {
    background: rgba(0, 0, 0, 0.7)
}

[data-theme="dark"] .gt-footer {
    background-color: rgba(30, 32, 33, 0.5);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.3)
}

[data-theme="dark"] .gt-back-top button {
    background: var(--gt-white-color)
}

[data-theme="dark"] article.gt-article-main>header {
    background-color: var(--gt-white-color)
}

[data-theme="dark"] article.gt-article-main>.article-content-container {
    background-color: var(--gt-white-color)
}

[data-theme="dark"] .gt-prev-next a {
    background: var(--gt-white-color)
}

[data-theme="dark"] pre.code-block {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #3c3c3c !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important
}

[data-theme="dark"] pre.code-block .code-language {
    color: #858585 !important
}

[data-theme="dark"] pre.code-block .btn-pre-copy {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #4c4c4c !important
}

[data-theme="dark"] pre.code-block .btn-pre-copy:hover {
    background: #3c3c3c !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important
}



[data-theme="dark"] .hljs {
    color: #e0e0e0 !important;
    background: #1e1e1e !important
}

[data-theme="dark"] pre.code-block code {
    color: #e0e0e0 !important
}

[data-theme="dark"] .main-inner-content p code,
[data-theme="dark"] .main-inner-content li code {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0 !important
}

[data-theme="dark"] .gt-article-item .gt-article-excerpt {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-article-item .gt-article-taglist a:not(.gt-article-cat) {
    color: #60a5fa;
}

[data-theme="dark"] .gt-article-item .gt-article-taglist a:not(.gt-article-cat):hover {
    color: var(--gt-main-color-88);
}

[data-theme="dark"] .gt-article-item .gt-article-taglist time {
    color: var(--gt-font-66) !important
}

[data-theme="dark"] .gt-aside-item.user .gt-aside-motto {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-aside-item>h3 {
    color: var(--gt-font-56)
}

[data-theme="dark"] .gt-aside-item.cat .gt-aside-cat a {
    background-color: var(--gt-white-color)
}

[data-theme="dark"] .gt-aside-item.cat .gt-aside-cat a:hover {
    color: var(--gt-white-color)
}

.gt-pw-form {
    box-sizing: border-box;
    padding: 2rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%
}

.gt-pw-form-content {
    box-sizing: border-box;
    display: flex;
    gap: 0.5rem;
    width: 100%;
    max-width: 400px
}

.gt-pw-input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid var(--gt-font-16);
    border-radius: var(--gt-main-radius);
    font-size: 0.95rem;
    outline: none;
    transition: all 0.18s;
    background-color: var(--gt-white-color);
    color: var(--gt-font-color)
}

.gt-pw-input:focus {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16)
}

.gt-pw-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 0 1.25rem;
    background: var(--gt-main-color);
    border: none;
    border-radius: var(--gt-main-radius);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.18s
}

.gt-pw-btn:hover {
    background: var(--gt-main-color-88);
    transform: translateX(2px)
}

.gt-pw-btn i {
    font-size: 1rem
}

[data-theme="dark"] .gt-pw-input {
    background: var(--gt-white-color);
    color: var(--gt-font-color);
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .gt-pw-btn {
    background: var(--gt-main-color);
    color: #fff
}

[data-theme="dark"] .gt-pw-btn:hover {
    background: var(--gt-main-color-88)
}

[data-theme="dark"] .gt-aside-item.tags .gt-aside-tags a em {
    color: var(--gt-font-28)
}

[data-theme="dark"] .gt-aside-item.articles .gt-aside-articles a em {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-aside-item.articles .gt-aside-articles a time {
    color: var(--gt-font-56)
}

[data-theme="dark"] article.gt-article-main>header .article-meta-item span.count {
    color: var(--gt-success)
}

[data-theme="dark"] article.gt-article-main>header .article-meta-item span.time {
    color: var(--gt-warning)
}

[data-theme="dark"] .main-inner-content table a {
    color: var(--gt-main-color)
}

[data-theme="dark"] .main-inner-content table a:hover {
    color: var(--gt-main-color-88)
}

[data-theme="dark"] .main-inner-content table {
    background-color: var(--gt-white-color);
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .main-inner-content table th {
    color: var(--gt-font-color);
    background-color: var(--gt-font-6);
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .main-inner-content table td {
    color: var(--gt-font-color);
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .main-inner-content table tr:hover {
    background-color: rgba(255, 255, 255, 0.05)
}

[data-theme="dark"] .main-inner-content p a,
[data-theme="dark"] .main-inner-content li a {
    color: #60a5fa
}

[data-theme="dark"] section.gt-art-page a.gt-pagination-item {
    background-color: var(--gt-white-color);
    color: var(--gt-font-66)
}

[data-theme="dark"] article.gt-article-main>header .article-meta-item {
    color: var(--gt-font-66)
}

[data-theme="dark"] article.gt-article-main>header .article-meta-item time {
    color: var(--gt-font-66)
}

[data-theme="dark"] article.gt-article-main>.article-content-container .tag-list a {
    color: #60a5fa
}

[data-theme="dark"] .gt-note p {
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-prev-next a {
    background: var(--gt-white-color);
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-prev-next a span {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-comment {
    background-color: var(--gt-white-color)
}

[data-theme="dark"] .gt-comment-header {
    background: linear-gradient(135deg, rgba(50, 83, 180, 0.1) 0%, rgba(50, 83, 180, 0.2) 100%)
}

[data-theme="dark"] .gt-comment-textarea-wrap {
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .gt-comment-textarea-wrap textarea {
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-comment-textarea-footer {
    background-color: var(--gt-font-6)
}

[data-theme="dark"] .gt-comment-field {
    border-color: var(--gt-font-28)
}

[data-theme="dark"] .gt-comment-field i {
    background-color: var(--gt-font-6)
}

[data-theme="dark"] .gt-comment-field input {
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-comment-captcha-img {
    border-color: var(--gt-font-28);
    background-color: var(--gt-font-6)
}

[data-theme="dark"] .gt-comment-nick {
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-comment-master .gt-comment-nick {
    color: #9999ff
}

[data-theme="dark"] .gt-comment-content {
    color: var(--gt-font-color)
}

[data-theme="dark"] .gt-comment-time {
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-comment-tag {
    background-color: var(--gt-font-6);
    color: var(--gt-font-66)
}

[data-theme="dark"] .gt-comment-replies {
    border-color: var(--gt-main-color-28)
}

[data-theme="dark"] .gt-comment-pagination {
    border-color: var(--gt-font-16)
}

.gt-prev-next {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    width: 100%
}

.gt-prev-next a {
    position: relative;
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: var(--gt-white-color);
    border-radius: var(--gt-main-radius);
    box-shadow: var(--gt-box-shadow);
    overflow: hidden;
    transition: all 0.18s
}

.gt-prev-next a:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1)
}

.gt-prev-next a span {
    font-size: 0.75rem;
    color: var(--gt-font-56)
}

.gt-prev-next a strong {
    font-size: 0.9rem;
    font-weight: 600;
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden
}

.gt-prev-next a.prev {
    text-align: left
}

.gt-prev-next a.next {
    text-align: right
}

@media screen and (max-width:768px) {
    .gt-prev-next {
        grid-template-columns: 1fr
    }
}

.gt-comment {
    margin-top: 2rem;
    box-sizing: border-box;
    width: 100%;
    height: max-content;
    border-radius: 0.5rem;
    background-color: var(--gt-white-color);
    box-shadow: var(--gt-box-shadow);
    overflow: hidden
}

.gt-comment-header {
    box-sizing: border-box;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: linear-gradient(135deg, var(--gt-main-color-6) 0%, var(--gt-main-color-16) 100%);
    border-bottom: 1px solid var(--gt-font-6)
}

.gt-comment-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--gt-font-color)
}

.gt-comment-title i {
    font-size: 1.25rem;
    color: var(--gt-main-color)
}

.gt-comment-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 600;
    color: var(--gt-white-color);
    background-color: var(--gt-main-color);
    border-radius: 1rem
}

.gt-comment-form-wrap {
    box-sizing: border-box;
    padding: 1.5rem
}

.gt-comment-closed,
.gt-comment-login-required {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--gt-font-56);
    text-align: center
}

.gt-comment-closed i,
.gt-comment-login-required i {
    font-size: 2.5rem;
    color: var(--gt-font-28)
}

.gt-comment-login-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gt-white-color);
    background-color: var(--gt-main-color);
    border-radius: 2rem;
    transition: all 0.18s ease-in-out
}

.gt-comment-login-btn:hover {
    color: var(--gt-white-color);
    background-color: var(--gt-main-color-88);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--gt-main-color-28)
}

.gt-comment-form {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.gt-comment-textarea-wrap {
    position: relative;
    border: 1px solid var(--gt-font-16);
    border-radius: 0.5rem;
    overflow: hidden;
    transition: all 0.18s ease-in-out
}

.gt-comment-textarea-wrap:focus-within {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16)
}

.gt-comment-textarea-wrap textarea {
    width: 100%;
    min-height: 140px;
    padding: 1rem;
    border: none;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--gt-font-color);
    background-color: transparent;
    resize: vertical;
    outline: none
}

.gt-comment-textarea-wrap textarea::placeholder {
    color: var(--gt-font-28)
}

.gt-comment-textarea-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background-color: var(--gt-font-6);
    border-top: 1px solid var(--gt-font-6)
}

.gt-comment-tips {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--gt-font-56)
}

.gt-comment-tips i {
    font-size: 0.875rem
}

.gt-comment-fields {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem
}

.gt-comment-field {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid var(--gt-font-16);
    border-radius: 0.5rem;
    overflow: hidden;
    transition: all 0.18s ease-in-out
}

.gt-comment-field:focus-within {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16)
}

.gt-comment-field i {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1rem;
    color: var(--gt-font-56);
    background-color: var(--gt-font-6)
}

.gt-comment-field input {
    flex: 1;
    padding: 0.625rem 0.75rem;
    border: none;
    font-size: 0.875rem;
    color: var(--gt-font-color);
    background-color: transparent;
    outline: none
}

.gt-comment-field input::placeholder {
    color: var(--gt-font-28)
}

.gt-comment-captcha {
    display: flex;
    gap: 1rem;
    align-items: stretch
}

.gt-comment-captcha .gt-comment-field {
    flex: 1
}

.gt-comment-captcha-img {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
    border: 1px solid var(--gt-font-16);
    border-radius: 0.5rem;
    background-color: var(--gt-font-6);
    cursor: pointer;
    overflow: hidden
}

.gt-comment-captcha-img img {
    height: 2rem;
    width: auto;
    object-fit: contain
}

.gt-comment-submit-wrap {
    display: flex;
    justify-content: flex-end
}

.gt-comment-submit-wrap button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gt-white-color);
    background: linear-gradient(135deg, var(--gt-main-color) 0%, var(--gt-main-color-88) 100%);
    border: none;
    border-radius: 2rem;
    cursor: pointer;
    transition: all 0.18s ease-in-out
}

.gt-comment-submit-wrap button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--gt-main-color-28)
}

.gt-comment-submit-wrap button i {
    font-size: 1rem
}

.gt-comment-list {
    box-sizing: border-box;
    padding: 0 1.5rem 1.5rem
}

.gt-comment-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    color: var(--gt-font-56)
}

.gt-comment-empty i {
    font-size: 3rem;
    color: var(--gt-font-16)
}

.gt-comment-item {
    display: flex;
    gap: 0.875rem;
    padding: 1.25rem 0;
    border-bottom: 1px dashed var(--gt-font-16)
}

.gt-comment-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.gt-comment-avatar {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 20%;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)
}

.gt-comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.gt-comment-master>.gt-comment-avatar {
    position: relative;
    overflow: visible;
    box-shadow: 0 0 16px rgba(153, 153, 255, 0.3)
}

.gt-comment-master>.gt-comment-avatar img {
    border-radius: 20%
}

.gt-comment-master>.gt-comment-avatar::after {
    content: "";
    position: absolute;
    right: -0.35rem;
    bottom: -0.35rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--gt-white-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239999ff'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 70%;
    box-shadow: 0 2px 6px rgba(153, 153, 255, 0.4)
}

.gt-comment-main {
    flex: 1;
    min-width: 0
}

.gt-comment-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap
}

.gt-comment-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap
}

.gt-comment-nick {
    position: relative;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--gt-font-color);
    text-decoration: none;
    transition: color 0.18s ease-in-out
}

.gt-comment-nick::after {
    content: "";
    position: absolute;
    left: auto;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: var(--gt-main-color);
    transition: all 0.28s ease-in-out
}

a.gt-comment-nick:hover {
    color: var(--gt-main-color)
}

a.gt-comment-nick:hover::after {
    left: 0;
    right: auto;
    width: 100%
}

.gt-comment-master .gt-comment-nick {
    color: #9999ff;
    font-weight: 600
}

.gt-comment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #9999ff;
    border: 1px solid #9999ff;
    border-radius: 4px;
    line-height: 1.5
}

.gt-comment-badge i {
    font-size: 0.7rem
}

.gt-comment-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.4rem;
    font-size: 0.68rem;
    color: var(--gt-font-56);
    background-color: var(--gt-font-6);
    border-radius: 0.25rem;
    white-space: nowrap
}

.gt-comment-tag i {
    font-size: 0.72rem
}

.gt-comment-time {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--gt-font-56);
    white-space: nowrap
}

.gt-comment-content {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.75;
    color: var(--gt-font-color);
    word-break: break-word
}

.gt-comment-content p {
    margin: 0;
    padding: 0.18rem 0
}

.gt-comment-content a {
    color: var(--gt-main-color);
    box-shadow: inset 0 -0.12rem var(--gt-main-color);
    transition: box-shadow 0.2s ease-in-out
}

.gt-comment-content a:hover {
    box-shadow: inset 0 -1.5rem var(--gt-main-color-16)
}

.gt-comment-content img:not(.gt-comment-avatar img) {
    max-height: 66px;
    width: auto;
    vertical-align: text-bottom;
    cursor: pointer;
    border-radius: 4px
}

.gt-comment-content code {
    padding: 0.125rem 0.375rem;
    font-size: 0.8125rem;
    background-color: var(--gt-font-16);
    border-radius: 4px
}

.gt-comment-actions {
    display: flex;
    gap: 1rem
}

.gt-comment-reply-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0;
    font-size: 0.75rem;
    color: var(--gt-font-56);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color 0.18s ease-in-out
}

.gt-comment-reply-btn:hover {
    color: var(--gt-main-color)
}

.gt-comment-reply-btn i {
    font-size: 0.875rem
}

.gt-comment-replies {
    margin-top: 0.75rem;
    margin-left: 0;
    padding-left: 1rem;
    border-left: 3px solid var(--gt-main-color-16)
}

.gt-comment-replies .gt-comment-item {
    padding: 0.75rem 0
}

.gt-comment-replies .gt-comment-avatar {
    width: 2.25rem;
    height: 2.25rem
}

.gt-comment-replies .gt-comment-item:first-child {
    padding-top: 0.75rem
}

.gt-comment-replies .gt-comment-item:last-child {
    padding-bottom: 0
}

.gt-comment-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--gt-font-6)
}

.gt-comment-pagination a,
.gt-comment-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.5rem;
    font-size: 0.875rem;
    color: var(--gt-font-66);
    background-color: var(--gt-font-6);
    border-radius: 0.375rem;
    transition: all 0.18s ease-in-out
}

.gt-comment-pagination a:hover {
    color: var(--gt-white-color);
    background-color: var(--gt-main-color)
}

.gt-comment-pagination span {
    color: var(--gt-white-color);
    background-color: var(--gt-main-color)
}

@media screen and (max-width:768px) {
    .gt-comment-fields {
        grid-template-columns: 1fr
    }

    .gt-comment-captcha {
        flex-direction: column
    }

    .gt-comment-avatar {
        width: 2.25rem;
        height: 2.25rem
    }

    .gt-comment-replies .gt-comment-avatar {
        width: 2rem;
        height: 2rem
    }

    .gt-comment-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem
    }
}

.gt-breadcrumb {
    box-sizing: border-box;
    padding: 0 0 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--gt-font-66)
}

.gt-breadcrumb a {
    color: var(--gt-main-color);
    transition: color 0.18s
}

.gt-breadcrumb a:hover {
    color: var(--gt-main-color-88)
}

.gt-breadcrumb span {
    color: var(--gt-font-28)
}

.gt-breadcrumb .current {
    color: var(--gt-main-color)
}

/* 面包屑样式优化 - 仅针对移动端 */
@media (max-width: 768px) {
    .gt-breadcrumb {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        font-size: 13px;
    }
    
    .gt-breadcrumb a,
    .gt-breadcrumb span {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* 调整分隔符大小 */
    .gt-breadcrumb span:not(.current) {
        font-size: 12px !important;
    }
    
    .gt-breadcrumb span.current {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 150px !important;
    }
}

/* 面包屑位置调整 - 针对所有设备 */
.gt-breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important; /* 与顶部间距保持一致 */
    padding: 0 !important;
}

.gt-empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    background: var(--gt-white-color);
    border-radius: var(--gt-main-radius);
    box-shadow: var(--gt-box-shadow);
    text-align: center
}

.gt-empty img {
    max-width: 200px;
    margin-bottom: 1rem
}

.gt-empty p {
    color: var(--gt-font-66);
    font-size: 0.9rem
}

.sky-header,
.sky-footer:not(.gt-footer),
.sky-sidebar:not(.gt-back-top) {
    display: none !important
}

section.gt-art-page a,
section.gt-art-page span,
.pagination a,
.pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.5rem;
    border-radius: 0.5rem;
    background-color: var(--gt-white-color);
    box-shadow: var(--gt-box-shadow);
    font-size: 0.875rem;
    color: #99a9bf;
    user-select: none;
    transition: all 0.18s ease-in-out;
    text-decoration: none
}

section.gt-art-page a:hover,
.pagination a:hover {
    color: var(--gt-white-color);
    background-color: rgba(129, 146, 174, 0.66)
}

section.gt-art-page span,
.pagination span {
    background-color: #8192AE;
    color: var(--gt-white-color)
}

section.gt-art-page em,
.pagination em {
    color: var(--gt-font-28);
    font-style: normal;
    padding: 0 0.25rem
}

header.gt-header .nav-center .nav-dropdown {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center
}

header.gt-header .nav-center .nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: 150px;
    padding: 0.5rem 0;
    background: var(--gt-white-color);
    border-radius: var(--gt-main-radius);
    box-shadow: var(--gt-box-shadow);
    opacity: 0;
    visibility: hidden;
    transition: all 0.18s ease-in-out;
    z-index: 100
}

header.gt-header .nav-center .nav-dropdown:hover .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0)
}

header.gt-header .nav-center .nav-dropdown-item {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gt-font-color);
    transition: all 0.18s;
    white-space: nowrap
}

header.gt-header .nav-center .nav-dropdown-item:hover {
    background: var(--gt-main-color-16);
    color: var(--gt-main-color)
}

.d-flex {
    display: flex !important
}

.flex-column {
    flex-direction: column !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.align-items-center {
    align-items: center !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.gap-1 {
    gap: 0.25rem !important
}

.gap-2 {
    gap: 0.5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.mt-1 {
    margin-top: 0.25rem !important
}

.mt-2 {
    margin-top: 0.5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mb-1 {
    margin-bottom: 0.25rem !important
}

.mb-2 {
    margin-bottom: 0.5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.me-1 {
    margin-right: 0.25rem !important
}

.me-2 {
    margin-right: 0.5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.ms-1 {
    margin-left: 0.25rem !important
}

.ms-2 {
    margin-left: 0.5rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-2 {
    padding: 0.5rem !important
}

.p-3 {
    padding: 1rem !important
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important
}

.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important
}

.text-center {
    text-align: center !important
}

.text-muted {
    color: var(--gt-font-56) !important
}

.text-truncate {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important
}

.rounded {
    border-radius: var(--gt-main-radius) !important
}

.border {
    border: 1px solid var(--gt-font-16) !important
}

.w-100 {
    width: 100% !important
}

.h-100 {
    height: 100% !important
}

.d-none {
    display: none !important
}

.d-block {
    display: block !important
}

@media (min-width:992px) {
    .d-lg-block {
        display: block !important
    }

    .d-lg-none {
        display: none !important
    }
}

@media (max-width:991px) {
    .d-lg-block {
        display: none !important
    }

    .d-lg-none {
        display: block !important
    }
}

@media (min-width:768px) {
    .d-md-block {
        display: block !important
    }

    .d-md-none {
        display: none !important
    }
}

@media (max-width:767px) {
    .d-md-block {
        display: none !important
    }

    .d-md-none {
        display: block !important
    }
}

.form-control,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea,
select {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--gt-font-color);
    background-color: var(--gt-white-color);
    border: 1px solid var(--gt-font-16);
    border-radius: var(--gt-main-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    outline: none
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16)
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    border-radius: var(--gt-main-radius);
    transition: all 0.15s ease-in-out
}

.btn-primary {
    color: #fff;
    background-color: var(--gt-main-color);
    border-color: var(--gt-main-color)
}

.btn-primary:hover {
    background-color: var(--gt-main-color-88);
    border-color: var(--gt-main-color-88)
}

.btn-outline-secondary {
    color: var(--gt-font-color);
    border-color: var(--gt-font-16);
    background-color: transparent
}

.btn-outline-secondary:hover {
    color: var(--gt-main-color);
    border-color: var(--gt-main-color);
    background-color: var(--gt-main-color-16)
}

.comment-post-box {
    margin-bottom: 2rem
}

.comment-post {
    background: var(--gt-font-6);
    border-radius: var(--gt-main-radius);
    overflow: hidden
}

.comment-form-head {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--gt-font-16)
}

.comment-form-head .input-box {
    border-right: 1px solid var(--gt-font-16)
}

.comment-form-head .input-box:last-child {
    border-right: none
}

.comment-form-head input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: none;
    background: transparent;
    font-size: 0.9rem
}

.comment-form-head input:focus {
    box-shadow: none;
    background: var(--gt-white-color)
}

.comment-form-body textarea {
    width: 100%;
    min-height: 120px;
    padding: 1rem;
    border: none;
    background: transparent;
    resize: vertical;
    font-size: 0.9rem
}

.comment-form-body textarea:focus {
    box-shadow: none;
    background: var(--gt-white-color)
}

.comment-form-foot {
    border-top: 1px solid var(--gt-font-16);
    background: var(--gt-white-color)
}

.comment-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.comment-item {
    display: flex;
    gap: 1rem
}

.comment-item .avatar {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden
}

.comment-item .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.comment-item-box {
    flex: 1;
    min-width: 0
}

.comment-item-content {
    background: var(--gt-font-6);
    font-size: 0.9rem;
    line-height: 1.6
}

.comment-item-foot {
    font-size: 0.75rem
}

.comment-item-time {
    color: var(--gt-font-56)
}

.comment-reply {
    color: var(--gt-main-color);
    cursor: pointer
}

.comment-reply:hover {
    opacity: 0.8
}

.comment-list-children {
    margin-top: 1rem;
    margin-left: 3.5rem;
    padding-left: 1rem;
    border-left: 2px solid var(--gt-font-16)
}

@media (max-width:768px) {
    .comment-form-head {
        grid-template-columns: 1fr
    }

    .comment-form-head .input-box {
        border-right: none;
        border-bottom: 1px solid var(--gt-font-16)
    }

    .comment-form-head .input-box:last-child {
        border-bottom: none
    }

    .comment-list-children {
        margin-left: 1rem
    }
}

.ticket {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 0.25rem;
    color: #fff
}

.ticket-primary {
    background: var(--gt-main-color)
}

.ticket-success {
    background: var(--gt-success)
}

.ticket-warning {
    background: var(--gt-warning)
}

.ticket-danger {
    background: var(--gt-error)
}

.ticket-rainbow {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
}

.gt-mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease
}

.gt-mobile-overlay.active {
    opacity: 1;
    visibility: visible
}

.gt-mobile-sidebar {
    position: fixed;
    top: 0;
    right: -320px;
    width: min(320px, 85vw);
    height: 100vh;
    background: var(--gt-white-color);
    box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);
    z-index: 1001;
    transition: right 0.3s ease;
    overflow-y: auto;
    display: flex;
    flex-direction: column
}

.gt-mobile-sidebar.active {
    right: 0
}

.gt-mobile-sidebar-header {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--gt-font-6);
    background: var(--gt-main-color-6)
}

.gt-mobile-sidebar-header h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--gt-main-color)
}

.gt-mobile-sidebar-header button {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--gt-font-color);
    padding: 0;
    line-height: 1
}

.gt-mobile-sidebar-body {
    flex: 1;
    padding: 1rem;
    overflow-y: auto
}

.gt-mobile-sidebar-body .gt-aside-item {
    margin-bottom: 1rem
}

.gt-mobile-sidebar-body .gt-aside-item.user {
    padding: 1.25rem 0
}

.gt-mobile-sidebar-body .gt-aside-item.user .gt-aside-motto {
    padding: 0 1rem
}

.gt-mobile-sidebar-body .gt-aside-item.user .gt-aside-avatar {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 2px solid var(--gt-main-color);
    box-shadow: 0 0 0 2px rgba(1, 196, 182, 0.2);
    transition: all 0.3s ease
}

.gt-mobile-nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 1rem
}

.gt-mobile-nav-list a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--gt-font-color);
    border-radius: 0.5rem;
    transition: all 0.18s
}

.gt-mobile-nav-list a:hover,
.gt-mobile-nav-list a.active {
    background: var(--gt-main-color-16);
    color: var(--gt-main-color)
}

.gt-mobile-nav-list a i {
    font-size: 1.2rem;
    width: 1.5rem;
    text-align: center
}

.gt-mobile-divider {
    height: 1px;
    background: var(--gt-font-6);
    margin: 1rem 0
}

.gt-recommend-section {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--gt-main-max-width);
    margin: 0.25rem auto 1rem;
    overflow: hidden;
}

@media screen and (max-width: 888px) {
    .gt-recommend-section {
        margin-top: 0.25rem;
    }
}

.gt-recommend-top {
    display: grid;
    grid-template-columns: calc(70% - 0.375rem) calc(30% - 0.375rem);
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    height: 390px
}

.gt-recommend-top:has(.gt-recommend-right:only-child) {
    grid-template-columns: 1fr
}

.gt-recommend-top:has(.gt-recommend-main:only-child) {
    grid-template-columns: 1fr
}

/* 电脑端只有小图时，改为水平排列，只针对大屏幕 */
@media screen and (min-width:1025px) {
    .gt-recommend-top:has(.gt-recommend-right:only-child) .gt-recommend-right {
        grid-template-rows: 1fr;
        grid-template-columns: 1fr 1fr;
        height: 390px;
    }
    /* 当只有一个小图时，宽度改为100% */
    .gt-recommend-top:has(.gt-recommend-right:only-child) .gt-recommend-right:has(.gt-recommend-item:only-child) {
        grid-template-columns: 1fr;
    }
}

/* 中等屏幕电脑端只有小图时（769px-1024px），不影响手机端 */
@media screen and (min-width:769px) and (max-width:1024px) {
    .gt-recommend-top:has(.gt-recommend-right:only-child) .gt-recommend-right {
        grid-template-rows: 1fr;
        grid-template-columns: 1fr 1fr;
        height: 280px;
    }
    /* 当只有一个小图时，宽度改为100% */
    .gt-recommend-top:has(.gt-recommend-right:only-child) .gt-recommend-right:has(.gt-recommend-item:only-child) {
        grid-template-columns: 1fr;
    }
}

.gt-recommend-main {
    position: relative;
    display: block;
    height: 100%;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    box-shadow: var(--gt-box-shadow)
}

.gt-recommend-main:hover img {
    transform: scale(1.05)
}

.gt-recommend-main picture,
.gt-recommend-main img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease
}

.gt-recommend-main .gt-recommend-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem 1.25rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
    color: #fff
}

.gt-recommend-main .gt-recommend-tag {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--gt-main-color);
    border-radius: 0.25rem;
    margin-bottom: 0.4rem
}

.gt-recommend-main h2 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    color: #fff;
    box-sizing: border-box !important
}

.gt-recommend-right {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 0.75rem;
    height: 100%
}

.gt-recommend-right:has(.gt-recommend-item:only-child) {
    grid-template-rows: 1fr
}

.gt-recommend-item {
    position: relative;
    display: block;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    box-shadow: var(--gt-box-shadow)
}

.gt-recommend-item:hover img {
    transform: scale(1.05)
}

.gt-recommend-item picture,
.gt-recommend-item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease
}

.gt-recommend-item .gt-recommend-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.75rem 1rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.3) 60%, transparent 100%);
    color: #fff
}

.gt-recommend-item .gt-recommend-tag {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--gt-main-color);
    border-radius: 0.2rem;
    margin-bottom: 0.25rem
}

.gt-recommend-item h2 {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    color: #fff;
    box-sizing: border-box !important
}

.gt-recommend-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.gt-recommend-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    background: var(--gt-white-color);
    box-shadow: var(--gt-box-shadow);
    transition: all 0.25s ease
}

.gt-recommend-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12)
}

.gt-recommend-card:hover img {
    transform: scale(1.05)
}

.gt-recommend-card .gt-recommend-thumb {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    aspect-ratio: 16 / 7;
    flex-shrink: 0
}

.gt-recommend-card .gt-recommend-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease
}

.gt-recommend-card .gt-recommend-views {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 0.25rem;
    backdrop-filter: blur(4px)
}

.gt-recommend-card h2 {
    font-size: 0.75rem;
    padding: 0.2rem 0.4rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    color: var(--gt-font-color);
    transition: color 0.18s;
    height: max-content
}

.gt-recommend-card:hover h2 {
    color: var(--gt-main-color)
}

@media screen and (max-width:1024px) {
    .gt-recommend-top {
        height: 280px
    }

    .gt-recommend-bottom {
        grid-template-columns: repeat(2, 1fr)
    }

    .gt-recommend-card .gt-recommend-thumb {
        height: 100px
    }
}

@media screen and (max-width:768px) {
    .gt-recommend-section {
        margin-top: 0.5rem
    }

    .gt-recommend-top {
        grid-template-columns: 1fr;
        height: auto
    }

    .gt-recommend-main {
        height: 210px
    }

    .gt-recommend-main h2 {
        font-size: 1.1rem;
    }

    .gt-recommend-right {
        grid-template-rows: 1fr 1fr;
        height: auto; /* 移除固定高度，改为自适应 */
        gap: 0.75rem; /* 保持间距 */
    }

    .gt-recommend-right .gt-recommend-item {
        height: 130px; /* 设置单个小卡片固定高度 */
    }

    .gt-recommend-item h2 {
        font-size: 0.9rem;
    }

    /* 当只有一个推荐项时，高度与左侧大图匹配 */
    .gt-recommend-right:has(.gt-recommend-item:only-child) {
        grid-template-rows: 1fr;
    }

    /* 单卡片时高度设置 */
    .gt-recommend-right:has(.gt-recommend-item:only-child) .gt-recommend-item {
        height: 210px; /* 单卡片时与左侧大图高度一致 */
    }

    /* 当大图未填写，只填写右侧小图两个id时，两个卡片均为210px */
    .gt-recommend-top:not(:has(.gt-recommend-main)) .gt-recommend-right:not(:has(.gt-recommend-item:only-child)) .gt-recommend-item {
        height: 210px;
    }

    .gt-recommend-bottom {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.6rem
    }

    .gt-recommend-card .gt-recommend-thumb {
        height: 90px
    }

    .gt-recommend-card h2 {
        font-size: 0.8rem;
        padding: 0.5rem 0.6rem
    }
}

@media screen and (max-width:480px) {
    .gt-recommend-section {
        margin-top: 0.3rem
    }

    .gt-recommend-main {
        height: 170px
    }

    .gt-recommend-main h2 {
        font-size: 1rem;
    }

    .gt-recommend-right .gt-recommend-item {
        height: 110px; /* 小屏幕下单个小卡片高度 */
    }

    .gt-recommend-item h2 {
        font-size: 0.8rem;
    }

    /* 小屏幕下单卡片时与左侧大图高度一致 */
    .gt-recommend-right:has(.gt-recommend-item:only-child) .gt-recommend-item {
        height: 170px;
    }

    /* 当大图未填写，只填写右侧小图两个id时，两个卡片均为170px */
    .gt-recommend-top:not(:has(.gt-recommend-main)) .gt-recommend-right:not(:has(.gt-recommend-item:only-child)) .gt-recommend-item {
        height: 170px;
    }

    .gt-recommend-card .gt-recommend-thumb {
        height: 75px
    }

    .gt-recommend-card h2 {
        font-size: 0.65rem;
        padding: 0.4rem 0.5rem
    }
}

.article-actions {
    margin-top: 2rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, var(--gt-main-color-6) 0%, var(--gt-success-hover) 100%);
    border-radius: var(--gt-main-radius);
    text-align: center
}

.article-actions .actions-title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--gt-font-color)
}

.article-actions .actions-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap
}

.article-actions .action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 2rem;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: var(--gt-white-color);
    color: var(--gt-font-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)
}

.article-actions .action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)
}

.article-actions .action-btn i {
    font-size: 1.125rem
}

.article-actions .reward-btn {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
    color: #fff
}

.article-actions .reward-btn:hover {
    background: linear-gradient(135deg, #ff5252 0%, #e04848 100%)
}

.article-actions .like-btn.liked {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
    color: #fff
}

.article-actions .like-btn.liked i {
    animation: likeAnimation 0.5s ease
}

@keyframes likeAnimation {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.3)
    }
}

.article-actions .share-btn:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #fff
}

.article-actions .collect-btn.collected {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #fff
}

.article-actions .collect-btn.collected i {
    animation: collectAnimation 0.5s ease
}

@keyframes collectAnimation {

    0%,
    100% {
        transform: scale(1) rotate(0deg)
    }

    50% {
        transform: scale(1.2) rotate(15deg)
    }
}

.reward-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s ease
}

.reward-modal.active {
    display: flex
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.reward-modal-content {
    position: relative;
    width: 90%;
    max-width: 360px;
    background: var(--gt-white-color);
    border-radius: 1rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    animation: slideUp 0.3s ease
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.reward-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
    color: #fff
}

.reward-modal-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.reward-modal-header h3 i {
    font-size: 1.25rem
}

.reward-close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease
}

.reward-close-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg)
}

.reward-close-btn i {
    font-size: 1.25rem
}

.reward-modal-body {
    padding: 1.5rem
}

.reward-tabs {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem
}

.reward-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    border: 2px solid var(--gt-font-16);
    border-radius: 2rem;
    background: transparent;
    color: var(--gt-font-66);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease
}

.reward-tab:hover {
    border-color: var(--gt-main-color);
    color: var(--gt-main-color)
}

.reward-tab.active {
    background: var(--gt-main-color);
    border-color: var(--gt-main-color);
    color: #fff
}

.reward-tab[data-tab="wechat"].active {
    background: #07c160;
    border-color: #07c160
}

.reward-tab[data-tab="alipay"].active {
    background: #1677ff;
    border-color: #1677ff
}

.reward-tab i {
    font-size: 1.125rem
}

.reward-qrcodes {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem
}

.reward-qrcode {
    display: none;
    width: 200px;
    height: 200px;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 0.75rem;
    overflow: hidden
}

.reward-qrcode.active {
    display: block;
    animation: fadeIn 0.3s ease
}

.reward-qrcode img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0.5rem
}

.reward-tip {
    margin: 0;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--gt-font-56)
}

@media (max-width:768px) {
    .article-actions .actions-buttons {
        gap: 0.375rem;
        flex-wrap: nowrap;
        width: 100%
    }

    .article-actions .action-btn {
        padding: 0.4375rem 0.5rem;
        font-size: 0.75rem;
        gap: 0.25rem;
        flex: 1;
        min-width: 0;
        justify-content: center
    }

    .article-actions .action-btn i {
        font-size: 0.875rem
    }

    .article-actions {
        padding: 1rem 0.75rem
    }

    .reward-modal-content {
        max-width: 320px
    }

    .reward-qrcode {
        width: 180px;
        height: 180px
    }
}

.article-copyright {
    margin-top: 2rem;
    background: var(--gt-white-color);
    border: 1px solid var(--gt-font-16);
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    box-shadow: var(--gt-box-shadow)
}

.article-copyright .copyright-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    background: linear-gradient(135deg, var(--gt-main-color-6) 0%, var(--gt-main-color-16) 100%);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--gt-main-color);
    margin: 0;
    line-height: 1
}

.sky-h1 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2
}

.sky-h2 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3
}

.sky-h3 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4
}

.sky-h4 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5
}

.sky-h5 {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.6
}

.sky-h6 {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.7
}

.text-truncate-2 {
    display: -webkit-box !important;
    display: box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important
}

.text-truncate-3 {
    display: -webkit-box !important;
    display: box !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important
}

@media screen and (max-width:1024px) {

    .sky-h1,
    .sky-h2 {
        font-size: calc(1rem + 2vw)
    }

    .sky-h3,
    .sky-h4 {
        font-size: calc(0.875rem + 1vw)
    }

    .sky-h5,
    .sky-h6 {
        font-size: 0.875rem
    }
}

@media screen and (max-width:768px) {
    .sky-h1 {
        font-size: 1.5rem
    }

    .sky-h2 {
        font-size: 1.25rem
    }

    .sky-h3 {
        font-size: 1.125rem
    }

    .sky-h4 {
        font-size: 1rem
    }
}

.article-copyright .copyright-header i {
    color: var(--gt-main-color);
    font-size: 1.125rem
}

.article-copyright .copyright-content {
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
    line-height: 1.8;
    color: var(--gt-font-color)
}

.article-copyright .copyright-content p {
    margin: 0;
    padding: 0.25rem 0
}

.article-copyright .copyright-content a {
    color: var(--gt-main-color);
    text-decoration: none;
    word-break: break-all;
    transition: color 0.2s ease
}

.article-copyright .copyright-content a:hover {
    color: var(--gt-main-color-88)
}

.article-copyright .copyright-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--gt-main-radius);
    margin: 0.5rem 0;
    border: 1px solid var(--gt-font-16)
}

.article-copyright .copyright-content strong {
    color: var(--gt-font-88)
}

@media (max-width:768px) {
    .article-copyright .copyright-content {
        font-size: 0.8125rem
    }
}

.gt-related-posts {
    margin-top: 2rem;
    background: var(--gt-white-color);
    border: 1px solid var(--gt-font-16);
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    box-shadow: var(--gt-box-shadow)
}

.gt-related-posts .gt-related-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    background: linear-gradient(135deg, var(--gt-main-color-6) 0%, var(--gt-main-color-16) 100%);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--gt-main-color);
    margin: 0;
    line-height: 1
}

.gt-related-posts .gt-related-header i {
    color: var(--gt-main-color);
    font-size: 1.125rem
}

.gt-related-posts .gt-related-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 200px;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.gt-related-posts .gt-related-card {
    display: flex;
    flex-direction: column;
    width: 200px;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
    background: var(--gt-white-color);
    box-shadow: var(--gt-box-shadow);
    transition: all 0.25s ease
}

.gt-related-posts .gt-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12)
}

.gt-related-posts .gt-related-card:hover img {
    transform: scale(1.05)
}

.gt-related-posts .gt-related-thumb {
    width: 100%;
    height: 110px;
    overflow: hidden
}

.gt-related-posts .gt-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease
}

.gt-related-posts .gt-related-title {
    padding: 0.6rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--gt-font-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.18s;
    box-sizing: border-box !important
}

.gt-related-posts .gt-related-card:hover .gt-related-title {
    color: var(--gt-main-color)
}

@media screen and (max-width:1024px) {
    .gt-related-posts .gt-related-grid {
        grid-auto-columns: 180px;
        padding: 0.875rem 1rem
    }

    .gt-related-posts .gt-related-card {
        width: 180px
    }

    .gt-related-posts .gt-related-thumb {
        height: 100px
    }
}

@media screen and (max-width:768px) {
    header.gt-header .home {
        padding-left: 0.5rem
    }

    header.gt-header .home img {
        height: 2rem
    }

    header.gt-header .home span {
        font-size: 1.2rem
    }

    .gt-related-posts .gt-related-grid {
        grid-auto-columns: 160px;
        gap: 0.6rem;
        padding: 0.75rem
    }

    .gt-related-posts .gt-related-card {
        width: 160px
    }

    .gt-related-posts .gt-related-thumb {
        height: 90px
    }

    .gt-related-posts .gt-related-title {
        font-size: 0.875rem;
        padding: 0.5rem 0.6rem
    }
}

@media screen and (max-width:480px) {
    .gt-related-posts .gt-related-grid {
        grid-auto-columns: 140px
    }

    .gt-related-posts .gt-related-card {
        width: 140px
    }

    .gt-related-posts .gt-related-thumb {
        height: 75px
    }
}
/* Single Column Layout - Compact */
.article-list.single-column {
    --grid-columns: 1 !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
}

.article-list.single-column .gt-article-item {
    display: grid !important;
    grid-template-columns: 260px 1fr;
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-areas: 
        'image header'
        'image excerpt'
        'image tags';
    gap: 0.35rem 0.9rem;
    height: 180px;
    padding: 0.75rem;
    align-items: start;
}

.article-list.single-column .gt-article-banner {
    grid-area: image;
    width: 100%;
    height: 100%;
    aspect-ratio: auto !important;
    padding: 0;
    box-sizing: border-box;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
}

.article-list.single-column .gt-article-banner img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    border-radius: 0;
}

.article-list.single-column .gt-article-item > header {
    grid-area: header;
    padding: 0;
    gap: 0.1rem;
    width: 100%;
    align-self: start;
}

.article-list.single-column .gt-article-item > header .title {
    font-size: 1.05rem;
    line-height: 1.3;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    margin: 0;
}

.article-list.single-column .gt-article-item > header .title a {
    font-size: 1.05rem;
    line-height: 1.3;
}

.article-list.single-column .gt-article-excerpt {
    grid-area: excerpt;
    padding: 0;
    margin: 0.2rem 0 0;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    height: auto;
    max-height: 100%;
    font-size: 0.8125rem;
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    word-break: break-word;
    align-self: start;
}

.article-list.single-column .gt-article-taglist {
    grid-area: tags;
    padding: 0;
    margin-top: 0.2rem;
    display: flex;
    align-items: center;
    font-size: 0.75rem;
    align-self: end;
}

/* 大屏幕下单列布局分类样式优化 */
.article-list.single-column .gt-article-item .gt-article-cat,
.article-list.single-column .gt-article-item .gt-article-taglist .gt-article-cat {
    background-color: transparent !important;
    color: var(--gt-font-66) !important;
    border: none !important;
    padding: 0 !important;
    margin-right: 0.28rem !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
}

.article-list.single-column .gt-article-item .gt-article-cat i,
.article-list.single-column .gt-article-item .gt-article-taglist .gt-article-cat i {
    font-size: 0.75rem !important;
    color: var(--gt-font-56) !important;
}

.article-list.single-column .gt-article-item.active::before {
    left: 0;
    top: 0;
    transform: none;
    border-radius: 0 0 0.5rem 0;
    font-size: 0.8rem;
    padding: 0.2rem 0.8rem;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.article-list.single-column .gt-article-item.active .gt-article-banner::before {
    display: none;
}

/* Mobile Responsive for Single Column */
@media screen and (max-width: 768px) {
    .article-list.single-column .gt-article-item {
        grid-template-columns: 140px 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
            'image header'
            'image tags';
        height: 118px;
        gap: 0.4rem 0.75rem;
        padding: 0.6rem;
    }
    
    .article-list.single-column .gt-article-item > header {
        padding: 0.1rem 0 0;
    }
    
    .article-list.single-column .gt-article-item > header .title {
        font-size: 0.88rem;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }
    
    .article-list.single-column .gt-article-item > header .title a {
        font-size: 0.88rem;
    }

    .article-list.single-column .gt-article-excerpt {
        display: none;
    }
    
    .article-list.single-column .gt-article-taglist {
        padding: 0;
    }
    
    .article-list.single-column .gt-article-taglist time {
        display: inline;
        font-size: 0.75rem;
        color: var(--gt-font-66);
    }
    
    .article-list.single-column .gt-article-taglist a {
        font-size: 0.75rem;
    }
}

@media screen and (max-width: 480px) {
    .article-list.single-column .gt-article-item {
        grid-template-columns: 120px 1fr;
        height: 108px;
        gap: 0.35rem 0.65rem;
        padding: 0.55rem;
    }
}

.gt-cms-section {
    margin-top: 1.5rem;
    width: 100%;
}

.gt-cms-title-h3 {
    font-size: 1.15rem !important;
    font-weight: 600;
    color: var(--gt-font-color);
    margin: 0 0 1rem !important;
    padding-left: 0.75rem;
    position: relative;
    display: inline-block;
}

.gt-cms-title-h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 100%;
    background-color: var(--gt-main-color);
    border-radius: 2px;
}

.gt-cms-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.gt-cms-card {
    background: var(--gt-white-color);
    border-radius: var(--gt-main-radius);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.gt-cms-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.gt-cms-header {
    display: flex;
    padding: 0.75rem;
    gap: 0.75rem;
}

.gt-cms-cover {
    position: relative;
    width: 140px;
    height: 100px;
    flex-shrink: 0;
    border-radius: var(--gt-main-radius);
    overflow: hidden;
}

.gt-cms-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gt-cms-card:hover .gt-cms-cover img {
    transform: scale(1.05);
}

.gt-cms-views {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    background: linear-gradient(135deg, #ff6b6b, #ee5a24);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 1rem;
    box-shadow: 0 2px 6px rgba(238, 90, 36, 0.4);
}

.gt-cms-views i {
    font-size: 0.7rem;
}

.gt-cms-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gt-cms-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.gt-cms-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--gt-font-color);
    transition: color 0.2s;
}

.gt-cms-name:hover {
    color: var(--gt-main-color);
}

.gt-cms-more {
    font-size: 0.8rem;
    color: var(--gt-main-color);
    transition: all 0.2s;
    white-space: nowrap;
}

.gt-cms-more:hover {
    color: var(--gt-main-color-88);
}

.gt-cms-desc {
    font-size: 0.85rem;
    color: var(--gt-font-66);
    margin: 0 0 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gt-cms-count {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--gt-font-56);
}

.gt-cms-count i {
    font-size: 0.8rem;
}

.gt-cms-body {
    padding: 0 0.75rem 0.75rem;
}

.gt-cms-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gt-cms-list li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.5rem 0 !important;
    border-bottom: 1px dashed var(--gt-font-16);
    font-size: 0.875rem;
    transition: all 0.2s;
}

.gt-cms-list li:last-child {
    border-bottom: none;
}

.gt-cms-list li::before {
    content: '•';
    color: var(--gt-main-color);
    margin-right: 0.5rem;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.gt-cms-list li a {
    flex: 1;
    color: var(--gt-font-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s;
}

.gt-cms-list li:hover a {
    color: var(--gt-main-color);
}

.gt-cms-date {
    font-size: 0.75rem;
    color: var(--gt-font-56);
    margin-left: 0.75rem;
    flex-shrink: 0;
    white-space: nowrap;
}

.gt-cms-empty {
    text-align: center;
    padding: 1.5rem;
    color: var(--gt-font-56);
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* Dark Mode */
[data-theme="dark"] .gt-cms-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .gt-cms-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Responsive - Tablet */
@media (max-width: 992px) {
    .gt-cms-grid {
        gap: 0.75rem;
    }
    .gt-cms-cover {
        width: 120px;
        height: 85px;
    }
    .gt-cms-name {
        font-size: 1rem;
    }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
    .gt-cms-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .gt-cms-header {
        padding: 0.625rem;
    }
    .gt-cms-cover {
        width: 110px;
        height: 80px;
    }
    .gt-cms-views {
        padding: 0.1rem 0.4rem;
        font-size: 0.7rem;
    }
    .gt-cms-name {
        font-size: 0.95rem;
    }
    .gt-cms-desc {
        font-size: 0.8rem;
    }
    .gt-cms-list li {
        font-size: 0.825rem;
        padding: 0.4rem 0 !important;
    }
}

/* Responsive - Small Mobile */
@media (max-width: 480px) {
    .gt-cms-section {
        margin-top: 1rem;
    }
    .gt-cms-title-h3 {
        font-size: 1rem !important;
        margin-bottom: 0.75rem !important;
    }
    .gt-cms-header {
        flex-direction: column;
        gap: 0.5rem;
    }
    .gt-cms-cover {
        width: 100%;
        height: 120px;
    }
    .gt-cms-views {
        top: 0.4rem;
        left: 0.4rem;
    }
    .gt-cms-info {
        width: 100%;
    }
    .gt-cms-meta {
        margin-bottom: 0.35rem;
    }
    .gt-cms-body {
        padding: 0 0.625rem 0.625rem;
    }
    .gt-cms-list li {
        font-size: 0.8rem;
        padding: 0.35rem 0 !important;
    }
    .gt-cms-date {
        font-size: 0.7rem;
    }
}
/* Login Modal */
.gt-login-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, visibility;
}

.gt-login-modal.active {
    opacity: 1;
    visibility: visible;
}

.gt-login-box {
    width: 90%;
    max-width: 800px;
    height: 500px;
    background: var(--gt-white-color);
    border-radius: 1rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    display: flex;
    overflow: hidden;
    transform: translateY(20px) scale(0.98);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
    will-change: transform, opacity;
}

.gt-login-modal.active .gt-login-box {
    transform: translateY(0) scale(1);
}

.gt-login-left {
    width: 45%;
    background: linear-gradient(135deg, var(--gt-main-color) 0%, #667eea 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #fff;
}

.gt-login-cover-text {
    position: relative;
    z-index: 2;
    text-align: center;
}

.gt-login-cover-text h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #fff;
}

.gt-login-cover-text p {
    font-size: 1rem;
    opacity: 0.9;
    color: #fff;
}

.gt-login-right {
    flex: 1;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.modal-close-btn {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--gt-bg-color);
    border: none;
    color: var(--gt-font-56);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
}

.modal-close-btn:hover {
    background: #ff4d4f;
    color: #fff;
    transform: rotate(90deg);
}

.modal-close-btn i {
    font-size: 1.25rem;
}

.gt-login-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.gt-login-header h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gt-font-color);
    margin: 0;
}

.gt-auth-panel { display: none; }
.gt-auth-panel.active { display: block; }

.gt-login-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.gt-form-group {
    position: relative;
}

.gt-form-group i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gt-font-56);
    font-size: 1.1rem;
    z-index: 1;
}

.gt-form-group input {
    width: 100%;
    padding: 0.8rem 1rem 0.8rem 2.8rem;
    border: 1px solid var(--gt-font-16);
    border-radius: 0.5rem;
    font-size: 0.95rem;
    transition: all 0.2s;
    background: var(--gt-white-color);
    color: var(--gt-font-color);
    outline: none;
}

.gt-form-group input:focus {
    border-color: var(--gt-main-color);
    box-shadow: 0 0 0 3px var(--gt-main-color-16);
}

.gt-captcha-group {
    display: flex;
    gap: 0.75rem;
}

.gt-captcha-group .gt-input-wrap {
    position: relative;
    flex: 1;
}

.gt-captcha-group img {
    height: 45px;
    border-radius: 0.5rem;
    cursor: pointer;
}

.gt-send-code-btn { 
    height: 45px;
    padding: 0 1rem;
    border: none;
    background: var(--gt-main-color); 
    color: #fff;
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 0.9rem;
    white-space: nowrap;
    transition: all 0.2s;
}

.gt-send-code-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.gt-form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
}

.gt-checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    color: var(--gt-font-66);
}

.gt-forget-link {
    color: var(--gt-main-color);
    text-decoration: none;
}

.gt-login-submit {
    background: var(--gt-main-color);
    color: #fff;
    border: none;
    padding: 0.9rem;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.2s;
}

.gt-login-submit:hover {
    background: var(--gt-main-color-88);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px var(--gt-main-color-28);
}

.gt-login-footer {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 0.9rem;
    color: var(--gt-font-66);
}

.gt-login-footer a {
    color: var(--gt-main-color);
    font-weight: 500;
}

@media (max-width: 768px) {
    .gt-login-box {
        height: auto;
        flex-direction: column;
        width: 90%;
    }
    .gt-login-left {
        display: none;
    }
    .gt-login-right {
        padding: 2rem 1.5rem;
    }
}