:root{--primary-color: #4caf50;--secondary-color: #2196f3;--text-color: #333;--light-bg: #f8f9fa;--dark-bg: #333;--error-color: #f44336;--github-color: #24292e;--border-color: #ddd}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--light-bg)}.container{max-width:1100px;margin:0 auto;padding:2rem;text-align:center}h1{font-size:3rem;margin-bottom:.5rem;color:var(--primary-color)}h2{font-size:2rem;margin-bottom:1rem}p{font-size:1.2rem;margin-bottom:1.5rem}.wip-banner{background-color:#fff9c4;border:2px solid #fbc02d;border-radius:8px;padding:2rem;margin:2rem 0}.cta-button{margin:2rem 0}.cta-button a{display:inline-block;background-color:var(--primary-color);color:#fff;text-decoration:none;padding:12px 24px;border-radius:4px;font-weight:700;font-size:1.2rem;transition:background-color .3s ease}.cta-button a:hover{background-color:#388e3c}button{background-color:var(--secondary-color);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s ease}button:hover{background-color:#0b7dda}button:disabled{background-color:#ccc;cursor:not-allowed}.auth-container{max-width:600px}.auth-success,.auth-form-container,.auth-error{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;margin-top:2rem}.auth-error{border-left:3px solid var(--error-color)}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{margin-bottom:.5rem;font-weight:700}.form-group input{padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.primary-btn{background-color:var(--primary-color);padding:12px 20px;font-size:1.1rem;margin-top:.5rem}.primary-btn:hover:not(:disabled){background-color:#388e3c}.sign-out-btn{margin-top:1rem}.github-btn{display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--github-color);color:#fff;width:100%;padding:12px 20px;font-size:1.1rem}.github-btn:hover:not(:disabled){background-color:#1a1e22}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#777}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider span{padding:0 10px;font-size:.9rem}.auth-toggle{margin:1.5rem 0;font-size:1rem}.text-btn{background:none;color:var(--secondary-color);border:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline}.text-btn:hover{color:#0b7dda;background:none}.error-message{background-color:#ffebee;color:var(--error-color);padding:10px;border-radius:4px;margin-bottom:1rem;text-align:left;border-left:3px solid var(--error-color)}.auth-note{background-color:#e8f5e9;padding:1rem;border-radius:4px;margin-top:1.5rem;font-size:.9rem}.auth-note p{font-size:.9rem;margin-bottom:.5rem}@media (max-width: 768px){.container{padding:1rem}h1{font-size:2.5rem}h2{font-size:1.8rem}p{font-size:1rem}}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid var(--primary-color);animation:spin 1s linear infinite;margin:20px auto}.redirect-message{font-size:1.2em;font-weight:700;color:var(--primary-color);margin:10px 0;text-align:center}.help-text{font-size:.9em;color:var(--text-light);text-align:center;margin-top:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
