:root{color:#171717;font-synthesis:none;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #007aff}header{z-index:10;-webkit-backdrop-filter:blur(8px);background:#fffffff0;border-bottom:1px solid #ededed;transition:box-shadow .25s;position:sticky;top:0;transform:translateZ(0)}header.tabs-hidden{box-shadow:0 4px 16px #0000000d}.header-inner,main,footer{max-width:1320px;margin:auto}.top{padding:24px 32px 14px;transition:padding .32s cubic-bezier(.34,1.35,.64,1);display:block}header.tabs-hidden .top{padding-bottom:18px}.search{background:#f1f1f1;border:2px solid #0000;border-radius:32px;flex:1;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 8px 0 18px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.search:focus-within{background:#fff;border-color:#777;box-shadow:0 0 0 4px #00000008}.search svg{flex-shrink:0}.search input{color:#171717;background:0 0;border:0;outline:0;width:100%;min-width:0;height:50px;font-size:17px}.search input::placeholder{color:#666}.search button{color:#fff;background:#171717;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;transition:transform .26s cubic-bezier(.34,1.56,.64,1),background .18s;display:grid}.search button:active{transition:transform 80ms;transform:scale(.88)}.tabs{scrollbar-width:none;overscroll-behavior-x:contain;contain:layout style;opacity:1;transform-origin:top;gap:8px;max-height:80px;padding:8px 32px 18px;transition:max-height .28s,opacity .2s,padding .28s,transform .28s;display:flex;overflow-x:auto;transform:translateY(0)}.tabs::-webkit-scrollbar{display:none}header.tabs-hidden .tabs{opacity:0;pointer-events:none;max-height:0;padding-top:0;padding-bottom:0;transition:max-height .24s,opacity .18s,padding .24s,transform .24s;overflow:hidden;transform:translateY(-6px)}.tab{white-space:nowrap;background:0 0;border-radius:28px;padding:14px 19px;font-size:15px;font-weight:650;transition:background .18s,color .18s,transform .28s cubic-bezier(.34,1.56,.64,1)}.tab:active{transition:transform 80ms;transform:scale(.93)}.tab[aria-selected=true]{color:#fff;background:#171717;transform:scale(1)}main{padding:32px}.heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.eyebrow{color:#707070;margin:0 0 10px;font-size:14px}h1{letter-spacing:-1.1px;margin:0;font-size:clamp(25px,3vw,36px);font-weight:750;line-height:1.15}.count{color:#737373;margin:9px 0 0;font-size:14px}.scope-note{color:#777;margin:0 0 18px;font-size:14px}.sort-wrap{flex-shrink:0;position:relative}.sort-trigger{background:#efefef;border-radius:26px;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:650;transition:transform .26s cubic-bezier(.34,1.45,.64,1),background .15s;display:flex}.sort-trigger:active{transition:transform 80ms;transform:scale(.95)}.sort-menu{z-index:12;-webkit-backdrop-filter:blur(10px);transform-origin:100% 0;background:#fffffffa;border:1px solid #eee;border-radius:22px;width:264px;padding:10px;animation:.22s cubic-bezier(.34,1.35,.64,1) forwards appleMenuIn;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 28px #0000001f}@keyframes appleMenuIn{0%{opacity:0;transform:scale(.92)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.sort-menu p{color:#777;margin:7px 12px 10px;font-size:13px}.sort-menu button{text-align:left;background:0 0;border-radius:12px;justify-content:space-between;gap:10px;width:100%;padding:13px 12px;font-size:14px;font-weight:550;transition:background .15s;display:flex}.sort-menu button:focus-visible{background:#f1f1f1}.sort-menu button[aria-checked=true]{background:#f1f1f1;font-weight:750}.sort-menu button[aria-checked=true]:after{content:"✓"}.grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px;display:grid}.student{content-visibility:auto;contain-intrinsic-size:auto 175px;contain:layout style paint;background:#fff;border:1px solid #e9e9e9;border-radius:25px;min-width:0;transition:transform .15s;overflow:hidden}.student:active{transition:transform 80ms;transform:scale(.988)}.scores{background:#f4f4f4;grid-template-columns:1fr 1fr;gap:5px;padding:26px 14px 24px;display:grid}.score{text-align:center}.score+.score{border-left:1px solid #ddd}.score dt{color:#727272;letter-spacing:.8px;margin-bottom:8px;font-size:12px;font-weight:650}.score dd{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;margin:0;font-size:34px;font-weight:750;line-height:1.1}.score.secondary dd{color:#575757;font-weight:600}.student dl{margin:0}.student-info{flex-direction:column;justify-content:center;min-height:85px;padding:18px 20px 20px;display:flex}.student-info h2{overflow-wrap:anywhere;min-height:auto;margin:0 0 5px;padding:0;font-size:16px;font-weight:650;line-height:1.4}.student-roll{color:#767676;letter-spacing:.4px;font-variant-numeric:tabular-nums;text-transform:uppercase;margin:0;font-size:13px;font-weight:550}.branch-tag{letter-spacing:.6px;color:#bd162c;vertical-align:middle;white-space:nowrap;text-transform:uppercase;background:#e6002314;border:1px solid #e6002338;border-radius:6px;justify-content:center;align-items:center;margin-left:7px;padding:2.5px 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.history-card{contain-intrinsic-size:auto 290px;padding-bottom:10px}.history-card .student-info{min-height:auto;padding:20px 20px 14px}.history-card .student-info h2{margin-bottom:5px;font-size:17px}.history-head,.history-row{text-align:right;grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:6px;margin:0 15px;padding:15px 3px;display:grid}.history-head{letter-spacing:.4px;color:#777;padding:8px 3px 12px;font-size:12px;font-weight:650}.history-head span:first-child{text-align:left}.history-row{letter-spacing:-.8px;font-variant-numeric:tabular-nums;border-top:1px solid #ededed;min-height:70px;font-size:25px;font-weight:700}.history-row>span:last-child{color:#616161;font-weight:550}.history-row .semester-label{text-align:left;letter-spacing:0;font-size:14px;font-weight:600}.history-row.unavailable{color:#aaa}.empty{text-align:center;padding:65px 16px}.empty h2{letter-spacing:-.6px;font-size:24px}.empty p{color:#707070;font-size:16px}.empty button{color:#fff;background:#171717;border-radius:24px;padding:14px 22px;transition:transform .24s cubic-bezier(.34,1.5,.64,1),background .15s}.empty button:active{transition:transform 80ms;transform:scale(.94)}.footnote{color:#777;margin:28px 0 0;font-size:13px;line-height:1.65}footer{color:#777;border-top:1px solid #eee;justify-content:space-between;gap:15px;padding:18px 32px 35px;font-size:13px;display:flex}footer a{color:#555;text-underline-offset:3px;text-decoration:underline}.source-links{flex-wrap:wrap;gap:16px;display:flex}.bottom-vignette{pointer-events:none;z-index:15;background:linear-gradient(#0000 0%,#0000000d 30%,#0000002e 65%,#00000059 100%);height:140px;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}.semester-dock{z-index:20;bottom:calc(18px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);transition:bottom .25s;position:fixed;left:50%;transform:translate(-50%)translateZ(0)}.semester-capsule{-webkit-backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #ffffffd9;border-radius:36px;gap:3px;padding:4.5px;transition:transform .2s;display:flex;box-shadow:0 6px 20px #00000014,inset 0 1px 1px #fffffff2,inset 0 -1px 1px #0000000f}.semester-capsule button{color:#4b4b4b;white-space:nowrap;background:0 0;border-radius:26px;flex-direction:row;justify-content:center;align-items:center;gap:6px;height:38px;min-height:38px;padding:0 15px;font-size:13px;font-weight:600;transition:background .18s,transform .18s,color .15s;display:flex}.semester-capsule button:active{transition:transform 80ms;transform:scale(.93)}.semester-capsule button[aria-checked=true]{color:#fff;background:#e60023e0;font-weight:700;transform:scale(1.02);box-shadow:0 2px 8px #e6002352,inset 0 1px 1px #ffffff73}.semester-capsule button svg{flex-shrink:0;transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.semester-capsule button[aria-checked=true] svg{transform:scale(1.05)}.semester-capsule button:focus-visible{outline-offset:2px;outline:2px solid #e60023}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (width>=1450px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top{gap:20px}}@media (width<=680px){.top{gap:12px;padding:18px 18px 8px}header.tabs-hidden .top{padding:14px 18px}.search{gap:8px;min-height:53px;padding-left:14px}.search input{height:47px;font-size:16px}.search button{width:34px;height:34px}.tabs{gap:4px;padding:10px 18px 14px}header.tabs-hidden .tabs{padding-top:0;padding-bottom:0}.tab{padding:13px 16px;font-size:14px}main{padding:25px 18px}.heading{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:20px}.heading>div:first-child{width:100%}.sort-trigger{padding:12px 16px}.sort-menu{left:0;right:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student{border-radius:21px}.scores{gap:3px;padding:23px 8px}.score dd{letter-spacing:-1px;font-size:29px}.score dt{font-size:12px}.student-info{min-height:75px;padding:14px 14px 16px}.student-info h2{margin-bottom:4px;font-size:14px}.student-roll{font-size:11.5px}.history-card .student-info{padding:16px 14px 12px}.history-card .student-info h2{font-size:14px}.branch-tag{letter-spacing:.4px;margin-left:5px;padding:2px 5px;font-size:10px}.history-head,.history-row{grid-template-columns:.9fr 1fr 1fr;gap:3px;margin:0 10px}.history-head{letter-spacing:0;font-size:12px}.history-row{letter-spacing:-.65px;min-height:68px;font-size:18px}.history-row .semester-label{font-size:13px}.eyebrow{margin-bottom:8px}footer{flex-wrap:wrap;margin:0 18px;padding:20px 0 30px;line-height:1.6}.source-links{gap:12px}.semester-dock{bottom:calc(14px + env(safe-area-inset-bottom,0px))}.semester-capsule{gap:2px;padding:3.5px}.semester-capsule button{gap:4px;min-width:auto;height:36px;min-height:36px;padding:0 11px;font-size:12.5px}}@media (width<=370px){.semester-capsule{gap:1px;padding:3px}.semester-capsule button{gap:3px;min-width:auto;height:33px;min-height:33px;padding:0 8px;font-size:11.5px}}@media (width<=350px){.grid{grid-template-columns:1fr}}.notice-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);background:#0000006b;place-items:center;padding:20px;animation:.18s ease-out forwards noticeFadeIn;display:grid;position:fixed;inset:0}.notice-card{text-align:center;background:#fff;border-radius:32px;width:100%;max-width:420px;padding:34px 28px 26px;animation:.32s cubic-bezier(.34,1.35,.64,1) forwards noticePopIn;position:relative;box-shadow:0 24px 64px #00000038,0 4px 16px #00000014}.notice-close{color:#444;background:#f2f2f2;border-radius:50%;place-items:center;width:36px;height:36px;transition:transform .2s cubic-bezier(.34,1.5,.64,1);display:grid;position:absolute;top:16px;right:16px}.notice-close:active{transform:scale(.9)}.notice-icon{color:#e60023;background:#e6002314;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 16px;display:grid}.notice-card h2{letter-spacing:-.5px;color:#171717;min-height:auto;margin:0 0 10px;padding:0;font-size:21px;font-weight:750}.notice-card p{color:#555;margin:0 0 24px;font-size:14.5px;line-height:1.55}.notice-action{color:#fff;background:#e60023;border-radius:26px;width:100%;padding:14px 28px;font-size:15px;font-weight:700;transition:transform .24s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 16px #e600234d}.notice-action:active{transform:scale(.95)}@keyframes noticeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes noticePopIn{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
