:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.teams-page{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 80px)}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.page-header p{font-size:1.2rem;color:#6b7280;margin-bottom:0}.teams-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#fef3f2;border:2px solid #fed7d7;border-radius:12px;margin:2rem auto;max-width:600px}.teams-disabled-icon{font-size:4rem;margin-bottom:1rem}.teams-disabled h2{color:#e53e3e;margin-bottom:1rem;font-size:1.8rem}.teams-disabled p{color:#718096;margin-bottom:.5rem;font-size:1.1rem;line-height:1.6}.teams-page .team-tabs{display:flex;justify-content:center;max-width:680px;margin-left:auto;margin-right:auto;margin-bottom:2rem;background:var(--dark-card);border-radius:12px;padding:.5rem;border:1px solid var(--dark-border);box-shadow:0 4px 6px -1px #0000004d}.teams-page .tab-button{background:transparent;border:1px solid transparent;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;margin:0 .25rem;position:relative}.teams-page .tab-button:hover{color:#4f46e5;background:#4f46e51a}.teams-page .tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;border-color:#bfdbfed9;font-weight:700;text-shadow:0 1px 2px rgba(15,23,42,.55);box-shadow:0 4px 12px #667eea66}.teams-page .tab-button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.teams-page .tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{margin-bottom:2rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.card-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.team-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{padding:1.5rem;text-align:center}.stat-icon{font-size:2.5rem;margin-bottom:.5rem;display:block}.stat-content h3{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.stat-content p{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0}.create-team-form,.invite-form{background:#0f172a80;border-radius:12px;padding:2rem;border:1px solid var(--dark-border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid var(--dark-border);border-radius:8px;font-size:1rem;transition:all .3s ease;background:#0f172a80;color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:1rem;align-items:end}.char-count{font-size:.8rem;color:#6b7280;text-align:right;margin-top:.25rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 2px 4px #0000001a}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-secondary{background:var(--dark-border);color:var(--text-secondary);border:1px solid var(--dark-border)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.members-list{display:grid;gap:1rem}.member-card{display:flex;justify-content:space-between;align-items:center;padding:1.25rem}.member-info{display:flex;align-items:center;gap:1rem}.member-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:700}.member-details h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.member-details p{margin:0 0 .25rem;color:var(--text-secondary);font-size:.9rem}.member-details small{color:var(--text-muted);font-size:.8rem}.member-actions{display:flex;gap:.5rem}.invitations-list{display:grid;gap:1rem}.invitation-card,.invitation-item{padding:1.5rem}.invitation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.invitation-header h3{margin:0;color:#92400e;font-size:1.2rem}.member-count{background:var(--warning-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.invitation-details,.invitation-info{margin-bottom:1rem}.team-description{color:#78716c;margin-bottom:.75rem;font-style:italic}.invitation-info{color:#57534e;font-size:.9rem;margin-bottom:.5rem}.team-points{color:#d97706;font-weight:600;margin-bottom:.75rem}.invitation-message{background:#0f172a4d;padding:.75rem;border-radius:8px;margin-bottom:.75rem;border-left:4px solid var(--warning-color)}.invitation-actions{display:flex;gap:.75rem;flex-wrap:wrap}.team-info-content{background:#0f172a80;border-radius:12px;padding:1.5rem;border:1px solid var(--dark-border)}.team-info-content ul{list-style:none;padding:0;margin:1rem 0}.team-info-content li{padding:.5rem 0;color:var(--text-secondary);font-size:.95rem}.team-exercise-tip{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;padding:1rem;margin-top:1rem}.team-exercise-tip p{margin:0;color:var(--success-color);font-size:.95rem;line-height:1.5}.create-team-container,.join-team-container{max-width:800px;margin:0 auto}.search-form{margin-bottom:2rem}.search-input-group{display:flex;gap:1rem;align-items:flex-end}.search-input{flex:1;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-results{margin-top:2rem}.search-results h3{margin-bottom:1rem;color:#1e293b;font-weight:600}.team-search-card{padding:1.5rem;margin-bottom:1rem}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.team-header h4{margin:0;color:#1e293b;font-size:1.2rem}.team-search-card .team-details{margin-bottom:1rem}.team-search-card .team-info{color:#6b7280;font-size:.9rem;margin-bottom:.5rem}.team-search-card .team-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.note{font-size:.8rem;color:#9ca3af;font-style:italic}.team-dashboard .team-actions{margin-top:2rem;text-align:center;padding-top:2rem;border-top:2px solid #f1f5f9}.create-team-container .team-info{margin-top:1.5rem;padding:1rem;border:1px solid var(--dark-border);border-radius:10px;background:#0f172a59}.create-team-container .team-info h3{margin-bottom:.75rem;color:var(--text-primary)}.create-team-container .team-info ul{margin:0;padding-left:1rem;color:var(--text-secondary)}.create-team-container .team-info li{margin-bottom:.35rem}@media (max-width: 768px){.teams-page{padding:1rem .75rem}.page-header h1{font-size:2rem}.page-header p{font-size:1rem}.teams-page .team-tabs{flex-direction:column;align-items:stretch;margin-bottom:1.25rem;padding:.35rem}.teams-page .tab-button{margin:.2rem 0;width:100%;padding:.85rem .75rem}.team-stats-grid,.form-row{grid-template-columns:1fr}.search-input-group{flex-direction:column}.search-input-group .btn,.create-team-form .btn,.invite-form .btn{width:100%;justify-content:center}.create-team-form,.invite-form{padding:1rem}.invitation-header{flex-direction:column;align-items:flex-start;gap:.5rem}.invitation-actions{justify-content:flex-start}.member-card{flex-direction:column;align-items:flex-start;gap:1rem}.member-actions{align-self:stretch;justify-content:flex-end}.team-search-card .team-actions{flex-direction:column;align-items:stretch}.team-search-card .note{display:block;text-align:center}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.no-data{text-align:center;color:#9ca3af;font-style:italic;padding:2rem}.team-description{color:#6b7280;font-size:1.1rem;margin-bottom:0;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}.team-ranking{animation:fadeIn .5s ease-in-out}.ranking-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--dark-card);border-radius:12px;border:1px solid var(--dark-border)}.ranking-controls label{font-weight:600;color:var(--text-primary);font-size:1rem}.ranking-controls select{padding:.75rem 1rem;border:2px solid var(--dark-border);border-radius:8px;background:#0f172a80;font-size:.95rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .3s ease;min-width:120px}.ranking-controls select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.rankings-list{display:grid;gap:1rem;max-width:1000px;margin:0 auto}.ranking-item{background:var(--dark-card);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;border:1px solid var(--dark-border);transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000004d}.ranking-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease}.ranking-item:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0006}.ranking-item:hover:before{opacity:1}.ranking-item.rank-first{background:linear-gradient(135deg,#1e293bf2,#f59e0b1a);border-color:#f59e0b66;box-shadow:0 8px 25px #f59e0b33}.ranking-item.rank-first:before{background:linear-gradient(135deg,#f59e0b,#d97706);opacity:1;width:6px}.ranking-item.rank-second{background:linear-gradient(135deg,#1e293bf2,#94a3b81a);border-color:#94a3b866;box-shadow:0 6px 20px #94a3b826}.ranking-item.rank-second:before{background:linear-gradient(135deg,#94a3b8,#64748b);opacity:1;width:5px}.ranking-item.rank-third{background:linear-gradient(135deg,#1e293bf2,#d946ef1a);border-color:#d946ef66;box-shadow:0 6px 20px #d946ef26}.ranking-item.rank-third:before{background:linear-gradient(135deg,#d946ef,#c026d3);opacity:1;width:5px}.rank-position{display:flex;align-items:center;justify-content:center;min-width:80px}.rank-icon{font-size:2.5rem;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;transition:all .3s ease}.rank-first .rank-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.rank-second .rank-icon{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;border-color:#64748b;box-shadow:0 4px 12px #64748b4d}.rank-third .rank-icon{background:linear-gradient(135deg,#d946ef,#c026d3);color:#fff;border-color:#c026d3;box-shadow:0 4px 12px #c026d34d}.rank-other .rank-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.2rem;border-color:#667eea}.team-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.team-info h3{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.team-details{display:flex;flex-wrap:wrap;gap:1rem;color:var(--text-secondary);font-size:.9rem}.team-details .leader,.team-details .members{display:flex;align-items:center;gap:.25rem;background:#0f172a80;padding:.25rem .75rem;border-radius:20px;border:1px solid var(--dark-border);font-weight:500}.team-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.points{display:flex;flex-direction:column;align-items:flex-end}.points-label{font-size:.8rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.points-value{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.rank-first .points-value{background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.rank-second .points-value{background:linear-gradient(135deg,#64748b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.rank-third .points-value{background:linear-gradient(135deg,#d946ef,#c026d3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.no-rankings{text-align:center;padding:4rem 2rem;background:var(--dark-card);border-radius:16px;border:2px dashed var(--dark-border);color:var(--text-secondary);max-width:600px;margin:0 auto}.no-rankings p{font-size:1.1rem;margin:0;font-style:italic}.ranking-info{background:#2563eb1a;border-radius:12px;padding:2rem;margin-top:3rem;border:1px solid rgba(37,99,235,.2)}.ranking-info h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem;font-weight:700}.ranking-info ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.ranking-info li{color:var(--text-secondary);font-size:.95rem;padding:.75rem;background:#0f172a4d;border-radius:8px;border-left:4px solid var(--primary-color)}@media (max-width: 768px){.ranking-controls{flex-direction:column;gap:.75rem;text-align:center}.ranking-item{flex-direction:column;text-align:center;gap:1rem;padding:1.25rem}.rank-position{min-width:auto}.team-info{align-items:center;text-align:center}.team-details{justify-content:center}.team-stats,.points{align-items:center}.ranking-info{padding:1.5rem}.ranking-info ul{gap:.5rem}}@media (max-width: 480px){.ranking-item{padding:1rem}.rank-icon{width:50px;height:50px;font-size:2rem}.rank-other .rank-icon{font-size:1rem}.team-info h3{font-size:1.2rem}.points-value{font-size:1.5rem}.team-details .leader,.team-details .members{font-size:.8rem;padding:.2rem .6rem}}.ranking-item{animation:slideInUp .3s ease-out;animation-fill-mode:both}.ranking-item:nth-child(1){animation-delay:.1s}.ranking-item:nth-child(2){animation-delay:.2s}.ranking-item:nth-child(3){animation-delay:.3s}.ranking-item:nth-child(4){animation-delay:.4s}.ranking-item:nth-child(5){animation-delay:.5s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.leaderboard-header{text-align:center;margin-bottom:3rem;background:var(--dark-card);padding:3rem 2rem;border-radius:20px;border:1px solid var(--dark-border)}.leaderboard-header h1{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.leaderboard-header p{font-size:1.3rem;color:var(--text-secondary);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.global-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:2rem}.global-stats .stat{background:var(--dark-card);padding:1.5rem;border-radius:12px;text-align:center;border:1px solid var(--dark-border);transition:all .3s ease;box-shadow:0 4px 6px -1px #0000004d}.global-stats .stat:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0006}.global-stats .stat-value{display:block;font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem}.global-stats .stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.team-ranking .rank-position{display:flex;align-items:center;justify-content:center;min-width:80px}.team-ranking .rank-icon{width:60px;height:60px;font-size:2.5rem}.team-ranking .team-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.team-ranking .team-details{display:flex;flex-wrap:wrap;gap:1rem}.team-ranking .team-stats,.team-ranking .points{display:flex;flex-direction:column;align-items:flex-end}.team-ranking .points-label{font-size:.8rem;color:#9ca3af;text-transform:uppercase}.team-ranking .points-value{font-size:1.8rem;font-weight:800}.team-ranking .no-rankings{text-align:center;padding:3rem 1.25rem;margin:0 auto;max-width:600px}.team-ranking .ranking-info{background:#2563eb1a;border-radius:12px;border:1px solid rgba(37,99,235,.2);margin-top:2rem;padding:1.5rem}@media (max-width: 768px){.team-ranking .ranking-controls{padding:1rem}.team-ranking .ranking-controls select{width:100%;max-width:240px}.team-ranking .ranking-item{padding:1.1rem;gap:.9rem}.team-ranking .team-info h3{font-size:1.2rem}.team-ranking .team-details .leader,.team-ranking .team-details .members{font-size:.82rem}.team-ranking .points-value{font-size:1.5rem}}@media (max-width: 480px){.team-ranking .ranking-controls{padding:.85rem}.team-ranking .rank-icon{width:50px;height:50px;font-size:2rem}.team-ranking .rank-other .rank-icon{font-size:1rem}.team-ranking .ranking-info{padding:1rem}}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--dark-border)}.admin-tab{background:none;border:none;padding:1rem 1.5rem;color:var(--text-secondary);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-size:1rem}.admin-tab:hover{color:var(--text-primary);background:#ffffff0d}.admin-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#2563eb1a}.admin-container{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);padding:2rem}.admin-max-width{max-width:1200px;margin:0 auto;width:100%}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0}.admin-login-container{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;padding:1rem}.admin-login-card{background:var(--dark-card);padding:2rem;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:400px;border:1px solid var(--dark-border)}.admin-login-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;text-align:center}.admin-form{display:flex;flex-direction:column;gap:1.5rem}.admin-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.admin-input{width:100%;padding:.75rem;background:#374151;border:1px solid var(--dark-border);border-radius:.5rem;color:var(--text-primary);font-size:1rem;outline:none;transition:all .2s ease}.admin-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.admin-input::placeholder{color:var(--text-muted)}.admin-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;display:inline-block}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:#ef4444;color:#fff}.admin-btn-primary:hover:not(:disabled){background:#dc2626}.admin-btn-secondary{background:var(--dark-border);color:var(--text-primary)}.admin-btn-secondary:hover:not(:disabled){background:#475569}.admin-btn-success{background:var(--success-color);color:#fff}.admin-btn-success:hover:not(:disabled){background:#059669}.admin-btn-blue{background:var(--primary-color);color:#fff}.admin-btn-blue:hover:not(:disabled){background:var(--primary-dark)}.admin-btn-full{width:100%}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-card{background:var(--dark-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--dark-border);box-shadow:0 4px 6px -1px #0000001a}.admin-card-title{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-weight:600}.admin-card-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.admin-game-state{background:var(--dark-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--dark-border);margin-bottom:2rem}.admin-game-state-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.admin-game-state-info{display:flex;flex-direction:column;gap:.5rem;color:var(--text-secondary)}.admin-game-state-info p{margin:0}.admin-game-state-info strong{color:var(--text-primary);font-weight:600}.admin-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.admin-action-card{background:var(--dark-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--dark-border)}.admin-action-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.admin-action-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.admin-confirmation{display:flex;flex-direction:column;gap:1rem}.admin-warning{color:#fbbf24;font-weight:600;display:flex;align-items:center;gap:.5rem}.admin-button-group{display:flex;gap:1rem}.admin-button-group .admin-btn{flex:1}.admin-reset-link-container{display:flex;flex-direction:column;gap:1rem}.admin-reset-link{background:#374151;padding:1rem;border-radius:.5rem;word-break:break-all;font-size:.875rem;color:var(--text-secondary);border:1px solid var(--dark-border)}.admin-reset-link-info{font-size:.75rem;color:var(--text-muted)}.admin-loading{color:var(--text-primary);text-align:center}.admin-spinner{border:2px solid var(--dark-border);border-top:2px solid var(--text-primary);border-radius:50%;width:3rem;height:3rem;animation:spin 1s linear infinite;margin:0 auto 1rem}.admin-reset-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;padding:1rem}.admin-reset-card{background:var(--dark-card);padding:2rem;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;text-align:center;max-width:500px;width:100%;border:1px solid var(--dark-border)}.admin-reset-icon{font-size:4rem;margin-bottom:1rem}.admin-reset-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.admin-reset-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.admin-warning-box{background:#ef44441a;border:1px solid #ef4444;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.admin-warning-text{color:#fca5a5;font-weight:600;margin:0}.admin-back-link{font-size:.875rem;color:var(--text-muted);text-decoration:none;margin-top:1.5rem;display:inline-block;transition:color .2s ease}.admin-back-link:hover{color:var(--text-primary)}.presenter-guide{max-width:1200px;margin:0 auto;padding:2rem 0}.presenter-guide-header{text-align:center;margin-bottom:2rem}.presenter-guide-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.presenter-guide-subtitle{color:var(--text-secondary);font-size:1.125rem;margin:0}.presenter-guide-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.filter-group{display:flex;flex-direction:column;gap:.25rem}.presenter-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.presenter-summary-card{background:var(--dark-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--dark-border);text-align:center}.presenter-summary-card h3{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:600}.summary-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.presenter-exercises-grid{display:flex;flex-direction:column;gap:1rem}.presenter-exercise-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.presenter-exercise-card:hover{border-color:var(--primary-color)}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.exercise-title-section{flex:1}.exercise-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.exercise-meta{display:flex;gap:1rem;font-size:.875rem;flex-wrap:wrap}.exercise-category{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-weight:500}.exercise-difficulty{font-weight:600}.exercise-points{color:var(--success-color);font-weight:600}.exercise-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.quick-answer{background:#10b9811a;border:1px solid var(--success-color);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.answer-highlight{background:var(--success-color);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-weight:600;font-family:Monaco,Consolas,monospace}.exercise-quick-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.exercise-quick-stats span{background:#64748b33;padding:.25rem .75rem;border-radius:1rem}.exercise-details{border-top:1px solid var(--dark-border);padding-top:1.5rem;margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.exercise-details-section h5{color:var(--text-primary);font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.problem-data{background:#2563eb1a;border:1px solid var(--primary-color);border-radius:.5rem;padding:1rem}.problem-item{margin-bottom:.5rem;color:var(--text-secondary)}.problem-item:last-child{margin-bottom:0}.problem-item strong{color:var(--text-primary)}.solution-section{display:flex;flex-direction:column;gap:1rem}.solution-item{background:#10b9811a;border:1px solid var(--success-color);border-radius:.5rem;padding:1rem}.solution-item strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.solution-answer{background:var(--success-color);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-family:Monaco,Consolas,monospace;display:inline-block}.solution-explanation{color:var(--text-secondary);line-height:1.6}.alternative-answers{display:flex;gap:.5rem;flex-wrap:wrap}.alt-answer{background:#10b98133;color:var(--success-color);padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-family:Monaco,Consolas,monospace}.hints-list{display:flex;flex-direction:column;gap:.75rem}.hint-item{background:#fbbf241a;border:1px solid #fbbf24;border-radius:.5rem;padding:.75rem;color:var(--text-secondary)}.hint-item strong{color:#fbbf24}.admin-teams-control{display:flex;flex-direction:column;gap:1rem}.admin-teams-status{font-size:1rem;padding:.75rem;background:var(--dark-border);border-radius:8px;text-align:center;color:var(--text-secondary)}.admin-teams-status .text-success{color:var(--success-color)}.admin-teams-status .text-danger{color:var(--error-color)}.admin-teams-info{font-size:.875rem;color:var(--text-muted);text-align:center;margin:0;line-height:1.5}.admin-btn-danger{background-color:var(--error-color);color:#fff}.admin-btn-danger:hover{background-color:#dc2626;transform:translateY(-1px)}.user-management{max-width:100%;margin:0}.user-management-header{text-align:center;margin-bottom:2rem}.user-management-header h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.user-management-header p{color:var(--text-muted);font-size:1rem}.user-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-container{position:relative;flex:1;max-width:400px}.search-input{width:100%;padding:.75rem 3rem .75rem 1rem;border:1px solid var(--dark-border);border-radius:8px;background:var(--dark-card);color:var(--text-primary);font-size:1rem}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.user-stats{color:var(--text-secondary);font-size:.9rem}.total-users strong{color:var(--text-primary)}.users-table-container{background:var(--dark-card);border-radius:12px;border:1px solid var(--dark-border);overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.users-table{width:100%;border-collapse:collapse;font-size:.875rem}.users-table th{background:var(--dark-border);color:var(--text-primary);padding:1rem .75rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;border-bottom:1px solid var(--dark-border)}.users-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.users-table th.sortable:hover{background:#ffffff0d}.users-table td{padding:1rem .75rem;border-bottom:1px solid var(--dark-border);vertical-align:middle}.user-row:hover{background:#ffffff05}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--primary-color);display:flex;align-items:center;justify-content:center}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initial{color:#fff;font-weight:700;font-size:.875rem}.username{font-weight:500;color:var(--text-primary)}.email-cell{color:var(--text-secondary);font-family:Monaco,Consolas,monospace;font-size:.8rem}.points-badge{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.8rem}.level-cell{text-align:center}.level-badge{display:inline-block;padding:.25rem .5rem;border-radius:8px;font-weight:600;font-size:.75rem;margin-bottom:.25rem}.level-badge.level-1{background:#10b981;color:#fff}.level-badge.level-2{background:#3b82f6;color:#fff}.level-badge.level-3{background:#f59e0b;color:#fff}.level-badge.level-4{background:#ef4444;color:#fff}.level-name{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.team-info{display:flex;flex-direction:column;gap:.25rem}.team-name{color:var(--text-primary);font-weight:500;font-size:.8rem}.team-role{font-size:.7rem;padding:.2rem .5rem;border-radius:6px;font-weight:500}.team-role.leader{background:#fbbf2433;color:#fbbf24}.team-role.member{background:#9ca3af33;color:#9ca3af}.no-team{color:var(--text-muted);font-style:italic;font-size:.8rem}.date-cell{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--dark-border);background:var(--dark-card);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem}.pagination-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:.875rem;padding:0 1rem}.no-users{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.no-users h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}@media (max-width: 1200px){.users-table{font-size:.8rem}.users-table th,.users-table td{padding:.75rem .5rem}}@media (max-width: 768px){.users-table-container{overflow-x:auto}.users-table{min-width:900px}.user-controls{flex-direction:column;align-items:stretch}.search-container{max-width:none}}.detailed-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{display:flex;justify-content:space-between;background:#64748b1a;padding:.75rem;border-radius:.5rem}.stat-label{color:var(--text-secondary)}.stat-value{color:var(--text-primary);font-weight:600}.no-exercises{text-align:center;padding:3rem;color:var(--text-secondary)}.no-exercises p{font-size:1.125rem;margin:0}@media (max-width: 768px){.admin-container{padding:1rem}.admin-title{font-size:2rem}.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-stats-grid,.admin-actions-grid{grid-template-columns:1fr}.admin-button-group{flex-direction:column}.exercise-header{flex-direction:column;align-items:stretch}.exercise-meta{justify-content:flex-start}.presenter-guide-filters{flex-direction:column;align-items:stretch}.filter-group .admin-input{max-width:none!important}.detailed-stats{grid-template-columns:1fr}}.actions-cell{text-align:center;padding:8px}.delete-user-btn{background:#ff4757;border:none;border-radius:6px;padding:8px 12px;font-size:16px;cursor:pointer;transition:all .2s ease;color:#fff;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:36px}.delete-user-btn:hover{background:#ff3742;transform:translateY(-1px);box-shadow:0 4px 8px #ff47574d}.delete-user-btn:active{transform:translateY(0);box-shadow:0 2px 4px #ff475733}.delete-user-btn:focus{outline:none;box-shadow:0 0 0 3px #ff47574d}@media (max-width: 768px){.delete-user-btn{padding:6px 8px;font-size:14px;min-width:32px;height:32px}}.presenter-root{min-height:100vh;background:radial-gradient(1000px 700px at 20% 10%,rgba(59,130,246,.18),transparent 60%),radial-gradient(900px 600px at 80% 30%,rgba(245,158,11,.16),transparent 55%),radial-gradient(900px 700px at 50% 85%,rgba(244,63,94,.14),transparent 65%),#070a10;color:#e5e7eb}.presenter-topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a108c}.presenter-brand{display:flex;gap:.9rem;align-items:center}.presenter-brand-mark{font-size:2rem}.presenter-title{font-size:1.25rem;font-weight:800;letter-spacing:.02em}.presenter-subtitle{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.25rem;font-size:.95rem;color:#e2e8f0d9}.presenter-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a73}.presenter-pill-frozen{border-color:#f59e0b73;background:#f59e0b1f}.presenter-pill-warn{border-color:#ef444473;background:#ef44441f}.presenter-hints{font-size:.9rem;color:#e2e8f0b3}.presenter-main{padding:2rem 1.5rem 2.5rem}.presenter-timer{max-width:1100px;margin:0 auto;text-align:center;padding:3.25rem 1.5rem;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:#0f172a59;box-shadow:0 30px 120px #0000008c}.presenter-timer-label{font-size:.95rem;letter-spacing:.22em;font-weight:800;color:#e2e8f0bf}.presenter-timer-clock{margin-top:1rem;font-size:clamp(4.5rem,10vw,8.5rem);font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums}.presenter-timer-note{margin-top:.75rem;color:#e2e8f0b3}.presenter-results{max-width:1200px;margin:0 auto}.presenter-results-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.presenter-results-title{font-size:2rem;font-weight:900}.presenter-results-meta{color:#e2e8f0b3}.presenter-podium{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:1rem;align-items:end;margin-bottom:1.25rem}.presenter-podium-slot{display:flex;justify-content:center}.presenter-podium-1{transform:scale(1.06)}.presenter-podium-2,.presenter-podium-3{transform:scale(.98)}.presenter-podium-card{width:min(360px,100%);padding:1.25rem 1.25rem 1.1rem;border-radius:16px;border:2px solid rgba(148,163,184,.25);background:#0f172a6b;box-shadow:0 24px 80px #00000080;text-align:center}.presenter-podium-place{font-weight:900;letter-spacing:.06em;font-size:1.1rem}.presenter-podium-name{margin-top:.6rem;font-size:1.6rem;font-weight:900;word-break:break-word}.presenter-podium-points{margin-top:.35rem;font-size:1.1rem;color:#e2e8f0d9;font-variant-numeric:tabular-nums}.presenter-list{border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#0f172a47;overflow:hidden}.presenter-row{display:grid;grid-template-columns:90px 1fr 140px;gap:.75rem;padding:.75rem 1rem;border-top:1px solid rgba(148,163,184,.14);align-items:center}.presenter-row:first-child{border-top:none}.presenter-row-rank{font-weight:900;font-variant-numeric:tabular-nums;color:#e2e8f0e6}.presenter-row-name{font-weight:700}.presenter-row-points{text-align:right;font-weight:900;font-variant-numeric:tabular-nums}@media (max-width: 900px){.presenter-hints{display:none}.presenter-podium{grid-template-columns:1fr}.presenter-podium-1,.presenter-podium-2,.presenter-podium-3{transform:none}}.user-management .user-info{display:flex;align-items:center;gap:.75rem}.user-management .user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.user-management .avatar-initial{color:#fff;font-weight:700;font-size:.875rem}.user-management .username{font-weight:500;color:var(--text-primary)}.user-management .team-info{display:flex;flex-direction:column;gap:.25rem}.user-management .team-name{color:var(--text-primary);font-weight:500}.user-management .team-role{align-self:flex-start}.presenter-guide .exercise-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.presenter-guide .exercise-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.presenter-guide .exercise-meta{display:flex;flex-wrap:wrap;gap:.6rem}.presenter-guide .exercise-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.presenter-guide .hint-item{background:#fbbf241a;border:1px solid #fbbf24;border-radius:.5rem;padding:.75rem}.presenter-guide .stat-label{color:var(--text-secondary)}.presenter-guide .stat-value{color:var(--text-primary);font-weight:600}@media (max-width: 768px){.admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}.admin-tab{white-space:nowrap;flex:0 0 auto}.admin-button-group{flex-wrap:wrap}.admin-button-group .admin-btn{min-width:140px}.user-management .users-table{min-width:760px}.pagination{flex-wrap:wrap}.pagination-info{width:100%;text-align:center;padding:0}.presenter-guide .exercise-header{flex-direction:column;align-items:stretch}.presenter-guide .admin-btn{width:100%}.presenter-main{padding:1rem .75rem 1.5rem}.presenter-topbar{padding:.9rem;flex-direction:column;align-items:flex-start;gap:.6rem}.presenter-title{font-size:1.05rem}.presenter-subtitle{font-size:.85rem}.presenter-timer{padding:1.6rem .9rem}.presenter-results-title{font-size:1.4rem}.presenter-row{grid-template-columns:58px 1fr 92px;font-size:.92rem}}@media (max-width: 480px){.admin-container{padding:.75rem}.admin-action-card,.admin-game-state,.admin-card{padding:1rem}.admin-title{font-size:1.6rem}.admin-btn{width:100%}.user-management .users-table{min-width:680px}.presenter-timer-clock{font-size:clamp(3rem,12vw,4.2rem)}.presenter-row{grid-template-columns:46px 1fr 74px;gap:.5rem;padding:.6rem .75rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--secondary-color: #7c3aed;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--dark-bg: #0f172a;--dark-card: #1e293b;--dark-border: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#0f172a,#1e293b);color:var(--text-primary);min-height:100vh;line-height:1.6}.App{min-height:100vh;display:flex;flex-direction:column;width:100%}.navbar{background:#1e293be6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--dark-border);padding:1rem 0;position:sticky;top:0;z-index:100}.conference-banner{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:.5rem 1rem;font-size:.85rem;color:#f8fafc;background:linear-gradient(90deg,#1e40afe6,#0284c7e6);border-bottom:1px solid rgba(255,255,255,.15)}.conference-banner.frozen{background:linear-gradient(90deg,#7c2d12eb,#c2410ceb)}.conference-pill{background:#fff3;color:#fff;font-weight:700;border-radius:9999px;padding:.2rem .75rem}.conference-frozen-banner{margin-bottom:1rem;background:#c2410c2e;border:1px solid rgba(249,115,22,.55);color:#fdba74;padding:.75rem 1rem;border-radius:.5rem;font-weight:600}.navbar-container{padding:0 1rem;display:flex;justify-content:space-between;align-items:center;max-width:100%}.navbar-brand{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;display:flex;align-items:center;gap:.5rem}.brand-icon{font-size:2rem}.navbar-menu{display:flex;gap:2rem}.navbar-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s ease}.navbar-link:hover{background:#2563eb1a;color:var(--primary-color)}.navbar-link.active{background:var(--primary-color);color:#fff}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:.5rem;z-index:101}.mobile-nav-backdrop{display:none}.navbar-user-mobile{display:none;flex-direction:column;gap:1rem;padding:1rem 0;border-top:1px solid var(--dark-border);margin-top:1rem}.navbar-user-desktop,.navbar-user{display:flex;align-items:center;gap:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;font-size:.875rem}.user-points{color:var(--success-color);font-weight:600}.user-level{color:var(--warning-color);font-weight:600}.user-name{color:var(--text-secondary)}.logout-btn{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:background .3s ease}.logout-btn:hover{background:#dc2626}.main-content{flex:1;padding:1rem 2rem;width:100%;max-width:100%}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}.auth-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:3rem;width:100%;max-width:400px;box-shadow:0 25px 50px -12px #00000080}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.auth-header p{color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-secondary);font-weight:500}.form-group input{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:.75rem;color:var(--text-primary);font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color)}.auth-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:.5rem;padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.auth-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2563eb4d}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-footer{text-align:center;margin-top:2rem;color:var(--text-muted)}.auth-footer a{color:var(--primary-color);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin:1.25rem 0 .75rem;position:relative}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid rgba(148,163,184,.25)}.auth-divider span{padding:0 .75rem;font-weight:600}.google-login-section{display:flex;justify-content:center}.google-login-button{min-height:44px}.google-login-button.is-loading{width:100%;border:1px dashed rgba(148,163,184,.4);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:#0f172a73}.google-login-button.is-loading:before{content:"Cargando Google...";font-size:.9rem}.google-login-note{margin-top:.25rem;text-align:center;color:var(--text-muted);font-size:.92rem}.auth-google-button{width:100%;border:1px solid rgba(59,130,246,.45);border-radius:.7rem;background:linear-gradient(180deg,#1e40af42,#0f172acc);color:var(--text-primary);min-height:48px;font-weight:600;font-size:.98rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;cursor:pointer;transition:transform .2s ease,box-shadow .24s ease,border-color .24s ease}.auth-google-button:hover:not(:disabled){transform:translateY(-1px);border-color:#3b82f6bf;box-shadow:0 12px 28px #2563eb38}.auth-google-button:disabled{opacity:.72;cursor:not-allowed}.google-icon{width:24px;height:24px;border-radius:999px;background:#fff;color:#1a73e8;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.auth-modal-overlay{position:fixed;inset:0;background:#020617b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.auth-modal{width:100%;max-width:420px;background:linear-gradient(180deg,#1e293bfa,#0f172afa);border:1px solid rgba(59,130,246,.35);border-radius:1rem;box-shadow:0 28px 54px #02061780;padding:1.4rem}.auth-modal h3{font-size:1.25rem;margin-bottom:.2rem}.auth-modal-subtitle{color:var(--text-muted);margin-bottom:1rem}.auth-modal-actions{display:flex;gap:.65rem;margin-top:1rem}.auth-modal-cancel,.auth-modal-submit{flex:1;border:none;border-radius:.6rem;min-height:42px;font-weight:600;cursor:pointer}.auth-modal-cancel{background:#334155b3;color:#e2e8f0}.auth-modal-submit{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff}.dashboard{display:flex;flex-direction:column;gap:1.75rem;position:relative}.dashboard:before{content:"";position:absolute;top:-2rem;left:-1rem;right:-1rem;height:220px;background:radial-gradient(500px 180px at 20% 0%,rgba(59,130,246,.16),transparent 70%),radial-gradient(460px 180px at 80% 0%,rgba(14,165,233,.14),transparent 72%);pointer-events:none;z-index:0}.dashboard>*{position:relative;z-index:1}.dashboard-header{text-align:center;margin-bottom:.5rem;padding:1rem .75rem .5rem}.dashboard-header h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:.65rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle,.dashboard-header p{color:var(--text-muted);font-size:1.02rem;max-width:760px;margin:0 auto}.dashboard-hero-stats{margin:1rem auto 0;width:min(860px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.hero-stat{padding:.75rem .95rem;border-radius:.85rem;border:1px solid rgba(59,130,246,.26);background:linear-gradient(180deg,#0f172ab3,#0f172a73);box-shadow:inset 0 1px #94a3b81f}.hero-label{display:block;color:var(--text-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.hero-value{display:block;margin-top:.1rem;color:var(--text-primary);font-size:1.2rem;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem}.dashboard .stat-card{background:linear-gradient(180deg,#1e293be6,#0f172aeb),radial-gradient(circle at top right,rgba(59,130,246,.1),transparent 45%);border:1px solid rgba(71,85,105,.7);box-shadow:0 12px 32px #02061759,inset 0 1px #94a3b814}.dashboard .stat-card:hover{transform:translateY(-5px);border-color:#60a5fa8c;box-shadow:0 16px 38px #02061770,0 0 0 1px #3b82f626}.dashboard .profile-card .card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.25)}.stat-card,.card,.team-card,.ranking-card,.member-card,.invitation-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000004d;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover,.card:hover,.team-card:hover,.ranking-card:hover,.member-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0006}.card.light-variant{background:linear-gradient(135deg,#1e293bf2,#334155f2);border:1px solid rgba(51,65,85,.8)}.card.success-variant{background:linear-gradient(135deg,#1e293bf2,#0596691a);border:1px solid rgba(16,185,129,.3)}.card.warning-variant{background:linear-gradient(135deg,#1e293bf2,#f59e0b1a);border:1px solid rgba(245,158,11,.3)}.stat-card h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.level-badge{background:linear-gradient(135deg,var(--warning-color),#f97316);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600}.profile-stats{display:flex;flex-direction:column;gap:1rem}.stat{text-align:center}.stat-value{display:block;font-size:2.5rem;font-weight:700;color:var(--success-color)}.stat-label{color:var(--text-muted);font-size:.875rem}.level-progress{display:flex;flex-direction:column;gap:.5rem}.progress-bar{background:#0f172a80;border-radius:1rem;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));height:100%;transition:width .3s ease}.progress-text{text-align:center;color:var(--text-secondary);font-size:.875rem}.quick-stats{display:flex;flex-direction:column;gap:1rem}.quick-stat{display:flex;align-items:center;gap:.75rem;padding:.85rem .95rem;background:#0f172a6b;border-radius:.7rem;border:1px solid rgba(51,65,85,.65)}.stat-icon{font-size:1.5rem}.dashboard .action-buttons{display:flex;flex-direction:column;gap:.85rem}.dashboard .action-btn{background:var(--primary-color);color:#fff;border:none;border-radius:.7rem;padding:.95rem 1rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.dashboard .action-btn.primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));box-shadow:0 12px 28px #2563eb4d}.dashboard .action-btn.secondary{background:var(--dark-border);color:var(--text-secondary)}.dashboard .action-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2563eb4d}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#0f172a4d;border-radius:.5rem}.activity-icon{font-size:1.25rem}.activity-text{flex:1;color:var(--text-secondary)}.activity-time{color:var(--text-muted);font-size:.875rem}.dashboard-info{margin-top:2rem}.info-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:2rem}.info-card h3{margin-bottom:1rem;color:var(--text-primary)}.info-card p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.7}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.feature{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#0f172a4d;border-radius:.5rem}.feature-icon{font-size:1.5rem}.exercises,.leaderboard{display:flex;flex-direction:column;gap:2rem}.exercises-header,.leaderboard-header{text-align:center;margin-bottom:1rem}.exercises-header h1,.leaderboard-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exercises-header p,.leaderboard-header p{color:var(--text-muted);font-size:1.1rem}.coming-soon{text-align:center;padding:4rem 2rem;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem}.coming-soon h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.coming-soon p{color:var(--text-muted);margin-bottom:2rem}.preview-features{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.feature-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#0f172a4d;border-radius:.5rem;border:1px solid var(--dark-border)}.feature-preview .feature-icon{font-size:2rem}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--dark-border);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.exercises-filters{margin-bottom:2rem;padding:1rem;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:.5rem}.filter-group{display:flex;align-items:center;gap:1rem}.filter-group label{color:var(--text-secondary);font-weight:500}.difficulty-filter{background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;padding:.5rem 1rem;color:var(--text-primary);font-size:.875rem}.progress-overview{margin-top:2rem;padding:1.5rem;background:#2563eb1a;border:1px solid rgba(37,99,235,.2);border-radius:1rem}.progress-stats{display:flex;justify-content:center;gap:3rem;margin-bottom:1rem}.progress-stats .stat{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem;min-width:100px}.exercises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:2rem}.exercise-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.exercise-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0006;border-color:var(--primary-color)}.exercise-card.completed{border-color:var(--success-color);background:linear-gradient(135deg,var(--dark-card),rgba(16,185,129,.1))}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.exercise-icon{font-size:2rem;background:#2563eb1a;padding:.5rem;border-radius:.5rem}.exercise-meta{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.difficulty-badge,.level-badge,.points-badge,.category-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.points-badge{background:var(--success-color);color:#fff}.category-badge{background:var(--secondary-color);color:#fff}.exercise-title{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem;line-height:1.4}.exercise-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:1rem}.exercise-stats{display:flex;gap:1rem;margin-bottom:1rem}.exercise-stats .stat{display:flex;flex-direction:column;align-items:center;text-align:center;background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:.75rem;min-width:70px}.stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-icon{font-size:1rem;margin-bottom:.25rem}.stat-value{font-weight:600;color:var(--text-primary);font-size:.875rem}.stat-label{font-size:.75rem;color:var(--text-muted)}.exercise-footer{display:flex;justify-content:space-between;align-items:center}.exercise-button{background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.exercise-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.exercise-button.review{background:var(--success-color)}.completion-indicator{display:flex;align-items:center;gap:.5rem;color:var(--success-color);font-size:.875rem;font-weight:600}.difficulty-section,.level-section{margin-bottom:3rem}.difficulty-section-header,.level-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--dark-border)}.difficulty-section-header h3,.level-section-header h3{color:var(--text-primary);font-size:1.5rem}.difficulty-count,.level-count{color:var(--text-muted);font-size:.875rem}.difficulty-header{text-align:center;margin-bottom:2rem}.difficulty-header h2{font-size:1.8rem;margin-bottom:.5rem}.difficulty-header p{color:var(--text-muted)}.show-more-card{display:flex;align-items:center;justify-content:center;background:var(--dark-card);border:2px dashed var(--dark-border);border-radius:1rem;min-height:200px}.show-more-button{background:none;border:none;color:var(--primary-color);font-size:1rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .3s ease}.show-more-button:hover{color:var(--primary-dark);transform:scale(1.05)}.exercise-player{width:100%}.attempt-info{margin-top:1rem;padding:1rem;background:#2563eb1a;border:1px solid rgba(37,99,235,.2);border-radius:.5rem}.attempt-indicator{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.attempt-text{color:var(--text-primary);font-weight:600}.attempt-dots{display:flex;gap:.5rem}.attempt-dot{font-size:1.2rem;transition:all .3s ease}.attempt-dot.used{opacity:.6}.attempt-dot.current{transform:scale(1.2);animation:pulse 2s infinite}.attempt-dot.remaining{opacity:.3}@keyframes pulse{0%,to{transform:scale(1.2)}50%{transform:scale(1.4)}}.attempts-warning{display:flex;align-items:center;gap:.5rem;color:var(--warning-color);font-size:.875rem;font-weight:600}.warning-icon{font-size:1rem}.points-multiplier{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-left:.5rem}.retry-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--dark-border);text-align:center}.retry-button{background:var(--warning-color);color:#fff;border:none;border-radius:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1rem}.retry-button:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 10px 25px #f59e0b4d}.next-attempt-info{color:var(--text-muted);font-size:.875rem;margin:0}.exercise-player .exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.back-button{background:var(--dark-border);color:var(--text-secondary);border:none;border-radius:.5rem;padding:.75rem 1rem;cursor:pointer;font-size:.875rem;transition:all .3s ease}.back-button:hover{background:var(--dark-card);color:var(--text-primary)}.exercise-info{flex:1}.exercise-info h1{font-size:1.8rem;color:var(--text-primary);margin-bottom:.5rem}.exercise-info p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.timer{display:flex;align-items:center;gap:.5rem;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem;min-width:120px}.timer.danger{border-color:var(--danger-color);background:#ef44441a}.timer-icon{font-size:1.25rem}.timer-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.timer.danger .timer-value{color:var(--danger-color)}.exercise-body{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:2rem;margin-bottom:2rem}.problem-section h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.data-display{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1.5rem;margin:1rem 0}.data-display h5{color:var(--text-primary);margin-bottom:1rem}.data-display pre{background:#0000004d;border-radius:.5rem;padding:1rem;color:var(--text-secondary);font-size:.875rem;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;margin-top:1rem}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--dark-border)}.data-table th{background:#2563eb1a;color:var(--text-primary);font-weight:600}.data-table td{color:var(--text-secondary)}.options-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.option-button{background:var(--dark-bg);border:2px solid var(--dark-border);border-radius:.5rem;padding:1rem;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.option-button:hover{border-color:var(--primary-color);color:var(--text-primary)}.option-button.selected{border-color:var(--primary-color);background:#2563eb1a;color:var(--primary-color)}.emails-display{display:grid;gap:1rem;margin:1rem 0}.email-item{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem}.email-item h5{color:var(--text-primary);margin-bottom:.5rem}.network-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.network-node{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem;text-align:center}.blockchain-chain{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:1rem}.blockchain-tx{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem;min-width:300px;text-align:center}.blockchain-tx p{overflow-wrap:anywhere}.blockchain-arrow{color:var(--primary-color);font-size:1.5rem;font-weight:700}.documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.document-item{background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem}.document-item h6{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem}.answer-section{margin:2rem 0}.answer-section label{display:block;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.answer-section input{width:100%;background:#0f172a80;border:1px solid var(--dark-border);border-radius:.5rem;padding:1rem;color:var(--text-primary);font-size:1rem}.answer-section input:focus{outline:none;border-color:var(--primary-color)}.selection-helper{margin:.75rem 0;padding:.75rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.22);background:#0f172a40}.selection-helper-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.selection-helper-title{font-weight:700;color:#e2e8f0eb}.selection-clear{background:#94a3b824;border:1px solid rgba(148,163,184,.28);color:#e2e8f0e6;padding:.3rem .6rem;border-radius:.5rem;cursor:pointer;font-weight:700}.selection-clear:disabled{opacity:.5;cursor:not-allowed}.selection-chips{display:flex;flex-wrap:wrap;gap:.5rem}.selection-chip{background:#2563eb14;border:1px solid rgba(37,99,235,.28);color:#e2e8f0eb;padding:.35rem .65rem;border-radius:999px;cursor:pointer;font-weight:800;letter-spacing:.01em}.selection-chip:hover{background:#2563eb24}.selection-chip.active{background:#10b9812e;border-color:#10b98180}.selection-chip:disabled{opacity:.6;cursor:not-allowed}.selection-preview{margin-top:.5rem;color:#e2e8f0b8;font-size:.9rem}.quick-pick-strip{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.2)}.quick-pick-label{margin:0 0 .5rem;font-size:.85rem;color:#94a3b8f2;font-weight:700}.inline-token-button{background:#2563eb1a;border:1px solid rgba(37,99,235,.3);color:var(--text-primary);padding:.18rem .5rem;border-radius:999px;cursor:pointer;font-size:.92rem;font-weight:700;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left;line-height:1.2;transition:background .2s ease,border-color .2s ease,transform .15s ease}.inline-token-button:hover{background:#2563eb38;border-color:#3b82f685}.inline-token-button:active{transform:scale(.98)}.inline-token-button.active{background:#10b98133;border-color:#10b9818c}.data-table .select-col{width:44px}.row-checkbox{width:16px;height:16px;cursor:pointer}.data-table .selectable-row{cursor:pointer;transition:background .18s ease}.data-table .selectable-row:hover{background:#2563eb14}.data-table .selectable-row.selected{background:#10b9811f}.format-hint{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;padding:.75rem 1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:.5rem;font-size:.9rem}.format-hint .hint-icon{color:var(--success-color);font-size:1rem}.format-hint .hint-text{color:var(--success-color);font-weight:500}.hints-section{margin:2rem 0;padding:1.5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:.5rem}.hints-section h4{color:var(--warning-color);margin-bottom:1rem}.hint-item{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:flex-start}.hint-number{color:var(--warning-color);font-weight:600;min-width:1.5rem}.hint-text{color:var(--text-secondary);line-height:1.5}.result-section{margin:2rem 0;padding:2rem;border-radius:1rem;border:2px solid}.result-section.correct{background:#10b9811a;border-color:var(--success-color)}.result-section.incorrect{background:#ef44441a;border-color:var(--danger-color)}.result-section.timeout{background:#f59e0b1a;border-color:var(--warning-color)}.result-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.result-icon{font-size:2rem}.result-header h3{color:var(--text-primary)}.result-section.correct .result-header h3{color:var(--success-color)}.result-section.incorrect .result-header h3{color:var(--danger-color)}.result-section.timeout .result-header h3{color:var(--warning-color)}.result-details p{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.timeout-message{background:#f59e0b26;border:1px solid var(--warning-color);border-radius:.75rem;padding:1rem;margin:1rem 0;text-align:center}.timeout-message p{margin-bottom:.5rem;color:var(--warning-color);font-weight:600}.timeout-message p:last-child{margin-bottom:0;color:var(--text-secondary);font-weight:400}.correct-answer-display{margin:1.5rem 0}.correct-answer-box{background:linear-gradient(180deg,#10b9812e,#10b9811a);border:2px solid var(--success-color);border-radius:.75rem;padding:1rem;margin-top:.5rem;font-family:Monaco,Consolas,monospace;font-size:1.1rem;font-weight:600;color:#6ee7b7;text-align:center;box-shadow:inset 0 0 0 1px #10b98138}.result-section.incorrect .correct-answer-box{border-color:#22c55e;background:linear-gradient(180deg,#22c55e33,#10b9811f);color:#86efac}.context-section{background:#2563eb1a;border:1px solid rgba(37,99,235,.2);border-radius:.5rem;padding:1rem;margin:1rem 0}.exercise-body .problem-section{margin-bottom:2rem}.exercise-body .problem-section+.result-section{margin-top:2rem;padding-top:2rem}.exercise-body .problem-section+.result-section.correct{border-top:2px solid rgba(16,185,129,.4)}.exercise-body .problem-section+.result-section.incorrect{border-top:2px solid rgba(239,68,68,.4)}.exercise-body .problem-section+.result-section.timeout{border-top:2px solid rgba(245,158,11,.45)}.current-conditions{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;padding:1rem;margin:1rem 0}.current-conditions h5{color:var(--warning-color);margin-bottom:.5rem}.conditions-box{background:#0f172a80;border-radius:.5rem;padding:1rem}.conditions-box p{color:var(--text-primary);font-weight:600;margin:0}.data-table .high-risk{background:#ef44441a;border-left:3px solid var(--danger-color)}.data-table .high-risk .robberies-count{color:var(--danger-color);font-weight:700}.robberies-count{font-weight:600;color:var(--text-primary)}.data-table .high-connections{background:#2563eb1a;border-left:3px solid var(--primary-color)}.data-table .high-received{background:#10b9811a;border-left:3px solid var(--success-color)}.data-table .high-connections.high-received{background:linear-gradient(90deg,#2563eb1a,#10b9811a);border-left:3px solid var(--warning-color)}.connections-count{font-weight:700;color:var(--primary-color)}.calls-received{font-weight:700;color:var(--success-color)}.ratio-value{font-weight:600;font-family:Monaco,Consolas,monospace}.network-analysis{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;padding:1rem;margin-top:1rem}.network-analysis h6{color:var(--warning-color);margin-bottom:.5rem;font-size:.9rem}.network-analysis p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.exercise-footer{display:flex;justify-content:space-between;align-items:center;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:1.5rem}.action-buttons{display:flex;gap:1rem}.hint-button{background:var(--warning-color);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1rem;cursor:pointer;font-size:.875rem;transition:all .3s ease}.hint-button:hover{background:#d97706}.submit-button{background:var(--success-color);color:#fff;border:none;border-radius:.5rem;padding:.75rem 2rem;cursor:pointer;font-weight:600;transition:all .3s ease}.submit-button:hover{background:#059669}.submit-button:disabled{background:var(--dark-border);color:var(--text-muted);cursor:not-allowed}.exercise-stats{display:flex;gap:2rem;color:var(--text-muted);font-size:.875rem}.exercise-stats .stat{display:flex;align-items:center;gap:.5rem}@media (max-width: 480px){.navbar-container{padding:0 .5rem;position:relative}.navbar-brand{font-size:1.2rem;flex:1}.brand-text{display:none}.brand-icon{font-size:1.5rem}.mobile-menu-toggle{display:block}.navbar-user-desktop{display:none}.navbar-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#1e293bfa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);flex-direction:column;gap:.5rem;padding:1rem;border-top:1px solid var(--dark-border);border-radius:0 0 1rem 1rem;box-shadow:0 10px 25px #00000080;z-index:100}.navbar-menu.active,.navbar-user-mobile{display:flex}.navbar-link{padding:.75rem 1rem;font-size:.875rem;text-align:center;border-radius:.5rem}.user-info{font-size:.75rem;align-items:center}.main-content{padding:.5rem}.auth-container{min-height:100svh;align-items:flex-start;padding:calc(env(safe-area-inset-top,0px) + 1rem) .85rem 1.25rem}.auth-card{max-width:100%;padding:1.4rem 1.1rem;border-radius:1rem;border-color:#475569b3;box-shadow:0 14px 34px #0206177a}.auth-header{margin-bottom:1.25rem}.auth-header h1{font-size:clamp(1.85rem,8vw,2.2rem);line-height:1.05}.auth-header h2{font-size:1.35rem;margin-bottom:.35rem}.auth-header p{font-size:.92rem;max-width:26ch;margin:0 auto}.auth-form{gap:1rem}.form-group input{padding:.8rem .85rem}.auth-button{padding:.9rem;font-size:1.05rem}.auth-footer{margin-top:1.2rem;font-size:.95rem}.auth-footer a{display:inline-block;margin-top:.25rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-hero-stats{grid-template-columns:1fr;gap:.6rem;margin-top:.85rem}.hero-stat{text-align:left}.exercises-grid{grid-template-columns:1fr;gap:.75rem}.exercise-card-compact{padding:.75rem;min-height:120px;gap:.5rem}.exercise-title-compact{font-size:.9rem}.exercise-description-compact{font-size:.75rem;-webkit-line-clamp:1}.exercise-meta-inline{gap:.25rem}.category-label,.difficulty-badge-compact,.points-badge-compact{font-size:.65rem;padding:.1rem .4rem}.exercise-button-compact{font-size:.75rem;padding:.4rem .8rem;max-width:100px}.auth-card{padding:1.5rem;margin:1rem}.auth-header h1{font-size:1.75rem}.auth-header h2{font-size:1.25rem}.dashboard-header h1,.exercises-header h1,.leaderboard-header h1{font-size:1.75rem;line-height:1.2}.dashboard-header p,.exercises-header p,.leaderboard-header p{font-size:.95rem}.stat-card{padding:1.25rem}.stat-value{font-size:2rem}.exercise-card{padding:1.25rem}.exercise-header{margin-bottom:.75rem}.exercise-icon{font-size:1.5rem;padding:.375rem}.exercise-title{font-size:1rem}.exercise-description{font-size:.8rem}.difficulty-badge,.level-badge,.points-badge,.category-badge{padding:.2rem .6rem;font-size:.7rem}.exercise-button{padding:.6rem 1.2rem;font-size:.875rem}.progress-stats{gap:.75rem;flex-wrap:wrap;justify-content:center}.stat{min-width:80px}.options-container{grid-template-columns:1fr;gap:.75rem}.option-button{padding:.75rem;font-size:.875rem}.network-nodes,.documents-grid,.features-grid{grid-template-columns:1fr}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.5rem}}@media (min-width: 481px) and (max-width: 768px){.navbar-container{padding:0 .75rem;position:relative}.mobile-menu-toggle{display:block}.navbar-user-desktop{display:none}.navbar-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#1e293bfa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);flex-direction:column;gap:.75rem;padding:1.25rem;border-top:1px solid var(--dark-border);border-radius:0 0 1rem 1rem;box-shadow:0 10px 25px #00000080;z-index:100}.navbar-menu.active,.navbar-user-mobile{display:flex}.navbar-link{padding:.75rem 1rem;font-size:.875rem}.main-content{padding:.75rem}.dashboard-grid{grid-template-columns:1fr;gap:1.25rem}.dashboard-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.exercises-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.exercise-card-compact{padding:.875rem;min-height:130px}.exercise-title-compact{font-size:.95rem}.exercise-description-compact{font-size:.775rem}.auth-card{padding:2rem;max-width:450px}.dashboard-header h1,.exercises-header h1,.leaderboard-header h1{font-size:2rem}.preview-features{flex-direction:column;align-items:center}.exercise-player .exercise-header{flex-direction:column;gap:1rem}.timer{align-self:flex-start}.progress-stats{gap:1.5rem;flex-wrap:wrap;justify-content:center}.exercise-footer{flex-direction:column;gap:1rem;align-items:stretch}.action-buttons{justify-content:center}.exercise-stats{justify-content:center;flex-wrap:wrap;gap:1rem}.options-container,.network-nodes,.documents-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px) and (orientation: landscape){.main-content{padding:.5rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-header h1,.exercises-header h1,.leaderboard-header h1{font-size:1.5rem;margin-bottom:.5rem}.exercise-player{padding:.5rem}.exercise-body{padding:1rem}}@media (max-width: 768px){.exercise-button,.action-btn,.auth-button,.submit-button,.hint-button,.option-button{min-height:44px;min-width:44px}.navbar-link{min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-menu-toggle{width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--dark-border);border-radius:.6rem;background:#0f172aa6;position:relative;z-index:122}.mobile-menu-toggle:hover{border-color:#3b82f6b3;background:#1e293be6}.mobile-nav-backdrop{position:fixed;inset:0;border:none;padding:0;margin:0;background:#020617d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;z-index:118}.mobile-nav-backdrop.active{display:block;opacity:1;pointer-events:auto}.navbar-menu{top:calc(100% + .35rem);left:.5rem;right:.5rem;border:1px solid var(--dark-border);z-index:121;max-height:calc(100vh - 88px);overflow-y:auto;background:linear-gradient(180deg,#1b2a43,#15233b);box-shadow:0 16px 36px #020617b8}}.leaderboard .global-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2rem}.leaderboard .global-stats .stat{background:#1e293bf2;border:1px solid var(--dark-border);border-radius:.85rem;padding:.95rem .65rem;min-width:0}.leaderboard .global-stats .stat-value{color:var(--text-primary);font-size:clamp(1.3rem,4.5vw,2rem);font-weight:800;line-height:1.1}.leaderboard .global-stats .stat-label{margin-top:.35rem;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;line-height:1.25;overflow-wrap:anywhere}.leaderboard .my-ranking-card{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;padding:2rem;margin:2rem 0}.leaderboard .my-ranking-card h3{color:var(--text-primary);margin-bottom:1rem;text-align:center}.leaderboard .ranking-info{display:flex;justify-content:space-between;align-items:center;gap:2rem}.leaderboard .rank-position{display:flex;align-items:center;gap:1rem}.leaderboard .rank-icon{font-size:3rem}.leaderboard .rank-details{display:flex;flex-direction:column}.leaderboard .rank-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.leaderboard .rank-total{color:var(--text-muted);font-size:.875rem}.leaderboard .user-stats{display:flex;gap:2rem}.leaderboard .user-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.leaderboard .user-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--success-color)}.leaderboard .user-stat .stat-label{color:var(--text-muted);font-size:.875rem}.leaderboard .ranking-tabs{display:flex;gap:.6rem;margin-top:1.4rem;justify-content:center}.leaderboard .ranking-tabs .tab-button{border:1px solid var(--dark-border);background:#0f172ab3;color:var(--text-secondary);padding:.72rem 1.05rem;border-radius:.7rem;font-weight:700;transition:all .2s ease}.leaderboard .ranking-tabs .tab-button:hover{color:var(--text-primary);border-color:#2563eb99}.leaderboard .ranking-tabs .tab-button.active{color:#fff;background:linear-gradient(135deg,#416cf5,#6b46c1);border-color:#60a5faf2;box-shadow:0 6px 14px #2563eb59}.leaderboard .leaderboard-tabs{display:flex;gap:1rem;margin:2rem 0;border-bottom:2px solid var(--dark-border)}.leaderboard .tab{background:none;border:none;color:var(--text-secondary);padding:1rem 2rem;cursor:pointer;font-weight:600;border-bottom:2px solid transparent;transition:all .3s ease}.leaderboard .tab:hover{color:var(--text-primary)}.leaderboard .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.leaderboard .rankings-table{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.leaderboard .table-header{display:grid;grid-template-columns:80px 1fr 150px 100px 100px 130px 80px;gap:1rem;padding:1rem 2rem;background:#2563eb1a;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--dark-border);min-width:720px}.leaderboard .ranking-row{display:grid;grid-template-columns:80px 1fr 150px 100px 100px 130px 80px;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--dark-border);transition:background .3s ease;align-items:center;min-width:720px}.leaderboard .ranking-row:hover{background:#2563eb0d}.leaderboard .ranking-row.current-user{background:#10b9811a;border-left:4px solid var(--success-color)}.leaderboard .ranking-row:last-child{border-bottom:none}.leaderboard .col-rank{text-align:center}.leaderboard .col-rank .rank-icon{font-size:1.5rem}.leaderboard .user-info{display:flex;align-items:center;gap:1rem}.leaderboard .user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--primary-color);display:flex;align-items:center;justify-content:center}.leaderboard .user-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard .avatar-initial{color:#fff;font-weight:700;font-size:1.1rem}.leaderboard .user-details{display:flex;flex-direction:column;gap:.25rem}.leaderboard .username{color:var(--text-primary);font-weight:600}.leaderboard .you-indicator{color:var(--success-color);font-size:.75rem;font-weight:600;text-transform:uppercase}.leaderboard .level-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.leaderboard .points-value,.leaderboard .exercises-value,.leaderboard .time-value,.leaderboard .badges-count{color:var(--text-primary);font-weight:600}.leaderboard .no-rankings{text-align:center;padding:4rem 2rem;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem}.leaderboard .no-rankings h2{color:var(--text-primary);margin-bottom:1rem}.leaderboard .no-rankings p{color:var(--text-muted)}.exercise-card-compact{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:.75rem;padding:1rem;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.75rem;min-height:140px}.exercise-card-compact:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #0000004d;border-color:var(--primary-color)}.exercise-card-compact.completed{border-color:var(--success-color);background:linear-gradient(135deg,var(--dark-card),rgba(16,185,129,.05))}.exercise-card-compact.failed{border-color:var(--danger-color);background:linear-gradient(135deg,var(--dark-card),rgba(239,68,68,.05))}.exercise-header-compact{display:flex;align-items:flex-start;gap:.75rem}.exercise-title-section{flex:1;display:flex;flex-direction:column;gap:.5rem}.exercise-title-compact{font-size:1rem;color:var(--text-primary);margin:0;line-height:1.3;font-weight:600}.exercise-meta-inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.category-label{font-size:.7rem;color:var(--text-muted);background:#0f172a80;padding:.15rem .5rem;border-radius:.25rem;font-weight:500}.difficulty-badge-compact,.points-badge-compact{padding:.15rem .5rem;border-radius:.75rem;font-size:.7rem;font-weight:600;color:#fff}.points-badge-compact{background:var(--success-color)}.exercise-content-compact{flex:1;display:flex;flex-direction:column;gap:.5rem}.exercise-description-compact{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exercise-stats-inline{display:flex;gap:1rem;flex-wrap:wrap;margin-top:auto}.stat-inline{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:.25rem}.stat-inline.success{color:var(--success-color)}.exercise-footer-compact{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.exercise-button-compact{background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.8rem;flex:1;max-width:120px}.exercise-button-compact:hover{background:var(--primary-dark);transform:translateY(-1px)}.exercise-button-compact.review{background:var(--success-color)}.exercise-button-compact.failed{background:var(--danger-color);cursor:default}.exercise-button-compact.failed:hover{background:var(--danger-color);transform:none}.completion-indicator-compact{font-size:1.2rem;margin-left:.5rem}@media (max-width: 768px){.leaderboard .global-stats{grid-template-columns:repeat(2,1fr);gap:.55rem}.leaderboard .global-stats .stat{padding:.75rem .5rem}.leaderboard .global-stats .stat-label{font-size:.66rem;letter-spacing:.03em}.leaderboard .ranking-info{flex-direction:column;text-align:center}.leaderboard .user-stats{justify-content:center;flex-wrap:wrap;gap:1rem}.leaderboard .table-header,.leaderboard .ranking-row{grid-template-columns:60px 1fr 80px 80px;gap:.5rem;padding:1rem;min-width:620px}.leaderboard .col-level,.leaderboard .col-exercises,.leaderboard .col-time,.leaderboard .col-badges{display:none}.leaderboard .user-info{gap:.5rem}.leaderboard .user-avatar{width:32px;height:32px}.leaderboard .username{font-size:.875rem}}.suspicious-time{background-color:#f59e0b0d!important;border-left:2px solid rgba(245,158,11,.3)}.high-risk{background-color:#ef44440d!important;border-left:3px solid rgba(239,68,68,.4);font-weight:700}.border-route .border-origin{color:var(--danger-color);font-weight:700}.suspicious-frequency{color:var(--warning-color);font-weight:700}.night-time{background-color:#ef444433;color:var(--text-primary);font-weight:700;border-radius:4px;padding:2px 6px;border:1px solid var(--danger-color)}.route-analysis-legend{margin-top:15px;padding:15px;background-color:#2563eb1a;border-radius:8px;border-left:4px solid var(--primary-color);border:1px solid rgba(37,99,235,.2)}.route-analysis-legend h6{color:var(--primary-color);margin-bottom:10px}.route-analysis-legend ul{list-style:none;padding-left:0}.route-analysis-legend li{margin-bottom:8px;padding-left:20px;color:var(--text-secondary)}.videos-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.video-analysis-card{border:1px solid var(--dark-border);border-radius:12px;padding:20px;background-color:#0f172a80;transition:all .3s ease;overflow:hidden;word-wrap:break-word;box-sizing:border-box}.suspicious-video,.normal-video{border-color:var(--dark-border);background-color:#0f172a80}.video-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--dark-border);width:100%;box-sizing:border-box}.technical-specs h6{color:var(--text-primary);margin-bottom:10px}.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;width:100%;box-sizing:border-box}.spec-item{display:flex;justify-content:space-between;padding:4px 8px;background-color:#0f172acc;border-radius:4px;border:1px solid var(--dark-border);min-width:0;word-wrap:break-word;overflow:hidden}.spec-label{font-weight:700;color:var(--text-secondary);flex-shrink:0;margin-right:8px}.spec-value{color:var(--text-primary);text-align:right;word-break:break-word;overflow:hidden}.unusual-spec{color:var(--warning-color);font-weight:700}.forensic-analysis{margin-top:15px}.forensic-analysis h6{color:var(--text-primary);margin-bottom:10px}.analysis-text{padding:10px;border-radius:6px;margin-bottom:10px;background-color:#0f172acc;border:1px solid var(--dark-border);width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.suspicious-analysis{border-left:4px solid var(--warning-color);background-color:#f59e0b1a}.normal-analysis{border-left:4px solid var(--primary-color);background-color:#2563eb1a}.analysis-text p{color:var(--text-secondary);margin:0}.detection-alert{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;margin-bottom:5px;font-size:.9em}.detection-alert span{color:var(--text-secondary)}.alert-icon{font-size:1.1em;color:var(--danger-color)}.deepfake-detection-guide{margin-top:25px;padding:20px;background-color:#2563eb1a;border-radius:12px;border:1px solid rgba(37,99,235,.2);width:100%;box-sizing:border-box}.deepfake-detection-guide h6{color:var(--primary-color);margin-bottom:15px;text-align:center}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;width:100%}.indicator-category{background-color:#0f172acc;padding:15px;border-radius:8px;border-left:4px solid var(--primary-color);border:1px solid var(--dark-border);min-width:0;word-wrap:break-word;overflow:hidden}.indicator-category h6{font-weight:700;color:var(--text-primary);display:block;margin-bottom:8px}.indicator-category ul{list-style:none;padding-left:0;margin:0}.indicator-category li{padding:3px 0;font-size:.9em;color:var(--text-secondary);border-bottom:1px dotted var(--dark-border)}.indicator-category li:last-child{border-bottom:none}@media (max-width: 768px){.videos-analysis-grid{grid-template-columns:1fr;gap:15px}.video-analysis-card{padding:15px}.specs-grid{grid-template-columns:1fr;gap:6px}.indicators-grid{grid-template-columns:1fr;gap:10px}.deepfake-detection-guide{padding:15px}}@media (max-width: 480px){.video-analysis-card{padding:10px}.spec-item{flex-direction:column;align-items:flex-start;gap:4px}.spec-label{margin-right:0}.spec-value{text-align:left}}.contract-card,.account-card,.company-card{background:#1e293b80;border:1px solid var(--dark-border);border-radius:8px;padding:1rem;margin-bottom:1rem}.contract-card h6,.account-card h6,.company-card h6{color:var(--primary-color);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.nft-chain{display:flex;flex-direction:column;gap:1rem;padding:1rem}.nft-transfer{background:#1e293b4d;border:1px solid var(--dark-border);border-radius:6px;padding:1rem;margin-bottom:.5rem}.nft-transfer p{margin:.3rem 0;color:var(--text-secondary)}.nft-transfer p strong{color:var(--text-primary)}.connections-info{margin-top:1rem;padding:1rem;background:#1e293b4d;border-radius:6px}.connections-info h6{color:var(--primary-color);margin-bottom:.5rem}.connections-info p{margin:.3rem 0;color:var(--text-secondary);font-family:monospace}.crime-sequence{display:flex;flex-direction:column;gap:1rem;padding:1rem}.crime-step{display:flex;align-items:flex-start;gap:1rem;background:#1e293b4d;border:1px solid var(--dark-border);border-radius:8px;padding:1rem}.step-number{background:var(--primary-color);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step-content{flex:1}.step-content h6{color:var(--primary-color);margin-bottom:.5rem}.step-content p{margin:.3rem 0;color:var(--text-secondary)}.sequence-arrow{text-align:center;font-size:1.5rem;color:var(--primary-color);margin:.5rem 0}.next-targets{margin-top:1rem;padding:1rem;background:#7c3aed1a;border:1px solid var(--secondary-color);border-radius:8px}.next-targets h6{color:var(--secondary-color);margin-bottom:.5rem}.next-targets ul{list-style:none;padding:0}.next-targets li{padding:.3rem 0;color:var(--text-secondary);border-bottom:1px solid rgba(124,58,237,.2)}.next-targets li:last-child{border-bottom:none}.data-table .pattern-match{background:#10b9811a;border-left:3px solid var(--success-color)}.data-table .suspicious{background:#f59e0b1a;border-left:3px solid var(--warning-color)}.main-content{padding-inline:clamp(.75rem,2.5vw,2rem);padding-block:clamp(.75rem,2vw,1rem)}.navbar .user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.leaderboard .rankings-table .user-info{display:flex;flex-direction:row;align-items:center;gap:.75rem;min-width:0}.leaderboard .rankings-table .user-details{min-width:0}.leaderboard .rankings-table .username{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard .rankings-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.leaderboard .table-header,.leaderboard .ranking-row{min-width:700px}.exercise-player .exercise-header{gap:1rem}.exercise-player .problem-content,.exercise-player .result-section,.exercise-player .answer-section,.exercise-player .attempt-info{min-width:0}.data-display{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-display .data-table{min-width:560px}.data-display pre{overflow-wrap:anywhere}.network-instructions{margin-bottom:1rem;padding:.75rem 1rem;background:#1e40af1f;border:1px solid rgba(59,130,246,.35);border-radius:.5rem}.network-instructions ul{margin-top:.5rem;padding-left:1rem;color:var(--text-secondary)}.crime-timeline,.targets-list{display:grid;gap:.75rem}.crime-event,.target-card{border:1px solid var(--dark-border);border-radius:.6rem;background:#0f172a66;padding:.85rem}.crime-event{display:grid;grid-template-columns:36px 1fr;gap:.75rem}.event-number{width:36px;height:36px;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;font-weight:700;background:#2563eb40;color:#bfdbfe}.event-details{min-width:0}.event-details p{margin:.2rem 0;overflow-wrap:anywhere}.functions-list{margin-top:.5rem;padding-left:1rem}.frequency-badge{color:var(--text-muted);margin-left:.35rem}.error-container{padding:2rem 1rem;text-align:center;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:1rem}@media (max-width: 768px){.conference-banner{gap:.4rem;font-size:.74rem;padding:.5rem .75rem}.conference-banner span{line-height:1.25}.conference-pill{font-size:.72rem;padding:.2rem .55rem}.leaderboard-header{padding:1.5rem 1rem;margin-bottom:1.5rem}.leaderboard-header h1{font-size:2.1rem}.leaderboard-header p{margin-bottom:1.2rem;font-size:1rem}.leaderboard .ranking-tabs{gap:.4rem;padding:.4rem;flex-wrap:wrap}.leaderboard .ranking-tabs .tab-button{flex:1 1 140px;padding:.72rem .9rem;margin:0}.my-ranking-card{padding:1.25rem}.my-ranking-card .ranking-info{gap:1rem}.my-ranking-card .user-stats{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.leaderboard .table-header,.leaderboard .ranking-row{min-width:620px}.exercise-player .exercise-header{flex-direction:column;align-items:stretch}.exercise-player .timer{align-self:flex-start;min-width:auto}.exercise-player .exercise-body,.exercise-player .data-display{padding:1rem}.exercise-player .exercise-footer{flex-direction:column;align-items:stretch;gap:1rem}.exercise-player .action-buttons{width:100%;flex-direction:column}.exercise-player .hint-button,.exercise-player .submit-button{width:100%}.exercise-player .exercise-stats{width:100%;justify-content:space-between;gap:.75rem}.exercise-player .selection-helper-header{flex-direction:column;align-items:flex-start;gap:.5rem}.exercise-player .blockchain-tx{min-width:0;width:100%}.exercise-player .crime-step{flex-direction:column;align-items:flex-start}.exercise-player .sequence-arrow{display:none}.crime-event{grid-template-columns:1fr}}@media (max-width: 480px){.leaderboard .global-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.leaderboard .global-stats .stat{padding:.62rem .4rem;border-radius:.72rem}.leaderboard .global-stats .stat-value{font-size:1.2rem}.leaderboard .global-stats .stat-label{font-size:.62rem;line-height:1.2;letter-spacing:.02em}.leaderboard .my-ranking-card .user-stats{grid-template-columns:1fr 1fr}.leaderboard .rank-icon{font-size:2rem}.exercise-player .exercise-info h1{font-size:1.4rem}.exercise-player .timer-value{font-size:1.25rem}.data-display .data-table{min-width:500px}}@media (max-width: 768px){.navbar-menu{max-height:min(72vh,460px);padding:.8rem;gap:.4rem;border-radius:.9rem}.navbar-link{padding:.62rem .8rem}.navbar-user-mobile{gap:.65rem;margin-top:.65rem;padding-top:.7rem}.navbar-user-mobile .logout-btn{width:100%;min-height:42px}.exercise-player .exercise-body{padding-bottom:.75rem}.exercise-player .exercise-footer{position:static;bottom:auto;z-index:auto;border-color:#3b82f659;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 22px #0206175c;padding:.9rem;gap:.7rem}.exercise-player .action-buttons{gap:.65rem}.exercise-player .hint-button,.exercise-player .submit-button{min-height:46px;padding-block:.72rem}.exercise-player .exercise-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;font-size:.78rem;gap:.6rem}.exercise-player .exercise-stats .stat{justify-content:center;padding:.55rem .5rem;border:1px solid rgba(71,85,105,.65);border-radius:.6rem;background:#0f172a80}}@media (max-width: 360px){.leaderboard .global-stats .stat-value{font-size:1.08rem}.leaderboard .global-stats .stat-label{font-size:.57rem}.leaderboard .my-ranking-card{padding:1rem}.leaderboard .my-ranking-card .user-stats{gap:.45rem}.leaderboard .my-ranking-card .user-stat .stat-value{font-size:1.28rem}.leaderboard .my-ranking-card .user-stat .stat-label{font-size:.72rem}.exercise-player .exercise-info h1{font-size:1.24rem;line-height:1.22}}@keyframes uiFadeSlideIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tabActivate{0%{transform:translateY(1px) scale(.985)}70%{transform:translateY(-1px) scale(1.01)}to{transform:translateY(0) scale(1)}}.dashboard-header,.exercises-header,.leaderboard-header,.exercise-player .exercise-header{animation:uiFadeSlideIn .38s ease-out both}.dashboard-grid>*,.exercises-grid>*,.leaderboard .global-stats .stat,.leaderboard .my-ranking-card,.leaderboard .rankings-table,.teams-page .team-tabs,.teams-page .card,.teams-page .team-stats-grid>*,.exercise-card-compact{animation:uiFadeSlideIn .46s cubic-bezier(.22,1,.36,1) both}.dashboard-grid>*:nth-child(1),.exercises-grid>*:nth-child(1),.teams-page .team-stats-grid>*:nth-child(1){animation-delay:.04s}.dashboard-grid>*:nth-child(2),.exercises-grid>*:nth-child(2),.teams-page .team-stats-grid>*:nth-child(2){animation-delay:.08s}.dashboard-grid>*:nth-child(3),.exercises-grid>*:nth-child(3),.teams-page .team-stats-grid>*:nth-child(3){animation-delay:.12s}.dashboard-grid>*:nth-child(4),.exercises-grid>*:nth-child(4),.teams-page .team-stats-grid>*:nth-child(4){animation-delay:.16s}.leaderboard .global-stats .stat:nth-child(1){animation-delay:.03s}.leaderboard .global-stats .stat:nth-child(2){animation-delay:.06s}.leaderboard .global-stats .stat:nth-child(3){animation-delay:.09s}.leaderboard .global-stats .stat:nth-child(4){animation-delay:.12s}.leaderboard .ranking-tabs .tab-button,.teams-page .tab-button{transition:transform .2s ease,box-shadow .24s ease,background .24s ease,color .24s ease,border-color .24s ease}.leaderboard .ranking-tabs .tab-button:hover,.teams-page .tab-button:hover{transform:translateY(-1px)}.leaderboard .ranking-tabs .tab-button:active,.teams-page .tab-button:active{transform:translateY(0) scale(.985)}.leaderboard .ranking-tabs .tab-button.active,.teams-page .tab-button.active{animation:tabActivate .26s ease-out both}@media (hover: none) and (pointer: coarse){.stat-card:active,.card:active,.exercise-card-compact:active,.leaderboard .ranking-tabs .tab-button:active,.teams-page .tab-button:active{transform:scale(.99)}}@media (prefers-reduced-motion: reduce){.dashboard-header,.exercises-header,.leaderboard-header,.exercise-player .exercise-header,.dashboard-grid>*,.exercises-grid>*,.leaderboard .global-stats .stat,.leaderboard .my-ranking-card,.leaderboard .rankings-table,.teams-page .team-tabs,.teams-page .card,.teams-page .team-stats-grid>*,.exercise-card-compact,.leaderboard .ranking-tabs .tab-button.active,.teams-page .tab-button.active{animation:none!important}.leaderboard .ranking-tabs .tab-button,.teams-page .tab-button{transition:none!important}}
