:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#1d2939;background:#fff;font-synthesis:none;--blue:#1349a2;--teal:#063f50;--line:#d7dde3;--muted:#6e7a88}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid #79c6df;outline-offset:3px}.site{width:min(100%,680px);margin:0 auto}.masthead{position:relative;overflow:hidden;background:linear-gradient(110deg,#075168,#00191f);padding:27px 28px 30px;color:#fff}.brand{position:relative;z-index:1;color:inherit;display:block}.brand:hover{text-decoration:none}.eyebrow{display:block;font-size:11px;letter-spacing:2px;color:#aad2df;margin-bottom:11px}.brand strong{display:block;font-size:29px;letter-spacing:1px;font-weight:650}.brand strong span{font-weight:350;margin-left:5px}.tagline{display:block;font-size:12px;color:#c5dde5;margin-top:10px}.cap{position:absolute;right:19px;top:20px;width:125px;height:110px;fill:none;stroke:#6cc2d3;stroke-width:1.2;opacity:.23;transform:rotate(-9deg)}.topnav{display:flex;gap:25px;border-bottom:1px solid #e5e9ec;padding:0 22px;background:#fff}.topnav a{position:relative;padding:16px 0;font-size:13px;color:#657080}.topnav a.active{color:#113d62;font-weight:700}.topnav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue)}#saved-count{background:#eef2f6;padding:1px 5px;border-radius:4px;font-size:10px}main{padding:20px 12px 0;min-height:420px}.intro-bar{font-size:12px;color:#61717d;display:flex;justify-content:space-between;gap:8px;margin:0 8px 16px}.intro-bar span:first-child:before{content:"";display:inline-block;width:6px;height:6px;background:#1e9887;border-radius:50%;margin:0 6px 1px 0}.panel{border:1px solid var(--line);background:linear-gradient(#f6f6f6,#f1f2f3);border-radius:5px;padding:22px 23px;margin-bottom:18px}.section-heading{font-size:17px;font-weight:500;margin:0 0 22px;border-bottom:1px solid #d5d9de;padding-bottom:13px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;padding:0 8px}.tool{position:relative;display:flex;flex-direction:column;min-height:156px;padding:18px 12px 12px;background:white;border:1px solid #9a9da1;border-radius:5px;box-shadow:3px 3px 1px #0003;color:#1d2939;transition:transform .15s,box-shadow .15s}.tool:hover{text-decoration:none;transform:translateY(-2px);box-shadow:3px 5px 4px #0002}.year-badge{position:absolute;right:-7px;top:12px;font-size:11px;line-height:20px;padding:0 8px;background:#103e9e;color:white;border-radius:2px;box-shadow:1px 2px 2px #0003;font-weight:650}.year-badge.partial{background:#64748b}.tool-title{display:flex;align-items:center;gap:8px;margin-top:13px;min-height:47px}.tool-title svg{width:47px;height:47px;flex:none;stroke:#141f2a;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.tool-title strong{font-size:17px;line-height:1.35;margin-top:12px;letter-spacing:-.5px}.tool p{font-size:12px;color:#7a818a;line-height:1.6;margin:8px 0 0}.panel-note{text-align:center;font-size:11px;color:#78818b;margin:24px 0 0;line-height:1.6}.news{border:1px solid var(--line);border-radius:4px;margin-bottom:18px}.news h2{margin:0;background:#f1f3f5;padding:12px 16px;font-size:15px;color:#256196;border-bottom:1px solid var(--line)}.news a{display:flex;padding:13px 16px;border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#263443}.news a:last-child{border-bottom:0}.news a span{color:#7c8996;font-size:11px;white-space:nowrap}footer{text-align:center;background:#f4f5f6;padding:25px 20px;margin-top:25px;font-size:11px;color:#7b8793;line-height:1.8}footer strong{font-size:12px;color:#43586b;font-weight:500}footer a{font-size:11px;color:#3d6b92}.copyright{color:#939ca5;font-size:10px;margin-bottom:0}.dot{margin:0 10px}.loading,.empty{padding:38px 15px;text-align:center;color:#74818c;font-size:14px}.empty h3{font-weight:500;color:#374b5d}.empty p{line-height:1.8;font-size:13px}.back{display:inline-flex;font-size:12px;margin:0 0 18px;gap:5px}.page-head h1{font-size:23px;line-height:1.4;margin:0 0 8px;color:#183c52}.page-head p{font-size:13px;color:#77828e;line-height:1.8;margin:0 0 20px}.query-panel{background:#f6f7f8;padding:20px;border:1px solid var(--line);border-radius:5px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:12px;color:#5c6876}input,select,textarea{border:1px solid #cdd4dc;border-radius:4px;padding:10px 11px;background:#fff;color:#263443;min-width:0;width:100%;font-size:13px}select{min-height:40px}input::placeholder,textarea::placeholder{color:#9ba4ac}.field.wide{grid-column:1/-1}.actions{display:flex;gap:9px;margin-top:19px;flex-wrap:wrap}.btn{border:1px solid #c8d2dd;background:#fff;color:#35546e;border-radius:4px;padding:9px 15px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.btn.primary{background:#1349a2;color:white;border-color:#1349a2}.btn.danger{color:#a03a3a;border-color:#e2bcbc}.hint{font-size:11px;color:#7d8995;line-height:1.7;margin:13px 0 0}.notice{padding:12px 14px;background:#eff5fa;border-left:3px solid #3c7eaf;margin:0 0 16px;font-size:12px;line-height:1.8;color:#4c6681}.notice.warning{background:#fff8ec;border-color:#dcaa51;color:#8a6b38}.result-bar{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;gap:10px;font-size:12px;color:#607387}.result-bar strong{color:#173c5a;font-size:15px}.table-wrap{overflow:auto;border:1px solid #d9dfe5;border-radius:4px;background:white}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid #e7ebef;vertical-align:top;line-height:1.6;min-width:75px}th{background:#f2f5f8;color:#587085;font-size:11px;white-space:nowrap;font-weight:500}td:first-child{color:#233e55}tbody tr:hover{background:#f8fbfd}.table-wrap .small-btn{white-space:nowrap}.muted{color:#8a96a2}.source-link{font-size:11px;white-space:nowrap}.small-btn{font-size:11px;color:#285f95;border:1px solid #cfdae4;background:#fff;border-radius:3px;padding:3px 6px}.small-btn.saved{background:#edf3fa;color:#16469e}.pager{display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;color:#6c7c89;margin:20px 0}.source-card{border:1px solid #dce2e8;background:white;border-radius:5px;padding:16px;margin:0 0 12px}.source-card h3{font-size:14px;margin:0 0 7px;font-weight:550;line-height:1.6}.source-card p{font-size:12px;color:#798594;line-height:1.8;margin:5px 0}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{font-size:11px;border:1px solid #d7e1e9;background:#f8fbfd;padding:4px 8px;border-radius:3px;color:#4f6e85}.coverage{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 20px}.coverage div{padding:14px;border:1px solid #dce2e8;border-radius:4px;font-size:12px;background:#f7f9fa;line-height:1.8;color:#718190}.coverage strong{display:block;font-size:21px;color:#193f5a;font-weight:550}.coverage span{font-size:11px}.error{background:#fff0ef;border:1px solid #efcfcb;color:#a34438;padding:14px;font-size:13px;line-height:1.8;border-radius:4px;white-space:pre-wrap}.trend{display:flex;gap:10px;align-items:end;height:160px;padding:12px 10px 0;border-bottom:1px solid #cfd9e3;margin-bottom:10px}.trend>div{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:end;height:100%;font-size:11px;color:#64788a;gap:6px}.trend i{width:40px;max-width:100%;background:#3679aa;border-radius:3px 3px 0 0;display:block}.trend strong{font-size:12px;color:#254e70}.mini-note{font-size:11px;color:#81909d;margin:0 0 16px;line-height:1.7}.admin-block{margin:18px 0;padding:16px;border:1px solid #d9e1e8;border-radius:4px}.admin-block h2{font-size:16px;font-weight:500;margin:0 0 15px}.admin-block textarea{min-height:170px;font-family:Consolas,monospace;font-size:12px}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:10;background:#183745;color:white;padding:12px 18px;border-radius:5px;box-shadow:0 4px 15px #0002;font-size:13px;max-width:90%;display:none}.print-title{display:none}@media(min-width:850px){body{background:#fafbfc}.site{background:white;box-shadow:0 0 0 1px #edf0f3}main{padding:24px 20px 0}.tool-grid{gap:24px 28px}.tool{min-height:165px}.tool p{font-size:13px}.tool-title strong{font-size:18px}.tool-title svg{width:50px;height:50px}.panel{padding:25px}.year-badge{font-size:12px}}@media(max-width:420px){.masthead{padding:23px 20px}.brand strong{font-size:25px}.tagline{font-size:11px}.cap{width:100px;right:4px}.topnav{gap:22px;padding:0 16px}.topnav a{font-size:12px}main{padding:17px 10px 0}.panel{padding:18px 13px}.tool-grid{gap:20px 16px;padding:0 3px}.tool{padding:16px 9px 10px;min-height:157px}.tool-title{gap:5px;min-height:44px}.tool-title svg{width:34px;height:38px}.tool-title strong{font-size:14px}.tool p{font-size:11px;line-height:1.7}.year-badge{font-size:10px;top:9px;right:-5px;line-height:18px}.section-heading{font-size:15px;margin-bottom:21px}.intro-bar{font-size:10px;margin:0 3px 13px}.query-panel{padding:15px}.form-grid{gap:13px 10px}.page-head h1{font-size:21px}.news a{font-size:12px}.news a span{font-size:10px}.btn{padding:9px 12px}}@media print{.masthead,.topnav,footer,.query-panel,.actions,.pager,.back,#toast,.small-btn{display:none}.site{width:100%;box-shadow:none}.table-wrap{overflow:visible}main{padding:0}th,td{font-size:10px;padding:6px}.print-title{display:block}.notice{border:1px solid #aaa}.table-wrap table{width:100%}}

.original-table{display:block;width:100%;height:auto;margin:14px 0;border:1px solid #e3e8ed}.rank-originals{margin-top:30px}.rank-originals summary{font-size:13px;cursor:pointer;color:#294f6b;line-height:1.8}.rank-originals details[open] summary{margin-bottom:12px}
.simple-heading h1{font-size:20px;line-height:1.6;text-align:center;font-weight:500;margin:20px 0 25px;color:#253747}.simple-query{margin:0 0 22px}.search-row{display:flex;align-items:stretch;gap:0;border:1px solid #b9c4cc;border-radius:4px;overflow:hidden}.search-row .field{flex:1;min-width:0}.search-row .field label{display:none}.search-row .field input,.search-row .field select{border:0;border-radius:0;height:43px;font-size:14px}.search-row>.field:has(select){flex:0 0 90px;border-right:1px solid #d5dce1}.search-row .btn.primary{border:0;border-radius:0;background:#e63835;min-width:68px;font-size:14px}.single-year{font-size:12px;background:#f2f4f6;color:#526577;display:flex;align-items:center;justify-content:center;padding:0 11px;white-space:nowrap;border-right:1px solid #d9e0e5}.query-idle{text-align:center;color:#9aa4ad;font-size:13px;padding:55px 10px 80px}.extra-filters{margin-top:14px;font-size:12px;color:#507091}.extra-filters summary{cursor:pointer}.extra-filters .form-grid{margin-top:14px}.mode-tabs,.category-tabs{display:flex;gap:18px;justify-content:center;font-size:12px;margin:0 0 20px}.mode-tabs a{padding:7px 0;color:#7c8994}.mode-tabs a.active{color:#194b82;border-bottom:2px solid #194b82}.category-tabs button{border:0;background:#f0f2f4;padding:7px 10px;border-radius:3px;color:#6c7d8d;font-size:12px}.category-tabs button.active{background:#1f5599;color:white}.query-notes{margin:20px 0;font-size:11px;color:#85909b;line-height:1.9}.query-notes summary{cursor:pointer;color:#65829c}.query-notes .btn{font-size:11px;margin:7px 7px 0 0;padding:5px 8px}.row-details summary{cursor:pointer;color:#1d5279;list-style:none}.row-details summary:after{content:' ⌄';font-size:10px;color:#9aabba}.row-details p{font-size:11px;line-height:1.7;color:#7f8d99}.value-details summary{cursor:pointer;list-style:none;color:#1d5279}.value-details[open]{min-width:100px}.compact-table th,.compact-table td{padding:11px 8px;min-width:48px}.compact-table td:first-child{min-width:100px}.compact-table .row-details[open]{min-width:180px}.masthead .eyebrow,.masthead .tagline{display:none}.masthead{padding:27px 25px}.masthead .brand strong{font-size:28px}.topnav{display:none}.simple-heading+.mode-tabs{margin-top:-10px}footer{margin-top:35px}main{min-height:500px}.result-bar strong{font-size:14px}.rank-originals{margin-top:20px}.rank-originals .section-heading{font-size:16px}.rank-originals .source-card{padding:10px}.rank-originals summary{font-size:12px}.rank-originals .original-table{margin:10px 0 5px}@media(max-width:420px){.simple-heading h1{font-size:17px;margin:22px 0}.masthead .brand strong{font-size:25px}.compact-table th,.compact-table td{font-size:11px;padding:10px 6px}.search-row .field input{font-size:13px}.compact-table td:first-child{min-width:90px}.single-year{font-size:11px;padding:0 8px}}
.quick-entry{display:flex;flex-direction:column;gap:8px;background:#1349a2;color:#fff;border-radius:10px;padding:22px;margin-bottom:20px}.quick-entry:hover{text-decoration:none;background:#103c86}.quick-entry strong{font-size:23px}.quick-entry span{font-size:13px;color:#e1ecff}.year-badge{font-size:10px}.student-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:22px 0 16px}.student-title strong{font-size:20px}.student-title span{font-size:12px;color:#667085}.student-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.student-stats>div{background:#f0f5fc;padding:15px 12px;border-radius:8px}.student-stats span{font-size:11px;color:#667085;display:block}.student-stats strong{display:block;font-size:23px;color:#1349a2;margin-top:7px}.student-stats small{font-size:12px;margin-left:4px}.result-switch{display:flex;gap:4px;margin:22px 0 14px;padding:4px;background:#f1f4f8;border-radius:8px}.result-switch button{flex:1;padding:11px 8px;border:0;border-radius:6px;background:transparent;color:#56677d}.result-switch button.active{background:white;color:#1349a2;box-shadow:0 1px 5px #0001;font-weight:700}.school-nature{display:block;color:#667085;font-size:10px;margin-top:5px}.student-table table{width:100%;min-width:0}.student-table td,.student-table th{padding:13px 9px;font-size:13px;white-space:normal;min-width:0}.student-table th:first-child{width:46%}.student-table td:first-child strong{font-size:13px;font-weight:500}.student-table th{position:sticky;top:0}.score-state{font-size:12px;white-space:nowrap}.score-state.reached{color:#147955}.score-state.below{color:#b85d13}.my-score{background:#fff3d6!important}.rank-school{font-size:12px;margin:4px 0}.rank-school summary{cursor:pointer;color:#1349a2}.rank-school a{font-size:11px}.original-table{width:100%;height:auto}.search-row:has(#f-score){display:grid;grid-template-columns:90px 1fr;gap:10px}.search-row:has(#f-score) .field{min-width:0}.search-row:has(#f-score) .btn{align-self:end;height:43px}.search-row:has(#f-score) .field:has(#f-score){grid-column:1}.search-row:has(#f-score) .field:has(#f-year){grid-column:1}.search-row:has(#f-score) .field:has(#f-major){grid-column:2}.search-row:has(#f-score) .field label{font-size:12px}.student-table{max-height:65vh;overflow:auto}#student-ranks table th:first-child{width:17%}.tool{min-height:150px}@media(max-width:420px){.student-title strong{font-size:17px}.student-stats{gap:6px}.student-stats>div{padding:12px 8px}.student-stats strong{font-size:21px}.student-table td,.student-table th{font-size:12px;padding:12px 7px}.quick-entry{padding:20px}.tool-title strong{font-size:15px}}
.simple-query .btn.primary{background:#1349a2;border-color:#1349a2}.simple-query .btn.primary:hover{background:#103c86}.student-stats span{line-height:1.6}.search-row:has(#f-score) .field:has(#f-score) input::placeholder{font-size:11px}
