:root{--red:#ef3232;--red-dark:#d9272d;--ink:#252832;--muted:#7c818c;--line:#e8ebf0;--paper:#fff;--bg:#f5f6f8;--soft:#fff5f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 "PingFang SC","Microsoft YaHei",Arial,sans-serif}button,input{font:inherit}.workspace{width:min(1660px,calc(100% - 36px));margin:0 auto;padding:0 58px 52px 0}.personal-candidate{width:min(1660px,calc(100% - 36px));min-height:54px;margin:12px auto 0;padding:0 18px;display:flex;align-items:center;gap:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 10px rgba(33,37,45,.035);white-space:nowrap}.candidate-back{font-size:28px;color:#606571;text-decoration:none;padding-right:13px}.candidate-strip span{padding:0 16px;border-left:1px solid #eceef2;color:#626773}.candidate-strip .candidate-name{font-size:19px;font-weight:700;color:#282b34;border:0;padding-left:0}.candidate-strip .segment{margin:0 8px;padding:3px 8px;color:var(--red);background:#fff0ef;border:0;border-radius:4px}.candidate-strip b{color:#464b55}.institution-entry{margin-left:auto;color:var(--red);text-decoration:none;padding:8px 13px;border-radius:6px;background:#fff2f1}.mode-tabs{height:62px;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.mode-tab{position:relative;padding:19px 20px 15px;border:0;background:transparent;color:#4c505a;font-size:16px;cursor:pointer}.mode-tab.active{color:var(--red);font-weight:700}.mode-tab.active:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;border-radius:3px;background:var(--red)}.mode-hint{margin-left:auto;padding-bottom:17px;color:#9095a0;font-size:12px}.mode-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#2db16e}.filter-card{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 3px 12px rgba(30,33,40,.03)}.filter-row{display:grid;grid-template-columns:100px 1fr;min-height:49px;padding:6px 16px;border-bottom:1px solid #f0f1f3}.filter-label{padding:8px 0;color:#30333b;font-weight:700}.filter-options{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.choice{min-width:46px;padding:6px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#3f434c;cursor:pointer;white-space:nowrap}.choice:hover{color:var(--red);background:var(--soft)}.choice.active{color:var(--red);border-color:#ff716c;background:#fff}.select-choice{color:#777;background:#f7f8fa;border-color:#e2e5ea}.feature-row{min-height:88px}.search-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff}.search-box{width:300px;height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid #ff8a84;border-radius:6px;color:var(--red);background:#fff}.search-box input{width:100%;margin-left:7px;border:0;outline:0;background:transparent}.search-button{height:40px;padding:0 24px;border:0;border-radius:6px;color:#fff;background:var(--red);cursor:pointer}.my-filter-link{margin-left:10px;color:var(--red);text-decoration:none}.my-filter-link b{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:4px;padding:0 5px;border-radius:11px;color:#fff;background:var(--red);font-size:12px}.subject-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid #f0f1f3;background:#fbfcfd}.subject-row>span{color:#979ca6;font-size:12px}.subject-choices{display:flex;gap:6px}.subject-choices button{padding:5px 13px;border:1px solid #dfe2e7;border-radius:5px;background:#fff;cursor:pointer}.subject-choices button.active{color:#fff;border-color:var(--red);background:var(--red)}.criteria-bar{min-height:53px;display:flex;align-items:center;gap:10px;padding:8px 16px;background:#f1f2f4}.criteria-bar>span{font-weight:600}.criteria-summary{flex:1;min-width:0;color:#666b75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.criteria-bar button{border:0;background:transparent;color:var(--red);cursor:pointer}.result-toolbar{height:58px;display:flex;align-items:center;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.view-switch{align-self:stretch;display:flex}.view-switch button{min-width:150px;padding:0 20px;border:0;border-right:1px solid var(--line);background:#fff;cursor:pointer}.view-switch button.active{color:#fff;background:linear-gradient(135deg,var(--red-dark),var(--red))}.view-switch b{margin-left:7px;font-weight:400;opacity:.8}.score-control{display:flex;align-items:center;gap:8px;margin-left:30px;color:#6e737e}.score-number{width:72px;height:36px;padding:0 8px;text-align:center;border:1px solid #dfe2e7;border-radius:5px}.score-control input[type=range]{width:150px;accent-color:var(--red)}.score-control strong{color:var(--red)}.toolbar-actions{height:100%;display:flex;margin-left:auto}.toolbar-actions button{padding:0 18px;border:0;border-left:1px solid var(--line);background:#fff;color:#5f646e;cursor:pointer}.results-card{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.results-head{min-height:55px;display:flex;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line)}.results-head h2{margin:0 14px 0 0;font-size:17px}.results-head>span{color:#8a8f99;font-size:12px}.results-head .results-tip{margin-left:18px;padding-left:18px;border-left:1px solid #ddd}.results-head a{margin-left:auto;color:var(--red);text-decoration:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}.results-card table{min-width:1480px;table-layout:fixed}.results-card th{height:54px;padding:0 12px;color:#666b76;background:#f7f8fa;border-right:1px solid #eaedf1;text-align:center;font-weight:500}.results-card th.risk-col{width:106px}.results-card th.major-col{width:270px;text-align:left}.results-card th.school-col{width:260px;text-align:left}.results-card th.action-col{width:88px}.results-card td{padding:16px 12px;border-top:1px solid #ebedf1;border-right:1px solid #edf0f3;vertical-align:middle}.results-card tbody tr:hover{background:#fffafa}.results-card td strong{display:block}.results-card td small{display:block;color:#9297a1}.risk-cell{text-align:center}.risk{display:inline-grid;place-items:center;width:35px;height:29px;margin-right:5px;border-radius:5px;color:#fff;font-size:16px;font-weight:700}.risk.rush{background:#f05a4f}.risk.stable{background:#ee982d}.risk.safe{background:#34a56f}.risk-cell>b{color:var(--red);font-size:16px}.risk-cell small{margin-top:6px}.major-cell>strong,.school-cell>strong{font-size:16px;color:#292d36}.major-cell p,.school-cell p{margin:7px 0;color:#787d87;font-size:12px;line-height:1.7}.major-tags,.school-tags{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.major-tags em,.school-tags em{padding:1px 5px;border:1px solid #ffb072;border-radius:3px;color:#f07825;background:#fffaf6;font-style:normal;font-size:11px}.school-cell>span{color:#636873}.plan-cell{text-align:center}.plan-cell strong{display:inline!important;font-size:24px;font-weight:500}.plan-cell>span{color:#8c919a}.plan-cell small{margin-top:6px}.year-stats{display:grid;gap:6px}.year-stats span{display:flex;justify-content:space-between;gap:8px}.year-stats i{color:#9499a3;font-style:normal;font-size:11px}.year-stats b{color:#4a4f59;font-weight:500}.year-stats span:last-child b{color:#f07825}.year-empty{color:#a2a6ae;text-align:center}.action-cell{text-align:center}.add-btn{padding:7px 13px;border:1px solid var(--red);border-radius:5px;color:var(--red);background:#fff;cursor:pointer}.add-btn.added{color:#fff;background:var(--red)}.empty-row{padding:52px!important;text-align:center;color:#8a8f99}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:15px;border-top:1px solid var(--line)}.pagination button,.plan-actions button,.row-actions button{padding:7px 12px;border:1px solid #dfe2e7;border-radius:5px;background:#fff;color:#555b65;cursor:pointer}.pagination button:disabled,.plan-actions button:disabled,.row-actions button:disabled,.add-btn:disabled{opacity:.45;cursor:not-allowed}.plan-card{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:7px}.plan-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.plan-head h2{margin:0 0 4px;font-size:18px}.plan-head p{margin:0;color:#858a94}.plan-actions{display:flex;gap:8px}.plan-actions .confirm-button{color:#fff;border-color:var(--red);background:var(--red)}.plan-table{min-width:1040px}.plan-table th{padding:11px;background:#f7f8fa;text-align:left;color:#6d727c}.plan-table td{padding:12px;border-top:1px solid var(--line)}.plan-table td small{display:block;color:#969ba4}.drag-mark{color:#a3a7af}.row-actions{white-space:nowrap}.row-actions button{margin-right:4px;padding:5px 8px}.side-rail{position:fixed;right:0;top:190px;z-index:35;width:54px;overflow:hidden;border:1px solid var(--red);border-radius:10px 0 0 10px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.08)}.side-rail a{display:block;padding:13px 16px;color:#fff;background:var(--red);text-decoration:none;writing-mode:vertical-rl;letter-spacing:3px}.side-rail span,.side-rail button{display:block;width:100%;padding:9px 0;border:0;border-top:1px solid #ffd1ce;color:var(--red);background:#fff;text-align:center;cursor:pointer}footer{display:flex;justify-content:center;gap:28px;padding:24px;color:#aeb2ba;background:#292b31}footer a{color:#ddd;text-decoration:none}@media(max-width:1100px){.workspace{width:calc(100% - 20px);padding-right:0}.personal-candidate{width:calc(100% - 20px);overflow-x:auto}.candidate-strip .meta:nth-of-type(n+5){display:none}.filter-row{grid-template-columns:84px 1fr}.mode-hint{display:none}.score-control{margin-left:14px}.score-control input[type=range]{display:none}.toolbar-actions{display:none}}@media(max-width:700px){.personal-candidate{min-height:46px;margin-top:8px;padding:0 10px}.candidate-back{font-size:22px}.candidate-strip .candidate-name{font-size:15px}.candidate-strip span{padding:0 10px}.candidate-strip .meta:nth-of-type(n+3),.institution-entry{display:none}.mode-tabs{height:52px;overflow-x:auto}.mode-tab{padding:14px 15px 11px;white-space:nowrap}.filter-row{grid-template-columns:1fr;padding:9px 10px}.filter-label{padding:1px 0 7px}.filter-options{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.feature-row{min-height:0}.search-row{flex-wrap:wrap;padding:10px}.search-box{width:100%}.search-button{flex:1}.my-filter-link{margin-left:0}.subject-row{align-items:flex-start;flex-wrap:wrap;padding:10px}.subject-row>span{width:100%}.subject-choices{overflow-x:auto;max-width:100%}.criteria-bar{padding:8px 10px}.result-toolbar{height:auto;display:block}.view-switch{height:48px}.view-switch button{min-width:50%;padding:0 10px}.score-control{margin:0;padding:10px;overflow-x:auto}.score-number{min-width:66px}.results-head{align-items:flex-start;flex-wrap:wrap}.results-head .results-tip{width:100%;margin:5px 0 0;padding:0;border:0}.results-head a{display:none}.results-card table{min-width:0;table-layout:auto}.results-card thead{display:none}.results-card tbody,.results-card tr,.results-card td{display:block;width:100%}.results-card tr{padding:14px;border-top:8px solid var(--bg)}.results-card tr:first-child{border-top:0}.results-card td{padding:9px 4px;border:0}.results-card .risk-cell{display:flex;align-items:center;text-align:left}.risk-cell small{margin:0 0 0 8px}.results-card td:nth-child(n+5):nth-child(-n+8){display:grid;grid-template-columns:70px 1fr;align-items:start;border-top:1px dashed #e4e6ea}.results-card td:nth-child(5):before{content:"2026参考"}.results-card td:nth-child(6):before{content:"2025录取"}.results-card td:nth-child(7):before{content:"2024录取"}.results-card td:nth-child(8):before{content:"2023录取"}.results-card td:nth-child(n+5):nth-child(-n+8):before{color:#858a94;font-size:12px}.year-stats{grid-template-columns:1fr 1fr}.action-cell .add-btn{width:100%;height:40px}.plan-head{align-items:flex-start;gap:12px;flex-direction:column}.plan-actions{flex-wrap:wrap}.plan-card{margin-bottom:62px}.side-rail{top:auto;bottom:0;right:0;width:100%;height:56px;display:flex;border-radius:0}.side-rail a{flex:1;padding:16px;writing-mode:horizontal-tb;letter-spacing:1px}.side-rail span,.side-rail button{width:auto;min-width:62px;border-top:0;border-left:1px solid #ffd1ce}footer{display:none}}
