b6df028839
变更摘要: - [fix] 清理根目录 index.html 遗留代码(questionnaire-error + retryLoad 移除) - [fix] 副标题同步更新为自估591分 + 候选志愿546条数据校准 - [fix] 页脚注入版本号 v1.0.0 - [fix] 部署版 index.html: 取消家长标签,统一 filler-tianheng - [fix] Dashboard 文案修正(4份→2份线上问卷) - [fix] 清理冗余部署脚本(v1-v4归档至 archived_scripts/) - [fix] 等效位次工具纳入 deploy 目录 - [chore] .gitignore 初始化 - [init] Git 仓库初始化
488 lines
12 KiB
CSS
488 lines
12 KiB
CSS
/* ============================================================
|
|
高考志愿家庭门户 — 方案A 经典权威版
|
|
设计: 政府/教育考试院门户风格 | 深蓝+金色 | 权威可信
|
|
============================================================ */
|
|
:root {
|
|
--navy-900: #070E1A;
|
|
--navy-800: #0B1A33;
|
|
--navy-700: #0F2A52;
|
|
--navy-600: #123A6E;
|
|
--navy-500: #154A8A;
|
|
--navy-400: #1A5CA6;
|
|
--navy-light: #E8F0FB;
|
|
--gold-500: #C4A35A;
|
|
--gold-400: #D4B66A;
|
|
--gold-300: #E0C87C;
|
|
--gold-100: #F5ECD7;
|
|
--white: #FFFFFF;
|
|
--bg: #F0F3F8;
|
|
--card: #FFFFFF;
|
|
--text: #1A1A2E;
|
|
--text-muted: #6B7280;
|
|
--text-secondary: #4B5563;
|
|
--border: #DCDFE5;
|
|
--green: #1A6B3C;
|
|
--green-light: #E6F4EC;
|
|
--amber: #B8590C;
|
|
--amber-light: #FEF4E4;
|
|
--red: #C8102E;
|
|
--red-light: #FDE8EC;
|
|
--purple: #5B21B6;
|
|
--purple-light: #EDE5F9;
|
|
--blue-tag: #1A5CA6;
|
|
--blue-tag-bg: #DCE9F7;
|
|
--radius-sm: 6px;
|
|
--radius-md: 10px;
|
|
--radius-lg: 14px;
|
|
--shadow-sm: 0 1px 3px rgba(7,14,26,0.06);
|
|
--shadow-md: 0 4px 16px rgba(7,14,26,0.08);
|
|
--shadow-lg: 0 8px 32px rgba(7,14,26,0.12);
|
|
}
|
|
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
|
|
body {
|
|
font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
|
|
background: linear-gradient(180deg, #F0F3F8 0%, #E8EDF5 100%);
|
|
color: var(--text);
|
|
line-height: 1.68;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.container { max-width: 1200px; margin: 0 auto; padding: 0 32px 60px; }
|
|
|
|
/* ===== TOP BAR ===== */
|
|
.top-bar {
|
|
background: var(--navy-900);
|
|
color: rgba(255,255,255,0.65);
|
|
font-size: 11px;
|
|
padding: 6px 0;
|
|
text-align: center;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
|
|
/* ===== HERO ===== */
|
|
.hero {
|
|
background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-600) 45%, var(--navy-500) 100%);
|
|
text-align: center;
|
|
padding: 48px 24px 40px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.hero::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -60px; right: -40px;
|
|
width: 240px; height: 240px;
|
|
border-radius: 50%;
|
|
border: 2px solid rgba(196,163,90,0.12);
|
|
pointer-events: none;
|
|
}
|
|
.hero h1 {
|
|
font-size: 28px;
|
|
font-weight: 800;
|
|
color: var(--white);
|
|
letter-spacing: 1px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.hero h1 .name {
|
|
color: var(--gold-400);
|
|
border-bottom: 2px solid rgba(196,163,90,0.4);
|
|
padding-bottom: 2px;
|
|
}
|
|
.hero .sub {
|
|
font-size: 13px;
|
|
color: rgba(255,255,255,0.72);
|
|
margin-top: 6px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.hero .meta {
|
|
margin-top: 14px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.hero .meta span {
|
|
display: inline-block;
|
|
background: rgba(255,255,255,0.1);
|
|
border: 1px solid rgba(255,255,255,0.15);
|
|
color: rgba(255,255,255,0.88);
|
|
padding: 4px 12px;
|
|
border-radius: 20px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
.hero .meta .gold {
|
|
background: rgba(196,163,90,0.2);
|
|
border-color: rgba(196,163,90,0.35);
|
|
color: var(--gold-300);
|
|
}
|
|
|
|
/* Hero score info block — 预估位次 + 家庭自估 */
|
|
.hero .meta .score-info {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
background: rgba(196,163,90,0.2);
|
|
border: 1px solid rgba(196,163,90,0.35);
|
|
padding: 4px 14px;
|
|
border-radius: 20px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
}
|
|
.hero .meta .score-range {
|
|
color: rgba(255,255,255,0.7);
|
|
font-size: 10px;
|
|
font-weight: 400;
|
|
}
|
|
.hero .meta .score-num {
|
|
color: var(--gold-300);
|
|
font-weight: 800;
|
|
font-size: 14px;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.hero .meta .score-note {
|
|
color: rgba(255,255,255,0.65);
|
|
font-size: 10px;
|
|
}
|
|
|
|
|
|
/* ===== SECTION TITLES ===== */
|
|
.section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin: 28px 0 0;
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
color: var(--navy-800);
|
|
padding-bottom: 8px;
|
|
border-bottom: 2px solid var(--gold-300);
|
|
}
|
|
.section-title .icon { font-size: 20px; }
|
|
|
|
/* ===== CARD GRID ===== */
|
|
.card-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 16px;
|
|
}
|
|
|
|
/* 天恒测评区 — 每行放2个(卡片较宽) */
|
|
.card-grid-2col {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 16px;
|
|
}
|
|
|
|
.card {
|
|
background: var(--card);
|
|
border-radius: var(--radius-md);
|
|
padding: 20px 22px;
|
|
border: 1px solid var(--border);
|
|
text-decoration: none;
|
|
color: inherit;
|
|
transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
|
|
display: flex;
|
|
flex-direction: column;
|
|
box-shadow: var(--shadow-sm);
|
|
min-height: 180px;
|
|
overflow: hidden;
|
|
}
|
|
.card .btn-row {
|
|
margin-top: auto;
|
|
}
|
|
.card .status {
|
|
margin-top: auto;
|
|
}
|
|
.card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
border-color: var(--gold-400);
|
|
}
|
|
.card h3 {
|
|
font-size: 15px;
|
|
font-weight: 700;
|
|
color: var(--navy-700);
|
|
margin-bottom: 6px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.card h3 .card-tag {
|
|
margin-left: auto;
|
|
}
|
|
.card p {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
line-height: 1.5;
|
|
margin-bottom: 10px;
|
|
flex: 1;
|
|
}
|
|
|
|
/* ===== BADGES ===== */
|
|
.badge {
|
|
display: inline-block;
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
padding: 2px 8px;
|
|
border-radius: 4px;
|
|
letter-spacing: 0.3px;
|
|
}
|
|
.badge-blue { background: var(--navy-light); color: var(--navy-600); }
|
|
.badge-purple { background: var(--purple-light); color: var(--purple); }
|
|
.badge-green { background: var(--green-light); color: var(--green); }
|
|
.badge-amber { background: var(--amber-light); color: var(--amber); }
|
|
.badge-gold { background: var(--gold-100); color: #8B6914; }
|
|
.badge-red { background: var(--red-light); color: var(--red); }
|
|
|
|
/* ===== 填写人标识 ===== */
|
|
.filler-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
padding: 5px 14px;
|
|
border-radius: 20px;
|
|
white-space: nowrap;
|
|
}
|
|
.filler-tianheng {
|
|
background: linear-gradient(135deg, #DCE9F7 0%, #C5D9F0 100%);
|
|
color: var(--navy-700);
|
|
border: 1.5px solid var(--navy-400);
|
|
}
|
|
.filler-parents {
|
|
background: linear-gradient(135deg, #FEF4E4 0%, #FDE8C4 100%);
|
|
color: #92400E;
|
|
border: 1.5px solid var(--amber);
|
|
}
|
|
.filler-tag .icon { font-size: 15px; }
|
|
|
|
/* ===== 分组区块标识 ===== */
|
|
.section-header {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 16px;
|
|
margin-bottom: 14px;
|
|
}
|
|
.section-divider {
|
|
border: none;
|
|
border-top: 2px dashed var(--border);
|
|
margin: 6px 0 20px;
|
|
}
|
|
.section-hint {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
margin: -8px 0 14px;
|
|
line-height: 1.6;
|
|
}
|
|
.section-tianheng { border-left: 4px solid var(--navy-500); padding-left: 12px; }
|
|
.section-parents { border-left: 4px solid var(--amber); padding-left: 12px; }
|
|
|
|
/* ===== QUESTIONNAIRE SECTION ===== */
|
|
.q-card {
|
|
border-left: 4px solid var(--navy-500);
|
|
}
|
|
.q-card .btn-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: wrap;
|
|
margin-top: 8px;
|
|
}
|
|
.q-card .status {
|
|
margin-top: 10px;
|
|
font-size: 11px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.q-card .dot {
|
|
width: 8px; height: 8px;
|
|
border-radius: 50%;
|
|
background: var(--border);
|
|
display: inline-block;
|
|
}
|
|
.q-card .dot.active { background: var(--green); }
|
|
|
|
/* ===== BUTTONS ===== */
|
|
.btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 7px 16px;
|
|
border-radius: var(--radius-sm);
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
cursor: pointer;
|
|
transition: background 0.15s, transform 0.1s;
|
|
border: none;
|
|
}
|
|
.btn:hover { transform: translateY(-1px); }
|
|
.btn-primary {
|
|
background: var(--navy-600);
|
|
color: var(--white);
|
|
}
|
|
.btn-primary:hover { background: var(--navy-700); }
|
|
.btn-outline {
|
|
background: var(--white);
|
|
color: var(--navy-600);
|
|
border: 1.5px solid var(--navy-400);
|
|
}
|
|
.btn-outline:hover { background: var(--navy-light); }
|
|
.btn-gold {
|
|
background: var(--gold-500);
|
|
color: var(--white);
|
|
}
|
|
.btn-gold:hover { background: #B89545; }
|
|
.btn-sm { padding: 5px 12px; font-size: 11px; }
|
|
|
|
/* ===== ALERTS ===== */
|
|
.alert {
|
|
border-radius: var(--radius-md);
|
|
padding: 12px 16px;
|
|
margin: 14px 0;
|
|
font-size: 13px;
|
|
line-height: 1.7;
|
|
}
|
|
.alert-info { background: var(--navy-light); border-left: 4px solid var(--navy-500); color: var(--navy-700); }
|
|
.alert-green { background: var(--green-light); border-left: 4px solid var(--green); color: #065F46; }
|
|
.alert-amber { background: var(--amber-light); border-left: 4px solid var(--amber); color: #92400E; }
|
|
.alert-red { background: var(--red-light); border-left: 4px solid var(--red); color: #991B1B; }
|
|
|
|
/* ===== FOOTER ===== */
|
|
.footer {
|
|
margin-top: 36px;
|
|
text-align: center;
|
|
font-size: 11px;
|
|
color: var(--text-muted);
|
|
padding: 16px 0;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
.footer .data-badges {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 6px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.footer .data-badges span {
|
|
background: var(--bg);
|
|
padding: 2px 8px;
|
|
border-radius: 4px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
/* ===== REPORT PAGE ===== */
|
|
.report-frame {
|
|
border: none;
|
|
width: 100%;
|
|
min-height: 600px;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-md);
|
|
background: var(--white);
|
|
}
|
|
.back-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
font-size: 13px;
|
|
color: var(--navy-600);
|
|
text-decoration: none;
|
|
margin-bottom: 12px;
|
|
font-weight: 600;
|
|
}
|
|
.back-link:hover { color: var(--navy-800); }
|
|
|
|
/* ===== QUESTIONNAIRE FORM ===== */
|
|
.q-form { max-width: 680px; }
|
|
.q-form .q-item {
|
|
background: var(--card);
|
|
border-radius: var(--radius-md);
|
|
padding: 16px 20px;
|
|
margin-bottom: 10px;
|
|
border: 1px solid var(--border);
|
|
}
|
|
.q-form .q-item .q-num {
|
|
font-size: 11px;
|
|
color: var(--navy-500);
|
|
font-weight: 700;
|
|
}
|
|
.q-form .q-item .q-text {
|
|
font-size: 14px;
|
|
color: var(--text);
|
|
margin: 4px 0 10px;
|
|
font-weight: 500;
|
|
}
|
|
.q-form .q-item .options {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
.q-form .q-item .options label {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 6px 14px;
|
|
border: 1.5px solid var(--border);
|
|
border-radius: 20px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
user-select: none;
|
|
}
|
|
.q-form .q-item .options label:hover { border-color: var(--navy-400); background: var(--navy-light); }
|
|
.q-form .q-item .options input[type="radio"] { display: none; }
|
|
.q-form .q-item .options input[type="radio"]:checked + span {
|
|
background: var(--navy-600);
|
|
color: var(--white);
|
|
}
|
|
.q-form .q-item .options input[type="radio"]:checked + span::before {
|
|
/* checked indicator */
|
|
}
|
|
|
|
/* ===== RESULTS PAGE ===== */
|
|
.result-table { width: 100%; border-collapse: collapse; font-size: 13px; }
|
|
.result-table th {
|
|
background: var(--navy-700);
|
|
color: var(--white);
|
|
padding: 10px 12px;
|
|
text-align: left;
|
|
font-weight: 600;
|
|
font-size: 12px;
|
|
}
|
|
.result-table td {
|
|
padding: 8px 12px;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.result-table tbody tr:hover td { background: var(--navy-light); }
|
|
.diff-highlight { background: var(--amber-light); font-weight: 600; color: var(--amber); }
|
|
|
|
/* ===== TIANHENG DYNAMIC SLOTS ===== */
|
|
#tianheng-dynamic-slots {
|
|
display: grid;
|
|
grid-template-columns: subgrid;
|
|
gap: 16px;
|
|
grid-column: 1 / -1;
|
|
}
|
|
#tianheng-dynamic-slots .card.q-card {
|
|
/* cards inside will now behave as direct grid children */
|
|
}
|
|
|
|
/* ===== PRINT ===== */
|
|
@media print {
|
|
.top-bar, .footer, .btn { display: none; }
|
|
.hero { background: none; padding: 12px 0; }
|
|
.hero h1 { color: var(--navy-800); }
|
|
body { background: white; }
|
|
}
|