@charset "UTF-8";.layout-default{display:flex;flex-direction:column;min-height:100vh}.layout-default .container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}.layout-default .header{background-color:#fff;box-shadow:0 2px 8px #0000001a;padding:15px 0}.layout-default .header .container{display:flex;align-items:center;justify-content:space-between}.layout-default .header .logo{font-size:24px;font-weight:700}.layout-default .header .logo a{color:#333;text-decoration:none;transition:color .3s}.layout-default .header .logo a:hover{color:#1890ff}.layout-default .header .nav ul{display:flex;list-style:none;margin:0;padding:0}.layout-default .header .nav ul li{margin-left:20px}.layout-default .header .nav ul li a{color:#666;text-decoration:none;font-size:16px;padding:5px 0;position:relative;transition:color .3s}.layout-default .header .nav ul li a:hover,.layout-default .header .nav ul li a.active{color:#1890ff}.layout-default .header .nav ul li a.active:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:2px;background-color:#1890ff}.layout-default .main{flex:1;padding:30px 0}.layout-default .footer{background-color:#f7f7f7;padding:20px 0;text-align:center;color:#666}.home-page .hero{text-align:center;padding:60px 0;background-color:#f9f9f9;border-radius:8px;margin-bottom:40px}.home-page .hero h1{font-size:36px;margin-bottom:16px;color:#333}.home-page .hero p{font-size:18px;color:#666;margin-bottom:30px}.home-page .hero .actions{display:flex;justify-content:center;gap:16px}.home-page .hero .actions .btn-primary,.home-page .hero .actions .btn-secondary{display:inline-block;padding:12px 24px;border-radius:4px;font-weight:500;text-decoration:none;transition:all .3s ease}.home-page .hero .actions .btn-primary{background-color:#1890ff;color:#fff}.home-page .hero .actions .btn-primary:hover{background-color:#0c77e6}.home-page .hero .actions .btn-secondary{background-color:transparent;color:#1890ff;border:1px solid #1890ff}.home-page .hero .actions .btn-secondary:hover{background-color:#1890ff1a}.home-page .features{margin-bottom:40px}.home-page .features h2{text-align:center;font-size:28px;margin-bottom:30px;color:#333}.home-page .features .feature-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.home-page .features .feature-list .feature-item{padding:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.home-page .features .feature-list .feature-item:hover{transform:translateY(-5px)}.home-page .features .feature-list .feature-item h3{font-size:20px;margin-bottom:12px;color:#333}.home-page .features .feature-list .feature-item p{color:#666}.home-page .latest-articles h2{text-align:center;font-size:28px;margin-bottom:30px;color:#333}.home-page .latest-articles .loading{text-align:center;padding:40px 0;color:#666}.home-page .latest-articles .no-data{text-align:center;padding:40px 0;color:#999}.home-page .latest-articles .article-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:30px}.home-page .latest-articles .article-list .article-card{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.home-page .latest-articles .article-list .article-card:hover{transform:translateY(-5px)}.home-page .latest-articles .article-list .article-card h3{font-size:18px;margin-bottom:12px;color:#333}.home-page .latest-articles .article-list .article-card p{color:#666;margin-bottom:16px}.home-page .latest-articles .article-list .article-card .read-more{color:#1890ff;text-decoration:none;font-weight:500}.home-page .latest-articles .article-list .article-card .read-more:hover{text-decoration:underline}.home-page .latest-articles .view-all{text-align:center}.home-page .latest-articles .view-all .btn-link{color:#1890ff;text-decoration:none;font-weight:500;font-size:16px}.home-page .latest-articles .view-all .btn-link:hover{text-decoration:underline}.about-page .about-section{background-color:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 8px #0000001a}.about-page .about-section h1{font-size:32px;color:#333;margin-bottom:20px;text-align:center}.about-page .about-section .intro{font-size:18px;color:#666;line-height:1.6;margin-bottom:40px;text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.about-page .about-section .about-content h2{font-size:24px;color:#333;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.about-page .about-section .about-content p{font-size:16px;color:#666;line-height:1.6;margin-bottom:20px}.about-page .about-section .about-content .tech-stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:20px}.about-page .about-section .about-content .tech-stack .tech-item{background-color:#f9f9f9;border-radius:8px;padding:20px}.about-page .about-section .about-content .tech-stack .tech-item h3{font-size:18px;color:#333;margin-bottom:15px}.about-page .about-section .about-content .tech-stack .tech-item ul{padding-left:20px}.about-page .about-section .about-content .tech-stack .tech-item ul li{margin-bottom:8px;color:#666}.about-page .about-section .about-content .team-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;margin-bottom:30px}.about-page .about-section .about-content .team-members .member-card{background-color:#f9f9f9;border-radius:8px;padding:20px;text-align:center;transition:transform .3s ease}.about-page .about-section .about-content .team-members .member-card:hover{transform:translateY(-5px)}.about-page .about-section .about-content .team-members .member-card .avatar{font-size:48px;margin-bottom:15px}.about-page .about-section .about-content .team-members .member-card h3{font-size:18px;color:#333;margin-bottom:5px}.about-page .about-section .about-content .team-members .member-card p{color:#666;margin-bottom:0}.about-page .about-section .about-content .contact-info{background-color:#f9f9f9;border-radius:8px;padding:20px}.about-page .about-section .about-content .contact-info p{margin-bottom:10px}.about-page .about-section .about-content .contact-info p:last-child{margin-bottom:0}.articles-page h1{font-size:32px;margin-bottom:30px;color:#333;text-align:center}.articles-page .loading,.articles-page .no-data{text-align:center;padding:40px 0;color:#666;font-size:16px}.articles-page .article-list .article-item{background-color:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.articles-page .article-list .article-item:hover{transform:translateY(-5px)}.articles-page .article-list .article-item .article-title{font-size:22px;margin-bottom:12px}.articles-page .article-list .article-item .article-title a{color:#333;text-decoration:none;transition:color .3s}.articles-page .article-list .article-item .article-title a:hover{color:#1890ff}.articles-page .article-list .article-item .article-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:14px;color:#999}.articles-page .article-list .article-item .article-meta .article-date,.articles-page .article-list .article-item .article-meta .article-author,.articles-page .article-list .article-item .article-meta .article-category{display:inline-flex;align-items:center}.articles-page .article-list .article-item .article-summary{color:#666;line-height:1.6;margin-bottom:16px}.articles-page .article-list .article-item .read-more{display:inline-block;color:#1890ff;text-decoration:none;font-weight:500}.articles-page .article-list .article-item .read-more:hover{text-decoration:underline}.articles-page .pagination{display:flex;justify-content:center;align-items:center;margin-top:40px}.articles-page .pagination .page-prev,.articles-page .pagination .page-next{padding:8px 16px;border:1px solid #d9d9d9;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .3s}.articles-page .pagination .page-prev:hover:not(:disabled),.articles-page .pagination .page-next:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.articles-page .pagination .page-prev:disabled,.articles-page .pagination .page-next:disabled{color:#d9d9d9;cursor:not-allowed}.articles-page .pagination .page-numbers{display:flex;align-items:center;margin:0 16px}.articles-page .pagination .page-numbers .page-item{min-width:32px;height:32px;line-height:32px;text-align:center;margin:0 4px;border:1px solid #d9d9d9;border-radius:4px;background-color:#fff;cursor:pointer;transition:all .3s}.articles-page .pagination .page-numbers .page-item:hover{color:#1890ff;border-color:#1890ff}.articles-page .pagination .page-numbers .page-item.active{color:#fff;background-color:#1890ff;border-color:#1890ff}.articles-page .pagination .page-numbers .ellipsis{margin:0 4px;color:#999}.article-detail{background-color:#fff;border-radius:8px;padding:32px;box-shadow:0 2px 8px #0000001a}.article-detail-loading,.article-detail-error{text-align:center;padding:60px 0;font-size:16px;color:#666}.article-detail-error{color:#f5222d}.article-detail .article-header{margin-bottom:24px}.article-detail .article-header .article-title{font-size:32px;color:#333;margin-bottom:16px}.article-detail .article-header .article-meta{display:flex;flex-wrap:wrap;gap:16px;color:#666;font-size:14px}.article-detail .article-header .article-meta .article-author,.article-detail .article-header .article-meta .article-date,.article-detail .article-header .article-meta .article-category{display:inline-flex;align-items:center}.article-detail .article-header .article-meta .article-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.article-detail .article-header .article-meta .article-tags .tag{background-color:#f0f2f5;color:#1890ff;padding:2px 8px;border-radius:4px;font-size:12px}.article-detail .article-cover{margin-bottom:24px;border-radius:8px;overflow:hidden}.article-detail .article-cover img{width:100%;max-height:400px;object-fit:cover}.article-detail .article-content{font-size:16px;line-height:1.8;color:#333;margin-bottom:40px}.article-detail .article-content p{margin-bottom:16px}.article-detail .article-content h1,.article-detail .article-content h2,.article-detail .article-content h3,.article-detail .article-content h4,.article-detail .article-content h5,.article-detail .article-content h6{margin-top:24px;margin-bottom:16px;color:#333}.article-detail .article-content a{color:#1890ff;text-decoration:none}.article-detail .article-content a:hover{text-decoration:underline}.article-detail .article-content img{max-width:100%;margin:16px 0;border-radius:4px}.article-detail .article-content blockquote{margin:16px 0;padding:8px 16px;border-left:4px solid #1890ff;background-color:#f9f9f9;color:#666}.article-detail .article-content code{background-color:#f0f2f5;padding:2px 4px;border-radius:4px;font-family:monospace}.article-detail .article-content pre{background-color:#f0f2f5;padding:16px;border-radius:4px;overflow-x:auto;margin:16px 0}.article-detail .article-content pre code{background-color:transparent;padding:0}.article-detail .article-footer{display:flex;justify-content:space-between;align-items:center;padding-top:24px;margin-top:24px;border-top:1px solid #f0f0f0}.article-detail .article-footer .article-actions{display:flex;gap:16px}.article-detail .article-footer .article-actions .btn-like,.article-detail .article-footer .article-actions .btn-share{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:#666;cursor:pointer;transition:color .3s}.article-detail .article-footer .article-actions .btn-like:hover,.article-detail .article-footer .article-actions .btn-share:hover{color:#1890ff}.article-detail .article-footer .article-actions .btn-like .icon,.article-detail .article-footer .article-actions .btn-share .icon{font-size:20px}.article-detail .article-footer .article-navigation .btn-back{display:inline-block;padding:8px 16px;background-color:#f0f2f5;color:#666;border-radius:4px;text-decoration:none;transition:all .3s}.article-detail .article-footer .article-navigation .btn-back:hover{background-color:#e6f7ff;color:#1890ff}.article-detail .article-comments{margin-top:40px;padding-top:24px;border-top:1px solid #f0f0f0}.article-detail .article-comments h3{font-size:20px;color:#333;margin-bottom:24px}.article-detail .article-comments .comments-list .comment-item{padding:16px;border-radius:8px;background-color:#f9f9f9;margin-bottom:16px}.article-detail .article-comments .comments-list .comment-item .comment-author{font-weight:500;color:#333;margin-bottom:4px}.article-detail .article-comments .comments-list .comment-item .comment-date{font-size:12px;color:#999;margin-bottom:8px}.article-detail .article-comments .comments-list .comment-item .comment-content{color:#666;line-height:1.6}.ai-chat-container{display:flex;flex-direction:column;height:100%;max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.ai-chat-container .ai-chat-header{display:flex;flex-direction:column;padding:15px;background-color:#f0f0f0;border-radius:10px 10px 0 0;border-bottom:1px solid #ddd}.ai-chat-container .ai-chat-header h2{margin:0 0 15px;color:#333;text-align:center}.ai-chat-container .ai-chat-settings{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:10px 0}.ai-chat-container .ai-chat-settings button{padding:8px 15px;background-color:#4285f4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.ai-chat-container .ai-chat-settings button:hover{background-color:#3367d6}.ai-chat-container .api-key-input{display:flex;flex-grow:1;max-width:500px}.ai-chat-container .api-key-input input{flex-grow:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px 0 0 4px;font-size:14px}.ai-chat-container .api-key-input button{padding:8px 15px;background-color:#4285f4;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;font-size:14px}.ai-chat-container .api-key-input button:hover{background-color:#3367d6}.ai-chat-container .model-selector select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:200px}.ai-chat-container .reasoning-toggle-label{display:flex;align-items:center;gap:5px;font-size:14px;cursor:pointer}.ai-chat-container .ai-chat-messages{flex-grow:1;overflow-y:auto;padding:15px;background-color:#fff;border-left:1px solid #ddd;border-right:1px solid #ddd;min-height:300px;max-height:600px}.ai-chat-container .ai-chat-messages .empty-chat{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-style:italic;text-align:center}.ai-chat-container .ai-chat-messages .message{margin-bottom:15px;padding:10px;border-radius:8px;max-width:80%;position:relative;word-wrap:break-word}.ai-chat-container .ai-chat-messages .message.user-message{margin-left:auto;background-color:#dcf8c6;border-radius:8px 0 8px 8px}.ai-chat-container .ai-chat-messages .message.ai-message{margin-right:auto;background-color:#f0f0f0;border-radius:0 8px 8px}.ai-chat-container .ai-chat-messages .message.ai-message .reasoning-section{border-radius:8px;padding:1rem}.ai-chat-container .ai-chat-messages .message.ai-message .reasoning-section .reasoning-header{margin-bottom:.5rem}.ai-chat-container .ai-chat-messages .message.ai-message .reasoning-section .reasoning-header .reasoning-title{font-weight:600;color:#666;font-size:.9rem}.ai-chat-container .ai-chat-messages .message.ai-message .message-content{background-color:#f0f2f5;padding:1rem;border-radius:8px}.ai-chat-container .ai-chat-messages .message .message-content{line-height:1.5}.ai-chat-container .ai-chat-messages .message .message-content.loading{opacity:.7;display:flex;align-items:center}.ai-chat-container .ai-chat-messages .message .message-content.loading:after{content:"•••";animation:dots 1.5s steps(5,end) infinite;width:30px;display:inline-block}.ai-chat-container .ai-chat-messages .error-message{color:#d93025;padding:10px;margin:10px 0;background-color:#fce8e6;border-radius:4px;text-align:center}.ai-chat-container .reasoning-chain{margin-top:10px;font-size:14px}.ai-chat-container .reasoning-chain .reasoning-toggle{display:inline-flex;align-items:center;background-color:#e6e6e6;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px;color:#555}.ai-chat-container .reasoning-chain .reasoning-toggle:hover{background-color:#d9d9d9}.ai-chat-container .reasoning-chain .reasoning-toggle .toggle-icon{margin-left:5px;transition:transform .2s}.ai-chat-container .reasoning-chain .reasoning-toggle .toggle-icon.expanded{transform:rotate(180deg)}.ai-chat-container .reasoning-chain .reasoning-content{margin-top:8px;padding:10px;background-color:#f9f9f9;border-radius:3px;border-left:3px solid #4285f4}.ai-chat-container .reasoning-chain .reasoning-content pre{margin:0;white-space:pre-wrap;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.4;color:#333}.ai-chat-container .ai-chat-input{display:flex;padding:15px;background-color:#f0f0f0;border-radius:0 0 10px 10px;border:1px solid #ddd}.ai-chat-container .ai-chat-input textarea{flex-grow:1;min-height:60px;resize:none;padding:10px;border:1px solid #ccc;border-radius:4px 0 0 4px;font-family:inherit;font-size:14px}.ai-chat-container .ai-chat-input button{width:80px;background-color:#4285f4;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;font-size:14px}.ai-chat-container .ai-chat-input button:hover:not(:disabled){background-color:#3367d6}.ai-chat-container .ai-chat-input button:disabled{background-color:#a2b9e6;cursor:not-allowed}@keyframes dots{0%,20%{content:""}40%{content:"•"}60%{content:"••"}80%,to{content:"•••"}}@media (max-width: 768px){.ai-chat-container{padding:10px}.ai-chat-container .message{max-width:90%}.ai-chat-container .ai-chat-settings{flex-direction:column;align-items:stretch}.ai-chat-container .api-key-input{max-width:100%}.ai-chat-container .model-selector select{width:100%}}.ai-page{padding:20px;max-width:1200px;margin:0 auto}.ai-page .page-title{text-align:center;margin-bottom:10px;color:var(--primary-color)}.ai-page .page-description{text-align:center;margin-bottom:30px;color:#666;max-width:800px;margin-left:auto;margin-right:auto}.ai-page .ai-chat-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;margin-bottom:40px}@media (max-width: 768px){.ai-page{padding:10px}.ai-page .page-title{font-size:1.5rem}.ai-page .page-description{font-size:.9rem}}.not-found{text-align:center;padding:100px 20px;background-color:#f9f9f9;border-radius:8px}.not-found h1{font-size:48px;color:#333;margin-bottom:20px}.not-found p{font-size:18px;color:#666;margin-bottom:30px}.not-found .btn-primary{display:inline-block;padding:12px 24px;background-color:#1890ff;color:#fff;border-radius:4px;text-decoration:none;transition:background-color .3s ease}.not-found .btn-primary:hover{background-color:#0c77e6}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #4285f4;--secondary-color: #3367d6;--text-color: #333;--light-bg: #f8f9fa;--border-color: #ddd;--error-color: #d93025;--success-color: #0f9d58}html,body{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-color);background-color:var(--light-bg)}#root{height:100%;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100%;width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.5}a{color:#1890ff;text-decoration:none;transition:color .3s}a:hover{color:#40a9ff}.container{max-width:1200px;margin:0 auto;padding:0 15px}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;cursor:pointer}.btn:focus,.btn:hover{text-decoration:none}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{color:#fff;background-color:#1890ff;border-color:#1890ff}.btn-primary:hover{background-color:#0c77e6;border-color:#0c77e6}.btn-secondary{color:#1890ff;background-color:transparent;border-color:#1890ff}.btn-secondary:hover{background-color:#1890ff1a}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}p{margin-bottom:1rem}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}@media (max-width: 576px){.container{max-width:100%}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}
