/* 教育业务 SSR 页面组件样式；颜色和排版复用 assets/styles.css 的品牌变量。 */
.education-page { padding-bottom: 0; }
.edu-container { width: min(1200px, calc(100% - 48px)); padding-bottom: 72px; }
.edu-breadcrumb { padding: 18px 0 8px; color: var(--muted); font-size: 14px; }
.edu-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.edu-breadcrumb li + li::before { margin-right: 8px; color: var(--gold); content: "/"; }
.edu-breadcrumb a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.edu-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 36px; align-items: start; margin: 12px 0 34px; padding: clamp(26px, 5vw, 56px); border-radius: var(--radius); background: linear-gradient(135deg, var(--paper), #eef4f8); box-shadow: var(--shadow); }
.edu-hero > .edu-eyebrow, .edu-hero > h1, .edu-hero > .edu-lead, .edu-hero > .edu-meta-line { grid-column: 1 / -1; }
.edu-eyebrow { margin: 0 0 8px; color: var(--red-deep); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.edu-hero h1 { max-width: 920px; margin: 0; color: var(--navy); font-size: clamp(30px, 4.2vw, 50px); }
.edu-lead { max-width: 850px; margin: 4px 0 0; color: var(--ink); font-size: clamp(17px, 2vw, 20px); line-height: 1.8; }
.edu-meta-line { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.edu-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.edu-summary-card { align-self: stretch; min-width: min(290px, 100%); padding: 20px 24px; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 12px; background: rgba(255,255,255,.8); }
.edu-summary-card p { margin-bottom: 8px; }
.edu-summary-card small { color: var(--muted); }
.edu-school-badges { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.edu-type-tag, .edu-tag, .edu-ownership { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); background: var(--paper); font-size: 13px; font-weight: 700; }
.edu-tag { color: var(--muted); font-weight: 600; }
.edu-ownership { color: var(--navy); }
.edu-section { margin: 0 0 clamp(42px, 6vw, 74px); scroll-margin-top: 100px; }
.edu-section__heading { margin-bottom: 20px; padding-left: 16px; border-left: 4px solid var(--red-deep); }
.edu-section__heading h2 { margin: 0; color: var(--navy); font-size: clamp(23px, 3vw, 34px); }
.edu-answer, .edu-note, .edu-warning { margin: 18px 0; padding: 22px 26px; border-left: 4px solid var(--blue); border-radius: 4px 14px 14px 4px; background: #f0f5fa; }
.edu-answer p:last-child, .edu-note p:last-child, .edu-warning p:last-child { margin-bottom: 0; }
.edu-answer > strong, .edu-note > strong { display: block; margin-bottom: 7px; color: var(--navy); }
.edu-answer > span { color: var(--muted); font-size: 14px; }
.edu-warning { border-left-color: var(--red-deep); background: #fff2f1; }
.edu-muted { color: var(--muted); font-size: 14px; }
.edu-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.edu-stat-card { display: grid; gap: 5px; min-height: 150px; padding: 24px; border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 16px; background: var(--paper); transition: transform .2s ease, box-shadow .2s ease; }
.edu-stat-card:nth-child(2) { border-top-color: var(--red-deep); }
.edu-stat-card:nth-child(3) { border-top-color: var(--gold); }
.edu-stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.edu-stat-card > span:first-child { color: var(--muted); font-weight: 700; }
.edu-stat-card strong { color: var(--navy); font-family: var(--serif); font-size: 42px; line-height: 1.15; }
.edu-stat-card strong small { margin-left: 5px; font-family: var(--sans); font-size: 16px; }
.edu-stat-card > span:last-child { font-size: 14px; }
.edu-explain-grid, .edu-related-grid, .edu-card-grid, .edu-subject-grid, .edu-step-grid, .edu-tip-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.edu-explain-grid article, .edu-related-card, .edu-path-card, .edu-subject-grid article, .edu-step-grid article, .edu-tip-grid > p { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.edu-explain-grid h3, .edu-related-card h3, .edu-path-card h3, .edu-subject-grid h3, .edu-step-grid strong { margin: 0 0 10px; color: var(--navy); font-family: var(--serif); font-size: 20px; }
.edu-explain-grid p, .edu-related-card p, .edu-path-card p, .edu-subject-grid p, .edu-step-grid p { margin-bottom: 0; }
.edu-related-card .edu-citations { display: block; margin: 12px 0; }
.edu-related-card > a:last-child { display: inline-block; margin-top: 12px; color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.edu-path-card { display: flex; flex-direction: column; gap: 8px; min-height: 220px; border-top: 4px solid var(--navy); }
.edu-path-card:nth-child(even) { border-top-color: var(--red-deep); }
.edu-path-card > span { color: var(--red-deep); font-size: 13px; font-weight: 800; }
.edu-path-card p { flex: 1; }
.edu-path-card a, .edu-inline-links > a:not(.button), .edu-back-link a { color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.edu-inline-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.edu-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.edu-table { width: 100%; border-collapse: collapse; color: var(--ink); font-size: 15px; line-height: 1.6; }
.edu-table th, .edu-table td { min-width: 110px; padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.edu-table thead th { color: var(--navy); background: #edf3f7; font-weight: 800; }
.edu-table tbody th { color: var(--navy); font-weight: 700; }
.edu-table tbody tr:last-child > * { border-bottom: 0; }
.edu-table a { color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.edu-check-list, .edu-process { padding-left: 24px; }
.edu-check-list li, .edu-process li { margin: 8px 0; }
.edu-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; counter-reset: step; list-style: none; padding: 0; }
.edu-process li { position: relative; min-height: 108px; padding: 38px 14px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.edu-process li::before { position: absolute; top: 12px; left: 14px; color: var(--red-deep); font-family: var(--serif); font-size: 20px; font-weight: 700; counter-increment: step; content: counter(step, decimal-leading-zero); }
.edu-tip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.edu-tip-grid > p { margin: 0; }
.edu-filter-panel { margin: 22px 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.edu-filter-panel h2 { margin-bottom: 14px; color: var(--navy); font-size: 23px; }
.edu-filter-grid { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(130px, 1fr)); gap: 12px; }
.edu-filter-grid label { display: grid; gap: 6px; min-width: 0; color: var(--navy); font-size: 14px; font-weight: 700; }
.edu-filter-grid input, .edu-filter-grid select { width: 100%; min-height: 46px; padding: 9px 12px; border: 1px solid rgba(22,58,95,.25); border-radius: 8px; color: var(--ink); background: #fff; }
.edu-filter-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 14px; }
.edu-filter-status p { margin: 0; }
.edu-filter-status [data-filter-count] { color: var(--navy); font-weight: 800; }
.edu-filter-status [data-filter-selected] { flex: 1; color: var(--muted); font-size: 14px; }
.edu-clear { padding: 6px 0; border: 0; color: var(--red-deep); background: transparent; font-weight: 800; text-decoration: underline; cursor: pointer; }
.edu-empty { margin-top: 16px; padding: 18px; border-radius: 10px; background: #fff2f1; }
.edu-empty p { margin: 0 0 12px; }
.edu-list-note { color: var(--muted); font-size: 14px; }
.edu-directory-group { margin: 20px 0 28px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.edu-directory-group > summary { display: flex; justify-content: space-between; gap: 12px; padding: 2px 0 14px; color: var(--navy); font-size: 20px; font-weight: 800; cursor: pointer; }
.edu-directory-group > summary strong, .edu-directory-group > h3 small { color: var(--muted); font-family: var(--sans); font-size: 14px; font-weight: 600; }
.edu-directory-group > h3 { margin: 0 0 14px; color: var(--navy); font-family: var(--serif); font-size: 23px; }
.edu-school-name { color: var(--navy); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.edu-school-name + .edu-tag { margin-left: 7px; }
.edu-school-cards { display: none; }
.edu-school-card { display: none; }
.edu-faq-list { display: grid; gap: 10px; }
.edu-faq-item { padding: 0 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.edu-faq-item summary { padding: 16px 28px 16px 0; color: var(--navy); font-family: var(--serif); font-size: 18px; font-weight: 700; cursor: pointer; }
.edu-faq-item > div { padding: 0 0 16px; }
.edu-faq-item > div p { margin-bottom: 8px; }
.edu-citations { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 4px; color: var(--muted); font-size: 13px; }
.edu-citations a { color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.edu-source-list { display: grid; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.edu-source-list li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); scroll-margin-top: 100px; }
.edu-source-grade { align-self: start; padding: 5px 8px; border-radius: 6px; color: var(--navy); background: #edf3f7; font-size: 13px; font-weight: 800; text-align: center; }
.edu-source-list p { margin: 6px 0; color: var(--muted); font-size: 14px; }
.edu-source-list a { color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.edu-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 36px 0; padding: 26px 30px; border-radius: 16px; color: var(--white); background: var(--navy-deep); }
.edu-cta h2 { margin: 0 0 6px; color: var(--white); font-size: 24px; }
.edu-cta p { margin: 0; color: rgba(255,255,255,.84); }
.edu-cta .button { flex: 0 0 auto; }
.edu-correction { padding: 16px 0; border-top: 1px solid var(--line); color: var(--muted); }
.edu-correction a { margin-left: 8px; color: var(--red-deep); font-weight: 700; text-decoration: underline; }
.edu-detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, .8fr); gap: 28px; align-items: start; }
.edu-detail-aside { position: sticky; top: 96px; display: grid; gap: 10px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.edu-detail-aside h2 { margin: 0 0 4px; color: var(--navy); font-family: var(--sans); font-size: 17px; }
.edu-detail-aside a { color: var(--red-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.edu-detail-aside p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.edu-profile { margin: 16px 0; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); scroll-margin-top: 100px; }
.edu-profile > header { padding: 18px 22px; border-bottom: 1px solid var(--line); background: #f0f5fa; border-radius: 16px 16px 0 0; }
.edu-profile > header h2 { margin: 0 0 8px; color: var(--navy); font-size: 24px; }
.edu-profile > header p:last-child { margin-bottom: 0; }
.edu-profile__body { padding: 22px; }
.edu-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.edu-facts > div { padding: 12px; border-radius: 8px; background: #f7f8f8; }
.edu-facts dt { color: var(--muted); font-size: 13px; }
.edu-facts dd { margin: 4px 0 0; color: var(--navy); font-weight: 700; overflow-wrap: anywhere; }
.edu-chip-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.edu-chip-list li { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.edu-transfer-note { margin: 24px 0; padding: 24px; border: 2px solid var(--gold); border-radius: 14px; background: #fffaf0; }
.edu-transfer-note h2 { color: var(--navy); }
.edu-profile__source { margin: 18px 0 0; }
.edu-checker { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.edu-checker > h3 { color: var(--navy); font-size: 23px; }
.edu-checker fieldset { min-width: 0; margin: 16px 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.edu-checker legend { padding: 0 8px; color: var(--navy); font-weight: 800; }
.edu-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.edu-choice-grid label { display: flex; align-items: flex-start; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }
.edu-choice-grid label:has(input:checked) { border-color: var(--red-deep); background: #fff5f4; }
.edu-choice-grid input { margin-top: 5px; accent-color: var(--red-deep); }
.edu-step-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.edu-checker [data-check-error] { min-height: 1.5em; margin: 6px 0; color: var(--red-deep); font-weight: 700; }
.edu-check-result { margin-top: 18px; padding: 20px; border-left: 4px solid var(--red-deep); border-radius: 8px; background: #fff2f1; }
.edu-check-result h4 { margin: 0 0 8px; color: var(--navy); font-size: 19px; }
.edu-check-result a { color: var(--red-deep); font-weight: 700; text-decoration: underline; }
.edu-subject-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.edu-step-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.edu-timeline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.edu-timeline article { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.edu-timeline h3 { color: var(--navy); }
.edu-footer { display: flex; justify-content: space-between; gap: 28px; padding-block: 32px; }
.edu-footer .brand { display: inline-flex; margin-bottom: 12px; }
.edu-footer p { max-width: 520px; margin: 8px 0 0; color: rgba(255,255,255,.76); }
.edu-footer nav { display: flex; flex-wrap: wrap; align-content: start; gap: 10px 20px; }
.edu-footer nav a { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.edu-not-found { min-height: 45vh; padding: 70px 0; text-align: center; }
.edu-not-found h1 { color: var(--navy); }
.edu-not-found .button { display: inline-flex; margin-top: 12px; }
.edu-back-link { display: flex; flex-wrap: wrap; gap: 10px; }
.edu-mobile-actions { display: none; }
[hidden] { display: none !important; }

@media (max-width: 920px) {
  .edu-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edu-search { grid-column: 1 / -1; }
  .edu-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .edu-detail-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edu-detail-aside h2, .edu-detail-aside p { grid-column: 1 / -1; }
  .edu-explain-grid, .edu-related-grid, .edu-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edu-subject-grid, .edu-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edu-process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .education-page { padding-bottom: 72px; }
  .edu-container { width: calc(100% - 32px); padding-bottom: 38px; }
  .edu-breadcrumb { font-size: 13px; }
  .edu-hero { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 8px; padding: 24px 20px; }
  .edu-hero > .edu-summary-card { min-width: 0; }
  .edu-hero h1 { font-size: clamp(27px, 8vw, 36px); }
  .edu-lead { font-size: 16px; }
  .edu-section { margin-bottom: 40px; }
  .edu-section__heading { margin-bottom: 16px; }
  .edu-answer, .edu-note, .edu-warning { padding: 17px; }
  .edu-stat-grid { grid-template-columns: 1fr; gap: 10px; }
  .edu-stat-card { min-height: 0; padding: 18px; }
  .edu-stat-card strong { font-size: 34px; }
  .edu-explain-grid, .edu-related-grid, .edu-card-grid, .edu-subject-grid, .edu-step-grid, .edu-timeline, .edu-tip-grid { grid-template-columns: 1fr; }
  .edu-table-wrap { border: 0; border-radius: 0; background: transparent; }
  .edu-table { min-width: 560px; font-size: 14px; }
  .edu-directory-group { padding: 12px; }
  .edu-directory-group > summary { font-size: 17px; }
  .edu-directory-group .edu-table-wrap { display: none; }
  .edu-directory-group .edu-school-cards { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .edu-directory-group .edu-school-card { display: block; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
  .edu-school-card h3 { display: -webkit-box; overflow: hidden; margin: 0 0 12px; color: var(--navy); font-family: var(--sans); font-size: 17px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .edu-school-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
  .edu-school-card dl > div { min-width: 0; }
  .edu-school-card dt { color: var(--muted); font-size: 12px; }
  .edu-school-card dd { margin: 2px 0 0; font-size: 14px; overflow-wrap: anywhere; }
  .edu-school-card .edu-type-tag, .edu-school-card .edu-tag { margin: 2px 2px 2px 0; font-size: 12px; }
  .edu-card-link { display: inline-block; margin-top: 12px; color: var(--red-deep); font-weight: 800; text-decoration: underline; }
  .edu-filter-panel { padding: 16px; }
  .edu-filter-grid { grid-template-columns: 1fr 1fr; }
  .edu-filter-grid label { font-size: 13px; }
  .edu-filter-status { align-items: flex-start; }
  .edu-filter-status [data-filter-selected] { flex-basis: 100%; order: 3; }
  .edu-filter-status .edu-clear { margin-left: auto; }
  .edu-source-list li { grid-template-columns: 1fr; gap: 8px; }
  .edu-source-grade { justify-self: start; }
  .edu-cta { align-items: flex-start; flex-direction: column; padding: 22px; }
  .edu-cta .button { width: 100%; justify-content: center; }
  .edu-detail-aside { grid-template-columns: 1fr; }
  .edu-facts { grid-template-columns: 1fr; }
  .edu-profile__body { padding: 16px; }
  .edu-profile > header { padding: 16px; }
  .edu-choice-grid { grid-template-columns: 1fr; }
  .edu-checker { padding: 16px; }
  .edu-process { grid-template-columns: 1fr; }
  .edu-process li { min-height: 70px; padding: 14px 14px 14px 50px; }
  .edu-process li::before { top: 14px; }
  .edu-footer { flex-direction: column; }
  .edu-footer nav { flex-direction: column; gap: 8px; }
  .edu-mobile-actions { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(255,253,248,.97); box-shadow: 0 -6px 24px rgba(18,45,70,.1); }
  .edu-mobile-actions a { display: grid; min-height: 44px; place-items: center; border-radius: 8px; color: var(--navy); background: #eef4f8; font-weight: 800; }
  .edu-mobile-actions a:last-child { color: var(--white); background: var(--red-deep); }
  .edu-back-link { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .edu-stat-card { transition: none; }
  .edu-stat-card:hover { transform: none; }
}
