.leaderboard-shortcuts{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0}.leaderboard-shortcuts a{padding:.6rem .8rem;border-radius:999px;background:#fff0e2;color:#7a3415;text-decoration:none;font-weight:700}.lb-page{padding:1.2rem 1rem 5rem}.lb-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.lb-heading h1{font-size:1.55rem;margin:.2rem 0 1rem}.lb-heading>a{flex:none;color:#9a3d13}.lb-kicker{text-transform:uppercase;letter-spacing:.08em;color:#a55a2f;font-size:.75rem;font-weight:700;margin:0}.lb-filters{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.lb-filters label,.hw-member form label{display:grid;gap:.3rem;font-size:.85rem}.lb-filters select,.lb-filters input,.hw-member input,.hw-member select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dfc9b7;border-radius:.6rem;padding:.6rem;background:#fff;font:inherit}.lb-asof{font-size:.75rem;color:#746d66}.lb-podium{display:flex;gap:.5rem;overflow-x:auto;margin:1rem 0}.lb-podium-card{display:grid;justify-items:center;gap:.2rem;min-width:5.8rem;max-width:7.5rem;flex:1;background:#fff4e9;border-radius:1rem;padding:.75rem;text-decoration:none;color:#5b2e18;text-align:center}.lb-podium-card strong,.lb-person strong{overflow-wrap:anywhere}.lb-podium-card b{font-size:1.35rem}.lb-list{display:grid;gap:.4rem}.lb-row{display:flex;align-items:center;gap:.65rem;background:white;border:1px solid #f0e2d4;border-radius:.8rem;padding:.7rem;text-decoration:none;color:inherit;min-width:0}.lb-rank{width:1.5rem;text-align:center;font-weight:800;color:#b35b25}.lb-person{display:grid;min-width:0;flex:1}.lb-person small,.lb-score small{color:#777;font-size:.72rem}.lb-score{display:grid;text-align:right;min-width:3.5rem}.lb-score b{font-size:1.1rem}.lb-panel{background:#fff;border:1px solid #eddccd;border-radius:1rem;padding:1rem;margin:1rem 0}.lb-panel h2{font-size:1.08rem;margin:.1rem 0 .7rem}.lb-panel p{line-height:1.5}.lb-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-height:16rem;overflow:auto;border:1px solid #ead4c2;border-radius:.7rem;margin:1rem 0;padding:.7rem}.lb-people legend{font-weight:700}.lb-check{display:flex;align-items:center;gap:.25rem;min-width:0}.lb-check span{display:flex;align-items:center;gap:.35rem;min-width:0;overflow-wrap:anywhere}.lb-check .avatar{width:1.7rem;height:1.7rem;flex:none}.lb-mini{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #f1e8e0;color:inherit;text-decoration:none}.lb-mini:last-child{border:0}.lb-mini span{text-align:right;color:#79533f;font-size:.82rem}.lb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.lb-stats>div{background:#fff0e2;border-radius:.7rem;padding:.65rem .25rem;text-align:center;display:grid}.lb-stats strong{font-size:1.3rem}.lb-stats span{font-size:.7rem;color:#6f5b50}.hw-member{border-top:1px solid #eee0d3;padding:.7rem 0}.hw-member summary{display:flex;justify-content:space-between;gap:.5rem;cursor:pointer}.hw-member summary span{font-size:.75rem;color:#6d5e55}.hw-member form{display:grid;gap:.55rem;background:#fff9f2;border-radius:.7rem;padding:.7rem;margin:.7rem 0}.hw-member h3{margin:0;font-size:.93rem}.hw-item{border-left:3px solid #d9783e}.lb-candidate{display:grid;gap:.3rem;padding:.7rem 0;border-bottom:1px solid #eee}.lb-candidate small{color:#6d5e55}.lb-candidate button{justify-self:start}.classroom-screen{background:#241b21}.classroom-screen .phone-shell{width:min(100%,1600px);max-width:none;min-height:100vh;background:#241b21;box-shadow:none}.classroom-screen .brand,.classroom-screen .bottom-nav{display:none}.classroom-screen #app{padding:0}.screen-page{min-height:100vh;box-sizing:border-box;padding:clamp(1rem,3vw,3rem);background:#241b21;color:#fff}.screen-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.screen-head h1{font-size:clamp(2rem,4vw,4rem);margin:.25rem 0}.screen-head a,.screen-head button{color:#fff;background:#624432;border:0;border-radius:.5rem;padding:.6rem;text-decoration:none;margin:.2rem}.screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,3rem)}.screen-grid section{background:#35282d;border-radius:1.3rem;padding:clamp(1rem,2vw,2rem)}.screen-student,.screen-team{display:flex;align-items:center;gap:1rem;padding:.7rem;border-bottom:1px solid #6b5251}.screen-student strong{flex:1;overflow-wrap:anywhere}.screen-student span:last-child{font-size:1.6rem;font-weight:800}.screen-student .avatar{background:#b78461}.screen-team{justify-content:space-between}@media(max-width:700px){.screen-grid{grid-template-columns:1fr}.lb-page{padding-inline:.8rem}.lb-people{grid-template-columns:1fr}.lb-filters{gap:.4rem}}
.lb-batch-options{display:grid;gap:.4rem;border:1px solid #ead4c2;border-radius:.7rem;margin:1rem 0;padding:.7rem}.lb-batch-options[hidden],.lb-check[hidden]{display:none!important}.lb-batch-options legend{font-weight:700}.lb-option{display:flex;align-items:center;gap:.55rem;padding:.5rem;border-radius:.55rem;background:#fff8f1;cursor:pointer}.lb-option span{flex:1}.lb-option small{color:#865030}.lb-option input{flex:none}.lb-student-choice{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem}.lb-course-switch{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#76533c}.lb-course-switch select{max-width:6rem;padding:.35rem;border:1px solid #e7cbb5;border-radius:999px;background:#fff;color:#653719;font:inherit}.lb-batch-person{display:grid;gap:.25rem;padding:.7rem 0;border-bottom:1px solid #f1e8e0}.lb-batch-person small{color:#79533f}
.lb-showcase{padding:0 0 5rem;background:linear-gradient(180deg,#fff4d7 0,#fff9ee 43%,#fffaf6 100%);color:#24213a;overflow:hidden}
.lb-showcase-hero{position:relative;padding:24px 14px 0;background:radial-gradient(circle at 50% 32%,#fffefa 0,#fff5d8 58%,#ffedbf 100%);overflow:hidden}
.lb-showcase-hero:before,.lb-showcase-hero:after{content:'✦';position:absolute;color:#ffbf37;pointer-events:none;text-shadow:0 3px 12px #fff7d0}
.lb-showcase-hero:before{font-size:40px;left:5px;top:100px;transform:rotate(-12deg)}
.lb-showcase-hero:after{font-size:32px;right:9px;top:140px;transform:rotate(18deg)}
.lb-showcase .lb-heading{align-items:flex-start;position:relative;z-index:1;margin:0 0 8px;gap:5px}
.lb-showcase .lb-heading h1{font-size:clamp(25px,7vw,34px);line-height:1.18;letter-spacing:1px;margin:3px 0 0;color:#ed5316;text-shadow:0 2px #fff,0 4px 12px #ffd181}
.lb-showcase .lb-heading .back{color:#9e531d;background:#fff9ec;border:1px solid #f3d3a5;border-radius:999px;padding:6px 10px;white-space:nowrap;margin:0;font-size:11px;min-height:33px}
.lb-showcase .lb-kicker{font-size:10px;letter-spacing:.04em;color:#9f6133}
.lb-showcase-subtitle{position:relative;z-index:1;text-align:center;font-size:13px;font-weight:700;letter-spacing:1px;margin:12px 0 13px;color:#5d4a37}
.lb-showcase-periods{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;margin:0 auto;width:min(100%,330px);background:#fff;border:1px solid #ffe4bc;border-radius:999px;box-shadow:0 7px 18px #d99c441b}
.lb-showcase-periods button{min-height:38px;border-radius:999px;background:transparent;color:#656075;font-size:15px;font-weight:800}
.lb-showcase-periods button[aria-pressed="true"]{background:linear-gradient(135deg,#ff7e35,#f64c18);box-shadow:0 4px 9px #e9773d5c;color:#fff}
.lb-showcase-sparkle{text-align:center;color:#efb032;font-size:23px;letter-spacing:10px;height:40px;line-height:38px}
.lb-showcase-podium{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr);align-items:end;gap:4px;min-height:284px;position:relative;z-index:1}
.lb-showcase-winner{position:relative;display:flex;align-items:center;flex-direction:column;min-width:0;text-decoration:none;color:#30243c;text-align:center;padding:11px 4px 9px;border-radius:18px 18px 6px 6px;border:2px solid #ffffffb8;box-shadow:0 10px 17px #aa6f3940}
.lb-showcase-first{min-height:264px;background:linear-gradient(150deg,#ffebb1,#ffd354 65%,#ffc23f);border-color:#fff0a5;z-index:2}
.lb-showcase-second{min-height:220px;background:linear-gradient(150deg,#ffc4cb,#ff888f 70%,#f77082);border-color:#ffe1df}
.lb-showcase-third{min-height:200px;background:linear-gradient(150deg,#bde7ff,#75c6f7 70%,#56ade9);border-color:#dff6ff}
.lb-showcase-winner .avatar{width:64px;height:64px;border-radius:50%;font-size:26px;border:4px solid #fff;box-shadow:0 3px 12px #6b512e3d;background:#fff6dd;color:#e36224}
.lb-showcase-first .avatar{width:80px;height:80px;font-size:30px}
.lb-showcase-crown{position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:40px;line-height:1;color:#ffd12d;text-shadow:0 2px #b96e16,0 4px 6px #65431855}
.lb-showcase-second .lb-showcase-crown{color:#c9d7ef;text-shadow:0 2px #7b8ab3,0 4px 6px #65431855}
.lb-showcase-third .lb-showcase-crown{color:#ffa969;text-shadow:0 2px #b56941,0 4px 6px #65431855}
.lb-showcase-crown b{position:absolute;top:13px;left:50%;transform:translateX(-50%);font:800 13px/1 sans-serif;color:#673722;text-shadow:0 1px #fff}
.lb-showcase-winner>strong{font-size:18px;line-height:1.3;margin-top:8px;max-width:100%;overflow-wrap:anywhere}
.lb-showcase-points{font-size:22px;line-height:1.1;font-weight:900;color:#fff;background:linear-gradient(135deg,#ff8936,#ff4e18);padding:5px 9px;margin:5px 0;border:2px solid #fff;border-radius:999px;box-shadow:0 3px 6px #ac644540;white-space:nowrap}
.lb-showcase-second .lb-showcase-points{background:linear-gradient(135deg,#ff7587,#ee485b)}
.lb-showcase-third .lb-showcase-points{background:linear-gradient(135deg,#289eea,#0876d1)}
.lb-showcase-points small,.lb-showcase-score small{font-size:.55em;margin-left:1px}
.lb-showcase-badges,.lb-showcase-row-badges{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;min-width:0}
.lb-badge-chip,.lb-badge-more,.lb-badge-empty{display:inline-flex;align-items:center;justify-content:center;gap:3px;max-width:100%;min-height:19px;padding:1px 5px;border:1px solid #ffc26d;background:#fff8df;color:#ac5316;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.lb-badge-chip img{width:17px;height:17px;object-fit:contain;border-radius:50%;background:#fff;flex:none}
.lb-badge-spark{color:#f3a100;font-size:12px}.lb-badge-empty,.lb-badge-more{border-color:#dce0e7;background:#f8f9fb;color:#727b91}
.lb-showcase-balance{font-size:9px;margin-top:auto;padding-top:5px;color:#635c59}
.lb-showcase-empty{display:grid;justify-items:center;gap:8px;padding:32px 15px 42px;text-align:center;color:#805330}.lb-showcase-empty span{font-size:50px;color:#ffbd33}.lb-showcase-empty strong{font-size:17px}.lb-showcase-empty small{font-size:11px;line-height:1.6}
.lb-showcase-board{position:relative;z-index:2;margin:-3px 10px 0;padding:14px 9px 16px;border-radius:20px 20px 16px 16px;background:#fffefa;box-shadow:0 -5px 15px #ffffffb5,0 9px 22px #b3814325}
.lb-showcase-board-head{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:8px 9px 12px;border-radius:15px;background:linear-gradient(90deg,#e8f8e9,#f8fff1)}
.lb-showcase-board-head>div{display:flex;align-items:center;gap:5px;min-width:0}.lb-showcase-board-head>div>span{font-size:17px;color:#21b66d}.lb-showcase-board-head strong{font-size:13px;white-space:nowrap}.lb-showcase-board-head b{font-size:14px;color:#129957;white-space:nowrap}
.lb-showcase-board-head label{font-size:10px;color:#5e7167;white-space:nowrap}.lb-showcase-board-head select{border:1px solid #b9dcc5;border-radius:999px;background:#fff;color:#44624d;padding:4px 5px;font-size:10px;max-width:72px}
.lb-showcase-list{display:grid;gap:7px;margin-top:10px}.lb-showcase-row{display:grid;grid-template-columns:25px 42px minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0;padding:9px 7px;border:1px solid #f1e9df;border-radius:14px;background:#fff;text-decoration:none;color:#24213a;box-shadow:0 3px 8px #b9976e12}
.lb-showcase-row .avatar{width:42px;height:42px;border-radius:50%;background:#e7f7ed;color:#19945c;font-size:18px}.lb-showcase-row:nth-child(4n+2) .avatar{background:#f0e6ff;color:#7646ae}.lb-showcase-row:nth-child(4n+3) .avatar{background:#e3f2ff;color:#277cc6}.lb-showcase-row:nth-child(4n+4) .avatar{background:#fff1d3;color:#d47c14}
.lb-showcase-rank{font-size:20px;font-weight:900;color:#777e92;text-align:center}.lb-showcase-person{display:grid;gap:3px;min-width:0}.lb-showcase-person>strong{font-size:15px;line-height:1.2;overflow-wrap:anywhere}.lb-showcase-person>small{font-size:9px;color:#7a7882}.lb-showcase-row-badges{justify-content:flex-start}.lb-showcase-track{display:block;width:100%;height:6px;border-radius:99px;background:#e9e8ef;overflow:hidden}.lb-showcase-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#65df9e,#37c978)}.lb-showcase-row:nth-child(4n+2) .lb-showcase-track i{background:linear-gradient(90deg,#cca5fa,#a977e9)}.lb-showcase-row:nth-child(4n+3) .lb-showcase-track i{background:linear-gradient(90deg,#8ecdfa,#48a8ee)}.lb-showcase-row:nth-child(4n+4) .lb-showcase-track i{background:linear-gradient(90deg,#ffdc77,#ffc249)}
.lb-showcase-score{min-width:58px;padding:6px 6px;border-radius:99px;background:#dcf8e4;color:#118741;font-size:17px;text-align:center;white-space:nowrap}.lb-showcase-row:nth-child(4n+2) .lb-showcase-score{background:#eee1ff;color:#6930ab}.lb-showcase-row:nth-child(4n+3) .lb-showcase-score{background:#dceeff;color:#116fbd}.lb-showcase-row:nth-child(4n+4) .lb-showcase-score{background:#fff1c7;color:#bb6813}
.lb-showcase-tail{text-align:center;color:#786f62;font-size:11px;padding:20px 4px}.lb-showcase .lb-asof{margin:14px 3px 0;line-height:1.6}.lb-showcase .leaderboard-shortcuts{margin:12px 18px}
@media(max-width:380px){.lb-showcase-hero{padding-inline:9px}.lb-showcase-podium{gap:2px}.lb-showcase-winner{padding-inline:2px}.lb-showcase-winner .avatar{width:55px;height:55px}.lb-showcase-first .avatar{width:68px;height:68px}.lb-showcase-winner>strong{font-size:15px}.lb-showcase-points{font-size:18px;padding:4px 6px}.lb-badge-chip,.lb-badge-more,.lb-badge-empty{font-size:9px;padding-inline:4px}.lb-showcase-board{margin-inline:6px;padding-inline:6px}.lb-showcase-row{grid-template-columns:21px 36px minmax(0,1fr) auto;gap:4px}.lb-showcase-row .avatar{width:36px;height:36px}.lb-showcase-score{min-width:49px;font-size:14px}.lb-showcase-person>strong{font-size:13px}}
.hw-team-draft{display:grid;gap:.6rem;margin:.8rem 0;padding:.85rem;border:1px solid #efd5bd;border-radius:.8rem;background:#fffaf4}.hw-team-draft-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.hw-team-draft h3{margin:0;font-size:1rem}.hw-team-draft .field{margin:0}.hw-assignments{display:grid;gap:.4rem;margin:1rem 0;padding:.7rem;border:1px solid #ead4c2;border-radius:.7rem}.hw-assignments legend{font-weight:700}.hw-assign-row{display:grid;grid-template-columns:2rem minmax(0,1fr) minmax(6rem,8rem);align-items:center;gap:.5rem;padding:.35rem;border-bottom:1px solid #f3e7dc}.hw-assign-row:last-child{border:0}.hw-assign-row .avatar{width:2rem;height:2rem}.hw-assign-row select,.hw-score-form select{min-width:0;width:100%;box-sizing:border-box;border:1px solid #dfc9b7;border-radius:.6rem;padding:.5rem;background:#fff;font:inherit}.hw-team-result{justify-content:flex-start}.hw-team-result>div{display:grid;gap:.15rem;min-width:0}.hw-team-result small{font-size:.75rem;color:#79533f}.hw-team-avatar{width:3rem;height:3rem;object-fit:cover;border-radius:50%;flex:none;background:#fff0db}.hw-team-avatar-empty{display:grid;place-items:center;font-size:1.35rem;font-weight:800;color:#a95a21}.hw-score-form{display:grid;gap:.55rem;background:#fff4e8;border-radius:.7rem;padding:.7rem;margin:.7rem 0}.hw-score-form label{display:grid;gap:.3rem;font-size:.85rem}.hw-score-form button{justify-self:start}.hw-member-score{margin:.7rem 0;color:#925021;font-weight:700}
.hw-team-points{margin-left:auto;min-width:3.1rem;padding:.35rem .45rem;border-radius:999px;background:#fff0d1;color:#ae4f16;text-align:center;font-size:1rem;white-space:nowrap}
.screen-team .hw-team-avatar{width:2.6rem;height:2.6rem}.screen-team strong{flex:1}.screen-team strong small{display:block;font-size:.75em;font-weight:400;color:#e6cdb9}.screen-team>span:last-child{font-size:1.35rem;font-weight:800;white-space:nowrap}
