/* Mobile optimization styles */
@media screen and (max-width: 768px) {
    /* Adjust base font size */
    body {
        font-size: 16px;
    }
    
    /* Amount display area optimization */
    .input_box_title {
        font-size: 14px !important;
    }
    
    .input_box_money,
    .money_input {
        font-size: 36px !important;
    }
    
    /* Payment button optimization */
    .btn_button {
        font-size: 20px !important;
        height: 50px !important;
        line-height: 50px !important;
    }
    
    /* Bank option optimization */
    .banks_li {
        height: 50px !important;
        margin-bottom: 12px !important;
    }
    
    .banks_li span {
        font-size: 16px !important;
    }
    
    .banks_li_img img {
        width: 45px !important;
    }
    
    /* Security prompt text */
    .banks_li_btt {
        font-size: 12px !important;
    }
    
    /* Loading animation text */
    .loading_text {
        font-size: 16px !important;
    }
    
    /* Countdown display */
    .loading_time {
        font-size: 18px !important;
    }
    
    /* Footer area */
    .footer_title {
        font-size: 12px !important;
    }
}

/* Extra small screen devices (mobile portrait) */
@media screen and (max-width: 480px) {
    .input_box_money,
    .money_input {
        font-size: 32px !important;
    }
    
    .btn_button {
        font-size: 18px !important;
        height: 48px !important;
        line-height: 48px !important;
    }
    
    .banks_li {
        height: 48px !important;
    }
    
    .banks_li span {
        font-size: 15px !important;
    }
    
    .banks_li_img img {
        width: 40px !important;
    }
}

/* Tablet devices */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .input_box_money,
    .money_input {
        font-size: 40px !important;
    }
    
    .btn_button {
        font-size: 22px !important;
        height: 55px !important;
        line-height: 55px !important;
    }
    
    .banks_li {
        height: 55px !important;
    }
}

/* Touch device optimization */
@media (hover: none) and (pointer: coarse) {
    /* Increase touch target size */
    .banks_li {
        min-height: 44px; /* 苹果推荐的最小触摸目标大小 */
        padding: 12px 10px !important;
    }
    
    .btn_button {
        min-height: 44px;
    }
    
    /* Increase button padding */
    .banks_li_left {
        padding-left: 5px;
    }
    
    /* Increase radio button touch area */
    .banks_Radio {
        width: 20px !important;
        height: 20px !important;
    }
}

/* High DPI device optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .banks_li_img img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    body {
        background: #1a1a1a;
        color: #ffffff;
    }
    
    .banks {
        background: #2a2a2a;
    }
    
    .banks_main {
        background: #2a2a2a;
    }
    
    .banks_box {
        background: #2a2a2a;
    }
    
    .banks_title_box {
        background: #2a2a2a;
        color: #ffffff;
        border-bottom-color: #444;
    }
    
    .banks_box {
        border-bottom-color: #444;
    }
    
    .banks_li {
        color: #ffffff;
    }
    
    .banks_li.active {
        background: #3a3a3a;
        border-color: #00B9F5;
        color: #00B9F5;
    }
}

/* Prevent text from becoming too small */
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Optimize loading animation */
.loadEffect {
    width: 120px !important;
    height: 120px !important;
}

.loadEffect span {
    width: 24px !important;
    height: 24px !important;
}

.loading_text {
    margin-top: 100px !important;
    font-size: 18px !important;
    line-height: 1.5;
}

.loading_time {
    margin-top: 120px !important;
    font-size: 20px !important;
    font-weight: bold;
}
