* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, "Microsoft YaHei", "Helvetica Neue", sans-serif; background: #f0f2f5; color: #333; min-height: 100vh; }

/* Header */
.header { background: #fff; box-shadow: 0 1px 8px rgba(0,0,0,0.06); padding: 20px 0; }
.header-inner { max-width: 800px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; gap: 14px; }
.header img.logo { height: 48px; width: auto; }
.logo-text { font-size: 22px; font-weight: 700; color: #2c3e50; }
.site-name { font-size: 13px; color: #999; margin-left: auto; }

/* 公告 */
.announcement { background: linear-gradient(135deg, #fff8e1, #fff3cd); border-left: 4px solid #ffc107; padding: 14px 20px; max-width: 800px; margin: 20px auto 0; border-radius: 0 8px 8px 0; font-size: 14px; color: #856404; line-height: 1.6; }

/* 查询卡片 */
.container { max-width: 800px; margin: 0 auto; padding: 30px 20px; }
.query-card { background: #fff; border-radius: 14px; box-shadow: 0 4px 24px rgba(0,0,0,0.07); padding: 36px; }
.query-card h2 { font-size: 20px; color: #2c3e50; margin-bottom: 6px; }
.query-card .sub { font-size: 13px; color: #aaa; margin-bottom: 28px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 14px; color: #555; margin-bottom: 8px; font-weight: 500; }
.form-group select, .form-group input { width: 100%; padding: 12px 14px; border: 1.5px solid #e0e0e0; border-radius: 8px; font-size: 15px; transition: border-color .2s; }
.form-group select:focus, .form-group input:focus { outline: none; border-color: #4a6cf7; }
.btn-query { width: 100%; padding: 14px; background: linear-gradient(135deg, #4a6cf7, #6a5cf7); color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: opacity .2s; }
.btn-query:hover { opacity: .92; }
.btn-query:disabled { opacity: .5; cursor: not-allowed; }

/* 结果 */
.result { margin-top: 24px; padding: 24px; border-radius: 10px; text-align: center; display: none; }
.result.show { display: block; }
.result.success { background: #f0fbf4; border: 1px solid #b7e4c7; }
.result.error { background: #fef5f5; border: 1px solid #f5c2c2; }
.result .score-label { font-size: 14px; color: #888; margin-bottom: 8px; }
.result .score-value { font-size: 42px; font-weight: 800; color: #2c3e50; }
.result .score-name { font-size: 16px; color: #555; margin-top: 10px; }
.result .msg { font-size: 16px; color: #e74c3c; }

/* 步骤指示 */
.steps { display: flex; gap: 8px; margin-bottom: 28px; }
.step-tag { flex: 1; text-align: center; padding: 8px; font-size: 13px; color: #aaa; border-bottom: 2px solid #eee; }
.step-tag.active { color: #4a6cf7; border-bottom-color: #4a6cf7; font-weight: 600; }

.footer { text-align: center; padding: 20px; color: #bbb; font-size: 12px; }
