:root{--primary-color: #0d0c0e;--primary-hover: #18161b;--dark-bg: #121212;--card-bg: #1e1e1e;--card-border: #333;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-muted: #8a8a8a;--error-color: #ff5252;--error-bg: rgba(255, 82, 82, .1);--success-color: #4caf50;--success-bg: rgba(76, 175, 80, .1);--input-bg: #2c2c2c;--input-border: #444;--input-focus: #8a57de;--shadow-color: rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--dark-bg);color:var(--text-primary);line-height:1.6}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-size:cover;background-position:center;background-attachment:fixed;position:relative}.login-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:0}.login-section{position:relative;width:100%;max-width:480px;background-color:var(--card-bg);border-radius:10px;box-shadow:0 15px 25px var(--shadow-color);padding:40px;z-index:1;border:1px solid var(--card-border);overflow:hidden}.login-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--primary-color),#6a11cb)}.login-section header{text-align:center;margin-bottom:30px}.login-section h2{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:10px;position:relative;display:inline-block}.login-section h2:after{content:"";position:absolute;width:50%;height:3px;background:var(--primary-color);left:25%;bottom:-8px;border-radius:2px}.login-form{width:100%}.login-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.login-form input[type=text],.login-form input[type=email],.login-form input[type=password]{width:100%;padding:12px 15px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-size:15px;color:var(--text-primary);margin-bottom:20px;transition:border-color .2s ease,box-shadow .2s ease}.login-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8a57de4d}.login-form input.border-red-500{border-color:var(--error-color)}.login-form button[type=submit]{width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;margin-top:10px}.login-form button[type=submit]:hover{background-color:var(--primary-hover)}.login-form button[type=submit]:active{transform:scale(.98)}.login-form input[type=checkbox]{accent-color:var(--primary-color);margin-right:8px;transform:scale(1.1)}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.flex-nowrap{flex-wrap:nowrap}.mt-5{margin-top:20px}.gap-1{gap:5px}.text-sm{font-size:14px}.whitespace-nowrap{white-space:nowrap}.text-gray-500{color:var(--text-muted)}.login-form a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s ease}.login-form a:hover{color:var(--primary-hover);text-decoration:underline}.login-social-buttons{margin-top:20px}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 15px;background-color:#fff;border:1px solid #ddd;border-radius:6px;color:#333;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.google-login-btn:hover{background-color:#f5f5f5;box-shadow:0 2px 5px #0000001a}.google-login-btn svg{width:20px;height:20px}.error-message{background-color:var(--error-bg);border:1px solid var(--error-color);color:var(--error-color);border-radius:6px;padding:12px;margin-bottom:20px;font-size:14px}.text-red-500{color:var(--error-color)}.text-xs{font-size:12px;display:block;margin-top:-15px;margin-bottom:15px}.success-message{background-color:var(--success-bg);border:1px solid var(--success-color);color:var(--success-color);border-radius:6px;padding:12px;margin-bottom:20px;font-size:14px}.login-form>span{display:block;text-align:center;margin:20px 0;color:var(--text-muted);position:relative}.login-form>span:before,.login-form>span:after{content:"";position:absolute;top:50%;width:calc(50% - 30px);height:1px;background-color:var(--input-border)}.login-form>span:before{left:0}.login-form>span:after{right:0}.login-form>p{text-align:center;margin-top:20px;color:var(--text-secondary);font-size:14px}.g-recaptcha{margin:15px 0;display:flex;justify-content:center}@media (max-width: 768px){.login-section{padding:30px;max-width:100%}}@media (max-width: 480px){.login-section{padding:25px 20px}.login-section h2{font-size:24px}.flex.justify-between{flex-direction:column;gap:10px;align-items:flex-start}}.tos-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;justify-content:center;align-items:center}.tos-modal.active{display:flex}.tos-modal article{background-color:var(--card-bg);border-radius:10px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 15px 25px var(--shadow-color);display:flex;flex-direction:column}.tos-modal article header{background-color:var(--primary-color);padding:15px 20px;position:relative}.tos-modal article header h1{color:#fff;font-size:22px;text-align:center;margin:0}.tos-modal-close{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;background-color:#0003;transition:background-color .2s ease}.tos-modal-close:hover{background-color:#0006}.tos-modal-close:before,.tos-modal-close:after{content:"";position:absolute;width:15px;height:2px;background-color:#fff}.tos-modal-close:before{transform:rotate(45deg)}.tos-modal-close:after{transform:rotate(-45deg)}.tos-modal article>div{padding:20px;overflow-y:auto;color:var(--text-secondary);font-size:14px;line-height:1.6}
