/* poetry-discovery 页面样式 */

/* ======== 从 poetry-discovery.html 抽取的内联样式（2026-07-18） ======== */
/* 原 <style> 块 1 */
* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Noto Serif SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            color: #333;
            margin-top: 80px;
            padding-bottom: 100px;
        }
        
        /* 五星优化：添加页面加载动画 */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* 五星优化：添加内容卡片动画 */
        .poem-card, .discovery-card {
            animation: fadeInUp 0.6s ease-out;
        }
        
        .discovery-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px;
        }
        
        .page-header {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 20px;
            padding: 40px;
            margin-bottom: 30px;
            text-align: center;
            backdrop-filter: blur(10px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }
        
        .page-title {
            font-size: 48px;
            color: #2c3e50;
            margin-bottom: 15px;
            font-weight: bold;
        }
        
        .page-subtitle {
            font-size: 20px;
            color: #666;
            margin-bottom: 30px;
        }
        
        .search-section {
            max-width: 600px;
            margin: 0 auto;
            position: relative;
        }
        
        .advanced-search {
            display: flex;
            gap: 15px;
            background: white;
            padding: 15px;
            border-radius: 50px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }
        
        .search-input {
            flex: 1;
            border: none;
            outline: none;
            font-size: 16px;
            padding: 10px 20px;
            border-radius: 25px;
            background: #f8f9fa;
        }
        
        .search-btn {
            background: linear-gradient(135deg, #3498db, #2980b9);
            color: white;
            border: none;
            padding: 12px 30px;
            border-radius: 25px;
            cursor: pointer;
            font-size: 16px;
            transition: all 0.3s;
            position: relative;
            overflow: hidden;
        }
        
        .search-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4);
        }
        
        .search-btn:active {
            transform: scale(0.95);
        }
        
        .search-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s;
        }
        
        .search-btn:hover::before {
            left: 100%;
        }
        
        .filter-panel {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
        }
        
        .filter-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }
        
        .filter-tab {
            padding: 10px 20px;
            border: 2px solid #e0e0e0;
            background: white;
            border-radius: 25px;
            cursor: pointer;
            transition: all 0.3s;
            font-size: 14px;
        }
        
        .filter-tab.active {
            background: #3498db;
            color: white;
            border-color: #3498db;
        }
        
        .filter-tab:hover {
            border-color: #3498db;
        }
        
        .filter-content {
            display: none;
        }
        
        .filter-content.active {
            display: block;
        }
        
        .filter-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
        }
        
        .filter-group {
            background: #f8f9fa;
            padding: 15px;
            border-radius: 10px;
        }
        
        .filter-group h4 {
            margin-bottom: 10px;
            color: #2c3e50;
            font-size: 14px;
        }
        
        .filter-options {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }
        
        .filter-option {
            padding: 6px 12px;
            background: white;
            border: 1px solid #ddd;
            border-radius: 15px;
            cursor: pointer;
            font-size: 12px;
            transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            position: relative;
            overflow: hidden;
        }
        
        .filter-option:hover {
            background: #e8f4fd;
            border-color: #3498db;
            transform: translateY(-2px) scale(1.05);
        }
        
        .filter-option.selected {
            background: linear-gradient(135deg, #3498db, #2980b9);
            color: white;
            border-color: #3498db;
            transform: scale(1.05);
            box-shadow: 0 4px 15px rgba(52, 152, 219, 0.4);
            animation: optionSelect 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        
        @keyframes optionSelect {
            0% { transform: scale(1); }
            50% { transform: scale(1.15); }
            100% { transform: scale(1.05); }
        }
        
        .discovery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 25px;
            margin-bottom: 30px;
        }
        
        .poetry-card {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            backdrop-filter: blur(10px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
            cursor: pointer;
            position: relative;
            overflow: hidden;
            opacity: 0;
            transform: translateY(30px);
            animation: masonryEntry 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
        }
        
        .poetry-card:nth-child(1) { animation-delay: 0.05s; }
        .poetry-card:nth-child(2) { animation-delay: 0.1s; }
        .poetry-card:nth-child(3) { animation-delay: 0.15s; }
        .poetry-card:nth-child(4) { animation-delay: 0.2s; }
        .poetry-card:nth-child(5) { animation-delay: 0.25s; }
        .poetry-card:nth-child(6) { animation-delay: 0.3s; }
        .poetry-card:nth-child(7) { animation-delay: 0.35s; }
        .poetry-card:nth-child(8) { animation-delay: 0.4s; }
        
        @keyframes masonryEntry {
            from { opacity: 0; transform: translateY(30px) scale(0.95); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }
        
        .poetry-card:hover {
            transform: translateY(-8px) scale(1.02);
            box-shadow: 0 15px 35px rgba(0,0,0,0.2);
        }
        
        .poetry-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #3498db, #9b59b6, #e74c3c);
        }
        
        .poetry-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }
        
        .poetry-title {
            font-size: 20px;
            font-weight: bold;
            color: #2c3e50;
        }
        
        .poetry-author {
            font-size: 14px;
            color: #666;
            margin-bottom: 10px;
        }
        
        .poetry-content {
            background: #f8f9fa;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 15px;
            font-family: 'SimSun', serif;
            font-size: 16px;
            line-height: 2;
            position: relative;
        }
        
        .poetry-content::before {
            content: '"';
            position: absolute;
            top: -10px;
            left: 10px;
            font-size: 40px;
            color: #3498db;
            opacity: 0.3;
        }
        
        .poetry-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 12px;
            color: #666;
        }
        
        .poetry-tags {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
        }
        
        .tag {
            background: #e8f4fd;
            color: #3498db;
            padding: 3px 8px;
            border-radius: 10px;
            font-size: 10px;
        }
        
        .poetry-actions {
            display: flex;
            gap: 10px;
            margin-top: 15px;
        }
        
        .action-btn {
            padding: 8px 15px;
            border: none;
            border-radius: 20px;
            cursor: pointer;
            font-size: 12px;
            transition: all 0.3s;
        }
        
        .btn-primary {
            background: #3498db;
            color: white;
        }
        
        .btn-secondary {
            background: #f8f9fa;
            color: #666;
            border: 1px solid #ddd;
        }
        
        .action-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 3px 10px rgba(0,0,0,0.2);
        }
        
        .emotion-map {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
        }
        
        .emotion-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 15px;
            margin-top: 20px;
        }
        
        .emotion-card {
            text-align: center;
            padding: 20px;
            background: white;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.3s;
            position: relative;
            overflow: hidden;
        }
        
        .emotion-card:hover {
            transform: scale(1.05);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        
        .emotion-icon {
            font-size: 32px;
            margin-bottom: 10px;
        }
        
        .emotion-name {
            font-weight: bold;
            color: #2c3e50;
            margin-bottom: 5px;
        }
        
        .emotion-count {
            font-size: 12px;
            color: #666;
        }
        
        .theme-explorer {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
        }
        
        .theme-cloud {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 15px;
            margin-top: 20px;
        }
        
        .theme-tag {
            padding: 10px 20px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border-radius: 25px;
            cursor: pointer;
            transition: all 0.3s;
            font-size: 14px;
            position: relative;
            overflow: hidden;
        }
        
        .theme-tag:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
        }
        
        .theme-tag::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
            transition: left 0.5s;
        }
        
        .theme-tag:hover::before {
            left: 100%;
        }
        
        .trending-section {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
        }
        
        .trending-list {
            display: grid;
            gap: 15px;
            margin-top: 20px;
        }
        
        .trending-item {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 15px;
            background: white;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.3s;
        }
        
        .trending-item:hover {
            background: #f8f9fa;
            transform: translateX(5px);
        }
        
        .trending-rank {
            width: 30px;
            height: 30px;
            background: #3498db;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 14px;
        }
        
        .trending-rank.top {
            background: #e74c3c;
        }
        
        .trending-content {
            flex: 1;
        }
        
        .trending-title {
            font-weight: bold;
            color: #2c3e50;
            margin-bottom: 5px;
        }
        
        .trending-meta {
            font-size: 12px;
            color: #666;
        }
        
        .personalized-recommendations {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            backdrop-filter: blur(10px);
        }
        
        .recommendation-carousel {
            display: flex;
            gap: 20px;
            overflow-x: auto;
            padding: 10px 0;
            scroll-behavior: smooth;
        }
        
        .recommendation-card {
            min-width: 300px;
            background: white;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 3px 10px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }
        
        .recommendation-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.15);
        }
        
        .loading-spinner {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 60px;
            color: #666;
        }
        
        .spinner {
            width: 40px;
            height: 40px;
            border: 4px solid #f3f3f3;
            border-top: 4px solid #3498db;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin-right: 15px;
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        .no-results {
            text-align: center;
            padding: 60px;
            color: #666;
        }
        
        .no-results-icon {
            font-size: 64px;
            margin-bottom: 20px;
            opacity: 0.5;
        }
        
        .pagination {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 30px;
        }
        
        .page-btn {
            padding: 10px 15px;
            border: 1px solid #ddd;
            background: white;
            color: #666;
            cursor: pointer;
            border-radius: 5px;
            transition: all 0.3s;
        }
        
        .page-btn:hover {
            background: #f8f9fa;
        }
        
        .page-btn.active {
            background: #3498db;
            color: white;
            border-color: #3498db;
        }
        
        .page-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
        
        /* ====== 增强交互效果 ====== */
        
        /* 诗词卡片翻转效果 */
        .poetry-card {
            perspective: 1000px;
            transform-style: preserve-3d;
        }
        
        .poetry-card-inner {
            position: relative;
            width: 100%;
            height: 100%;
            transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            transform-style: preserve-3d;
        }
        
        .poetry-card:hover .poetry-card-inner {
            transform: rotateY(180deg);
        }
        
        .poetry-card-front,
        .poetry-card-back {
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            border-radius: 15px;
        }
        
        .poetry-card-back {
            transform: rotateY(180deg);
            background: linear-gradient(135deg, #2c3e50, #34495e);
            color: white;
            padding: 25px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        
        /* 水墨风格搜索框 */
        .search-input {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            border: 2px solid transparent;
        }
        
        .search-input:focus {
            background: white;
            border-color: #8B4513;
            box-shadow: 0 0 20px rgba(139, 69, 19, 0.2);
            transform: scale(1.02);
        }
        
        /* 搜索按钮水墨效果 */
        .search-btn {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #8B4513, #DAA520);
        }
        
        .search-btn::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s ease-out, height 0.6s ease-out;
        }
        
        .search-btn:active::before {
            width: 300%;
            height: 300%;
        }
        
        /* 搜索建议淡入动画 */
        #search-suggestions {
            animation: suggestionsFadeIn 0.3s ease-out;
        }
        
        @keyframes suggestionsFadeIn {
            0% {
                opacity: 0;
                transform: translateY(-10px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* 搜索历史标签 */
        .history-tag {
            padding: 6px 12px;
            background: #f0f0f0;
            border-radius: 15px;
            font-size: 12px;
            cursor: pointer;
            transition: all 0.3s;
        }
        
        .history-tag:hover {
            background: #8B4513;
            color: white;
        }
        
        /* 热门搜索标签 */
        .hot-tag {
            padding: 6px 12px;
            background: linear-gradient(135deg, #FF6B6B, #FF8E53);
            color: white;
            border-radius: 15px;
            font-size: 12px;
            cursor: pointer;
            transition: all 0.3s;
        }
        
        .hot-tag:hover {
            transform: scale(1.1);
            box-shadow: 0 3px 10px rgba(255, 107, 107, 0.4);
        }
        
        /* 标签页切换动画 */
        .filter-content {
            animation: filterFadeIn 0.3s ease-out;
        }
        
        @keyframes filterFadeIn {
            0% {
                opacity: 0;
                transform: translateY(10px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* 情感卡片脉冲效果 */
        .emotion-card {
            animation: emotionPulse 3s ease-in-out infinite;
        }
        
        .emotion-card:nth-child(2) { animation-delay: 0.3s; }
        .emotion-card:nth-child(3) { animation-delay: 0.6s; }
        .emotion-card:nth-child(4) { animation-delay: 0.9s; }
        
        @keyframes emotionPulse {
            0%, 100% {
                box-shadow: 0 0 0 0 rgba(52, 152, 219, 0.4);
            }
            50% {
                box-shadow: 0 0 0 10px rgba(52, 152, 219, 0);
            }
        }
        
        /* 主题标签旋转效果 */
        .theme-tag {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .theme-tag:hover {
            transform: translateY(-5px) rotate(-3deg);
        }
        
        /* 趋势列表项动画 */
        .trending-item {
            animation: trendingSlideIn 0.4s ease-out backwards;
        }
        
        .trending-item:nth-child(1) { animation-delay: 0.05s; }
        .trending-item:nth-child(2) { animation-delay: 0.1s; }
        .trending-item:nth-child(3) { animation-delay: 0.15s; }
        .trending-item:nth-child(4) { animation-delay: 0.2s; }
        .trending-item:nth-child(5) { animation-delay: 0.25s; }
        
        @keyframes trendingSlideIn {
            0% {
                opacity: 0;
                transform: translateX(-20px);
            }
            100% {
                opacity: 1;
                transform: translateX(0);
            }
        }
        
        /* 推荐卡片滚动吸附 */
        .recommendation-carousel {
            scroll-snap-type: x mandatory;
        }
        
        .recommendation-card {
            scroll-snap-align: center;
        }
        
        /* 分页按钮波纹效果 */
        .page-btn {
            position: relative;
            overflow: hidden;
        }
        
        .page-btn::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.4s ease-out, height 0.4s ease-out;
        }
        
        .page-btn:active::after {
            width: 200%;
            height: 200%;
        }
        
        /* 页面头部背景动画 */
        .page-header {
            position: relative;
            overflow: hidden;
        }
        
        .page-header::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle at 30% 40%, rgba(139, 69, 19, 0.05) 0%, transparent 50%),
                        radial-gradient(circle at 70% 60%, rgba(218, 165, 32, 0.05) 0%, transparent 50%);
            animation: headerBgRotate 20s linear infinite;
        }
        
        @keyframes headerBgRotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        
        @media (max-width: 768px) {
            .discovery-container {
                padding: 15px;
            }
            
            .page-title {
                font-size: 32px;
            }
            
            .advanced-search {
                flex-direction: column;
                border-radius: 15px;
            }
            
            .filter-grid {
                grid-template-columns: 1fr;
            }
            
            .discovery-grid {
                grid-template-columns: 1fr;
            }
            
            .emotion-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .trending-item {
                flex-direction: column;
                text-align: center;
            }
            
            .recommendation-carousel {
                flex-direction: column;
            }
            
            .recommendation-card {
                min-width: auto;
            }
        }
        
        /* ====== 增强交互效果 ====== */
        
        /* 页面标题动画 */
        .page-title {
            animation: titleFadeIn 1s ease-out;
            background: linear-gradient(135deg, #8B4513, #DAA520);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        @keyframes titleFadeIn {
            0% { opacity: 0; transform: translateY(-30px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        
        /* 副标题动画 */
        .page-subtitle {
            animation: subtitleFadeIn 0.8s ease-out 0.3s backwards;
        }
        
        @keyframes subtitleFadeIn {
            0% { opacity: 0; transform: translateY(20px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        
        /* 搜索框聚焦效果 */
        .search-input {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .search-input:focus {
            border-color: #DAA520;
            box-shadow: 0 0 0 3px rgba(218, 165, 32, 0.2);
            transform: translateY(-2px);
        }
        
        /* 搜索按钮悬浮 */
        .search-btn {
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        
        .search-btn:hover {
            background: #DAA520;
            transform: scale(1.05);
        }
        
        .search-btn::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.4s ease-out, height 0.4s ease-out;
        }
        
        .search-btn:active::after {
            width: 200%;
            height: 200%;
        }
        
        /* 标签悬浮效果 */
        .filter-tag {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .filter-tag:hover {
            transform: translateY(-3px) scale(1.05);
            box-shadow: 0 5px 15px rgba(139, 69, 19, 0.2);
        }
        
        .filter-tag.active {
            animation: tagActive 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        }
        
        @keyframes tagActive {
            0% { transform: scale(0.8); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }
        
        /* 情感标签动画 */
        .emotion-tag {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            animation: emotionPulse 2s ease-in-out infinite;
        }
        
        .emotion-tag:nth-child(odd) { animation-delay: 0.5s; }
        
        @keyframes emotionPulse {
            0%, 100% { opacity: 0.8; }
            50% { opacity: 1; }
        }
        
        .emotion-tag:hover {
            transform: scale(1.1);
        }
        
        /* 诗词卡片入场动画 */
        .discovery-card {
            animation: cardSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) backwards;
        }
        
        .discovery-card:nth-child(1) { animation-delay: 0.1s; }
        .discovery-card:nth-child(2) { animation-delay: 0.2s; }
        .discovery-card:nth-child(3) { animation-delay: 0.3s; }
        .discovery-card:nth-child(4) { animation-delay: 0.4s; }
        .discovery-card:nth-child(5) { animation-delay: 0.5s; }
        .discovery-card:nth-child(6) { animation-delay: 0.6s; }
        
        @keyframes cardSlideIn {
            0% { opacity: 0; transform: translateY(30px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        
        /* 卡片悬浮效果 */
        .discovery-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .discovery-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 40px rgba(139, 69, 19, 0.18);
        }
        
        /* 诗人名字渐变 */
        .card-poet {
            background: linear-gradient(135deg, #8B4513, #DAA520);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        /* 诗词预览动画 */
        .card-preview {
            animation: poemFadeIn 0.6s ease-out 0.2s backwards;
        }
        
        @keyframes poemFadeIn {
            0% { opacity: 0; transform: translateY(10px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        
        /* 收藏按钮心跳 */
        .favorite-btn {
            transition: all 0.3s ease;
        }
        
        .favorite-btn:hover {
            transform: scale(1.2);
        }
        
        .favorite-btn.active {
            animation: heartBeat 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            color: #b91c1c;
        }
        
        @keyframes heartBeat {
            0% { transform: scale(1); }
            50% { transform: scale(1.3); }
            100% { transform: scale(1); }
        }
        
        /* 热度标签动画 */
        .trending-tag {
            animation: trendingPulse 2s ease-in-out infinite;
        }
        
        @keyframes trendingPulse {
            0%, 100% { opacity: 0.8; }
            50% { opacity: 1; }
        }
        
        /* 趋势项入场 */
        .trending-item {
            animation: trendingSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) backwards;
        }
        
        .trending-item:nth-child(1) { animation-delay: 0.1s; }
        .trending-item:nth-child(2) { animation-delay: 0.2s; }
        .trending-item:nth-child(3) { animation-delay: 0.3s; }
        
        @keyframes trendingSlideIn {
            0% { opacity: 0; transform: translateX(-20px); }
            100% { opacity: 1; transform: translateX(0); }
        }
        
        /* 趋势项悬浮 */
        .trending-item {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .trending-item:hover {
            transform: translateX(10px);
            border-left: 4px solid #DAA520;
        }
        
        /* 推荐卡片动画 */
        .recommendation-card {
            animation: recommendSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) backwards;
        }
        
        @keyframes recommendSlideIn {
            0% { opacity: 0; transform: scale(0.9); }
            100% { opacity: 1; transform: scale(1); }
        }
        
        /* 推荐卡片悬浮 */
        .recommendation-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .recommendation-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(139, 69, 19, 0.15);
        }
        
        /* 轮播按钮动画 */
        .carousel-btn {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .carousel-btn:hover {
            background: #DAA520;
            transform: scale(1.1);
        }
        
        /* 统计数字动画 */
        .stat-number {
            animation: numberPop 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            background: linear-gradient(135deg, #8B4513, #DAA520);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        @keyframes numberPop {
            0% { opacity: 0; transform: scale(0.5); }
            50% { transform: scale(1.2); }
            100% { opacity: 1; transform: scale(1); }
        }
        
        /* 返回顶部按钮 */
        .back-to-top {
            position: fixed;
            bottom: 120px;
            right: 30px;
            background: #8B4513;
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            text-decoration: none;
            opacity: 0;
            transition: all 0.3s ease;
            z-index: 1000;
        }
        
        .back-to-top.show {
            opacity: 1;
            animation: btnBounce 0.5s ease-out;
        }
        
        @keyframes btnBounce {
            0% { transform: scale(0); }
            50% { transform: scale(1.2); }
            100% { transform: scale(1); }
        }
        
        .back-to-top:hover {
            background: #DAA520;
            transform: translateY(-5px);
        }
        
        /* 导航链接动画 */
        .nav-link {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
        }
        
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: linear-gradient(90deg, #DAA520, #FFD700);
            transition: width 0.3s ease;
        }
        
        .nav-link:hover::after {
            width: 100%;
        }
        
        .nav-link:hover {
            color: #DAA520;
            transform: translateY(-2px);
        }

/* 原 <style> 块 2 */
.scroll-to-top {
            position: fixed;
            bottom: 100px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, #8B4513, #D2691E);
            color: white;
            border: none;
            border-radius: 50%;
            cursor: pointer;
            font-size: 24px;
            display: none;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
            z-index: 999;
        }
        
        .scroll-to-top:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 16px rgba(139, 69, 19, 0.4);
        }
        
        .scroll-to-top.show {
            display: flex;
        }
        
        @media (max-width: 768px) {
            .scroll-to-top {
                bottom: 90px;
                right: 20px;
                width: 45px;
                height: 45px;
                font-size: 20px;
            }
        }

/* 原 <style> 块 3 */
.tang-bottom-nav {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      background: linear-gradient(135deg, #8B4513 0%, #A0522D 50%, #8B4513 100%);
      border-top: 4px solid #FFD700;
      box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
      padding: 8px 0;
    }

    .bottom-nav-container {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 10px;
    }

    .nav-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 8px 10px;
      color: #FFD700;
      text-decoration: none;
      border-radius: 8px;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 215, 0, 0.3);
      position: relative;
      overflow: hidden;
      font-family: "SimSun", "STSong", serif;
    }

    .nav-item::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
      transition: left 0.5s;
    }

    .nav-item:hover::before {
      left: 100%;
    }

    .nav-item:hover {
      background: linear-gradient(135deg, #DAA520, #FFD700);
      color: #5D4037;
      border-color: #FFD700;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
    }

    .nav-item.special-link {
      background: linear-gradient(135deg, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.3));
      border-color: #FFD700;
      animation: glow 2s infinite;
    }

    .nav-item.special-link:hover {
      background: linear-gradient(135deg, #FFD700, #FFA500);
      animation: none;
    }

    @keyframes glow {
      0%, 100% { box-shadow: 0 0 5px #FFD700; }
      50% { box-shadow: 0 0 20px #FFD700, 0 0 30px #FFA500; }
    }

    .nav-icon {
      font-size: 18px;
      margin-bottom: 2px;
    }

    .nav-text {
      font-size: 11px;
      font-weight: 500;
      white-space: nowrap;
    }

    body {
      padding-bottom: 90px;
    }

/* 原内联 style 属性（已转为 class） */
.ih-py5t0 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    padding: 15px;
    margin-top: 10px;
    z-index: 1000;
}

.ih-1y8msbs {
    margin-bottom: 15px;
}

.ih-8aaixp {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.ih-1e8cjrl {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ih-qfysfb {
    text-align: center;
    color: #666;
    padding: 20px;
}

.ih-ci61i7 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 10px;
}

.ih-fui1tc {
    text-align: center;
    color: #666;
    margin-bottom: 20px;
}

.ih-pdbjr4 {
    display: none;
}
