:root{color:#1d1d1f;background:#f5f5f7;font-family:SF Pro Text,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:#f5f5f7}button,input{font:inherit}button{cursor:pointer}.topNav{position:sticky;top:0;z-index:20;height:48px;background:#000000d1;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);color:#fff}.navInner,.sectionInner,.heroInner{width:min(1180px,calc(100% - 32px));margin:0 auto}.navInner{height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:14px;font-weight:600}.navMeta{color:#ffffffad;font-size:12px}.heroSection{background:#000;color:#fff;display:grid;align-items:center;padding:58px 0 64px}.heroInner{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:18px;align-items:stretch}.scorePanel,.rankPanel{border-radius:8px;background:#111113;padding:38px}.kicker{margin:0 0 10px;color:#2997ff;font-size:14px;font-weight:600}h1,h2,p{margin-top:0}h1{max-width:620px;margin-bottom:46px;font-family:SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:56px;line-height:1.08;letter-spacing:0}.scoreInputRow{display:flex;align-items:baseline;gap:10px}.scoreInputRow input{width:min(310px,100%);border:0;border-bottom:1px solid rgba(255,255,255,.3);outline:0;background:transparent;color:#fff;font-size:76px;font-weight:600;line-height:1}.scoreInputRow span{color:#ffffffad;font-size:24px}.scoreSlider{width:100%;margin:34px 0 18px;accent-color:#0071e3}.quickScores{display:flex;flex-wrap:wrap;gap:10px}.quickScores button{border:1px solid #2997ff;border-radius:980px;background:transparent;color:#2997ff;padding:7px 14px;font-size:14px}.rankPanel{display:flex;flex-direction:column;justify-content:center;min-height:430px}.rankPanel strong{display:block;margin:8px 0;font-family:SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:74px;line-height:1}.rankPanel>span{color:#ffffffa3;font-size:15px}.rankInputLabel{display:block;margin:24px 0 8px;color:#ffffff94;font-size:13px}.rankInput{width:min(240px,100%);border:0;border-radius:8px;outline:0;background:#ffffff1a;color:#fff;padding:12px 14px}.anchorList{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:34px}.anchorList div{border-radius:8px;background:#ffffff14;padding:12px}.anchorList b,.anchorList small{display:block}.anchorList small{margin-top:4px;color:#ffffff94;font-size:12px}.chartSection{background:#000;color:#fff;padding:66px 0 84px}.chartHead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.chartHead h2,.detailPanel h2{margin:0;font-size:40px;line-height:1.1;letter-spacing:0}.chartHead span{color:#ffffff94;font-size:14px}.chartActions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.chartActions button{min-width:34px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#ffffffd1}.chartActions button:hover{border-color:#2997ffb8;color:#fff}.yearToggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.chartActions .yearToggle button{min-width:82px;border:0;background:transparent}.chartActions .yearToggle button.active{background:#34c7593d;color:#fff}.zoomControls{display:inline-flex;align-items:center;gap:6px;padding:3px;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.zoomControls span{min-width:42px;text-align:center;color:#ffffffad;font-size:12px}.chartScroller{width:100%;max-width:calc(100vw - 32px);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-color:rgba(255,255,255,.34) rgba(255,255,255,.08);scrollbar-width:thin;border-radius:8px;background:#111113;padding:18px}.chartScroller::-webkit-scrollbar{height:12px}.chartScroller::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.chartScroller::-webkit-scrollbar-thumb{background:#ffffff57;border-radius:999px}.plotlyRankChart{min-width:2600px;max-width:9800px}.plotlyRankChart .modebar{right:8px!important}.rankChart{width:100%;min-width:1180px;-webkit-user-select:none;user-select:none;touch-action:none}.chartHitArea{fill:transparent;cursor:ns-resize;pointer-events:all}.gridLine{stroke:#ffffff14;stroke-width:1}.chartTick,.schoolLabel,.rankHint,.endpointLabel,.axisTitle{fill:#ffffffa3;font-size:12px}.endpointLabel{fill:#ffffff75;font-size:10px}.schoolLabel{font-weight:500;font-size:11px}.rankRow{cursor:pointer;outline:none}.rankRow .uncertaintyLine{stroke:#ffffff24;stroke-width:14;stroke-linecap:round}.rankRow .coreLine{stroke:#ffffffc7;stroke-width:4;stroke-linecap:round}.rankRow circle{fill:#f5f5f7}.rankRow:hover .uncertaintyLine,.rankRow.active .uncertaintyLine{stroke:#2997ff47}.rankRow:hover .coreLine,.rankRow.active .coreLine{stroke:#2997ff}.rankRow:hover circle,.rankRow.active circle{fill:#2997ff}.rankRow.active .schoolLabel{fill:#fff;font-weight:600}.userRankMarker line{stroke:#2997ff;stroke-width:2;cursor:ns-resize;pointer-events:stroke}.userRankMarker rect{fill:#0071e3}.userRankMarker text{fill:#fff;font-size:12px;font-weight:600}.detailSection{padding:72px 0;background:#f5f5f7}.detailGrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.detailPanel,.searchPanel{border-radius:8px;background:#fff;padding:30px}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0 18px}.metricGrid div{min-height:92px;border-radius:8px;background:#f5f5f7;padding:15px}.metricGrid span{display:block;color:#0000007a;font-size:13px}.metricGrid strong{display:block;margin-top:10px;font-size:25px}.infoStrip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.infoStrip span{border-radius:980px;background:#f5f5f7;color:#000000ad;padding:7px 12px;font-size:13px}.badgeRow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.schoolBadge{border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.schoolBadge.primary{background:#1d1d1f;color:#fff}.schoolBadge.gold{background:#f5c542;color:#1d1d1f}.schoolBadge.blue{background:#0071e3;color:#fff}.schoolBadge.gray{background:#f5f5f7;color:#000000ad}.noteText,.majorText{color:#0000009e;font-size:14px;line-height:1.55}.majorText{margin-bottom:0}.rankedMajorBlock,.admissionMajorBlock{margin-top:18px}.rankedMajorBlock h3,.admissionMajorBlock h3{margin:0 0 10px;color:#000000b8;font-size:15px;line-height:1.3;letter-spacing:0}.rankedMajorList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.rankedMajorList span{min-height:82px;border-radius:8px;background:#f5f5f7;padding:11px}.rankedMajorList b,.rankedMajorList small{display:block}.rankedMajorList b{color:#1d1d1f;font-size:14px;line-height:1.25}.rankedMajorList small{margin-top:7px;color:#00000085;font-size:12px;line-height:1.35}.searchPanel label{display:block;margin-bottom:10px;color:#0000007a;font-size:14px}.searchPanel input{width:100%;border:0;border-radius:8px;outline:0;background:#f5f5f7;padding:14px 16px}.searchList{display:grid;gap:8px;margin-top:14px}.searchList button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:8px;background:transparent;color:#1d1d1f;padding:11px 4px;text-align:left}.searchList button:hover{color:#06c}.searchList small{display:block;margin-top:4px;color:#0000006b;font-size:11px}.searchList strong{white-space:nowrap}@media(max-width:980px){.heroInner,.detailGrid{grid-template-columns:1fr}.heroSection{align-items:start}.metricGrid{grid-template-columns:repeat(2,1fr)}.rankedMajorList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.navInner,.sectionInner,.heroInner{width:min(100% - 20px,1180px)}.navMeta{display:none}.scorePanel,.rankPanel,.detailPanel,.searchPanel{padding:22px}h1{margin-bottom:36px;font-size:42px}.scoreInputRow input,.rankPanel strong{font-size:58px}.anchorList,.metricGrid{grid-template-columns:1fr 1fr}.rankedMajorList{grid-template-columns:1fr}.chartHead{align-items:flex-start;flex-direction:column}.chartActions{width:100%;align-items:stretch}.yearToggle,.zoomControls{width:100%;justify-content:center}.chartActions .yearToggle button{flex:1}.chartScroller{max-width:calc(100vw - 20px);padding:10px}.chartHead h2,.detailPanel h2{font-size:32px}}
