:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#1d283b;background:#f5f6f9;font-size:16px;line-height:1.6;--red:#b90b35;--muted:#677286;--border:#e4e7ee;--white:#fff;--pink:#fff1f4}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button{border:1px solid var(--border);border-radius:9px;background:#fff;color:inherit;padding:9px 14px;font-size:.875rem;font-weight:600}button:hover{border-color:#ba7387;background:#fff7f9}button.primary,.seg button.active{background:var(--red);border-color:var(--red);color:#fff}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}input,select{border:1px solid #dce0e8;border-radius:8px;background:#fff;padding:10px 12px;min-width:0;width:100%;font-size:.9375rem;color:inherit}input:focus,select:focus{outline:2px solid #d8a0af;border-color:var(--red)}input[type=checkbox]{width:auto;accent-color:var(--red)}label{font-size:.875rem;font-weight:600;display:block}label>input,label>select{margin-top:6px}h1,h2,h3,p{margin:0}h1{font-size:1.35rem;letter-spacing:-.03em}h2{font-size:1.125rem}h3{font-size:.9375rem}p{margin:6px 0}a{color:var(--red)}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:20px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center}.brandmark{background:var(--red);color:#fff;border-radius:10px;padding:9px;font-weight:800;line-height:1.2;font-size:1.25rem}.eyebrow{color:var(--red);font-size:.75rem;letter-spacing:.12em;font-weight:700}.subtle{color:var(--muted);font-size:.8125rem}.header-actions,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.page{max-width:1560px;margin:auto;padding:24px 32px}.page-tabs{display:flex;gap:4px;margin-bottom:22px;border-bottom:1px solid var(--border)}.page-tabs button{border:0;border-radius:0;background:transparent;padding:12px 20px;color:var(--muted)}.page-tabs button.active{color:var(--red);border-bottom:3px solid var(--red)}.workspace{display:grid;grid-template-columns:390px minmax(0,1fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:0 3px 16px #28334704}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.step{color:var(--red);font-size:.8rem;margin-right:8px}.field-group{margin-bottom:20px}.field-group>label,.field-group>.field-label{margin-bottom:8px}.field-label{font-size:.875rem;font-weight:600}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1;padding:8px;white-space:nowrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.help{font-size:.75rem;color:var(--muted);line-height:1.65;margin-top:6px}.divider{border:0;border-top:1px solid var(--border);margin:20px 0}.inline-link{font-size:.8rem;border:0;padding:4px 0;background:transparent;color:var(--red)}.check{display:flex;gap:8px;align-items:flex-start;font-size:.8125rem;font-weight:400}.check input{margin-top:5px}.report-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap}.report{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.report-head{background:var(--red);padding:26px 30px;color:#fff}.report-head .subtle{color:#ffdade}.report-head h2{font-size:1.45rem;margin:6px 0}.report-body{padding:26px 30px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.metric{background:#f8f9fc;border:1px solid var(--border);border-radius:10px;padding:13px}.metric .value{font-size:1.65rem;font-weight:750;line-height:1.4}.metric .label{font-size:.75rem;color:var(--muted)}.metric .unit{font-size:.8rem;font-weight:400;color:var(--muted)}.report-section{margin:0 0 26px}.report-section h3{color:var(--red);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.report-section p{font-size:.875rem;line-height:1.8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.8125rem;text-align:left}th{background:#f4f5f8;color:#556174;font-size:.75rem;font-weight:600}th,td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}td:first-child{min-width:150px}tbody tr:hover{background:#fdf8fa}.badge{font-size:.75rem;border:1px solid #e1d0d5;background:#fff2f5;border-radius:5px;color:#a01e40;padding:2px 7px;display:inline-block}.warning{background:#fff8eb;border:1px solid #eddfbe;border-radius:9px;padding:12px 15px;color:#795721;font-size:.8125rem;margin-bottom:14px}.error{background:#fff0f0;color:#a31632;border-color:#ecc6cb}.empty{color:var(--muted);padding:20px;background:#fafbfd;border-radius:8px;font-size:.875rem}.share-box{margin-top:20px}.share-box h3{margin-bottom:12px}.share-box .actions{margin-top:12px}.share-link{margin-top:12px}.catalog-tools{display:grid;grid-template-columns:minmax(180px,1fr) 150px 160px;gap:12px;margin-bottom:20px}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.school-card{background:#fff;padding:20px;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:12px}.school-card h3{font-size:1rem}.school-card p{font-size:.8125rem;color:var(--muted)}.school-card .actions{margin-top:auto}.counts{color:var(--muted);font-size:.875rem;margin-bottom:16px}dialog{border:0;border-radius:14px;padding:0;max-width:900px;width:calc(100vw - 36px);max-height:90vh;box-shadow:0 20px 90px #18223340}dialog::backdrop{background:#15203688}.dialog-head{position:sticky;top:0;background:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);z-index:1}.dialog-body{padding:24px}.dialog-body h3{margin:20px 0 10px}.source{font-size:.75rem;color:var(--muted)}.auth{max-width:440px;margin:9vh auto;padding:30px}.auth .brand{margin-bottom:26px}.auth h2{margin-bottom:8px}.auth label{margin:18px 0}.auth button.primary{width:100%}.auth .seg button{width:auto}.auth .seg{margin-top:20px}.auth-notice{margin-top:18px}.footnote{font-size:.75rem;color:var(--muted);text-align:center;margin:25px 0}.boot{padding:40px}.hide{display:none!important}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#243047;color:#fff;border-radius:9px;padding:12px 20px;z-index:20;max-width:90vw;display:none}.detail-fact{border-bottom:1px solid var(--border);padding:12px 0;font-size:.875rem}.loading{opacity:.6;pointer-events:none}summary{cursor:pointer;font-size:.875rem;color:var(--red);padding:12px 0}.report-footer{padding:20px 30px;background:#253044;color:#fff}.report-footer p{font-size:.75rem;color:#d9dfe8}.parent-page{max-width:960px;margin:auto;padding:30px 20px}.admin-form{max-width:600px}.preview-label{background:#fff3d8;color:#816322;border-radius:5px;padding:4px 8px;font-size:.75rem}.span2{grid-column:span 2}
@media(min-width:1200px){.input-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
@media(max-width:1100px){.workspace{grid-template-columns:340px minmax(0,1fr)}.page{padding:20px}.report-body{padding:20px}.school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .value{font-size:1.4rem}}
@media(max-width:800px){.topbar{padding:16px;align-items:flex-start}.topbar h1{font-size:1.05rem}.topbar .subtle{display:none}.header-actions button{padding:6px 8px}.page{padding:16px}.workspace{display:block}.input-panel{margin-bottom:20px}.panel{padding:18px}.report-head,.report-body{padding:20px}.report-head h2{font-size:1.25rem}.school-grid{grid-template-columns:1fr}.catalog-tools{grid-template-columns:1fr 1fr}.catalog-tools input{grid-column:span 2}.auth{margin:6vh 16px}.metric{padding:10px}.metric .value{font-size:1.25rem}.report-tools{margin-top:22px}.page-tabs button{padding:10px 13px}}
@media print{body{background:#fff}.topbar,.page-tabs,.input-panel,.report-tools,.share-box,.footnote,#toast,.preview-label,.no-print{display:none!important}.page,.parent-page{padding:0;max-width:none}.workspace{display:block}.report{border:0;border-radius:0}.report-head,.report-footer{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-section{break-inside:avoid}.table-wrap{overflow:visible}details{display:none}.report-body{padding:20px 8px}th{print-color-adjust:exact}thead{display:table-header-group}}

.site-registration{padding:22px 16px;text-align:center;color:#667085;font-size:13px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.site-registration a{color:inherit;text-decoration:none}.site-registration a:hover{text-decoration:underline}
/* ===== 专业详情页 ===== */
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--red);padding:10px 14px;z-index:50;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.detail-topbar{padding:16px 32px}
.detail-brand{color:inherit;text-decoration:none;font-weight:800;font-size:1.05rem}
.detail-brand:hover{color:var(--red)}
.button-link{display:inline-block;border:1px solid var(--border);border-radius:9px;background:#fff;color:inherit;padding:9px 14px;font-size:.875rem;font-weight:600;text-decoration:none}
.button-link:hover{border-color:#ba7387;background:#fff7f9}
.button-link.primary{background:var(--red);border-color:var(--red);color:#fff}
.detail-page{max-width:980px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;color:var(--muted);margin:0 0 16px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--red);text-decoration:underline}
.detail-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 32px}
.detail-card h1{font-size:1.75rem;letter-spacing:-.02em;margin:6px 0 4px}
.detail-school{margin:0 0 18px;color:var(--muted);font-size:.9375rem}
.detail-school a{color:var(--red)}
.detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0;padding:0}
.detail-facts>div{background:#f8f9fc;border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.detail-facts dt{font-size:.75rem;color:var(--muted);font-weight:600}
.detail-facts dd{margin:2px 0 0;font-weight:800;font-size:1rem}
.scope-note{background:var(--pink);border-left:3px solid var(--red);border-radius:0 10px 10px 0;padding:12px 14px;font-size:.875rem;color:#6b2130;margin:16px 0}
.detail-cat{margin:14px 0;font-size:.875rem;color:var(--muted)}
.badge.ok{background:#eaf6ee;color:#1f6b45;border-color:#bfe0cc}
.badge.warn{background:#fff4e8;color:#8a4b12;border-color:#f0d3b0}
.variant-note{border:1px dashed #e0b4c0;background:#fff8fa;border-radius:12px;padding:14px 16px;margin:18px 0}
.variant-note h2{font-size:.9375rem;color:var(--red);margin:0 0 6px}
.variant-note ul{margin:0;padding-left:20px;font-size:.875rem}
.variant-note li+li{margin-top:6px}
.detail-section{margin-top:26px;padding-top:18px;border-top:1px solid var(--border)}
.detail-section h2{font-size:1.05rem;display:flex;align-items:center;gap:8px}
.detail-section h2 .step{background:var(--red);color:#fff;border-radius:6px;padding:2px 7px;font-size:.75rem}
.detail-section h3{font-size:.9375rem;margin:16px 0 4px}
.detail-section p{margin:8px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0;padding:0}
.chips li{background:#f4f6fb;border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:.8125rem}
.detail-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.source-list{list-style:none;margin:10px 0;padding:0}
.source-list li{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px dashed var(--border)}
.source-list a{font-weight:600}
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.detail-footer{margin-top:26px;padding-top:14px;border-top:1px solid var(--border);font-size:.8125rem;color:var(--muted)}
.not-found{padding:40px 32px}
.not-found code{background:#f4f6fb;border:1px solid var(--border);border-radius:6px;padding:1px 6px}
.detail-search{margin:18px 0;max-width:520px}
.detail-search-row{display:flex;gap:8px;margin-top:6px}
.detail-search-row input{flex:1}
a.major-link{color:inherit;text-decoration:none}
a.major-link:hover,a.major-link:focus-visible{color:var(--red);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:800px){.detail-card{padding:20px 18px}.detail-card h1{font-size:1.35rem}.detail-two{grid-template-columns:1fr}.detail-topbar{padding:14px 16px;flex-wrap:wrap}.detail-facts{grid-template-columns:1fr 1fr}.detail-search-row{flex-direction:column}}
@media print{.detail-actions,.detail-topbar .header-actions,.skip-link{display:none!important}.detail-card{border:0;padding:0}}
