/* Shared sizing and accessible, consistent vector controls. */
html{scrollbar-gutter:stable}body{min-width:320px}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}svg{display:inline-block;vertical-align:middle;flex-shrink:0}img{max-width:100%}main,#content,.grid>div,.dashboard-grid>*,.profile-layout>*,.settings-layout>*,.messages-layout>*{min-width:0}.surface p,.card p,.profile-info h1,.person strong,.bubble{overflow-wrap:anywhere}.surface .section-title{flex-wrap:wrap}button:disabled{opacity:.35;cursor:default}.iconbutton{min-width:40px;min-height:40px;align-items:center;justify-content:center}.iconbutton i{top:8px;right:10px}.sidebaraccount>span:last-child svg{width:17px;height:17px}.sidebaraccount{min-height:72px}.textbtn,.subtle,.blue{min-height:40px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.rank-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.rank-hero h1{font-size:32px;letter-spacing:-1px;margin:10px 0 9px}.rank-hero p{font-size:13px}.rank-mine{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;border:1px solid #e2e6f3;border-radius:10px;background:#fff;color:#7482aa;padding:12px 15px;font-size:11px;min-height:44px}.rank-mine svg{width:16px;height:16px}.rank-mine:hover{background:#eff2fc}.scope-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}.scope-tab{display:flex;align-items:center;gap:10px;min-height:83px;padding:15px 12px;border:1px solid #e6eaf2;border-radius:12px;background:#fff;text-align:left;transition:background .2s,border-color .2s;color:#8a95aa}.scope-tab.selected{background:#eef0fd;border-color:#cfd5f5;box-shadow:0 3px 10px #6c7aca08;color:#6475c9}.scope-tab:hover{border-color:#c4cdea}.scope-icon{display:grid;place-items:center;width:34px;height:34px;background:#f5f6fb;border-radius:10px;flex-shrink:0}.scope-tab.selected .scope-icon{background:#e1e6fa}.scope-tab b{display:block;font-size:11px;font-weight:600;color:#727f96;line-height:1.5}.scope-tab.selected b{color:#6575c2}.scope-tab small{display:block;font-size:8px;color:#a5aec1;line-height:1.65;margin-top:4px}.scope-tab>svg{margin-left:auto;width:12px;height:12px;display:none}.ranking-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.ranking-title{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px}.ranking-title h2{font-size:19px;margin:8px 0 0;letter-spacing:-.5px;font-weight:550}.ranking-order{display:flex;align-items:center;gap:8px;font-size:10px;color:#9ba5b8}.ranking-order svg{width:14px;height:14px}.ranking-filters{padding:0 24px 20px}.ranking-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ranking-field{display:flex;flex-direction:column;gap:8px;min-width:0}.ranking-field>span{font-size:10px;color:#939fb3}.ranking-field select{height:43px;max-width:none;width:100%;font-size:11px;border:1px solid #e6eaf3;color:#75839c;padding:0 12px;min-width:0;background:#fcfcfe}.ranking-search{display:flex;align-items:center;border:1px solid #e6eaf3;border-radius:9px;margin-top:16px;padding-left:13px;gap:10px;background:#fff}.ranking-search>svg{width:18px;height:18px;color:#a2aec3}.ranking-search input{flex:1;border:0;background:none;font-size:12px;min-width:0;padding:13px 0;color:#708099}.ranking-search button{display:flex;align-items:center;justify-content:center;gap:7px;background:none;border-left:1px solid #e9edf5;color:#9ba7bd;margin:0 6px;padding:0 10px;height:30px;font-size:10px}.ranking-search button svg{width:15px;height:15px}.ranking-search:focus-within{border-color:#8b9ae2;box-shadow:0 0 0 2px #e5eafd}.ranking-context{display:flex;align-items:center;gap:8px;padding:13px 24px;background:#fafbfe;border-top:1px solid #edf0f6;color:#a2adc0;font-size:10px;line-height:1.8}.ranking-context svg{width:14px;height:14px}.ranking-table table{table-layout:fixed;width:100%;white-space:normal}.ranking-table th{font-size:8px;letter-spacing:.7px;background:white;border-bottom:1px solid #edf0f6;padding:17px 16px;text-align:left}.ranking-table th:first-child{width:62px;text-align:center}.ranking-table th:nth-child(2){width:34%}.ranking-table th:nth-child(3){width:25%}.ranking-table th:nth-child(4){width:15%}.ranking-table th:nth-child(5){width:94px}.ranking-table th:last-child{width:43px}.ranking-table td{padding:17px 16px;vertical-align:middle}.rank-row{transition:background .2s}.rank-row:hover{background:#fafbff}.rank-row.is-me{background:#f2f4fd}.rank-place>span{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:11px;color:#a4adc0;font-weight:400}.rank-place b{font-weight:500}.rank-place .rank-medal{padding:6px;border-radius:7px}.rank-medal svg{width:12px;height:12px}.medal-1{color:#bc9b51!important;background:#fbf5e7}.medal-2{color:#94a0b8!important;background:#f0f3f9}.medal-3{color:#b79987!important;background:#f8efea}.rank-person{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;text-align:left;background:none;padding:0}.rank-person>span{min-width:0}.rank-person strong{display:block;font-size:12px;font-weight:550;color:#6c7a91;line-height:1.7;overflow-wrap:anywhere}.rank-person strong i{display:inline-block;background:#e1e6fb;color:#7885bd;font-size:8px;font-style:normal;font-weight:400;border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:middle}.rank-person small{display:block;font-size:9px;line-height:1.8;color:#a4aec0;margin-top:4px}.rank-major b{display:block;font-size:10px;font-weight:500;color:#909db1}.rank-major>span{display:block;font-size:10px;line-height:1.8;color:#a5afc0;margin-top:4px;overflow-wrap:anywhere}.rank-class>span{display:block;font-size:10px;color:#9ca8bc}.rank-class b{display:block;font-size:10px;font-weight:500;color:#8a99b1;margin-top:7px}.rank-grade strong{font-size:14px;color:#6c7b98;font-weight:550;letter-spacing:-.3px}.grade-meter{display:block;width:58px;height:3px;background:#edf0f7;border-radius:5px;margin-top:8px;overflow:hidden}.grade-meter i{display:block;height:100%;background:#a7b5e8;border-radius:5px}.rank-row.is-me .rank-grade strong{color:#677ac5}.rank-open button{width:32px;height:40px;display:grid;place-items:center;background:none;color:#bcc5d4}.rank-open svg{width:15px;height:15px}.rank-pagination{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-top:1px solid #edf0f6;color:#a1aec3;font-size:11px;gap:15px}.rank-pagination>div{display:flex;align-items:center;gap:12px;font-size:10px}.rank-pagination button{width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #e4eaf5;border-radius:8px;color:#a0afc9}.rank-pagination button svg{width:14px;height:14px}.flip{transform:rotate(180deg);display:inline-flex}.ranking-footnote{display:flex;gap:9px;align-items:flex-start;padding:17px 2px}.ranking-footnote>svg{width:13px;height:13px;color:#b4bece;margin-top:2px}.ranking-footnote p{font-size:10px;color:#a7b1c2}.rank-empty{padding:55px 20px;text-align:center;color:#a0aec8}.rank-empty>svg{width:30px;height:30px}.rank-empty h3{font-size:15px;font-weight:500;margin:15px 0 9px}.rank-empty p{font-size:12px}.postactions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px}.postactions button svg{width:16px;height:16px}.postactions{padding-top:9px;gap:15px}.chat-messages{overscroll-behavior:contain}.settings-layout .toggle-row input{min-width:24px;min-height:24px}.close{width:40px;height:40px;display:grid;place-items:center;right:8px;top:5px}dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}#toast{max-width:calc(100vw - 32px);text-align:center;line-height:1.7;bottom:calc(24px + env(safe-area-inset-bottom))}
@media(min-width:761px) and (max-width:1150px){.scope-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.scope-tab{min-height:73px}.scope-tab small{font-size:9px}.scope-tab b{font-size:12px}.scope-tab>svg{display:block}.ranking-table th,.ranking-table td{padding-left:10px;padding-right:10px}.ranking-table th:nth-child(3){width:23%}.ranking-table th:nth-child(2){width:32%}.ranking-table th:nth-child(4){width:15%}.ranking-table th:nth-child(5){width:76px}.ranking-table th:first-child{width:48px}.rank-person{gap:8px}.rank-person strong{font-size:11px}.rank-person .av{width:29px;height:29px;font-size:8px}.rank-major>span{font-size:9px}.ranking-title{padding:21px}.ranking-filters{padding-left:21px;padding-right:21px}.rank-hero h1{font-size:28px}.rank-hero p{font-size:12px}}
@media(min-width:761px) and (max-width:980px){.ranking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-table th:nth-child(3),.rank-major{display:none}.ranking-table th:nth-child(2){width:45%}.rank-hero{align-items:flex-start}.rank-mine{font-size:10px;padding:10px}.rank-mine svg{width:13px;height:13px}.ranking-order{font-size:8px}}
@media(max-width:760px){html{scrollbar-gutter:auto}body{min-width:320px}header{padding-left:18px;padding-right:14px}.headright{gap:9px}.avatar{width:34px;height:34px}.iconbutton{min-width:38px;min-height:38px}aside{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#ffffffed;backdrop-filter:blur(18px)}main{padding-bottom:calc(78px + env(safe-area-inset-bottom))}nav button>span:not(.navicon){font-size:8px;letter-spacing:-.15px}nav button.active .navicon{background:#edf0fc;border-radius:9px;width:34px;height:28px;display:grid;place-items:center}nav button{gap:3px}nav button .navicon{min-height:28px}nav button svg{width:20px;height:20px;stroke-width:1.7}#content{padding:24px 16px 10px}.feature{isolation:isolate}.orbscene{z-index:-1}.feature-copy{padding:26px 21px}.feature h2{font-size:clamp(23px,6.3vw,30px)}.feature-index{z-index:-1}.metric-top{gap:8px;font-size:10px;line-height:1.5}.metric-top span{min-width:0}.metric-value{font-size:clamp(24px,6.8vw,30px)}.metric-value em{font-size:9px}.metric-foot{font-size:9px;line-height:1.7;overflow-wrap:anywhere}.metric{padding:16px 13px}.welcome h1{font-size:28px}.welcome p{font-size:11px}.datebadge{flex-shrink:0}.section-title{row-gap:10px}.section-title h2{font-size:14px}.section-title p{font-size:10px}.profile-ctas{float:none;justify-content:flex-start;margin:15px 0 0;flex-wrap:wrap}.profile-info h1{margin-top:18px;font-size:25px}.profile-ctas button{font-size:10px;min-height:40px;padding:10px 13px}.profile-intro{gap:10px}.profile-intro .eyebrow{font-size:7px}.profile-intro .textbtn{font-size:10px;white-space:nowrap}.profile-banner>span{max-width:180px;line-height:1.7}.profile-meta{font-size:10px;line-height:1.8}.profile-connections{font-size:9px;flex-wrap:wrap;gap:7px}.project-visual{width:85px}.project p{font-size:11px}.project .eyebrow{font-size:7px}.project .tag{font-size:8px}.portfolio .textbtn{font-size:10px}.profile-layout .section-title>span{font-size:10px}.link-list a,.link-list button,.link-list p{font-size:11px}.link-list a,.link-list button{min-height:44px;align-items:center}.academic-row{font-size:12px}.badges b{font-size:12px}.badges small{font-size:10px}.locked-note{font-size:10px!important;align-items:flex-start}.settings-layout label{font-size:11px}.settings-layout .toggle-row{gap:15px}.toggle-row b{font-size:12px}.toggle-row small{font-size:10px}.settings-layout p{font-size:12px}.settings-layout input:not([type=checkbox]){font-size:12px}.peoplegrid h3{font-size:12px;min-height:36px}.peoplegrid p{font-size:10px;min-height:64px}.peoplegrid .textbtn{font-size:10px}.peoplegrid .card{padding:15px 12px}.peoplegrid .row{margin-top:14px!important}.peoplegrid .row b{font-size:14px}.peoplegrid .row b small{font-size:9px}.feed-composer{flex-wrap:wrap;align-items:flex-start;gap:15px}.feed-composer .person{min-width:0;gap:10px}.feed-composer .person>span{font-size:11px;line-height:1.8;min-width:0}.feed-composer .blue{margin-left:auto;font-size:11px}.posthead{flex-wrap:wrap;row-gap:10px}.posthead>div:nth-child(2){flex:1;min-width:110px}.posthead b{font-size:12px}.posthead small{font-size:9px;line-height:1.7}.posthead .tag{margin-left:44px!important;font-size:9px}.postbody{font-size:12px!important}.postactions{gap:5px;justify-content:space-between}.postactions button{font-size:10px;gap:5px}.postactions button svg{width:15px;height:15px}.commentbox input{font-size:12px}.commentbox button{padding:9px;font-size:11px}.chatlist{max-width:100%}.chat-person{min-width:145px;min-height:60px}.chat-person b{font-size:10px}.chat-header b{font-size:12px}.chat-header small{font-size:10px}.chat-header .textbtn{font-size:11px}.chat-compose input{font-size:12px;min-height:43px}.chat-messages{max-height:50dvh}.messages-layout{min-height:500px}.bubble{font-size:12px}.chat-disclaimer{font-size:9px;line-height:1.7}.rank-hero{flex-wrap:wrap;gap:15px;margin-bottom:21px}.rank-hero h1{font-size:28px;line-height:1.22;margin:11px 0}.rank-hero p{font-size:12px;max-width:330px}.rank-mine{min-height:42px;font-size:11px;padding:10px 13px}.scope-tabs{display:flex;overflow-x:auto;gap:9px;padding:1px 1px 9px;scroll-snap-type:x proximity;margin-bottom:13px;scrollbar-width:thin;scrollbar-color:#dce2f3 transparent}.scope-tab{min-width:155px;flex:0 0 155px;min-height:78px;padding:13px 12px;scroll-snap-align:start;border-radius:11px;gap:9px}.scope-tab b{font-size:12px}.scope-tab small{font-size:9px}.scope-icon{width:31px;height:34px}.scope-icon svg{width:20px;height:20px}.ranking-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.ranking-metrics .metric-value{margin-top:14px}.ranking-metrics .metric-value em{display:inline-block}.ranking-title{padding:21px 16px 18px;flex-wrap:wrap;gap:11px}.ranking-title .eyebrow{font-size:8px;line-height:1.6}.ranking-title h2{font-size:20px;margin-top:7px}.ranking-order{font-size:10px}.ranking-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.ranking-field>span{font-size:10px}.ranking-field select{font-size:11px;max-width:100%;width:100%;height:44px;padding:0 9px;min-width:0}.ranking-field:last-child:nth-child(odd){grid-column:1/-1}.ranking-filters{padding:0 16px 17px}.ranking-search{padding-left:10px;gap:7px;margin-top:15px}.ranking-search input{font-size:11px;min-height:44px;padding:10px 0}.ranking-search button{width:34px;padding:0;margin:0 4px;border:0;min-height:38px}.ranking-search button span{display:none}.ranking-search button svg{width:17px;height:17px}.ranking-search>svg{width:16px;height:16px}.ranking-context{padding:12px 16px;font-size:9px;align-items:flex-start}.ranking-context>svg{margin-top:1px;flex-shrink:0}.ranking-context>span{min-width:0;overflow-wrap:anywhere}.ranking-table th:nth-child(3),.ranking-table th:nth-child(4),.rank-major,.rank-class,.ranking-table th:last-child,.rank-open{display:none}.ranking-table th{padding:15px 10px;font-size:8px}.ranking-table th:first-child{width:44px;padding-left:6px;padding-right:4px}.ranking-table th:nth-child(2){width:auto}.ranking-table th:nth-child(5){width:72px}.ranking-table td{padding:15px 10px}.ranking-table td:first-child{padding:15px 4px 15px 6px;width:44px}.rank-person{gap:8px;min-height:44px}.rank-person .av{width:30px;height:30px;font-size:9px}.rank-person strong{font-size:11px;line-height:1.65}.rank-person small{font-size:9px;margin-top:5px}.rank-person strong i{font-size:8px;padding:0 4px}.rank-place>span{font-size:10px}.rank-place .rank-medal{flex-direction:column;gap:3px;padding:6px 5px;min-width:25px}.rank-medal svg{width:11px;height:11px}.rank-grade strong{font-size:14px}.grade-meter{width:47px}.rank-pagination{padding:15px 16px;font-size:10px;gap:6px}.rank-pagination>div{gap:9px;font-size:10px}.rank-pagination button{width:37px;height:40px}.ranking-footnote p{font-size:10px;line-height:1.9}.ranking-footnote{padding:15px 0 5px}.rank-empty{padding:40px 20px}.rank-empty p{font-size:11px}.ranking-panel{border-radius:13px}.rank-row.is-me{box-shadow:inset 2px 0 #8494d7}.login-form{padding:29px 22px}.login-form .blue{font-size:12px;min-height:45px}.login-form p{font-size:11px}.login-form .textbtn{font-size:10px}.demo-account{gap:10px;padding:13px 10px}.demo-account b{font-size:11px}.demo-account small{font-size:9px}.demo-account .tag{font-size:8px}.login-fine{font-size:10px!important}dialog{padding:33px 21px 25px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:16px}dialog p{font-size:12px}dialog input,dialog textarea{font-size:16px;min-height:44px}dialog select{font-size:13px;max-width:100%;width:100%;min-height:44px}dialog .blue{font-size:12px;min-height:44px}.hint{overflow-wrap:anywhere}.notification b{font-size:12px}.notification p{font-size:11px}#toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:11px;width:max-content}.metric-grid,.stats{min-width:0}.surface{padding:20px}.quick>button{min-height:44px;padding-top:13px}.chart-x,.chartlabels{font-size:9px}.achievement .textbtn{font-size:11px}.chart-summary .trend{font-size:10px}footer{padding-left:17px;padding-right:17px}}
@media(max-width:359px){#content{padding-left:12px;padding-right:12px}.scope-tab{flex-basis:145px;min-width:145px}.rank-person .av{display:none}.rank-person strong{font-size:11px}.ranking-title{padding-left:13px;padding-right:13px}.ranking-filters{padding-left:13px;padding-right:13px}.ranking-context{padding-left:13px;padding-right:13px}.ranking-metrics .metric{padding:15px 11px}.metric-top{font-size:9px}.metric-foot{font-size:9px}.profile-intro{flex-wrap:wrap;gap:0}.postactions button{font-size:9px}.postactions button svg{width:13px}.peoplegrid{grid-template-columns:1fr}.peoplegrid p{min-height:0}.peoplegrid h3{min-height:0}.peoplegrid .row{flex-direction:row;align-items:center}nav button>span:not(.navicon){font-size:7px}.demo-account{flex-wrap:wrap}.feature-copy{padding-left:18px}.feature{height:300px}}
@media(min-width:761px) and (max-height:800px){aside{padding-top:24px}.navlabel{margin-top:26px}.sidebarcard{margin:15px 0;padding:15px}.sidebarcard .tiny-star{font-size:18px;margin-bottom:8px}.sidebarcard b{font-size:14px}.sidebarcard p{font-size:10px}.sidebaraccount{padding:14px 0;min-height:62px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.ranking-field select{flex:none;min-height:44px;max-height:none;appearance:auto}.ranking-field{justify-content:flex-start}.scope-tab:focus-visible{outline:2px solid #7b8dd9;outline-offset:2px}
