.custom-alert-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999}.custom-alert-box{background:#fff;color:#333;padding:20px;border-radius:12px;width:300px;text-align:center;font-family:Inter,sans-serif;box-shadow:0 10px 20px #0003;animation:fadeIn .2s ease}.custom-alert-button{margin-top:16px;padding:8px 16px;border:none;border-radius:8px;background:#007bff;color:#fff;cursor:pointer;font-size:14px;transition:background .2s}.custom-alert-button:hover{background:#0056b3}.custom-prompt-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999}.custom-prompt-box{background:#fff;color:#333;padding:20px;border-radius:12px;width:320px;text-align:center;font-family:Inter,sans-serif;box-shadow:0 10px 20px #0003;animation:fadeIn .2s ease}.custom-prompt-input{width:90%;max-width:240px;margin:12px auto;display:block;padding:8px;border:1px solid #ccc;border-radius:8px;font-size:14px}.custom-prompt-actions{display:flex;justify-content:space-between;margin-top:12px}.custom-prompt-button{flex:1;margin:0 4px;padding:8px;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.custom-prompt-ok{background:#007bff;color:#fff}.custom-prompt-ok:hover{background:#0056b3}.custom-prompt-cancel{background:#e0e0e0}.custom-prompt-cancel:hover{background:#bdbdbd}.custom-suggest-list{margin:10px auto 0;width:90%;max-height:120px;overflow-y:auto;border:1px solid #ddd;border-radius:8px;background:#fafafa;text-align:left;font-size:13px}.custom-suggest-item{padding:6px 10px;cursor:pointer;border-bottom:1px solid #eee;transition:background .2s}.custom-suggest-item:last-child{border-bottom:none}.custom-suggest-item:hover{background:#f0f0f0}.custom-radio-group{display:flex;justify-content:center;gap:20px;margin:10px 0;font-size:14px;color:#333}.custom-radio-group input{margin-right:6px}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.home{max-width:480px;margin:40px auto;padding:24px;background:#fff;border-radius:16px;box-shadow:0 8px 16px #00000014;font-family:Inter,sans-serif;text-align:center}.home input[type=number]{width:90%;padding:10px 14px;border:1px solid #ccc;border-radius:8px;font-size:14px;margin-bottom:16px;outline:none;transition:border-color .2s,box-shadow .2s}.home input[type=number]:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}.home button{width:100%;padding:10px;margin:6px 0;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s,transform .1s}.home button:active{transform:scale(.98)}.game_btn,.create_game_btn,.players_btn{background:#007bff;color:#fff}.game_btn:hover,.create_game_btn:hover,.players_btn:hover{background:#0056b3}.create_btn,.sign_btn,.register_btn{background:#e0e0e0;color:#333}.create_btn:hover,.sign_btn:hover,.register_btn:hover{background:#bdbdbd}.account_info,.total_info{font-size:13px;color:#666;margin:12px 0}.home a{display:inline-block;margin-top:8px;font-size:13px;color:#007bff;text-decoration:none;transition:color .2s}.home a:hover{color:#0056b3;text-decoration:underline}.game{max-width:520px;margin:20px auto;padding:20px;background:#fff;border-radius:16px;box-shadow:0 6px 16px #0000001f;text-align:center;font-family:Inter,sans-serif}.game h1{font-size:22px;font-weight:600;margin-bottom:10px;color:#222}.game h2.game_state{font-size:16px;font-weight:500;margin-bottom:6px;color:#555}.game p.game_info{font-size:14px;margin-bottom:20px;color:#777}.ready_btn,.give_up_btn,.back_btn{background:#007bff;color:#fff;border:none;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:background .25s,transform .1s;margin-bottom:20px}.ready_btn:hover,.give_up_btn:hover,.back_btn:hover{background:#0056b3;transform:translateY(-1px)}#game_canvas{display:block;margin:0 auto;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:box-shadow .3s}#game_canvas:hover{box-shadow:0 0 12px #007bff80}@media screen and (max-width: 768px){.game{padding:5px;margin:5px auto;width:100vw}#game_canvas{transform:scale(.7);transform-origin:top left}}.players{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #0000001a;font-family:Inter,sans-serif;max-width:480px;margin:20px auto;display:flex;flex-direction:column;gap:16px}.players .account_info.basic{background:#f9f9f9;padding:12px;border-radius:8px;font-weight:500;font-size:14px;color:#333;text-align:center}.players .rank,.players .friends{list-style:none;padding:0;margin:0;background:#fafafa;border-radius:8px;border:1px solid #eee;overflow-y:auto;max-height:150px}.players .rank li,.players .friends li{padding:10px 12px;font-size:14px;border-bottom:1px solid #eee;cursor:pointer}.players .rank li:hover,.players .friends li:hover{background:#f0f0f0}.players .rank li:last-child,.players .friends li:last-child{border-bottom:none}.players .search_input{padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px;width:100%;box-sizing:border-box;transition:border .2s}.players .search_input:focus{outline:none;border:1px solid #007bff;box-shadow:0 0 0 2px #007bff33}.players .search_btn,.players .add_friend_btn{padding:10px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s;flex:1}.players .search_btn{background:#007bff;color:#fff}.players .search_btn:hover{background:#0056b3}.players .add_friend_btn{background:#e0e0e0;color:#333}.players .add_friend_btn:hover{background:#bdbdbd}.players .actions{display:flex;gap:8px}.log_container{position:fixed;top:10px;left:10px;width:150px;height:50px;display:flex;justify-content:center;z-index:9999}#log_text{font-size:16px;color:#333;margin-right:5px}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
