.photo-uploader-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1003}.photo-uploader-modal{animation:fadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input[type=file],.form-group input[type=text]{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;padding:8px;width:100%}.preview{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;margin:15px 0;padding:10px;text-align:center}.preview img{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.button-group{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.button-group button{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 16px}.button-group button[type=button]{background-color:#f5f5f5;color:#333}.button-group button[type=submit]{background-color:#4caf50;color:#fff}.button-group button:disabled{cursor:not-allowed;opacity:.6}.error-message{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;display:flex;margin-bottom:15px;padding:10px}.error-icon{margin-right:10px}.error-text{flex:1 1}.retry-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:5px 10px}.upload-progress{margin-top:15px}.progress-bar{background-color:#f0f0f0;border-radius:5px;height:10px;overflow:hidden}.progress-fill{background-color:#4caf50;height:100%;transition:width .3s ease}.progress-text{color:#555;font-size:.9rem;margin-top:5px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.photo-viewer-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.photo-viewer-modal{animation:zoomIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.close-button{background-color:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:30px;position:absolute;right:10px;top:10px;width:30px}.close-button,.photo-container{align-items:center;display:flex;justify-content:center}.photo-container{background-color:#f5f5f5;border-radius:8px;flex:1 1;min-height:200px;overflow:hidden;padding:15px;position:relative}.photo-container img{max-height:70vh;max-width:100%;object-fit:contain}.loading-placeholder{color:#555;font-style:italic;padding:20px;text-align:center}.navigation{background-color:#f9f9f9;border-top:1px solid #eee;justify-content:space-between;padding:10px 15px}.navigation,.navigation button{align-items:center;display:flex}.navigation button{background-color:#444;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:36px;justify-content:center;width:36px}.navigation button:hover{background-color:#666}.navigation span{color:#555;font-size:14px}.caption{background-color:#fff;color:#333;font-size:16px;padding:15px}.caption,.metadata{border-top:1px solid #eee;text-align:center}.metadata{background-color:#f5f5f5;border-radius:0 0 8px 8px;color:#777;font-size:12px;padding:10px 15px}.report-button{background-color:initial;border:none;color:#ff4136;cursor:pointer;font-size:12px;gap:5px;opacity:.7;padding:5px}.report-button:hover{opacity:1}.reported-message{color:#000;font-size:12px;font-weight:700;padding:5px}.report-confirmation-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1002}.report-confirmation-dialog{animation:zoomIn .2s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0000004d;max-width:400px;padding:20px;text-align:center;width:80%}.report-confirmation-dialog h3{color:#333;margin-top:0}.report-confirmation-dialog p{color:#555;margin-bottom:20px}.report-reason-selector{margin-bottom:20px;width:100%}.reason-dropdown{-webkit-appearance:menulist;appearance:menulist;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:10px;width:100%}.reason-dropdown:focus{border-color:#aaa;box-shadow:0 0 5px #0000001a;outline:none}.report-confirmation-buttons{display:flex;gap:15px;justify-content:center}.cancel-button,.confirm-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px}.cancel-button{background-color:#e0e0e0;color:#333}.cancel-button:hover{background-color:#d0d0d0}.confirm-button{background-color:#ff4136;color:#fff}.confirm-button:hover{background-color:#e03026}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.loading-progress-container{margin:10px 0;text-align:center}.loading-progress-bar{background-color:#eee;border-radius:3px;height:6px;margin-bottom:5px;overflow:hidden}.loading-progress-fill{background-color:#ffd68a;height:100%;transition:width .3s ease}.loading-progress-text{color:#666;font-size:12px}.loading-table-container{position:relative}.loading-cell .shimmer{height:15px}.loading-message{padding:20px!important;text-align:center}.loading-text{display:inline-block;font-weight:500;position:relative}.loading-text:after{animation:loading-dots 1.5s infinite;content:""}.rank-change-indicator{align-items:center;border-radius:4px;display:inline-flex;font-weight:700;justify-content:center;padding:2px 6px;transition:transform .2s ease;white-space:nowrap}.rank-change-indicator:hover{transform:scale(1.1)}.rank-change-indicator.rising-fast{background-color:#28a745;color:#fff}.rank-change-indicator.rising{background-color:#5cb85c;color:#fff}.rank-change-indicator.falling-fast{background-color:#dc3545;color:#fff}.rank-change-indicator.falling{background-color:#f08080;color:#fff}.rank-change-indicator.unchanged{background-color:#f0f0f0;border:1px solid #ddd;color:#666}.rank-change-indicator.new{background-color:#17a2b8;color:#fff}.rank-change-icon{margin-right:2px}.rank-change-value{font-size:.9em}@media screen and (max-width:767px){.rank-change-indicator{font-size:12px;padding:1px 4px}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;max-height:80vh;max-width:800px;overflow-y:auto;padding:20px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;margin-top:10px;padding-bottom:10px}.modal-header h2{font-size:1.5rem;margin:0}.modal-header button{background:none;border:none;color:#666;cursor:pointer;font-size:2.5rem}.modal-header button:hover{color:#000}.modal-body{margin-bottom:20px}.recommendedBtnContainer{display:flex;justify-content:center;margin-top:10px}#recommended-btn{background-color:#4caf50;border:none;color:#fff;font-weight:700}#recommended-btn:hover{background-color:#45a049}@media (max-width:768px){.modal-content{max-height:70vh;padding:15px;width:95%}.modal-header h2{font-size:1.2rem}}.clickable-competitor{align-items:center;background-color:#fff;border:1px solid #ffd68a;border-radius:4px;cursor:pointer;display:inline-flex;margin-bottom:0;padding:8px 12px;transition:background-color .3s ease,box-shadow .3s ease}.clickable-competitor.full-width{display:flex}.clickable-competitor:hover{background-color:#fefee0;box-shadow:0 4px 8px #0000001a}.clickable-competitor.selected{background-color:#ffe79b;border:1px solid #ffd68a;box-shadow:0 4px 8px #00000026}.competitor-category{color:#555;margin-right:8px}.competitor-name{flex:1 1;font-weight:400;margin-right:8px}.rank-change-indicator{margin-right:8px}.current-rank{color:#666;font-size:.9em}.last-score-container{align-items:center;display:flex;flex-direction:row;font-size:14px;gap:12px;margin-top:20px}@media screen and (max-width:767px){.last-score-container{font-size:12px}}.last-score-text{margin:0}.movers-and-shakers{background-color:#fff4df;border:1px solid #ffd68a;border-radius:8px;font-size:14px;margin:4px 0;max-width:424px;padding:12px}.movers-and-shakers h3{color:#333;font-size:16px;margin-bottom:16px;margin-top:0;text-align:center}.movers-and-shakers h4{color:#444;font-size:14px;margin-bottom:12px;margin-top:0}.movers-container{display:flex;flex-wrap:wrap;gap:16px}.movers-section{flex:1 1;min-width:250px}.movers-section ul{list-style-type:none;margin:0;padding:0}.movers-section li{margin-bottom:8px}.no-changes{background-color:#fff;border:1px solid #ffd68a;border-radius:4px;color:#666;font-style:italic;padding:8px 12px}.movers-and-shakers.empty,.movers-and-shakers.loading{text-align:center}.movers-and-shakers.loading h3{animation:loading-dots 1.5s infinite}.movers-and-shakers.empty p{color:#666;font-style:italic}@media screen and (max-width:767px){.movers-container{flex-direction:column}.movers-section{width:100%}.movers-and-shakers{font-size:12px}.movers-and-shakers h3{font-size:16px}.movers-and-shakers h4{font-size:14px}}.finals-scoreboard{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 5rem;padding-top:1.5rem}.scoreboard-title{color:#111;font-size:3rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.scoreboard-table{background-color:#e0e0e0;display:flex;flex-direction:column;gap:.125rem}.competitor-row{align-items:center;background-color:#fff;display:flex;justify-content:space-evenly;padding:1.5rem}.rank{color:#111;font-size:2.5rem;font-weight:700;margin-right:3rem;text-align:center}.name{color:#111;font-size:1.7rem;font-weight:600;max-width:15rem;min-width:15rem}.problems{display:flex;gap:.75rem;justify-content:center;padding-top:1rem}.problem-box{gap:.125rem}.problem-box,.problem-indicator{align-items:center;display:flex;flex-direction:column}.problem-indicator{border:.05rem solid #111;border-radius:.25rem;height:3.5rem;justify-content:center;position:relative;width:2rem}.problem-indicator.has-top{background-color:#111;color:#fff}.problem-indicator.has-zone{background-color:#fff;color:#111}.problem-indicator.no-achievement{background-color:#eee;color:#ccc}.problem-indicator.no-achievement:before{background-color:#111;content:"";height:.025rem;left:142%;position:relative;top:0;transform:translateY(-250%) rotate(118.5deg);transform-origin:left center;width:195%}.attempts-top,.attempts-zone{font-size:1.1rem;font-weight:600;line-height:1.5}.problem-indicator.has-zone:after{background-color:#111;bottom:0;content:"";height:50%;left:0;position:absolute;right:0}.problem-indicator.has-zone .attempts-zone{color:#fff;position:relative;z-index:1}.problem-number{color:#666;font-size:.75rem;font-weight:600}.score{color:#111;font-size:2.5rem;font-weight:700;min-width:8rem;text-align:right}@media screen and (max-width:800px){.finals-scoreboard{margin:0}.scoreboard-title{font-size:2rem;margin-bottom:0}.competitor-row{padding:0 1.5rem}.rank{font-size:1.5rem;margin-right:1rem}.name{font-size:1rem;max-width:6rem;min-width:6rem}.problems{scale:.6}.score{font-size:1rem;min-width:2rem}}@media screen and (max-width:360px){.rank{font-size:1rem;margin-right:.5rem}.name{font-size:.8rem;max-width:4rem;min-width:4rem}.score{font-size:1rem;min-width:2rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}body.modal-open{overflow:hidden}.app{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:0 .4rem;width:100%}h1{margin:10px 0;text-align:center}@media screen and (min-width:768px){.app{padding:10px 10vw}}.mainTable{border-collapse:collapse;margin-top:4px;width:100%}.mainTable td,.mainTable th{border:1px solid #ddd;padding:8px;text-align:center}.tableHeader{background-color:#ffd68a;position:sticky;top:0;z-index:2}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.table-container .mainTable{min-width:100%}.filtersContainer{display:flex;flex:1 1;flex-direction:row;flex-grow:1}.filters{background:#fff4df;border:1px solid #ffd68a;border-radius:8px;display:flex;flex-direction:column;flex-grow:1;font-size:14px;gap:12px;justify-content:space-between;margin:2px 0;padding:12px}.filters label{align-items:center;cursor:pointer;display:flex;gap:8px}.filters input[type=checkbox]{height:16px;margin:0;width:16px}select{background:#fff;border:1px solid #ffd68a;border-radius:4px;padding:6px 12px}@media screen and (max-width:767px){.mainTable{font-size:12px}.mainTable td,.mainTable th{word-wrap:break-word;padding:5px}.subTable{font-size:12px;margin-top:0}.mainTable .subTable td,.mainTable .subTable th{border:1px solid #ccc;padding:5px!important}#recommended-btn{font-size:12px}}.subTableHeader{background-color:#fff4df}.mainTable tbody tr:nth-child(odd):not(.subTableHeader){background-color:#f9f9f9}.mainTable tbody tr:nth-child(2n):not(.subTableHeader){background-color:#e0e0e0}.mainTable tbody tr{transition:background-color .3s ease,box-shadow .3s ease}.mainTable tbody tr:hover:not(.subTableContainer,.subTableHeader){background-color:#fefee0;box-shadow:0 4px 8px #0000001a}.mainTable .subTable{border-collapse:collapse;margin-top:5px}.mainTable .subTable td,.mainTable .subTable th{border:1px solid #ccc;padding:6px}.mainTable .subTable tbody tr:nth-child(odd){background-color:#f9f9f9}.mainTable .subTable tbody tr:nth-child(2n){background-color:#e9e9e9}.mainTable .subTable tbody tr:hover{background-color:#fefee0;box-shadow:0 4px 8px #0000001a}#recommended-btn{border:1px solid #ccc;border-radius:4px;cursor:pointer;padding:8px 16px}.recommendedBtnContainer{margin-bottom:3px;margin-top:5px;text-align:center}.loading-dots:after{animation:loading-dots 1.5s infinite;content:""}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.footer{background-color:#fff4df;border-radius:8px;border-top:1px solid #ffd68a;margin-top:30px;padding:15px 0;text-align:center}.footer p{color:#333;font-size:14px;margin:0}.footer a{color:#06c;font-weight:500;text-decoration:none;transition:color .3s ease}.footer a:hover{color:#004080;text-decoration:underline}@media screen and (max-width:767px){.footer{margin-top:20px;padding:10px 0}.footer p{font-size:12px}}.pointer{cursor:pointer}.center{align-items:center;display:flex;justify-content:center}
/*# sourceMappingURL=main.89dd1bfa.css.map*/