:root{--primary-color: #bb86fc;--primary-variant: #3700b3;--secondary-color: #03dac6;--background: #121212;--surface: #1e1e1e;--error: #cf6679;--on-primary: #000000;--on-secondary: #000000;--on-background: #ffffff;--on-surface: #ffffff;--on-error: #000000;--elevation-1: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--elevation-2: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--elevation-3: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--elevation-4: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22);--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-small: .875rem;--font-size-normal: 1rem;--font-size-large: 1.25rem;--font-size-xlarge: 1.5rem;--font-size-xxlarge: 2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--background);color:var(--on-background);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-xxlarge)}h2{font-size:var(--font-size-xlarge)}h3{font-size:var(--font-size-large)}h4{font-size:var(--font-size-normal)}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);font-family:var(--font-family);font-size:var(--font-size-normal);font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-normal);min-height:44px;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-variant));color:var(--on-primary);box-shadow:var(--elevation-2)}.btn-primary:hover:not(:disabled){box-shadow:var(--elevation-4);transform:translateY(-2px)}.btn-secondary{background:var(--surface);color:var(--on-surface);border:2px solid var(--primary-color)}.btn-secondary:hover:not(:disabled){background:var(--primary-color);color:var(--on-primary)}.btn-danger{background:var(--error);color:var(--on-error)}.btn-danger:hover:not(:disabled){background:#b71c1c;box-shadow:var(--elevation-3)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--on-surface);font-weight:500;font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.5px}.form-control{width:100%;padding:var(--spacing-md);border:1px solid grey;border-radius:var(--border-radius-md);background:var(--surface);color:var(--on-surface);font-family:var(--font-family);font-size:var(--font-size-normal);transition:all var(--transition-normal)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #bb86fc1a}.form-control:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--surface);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--elevation-1);transition:all var(--transition-normal);border:1px solid rgba(255,255,255,.1)}.card:hover{box-shadow:var(--elevation-3);transform:translateY(-4px)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.header{background:var(--surface);border-bottom:1px solid rgba(255,255,255,.1);padding:var(--spacing-lg) 0;box-shadow:var(--elevation-2);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.header h1{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.welcome-text{color:#ffffffb3;font-weight:500}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--background) 0%,var(--surface) 100%)}.login-form{background:var(--surface);padding:var(--spacing-xxl);border-radius:var(--border-radius-xl);box-shadow:var(--elevation-4);width:100%;max-width:400px;border:1px solid rgba(255,255,255,.1)}.login-form h1{text-align:center;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-form h2{text-align:center;margin-bottom:var(--spacing-xl);color:#ffffffb3;font-size:var(--font-size-normal);font-weight:400}.login-button{width:100%;margin-top:var(--spacing-lg);background:linear-gradient(135deg,var(--primary-color),var(--primary-variant));color:var(--on-primary);font-size:var(--font-size-large);font-weight:600;padding:var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--elevation-2);border:unset}.login-button:hover:not(:disabled){box-shadow:var(--elevation-4);transform:translateY(-2px)}.demo-credentials{margin-top:var(--spacing-lg);text-align:center;color:#fff9;font-size:var(--font-size-small)}.demo-credentials p{margin-bottom:var(--spacing-xs)}.error-message{background:rgba(207,102,121,.1);color:var(--error);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--error);margin-bottom:var(--spacing-lg);text-align:center}.leaderboard-section{margin-bottom:var(--spacing-xxl)}.leaderboard-section h2{text-align:center;margin-bottom:var(--spacing-xl);color:var(--on-surface);font-size:var(--font-size-xlarge)}.leaderboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.leaderboard-item{background:var(--surface);padding:var(--spacing-lg);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--elevation-1);border:1px solid rgba(255,255,255,.1);transition:all var(--transition-normal)}.leaderboard-item:hover{transform:translateY(-2px);box-shadow:var(--elevation-2)}.leaderboard-item.current-user{border-color:var(--primary-color);box-shadow:0 0 0 2px #bb86fc33}.leaderboard-rank{background:var(--primary-color);color:var(--on-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-small)}.leaderboard-name{flex:1;font-weight:500}.leaderboard-score{color:var(--secondary-color);font-weight:600}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.challenge-card{background:var(--surface);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--elevation-1);border:1px solid rgba(255,255,255,.1);transition:all var(--transition-normal)}.challenge-card:hover{box-shadow:var(--elevation-3);transform:translateY(-4px)}.challenge-card.future-challenge{opacity:.7}.challenge-card.completed-challenge{border:2px solid var(--secondary-color);box-shadow:0 0 0 2px #03dac633;background:linear-gradient(135deg,var(--surface) 0%,rgba(3,218,198,.05) 100%)}.challenge-card.missed-challenge{border:2px solid var(--error);box-shadow:0 0 0 2px #cf667933;background:linear-gradient(135deg,var(--surface) 0%,rgba(207,102,121,.05) 100%);opacity:.8}.video-container{position:relative;width:100%;height:200px;background:var(--background);overflow:hidden}.video-container video{width:100%;height:100%;object-fit:cover}.video-content{width:100%;height:100%}.video-content iframe{width:100%;height:100%;border:none;border-radius:var(--border-radius-md)}.future-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;color:var(--on-surface);font-weight:500}.challenge-info{padding:var(--spacing-lg)}.challenge-title{color:var(--on-surface);margin-bottom:var(--spacing-sm);font-size:var(--font-size-large)}.challenge-date{color:var(--secondary-color);font-size:var(--font-size-small);margin-bottom:var(--spacing-sm);font-weight:500}.challenge-description{color:#fffc;margin-bottom:var(--spacing-lg);line-height:1.6}.challenge-toggle{margin-bottom:var(--spacing-lg)}.toggle-button{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--border-radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-normal)}.toggle-button.completed{background:var(--secondary-color);color:var(--on-secondary)}.toggle-button.not-completed{background:var(--surface);color:var(--on-surface);border:2px solid var(--error);animation:pulse 2s infinite}.contestants-section{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-lg)}.contestants-toggle{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:var(--font-size-small);text-decoration:underline;margin-bottom:var(--spacing-md);transition:color var(--transition-normal)}.contestants-toggle:hover{color:var(--secondary-color)}.contestants-list h4{color:var(--on-surface);margin-bottom:var(--spacing-md);font-size:var(--font-size-normal)}.contestant-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(255,255,255,.05)}.contestant-item:last-child{border-bottom:none}.status-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-small);font-weight:700}.contestant-item.completed .status-icon{background:var(--secondary-color);color:var(--on-secondary)}.contestant-item.not-completed .status-icon{color:var(--error)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--on-surface);font-size:var(--font-size-large)}@media (max-width: 768px){.header-content{flex-direction:column;gap:var(--spacing-md);text-align:center}.header h1{font-size:var(--font-size-xlarge)}.challenge-grid{grid-template-columns:repeat(2,1fr)}.leaderboard-grid{grid-template-columns:1fr}.login-form{padding:var(--spacing-xl);margin:var(--spacing-md)}}@media (max-width: 480px){.container{padding:0 var(--spacing-sm)}.challenge-grid{grid-template-columns:1fr}.challenge-card{margin:0 var(--spacing-sm)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary-variant)}*:focus{outline:2px solid var(--primary-color);outline-offset:2px}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #cf667966;transform:scale(1)}50%{box-shadow:0 0 0 8px #cf66791a;transform:scale(1.02)}to{box-shadow:0 0 #cf667900;transform:scale(1)}}
