*{box-sizing:border-box}html{touch-action:manipulation}body{margin:0;color:#1d4739;background:#f6faf9;background-image:linear-gradient(rgba(61,110,94,0.027) 1px,transparent 1px),linear-gradient(90deg,rgba(61,110,94,0.027) 1px,transparent 1px);background-size:24px 24px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus,input:focus,select:focus,summary:focus{outline:2px solid #8ed3bc;outline-offset:2px}button,input,select{border-radius:9px}input,select{max-width:100%;min-width:0;background:#fff;color:#285747;border:1px solid #dae9e4;min-height:43px;padding:9px 10px}input::placeholder{color:#779289;font-size:13px}input[type=search]{-webkit-appearance:none;appearance:none}select{width:100%;padding-right:25px}button{border:0}.shell{max-width:1120px;margin:auto;padding:0 24px 28px;padding-top:0;padding-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));padding-bottom:28px;padding-bottom:calc(28px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.brand{height:68px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dae9e4;font-size:13px;font-weight:650;color:#3c9175}.brand>span{display:flex;align-items:center}.brand-icon{font-style:normal;color:#fff;background:#3c9175;width:25px;height:25px;border-radius:6px;line-height:25px;text-align:center;margin-right:8px}.text-button{color:#3c9175;background:transparent;padding:7px 4px;font-size:13px}.hero{padding:32px 0 22px;position:relative}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#699284;font-weight:700}h1{font-size:42px;line-height:1.25;margin:12px 0;letter-spacing:-1px}h1 br{display:none}h1 em{font-style:normal;color:#3c9175}.hero-sub{color:#5a6b65;margin:0;font-size:14px}.scope-label{display:inline-block;font-size:11px;background:#ebf7f3;border:1px solid #dcf0e9;color:#3c9175;padding:6px 10px;border-radius:5px;margin-top:18px}.scope-label span{margin-left:10px;color:#5c756d}.scope-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;margin:0 0 20px;max-width:540px}.scope-controls label,.filter-row label,.score-controls label{font-size:12px;color:#5a6b65;display:flex;flex-direction:column}.scope-controls select{font-size:16px;font-weight:650;margin-top:5px}.main-tabs{display:flex;border-bottom:1px solid #d4e6e0;margin-bottom:18px}.main-tabs button{background:transparent;border-radius:0;padding:12px 20px;font-weight:650;color:#657d75;border-bottom:3px solid transparent}.main-tabs button.active{color:#3c9175;border-color:#3c9175}.panel{background:rgba(255,255,255,0.929);border:1px solid #dae9e4;border-radius:13px;padding:20px;margin-bottom:16px;box-shadow:0 3px 12px rgba(34,75,61,0.012)}.search-row{display:flex;align-items:center}.search-input{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #dae9e4;border-radius:9px;background:#f9fefc}.search-input>span{font-size:25px;padding-left:12px;line-height:1}.search-input input{flex:1;border:0;min-width:0;background:transparent}.search-row>button{margin-left:14px;white-space:nowrap}.filter-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;margin-top:12px}.filter-row input,.filter-row select{width:100%;margin-top:5px}.advanced-row{grid-template-columns:repeat(4,minmax(0,1fr))}details{margin-top:13px}summary{font-size:12px;color:#5a6b65;cursor:pointer}summary span{margin-left:8px;color:#3c9175}.status{font-size:12px;color:#5a6b65;margin:12px 0;min-height:19px}.status.error{color:#a84d25}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;margin:16px 0 24px}.metric{padding:17px;background:#eefbf7;border:1px solid #daeee7;border-radius:10px;min-width:0}.metric:nth-child(2){background:#f5f9f8;border-color:#e0ebe7}.metric:nth-child(3){background:#fff5e7;border-color:#f0dfc4}.metric small{display:block;color:#5a6b65;font-size:12px}.metric strong{display:block;font-size:29px;line-height:1.4;color:#33755f;font-variant-numeric:tabular-nums}.metric:nth-child(3) strong{color:#b76a08}.metric span{display:block;font-size:10px;color:#6d827b;margin-top:4px;line-height:1.4}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.section-title h2,.section-title h3{font-size:18px;line-height:1.4;margin:0}.section-title>span{color:#708880;font-size:11px;margin-left:10px}.job-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px}.job-card{display:block;text-align:left;width:100%;background:#fff;border:1px solid #dae9e4;border-radius:12px;color:#1d4739;padding:18px;transition:border-color .15s,transform .15s}.job-card:hover{border-color:#8ed3bc}.job-card:active{transform:translateY(1px)}.job-top{display:flex;align-items:flex-start;justify-content:space-between}.job-city{font-size:10px;color:#3c9175;letter-spacing:.3px}.job-card h3{font-size:16px;margin:6px 0 2px;line-height:1.5}.job-title{font-size:13px;color:#5a6b65;margin-bottom:11px}.arrow{font-size:18px;color:#9bb6ad;margin-left:10px}.badges{display:flex;flex-wrap:wrap;margin:0 0 12px}.badge{font-size:10px;color:#5f786f;background:#f3f9f7;border-radius:4px;padding:3px 6px;margin:0 5px 5px 0}.badge.blue{color:#3c9175;background:#eefbf7}.badge.gold{color:#a06512;background:#fff1de}.job-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;border-top:1px solid #ebf4f1;padding-top:12px}.job-data small{color:#718880;font-size:10px;display:block}.job-data b{font-size:19px;display:block;font-weight:700;font-variant-numeric:tabular-nums}.job-data b.gold{color:#b76a08}.job-data i{font-size:10px;font-weight:400;font-style:normal}.job-major{font-size:11px;color:#6d827b;margin:11px 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pagination{display:flex;justify-content:center;align-items:center;margin:22px 0}.pagination button{padding:9px 14px;background:#ebf7f3;color:#3c9175;min-height:40px}.pagination span{margin:0 15px;color:#5a6b65;font-size:12px}.empty{padding:36px 20px;background:#fff;border:1px dashed #cee6de;text-align:center;color:#5a6b65;border-radius:12px;grid-column:1/-1}.page-footer{text-align:center;font-size:10px;line-height:1.9;color:#758e86;border-top:1px solid #dae9e4;padding-top:20px;margin-top:25px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}th,td{text-align:right;padding:10px 8px;border-bottom:1px solid #ebf4f1;white-space:nowrap}th{color:#6c867d;font-weight:500;font-size:10px;border-bottom:2px solid #dae9e4}th:first-child,td:first-child{text-align:left}tbody tr:nth-child(even){background:#f7fdfb}td:first-child{font-weight:650}.click-row{cursor:pointer}.click-row:hover{background:#eefaf6}.note{font-size:11px;color:#708880;line-height:1.8;margin:12px 0 0}.intro-note{margin-top:0}.score-controls{display:flex;align-items:flex-end;margin:16px 0}.score-controls label{flex:1;margin-right:12px}.score-controls input{margin-top:5px;width:100%;font-size:19px;font-weight:700}.primary-button{background:#3c9175;color:white;padding:11px 18px;min-height:46px;border-radius:9px;font-size:13px;font-weight:650;white-space:nowrap}.wide{width:100%;margin-top:15px}.score-answer{background:#1d4739;padding:16px 18px;border-radius:10px;color:#fff;margin:16px 0}.score-answer strong{color:#ffd37c;font-size:22px}.score-answer p{font-size:12px;margin:5px 0 0;color:#cce0d9}.histogram{display:flex;align-items:flex-end;height:130px;margin:16px 0 24px;padding-bottom:22px;border-bottom:1px solid #dae9e4}.hist-col{flex:1;margin:0 3px;position:relative;height:100%;display:flex;align-items:flex-end}.hist-bar{width:100%;background:#acdfce;border-radius:3px 3px 0 0;min-height:1px}.hist-col.highlight .hist-bar{background:#d99728}.hist-col span{position:absolute;bottom:-22px;font-size:9px;left:50%;transform:translateX(-50%);color:#718880}.score-mini{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px}.score-mini>div{background:#f5fbf9;padding:13px;border-radius:8px}.score-mini small{display:block;color:#708880;font-size:11px}.score-mini strong{font-size:23px;color:#33755f}.score-mini span{display:block;font-size:10px;color:#708880}.people-card{border:1px solid #dfede8;border-radius:10px;padding:14px;margin-top:12px;cursor:pointer}.person-head{display:flex;justify-content:space-between;align-items:center}.person-head strong{font-size:15px}.person-head span{color:#6d827b;font-size:10px}.person-context{font-size:11px;color:#5a6b65;margin:5px 0 9px}.person-bg{background:#f6fdfb;border-radius:7px;padding:9px 10px;font-size:11px;line-height:1.9;color:#546e65;overflow-wrap:break-word}.person-bg b{color:#3c9175;font-weight:600}.person-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:5px;margin:10px 0}.person-grades small{display:block;font-size:10px;color:#718880}.person-grades b{font-size:17px;font-variant-numeric:tabular-nums}.person-grades i{font-size:9px;color:#a06512;font-style:normal}.people-summary{padding:12px;background:#eefbf7;border-radius:8px;margin-top:18px;font-size:12px;color:#3c9175}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(28,62,51,0.4);z-index:20;display:flex;align-items:center;justify-content:center;padding:24px}.detail-sheet,.method-sheet{background:#fcfefd;border:1px solid #dae9e4;border-radius:16px;width:780px;max-width:100%;max-height:94vh;display:flex;flex-direction:column;box-shadow:0 16px 80px rgba(29,71,57,0.169)}.method-sheet{width:660px}.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid #dae9e4;color:#3c9175;font-size:12px;flex-shrink:0}.sheet-header h2{font-size:17px;margin:0}.close-button{font-size:27px;line-height:32px;min-width:38px;height:38px;color:#5a6b65;background:#f0f9f6}.sheet-body{padding:22px;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:contain}.sheet-body>h2{font-size:23px;line-height:1.45;margin:0 0 10px}.sheet-body>h3{font-size:15px;margin:20px 0 8px}.sheet-body>p{font-size:12px;color:#5a6b65}.detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.detail-metrics .metric{padding:12px}.detail-metrics .metric strong{font-size:24px}.detail-desc{background:#fff;border:1px solid #dae9e4;border-radius:10px;padding:14px;margin-bottom:15px;font-size:12px;overflow-wrap:break-word}.detail-desc dt{font-weight:650;color:#33755f;margin:10px 0 4px}.detail-desc dt:first-child{margin-top:0}.detail-desc dd{margin:0;color:#5a6b65;white-space:pre-wrap}.detail-desc details{margin-top:10px}.record-title select{font-size:12px;width:auto;max-width:170px}.record-title{margin-top:25px}.sheet-body .person-bg{background:#f1fbf8}.field-line{color:#5a6b65;font-size:12px}.coverage-row{padding:8px 0;border-bottom:1px solid #ebf4f1;font-size:12px;color:#5a6b65}[hidden]{display:none!important}
@media(max-width:700px){.shell{padding-left:17px;padding-right:17px}.brand{height:58px;font-size:11px}.brand .text-button{font-size:11px}.brand-icon{width:22px;height:22px;line-height:22px}.hero{padding:25px 0 18px}h1{font-size:34px}h1 br{display:block}.eyebrow{font-size:8px;letter-spacing:1.1px}.hero-sub{font-size:12px}.scope-label{font-size:9px}.scope-label span{margin-left:6px}.scope-controls{max-width:none;grid-gap:10px;margin-bottom:16px}.scope-controls select{font-size:14px}.main-tabs button{flex:1;padding:11px 4px;font-size:13px}.panel{padding:15px}.filter-row{grid-gap:10px}.advanced-row{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;margin-bottom:20px}.metric{padding:13px}.metric strong{font-size:27px}.job-list{grid-template-columns:1fr;grid-gap:12px}.job-card{padding:16px}.job-card h3{font-size:16px}.job-data b{font-size:21px}.section-title h2{font-size:17px}.overlay{padding:0;align-items:flex-end}.detail-sheet,.method-sheet{border-radius:16px 16px 0 0;width:100%;max-height:94vh;max-height:calc(100% - 24px)}.sheet-header{padding:12px 17px}.sheet-body{padding:17px;padding-bottom:28px;padding-bottom:calc(28px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.sheet-body>h2{font-size:21px}.detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px}.detail-metrics .metric{padding:10px}.detail-metrics .metric strong{font-size:20px}.detail-metrics .metric small{font-size:10px}.detail-metrics .metric span{font-size:9px}.score-mini>div{padding:10px}.score-mini strong{font-size:21px}.scope-controls label{font-size:11px}.score-answer strong{font-size:20px}.person-head strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.job-card{min-width:0}.job-top>div{min-width:0}.job-top h3,.job-title{overflow-wrap:break-word}.job-major{max-width:100%}
@media(max-width:700px){.job-list{grid-template-columns:minmax(0,1fr)}}

.major-tools{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;margin-top:12px}.major-tools>label{font-size:11px;color:#5a6b65}.major-tools select{margin-top:4px;font-size:12px}.major-unlimited{display:flex;align-items:center;padding-top:18px}.major-unlimited input{min-height:0;width:16px;height:16px;margin-right:7px}.major-match-info{background:#f1fbf8;border:1px solid #d6eee6;border-radius:9px;padding:12px;margin-top:12px;font-size:12px;color:#33755f}.major-match-info small{display:block;color:#5a6b65;line-height:1.8;font-size:10px;margin-top:5px}.major-chips{display:flex;flex-wrap:wrap;margin-top:6px}.major-chips span,.major-chips button{font:inherit;font-size:11px;background:white;color:#3c9175;border:1px solid #d3ede4;padding:5px 7px;margin:0 6px 6px 0;border-radius:5px}.major-match-badge{font-size:10px;line-height:1.7;color:#3c9175;background:#f1fbf8;border-radius:5px;padding:5px 7px;margin:6px 0 10px}.personal-major{padding:14px;background:#fff;border:1px solid #dae9e4;border-radius:11px;margin:5px 0 16px}.personal-major label{font-size:12px;color:#5a6b65}.personal-major input[type=search]{width:100%;margin-top:5px}.personal-major-controls{display:flex;align-items:center;margin-top:9px}.personal-major-controls select{width:105px;font-size:12px;min-height:40px;margin-right:9px}.personal-major-controls button{min-height:40px;font-size:12px;padding:8px 13px}.personal-major-info{font-size:11px;color:#5a6b65;line-height:1.8;margin-top:9px}.personal-major-info button{font-size:11px;margin:5px 6px 0 0;padding:5px 8px;color:#3c9175;background:#f1fbf8}.personal-major-title{display:flex;justify-content:space-between;align-items:center}.personal-major-title small{font-size:10px;color:#779289}

.major-chips button.selected{background:#3c9175;color:#fff;border-color:#3c9175}.major-chips button:hover{border-color:#3c9175}.major-active-filter{font-size:11px;color:#5a6b65;margin-top:5px}.major-active-filter b{color:#33755f}
.major-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.major-tools>label{min-width:0}

.filter-actions{margin-top:17px;padding-top:15px;border-top:1px solid #e7f1ee}.filter-actions .primary-button{width:100%;min-height:46px;font-size:15px}.filter-feedback{color:#3c9175;font-size:12px;line-height:1.8;min-height:22px;margin-top:8px;text-align:center}.filter-helper{display:block;font-size:9px;color:#779389;line-height:1.6}

.hero{padding:25px 0 17px}.hero h1{font-size:32px;letter-spacing:-.7px}.hero-sub{font-size:13px}.scope-label{display:none}.scope-controls{max-width:none;grid-template-columns:2fr 1fr 1fr}.main-tabs{position:sticky;top:0;z-index:5;background:#f4f7cf;background:#f6faf9;overflow-x:auto}.main-tabs button{flex:1;white-space:nowrap}.hero h1 em{white-space:nowrap}#insightStatus{font-size:12px;color:#5a6b65;margin:14px 0}.insight-intro{background:#1d4739;color:#fff;border-radius:13px;padding:22px 24px;margin:18px 0 20px}.insight-intro .lead-label{font-size:11px;color:#b1d2c7}.insight-intro h2{font-size:24px;line-height:1.5;margin:7px 0 10px}.insight-intro h2 strong{color:#ffd37c}.insight-intro p{color:#c5dcd4;font-size:12px;margin:0}.question-nav{display:flex;flex-wrap:wrap;margin:0 0 18px}.question-nav button{font-size:12px;color:#3c9175;border:1px solid #d7ebe4;background:#fff;padding:8px 12px;margin:0 7px 7px 0;min-height:38px}.cohort-strip{display:flex;align-items:center;justify-content:space-between;margin:16px 0 12px}.cohort-buttons{display:flex;border:1px solid #d7eee6;border-radius:9px;overflow:hidden}.cohort-buttons button{color:#5a6b65;background:#fff;border-radius:0;padding:9px 14px;font-size:12px}.cohort-buttons button.selected{background:#3c9175;color:white}.scope-memo{color:#6c867d;font-size:11px}.insight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px}.insight-panel{background:rgba(255,255,255,0.949);border:1px solid #dae9e4;border-radius:13px;padding:21px;margin-bottom:17px;min-width:0;scroll-margin-top:75px}.insight-grid>.insight-panel{margin-bottom:0}.insight-section{margin:22px 0;scroll-margin-top:75px}.insight-heading{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 14px}.insight-heading h2{font-size:20px;line-height:1.45;margin:0}.insight-heading p{font-size:11px;color:#6e8a81;margin:4px 0 0}.insight-heading .index{color:#a5bfb6;font-size:11px;font-weight:500;margin-right:7px}.chart-select{max-width:170px;font-size:11px;min-height:35px;padding:6px 9px;margin-left:12px}.chart-kicker{font-size:11px;color:#708880;margin:0 0 9px}.pair-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;margin:15px 0}.pair-card{padding:18px;border-radius:10px;background:#f1fbf8;border-top:3px solid #3c9175}.pair-card.gold{background:#fff5e7;border-color:#bd780e}.pair-name{font-size:13px;font-weight:700;color:#3c9175}.pair-card.gold .pair-name{color:#a3670c}.pair-card .big-num{font-size:30px;font-weight:750;color:#33755f;line-height:1.35;margin:5px 0 2px;font-variant-numeric:tabular-nums}.pair-card.gold .big-num{color:#b76a08}.pair-card .big-num small{font-size:12px;font-weight:500}.pair-card .small-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:6px;color:#5a6b65}.pair-card .small-row b{color:#285747;font-size:13px}.pair-card .pair-foot{color:#718880;font-size:10px;margin-top:10px}.pair-card .drill-link{margin-top:13px}.drill-link{background:transparent;color:#3c9175;font-size:12px;padding:5px 0;text-align:left}.gold .drill-link{color:#a3670c}.chart-foot{font-size:10px;color:#718880;line-height:1.8;margin-top:10px}.chart-legend{display:flex;flex-wrap:wrap;margin:8px 0 15px;font-size:11px;color:#5a6b65}.chart-legend>span{margin-right:16px}.legend-dot{display:inline-block;background:#3c9175;width:8px;height:8px;border-radius:50%;margin-right:5px}.legend-dot.gold{background:#bd780e;border-radius:0}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-svg text{font-family:inherit;font-size:11px;fill:#6d827b}.chart-svg .value-blue{fill:#3c9175;font-size:11px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-width:3px}.chart-svg .value-gold{fill:#ad6a09;font-size:11px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-width:3px}.trend-card h3{font-size:14px;margin:0}.trend-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:14px}.trend-card{background:#fff;border:1px solid #e1eeea;border-radius:11px;padding:15px;min-width:0}.trend-card .chart-legend{font-size:10px;margin:6px 0}.trend-card .chart-foot{margin-top:0}.bar-list{margin:13px 0}.bar-item{width:100%;display:grid;grid-template-columns:115px minmax(50px,1fr) 70px;grid-gap:10px;align-items:center;text-align:left;min-height:38px;border-radius:5px;padding:6px;background:transparent;color:#1d4739}.bar-item:hover{background:#f5fcfa}.bar-item .bar-label{font-size:12px;overflow-wrap:break-word}.bar-item .bar-track{height:15px;background:#f2f8f6;position:relative;border-radius:3px}.bar-item .bar-fill{display:block;height:100%;background:#adddcd;border-radius:3px;min-width:1px}.bar-item .bar-value{text-align:right;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.bar-item.current{background:#eefbf7;border-left:3px solid #d99728}.bar-item.current .bar-fill{background:#3c9175}.bar-item.gold .bar-fill{background:#c9954a}.bar-sub{display:block;font-size:9px;color:#779389;font-weight:400;margin-top:1px}.bar-scroll{max-height:450px;overflow-y:auto;-webkit-overflow-scrolling:touch}.comparison-summary{font-size:12px;color:#3c9175;background:#f1fbf8;padding:12px 14px;border-radius:8px;margin-bottom:13px}.comparison-summary strong{font-size:16px;color:#33755f}.conditions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;margin:14px 0}.condition{display:flex;align-items:center;font-size:12px;background:#f7fbfa;border:1px solid #dfefea;border-radius:8px;padding:10px;cursor:pointer}.condition input{min-height:0;width:16px;height:16px;margin-right:8px;flex-shrink:0}.funnel-row{display:grid;grid-template-columns:120px minmax(0,1fr) 75px;grid-gap:10px;align-items:center;border-bottom:1px solid #ebf4f1;padding:12px 0;width:100%;border-radius:0;text-align:left;background:none}.funnel-label{font-size:12px;color:#5a6b65}.dual-track{height:27px}.dual-track i{height:9px;display:block;border-radius:2px;background:#3c9175;min-width:1px}.dual-track i+ i{margin-top:6px;background:#c38b34}.funnel-value{text-align:right;font-size:14px;font-weight:700;color:#3c9175}.funnel-value .gold{color:#af6e0c}.scatter-wrap{position:relative;width:100%;margin-top:10px}.scatter-wrap canvas{display:block;width:100%;height:310px;touch-action:pan-y}.scatter-selection{background:#f1fbf8;border:1px solid #dcf0e9;padding:13px;border-radius:9px;margin-top:10px;font-size:12px;min-height:61px}.scatter-selection strong{display:block;color:#285747}.scatter-selection p{margin:4px 0;color:#5a6b65}.chart-toolbar{display:flex;align-items:center;justify-content:space-between}.chart-toolbar select{width:110px;min-height:34px;font-size:11px}.score-inputs{display:flex;align-items:flex-end;margin:14px 0}.score-inputs>label{display:flex;flex-direction:column;flex:1;min-width:0;color:#5a6b65;font-size:12px;margin-right:10px}.score-inputs input{font-size:22px;font-weight:700;width:100%;margin-top:5px}.coverage-pair{font-size:12px;display:flex;justify-content:space-between;align-items:center;margin:10px 0}.coverage-pair strong{font-size:22px}.coverage-progress{height:12px;background:#f1f7f5;position:relative;border-radius:4px;overflow:hidden}.coverage-progress i{height:100%;display:block;background:#3c9175;border-radius:4px}.coverage-progress.gold i{background:#c38b34}.score-cells{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px}.coverage-card{background:#f6fdfb;border:1px solid #dcefe9;padding:15px;border-radius:10px}.coverage-card.gold{background:#fff6e9;border-color:#efdfc7}.coverage-card small{display:block;font-size:11px;color:#5a6b65}.coverage-card strong{display:block;font-size:29px;color:#3c9175;margin:5px 0}.coverage-card.gold strong{color:#ad6c0c}.coverage-card strong span{font-size:12px}.coverage-card p{font-size:11px;color:#718880;margin:5px 0}.donut-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px}.donut-block{text-align:center}.donut-block svg{width:170px;max-width:100%;height:170px;display:block;margin:auto}.donut-block h3{font-size:13px;margin:5px 0}.donut-block p{font-size:11px;color:#6d827b;margin:4px 0}.donut-value{font-size:24px;font-weight:700;fill:#3c9175}.donut-value.gold{fill:#ad6c0c}.score-diff{display:flex;justify-content:space-between;background:#f1fbf8;border-radius:10px;padding:16px;margin-top:15px;font-size:12px;color:#5a6b65}.score-diff b{font-size:20px;color:#33755f;display:block}.threshold-table{overflow-x:auto}.threshold-table td button{color:#3c9175;background:#eefbf7;font-size:11px;padding:5px 9px}.case-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px}.case-card{padding:16px;border:1px solid #dae9e4;background:white;border-radius:10px;text-align:left;color:#1d4739}.case-card .case-type{font-size:10px;color:#3c9175;margin-bottom:5px}.case-card h3{font-size:14px;margin:0 0 6px}.case-card p{color:#6c867d;font-size:11px;margin:4px 0}.case-card strong{font-size:24px;color:#3c9175}.case-card .gold{color:#ad6c0c}.case-card span{font-size:10px;color:#718880}.partner-chip{display:inline-block;background:#f2fcf9;border:1px solid #dcf1ea;color:#3c9175;margin:0 8px 8px 0;font-size:12px;padding:8px 10px;min-height:38px}.partner-chip b{margin-left:8px}.more-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.empty-chart{color:#718880;text-align:center;font-size:12px;padding:35px 12px}.mini-matrix{width:100%;font-size:11px}.mini-matrix th,.mini-matrix td{padding:10px 7px}.mini-matrix .blue{color:#3c9175}.mini-matrix .gold{color:#ad6c0c}.insight-badge{font-size:10px;color:#5a6b65;background:#f3f9f7;padding:3px 6px;border-radius:4px}.section-jump{scroll-margin-top:70px}.major-control select{background:#f1fbf8;border-color:#bbe1d4}.cohort-buttons button:focus{position:relative;z-index:1}.insight-grid + .insight-grid{margin-top:16px}.analysis-people-title{font-size:17px;color:#1d4739;margin:18px 0 10px}body .main-tabs{background:#f6faf9}#profileCharts{margin-top:18px}
@media(max-width:700px){.hero{padding:19px 0 14px}.hero h1{font-size:26px;line-height:1.5;letter-spacing:-.6px;margin:7px 0}.hero h1 em{white-space:normal}.hero-sub{font-size:11px}.scope-controls{grid-template-columns:1fr 1fr;grid-gap:9px}.major-control{grid-column:1/-1}.major-control select{font-size:17px}.main-tabs button{font-size:12px;padding:11px 3px}.insight-intro{padding:18px;margin:14px 0 18px}.insight-intro h2{font-size:19px}.insight-intro p{font-size:11px}.insight-grid{grid-template-columns:minmax(0,1fr)}.insight-panel{padding:16px}.insight-heading h2{font-size:18px}.insight-heading p{font-size:10px}.pair-cards{grid-gap:9px}.pair-card{padding:13px}.pair-card .big-num{font-size:26px}.pair-card .small-row{font-size:10px}.pair-card .small-row b{font-size:12px}.trend-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px}.trend-card{padding:11px}.trend-card h3{font-size:12px}.trend-card .chart-svg text{font-size:12px}.trend-card .chart-legend{font-size:9px}.trend-card .chart-legend>span{margin-right:8px}.trend-card .chart-foot{font-size:9px}.cohort-strip{display:block}.scope-memo{display:block;margin-top:6px}.cohort-buttons{display:inline-flex}.conditions{grid-gap:8px}.condition{font-size:11px;padding:9px 7px}.funnel-row{grid-template-columns:95px minmax(0,1fr) 68px;grid-gap:7px}.funnel-label{font-size:10px}.funnel-value{font-size:12px}.chart-select{max-width:135px;font-size:10px}.bar-item{grid-template-columns:108px minmax(30px,1fr) 62px;grid-gap:7px;padding:6px 3px}.bar-item .bar-label{font-size:11px}.bar-item .bar-value{font-size:12px}.case-grid{grid-gap:9px}.case-card{padding:12px}.case-card h3{font-size:12px}.case-card strong{font-size:21px}.case-card p{font-size:10px}.donut-block svg{height:155px}.donut-block p{font-size:10px}.coverage-card{padding:12px}.coverage-card strong{font-size:27px}.question-nav button{padding:7px 10px;font-size:11px}.scatter-wrap canvas{height:290px}.scope-label{display:none}}
@media(max-width:1100px){.trend-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){.trend-grid{grid-template-columns:minmax(0,1fr)}.trend-card{padding:15px}.trend-card h3{font-size:15px}.trend-card .chart-legend{font-size:11px}.trend-card .chart-foot{font-size:10px}.trend-card .chart-svg text{font-size:11px}}
.donut-value{font-size:20px}
.hist-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.hist-scroll svg{max-width:760px;margin:0 auto}

.scope-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:540px}.hero h1{font-size:34px}.hero-sub{font-size:13px}.scope-label{display:inline-block}.main-tabs{position:static;top:auto;background:transparent}.main-tabs button{font-size:14px}.unified-scope{padding:15px 18px;border:1px solid #d7ece5;background:#f1fbf8;border-radius:10px;margin:15px 0}.unified-scope strong,.unified-scope span,.unified-scope small{display:block}.unified-scope strong{font-size:15px}.unified-scope span{font-size:12px;color:#3c9175;margin-top:4px}.unified-scope small{font-size:10px;color:#6c867d;line-height:1.8;margin-top:6px}.unified-jumps{margin-bottom:18px}.drill-banner{display:flex;align-items:center;justify-content:space-between;background:#f1fbf8;border:1px solid #d6eee6;padding:10px 14px;border-radius:9px;margin-bottom:17px;color:#3c9175;font-size:12px}.section-title>span{max-width:60%}#insightStatus{margin-top:0}.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-panel{scroll-margin-top:15px}.insight-section{scroll-margin-top:15px}
@media(max-width:1100px){.trend-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:700px){.scope-controls{max-width:none}.hero h1{font-size:30px}.hero-sub{font-size:12px}.main-tabs button{font-size:13px}.trend-grid{grid-template-columns:minmax(0,1fr)}.drill-banner{display:block}.drill-banner button{display:block;margin-top:5px}.unified-scope{padding:13px}}

.scope-controls{grid-template-columns:minmax(0,1fr);max-width:270px}
@media(max-width:700px){.scope-controls{max-width:none}}
.filter-row .city-field{grid-column:1/-1;position:relative;min-width:0}
.city-caption{display:block;font-size:12px;color:#5a6b65}
.city-picker{position:relative;margin-top:5px}
.city-picker-btn{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#285747;border:1px solid #dae9e4;border-radius:9px;padding:9px 10px;text-align:left;cursor:pointer}
.city-picker-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-picker-btn i{font-style:normal;color:#5a6b65}
.city-picker-panel{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;background:#fff;border:1px solid #bbe1d4;border-radius:9px;box-shadow:0 8px 22px rgba(50,89,76,0.149);padding:10px;max-height:340px;overflow-y:auto}
.city-picker-panel[hidden]{display:none}
.city-opt{display:flex;align-items:center;min-height:36px;font-size:14px;color:#285747}
.city-opt input{min-height:0;width:18px;height:18px;margin:0 7px 0 0;padding:0}
.city-opt-all{border-bottom:1px solid #e8f2ef;margin-bottom:4px;font-weight:650}
.city-grid{display:grid;grid-template-columns:1fr 1fr}
.city-actions{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #e8f2ef}
.city-actions button{min-height:38px;padding:0 16px;border:1px solid #dae9e4;background:#fff;color:#285747;border-radius:9px}
.city-actions .primary-button{background:#3c9175;color:#fff;border-color:#3c9175}

/* 城市多选：整块可点、选中变蓝，覆盖筛选区里 label 的竖排样式 */
.filter-row .city-opt{display:flex;flex-direction:row;align-items:center;min-height:46px;margin:0 0 6px;padding:0 12px;border:1px solid #dae9e4;border-radius:9px;background:#fff;color:#285747;font-size:15px;cursor:pointer}
.filter-row .city-opt.on{background:#ebfaf5;border-color:#3c9175;color:#2f745d;font-weight:650}
.filter-row .city-opt input{width:20px;height:20px;min-height:0;margin:0 9px 0 0;padding:0;flex:none}
.filter-row .city-opt-all{margin-bottom:8px}
.city-grid{grid-gap:0 8px}
.city-actions{position:sticky;bottom:-10px;background:#fff;margin:4px -10px -10px;padding:8px 10px 10px}
.city-picker-panel{max-height:420px}

/* 岗位所在地 + 岗位范围 并排；面板铺满整行宽度，不再被半列挤窄 */
.filter-row .wide{grid-column:1/-1}
.filter-row .pick-field{position:relative;min-width:0}
.pick-field .city-picker{position:static;margin-top:5px}
.pick-field .city-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}
.pick-field .city-picker-btn{position:relative}
.pick-field .city-picker-panel{left:0;right:auto;top:100%;width:calc(200% + 12px);margin-top:4px}
.pick-field .city-picker-panel.pick-right{left:auto;right:0}
.city-grid.one{grid-template-columns:1fr}
.filter-row .city-opt{white-space:normal;line-height:1.35;padding-top:6px;padding-bottom:6px}

/* 图表分栏：一次只显示一栏 */
.insight-page[hidden]{display:none}
.unified-jumps{position:relative;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin-bottom:14px}
.unified-jumps button{flex:none;font-size:13px;padding:8px 14px;margin-right:8px}
.unified-jumps button.selected{background:#3c9175;border-color:#3c9175;color:#fff;font-weight:650}
.unified-jumps{flex-wrap:wrap;overflow-x:visible}
@media(max-width:700px){.unified-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px}.unified-jumps button{margin:0;padding:9px 2px;font-size:12px;white-space:nowrap;text-align:center;min-height:40px}}

/* 整体分析：宽屏固定在右侧，窄屏变成底部抽屉 */
.ov-block{border-top:1px solid #e8f2ef;padding:14px 0}
.ov-block:first-child{border-top:0;padding-top:4px}
.ov-block h3{margin:2px 0 8px;font-size:17px;line-height:1.35}
.ov-block h4{margin:0 0 3px;font-size:14px}
.ov-kicker{font-size:11px;color:#5a6b65}
.ov-def{margin:0 0 9px;font-size:11.5px;line-height:1.55;color:#5a6b65;background:#f6faf9;border-radius:8px;padding:7px 9px}
.ov-sub{margin:0 0 8px;font-size:11px;color:#6d827b}
.ov-kpis{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;margin:8px 0 10px}
.ov-kpis div{background:#f1fbf8;border-radius:9px;padding:8px 10px}
.ov-kpis div.gold{background:#fff4e2}
.ov-kpis b{display:block;font-size:19px;color:#3c9175}
.ov-kpis .gold b{color:#b86e12}
.ov-kpis span{font-size:11px;color:#5a6b65}
.ov-sent{margin:0;padding-left:17px;font-size:12.5px;line-height:1.75}
.ov-sent b{color:#3c9175}
.ov-bars,.ov-region{display:block}
.ov-bar,.ov-city{display:grid;align-items:center;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:5px 6px;cursor:pointer;color:inherit;font:inherit}
.ov-bar{grid-template-columns:96px minmax(0,1fr) 44px;grid-gap:6px}
.ov-bar.current,.ov-city.current{background:#ebfaf5;border-color:#3c9175}
.ov-bar-name{font-size:12px;line-height:1.3;min-width:0;overflow-wrap:break-word;word-wrap:break-word}
.ov-bar-name small,.ov-city-name small,.ov-city-val small{display:block;font-size:10px;color:#6d827b}
.ov-bar-track{display:block;height:9px;background:#ebf4f1;border-radius:5px;overflow:hidden}
.ov-bar-track i{display:block;height:100%;background:#3c9175;border-radius:5px}
.ov-bar.current .ov-bar-track i,.ov-city.current .ov-bar-track i{background:#e08a1e}
.ov-bar-val,.ov-city-val{font-size:12.5px;font-weight:650;text-align:right}
.ov-gap{font-size:10.5px;color:#a0b2ac;text-align:center;padding:2px 0}
.ov-region{margin-top:10px}
.ov-region-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;border-bottom:1px solid #e8f2ef;padding:0 6px 4px}
.ov-region-head span{font-size:10.5px;color:#5a6b65}
.ov-city{grid-template-columns:70px minmax(0,1fr) 92px;grid-gap:6px}
.ov-city-name{font-size:12.5px}
.ov-city-val small{text-align:right}
.ov-city-trend{grid-column:1/-1;font-size:10.5px;color:#6d827b;padding-left:76px}
.ov-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;padding:6px 2px;border-bottom:1px dashed #e8f2ef;font-size:12.5px}
.ov-row b{color:#3c9175}
.ov-row small{flex-basis:100%;font-size:10.5px;color:#6d827b}
.ov-link{cursor:pointer}
.ov-chips{display:flex;flex-wrap:wrap}
.ov-chip{border:1px solid #d7ebe4;background:#fff;color:#285747;border-radius:16px;font:inherit;font-size:12px;padding:6px 10px;margin:0 6px 6px 0;cursor:pointer}
.ov-chip b{margin-left:6px;color:#3c9175}
.ov-foot{font-size:10.5px;line-height:1.6;color:#6d827b;margin:6px 0 0}

/* 整体分析：三年表格与口径切换 */
.ov-seg{display:flex;margin:8px 0}
.ov-seg button{flex:1;border:1px solid #d7ebe4;background:#fff;color:#3c9175;font:inherit;font-size:13px;padding:8px 6px;min-height:38px;cursor:pointer}
.ov-seg button:first-child{border-radius:9px 0 0 9px}
.ov-seg button:last-child{border-radius:0 9px 9px 0;margin-left:-1px}
.ov-seg button.on{background:#3c9175;border-color:#3c9175;color:#fff;font-weight:650}
.ov-table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0 0}
.ov-table th{font-weight:600;color:#5a6b65;font-size:11px;text-align:right;padding:4px 3px;border-bottom:1px solid #dae9e4;white-space:nowrap}
.ov-table td{text-align:right;padding:6px 3px;border-bottom:1px dashed #e8f2ef;font-variant-numeric:tabular-nums}
.ov-table td:first-child{text-align:left;color:#285747;white-space:normal;padding-right:6px}
.ov-table td.last{color:#3c9175;font-weight:650}
.ov-more{width:100%;margin-top:8px;border:1px dashed #bbe1d4;background:#f6fdfb;color:#3c9175;font:inherit;font-size:12.5px;padding:9px;border-radius:9px;cursor:pointer}

/* 点击后不再出现粗蓝框（原先被栏目容器裁成两条竖线）；键盘操作时仍有可见焦点 */
button:focus{outline:none}
.kbd button:focus{outline:2px solid #8ed3bc;outline-offset:2px}
.main-tabs{overflow:visible}
.main-tabs button,.unified-jumps button,.ov-seg button,.city-picker-btn{-webkit-tap-highlight-color:transparent}

/* 整体分析：页面最上方的可展开栏 */
.overview-top{background:#fff;border:1px solid #dae9e4;border-radius:13px;margin:4px 0 14px;color:#285747;overflow:hidden}
.ov-toggle{display:flex;align-items:center;width:100%;text-align:left;border:0;background:transparent;font:inherit;color:inherit;padding:12px 14px;cursor:pointer;min-height:56px}
.ov-toggle-main{display:block;flex:none}
.ov-toggle-main b{display:block;font-size:16px;color:#285747}
.ov-toggle-main small{display:block;font-size:11px;color:#6d827b;margin-top:2px}
.ov-toggle-sum{flex:1;min-width:0;font-size:12px;color:#3c9175;text-align:right;line-height:1.45}
.ov-toggle i{font-style:normal;color:#5a6b65;transition:transform .2s}
.overview-top.open .ov-toggle i{transform:rotate(180deg)}
.overview-top.open .ov-toggle{border-bottom:1px solid #e8f2ef}
.ov-body{padding:4px 14px 18px}
.ov-body[hidden]{display:none}
.ov-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-gap:12px;margin-top:8px}
.ov-chart{border:1px solid #e8f2ef;border-radius:10px;padding:10px 10px 6px}
.ov-chart h5,.ov-h5{margin:0 0 4px;font-size:12.5px;color:#285747}
.ov-h5{margin:14px 0 4px}
.ov-svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto}
.ov-svg text{font-family:inherit}
.ov-ax{font-size:10px;fill:#6d827b}
.ov-val{font-size:11px;font-weight:650}
.ov-in{font-size:10.5px;fill:#fff;font-weight:650}
.ov-tag{font-size:10px;fill:#285747}
.ov-legend{display:flex;flex-wrap:wrap;margin:4px 0 2px;font-size:11px;color:#5a6b65}
.ov-legend span{margin-right:12px;display:inline-flex;align-items:center}
.ov-legend i{width:9px;height:9px;border-radius:2px;margin-right:5px;display:inline-block}
.ov-kpis em{font-style:normal;font-size:11px;margin-left:6px}
.ov-kpis em.up{color:#c0392b}
.ov-kpis em.down{color:#1a8a5a}
.ov-note{margin:6px 0 0;font-size:10.5px;color:#6d827b}
.ov-spark{width:54px;height:18px;display:block}
.ov-bar{grid-template-columns:96px minmax(0,1fr) 40px 54px}
.ov-region-head{grid-gap:8px;align-items:center}
.ov-region-head span{flex:1;text-align:right}
.ov-metric{display:flex;align-items:center;font-size:12px;color:#5a6b65;margin:4px 0 8px}
.ov-metric select{margin-left:8px;min-height:36px;font-size:13px;width:auto}
.ov-div{display:block}
.ov-div-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-gap:6px;align-items:center;width:100%;border:0;background:transparent;font:inherit;color:inherit;padding:4px 4px;cursor:pointer;text-align:left}
.ov-div-name{font-size:12px}
.ov-div-track{position:relative;display:block;height:12px;background:linear-gradient(90deg,transparent calc(50% - .5px),#d4e3de calc(50% - .5px),#d4e3de calc(50% + .5px),transparent calc(50% + .5px))}
.ov-div-track i{position:absolute;top:1px;bottom:1px;border-radius:3px}
.ov-div-track i.pos{left:50%;background:#e0644a}
.ov-div-track i.neg{right:50%;background:#3c9175}
.ov-div-val{font-size:11.5px;text-align:right;font-weight:650}
.ov-gates{display:block;margin-top:6px}
.ov-gate{display:grid;grid-template-columns:86px minmax(0,1fr) 44px;grid-gap:8px;align-items:center;padding:4px 2px}
.ov-gate-name{font-size:12px}
.ov-gate-bars{display:block}
.ov-gate-bars i{display:block;height:5px;border-radius:3px;margin:1px 0}
.ov-gate-bars i.y0{background:#c4e3d9}
.ov-gate-bars i.y1{background:#93c8b6}
.ov-gate-bars i.y2{background:#3c9175}
.ov-gate-val{font-size:12px;text-align:right;font-weight:650;color:#3c9175}

/* 配对专业对照 */
.pair-list{display:block;margin-top:8px}
.pair-row{display:grid;grid-template-columns:104px minmax(0,1fr) 54px;grid-gap:8px;align-items:center;width:100%;border:1px solid transparent;background:transparent;font:inherit;color:inherit;text-align:left;padding:6px 6px;border-radius:9px;cursor:pointer}
.pair-row.own{background:#ebfaf5;border-color:#3c9175;cursor:default}
.pair-name{font-size:12.5px;line-height:1.3;min-width:0;overflow-wrap:break-word;word-wrap:break-word}
.pair-name small{display:block;font-size:10.5px;color:#6d827b}
.pair-bars{display:block}
.pair-bars i{display:block;height:8px;border-radius:4px;margin:2px 0}
.pair-bars i.a{background:#3c9175}
.pair-bars i.b{background:#e08a1e}
.pair-val{text-align:right;font-size:12.5px}
.pair-val b{display:block;color:#3c9175}
.pair-val small{display:block;color:#b86e12;font-size:11px}
.pair-table{margin-top:12px}
/* 分数覆盖：进面线 / 录取线 */
.cov-line{margin-top:10px}
.cov-line:first-of-type{margin-top:8px}
.cov-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:#285747}
.cov-head strong{font-size:20px}
.cov-head small{font-size:12px;color:#6d827b;font-weight:400}
.cov-line p{margin:4px 0;font-size:12px;color:#5a6b65}
.ov-toggle{flex-wrap:wrap}
.ov-toggle-main{flex:1}
.ov-toggle i{order:2}
.ov-toggle-sum{order:3;flex-basis:100%;text-align:left}
@media(min-width:700px){.ov-toggle{flex-wrap:nowrap}.ov-toggle-main{flex:none}.ov-toggle i{order:3}.ov-toggle-sum{order:2;flex-basis:auto;flex:1;text-align:right}}
.ov-ax{font-size:12.5px}
.ov-val{font-size:13px}
.ov-in{font-size:12.5px}
.ov-tag{font-size:12.5px}

/* 气泡图：点击只高亮并显示名称 */
.ov-svg g[data-ovbub]{cursor:pointer}
.ov-tag-sel{display:none}
.ov-svg g.sel .ov-tag-sel{display:inline;font-weight:650}
.ov-svg g.sel circle{fill:#e08a1e;fill-opacity:.75;stroke:#b86e12;stroke-width:2}
.ov-info{background:#f6fdfb;border:1px solid #def1eb;border-radius:10px;padding:10px 12px;margin-top:8px;min-height:44px}
.ov-info-hint{font-size:12px;color:#6d827b}
.ov-info-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap}
.ov-info-head b{font-size:15px;color:#285747}
.ov-info-head span{font-size:11px;color:#6d827b}
.ov-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;margin:8px 0}
.ov-info-grid div{background:#fff;border-radius:8px;padding:6px 7px}
.ov-info-grid small{display:block;font-size:10px;color:#6d827b}
.ov-info-grid b{font-size:14px;color:#3c9175}

.ov-svg{max-width:380px}

.ov-svg g.top circle{fill:#3c9175;fill-opacity:.6;stroke-width:1.6}
.ov-svg g.top .ov-tag{font-weight:650}
.ov-info-grid .hot{background:#fff4e2}
.ov-info-grid .hot b{color:#b86e12}

.ov-tagline{font-size:13px;font-weight:650;fill:#285747}

.filters-head{justify-content:space-between;align-items:center}
.filters-title{font-size:15px;font-weight:650;color:#285747}

/* 散点图二次筛选 */
.sc-filters{margin:8px 0 4px;padding:10px 10px 4px;background:#f6fdfb;border:1px solid #def1eb;border-radius:10px}
.sc-row{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.sc-label{flex:none;font-size:12px;color:#5a6b65;margin-right:8px;min-width:54px}
.sc-chip{border:1px solid #d7ebe4;background:#fff;color:#285747;border-radius:16px;font:inherit;font-size:12.5px;padding:6px 11px;margin:0 6px 6px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sc-chip b{margin-left:5px;font-weight:600;color:#6d827b}
.sc-chip.on{background:#3c9175;border-color:#3c9175;color:#fff;font-weight:650}
.sc-chip.on b{color:#e3f7f0}

/* 具体职位：较低 / 较高竞争分组 */
.case-group-title{display:flex;align-items:baseline;flex-wrap:wrap;margin:16px 0 8px;font-size:15px;color:#285747}
.case-group-title:first-child{margin-top:4px}
.case-group-title small{margin-left:10px;font-size:11px;font-weight:400;color:#6d827b}
.case-group-title::before{content:"";width:5px;height:16px;border-radius:3px;margin-right:8px;background:#3c9175;align-self:center}
.case-group-title.high::before{background:#e08a1e}

/* 录用来源：查询 + 重置 */
.people-actions{display:flex;margin-top:12px}
.people-actions .primary-button{flex:1;width:auto;margin:0}
.people-actions .reset-btn{flex:none;min-width:76px;margin-left:10px;border:1px solid #d7ebe4;background:#fff;color:#3c9175;border-radius:9px;font:inherit;font-size:14px;font-weight:650;min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent}

/* 份额差：有 / 无户籍限制分开 */
.ov-h6{margin:14px 0 2px;font-size:13px;color:#285747;display:flex;align-items:baseline;flex-wrap:wrap}
.ov-h6 small{margin-left:8px;font-size:10.5px;font-weight:400;color:#6d827b}
.ov-div-name small{display:block;font-size:9.5px;color:#a0b2ac}
.ov-div-row{grid-template-columns:48px minmax(0,1fr) 44px}

.ov-sent-line{margin:8px 0 4px;font-size:13px;line-height:1.7;color:#285747}
.ov-sent-line b{color:#3c9175}

.sort-quick{display:flex;align-items:center;justify-content:flex-end;font-size:12px;color:#5a6b65;margin:-4px 0 10px}
.sort-quick select{width:auto;max-width:190px;min-height:38px;margin-left:8px;font-size:13px}

/* 手机可读性：小字不低于 11px，常用点击区域不低于约 36px */
small,.bar-sub,.case-card p,.case-type,.badge,.job-city,.person-head span,.chart-foot,.metric span,.small-row span,.funnel-label,.filter-helper,.major-match-info small,.pair-name small,.ov-bar-name small,.ov-city-name small,.ov-city-val small,.ov-div-name small,.ov-region-head span,.ov-note,.ov-h6 small,.ov-gap,.ov-foot,.ov-sub,.ov-city-trend,.ov-info-hint{font-size:11.5px}
.ov-div-name small{font-size:11px}
.eyebrow{font-size:10.5px}
.scope-label span{font-size:11px}
.badge{padding-top:3px;padding-bottom:3px}
summary{min-height:40px;padding-top:9px;padding-bottom:9px;box-sizing:border-box}
.major-unlimited{display:flex;align-items:center;min-height:40px}
.major-unlimited input{width:20px;height:20px;min-height:0;margin:0 8px 0 0}
.major-chips button,.major-match-info button,.drill-link,.text-button{min-height:36px}
.drill-link{display:inline-flex;align-items:center;padding:4px 2px}
body main small,body main i{font-size:11px}
body main .ov-bar-track i,body main .ov-div-track i,body main .bar-fill,body main .legend-dot{font-size:0}

/* 年份并入筛选区；岗位范围占满一行 */
.filter-row .pick-field.wide{grid-column:1/-1}
.pick-field.wide .city-picker-panel,.pick-field.wide .city-picker-panel.pick-right{left:0;right:0;width:auto}
.year-field select{font-size:14px}
@media(max-width:700px){
 .eyebrow,.hero-sub,.scope-label{display:none}
 .hero{padding:6px 0 4px}
 .hero h1{font-size:23px;line-height:1.3;margin:4px 0 6px;letter-spacing:-.4px}
 .hero h1 br{display:none}
 .brand{padding-bottom:8px}
 .overview-top{margin:2px 0 8px}
 .metrics{grid-gap:8px}
 .metric{padding:11px 12px}
 .metric strong,.metric b{font-size:25px}
 .unified-scope{padding:11px 13px}
}
@media(max-width:700px){
 .filters-head{margin-bottom:0}
 .filters.panel{padding-top:14px}
 .filter-row{margin-top:8px;grid-gap:8px 10px}
 .major-tools{margin-top:8px;grid-gap:8px 10px}
 .city-caption,.filter-row label{line-height:1.3}
 .filter-row .wide input{margin-top:3px}
}

/* 各城市覆盖率 */
.cov-city-title{margin:18px 0 4px;font-size:15px;color:#285747}
.cov-city-title small{display:block;margin-top:2px;font-size:11.5px;font-weight:400;color:#6d827b}
.cov-cities{display:block;margin-top:4px}
.cov-city{display:grid;grid-template-columns:62px minmax(0,1fr) 54px;grid-gap:8px;align-items:center;width:100%;border:1px solid transparent;background:transparent;font:inherit;color:inherit;text-align:left;padding:5px 6px;border-radius:9px;cursor:pointer}
.cov-city.current{background:#ebfaf5;border-color:#3c9175}
.cov-city-name{font-size:13px}
.cov-city-name small{display:block;font-size:11px;color:#6d827b}
.cov-city-bars{display:block}
.cov-city-bars i{display:block;height:7px;border-radius:4px;margin:2px 0}
.cov-city-bars i.a{background:#3c9175}
.cov-city-bars i.b{background:#e08a1e}
.cov-city-val{text-align:right;font-size:13px}
.cov-city-val b{display:block;color:#3c9175}
.cov-city-val small{display:block;color:#b86e12;font-size:11.5px}

/* 城市 × 专业热力图 */
.heat-wrap{margin-top:8px}
.heat{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed;font-size:11.5px}
.heat th{font-weight:600;color:#285747;font-size:11px;line-height:1.2;word-break:break-all;padding:2px 0;text-align:center}
.heat th.heat-corner{width:42px}
.heat th.heat-row{text-align:left;font-size:12px;white-space:nowrap;padding-left:2px}
.heat td{text-align:center;height:27px;border-radius:5px;font-variant-numeric:tabular-nums;padding:0}
.heat td.heat-empty{background:#f6faf9;color:#c6d5d0}
.heat-legend{display:flex;align-items:center;margin-top:8px;font-size:11px;color:#6d827b}
.heat-legend i{flex:1;max-width:160px;height:8px;margin:0 8px;border-radius:4px;background:linear-gradient(90deg,#f2fbf8,#3c9175)}

.heat th{white-space:normal;overflow-wrap:break-word;word-wrap:break-word}
.heat thead th{height:34px;vertical-align:bottom}

.city-reset-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:6px 0 8px;padding:8px 10px;background:#f6fdfb;border:1px solid #def1eb;border-radius:9px;font-size:12.5px;color:#5a6b65}
.city-reset-row b{color:#285747}
.city-reset-row .sc-chip{margin:0}
.empty-chart small{display:block;margin-top:4px;color:#6d827b}

/* Flex 间距：Chrome 61 不支持 flex gap，用 margin 做基线 */
.city-picker-btn i{margin-left:8px}
.city-actions button+button{margin-left:10px}
.ov-toggle i{margin-left:10px}
@media(min-width:700px){.ov-toggle-sum{margin-left:10px}}
/* 刘海屏 / 底部手势条：弹层底部留安全区（不支持 env() 的内核保持原值） */
.sheet-body{padding-bottom:24px;padding-bottom:calc(24px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}
.page-footer{padding-bottom:24px;padding-bottom:calc(24px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}

.cov-city-head{display:flex;align-items:flex-start;justify-content:space-between}
.cov-city-head .cov-city-title{flex:1;min-width:0}
.cov-reset{flex:0 0 auto;margin:18px 0 0 10px;min-height:36px;padding:0 15px;border:1px solid #cde2db;border-radius:18px;background:#fff;color:#3c9175;font-size:13px;font-weight:650}
.cov-sum{margin:0 0 10px;line-height:1.7}.cov-sum b{color:#285747}
.cov-modes{display:block;margin:2px 0 10px}.cov-modes .sc-chip{margin:0 7px 7px 0}
.cov-job{display:block;width:100%;text-align:left;border:1px solid #e3eeea;background:#fff;border-radius:12px;padding:11px 13px;margin:0 0 9px;font:inherit;color:inherit}
.cov-job:active{background:#f6fcfa}
.cov-job .cj-top{display:block;font-size:12px;color:#6d827b}
.cov-job strong{display:block;margin:2px 0 1px;font-size:15px;color:#285747;overflow-wrap:break-word}
.cov-job .cj-title{display:block;font-size:13px;color:#4a5f58;overflow-wrap:break-word}
.cov-job .cj-meta{display:block;margin-top:5px;font-size:12px;color:#5a6b65}
.cov-job .cj-tags{display:block;margin-top:6px}
.cov-tag{display:inline-block;font-style:normal;font-size:12px;border-radius:6px;padding:2px 8px;margin:0 6px 4px 0}
.cov-tag.hit{background:#e4f6ec;color:#1b7448}.cov-tag.miss{background:#fdecea;color:#b4402f}.cov-tag.none{background:#f0f6f4;color:#6d827b}
.cov-actions{margin:6px 0 4px}

.filter-row label.wide{position:relative}
.major-suggest{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:30;background:#fff;border:1px solid #d1e7e0;border-radius:12px;box-shadow:0 10px 28px rgba(34,76,62,.16);max-height:320px;overflow-y:auto;padding:4px}
.major-suggest button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;font:inherit;font-size:14px;color:#285747;min-height:40px}
.major-suggest button.on,.major-suggest button:active{background:#ebfaf5}
.major-suggest .ms-foot{padding:6px 12px 4px;font-size:12px;color:#6d827b}

/* 弹窗操作避开宿主顶部按钮；底部操作区不随正文滚动。 */
.sheet-footer{flex-shrink:0;padding:12px 17px;border-top:1px solid #dae9e4;background:#fcfefd;border-radius:0 0 16px 16px;padding-bottom:12px;padding-bottom:calc(12px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}
.sheet-footer .close-button{display:block;width:100%;min-height:48px;height:auto;padding:10px 16px;font-size:16px;font-weight:600;line-height:28px;background:#ebf7f3;color:#3c9175}
.sheet-body{min-height:0}
@media(max-width:700px){
.overlay{padding-top:80px;padding-top:calc(80px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)))}
.detail-sheet,.method-sheet{max-height:100%}
.sheet-footer{border-radius:0}
}

/* 数据大观：门户一致的底色与顶栏 */
body{background-color:#f5f7f6;color:#263831}
.brand a.back{color:#20624e;font-size:13px;font-weight:400;margin-right:12px;text-decoration:none}
.brand .brand-right{display:flex;align-items:center}
.page-footer a{color:inherit}

/* 筛选区与录用来源：所有输入控件同高、同字号、同留白 */
.filters.panel input[type=search],.filters.panel select,.filters.panel .city-picker-btn,#peopleView input[type=search]{box-sizing:border-box;height:42px;min-height:42px;margin-top:0;padding-top:0;padding-bottom:0;font-size:14px;line-height:1.3;border-radius:9px}
.filters.panel input[type=search],.filters.panel select,#peopleView input[type=search]{width:100%;padding-left:12px;padding-right:12px}
.filters.panel select{padding-right:30px}
.filters.panel .city-picker-btn{padding:0 12px}
.filters.panel .city-picker{margin-top:0}
.filters.panel .filter-row label,.filters.panel .major-tools>label,#peopleView .filter-row label,.filters.panel .city-caption{display:flex;flex-direction:column;font-size:12px;line-height:1.3;color:#5a6b65}
.filters.panel .filter-row label>input,.filters.panel .filter-row label>select,.filters.panel .major-tools>label>select,#peopleView .filter-row label>input{margin-top:6px}
.filters.panel .city-caption{display:block;margin-bottom:6px}
.filters.panel .filter-row,.filters.panel .major-tools,#peopleView .filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px 12px;margin-top:14px;align-items:end}
.filters.panel .filter-row .wide,#peopleView .filter-row .wide{grid-column:1/-1;margin-top:0}
.filters.panel .major-tools>label{min-width:0}
.filters.panel .filter-helper{font-size:11px;margin:1px 0 0;color:#779389}
.filters.panel label.major-unlimited{flex-direction:row;align-items:center;align-self:end;height:42px;min-height:0;padding:0;font-size:13px;color:#285747}
.filters.panel label.major-unlimited input{width:18px;height:18px;min-height:0;margin:0 8px 0 0}
.filters.panel .advanced-row{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.filters.panel .advanced-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* 分数输入行、图表下拉：同高、同字号 */
.score-inputs{align-items:flex-end}
.score-inputs>label{margin-right:12px}
.score-inputs>label:nth-child(2){flex:0 0 150px;max-width:none!important}
.score-inputs input,.score-inputs select{box-sizing:border-box;height:46px;min-height:46px;margin-top:6px}
.score-inputs select{width:100%;font-size:14px;padding:0 30px 0 12px;margin-left:0}
.score-inputs .primary-button{height:46px;margin-top:0}
.score-cells>.coverage-card:only-child{grid-column:1/-1}
.chart-select{font-size:13px;min-height:38px;padding:6px 28px 6px 10px}

@media(max-width:700px){.advanced-row .certificate-filter{grid-column:1/-1}}
