*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,pingfang sc,hiragino sans gb,microsoft yahei,sans-serif;color:#222;background:#fafafa;line-height:1.6}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1080px;margin:0 auto;padding:0 20px}.site-header{background:#fff;border-bottom:1px solid #eaeaea}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.logo{font-size:20px;font-weight:700;color:#111}.main-nav a{margin-left:20px;color:#555}.main-nav a:hover{color:#111}.hero{text-align:center;padding:80px 20px}.hero h1{font-size:40px;margin-bottom:12px}.hero .lead{font-size:18px;color:#666}.articles{padding:40px 0}.articles h2{margin-bottom:20px;font-size:24px}.article-list{list-style:none}.article-item{background:#fff;padding:20px;margin-bottom:16px;border-radius:8px;border:1px solid #eee}.article-item h3{margin-bottom:8px}.article-item time{color:#999;font-size:13px}.article-detail{background:#fff;padding:40px;border-radius:8px;border:1px solid #eee;margin:40px 0}.article-detail header{margin-bottom:24px;border-bottom:1px solid #eee;padding-bottom:16px}.article-detail h1{font-size:32px;margin-bottom:12px}.article-detail .meta{color:#888;font-size:14px}.article-detail .meta span{margin-right:16px}.article-detail .cover{width:100%;max-height:400px;object-fit:cover;border-radius:4px;margin:20px 0}.article-detail .content{font-size:16px;line-height:1.8}.article-detail .content p{margin-bottom:16px}.error-page{text-align:center;padding:80px 20px}.error-page h1{font-size:64px;color:#ccc}.category-page{padding:30px 0 60px}.cat-header{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid #eee}.cat-header h1{font-size:32px;margin-bottom:8px}.cat-desc{color:#666;font-size:16px;line-height:1.7;margin-bottom:8px}.cat-meta{font-size:13px;color:#999}.cat-meta strong{color:#444}.section-title{font-size:18px;margin:24px 0 16px;padding-left:10px;border-left:3px solid #3b82f6}.subcategories{margin-bottom:36px}.subcat-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.subcat-card{border:1px solid #eee;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.subcat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,6%)}.subcat-link{display:flex;gap:10px;align-items:center;padding:12px;color:inherit}.subcat-link:hover{text-decoration:none}.subcat-cover{width:56px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0}.subcat-meta h3{font-size:15px;margin:0 0 4px}.subcat-meta p{font-size:12px;color:#888;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.articles{margin-top:24px}.article-list{list-style:none}.article-card{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #f0f0f0}.art-cover-link{flex-shrink:0}.art-cover{width:180px;height:110px;object-fit:cover;border-radius:6px}.art-body{flex:1;min-width:0}.art-title{font-size:18px;margin:0 0 8px}.art-title a{color:#111}.art-title a:hover{color:#3b82f6;text-decoration:none}.art-summary{color:#666;font-size:14px;line-height:1.6;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.art-meta{font-size:12px;color:#999;display:flex;gap:14px}.empty-tip{text-align:center;padding:60px 0;color:#999}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:36px;padding:12px 0;flex-wrap:wrap}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1px solid #ddd;border-radius:6px;color:#444;font-size:14px;text-decoration:none;transition:all .15s}.page-btn:hover{border-color:#3b82f6;color:#3b82f6;text-decoration:none}.page-btn.current{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.page-btn.disabled{color:#ccc;border-color:#eee;cursor:not-allowed}.page-btn.page-ellipsis{border:none;cursor:default;color:#999}.page-btn.page-ellipsis:hover{background:0 0;color:#999}.site-footer{background:#fff;border-top:1px solid #eaeaea;text-align:center;color:#999;padding:20px 0;margin-top:60px}