@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary:#0a0e27;--bg-secondary:#141933;--bg-tertiary:#1a1f3a;--border-color:#2d3561;--border-bright:#3d4675;--text-primary:#e6e6e6;--text-secondary:#a0a0a0;--text-muted:#666;--accent-primary:#0f8;--accent-secondary:#00d9ff;--accent-danger:#f36;--accent-warning:#fa0;--glow-primary:#00ff8880;--glow-secondary:#00d9ff80;--glow-danger:#ff336680;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000c}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:JetBrains Mono,monospace;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}h1,h2,h3,h4,h5,h6{letter-spacing:.05em;margin-bottom:1rem;font-weight:700}h1{text-transform:uppercase;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem}h2{color:var(--accent-primary);font-size:2rem}h3{color:var(--accent-secondary);font-size:1.5rem}a{color:var(--accent-secondary);text-decoration:none;transition:all .3s}a:hover{color:var(--accent-primary);text-shadow:0 0 8px var(--glow-primary)}button,.btn{border:2px solid var(--accent-primary);color:var(--accent-primary);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}button:hover,.btn:hover{background:var(--accent-primary);color:var(--bg-primary);box-shadow:0 0 20px var(--glow-primary);transform:translateY(-2px)}button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}button.danger{border-color:var(--accent-danger);color:var(--accent-danger)}button.danger:hover{background:var(--accent-danger);box-shadow:0 0 20px var(--glow-danger)}button.secondary{border-color:var(--accent-secondary);color:var(--accent-secondary)}button.secondary:hover{background:var(--accent-secondary);color:var(--bg-primary);box-shadow:0 0 20px var(--glow-secondary)}input,textarea,select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);width:100%;padding:.75rem;font-family:JetBrains Mono,monospace;font-size:1rem;transition:all .3s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 10px var(--glow-primary);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);margin-bottom:1rem;padding:1.5rem;transition:all .3s}.card:hover{border-color:var(--border-bright);box-shadow:var(--shadow-md);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:2rem}.grid{gap:1.5rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-success{color:var(--accent-primary)}.text-danger{color:var(--accent-danger)}.text-warning{color:var(--accent-warning)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}@keyframes glow{0%,to{text-shadow:0 0 10px var(--glow-primary)}50%{text-shadow:0 0 20px var(--glow-primary), 0 0 30px var(--glow-primary)}}.animate-glow{animation:2s ease-in-out infinite glow}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--accent-primary);border-radius:50%;width:40px;height:40px;margin:2rem auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.navbar{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);z-index:100;box-shadow:var(--shadow-md);position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex}.navbar-brand a{align-items:center;gap:.2rem;font-size:1.5rem;font-weight:700;display:flex}.brand-bracket{color:var(--accent-primary)}.brand-text{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar-links{flex:1;gap:2rem;display:flex}.navbar-links a{text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.navbar-links a:hover{border-bottom-color:var(--accent-primary)}.navbar-links a.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.navbar-user{align-items:center;gap:1.5rem;display:flex}.user-name{color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;font-weight:600}.logout-button{border-width:1px;padding:.5rem 1rem;font-size:.8rem}@media (width<=768px){.navbar-container{flex-direction:column;gap:1rem}.navbar-links{gap:1rem}.navbar-user{justify-content:space-between;width:100%}}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-background{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%), repeating-linear-gradient(0deg, transparent, transparent 2px, #00ff8808 2px, #00ff8808 4px);z-index:0;position:absolute;inset:0}.scan-line{background:linear-gradient(90deg, transparent, var(--accent-primary), transparent);opacity:.5;width:100%;height:2px;animation:4s linear infinite scan;position:absolute}.login-box{z-index:1;background:var(--bg-secondary);border:2px solid var(--border-color);width:90%;max-width:450px;box-shadow:var(--shadow-lg), 0 0 40px #00ff881a;padding:3rem;position:relative}.login-header{text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.login-header h1{margin-bottom:.5rem;font-size:2rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--accent-primary);letter-spacing:.1em;font-size:.85rem;font-weight:600}.checkbox-group{flex-direction:row;align-items:center}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.error-message{border:1px solid var(--accent-danger);color:var(--accent-danger);background:#ff33661a;padding:1rem;font-size:.9rem}.error-message span{font-weight:700}.login-button{margin-top:1rem;padding:1rem;font-size:1rem}.login-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.login-footer p{font-size:.8rem}.login-hint{color:var(--text-muted);opacity:.6;letter-spacing:.03em;font-size:.78rem;font-style:italic}.waiting-box{text-align:center;border-color:var(--accent-warning);box-shadow:var(--shadow-lg), 0 0 40px #ffaa0026}.waiting-pulse{background:var(--accent-warning);border-radius:50%;width:24px;height:24px;margin:0 auto 1.5rem;animation:1.5s ease-in-out infinite pulse}.waiting-title{color:var(--accent-warning);letter-spacing:.2em;margin-bottom:1rem;font-size:2rem}.waiting-msg{color:var(--text-secondary);margin-bottom:.75rem;font-size:1.1rem}.interstitial-box{text-align:center;border-color:var(--accent-primary);box-shadow:var(--shadow-lg), 0 0 60px #00ff8840;animation:2s ease-in-out infinite glow}.interstitial-icon{margin-bottom:1rem;font-size:4rem}.interstitial-title{letter-spacing:.2em;margin-bottom:1rem;font-size:2rem}.interstitial-msg{color:var(--text-primary);background:var(--bg-tertiary);border-left:4px solid var(--accent-primary);text-align:left;margin-bottom:.5rem;padding:1.5rem;font-size:1.3rem;line-height:1.6}.token-input{letter-spacing:.5em;text-align:center;padding:1rem!important;font-size:2rem!important}.form-group small{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.challenges-header{border-bottom:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3rem;padding-bottom:2rem;display:flex}.team-stats{gap:2rem;display:flex}.stat-item{background:var(--bg-tertiary);border:1px solid var(--border-color);flex-direction:column;align-items:center;padding:1rem 1.5rem;display:flex}.stat-label{color:var(--text-muted);letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem}.challenges-list{flex-direction:column;gap:1rem;display:flex}.challenge-row{background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;grid-template-columns:80px 1fr 150px 180px;align-items:center;padding:1.5rem;transition:all .3s;display:grid;position:relative;overflow:hidden}.challenge-row:before{content:"";background:var(--accent-primary);width:4px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.challenge-row:hover{border-color:var(--accent-primary);box-shadow:0 0 20px var(--glow-primary);transform:translate(4px)}.challenge-row:hover:before{transform:scaleY(1)}.challenge-row.solved{border-color:var(--accent-primary);background:linear-gradient(90deg, #00ff880d 0%, var(--bg-secondary) 100%)}.challenge-row.solved:before{transform:scaleY(1)}.challenge-index{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.challenge-row.solved .challenge-index{color:var(--accent-primary)}.challenge-title h3{color:var(--text-primary);margin:0;font-size:1.3rem}.challenge-points{color:var(--accent-secondary);text-align:right;padding-right:2rem;font-size:1.2rem;font-weight:700}.challenge-status{text-align:right}.solved-badge{background:var(--accent-primary);color:var(--bg-primary);letter-spacing:.05em;text-align:center;width:140px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:inline-block}.attempt-badge{color:var(--accent-secondary);letter-spacing:.05em;border:1px solid var(--accent-secondary);text-align:center;width:140px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:all .3s;display:inline-block}.challenge-row:hover .attempt-badge{background:var(--accent-secondary);color:var(--bg-primary)}.error-banner{text-align:center;background:var(--bg-secondary);border:2px solid var(--accent-danger);padding:3rem}.error-banner h2{color:var(--accent-danger);margin-bottom:1rem}.error-banner button{margin-top:1.5rem}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-state p:first-child{color:var(--text-secondary);margin-bottom:1rem;font-size:1.5rem;font-weight:700}@media (width<=768px){.challenges-header{flex-direction:column;gap:1.5rem}.team-stats{justify-content:space-between;width:100%}.stat-item{text-align:center;flex:1;padding:.75rem}.challenge-row{grid-template-rows:auto auto;grid-template-columns:50px 1fr;gap:1rem;padding:1rem}.challenge-title{grid-area:1/2/2/3}.challenge-points{text-align:left;grid-area:2/1/3/2;align-items:center;padding:0;font-size:1rem;display:flex}.challenge-status{text-align:right;grid-area:2/2/3/3}.solved-badge,.attempt-badge{width:auto;padding:.3rem .8rem}}.back-button{margin-bottom:2rem;padding:.5rem 1rem;font-size:.9rem}.challenge-detail{grid-template-columns:1fr 400px;gap:2rem;display:grid}.challenge-main{flex-direction:column;gap:2rem;display:flex}.challenge-title-row{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;display:flex}.challenge-points-badge{color:var(--accent-primary);background:var(--bg-tertiary);border:2px solid var(--accent-primary);padding:1rem 1.5rem;font-size:2rem;font-weight:700}.solved-banner{border:2px solid var(--accent-primary);color:var(--accent-primary);text-align:center;letter-spacing:.1em;background:linear-gradient(135deg,#0f83,#00ff880d);padding:1rem 1.5rem;font-size:1.1rem;font-weight:700}.solved-banner span{margin-right:.5rem;font-size:1.5rem}.challenge-content h3,.challenge-assets h3,.flag-submission h3{color:var(--accent-secondary);letter-spacing:.1em;margin-bottom:1rem;font-size:1rem}.challenge-description{background:var(--bg-tertiary);border-left:4px solid var(--accent-primary);white-space:pre-wrap;padding:1.5rem;line-height:1.8}.challenge-assets{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.5rem}.assets-list{flex-direction:column;gap:.75rem;display:flex}.asset-item{background:var(--bg-tertiary);border:1px solid var(--border-color);align-items:center;gap:.75rem;padding:1rem;font-weight:500;transition:all .3s;display:flex}.asset-item:hover{border-color:var(--accent-primary);background:var(--bg-primary)}.asset-item span{font-size:1.5rem}.flag-submission{background:var(--bg-secondary);border:2px solid var(--border-color);padding:1.5rem}.flag-input-group{gap:1rem;display:flex}.flag-input-group input{flex:1;font-family:JetBrains Mono,monospace;font-size:1.1rem}.flag-input-group button{white-space:nowrap;padding:.75rem 2rem}.submit-result{border:2px solid;margin-top:1rem;padding:1rem;font-size:1rem;font-weight:600}.submit-result.correct{border-color:var(--accent-primary);color:var(--accent-primary);background:#00ff881a}.submit-result.incorrect{border-color:var(--accent-danger);color:var(--accent-danger);background:#ff33661a}.challenge-sidebar{height:fit-content;position:sticky;top:6rem}.hints-section{background:var(--bg-secondary);border:2px solid var(--border-color);padding:1.5rem}.hints-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.hints-header h3{letter-spacing:.1em;margin:0;font-size:1rem}.hint-budget{color:var(--accent-primary);font-size:.9rem;font-weight:700}.hints-list{flex-direction:column;gap:1rem;display:flex}.hint-item{border:1px solid var(--border-color);background:var(--bg-tertiary);padding:1rem}.hint-item.unlocked{border-color:var(--accent-primary);background:linear-gradient(135deg, var(--bg-tertiary), #00ff8808)}.hint-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.hint-number{color:var(--accent-secondary);letter-spacing:.05em}.hint-cost{color:var(--accent-warning)}.hint-content{color:var(--text-primary);background:var(--bg-primary);border-left:3px solid var(--accent-primary);padding:.75rem;line-height:1.6}.unlock-button{width:100%;padding:.75rem;font-size:.85rem}@media (width<=1024px){.challenge-detail{grid-template-columns:1fr}.challenge-sidebar{position:static}}@media (width<=768px){.challenge-title-row{flex-direction:column;gap:1rem}.challenge-points-badge{align-self:flex-start}.flag-input-group{flex-direction:column}}.chart-wrapper{background:var(--bg-secondary);border:2px solid var(--border-color);padding:1.5rem;overflow:hidden}.score-chart{width:100%;height:auto;display:block}.chart-axis-label{fill:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.chart-legend-label{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.chart-legend-score{fill:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.chart-empty{background:var(--bg-secondary);border:2px solid var(--border-color);text-align:center;color:var(--text-muted);padding:4rem 2rem}.chart-empty p:first-child{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.leaderboard-header{border-bottom:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:3rem;padding-bottom:2rem;display:flex}.leaderboard-controls{align-items:center;gap:1rem;display:flex}.tab-switcher{border:2px solid var(--border-color);display:flex;overflow:hidden}.tab-btn{color:var(--text-muted);box-shadow:none;background:0 0;border:none;border-radius:0;padding:.6rem 1.4rem;font-size:.85rem;transform:none}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:none;transform:none}.tab-btn.active{background:var(--accent-primary);color:var(--bg-primary);box-shadow:none}.tab-btn.active:hover{background:var(--accent-primary);transform:none}.refresh-button{align-items:center;gap:.4rem;padding:.6rem 1.2rem;transition:opacity .2s;display:flex}.refresh-button:disabled{opacity:.7;cursor:default;transform:none}.spin{animation:.7s linear infinite spin;display:inline-block}.chart-section{flex-direction:column;gap:1rem;display:flex}.chart-title{color:var(--accent-secondary);letter-spacing:.1em;margin:0;font-size:.95rem}.leaderboard-table{background:var(--bg-secondary);border:2px solid var(--border-color);overflow:hidden}.table-header{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);letter-spacing:.1em;color:var(--accent-secondary);grid-template-columns:100px 1fr 150px 120px 200px;gap:1rem;padding:1.5rem;font-size:.85rem;font-weight:700;display:grid}.table-body{flex-direction:column;display:flex}.table-row{border-bottom:1px solid var(--border-color);grid-template-columns:100px 1fr 150px 120px 200px;align-items:center;gap:1rem;padding:1.5rem;transition:all .3s;display:grid}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--bg-tertiary)}.table-row.current-team{border-left:4px solid var(--accent-primary);background:linear-gradient(90deg,#00ff881a,#0000);padding-left:calc(1.5rem - 4px)}.table-row.rank-1 .rank-badge{font-size:2rem}.table-row.rank-2 .rank-badge{font-size:1.8rem}.table-row.rank-3 .rank-badge{font-size:1.6rem}.col-rank{justify-content:center;align-items:center;display:flex}.rank-badge{color:var(--accent-primary);font-size:1.5rem;font-weight:700}.table-row.rank-1{background:linear-gradient(90deg,#ffd7001a,#0000)}.table-row.rank-2{background:linear-gradient(90deg,#c0c0c01a,#0000)}.table-row.rank-3{background:linear-gradient(90deg,#cd7f321a,#0000)}.col-team{align-items:center;gap:1rem;display:flex}.team-name{font-size:1.1rem;font-weight:600}.you-badge{background:var(--accent-primary);color:var(--bg-primary);letter-spacing:.05em;padding:.3rem .6rem;font-size:.7rem;font-weight:700}.col-points{text-align:center}.points-value{color:var(--accent-primary);font-size:1.5rem;font-weight:700}.col-solves{text-align:center;color:var(--text-secondary);font-size:1.1rem}.col-time{text-align:right;color:var(--text-muted);font-size:.9rem}@media (width<=1024px){.table-header,.table-row{grid-template-columns:80px 1fr 120px 100px;gap:.75rem}.col-time{display:none}}@media (width<=768px){.table-header,.table-row{grid-template-columns:60px 1fr 100px;padding:1rem}.col-solves{display:none}.team-name{font-size:1rem}.points-value{font-size:1.2rem}}.dashboard-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;margin-bottom:2rem;display:grid}.event-control-card,.quick-links-card{background:var(--bg-secondary);border:2px solid var(--border-color);padding:2rem}.event-control-card h2,.quick-links-card h2{color:var(--accent-secondary);letter-spacing:.1em;margin-bottom:2rem;font-size:1.2rem}.status-display{justify-content:center;margin:2rem 0;display:flex}.status-indicator{letter-spacing:.1em;background:var(--bg-tertiary);border:3px solid;align-items:center;gap:1rem;padding:1.5rem 3rem;font-size:1.5rem;font-weight:700;display:flex}.status-indicator.active{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 20px var(--glow-primary)}.status-indicator.inactive{border-color:var(--text-muted);color:var(--text-muted)}.status-dot{background:currentColor;border-radius:50%;width:16px;height:16px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.event-times{background:var(--bg-tertiary);border-left:4px solid var(--accent-secondary);flex-direction:column;gap:1rem;margin:2rem 0;padding:1.5rem;display:flex}.time-item{justify-content:space-between;gap:1rem;display:flex}.time-label{color:var(--text-muted);letter-spacing:.05em;font-size:.85rem;font-weight:600}.time-value{color:var(--text-primary);font-size:.9rem}.control-buttons{gap:1rem;display:flex}.start-button,.stop-button{flex:1;padding:1rem;font-size:1rem}.quick-links{flex-direction:column;gap:1rem;display:flex}.quick-link{background:var(--bg-tertiary);border:1px solid var(--border-color);align-items:center;gap:1.5rem;padding:1.5rem;transition:all .3s;display:flex}.quick-link:hover{border-color:var(--accent-primary);background:var(--bg-primary);transform:translate(8px)}.link-icon{font-size:2.5rem}.quick-link h3{color:var(--accent-primary);margin:0 0 .25rem;font-size:1.1rem}.quick-link p{color:var(--text-muted);margin:0;font-size:.9rem}.admin-info-card{background:var(--bg-secondary);border:2px solid var(--border-color);padding:2rem}.admin-info-card h3{color:var(--accent-warning);letter-spacing:.1em;margin-bottom:1rem;font-size:1rem}.admin-info-card ul{flex-direction:column;gap:.75rem;list-style:none;display:flex}.admin-info-card li{color:var(--text-secondary);padding-left:1.5rem;line-height:1.6;position:relative}.admin-info-card li:before{content:">";color:var(--accent-primary);font-weight:700;position:absolute;left:0}.dashboard-section{margin-top:2.5rem}.section-title{color:var(--accent-secondary);letter-spacing:.1em;margin-bottom:1rem;font-size:1.2rem}.admin-lb-table{background:var(--bg-secondary);border:2px solid var(--border-color);overflow:hidden}.admin-lb-header{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);letter-spacing:.1em;color:var(--accent-secondary);grid-template-columns:100px 1fr 150px 100px;padding:1rem 1.5rem;font-size:.8rem;font-weight:700;display:grid}.admin-lb-row{border-bottom:1px solid var(--border-color);grid-template-columns:100px 1fr 150px 100px;align-items:center;padding:1rem 1.5rem;transition:background .2s;display:grid}.admin-lb-row:last-child{border-bottom:none}.admin-lb-row:hover{background:var(--bg-tertiary)}.admin-lb-row.rank-1{background:linear-gradient(90deg,#ffd70014,#0000)}.admin-lb-row.rank-2{background:linear-gradient(90deg,#c0c0c014,#0000)}.admin-lb-row.rank-3{background:linear-gradient(90deg,#cd7f3214,#0000)}.admin-lb-rank{font-size:1.3rem}.admin-lb-name{font-weight:600}.admin-lb-points{color:var(--accent-primary);font-size:1.2rem;font-weight:700}.admin-lb-solves{color:var(--text-secondary)}.admin-lb-empty{text-align:center;color:var(--text-muted);padding:2rem}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.submissions-header{background:var(--bg-secondary);border:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin:2rem 0;padding:2rem;display:flex}.submission-stats{gap:1.5rem;display:flex}.stat-card{background:var(--bg-tertiary);border:2px solid var(--border-color);flex-direction:column;align-items:center;min-width:120px;padding:1rem 1.5rem;display:flex}.stat-card.correct{border-color:var(--accent-primary)}.stat-card.incorrect{border-color:var(--accent-danger)}.stat-number{color:var(--accent-primary);font-size:2rem;font-weight:700}.stat-card.correct .stat-number{color:var(--accent-primary)}.stat-card.incorrect .stat-number{color:var(--accent-danger)}.stat-label{color:var(--text-muted);letter-spacing:.1em;margin-top:.5rem;font-size:.75rem}.filter-buttons{gap:1rem;display:flex}.filter-buttons button{padding:.75rem 1.5rem;font-size:.9rem}.filter-buttons button.active{color:var(--bg-primary);background:currentColor}.submissions-table{background:var(--bg-secondary);border:2px solid var(--border-color);overflow-x:auto}.submissions-table .table-header{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);letter-spacing:.1em;color:var(--accent-secondary);grid-template-columns:180px 150px 1fr 200px 140px;gap:1rem;padding:1.5rem;font-size:.85rem;font-weight:700;display:grid}.submissions-table .table-body{flex-direction:column;display:flex}.submissions-table .table-row{border-bottom:1px solid var(--border-color);grid-template-columns:180px 150px 1fr 200px 140px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:all .3s;display:grid}.submissions-table .table-row:last-child{border-bottom:none}.submissions-table .table-row:hover{background:var(--bg-tertiary)}.col-time{color:var(--text-muted);font-size:.85rem}.col-team{font-weight:600}.col-challenge{color:var(--accent-secondary)}.col-flag code{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:block;overflow:hidden}.col-status{justify-content:center;display:flex}.status-badge{letter-spacing:.05em;white-space:nowrap;border:1px solid;padding:.4rem .8rem;font-size:.75rem;font-weight:700}.status-badge.correct{border-color:var(--accent-primary);color:var(--accent-primary);background:#00ff881a}.status-badge.incorrect{border-color:var(--accent-danger);color:var(--accent-danger);background:#ff33661a}@media (width<=1024px){.submissions-header{flex-direction:column;align-items:stretch}.submission-stats{justify-content:space-around}.filter-buttons{justify-content:center}.submissions-table .table-header,.submissions-table .table-row{grid-template-columns:140px 120px 1fr 120px}.col-flag{display:none}}@media (width<=768px){.submissions-table .table-header,.submissions-table .table-row{grid-template-columns:1fr 100px;padding:1rem}.col-time,.col-challenge{display:none}}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;margin-top:2rem;display:grid}.team-card{background:var(--bg-secondary);border:2px solid var(--border-color);flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.team-header{border-bottom:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.team-header h2{margin:0;font-size:1.5rem}.team-actions{flex-shrink:0;gap:.75rem;display:flex}.adjust-button{padding:.5rem 1rem;font-size:.8rem}.token-value{letter-spacing:.2em;color:var(--accent-warning);font-size:1.4rem}.team-stats{background:var(--bg-tertiary);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.stat-row{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-muted);letter-spacing:.05em;font-size:.85rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.stat-value.primary{color:var(--accent-primary)}.stat-value.danger{color:var(--accent-danger)}.adjustments-list{background:var(--bg-tertiary);border-left:4px solid var(--accent-secondary);padding:1rem}.adjustments-list h4{color:var(--accent-secondary);letter-spacing:.1em;margin-bottom:1rem;font-size:.85rem}.adjustment-item{background:var(--bg-primary);border:1px solid var(--border-color);margin-bottom:.75rem;padding:.75rem}.adjustment-item:last-child{margin-bottom:0}.adjustment-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.adjustment-amount{font-size:1.1rem;font-weight:700}.adjustment-amount.positive{color:var(--accent-primary)}.adjustment-amount.negative{color:var(--accent-danger)}.adjustment-by{color:var(--text-muted);font-size:.8rem}.adjustment-reason{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:2px solid var(--border-color);width:100%;max-width:500px;box-shadow:var(--shadow-lg), 0 0 40px #0f83;padding:2rem}.modal-content h2{margin-bottom:.5rem}.modal-subtitle{color:var(--accent-secondary);margin-bottom:2rem;font-size:1.1rem}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{color:var(--accent-primary);letter-spacing:.1em;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.modal-content .form-group small{margin-top:.5rem;font-size:.8rem;display:block}.modal-buttons{gap:1rem;margin-top:2rem;display:flex}.modal-buttons button{flex:1}@media (width<=768px){.teams-grid{grid-template-columns:1fr}.team-header{flex-direction:column;align-items:stretch;gap:1rem}.modal-overlay{padding:1rem}}
