* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', sans-serif;
    color: var(--theme-text);
    background-color: var(--theme-background);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
}

.page-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
}

.section {
    padding: 60px 0;
}

.section-sm {
    padding: 36px 0;
}

.section-title {
    font-family: 'Georgia', 'Noto Serif SC', 'STSong', 'Songti SC', serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--theme-text);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.section-subtitle {
    font-size: 1rem;
    color: var(--theme-text-secondary);
    margin-bottom: 32px;
    max-width: 600px;
}

.section-title-area {
    text-align: center;
    margin-bottom: 40px;
}

.section-title-area .section-title {
    margin-bottom: 10px;
}

.divider {
    width: 50px;
    height: 3px;
    background: var(--theme-primary);
    margin: 0 auto 20px;
    border-radius: 2px;
}

.divider-left {
    margin-left: 0;
}

.btn {
    display: inline-block;
    padding: 12px 28px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 28px;
    cursor: pointer;
    border: none;
    font-size: 0.95rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 0.3px;
    font-family: inherit;
    text-align: center;
}

.btn-primary {
    background: var(--theme-primary);
    color: #fff;
}

.btn-primary:hover {
    background: var(--theme-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 12px 40px var(--theme-shadow);
}

.btn-outline {
    background: transparent;
    color: var(--theme-primary);
    border: 2px solid var(--theme-primary);
}

.btn-outline:hover {
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), var(--theme-primary-dark);
    color: #fff;
}

.btn-gold {
    background: linear-gradient(135deg, var(--theme-accent), var(--theme-primary-dark));
    color: #fff;
}

.btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px var(--theme-shadow);
}

.btn-sm {
    padding: 8px 18px;
    font-size: 0.85rem;
    border-radius: 20px;
}

.card {
    background: var(--theme-surface);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--theme-border);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover {
    box-shadow: 0 4px 16px var(--theme-shadow);
    transform: translateY(-2px);
}

.card h3 {
    font-family: 'Georgia', 'Noto Serif SC', 'STSong', 'Songti SC', serif;
    font-size: 1.2rem;
    color: var(--theme-text);
    margin-bottom: 10px;
}

.card p {
    color: var(--theme-text-secondary);
    font-size: 0.93rem;
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.breadcrumb {
    font-size: 0.85rem;
    color: var(--theme-text-secondary);
    padding: 16px 0;
}

.breadcrumb a {
    color: var(--theme-text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover {
    color: var(--theme-primary);
}

.breadcrumb span {
    color: var(--theme-border);
    margin: 0 6px;
}

.page-hero {
    background: linear-gradient(135deg, var(--theme-background) 0%, var(--theme-surface) 100%);
    padding: 44px 0;
    border-radius: 0 0 16px 16px;
    max-width: 1280px;
    margin: 0 auto;
    aspect-ratio: 1280 / 413;
    min-height: 200px;
    width: 100%;
}

.page-hero h1 {
    font-family: 'Georgia', 'Noto Serif SC', 'STSong', 'Songti SC', serif;
    font-size: 2.2rem;
    color: var(--theme-text);
}

/* banner以图片形式展示，高度自适应图片比例 */
.page-hero-img {
    position: relative;
    padding: 0;
    background: none;
    border-radius: 0 0 16px 16px;
    overflow: hidden;
    max-width: 1280px;
    margin: 0 auto;
}
.page-hero-bg {
    display: block;
    width: 100%;
    height: auto;
}
.page-hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0;
    padding-top: 44px;
}

.hero-banner {
    color: #fff;
    padding: 0;
    position: relative;
    overflow: hidden;
    border-radius: 0 0 16px 16px;
    max-width: 1280px;
    margin: 0 auto;
    aspect-ratio: 1280 / 413;
    width: 100%;
}

.hero-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(160deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.5) 100%);
    z-index: 0;
}

.hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.hero-text {
    flex: 1;
    min-width: 280px;
}

.hero-text h1 {
    font-family: 'Georgia', 'Noto Serif SC', 'STSong', 'Songti SC', serif;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 16px;
    letter-spacing: 1px;
}

.hero-text h1 .gold-accent {
    color: var(--theme-accent);
}

.hero-text p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 24px;
    max-width: 500px;
}

.hero-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.quick-entry-card {
    text-align: center;
    padding: 32px 20px;
    border-radius: 16px;
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    color: inherit;
    display: block;
}

.quick-entry-card:hover {
    box-shadow: 0 12px 40px var(--theme-shadow);
    transform: translateY(-4px);
    border-color: var(--theme-primary);
}

.quick-entry-card .icon-circle {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    background: linear-gradient(135deg, var(--theme-primary-light), var(--theme-primary));
    color: #fff;
}

.stats-bar {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 30px 0;
}

.stat-item {
    text-align: center;
    min-width: 120px;
}

.stat-number {
    font-family: 'Georgia', 'Noto Serif SC', 'STSong', 'Songti SC', serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--theme-primary);
}

.stat-label {
    font-size: 0.85rem;
    color: var(--theme-text-secondary);
}

.tech-highlight-box {
    background: linear-gradient(135deg, var(--theme-background), var(--theme-surface));
    border-left: 5px solid var(--theme-primary);
    padding: 20px 24px;
    border-radius: 0 10px 10px 0;
    margin: 20px 0;
}

.ai-feature-card {
    border: 2px solid transparent;
    background: linear-gradient(var(--theme-surface), var(--theme-surface)) padding-box,
                linear-gradient(135deg, var(--theme-primary), var(--theme-accent)) border-box;
    border-radius: 16px;
}

.age-notice {
    background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-dark));
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
}

@media (max-width: 1024px) {
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-text h1 {
        font-size: 2rem;
    }
    .page-hero {
        padding: 32px 0;
    }
}

@media (max-width: 768px) {
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }
    .hero-inner {
        flex-direction: column;
        text-align: center;
    }
    .hero-text h1 {
        font-size: 1.7rem;
    }
    .hero-btns {
        justify-content: center;
    }
    .stats-bar {
        gap: 16px;
    }
    .section-title {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .hero-text h1 {
        font-size: 1.4rem;
    }
    .btn {
        padding: 10px 20px;
        font-size: 0.85rem;
    }
    .card {
        padding: 18px;
    }
}
.logo-img{width:44px;height:44px;border-radius:10%;object-fit:cover;flex-shrink:0}

/* ========== 面包屑分隔符 ========== */
.breadcrumb .separator{margin:0 4px;color:var(--theme-border)}

/* ========== 文章列表项（文化资讯页） ========== */
.article-list-item{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--theme-border);align-items:flex-start}
.article-list-item:last-child{border-bottom:none}
.article-cover{width:200px;min-height:140px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--theme-background)}
.article-info{flex:1;min-width:0}
.article-title{display:block;font-family:'Georgia','Noto Serif SC','STSong','Songti SC',serif;font-size:1.15rem;font-weight:700;color:var(--theme-text);text-decoration:none;margin-bottom:8px;transition:color 0.3s}
.article-title:hover{color:var(--theme-primary)}
.article-summary{color:var(--theme-text-secondary);font-size:0.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.article-meta{font-size:0.8rem;color:var(--theme-text-secondary)}
.article-meta span{margin-right:10px}

/* ========== 文章详情页 ========== */
/* 自定义字体：朱雀仿宋（正文统一使用；font-display:swap 先显示系统字体，加载完成后平滑切换） */
@font-face {
    font-family: 'ZhuqueFangsong';
    src: url('../fonts/ZhuqueFangsong-Regular.woff2') format('woff2'),
         url('../fonts/ZhuqueFangsong-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.article-title{font-family:'Georgia','Noto Serif SC','STSong','Songti SC',serif;font-size:1.4rem;color:var(--theme-text);margin-top:0px;margin-bottom:12px;line-height:1.4;text-align:left}
.article-detail-meta{color:var(--theme-text-secondary);font-size:0.88rem;padding-bottom:20px;margin-bottom:24px;border-bottom:2px solid var(--theme-border);text-align:center}
.article-detail-content{font-size:1rem;line-height:1.9;color:var(--theme-text)}
.article-detail-content,.article-detail-content *{font-family:'ZhuqueFangsong','FangSong','STFangsong','仿宋','FangSong_GB2312','SimSun','PingFang SC','Microsoft YaHei',sans-serif !important}
.article-detail-content p{margin-bottom:16px}
.article-detail-content img{max-width:100%;border-radius:10px;margin:16px 0}
.article-detail-content h2,.article-detail-content h3{margin:24px 0 12px;color:var(--theme-primary)}

/* ========== 标签 ========== */
.tag{display:inline-block;padding:4px 12px;background:var(--theme-background);border:1px solid var(--theme-border);border-radius:16px;font-size:0.8rem;color:var(--theme-text-secondary);margin-right:6px;margin-bottom:6px;white-space:nowrap}

/* ========== 文章列表响应式 ========== */
@media(max-width:768px){
    .article-list-item{flex-direction:column;gap:12px}
    .article-cover{width:100%;min-height:180px}
    .article-title{font-size:1.4rem}
}

/* ========== 文化资讯页：左右双栏布局 ========== */
.culture-layout{display:flex;gap:40px;align-items:flex-start}
.culture-left{flex:2;min-width:0}
.culture-right{flex:1;min-width:280px}

/* ========== 文化资讯页：栏目区块（无框，开放式） ========== */
.culture-section{margin-bottom:48px}
.culture-section-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:14px;margin-bottom:16px;border-bottom:3px solid var(--theme-primary)}
.culture-section-header h2{font-family:'Georgia','Noto Serif SC','Songti SC',serif;font-size:1.4rem;font-weight:700;color:var(--theme-text);margin:0;letter-spacing:0.5px}
.culture-section-more{color:var(--theme-primary);text-decoration:none;font-size:0.88rem;font-weight:500;transition:all 0.3s;white-space:nowrap}
.culture-section-more:hover{color:var(--theme-primary-dark);text-decoration:underline}

/* ========== 文化资讯页：文章行（左图右文） ========== */
.culture-row{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--theme-border);align-items:flex-start;transition:background 0.2s}
.culture-row:hover{background:linear-gradient(90deg,var(--theme-primary-alpha) 0%,transparent 100%);padding-left:12px;margin-left:-12px;border-radius:8px}
.culture-row:last-child{border-bottom:none}
.culture-thumb{width:200px;min-height:130px;height:130px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--theme-background);display:block;text-decoration:none}
.culture-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s}
.culture-thumb:hover img{transform:scale(1.05)}
.culture-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.culture-title{display:block;font-family:'Georgia','Noto Serif SC','Songti SC',serif;font-size:1.1rem;font-weight:700;color:var(--theme-text);text-decoration:none;margin-bottom:8px;line-height:1.5;transition:color 0.3s}
.culture-title:hover{color:var(--theme-primary)}
.culture-desc{color:var(--theme-text-secondary);font-size:0.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px;line-height:1.6}
.culture-meta{font-size:0.8rem;color:var(--theme-text-secondary);display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.culture-meta span{white-space:nowrap}

/* ========== 文化资讯页：右侧推荐栏 ========== */
.article-summary-banner{display:block;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:10px;padding:6px 8px;margin-bottom:16px;transition:transform 0.25s,box-shadow 0.25s;box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.article-summary-banner:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,0.1)}
.article-summary-banner img{width:100%;height:auto;display:block;border-radius:6px}
.culture-side-card{background:var(--theme-surface);border-radius:10px;padding:16px 18px;margin-bottom:16px;border:1px solid var(--theme-border)}
.culture-side-title{font-family:'Georgia','Noto Serif SC',serif;font-size:1rem;font-weight:700;color:var(--theme-text);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--theme-primary)}
.culture-side-list{display:flex;flex-direction:column;gap:2px}
.culture-side-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;text-decoration:none;color:var(--theme-text);border-bottom:1px dotted var(--theme-border);transition:all 0.2s}
.culture-side-item:last-child{border-bottom:none}
.culture-side-item:hover{color:var(--theme-primary)}
.culture-side-item:hover .culture-side-item-title{color:var(--theme-primary)}
.culture-side-thumb{width:50px;height:38px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--theme-background)}
.culture-side-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.culture-side-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.culture-side-item-title{font-size:0.85rem;font-weight:500;color:var(--theme-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color 0.2s}
.culture-side-item-date{font-size:0.72rem;color:var(--theme-text-secondary)}

/* ========== 文化资讯页：右侧图片网格（置顶/推荐） ========== */
.culture-img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.culture-img-grid-item{text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:transform 0.25s}
.culture-img-grid-item:hover{transform:translateY(-3px)}
.culture-img-grid-thumb{position:relative;width:100%;height:0;padding-bottom:75%;border-radius:8px;overflow:hidden;background:var(--theme-background);display:block}
.culture-img-grid-thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.culture-img-grid-badge{position:absolute;top:6px;left:6px;padding:1px 6px;font-size:0.65rem;font-weight:600;color:#fff;background:rgba(220,38,38,0.9);border-radius:3px;letter-spacing:0.5px;line-height:1.5}
.culture-img-grid-badge-rec{background:rgba(217,119,6,0.9)}
.culture-img-grid-title{font-size:0.8rem;font-weight:500;color:var(--theme-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}

/* ========== 文化资讯页：响应式 ========== */
@media(max-width:1024px){
    .culture-layout{flex-direction:column}
    .culture-right{min-width:0;width:100%}
}
@media(max-width:768px){
    .culture-section-header h2{font-size:1.2rem}
    .culture-row{flex-direction:column;gap:14px;padding:14px 0}
    .culture-row:hover{padding-left:0;margin-left:0}
    .culture-thumb{width:100%;height:180px;min-height:auto}
    .culture-title{font-size:1rem}
}
@media(max-width:480px){
    .culture-section{margin-bottom:32px}
    .culture-thumb{height:150px}
}
/* ========== 文章标识徽章：置顶 ========== */
.badge-top{display:inline-block;padding:2px 8px;font-size:0.7rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:4px;vertical-align:middle;margin-left:6px;letter-spacing:0.5px;line-height:1.4;animation:badgePulse 2s ease-in-out infinite}
/* ========== 文章标识徽章：推荐 ========== */
.badge-recommend{display:inline-block;padding:2px 8px;font-size:0.7rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;vertical-align:middle;margin-left:6px;letter-spacing:0.5px;line-height:1.4;animation:badgePulse 2s ease-in-out infinite}
@keyframes badgePulse{0%,100%{opacity:1}50%{opacity:0.75}}

/* ========== 表单样式 ========== */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-row.single{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-weight:600;font-size:0.9rem;color:var(--theme-text)}
.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:1.5px solid var(--theme-border);border-radius:6px;font-size:0.93rem;font-family:inherit;color:var(--theme-text);background:var(--theme-background);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px rgba(139,26,43,0.08)}
@media(max-width:768px){.form-row{grid-template-columns:1fr}}

/* ========== 首页快捷入口矩阵 ========== */
.quick-entry-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.qe-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;border-radius:16px;text-decoration:none;color:#fff;text-align:center;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);min-height:130px;position:relative;overflow:hidden}
.qe-card::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.15);transition:opacity 0.35s;opacity:0}
.qe-card:hover::before{opacity:1}
.qe-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,0.2)}
.qe-card .qe-icon{font-size:2.2rem;margin-bottom:8px;position:relative;z-index:1}
.qe-card .qe-title{font-size:1.1rem;font-weight:700;position:relative;z-index:1}
.qe-card .qe-desc{font-size:0.78rem;opacity:0.85;margin-top:4px;position:relative;z-index:1}
.qe-img-card{position:relative;padding:0;min-height:0;border-radius:16px;overflow:hidden}
.qe-img-card .qe-img{width:100%;height:100%;border-radius:16px;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1)}
.qe-img-card:hover .qe-img{transform:scale(1.04)}
.qe-img-card .qe-text{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 10px 14px;
    box-sizing: border-box;
    background: rgba(255,255,255,0.5);
}
.qe-img-card .qe-text-divider{
	display: block;
    width: 100%;
    height: 1px;
    background: #e71616;
    border-radius: 1px;}
.qe-img-card .qe-text-line{
	color: #040404;
    font-size: 1.8rem;
    letter-spacing: 2px;
    line-height: 0.8;
    text-align: center;}
@media(max-width:768px){.qe-img-card .qe-text-line{font-size:0.98rem;letter-spacing:1px}}
.qe-learn{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.qe-build{background:linear-gradient(135deg,#059669,#047857)}
.qe-join{background:linear-gradient(135deg,#d97706,#b45309)}
.qe-buy{background:linear-gradient(135deg,#dc2626,#b91c1c)}
@media(max-width:768px){.quick-entry-matrix{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.quick-entry-matrix{grid-template-columns:1fr}}

/* ========== AI每日卡片动画 ========== */
.ai-daily-card{animation:aiPulse 3s ease-in-out infinite}
@keyframes aiPulse{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,0.04)}50%{box-shadow:0 8px 30px rgba(var(--primary-rgb),0.12)}}

/* ========== 对比表格 ========== */
.compare-table{width:100%;border-collapse:collapse;margin:20px 0}
.compare-table th{background:var(--theme-primary);color:#fff;padding:14px 16px;font-weight:600;text-align:center;font-size:0.95rem}
.compare-table th:first-child{text-align:left;border-radius:8px 0 0 0}
.compare-table th:last-child{border-radius:0 8px 0 0}
.compare-table td{padding:12px 16px;border:1px solid var(--theme-border);text-align:center;font-size:0.9rem}
.compare-table td:first-child{text-align:left;font-weight:600;background:var(--theme-background)}
.compare-table tr:hover td{background:rgba(var(--primary-rgb),0.03)}
.compare-table .highlight-col{background:rgba(var(--primary-rgb),0.06)}
.compare-table .highlight-col td{border-color:var(--theme-primary);font-weight:600}

/* ========== 流程步骤 ========== */
.steps-flow{display:flex;gap:0;align-items:flex-start;flex-wrap:wrap;justify-content:center}
.step-item{flex:1;min-width:160px;max-width:220px;text-align:center;padding:20px 12px;position:relative}
.step-item::after{content:'→';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--theme-border);font-weight:700}
.step-item:last-child::after{display:none}
.step-num{display:inline-block;width:44px;height:44px;line-height:44px;background:var(--theme-primary);color:#fff;border-radius:50%;font-weight:700;font-size:1.1rem;margin-bottom:10px}
.step-title{font-weight:600;color:var(--theme-text);margin-bottom:4px}
.step-desc{font-size:0.82rem;color:var(--theme-text-secondary)}
@media(max-width:768px){.step-item::after{display:none}.step-item{min-width:120px}}

/* ========== 标签页切换 ========== */
.tab-nav{display:flex;gap:0;border-bottom:2px solid var(--theme-border);margin-bottom:28px;flex-wrap:wrap}
.tab-btn{flex:1;min-width:100px;padding:14px 16px;border:none;background:transparent;cursor:pointer;font-size:0.95rem;font-weight:600;color:var(--theme-text-secondary);font-family:inherit;position:relative;transition:all 0.3s;text-align:center}
.tab-btn:hover{color:var(--theme-primary)}
.tab-btn.active{color:var(--theme-primary)}
.tab-btn.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--theme-primary);border-radius:1px}
.tab-panel{display:none;animation:fadeSlideIn 0.4s ease}
.tab-panel.active{display:block}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ========== 图片画廊瀑布流 ========== */
.gallery-grid{columns:3;column-gap:16px}
.gallery-grid .gallery-item{break-inside:avoid;margin-bottom:16px;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform 0.3s;position:relative}
.gallery-grid .gallery-item:hover{transform:scale(1.02)}
.gallery-grid .gallery-item img{width:100%;display:block;border-radius:12px}
.gallery-grid .gallery-item .gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));color:#fff;padding:40px 16px 14px;font-size:0.85rem}
@media(max-width:768px){.gallery-grid{columns:2}}
@media(max-width:480px){.gallery-grid{columns:1}}

/* ========== 3D占位容器 ========== */
.viewer-3d-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden}
.viewer-3d-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,0.06) 0%,transparent 60%)}
.viewer-3d-placeholder:hover{transform:scale(1.01);box-shadow:0 20px 60px rgba(0,0,0,0.3)}

/* ========== 搜索筛选栏 ========== */
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px;padding:16px 20px;background:var(--theme-surface);border-radius:12px;border:1px solid var(--theme-border)}
.filter-bar select,.filter-bar input{padding:10px 14px;border:1.5px solid var(--theme-border);border-radius:8px;font-size:0.9rem;font-family:inherit;background:var(--theme-background);color:var(--theme-text);outline:none}
.filter-bar select:focus,.filter-bar input:focus{border-color:var(--theme-primary)}

/* ========== 响应式视频容器 ========== */
.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;background:#000}
.video-wrapper iframe,.video-wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}

/* ========== Toast提示 ========== */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--theme-primary);color:#fff;padding:14px 28px;border-radius:28px;font-weight:600;z-index:9999;box-shadow:0 8px 30px rgba(0,0,0,0.2);animation:fadeInUp 0.3s ease}
@keyframes fadeInUp{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}