 *{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#2563eb;--secondary-color:#1e40af;--accent-color:#3b82f6;--text-color:#1f2937;--text-light:#6b7280;--bg-color:#f9fafb;--card-bg:#ffffff;--border-color:#e5e7eb;--hover-color:#eff6ff;--shadow:0 1px 3px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1)}body{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', '微软雅黑', sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-color)}.container{max-width:1400px;margin:0 auto;padding:0 20px}header{background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);color:white;padding:40px 0 30px;box-shadow:var(--shadow-lg)}.logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:10px}.logo-icon{font-size:48px}header h1{font-size:32px;font-weight:700}.tagline{text-align:center;font-size:16px;opacity:0.95;margin-top:8px}.ad-container{background:var(--card-bg);padding:20px;margin:20px auto;border-radius:8px;box-shadow:var(--shadow)}.ad-header{max-width:780px}.ad-content{margin:30px 0}.ad-placeholder{text-align:center}.ad-label{font-size:12px;color:var(--text-light);margin-bottom:8px;text-transform:uppercase}.ad-demo{background:linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);border:2px dashed var(--border-color);border-radius:6px;padding:40px 20px;color:var(--text-light);font-size:14px;min-height:90px;display:flex;align-items:center;justify-content:center}.ad-demo-vertical{min-height:600px;writing-mode:vertical-rl;text-orientation:mixed}.ad-sidebar{position:sticky;top:20px}.search-section{background:white;padding:30px 0;box-shadow:var(--shadow)}.search-input{width:100%;max-width:600px;padding:14px 24px;font-size:16px;border:2px solid var(--border-color);border-radius:50px;outline:none;transition:all 0.3s ease;display:block;margin:0 auto}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(37, 99, 235, 0.1)}.news-section{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);padding:30px 0;margin:0}.hackernews-section{background:linear-gradient(135deg, #ff6600 0%, #ff8533 100%);padding:30px 0;margin:0}.hackernews-section .news-header{background:linear-gradient(135deg, #ff6600 0%, #ff8533 100%)}.hackernews-section .news-number{background:linear-gradient(135deg, #ff6600 0%, #ff8533 100%)}.hn-meta{display:flex;gap:15px;margin-top:8px;font-size:13px;color:var(--text-light)}.hn-score{color:#ff6600;font-weight:600}.hn-author{color:var(--text-light)}.hn-time{color:var(--text-light)}.news-container{background:white;border-radius:16px;box-shadow:0 10px 30px rgba(0, 0, 0, 0.15);overflow:hidden}.news-header{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.news-title{font-size:22px;font-weight:700;margin:0}.news-date{font-size:14px;opacity:0.9;background:rgba(255, 255, 255, 0.2);padding:5px 15px;border-radius:20px}.news-content{padding:25px 30px;min-height:200px}.news-loading{text-align:center;padding:40px 20px;color:var(--text-light)}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.news-list{list-style:none;padding:0;margin:0}.news-item{padding:12px 0;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;transition:all 0.3s ease}.news-item:last-child{border-bottom:none}.news-item:hover{background:var(--hover-color);padding-left:10px;margin-left:-10px;padding-right:10px;margin-right:-10px;border-radius:6px}.news-number{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;min-width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;margin-right:12px;flex-shrink:0}.news-content-wrapper{flex:1}.news-link{text-decoration:none;color:inherit;display:block}.news-title-text{font-size:16px;font-weight:600;color:var(--text-color);line-height:1.5;margin:0 0 8px 0;transition:color 0.3s ease}.news-link:hover .news-title-text{color:var(--primary-color)}.news-detail{font-size:14px;color:var(--text-light);line-height:1.7;margin:8px 0}.news-source-tag{display:inline-block;font-size:12px;color:#8b5cf6;background:rgba(139, 92, 246, 0.1);padding:3px 10px;border-radius:12px;margin-top:8px}.news-text{flex:1;line-height:1.7;color:var(--text-color);font-size:15px}.news-empty{text-align:center;padding:40px 20px;color:var(--text-light)}.news-empty-icon{font-size:48px;margin-bottom:15px}.news-error{text-align:center;padding:40px 20px;color:#ef4444}.news-error-icon{font-size:48px;margin-bottom:15px}.news-retry-btn{background:var(--primary-color);color:white;border:none;padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer;margin-top:15px;transition:all 0.3s ease}.news-retry-btn:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0, 0, 0, 0.2)}.news-footer{background:var(--bg-color);padding:12px 30px;border-top:1px solid var(--border-color)}.news-source{margin:0;font-size:13px;color:var(--text-light);text-align:center}.news-source a{color:var(--primary-color);text-decoration:none;font-weight:500}.news-source a:hover{text-decoration:underline}@media (max-width:768px){.news-section{padding:20px 0}.news-header{padding:15px 20px;flex-direction:column;gap:10px;align-items:flex-start}.news-title{font-size:18px}.news-date{font-size:12px;padding:4px 12px}.news-content{padding:20px}.news-text{font-size:14px}.news-footer{padding:10px 20px}}main{padding:40px 20px}.content-wrapper{max-width:1200px;margin:0 auto}.resources-section{min-width:0}.category-card{background:var(--card-bg);border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:var(--shadow);transition:transform 0.2s ease}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.category-title{font-size:24px;font-weight:700;color:var(--text-color);margin-bottom:20px;padding-bottom:15px;border-bottom:3px solid var(--primary-color);display:flex;align-items:center;gap:10px}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:24px}.resource-item{background:var(--bg-color);border:2px solid var(--border-color);border-radius:12px;padding:24px;text-decoration:none;color:var(--text-color);transition:all 0.3s ease;display:flex;flex-direction:column;height:100%;min-height:180px}.resource-item:hover{background:var(--hover-color);border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 12px 24px rgba(37, 99, 235, 0.15)}.resource-item h3{font-size:19px;font-weight:600;color:var(--primary-color);margin-bottom:10px}.resource-item p{font-size:14px;color:var(--text-light);line-height:1.7;flex:1;margin-top:8px}footer{background:#1f2937;color:#e5e7eb;padding:40px 0;text-align:center;margin-top:60px}footer p{margin:10px 0}.footer-links{margin-top:15px}.footer-links a{color:#93c5fd;text-decoration:none;margin:0 10px;transition:color 0.3s ease}.footer-links a:hover{color:#60a5fa;text-decoration:underline}@media (max-width:1200px){.content-wrapper{grid-template-columns:1fr}.sidebar-left, .sidebar-right{display:none}.resources-grid{grid-template-columns:repeat(auto-fill, minmax(220px, 1fr))}}@media (max-width:768px){header h1{font-size:24px}.logo-icon{font-size:36px}.tagline{font-size:14px}.category-title{font-size:20px}.category-card{padding:20px}.resources-grid{grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:15px}.resource-item{padding:15px}.resource-item h3{font-size:16px}.ad-demo{padding:30px 15px;min-height:70px}.search-input{font-size:14px;padding:12px 20px}}@media (max-width:480px){.container{padding:0 15px}header{padding:30px 0 20px}header h1{font-size:20px}.logo-icon{font-size:32px}main{padding:20px 15px}.category-card{padding:15px;margin-bottom:20px}.category-title{font-size:18px;padding-bottom:10px}.resources-grid{grid-template-columns:1fr;gap:12px}.resource-item{padding:15px}.ad-container{padding:15px;margin:15px auto}.search-section{padding:20px 0}footer{padding:30px 0;font-size:14px}}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.category-card{animation:fadeIn 0.5s ease-out}@media print{.ad-container, .ad-sidebar, .search-section, footer{display:none}.content-wrapper{grid-template-columns:1fr}.category-card{page-break-inside:avoid}}