*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0c1f30;font-family:system-ui,"Microsoft YaHei",sans-serif}#GameDiv{width:100%;height:100%;margin:auto}#Cocos3dGameContainer,#GameCanvas{width:100%;height:100%;display:block}#loading{position:fixed;inset:0;display:flex;justify-content:center;background:#000;z-index:10}#loading[hidden]{display:none}button{cursor:pointer;padding:13px 28px;border:0;border-radius:10px;background:#ffca58;color:#263b54;font-size:17px;font-weight:700}dialog{padding:28px;border:2px solid #54719e;border-radius:20px;background:#edf5ff;color:#263b54;width:min(90vw,390px)}dialog::backdrop{background:#061323bb}dialog h2{margin:0 0 8px}dialog p{font-size:13px;color:#68778b}label{display:block;margin:20px 0;font-size:14px}input{display:block;width:100%;border:1px solid #b6c6d9;border-radius:8px;padding:12px;margin-top:8px;font-size:16px}#login-submit{width:100%;background:#347aee;color:#fff}#auth-error{color:#b74242;min-height:18px}button:disabled{opacity:.6}
#restore-login{width:100%;margin-top:10px;background:#dbe9fc;color:#285fae}

/* Keep the original palette when the browser follows the system's dark theme. */
:root{color-scheme:only light}
/* Match the APK account panel. Keep the game canvas full size. */
#auth{padding:0;border:3px solid #292239;border-radius:5px;background:#cbd0ff;color:#36335c;width:min(92vw,460px);max-height:calc(100dvh - 24px);overflow-y:auto;box-shadow:0 4px 0 #171322}
#auth .head{background:#7164c9;border-bottom:3px solid #292239;padding:20px 18px;text-align:center}#auth h1{margin:0;font-size:28px;font-weight:900;color:white;letter-spacing:1px;text-shadow:2px 2px #262133,-2px -2px #262133,2px -2px #262133,-2px 2px #262133}
#auth .content{padding:20px}#auth .tabs{display:flex;background:#aeb7e8;border:2px solid #68628b;border-radius:4px;margin-bottom:20px}#auth .tab{width:50%;border-radius:2px;background:transparent;color:#59618e;padding:10px;font-size:17px;font-weight:900}#auth .tab.active{background:#4383ff;color:white;box-shadow:inset 0 2px #9fdcff;text-shadow:1px 1px #242039}
#auth .field{margin-bottom:15px}#auth .label{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font-size:15px;color:#59678f;font-weight:900}#auth .input{width:100%;height:46px;margin:0;border:2px solid #6f739e;border-radius:4px;background:#e6e9ff;color:#34334d;box-shadow:inset 0 2px 3px #69739c33;padding:0 14px;font-size:16px}#auth .input:focus{outline:2px solid #3d78d9;outline-offset:1px}#auth .input::placeholder{color:#9299bd}
#auth .small-btn{padding:0;background:transparent;color:#446eb7;font-size:13px;min-height:24px}#auth .password-wrap{position:relative}#auth .password-wrap input{padding-right:49px}#auth .eye{position:absolute;right:5px;top:4px;width:38px;height:38px;padding:7px;background:transparent;color:#5a668c}#auth .eye svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#auth .eye .slash{display:none}#auth .eye[aria-pressed="true"] .slash{display:block}
#auth #login-submit{width:100%;height:51px;padding:0;border:2px solid #272335;border-radius:7px;background:#4181ff;box-shadow:inset 0 2px #a0e8ff,0 4px #5a6795,0 5px #292239;color:white;font-size:22px;font-weight:900;text-shadow:1.5px 1.5px #252033,-1.5px -1.5px #252033}#auth .hint{color:#636f9c;font-size:11px;text-align:center;line-height:1.7;margin:16px 0 0}#auth-error{min-height:22px;margin:0 0 10px;color:#a33b51;font-size:12px;text-align:center}#auth .foot{display:none}#auth:not(.register) .reg-only,#auth.register .login-only{display:none}#auth .account-tools{display:flex;gap:13px}#auth button:focus-visible{outline:2px solid #292239;outline-offset:2px}
@media(max-height:520px){#auth .head{padding:12px}#auth .content{padding:14px}#auth .tabs{margin-bottom:12px}#auth .field{margin-bottom:10px}}

/* APK start.scene: 720x1280 design, centered 720x1700 splash artwork. */
.startup-scene{position:relative;width:min(100vw,56.25vh);height:100%;overflow:hidden;container-type:inline-size;background:#387eab}
.startup-background{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}
.startup-status{position:absolute;left:5%;right:5%;bottom:8%;transform:translateY(50%);text-align:center;color:white}
#load-status{margin:0;line-height:1.7;font-size:clamp(12px,3.333cqw,24px);font-weight:400;text-shadow:1px 1px 2px #000,-1px -1px 2px #000;white-space:pre-wrap;overflow-wrap:anywhere}
#retry{margin-top:12px;background:#4181ff;color:white;border:2px solid #272335;max-width:100%}

/* Account actions and feedback use the APK panel's controls. */
#auth .head{position:relative}#auth .close{position:absolute;right:10px;top:12px;width:30px;height:30px;padding:0;border:0;background:transparent;border-radius:0;font-size:34px;font-weight:900;line-height:26px;color:white;text-shadow:2px 2px #51416e,-1px -1px #51416e}
#auth .status.info{color:#526ba5}#auth #restore-login{border:2px solid #68628b;border-radius:4px;background:#aeb7e8;color:#36335c;box-shadow:inset 0 2px #dce2ff;font-weight:900}
#auth #login-submit:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px #a0e8ff,0 2px #5a6795,0 3px #292239}
