:root {
    --brand-50:#eff6ff; --brand-100:#dbeafe; --brand-500:#3b82f6;
    --brand-600:#2563eb; --brand-700:#1d4ed8; --brand-900:#1e3a8a;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#f8fafc;color:#1e293b;}
a{text-decoration:none;color:inherit;transition:color .2s ease, background-color .2s ease, border-color .2s ease;}
a:hover{color:color-mix(in srgb, currentColor 70%, #ffffff 30%);}
img{max-width:100%;display:block;}
ul{list-style:none;}
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:#f1f1f1;}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:#94a3b8;}
.container-x{max-width:1280px;margin:0 auto;padding:0 16px;}
@media(min-width:640px){.container-x{padding:0 24px;}}
@media(min-width:1024px){.container-x{padding:0 32px;}}
header{position:fixed;width:100%;top:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(0,0,0,0.05);}
header .container-x{display:flex;justify-content:space-between;align-items:center;height:80px;}
.logo-wrap{display:flex;align-items:center;cursor:pointer;}
.logo-icon{width:40px;height:40px;background:var(--brand-600);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:bold;margin-right:12px;}
.logo-text{font-size:22px;font-weight:bold;color:#0f172a;}
.logo-text span{color:var(--brand-600);}
.nav-main{display:flex;gap:32px;}
.nav-main a{color:#475569;font-weight:500;padding:8px 0;}
.nav-main a.active{color:#0f172a;border-bottom:2px solid #cbd5e1;}
#mobile-menu-btn{display:none;color:#475569;padding:8px;background:transparent;border:none;font-size:24px;cursor:pointer;}
#mobile-menu{max-height:0;opacity:0;overflow:hidden;transition:max-height 0.3s ease,opacity 0.3s ease;background:#fff;border-top:1px solid #f1f5f9;}
#mobile-menu.open{max-height:320px;opacity:1;}
.mobile-menu-inner{padding:16px 16px 24px;display:flex;flex-direction:column;gap:4px;}
.mobile-menu-inner a{padding:12px 12px;border-radius:6px;color:#334155;}
.mobile-menu-inner a:hover{background:#f8fafc;}
.mobile-menu-inner a.active{color:#0f172a;background:#f1f5f9;}
section{padding:80px 0;}
#hero{padding-top:128px;padding-bottom:80px;}
@media(min-width:1024px){#hero{padding-top:160px;padding-bottom:112px;}}
.hero-row{display:flex;flex-direction:column;gap:48px;align-items:center;}
@media(min-width:1024px){.hero-row{flex-direction:row;}}
.hero-col-left{width:100%;text-align:center;}
@media(min-width:1024px){.hero-col-left{width:50%;text-align:left;}}
.hero-badge{display:inline-block;padding:6px 16px;border-radius:999px;background:var(--brand-100);color:var(--brand-700);font-size:14px;font-weight:600;margin-bottom:8px;}
.hero-title{font-size:40px;font-weight:800;color:#0f172a;line-height:1.2;margin-bottom:20px;}
@media(min-width:1024px){.hero-title{font-size:60px;}}
.hero-title span{background:linear-gradient(90deg,var(--brand-600),#06b6d4);-webkit-background-clip:text;color:transparent;}
.hero-desc{font-size:18px;color:#475569;line-height:1.7;margin-bottom:32px;}
.hero-buttons{display:flex;flex-direction:column;gap:16px;justify-content:center;margin-bottom:16px;}
@media(min-width:640px){.hero-buttons{flex-direction:row;}}
@media(min-width:1024px){.hero-buttons{justify-content:flex-start;}}
.hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:12px;font-weight:700;font-size:18px;border:none;cursor:pointer;transition:all .2s;}
.hero-btn:hover{transform:translateY(-3px);}
.hero-btn:active{transform:scale(0.95);}
.hero-btn-primary{background:var(--brand-600);color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.3);}
.hero-btn-primary:hover{background:var(--brand-700);}
.hero-btn-outline{background:#fff;border:2px solid #e2e8f0;color:#334155;}
.hero-btn-outline:hover{border-color:#cbd5e1;background:#f8fafc;color:#94a3b8;}
.hero-tags{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;color:#64748b;}
@media(min-width:1024px){.hero-tags{justify-content:flex-start;}}
.hero-tags i{color:#22c55e;margin-right:4px;}
.hero-col-right{width:100%;position:relative;}
@media(min-width:1024px){.hero-col-right{width:50%;}}
.img-wrap{background:#fff;padding:8px;border-radius:24px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);position:relative;}
.img-wrap img{border-radius:12px;width:100%;}
.tip-card{position:absolute;left:-24px;bottom:-24px;background:#fff;padding:16px;border-radius:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);display:none;align-items:center;gap:12px;}
@media(min-width:640px){.tip-card{display:flex;}}
.tip-icon{width:40px;height:40px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#16a34a;font-size:18px;}
.tip-text p:first-child{font-size:12px;color:#64748b;}
.tip-text p:last-child{font-weight:bold;color:#0f172a;}
#download{background:#fff;}
.section-title{text-align:center;max-width:768px;margin:0 auto 48px;}
.section-title h2{font-size:30px;font-weight:700;color:#0f172a;margin-bottom:16px;}
@media(min-width:768px){.section-title h2{font-size:36px;}}
.section-title p{color:#475569;font-size:18px;}
.dl-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:768px){.dl-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.dl-grid{grid-template-columns:repeat(4,1fr);}}
.dl-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;padding:24px;transition:all .3s;}
.dl-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:#e2e8f0;}
.dl-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px;transition:transform .3s;}
.dl-card:hover .dl-icon{transform:scale(1.1);}
.icon-win{background:#dbeafe;color:#2563eb;}
.icon-mac{background:#e5e7eb;color:#1f2937;}
.icon-android{background:#dcfce7;color:#16a34a;}
.icon-harmony{background:#fef2f2;color:#dc2626;}
.dl-card h3{font-size:20px;font-weight:bold;color:#0f172a;margin-bottom:4px;}
.dl-card .sub{font-size:14px;color:#64748b;margin-bottom:16px;}
.dl-info{margin-bottom:24px;font-size:14px;color:#475569;}
.dl-info > div{display:flex;justify-content:space-between;padding:2px 0;}
.dl-info span:last-child{font-family:ui-monospace,monospace;font-weight:600;}
.dl-btn{width:100%;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s;}
.dl-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#94a3b8;}
#videos{background:#f8fafc;}
.video-row{display:flex;flex-direction:column;gap:40px;}
@media(min-width:1024px){.video-row{flex-direction:row;align-items:stretch;}}
.video-left{width:100%;}
@media(min-width:1024px){.video-left{width:66.666%;}}
.show-img-box{background:#fff;border-radius:24px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);overflow:hidden;border:4px solid #fff;}
.show-img-box img{width:100%;height:100%;object-fit:cover;}
.video-right{width:100%;display:flex;flex-direction:column;}
@media(min-width:1024px){.video-right{width:33.333%;}}
.video-desc h2{font-size:22px;font-weight:bold;color:#0f172a;margin-bottom:12px;}
.video-desc p{color:#475569;line-height:1.7;margin-bottom:16px;}
.video-desc button{padding:12px 24px;background:#0f172a;color:#fff;border-radius:8px;font-weight:600;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;}
.update-box{background:#fff;border:1px solid #f1f5f9;border-radius:16px;padding:24px;margin:24px 0;flex-grow:1;}
.update-box h4{font-weight:bold;color:#0f172a;margin-bottom:16px;}
.update-box h4 i{color:var(--brand-600);margin-right:8px;}
.update-box ul{display:flex;flex-direction:column;gap:12px;font-size:14px;color:#334155;}
.update-box li{display:flex;gap:12px;}
.rel-date{color:#94a3b8;font-family:monospace;white-space:nowrap;}
.tab-wrap{display:flex;gap:12px;}
.vtab{flex:1;padding:12px 8px;border-radius:8px;text-align:left;border:2px solid transparent;background:#fff;color:#475569;cursor:pointer;transition:all .2s;}
.vtab.active{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700);}
.vtab .t1{font-size:14px;font-weight:bold;display:block;}
.vtab .t2{font-size:12px;opacity:0.8;display:block;}
#news{background:#fff;}
.news-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:768px){.news-grid{grid-template-columns:repeat(3,1fr);}}
.news-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;padding:24px;}
.news-head{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e2e8f0;}
.news-line{width:4px;height:24px;border-radius:2px;}
.line-blue{background:var(--brand-600);}
.line-cyan{background:#06b6d4;}
.line-green{background:#22c55e;}
.news-head h3{font-weight:bold;color:#0f172a;}
.news-list li a{display:block;padding:10px 0;color:#334155;font-size:14px;transition:all .2s;}
.news-list li a:hover{background:#f8fafc;transform:translateX(4px);}
.news-date{color:#94a3b8;font-family:monospace;margin-right:8px;}
footer{background:#0f172a;color:#cbd5e1;padding:48px 0;}
.foot-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px;}
@media(min-width:768px){.foot-grid{grid-template-columns:repeat(4,1fr);}}
.foot-logo{display:flex;align-items:center;color:#fff;font-size:20px;font-weight:bold;margin-bottom:16px;}
.foot-logo i{color:var(--brand-500);margin-right:8px;}
.foot-desc{font-size:14px;color:#94a3b8;margin-bottom:16px;}
.foot-social{display:flex;gap:16px;}
.foot-social a:hover{color:color-mix(in srgb, currentColor 70%, #ffffff 30%);}
.foot-col h4{color:#fff;font-weight:600;margin-bottom:16px;}
.foot-col li{margin-bottom:8px;font-size:14px;}
.foot-link{color:#94a3b8;transition:color .2s;}
.foot-bar{border-top:1px solid #334155;padding-top:24px;margin-top:24px;color:#64748b;font-size:14px;}
.foot-bar-top{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:24px;align-items:center;}
.foot-bar-bottom{display:flex;flex-direction:column;gap:8px;justify-content:space-between;}
@media(min-width:768px){.foot-bar-bottom{flex-direction:row;}}
.foot-bar-bottom i{color:#ef4444;}
@media(max-width:1023px){
    .nav-main{display:none;}
    #mobile-menu-btn{display:block;}
}
.list-layout {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: start !important;
}
@media(min-width:1024px){
  .list-layout{
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
  }
}
.article-content {
    width: 100%;
    overflow-x: auto;
}
.article-content img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 6px;
}
.article-content p,
.article-content table {
    max-width: 100%;
}
.article-content table {
    overflow-x: auto;
    display: block;
}
.pagination.art-pagination-wrap {
    display: flex;
    gap: 5px;
    flex-wrap: nowrap;
    justify-content: center;
    margin-top: 30px;
    align-items: center;
}
.pagination.art-pagination-wrap a.page-num,
.pagination.art-pagination-wrap a.page-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 72px;
    padding: 0 12px;
    border: 1px solid #f6f6f6;
    border-radius: 0;
    background-color: #fff;
    color: #8e8e8e;
    text-decoration: none;
    font-size:14px;
    transition: all .2s ease;
}
.pagination.art-pagination-wrap a.page-num:hover:not(.page-num-current),
.pagination.art-pagination-wrap a.page-item:hover {
    border-color: #e2e8f0;
    color: #b0b0b0 !important;
}
.pagination.art-pagination-wrap a.page-num-current {
    background-color: #0f172a;
    color: #ffffff !important;
    border-color: #0f172a;
}
.pagination.art-pagination-wrap span.page-num {
    display: none !important;
}
a.btn-view-detail {
    background:#94a3b8;
    color:#fff;
    padding:6px 14px;
    border-radius:6px;
    font-size:13px;
    transition:0.2s ease;
    text-decoration:none;
}
a.btn-view-detail:hover {
    background:#0f172a !important;
    color:#fff !important;
}
.news-card {
    background:#f8fafc;
    border:1px solid #f1f5f9;
    border-radius:16px;
    padding:24px;
    margin-bottom:20px;
}
.news-head {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:1px solid #e2e8f0;
}
.news-line {
    width:4px;
    height:24px;
    border-radius:2px;
}
.news-head h3 {
    font-weight:bold;
    color:#0f172a;
    margin:0;
}
.news-list {
    padding:0;
    margin:0;
    list-style: none;
}
.news-list li {
    margin-bottom:12px;
}
.news-list li a {
    display:block;
    padding:4px 0;
    color:#334155;
    font-size:14px;
    transition:all .2s;
}
.news-list li a:hover {
    background:#f8fafc;
    transform:translateX(4px);
}
.tag-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.tag-grid-item{
    display:flex;
    justify-content:center;
    align-items:center;
    padding: 7px 4px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#ffffff;
    color:#333;
    font-size:14px;
    line-height:1.4;
    text-decoration:none;
    transition:.2s;
}
.tag-grid-item:hover{
    border-color:#cbd5e1;
    background:#f8fafc;
}
.tag-grid-item.active{
    background: #0f172a;
    border-color: #0f172a;
    color:#fff;
}
.tag-grid-item.active span{
    color:#e2e8f0;
}
.rank-list {
    counter-reset: topno;
}
.rank-list li a{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
}
.rank-list li .rank-num{
    counter-increment: topno;
    flex-shrink: 0;
    min-width: 20px;
    height: 20px;
    padding:0 3px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}
.rank-list li .rank-num::before {
    content: counter(topno);
}
.rank-list li:nth-child(1) .rank-num{background:#ef4444;}
.rank-list li:nth-child(2) .rank-num{background:#f97316;}
.rank-list li:nth-child(3) .rank-num{background:#f59e0b;}
.rank-list li:nth-child(4) .rank-num{background:#10b981;}
.rank-list li:nth-child(5) .rank-num{background:#3b82f6;}
.rank-list li:nth-child(6) .rank-num{background:#94a3b8;}
.rank-list li:nth-child(7) .rank-num{background:#94a3b8;}
.rank-list li:nth-child(8) .rank-num{background:#94a3b8;}
.rank-list li:nth-child(9) .rank-num{background:#94a3b8;}
.rank-list li:nth-child(10) .rank-num{background:#94a3b8;}
.rank-random {
    counter-reset: randno;
}
.rank-random li a{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
}
.rank-random li .rank-num{
    counter-increment: randno;
    flex-shrink: 0;
    min-width: 20px;
    height: 20px;
    padding:0 3px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    background:#94a3b8;
}
.rank-random li .rank-num::before {
    content: counter(randno);
}
.info-link {
    color: #888;
    text-decoration: none;
    transition: color .2s ease;
}
.info-link:hover {
    color: #b0b0b0;
}
.nav-search {
    display: flex;
    align-items: center;
    margin-left: 16px;
}
.nav-search-form {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    height: 36px;
    padding: 0;
    box-shadow: 0 1px 3px rgba(15,23,42,.04);
}
.nav-search-input {
    flex: 1;
    width: 140px;
    height: 32px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 13px;
    color: #0f172a;
    padding: 0 4px 0 12px;
}
.nav-search-input::placeholder {
    color: #94a3b8;
}
.nav-search-btn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: #94a3b8;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items:center;
    justify-content:center;
    transition: 0.2s ease;
    font-size:13px;
    margin: 2px;
}
.nav-search-btn:hover {
    background: #0f172a;
}
.mobile-search {
    display: flex;
    margin: 10px 12px 16px;
}
.mobile-search .nav-search-form {
    width: 100%;
    height: 40px;
}
.mobile-search .nav-search-input {
    height: 36px;
    width: auto;
}
.mobile-search .nav-search-btn {
    width: 36px;
    height: 36px;
    font-size:14px;
    margin:2px;
}
@media (max-width:1023px) {
    .nav-search {
        display: none;
    }
}
.nav-main a,
.mobile-menu-inner a {
    transition: 0.2s;
}
.nav-main a:hover,
.mobile-menu-inner a:hover {
    color: #3b82f6;
}
.nav-main a.active,
.mobile-menu-inner a.active {
    color: #3b82f6;
    font-weight: 600;
}
