body{margin:0;background-color:#0d1117;font-family:Fira Code,monospace;color:#e6edf3}.app-container{display:flex;flex-direction:column;height:100vh}.navbar{width:100%;background-color:#161b22;border-bottom:1px solid #30363d;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.8rem 2rem;font-size:1rem;position:sticky;top:0;z-index:100}.nav-logo{font-weight:700;font-size:1.1rem;color:#3b82f6;justify-self:start}.nav-links{display:flex;justify-content:center;gap:2rem}.nav-links a{color:#e6edf3;text-decoration:none;font-weight:500;transition:color .2s ease,transform .15s ease}.nav-links a:hover{color:#3b82f6;transform:translateY(-2px)}.test-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:3rem}.correct{color:#22c55e;transition:color .15s ease}.incorrect{color:#ef4444;transition:color .15s ease}.neutral{color:#9ca3af;transition:color .15s ease}.current{position:relative;color:#3b82f6}.current:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:#3b82f6;animation:blink 1s step-start infinite;transition:left .15s ease}.text-display{position:relative;font-family:Fira Code,monospace;font-size:1rem;background-color:#0d1117;color:#e6edf3;border-radius:8px;padding:1rem 1.2rem;white-space:pre-wrap;line-height:1.6;letter-spacing:.3px;max-width:700px;margin:0 auto;border:1px solid #30363d;-moz-tab-size:3;tab-size:3;display:inline-block}.caret{position:absolute;width:2px;height:1.4em;background-color:#3b82f6;transition:left .1s ease,top .1s ease}.blink{animation:blink 1s step-start infinite}.solid{animation:none}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;animation:fadeIn .8s ease forwards;transform:translateY(10px)}.code-input{display:block;margin-top:2rem;width:100%;max-width:700px;height:150px;resize:none;font-family:Fira Code,monospace;font-size:1rem;color:#e6edf3;background-color:#161b22;border:1px solid #30363d;border-radius:6px;padding:.6rem .8rem;line-height:1.5;outline:none}.code-input:focus{border-color:#3b82f6}.stats{margin-top:1.5rem;font-size:1.1rem;display:flex;gap:2rem;justify-content:center;font-family:monospace;color:#9ca3af}.results{text-align:center;margin-top:2rem}.results h2{font-size:1.5rem;margin-bottom:1rem}.results p{font-size:1.2rem;margin:.3rem 0}.results button{margin-top:1rem;padding:.5rem 1.2rem;background-color:#3b82f6;color:#fff;font-family:monospace;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.results button:hover{background-color:#2563eb}.restart-wrapper{display:flex;justify-content:center;margin-top:1.5rem}.restart-btn{padding:.5rem 1.2rem;background-color:#2563eb;color:#fff;font-family:monospace;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.restart-btn:hover{background-color:#1d4ed8;transform:translateY(-1px)}input{display:block;margin-top:2rem;width:60%;max-width:500px;padding:.5rem 1rem;font-size:1rem;font-family:monospace;border:2px solid #3b82f6;border-radius:6px;outline:none;transition:border-color .2s ease}input:focus{border-color:#2563eb}.problem-select{margin-bottom:1rem;background-color:#161b22;border:1px solid #30363d;color:#e6edf3;padding:.5rem;font-family:Fira Code,monospace;border-radius:6px;font-size:.9rem;width:200px}.problem-select:focus{outline:none;border-color:#3b82f6}.auth-container{max-width:400px;margin:120px auto auto;display:flex;flex-direction:column;gap:12px;padding:2rem;background:#161b22;border:1px solid #30363d;border-radius:8px}.auth-container input{padding:.6rem;background:#0d1117;border:1px solid #30363d;color:#fff}.auth-container button{padding:.7rem;background:#2563eb;border:none;border-radius:6px;cursor:pointer;color:#fff}.logout-btn{background:#2563eb;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer}.logout-btn:hover{background:#1d4ed8}.leaderboard-container{max-width:450px;margin:120px auto;padding:2rem;background:#161b22;border:1px solid #30363d;border-radius:8px;color:#e6edf3;font-family:Fira Code,monospace}.leaderboard-container h2{text-align:center;margin-bottom:1rem;font-size:1.4rem;color:#3b82f6}.leaderboard-entry{padding:8px;border-bottom:1px solid #30363d}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-rank{color:#3b82f6;font-weight:700;margin-right:6px}
