@font-face{font-family:Site;src:url('/fonts/site-arabic.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Site;src:url('/fonts/site-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#000;--text:#f5f5f7;--muted:#a1a1a6;--card:#1c1c1e;--border:rgba(255,255,255,.1);--blue:#6ea8fe;--soft-blue:rgba(110,168,254,.11);--gold:#d8b66d;--green:#83d4ac}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;font-family:Site,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}::selection{background:#2563eb;color:white}[hidden]{display:none!important}.muted{color:var(--muted)}.topbar{height:78px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1080px)/2));background:rgba(0,0,0,.75);backdrop-filter:blur(30px);position:sticky;top:0;z-index:5}.brand{display:flex;gap:12px;align-items:center}.brand img{border-radius:50%;object-fit:contain}.brand b{display:block;font-size:17px}.brand span{display:block;font-size:11px;color:var(--muted)}.header-caption{color:var(--muted);font-size:12px}main{max-width:1080px;min-height:calc(100dvh - 190px);margin:auto;padding:48px 24px 32px}footer{max-width:1080px;margin:auto;padding:30px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}footer span{display:block;font-size:10px;margin-top:8px;line-height:1.9}.setup-card{max-width:570px;margin:28px auto;text-align:center;padding:36px 38px 32px;border:1px solid var(--border);border-radius:32px;background:rgba(28,28,30,.7);box-shadow:0 8px 32px rgba(0,0,0,.4);animation:slide-up .5s ease}.hero-logo{object-fit:contain;border-radius:50%;margin-bottom:14px}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;margin:0 0 12px;letter-spacing:.1px}h1{font-size:clamp(32px,5vw,48px);line-height:1.5;letter-spacing:-1.5px;margin:0;font-weight:800}h1 span{color:var(--muted)}h2{font-size:25px;letter-spacing:-.7px;margin:0 0 12px;line-height:1.5}h3{font-size:17px;margin:0 0 8px}.intro{font-size:14px;line-height:2;color:#b7b7bd;max-width:430px;margin:16px auto 26px}.primary,.secondary{border:0;border-radius:999px;padding:13px 25px;font-weight:700;font-size:13px;transition:transform .2s,filter .2s;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px}.primary{background:var(--blue);color:#06152d;box-shadow:0 4px 14px rgba(110,168,254,.2)}.secondary{background:#2c2c2e;color:var(--text)}.primary:hover,.secondary:hover{transform:scale(.98);filter:brightness(1.05)}.wide{width:100%}.step-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 20px}.step{background:rgba(255,255,255,.035);padding:13px 10px;border-radius:17px;border:1px solid var(--border);font-size:11px;color:var(--muted)}.step b{color:var(--text);display:block;font-size:13px;margin-bottom:5px}.step.active{border-color:rgba(110,168,254,.4);background:var(--soft-blue)}.step.done{border-color:rgba(131,212,172,.25)}.instructions{text-align:right;font-size:12px;line-height:2.1;padding:17px 20px;border-radius:20px;background:rgba(255,255,255,.04);margin:16px 0;color:#c9c9ce}.instructions ol{margin:0;padding-right:18px}.notice{background:rgba(216,182,109,.08);border:1px solid rgba(216,182,109,.15);color:#ddcba6;font-size:12px;line-height:2;border-radius:17px;padding:13px 18px;margin:16px 0}.error{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.2);color:#fca5a5;font-size:12px;border-radius:16px;padding:13px 18px;line-height:1.9;margin:16px 0}.fine{font-size:10px;line-height:1.9;color:var(--muted);margin:16px 0 0}.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:30px}.page-title{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.page-description{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--green);margin-left:6px}.date-tag{font-size:10px;color:var(--muted);white-space:nowrap;padding-top:9px}.tabs{display:inline-flex;gap:6px;padding:5px;border-radius:999px;background:#161618;border:1px solid var(--border);margin-bottom:28px}.tabs button{border:0;border-radius:999px;padding:10px 25px;background:none;color:var(--muted);font-weight:700;font-size:13px;transition:.2s}.tabs button.active{background:#2c2c2e;color:white}.panel{border:1px solid var(--border);border-radius:28px;padding:28px;background:rgba(28,28,30,.68);margin-bottom:22px}.search-form{display:flex;gap:10px;align-items:center}.field{display:flex;flex-direction:column;gap:8px;flex:1}.field label{font-size:11px;color:var(--muted)}input,select{color:var(--text);background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:18px;min-height:48px;padding:10px 16px;width:100%;transition:.2s}input:focus,select:focus{border-color:var(--blue);background:rgba(255,255,255,.08)}input::placeholder{color:#77777f}select option{background:#1c1c1e}input[type=search]::-webkit-search-cancel-button{cursor:pointer}.search-form .primary{align-self:flex-end;min-width:110px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-label p{font-size:12px;color:var(--muted);margin:0}.student-name{font-size:25px;line-height:1.7;margin:0 0 6px;letter-spacing:-.5px}.seat{font-size:12px;color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.metric{padding:21px 18px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid var(--border)}.metric small{color:var(--muted);font-size:10px;display:block;margin-bottom:8px}.metric strong{font-family:Site,Arial,sans-serif;font-size:30px;line-height:1.3;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric strong.accent{color:var(--blue)}.metric span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.controls .field label{font-size:11px}.term-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:4px}.term-heading p{color:var(--muted);font-size:11px;margin:4px 0 0}.term-total{font-size:24px;font-weight:750;white-space:nowrap;color:var(--blue);font-variant-numeric:tabular-nums}.course{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.065);display:grid;grid-template-columns:1fr auto;gap:10px}.course:last-child{border:0}.course-name{font-size:13px;line-height:1.9;margin:0}.course-code{color:#7e7e88;font-size:9px;direction:ltr;text-align:right;display:block;margin-top:6px}.course-score{font-size:19px;min-width:66px;text-align:left;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.course-score small{font-size:10px;color:var(--muted);display:block;margin-top:3px;font-weight:400}.badge{display:inline-block;font-size:9px;color:var(--blue);background:var(--soft-blue);border-radius:6px;padding:2px 7px;margin-right:5px;vertical-align:middle}.badge.neutral{color:var(--muted);background:rgba(255,255,255,.06)}.empty-state{border:1px dashed rgba(255,255,255,.14);border-radius:22px;padding:38px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:2}.rank-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-bottom:20px}.table-wrap{overflow-x:auto;margin:0 -8px}.ranking{width:100%;border-collapse:collapse;white-space:nowrap}.ranking th{color:var(--muted);font-size:10px;font-weight:500;padding:14px 10px;text-align:right;border-bottom:1px solid var(--border)}.ranking td{font-size:12px;padding:17px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.ranking tr:last-child td{border:0}.ranking .rank{font-size:15px;color:var(--blue);font-weight:750;width:65px}.ranking .name-button{border:0;background:none;color:var(--text);font-weight:550;padding:0;text-align:right;max-width:400px;white-space:normal;font-size:12px;line-height:1.9}.ranking .name-button:hover{color:var(--blue)}.ranking .score{font-weight:750;font-size:15px;font-variant-numeric:tabular-nums;text-align:left}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:11px;color:var(--muted)}.pager button{padding:8px 20px;min-height:38px;font-size:11px}.loading{padding:40px;text-align:center;color:var(--muted)}.loading::before{content:'';display:block;border:2px solid #333;border-top-color:var(--blue);width:22px;height:22px;border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}.skeleton{height:16px;background:#242426;border-radius:8px}.mode-description{font-size:11px;color:var(--muted);line-height:1.9;margin:12px 0 20px}.small-link{border:0;background:none;color:var(--blue);font-size:11px;padding:6px;cursor:pointer}.retry-button{margin-top:12px}.stats-line{font-size:11px;color:var(--muted);line-height:1.9;margin-top:18px}.offline-banner{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#2c2c2e;border:1px solid var(--border);padding:12px 24px;border-radius:999px;font-size:12px;z-index:20;white-space:nowrap}details{grid-column:1/-1;font-size:10px;color:var(--muted);line-height:1.9}details summary{cursor:pointer;color:var(--blue)}.attempt{display:flex;gap:20px;padding:7px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.topbar{height:68px;padding:0 20px}.header-caption{font-size:9px}.brand img{width:35px;height:35px}.brand b{font-size:15px}main{padding:28px 17px}.setup-card{padding:28px 23px;margin:10px auto;border-radius:28px}.hero-logo{width:88px;height:88px}.intro{font-size:12px;margin-top:13px}.page-title{font-size:25px}.date-tag{display:none}.topline{margin-bottom:22px}.panel{padding:21px 19px;border-radius:25px}.tabs{width:100%;display:flex}.tabs button{flex:1;padding:10px 15px}.search-form{gap:8px}.search-form .primary{min-width:88px;padding:12px 17px}.metrics{gap:8px;margin:19px 0}.metric{padding:16px 12px;border-radius:18px}.metric strong{font-size:23px}.metric small{font-size:9px}.metric span{font-size:9px}.student-name{font-size:21px}.controls{grid-template-columns:1fr}.rank-filters{grid-template-columns:1fr 1fr}.rank-filters .field:last-child{grid-column:1/-1}.ranking .name-button{min-width:150px}.ranking td{padding:15px 8px;font-size:11px}.ranking th{padding:13px 8px}.ranking .rank{width:42px}.ranking .score{font-size:13px}.course-name{font-size:12px}.course-score{font-size:18px}.term-heading h3{font-size:15px}.term-total{font-size:21px}footer{padding:24px 20px}.notice{font-size:11px}.page-description{font-size:12px}.section-label{align-items:flex-start}.step-list{gap:8px}.step{font-size:9px}.step b{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:680px){.ranking{table-layout:fixed}.ranking th:first-child{width:42px}.ranking th:nth-child(3){width:64px}.ranking th:last-child{width:62px}.ranking .name-button{min-width:0;max-width:none;width:100%}.ranking th,.ranking td{padding-right:5px;padding-left:5px}}
@media(max-width:420px){.rank-filters{grid-template-columns:1fr}.rank-filters .field:last-child{grid-column:auto}}
.rank-filters:not(:has(#rank-mode)){grid-template-columns:1fr 1.4fr}
.rank-filters:not(:has(#rank-mode)) .field:last-child{grid-column:auto}
@media(max-width:680px){.rank-filters:not(:has(#rank-mode)){grid-template-columns:1fr}}
