@import "https://fonts.googleapis.com/css2?family=Anton&family=Plus+Jakarta+Sans:wght@300;400;600;700&display=swap";
:root{--navy:#071527;--sage:#7fb3ff;--white:#fff;--taupe:#93a8c7;--beige:#d6e6ff;--cyan:#66d9ff;--soft-blue:#b7d7ff;--charcoal:#111827;--ink:#071527;--paper:#fff;--surface:#ffffff0e;--surface-strong:#ffffff1a;--border:#ffffff29;--border-dark:#171e1929;--text:#fff;--text-primary:#fff;--text-secondary:#d6e6ff;--text-muted:#93a8c7;--primary:#66d9ff;--primary-dark:#2f80ed;--primary-light:#b7d7ff;--secondary:#7fb3ff;--accent:#d6e6ff;--danger:#ff8a8a;--card-bg:#ffffff0e;--card-border:#ffffff29;--glass-bg:#ffffff13;--shadow-sm:0 10px 30px #0000002e;--shadow-md:0 24px 80px #00000047;--shadow-glow:0 0 0 1px #66d9ff52;--radius:0;--radius-lg:0;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--navy)}body{background:linear-gradient(180deg,#66d9ff1c,transparent 34rem),var(--navy);min-height:100vh;color:var(--text-primary);cursor:crosshair;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.6}button,a,input,textarea{font:inherit}button,a{cursor:pointer}::selection{background:var(--cyan);color:var(--navy)}.container{width:min(100% - 32px,1240px);margin:0 auto}.site-header{z-index:100;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(90deg,#66d9ff29,#0000 32%,#7fb3ff24),#061b3af7;border-bottom:1px solid #66d9ff6b;position:sticky;top:0;box-shadow:0 16px 50px #00000047}.site-announcement{color:var(--white);letter-spacing:.18em;text-align:center;text-transform:uppercase;background:#000;border-bottom:1px solid #ffffff24;padding:8px 16px;font-size:.72rem;font-weight:700}.nav{padding:14px 0}.nav-content{justify-content:space-between;align-items:center;gap:24px;min-height:54px;display:flex}.logo{color:var(--white);letter-spacing:.12em;text-shadow:0 0 24px #66d9ff4d;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1;text-decoration:none}.nav-links{align-items:center;gap:8px;display:flex}.nav-link{color:var(--white);letter-spacing:.16em;text-transform:uppercase;transition:color .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease);border:1px solid #0000;padding:11px 13px;font-size:.72rem;font-weight:700;text-decoration:none}.nav-link:hover{color:var(--cyan);background:#66d9ff1f;border-color:#66d9ff6b}.nav-action{min-height:auto;padding:10px 15px;font-size:.72rem}.btn{min-height:46px;color:var(--white);letter-spacing:.13em;text-transform:uppercase;transition:transform .5s var(--ease),background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease);background:0 0;border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:.76rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--white);color:var(--navy);border-color:var(--white)}.btn-primary:hover{background:var(--cyan);border-color:var(--cyan)}.btn-secondary{color:var(--white);border-color:#ffffff57}.btn-secondary:hover{background:var(--white);color:var(--navy);border-color:var(--white)}.btn-google{background:var(--white);min-height:40px;color:var(--navy);border-color:var(--white);padding:10px 18px;font-size:.72rem}.btn:disabled{opacity:.42;pointer-events:none;transform:none}.back-link{width:fit-content;color:var(--primary-light);letter-spacing:.12em;text-transform:uppercase;transition:transform .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease);background:#66d9ff14;border:1px solid #66d9ff57;border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:10px 15px;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.back-link:hover{border-color:var(--cyan);color:var(--cyan);background:#66d9ff29;transform:translate(-4px)}.hero{align-items:center;min-height:calc(100vh - 93px);padding:clamp(70px,10vw,130px) 0 clamp(48px,8vw,90px);display:flex}.hero .container{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}.hero-badge{border-bottom:1px solid var(--sage);width:fit-content;color:var(--taupe);letter-spacing:.18em;text-transform:uppercase;padding-bottom:10px;font-size:.72rem;font-weight:700;display:inline-flex}.hero h1{max-width:1100px;color:var(--white);letter-spacing:-.035em;overflow-wrap:anywhere;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(4.6rem,15vw,13rem);font-weight:400;line-height:.86}.text-outline{color:#0000;-webkit-text-stroke:1px var(--sage);text-stroke:1px var(--sage)}.hero p,.page-subtitle{max-width:640px;color:var(--text-secondary);font-size:clamp(1rem,1.6vw,1.18rem);font-weight:300}.page-header[style*=center] .page-subtitle{margin-left:auto;margin-right:auto}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-signin{width:fit-content;min-height:38px;padding:9px 16px}.section-band{padding:clamp(56px,8vw,100px) 0}.section-band-light{background:var(--paper);color:var(--navy)}.section-heading{color:inherit;letter-spacing:-.035em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(3rem,9vw,7.5rem);font-weight:400;line-height:.95}.editorial-grid{background:currentColor;border:1px solid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;display:grid}.editorial-tile{background:var(--paper);min-height:240px;color:var(--navy);padding:clamp(22px,3vw,34px)}.editorial-number,.stat-value,.mini-stat-value{letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1}.editorial-number{color:var(--taupe);margin-bottom:28px;font-size:clamp(2.6rem,6vw,5rem)}.editorial-tile h3{letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:.85rem}.editorial-tile p{color:#171e19b8;font-weight:300}.card,.stat-card,.course-card,.chart-container{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease);border-radius:0}.card{padding:clamp(22px,3vw,34px)}.card:hover,.course-card:hover{border-color:var(--sage)}.course-card{min-height:240px;color:inherit;padding:24px;text-decoration:none;display:block;position:relative;overflow:hidden}.course-card:hover{transform:translateY(-6px)}.course-code{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:.75rem;font-weight:700}.course-title{color:var(--white);letter-spacing:-.02em;text-transform:uppercase;margin-bottom:20px;font-family:Anton,Impact,sans-serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;line-height:.98}.course-meta{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:10px 16px;font-size:.78rem;font-weight:600;display:flex}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:32px;display:grid}.upload-group-section{margin-top:28px}.upload-group-section .stats-grid{margin-top:0}.upload-group-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.upload-group-heading span{color:var(--white);letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(1.7rem,3.5vw,3rem);font-weight:400;line-height:.95}.upload-group-heading p,.old-upload-note{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.old-upload-dropdown{background:#ffffff09;border:1px solid #93a8c75c;margin-top:30px}.old-upload-dropdown summary{color:var(--white);cursor:pointer;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;list-style:none;display:flex}.old-upload-dropdown summary::-webkit-details-marker{display:none}.old-upload-dropdown summary:before{content:"+";width:28px;height:28px;color:var(--cyan);transition:transform .5s var(--ease),background .5s var(--ease);border:1px solid #66d9ff6b;border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;padding-bottom:2px;font-family:Arial,sans-serif;font-size:18px;font-weight:800;line-height:26px;display:inline-flex}.old-upload-dropdown[open] summary:before{content:"−";background:#66d9ff1f;padding-bottom:3px}.old-upload-dropdown[open] summary{border-bottom-color:var(--card-border)}.old-upload-dropdown summary span{letter-spacing:-.02em;text-transform:uppercase;flex:1;font-family:Anton,Impact,sans-serif;font-size:clamp(1.45rem,3vw,2.5rem);line-height:1}.old-upload-dropdown summary strong{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}.old-upload-note{padding:18px 20px 0}.upload-group-section-old{padding:0 20px 24px}.course-stats{border-top:1px solid var(--card-border);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;padding-top:20px;display:grid}.stat-card{text-align:left;padding:clamp(22px,3vw,34px)}.stat-value{color:var(--cyan);font-size:clamp(2.2rem,5vw,4.5rem)}.stat-label,.mini-stat-label{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;margin-top:8px;font-size:.72rem;font-weight:700}.mini-stat{text-align:left}.mini-stat-value{color:var(--sage);font-size:1.4rem}.insight-section{margin-top:28px}.section-mini-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.section-mini-header span{color:var(--white);letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(1.7rem,3.5vw,3rem);font-weight:400;line-height:.95}.section-mini-header p{max-width:420px;color:var(--text-muted);text-align:right;font-size:.88rem;font-weight:300}.insight-grid{border:1px solid var(--card-border);background:var(--card-border);grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:1px;display:grid}.insight-card{background:linear-gradient(180deg,#ffffff0e,#ffffff08),var(--navy);border:0;min-height:190px;padding:22px;position:relative;overflow:hidden}.insight-card:before{content:"";background:var(--cyan);height:3px;position:absolute;inset:0 0 auto}.insight-card-score{background:radial-gradient(circle at 92% 12%,#66d9ff38,transparent 34%),linear-gradient(135deg,#66d9ff2e,#ffffff0b),var(--navy)}.insight-card-score:before{background:var(--cyan)}.insight-card-rank:before{background:#7fb3ff}.insight-card-difficulty:before{background:#d6e6ff}.insight-card-spread:before{background:#ff8ac7}.insight-kicker{color:var(--taupe);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:.68rem;font-weight:700;display:block}.insight-card strong{color:var(--white);letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:.95;display:block}.insight-card p{color:var(--text-secondary);margin-top:14px;font-size:.88rem;font-weight:300;line-height:1.55}.cutoff-panel{background:linear-gradient(135deg,#7fb3ff1a,#ffffff09),var(--card-bg)}.cutoff-list{gap:10px;display:grid}.cutoff-row{border:1px solid var(--card-border);background:#ffffff0b;justify-content:space-between;align-items:center;gap:18px;min-height:56px;padding:14px 16px;display:flex}.cutoff-row span{color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:800}.cutoff-row strong{color:var(--white);text-align:right;font-size:.98rem}.cutoff-row-elite{background:#66d9ff1a;border-color:#66d9ff73}.cutoff-row-elite span,.cutoff-row-elite strong{color:var(--cyan)}.cutoff-row-strong span,.cutoff-row-strong strong{color:var(--sage)}.cutoff-row-mid span,.cutoff-row-mid strong{color:var(--beige)}.cutoff-row-low span,.cutoff-row-low strong{color:var(--danger)}.page-header{padding:clamp(56px,8vw,96px) 0 36px}.page-title{color:var(--white);letter-spacing:-.035em;overflow-wrap:anywhere;text-transform:uppercase;margin-bottom:18px;font-family:Anton,Impact,sans-serif;font-size:clamp(4rem,10vw,8.5rem);font-weight:400;line-height:.9}.form-group{margin-bottom:24px}.form-label{color:var(--sage);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:700;display:block}.submit-callouts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.submit-callout{border:1px solid var(--card-border);background:#ffffff0e;min-height:142px;padding:20px;position:relative;overflow:hidden}.submit-callout:before{content:"";background:var(--cyan);width:4px;position:absolute;inset:0 auto 0 0}.submit-callout-danger{background:linear-gradient(135deg,#ff8a8a29,#ffffff0b);border-color:#ff8a8a6b}.submit-callout-danger:before{background:var(--danger)}.submit-callout-info{background:linear-gradient(135deg,#66d9ff29,#ffffff0b);border-color:#66d9ff70}.submit-callout-kicker{color:var(--taupe);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:.68rem;font-weight:700;display:inline-flex}.submit-callout strong{color:var(--white);letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:400;line-height:.95;display:block}.submit-callout p{max-width:520px;color:var(--text-secondary);margin-top:12px;font-size:.92rem;font-weight:300}.textarea,.search-input{border:1px solid var(--card-border);width:100%;color:var(--white);transition:border-color .5s var(--ease),background .5s var(--ease);background:#ffffff12;border-radius:0;outline:none}.textarea{resize:vertical;min-height:320px;padding:18px;font-family:Plus Jakarta Sans,monospace;font-size:.9rem}.textarea:focus,.search-input:focus{border-color:var(--cyan);background:#ffffff1a}.textarea::placeholder,.search-input::placeholder{color:#d7c5b294}.search-container{max-width:520px;margin-top:28px;position:relative}.search-input{min-height:54px;padding:14px 20px;font-size:.95rem}.table-container{margin-top:24px;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--card-border);text-align:left;vertical-align:top;padding:18px 14px}.table th{color:var(--taupe);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:700}.table tr{transition:background .5s var(--ease)}.table tbody tr:hover{background:#ffffff0b}.clickable-row{cursor:pointer}.clickable-row:focus{outline:1px solid var(--cyan);outline-offset:-1px}.alert{border:1px solid var(--card-border);color:var(--white);border-radius:0;margin-bottom:20px;padding:16px 20px}.alert-error{color:#ffd0d0;background:#ff8a8a14;border-color:#ff8a8a57}.alert-success{color:var(--cyan);background:#b7c6c21a;border-color:#b7c6c26b}.alert-warning{color:var(--beige);background:#d7c5b21a;border-color:#d7c5b261}.preview{background:#b7c6c214;border:1px solid #b7c6c261;margin-top:24px;padding:20px}.preview-title{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:700}.preview-item{border-bottom:1px solid var(--card-border);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.preview-item:last-child{border-bottom:0}.chart-container{padding:clamp(22px,3vw,34px)}.chart-container h3,.card h2,.card h3{letter-spacing:-.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1}.chart-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.chart-heading span{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:800}.chart-bar-container{align-items:stretch;gap:8px;padding:20px 0;display:flex}.chart-bar-slot{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:22px;display:flex}.chart-bar-slot-active .chart-bar{outline:2px solid var(--white);outline-offset:2px;background:var(--white)}.chart-bar-track{align-items:flex-end;width:100%;height:170px;display:flex}.chart-count{min-height:1em;color:var(--text-secondary);font-size:.72rem;font-weight:700;line-height:1}.chart-user-marker{border:1px solid var(--cyan);background:var(--navy);color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:.58rem;font-weight:800;line-height:1}.chart-bar{background:linear-gradient(to top,var(--sage),var(--cyan));width:100%;min-height:4px;transition:transform .5s var(--ease),background .5s var(--ease)}.chart-bar:hover{background:var(--white);transform:scaleY(1.04)}.chart-labels{gap:8px;display:flex}.chart-label{color:var(--text-muted);text-align:center;flex:1;font-size:.68rem}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.footer{border-top:1px solid var(--card-border);color:var(--text-muted);letter-spacing:.16em;text-align:center;text-transform:uppercase;margin-top:80px;padding:44px 0;font-size:.72rem;font-weight:700}.maintenance-page{background:radial-gradient(circle at 18% 22%,#4682ff3d,transparent 34%),radial-gradient(circle at 84% 78%,#80c3ff2e,transparent 32%),var(--navy);min-height:100svh;color:var(--white);place-items:center;padding:32px;display:grid}.maintenance-panel{text-align:center;width:min(100%,720px)}.maintenance-panel h1{color:var(--white);font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:18px 0 16px;font-size:clamp(3.25rem,12vw,8.5rem);font-weight:400;line-height:.9}.maintenance-panel p{max-width:560px;color:var(--text-secondary);margin:0 auto;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}@media (max-width:900px){.editorial-grid,.insight-grid,.stats-grid{grid-template-columns:1fr}.section-mini-header,.upload-group-heading,.chart-heading{flex-direction:column;align-items:flex-start}.section-mini-header p{text-align:left}.nav-content{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.container{width:min(100% - 24px,1240px)}.site-announcement{letter-spacing:.1em;padding:6px 12px;font-size:.58rem;line-height:1.35}.nav{padding:10px 0}.nav-content{gap:10px;min-height:0}.logo{letter-spacing:.09em;font-size:1.28rem}.nav-links{flex-wrap:wrap;gap:6px;width:100%;display:flex;overflow-x:visible}.nav-link,.nav-action{letter-spacing:.09em;white-space:nowrap;min-height:34px;padding:8px 9px;font-size:.62rem}.submit-callouts{grid-template-columns:1fr}.submit-callout{min-height:auto;padding:18px}.cutoff-row{flex-direction:column;align-items:flex-start}.cutoff-row strong{text-align:left}.hero{min-height:auto}.editorial-tile{min-height:190px}}
