    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: "Noto Sans SC", sans-serif;
    }

    body {
        background: #000;
        color: #ffecb7;
        font-size: 18px;
        min-height: 100vh;
    }

    html {
        scroll-behavior: smooth;
    }

    .container {
        width: 100%;
        max-width: 1920px;
        background: url(../images/bg.jpg) center 0 no-repeat #642660;
        padding-top: 695px;
        margin: 0 auto;
        padding-bottom: 200px;
        background-size: 100%;
    }

    .container h3 {
        display: block;
        text-indent: -9999px;
        margin: 0 auto 20px;
    }

    /* 龙珠展示区 */
    .dragon-balls {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
    }

    .ball {
        width: 228px;
        transition: all 0.2s;
        margin-top: -30px;
    }

    .ball:hover span {
        transform: scale(1.08);
    }

    .ball span {
        display: block;
        width: 218px;
        height: 219px;
        margin: 0 auto;
        text-indent: -9999px;
    }

    .ball-1 span {
        background: url(../images/ball_1.png) no-repeat;
        background-size: 100%;
    }

    .ball-2 span {
        background: url(../images/ball_2.png) no-repeat;
        background-size: 100%;
    }

    .ball-3 span {
        background: url(../images/ball_3.png) no-repeat;
        background-size: 100%;
    }

    .ball-4 span {
        background: url(../images/ball_4.png) no-repeat;
        background-size: 100%;
    }

    .ball-5 span {
        background: url(../images/ball_5.png) no-repeat;
        background-size: 100%;
    }

    .ball-6 span {
        background: url(../images/ball_6.png) no-repeat;
        background-size: 100%;
    }

    .ball-7 span {
        background: url(../images/ball_7.png) no-repeat;
        background-size: 100%;
    }

    .ball .count {
        margin-top: -70px;
        background: url(../images/ball_count.png) no-repeat;
        text-align: center;
        width: 228px;
        height: 106px;
        line-height: 86px;
        color: #512600;
    }

    .ball .count b {
        font-size: 22px;
        color: white;
    }

    .user-info {
        text-align: center;
        line-height: 65px;
        color: #57134e;
        font-size: 14px;
    }

    .actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 40px 60px;
        width: 100%;
        max-width: 1000px;
        margin: 0 auto 100px;
    }

    .action-col {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    #index_hope h3 {
        background: url(../images/hope_title.png) no-repeat;
        width: 371px;
        height: 69px;
        background-size: 100%;
    }

    #index-box h3 {
        background: url(../images/box_title.png) no-repeat;
        width: 382px;
        height: 68px;
        background-size: 100%;
    }

    .btn {
        display: block;
        border: 0;
        width: 202px;
        height: 47px;
        text-indent: -9999px;
        cursor: pointer;
    }

    .btn:hover {
        opacity: 0.9;
    }

    .btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    #ball_btn {
        background: url(../images/box_btn.png) no-repeat;
        background-size: 100%;
    }

    #hope_btn {
        background: url(../images/hope_btn.png) no-repeat;
        background-size: 100%;
    }

    .prize-radio-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
    }

    .prize-radio-item {
        display: flex;
        align-items: center;
        cursor: pointer;
        background: url(../images/hope_gift.png) no-repeat;
        width: 100%;
        min-width: 374px;
        height: 75px;
        margin: 0 auto 15px;
        position: relative;
        background-size: 100%;
    }

    .prize-radio-item input[type="radio"] {
        margin-right: 8px;
        width: 16px;
        height: 16px;
    }

    .prize-radio-item label {
        cursor: pointer;
        display: block;
        height: 75px;
        padding-left: 145px;
        line-height: 75px;
        width: 90%;
        max-width: 300px;
        
    }

    .prize-radio-item::after {
        display: block;
        content: "";
        height: 100%;
        width: 150px;
        position: absolute;
        left: 0;
        top: 0;
    }

    #sel_prize1::after {
        background: url(../images/prize1_text.png) center no-repeat;
    }

    #sel_prize2::after {
        background: url(../images/prize2_text.png) center no-repeat;
    }

    #sel_prize3::after {
        background: url(../images/prize3_text.png) center no-repeat;
    }

    .btn:disabled {
        background-color: #ccc;
        cursor: not-allowed;
        opacity: 0.7;
    }

    .prize-box img {
        max-width: 100%;
        max-height: 100%;
    }

    #rule_anchor {
        position: relative;
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
    }

    #rule_anchor::before {
        display: block;
        content: "";
        position: absolute;
        background: url(../images/date_char.png) no-repeat;
        width: 289px;
        height: 422px;
        left: -100px;
        top: -100px;
    }

    #rule_anchor::after {
        display: block;
        content: "";
        position: absolute;
        background: url(../images/rule_char.png) no-repeat;
        width: 363px;
        height: 492px;
        right: -200px;
        top: 20px;
    }

    #rule_anchor p {
        width: 90%;
        max-width: 800px;
        margin: 25px auto 25px;
        line-height: 25px;
    }

    .date-title {
        background: url(../images/date_title.png) no-repeat;
        width: 389px;
        height: 68px;
        background-size: 100%;
    }

    .container h3.rule-title {
        background: url(../images/rule_title.png) no-repeat;
        width: 381px;
        height: 68px;
        background-size: 100%;
        margin-bottom: 50px;
    }

    .tasks {
        margin-top: 20px;
        margin-bottom: 50px;
    }

    .tasks h3 {
        background: url(../images/task_title.png) no-repeat;
        width: 382px;
        height: 69px;
        background-size: 100%;
    }

    .task-intro,
    .exchange-intro {
        width: 90%;
        text-align: center;
        margin: 45px auto;
        line-height: 25px;
    }

    .exchange-intro {
        width: 100%;
    }

    .task-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        line-height: 60px;
        width: 90%;
        max-width: 905px;
        margin: 0 auto;
        border-bottom: 1px dashed #ffecb7;
    }

    .task-item span,
    .task-item button {
        display: block;
        width: 90px;
        height: 33px;
        text-align: center;
        line-height: 33px;
        border-radius: 100px;
        border: 0;
        font-size: 18px;
    }
    .task-item button {
        display: block;
        width: 90px;
        height: 33px;
        text-align: center;
        line-height: 33px;
        border-radius: 100px;
        color: #fff;
        border: 0;
        font-size: 18px;
    }
    .task-share{
        background: #c950c1;
        color: #ffecb7;
    }

    .task-item button {
        cursor: pointer;
    }

    .task-done {
        background: #f17700;
    }
    .task-undone{
        background: #8a633d;
    }
    .task-unopened{
        background: #737373;
        color: white;
    }

    #ball_lottery {
        margin: 0 auto;
        background: url(../images/ball_lottery.png) no-repeat;
        background-size: 100%;
    }

    .lottery-count {
        text-align: center;
        line-height: 50px;
    }

    .exchange {
        text-align: center;
        margin-top: 20px;
        margin-bottom: 150px;
    }

    .exchange h3 {
        background: url(../images/change_title.png) no-repeat;
        width: 387px;
        height: 68px;
        background-size: 100%;
    }

    .exchangeBtn-wrap {
        display: flex;
        justify-content: center;
        margin: 40px 0;

    }

    .exchange .btn {
        margin: 0 30px;
    }

    #send_btn {
        background: url(../images/send_btn.png) no-repeat;
        background-size: 100%;
    }

    #accept_btn {
        background: url(../images/accept_btn.png) no-repeat;
        background-size: 100%;
    }

    .exchange-log {
        width: 90%;
        max-width: 528px;
        height: 194px;
        margin: 0 auto;
        background: #000000;
        border: 2px solid #dea738;
        position: relative;
        padding: 30px 0;
    }

    .exchange-log h3 {
        display: block;
        background: url(../images/record_title.png) no-repeat;
        width: 111px;
        height: 40px;
        text-indent: -9999px;
        position: absolute;
        left: 50%;
        margin-left: -55.5px;
        top: -20px;
    }

    .exchange-log div {
        width: 90%;
        height: 100%;
        color: #a1a1a1;
        font-size: 16px;
        line-height: 25px;
        text-align: center;
        margin: 0 auto;
        overflow-y: scroll;
    }

    .exchange-log div p {
        text-align: center;
        width: 100%;
    }

    #reward_wrap h3 {
        background: url(../images/award_title.png) no-repeat;
        width: 423px;
        height: 68px;
        background-size: 100%;
        margin-bottom: 50px;
    }

    .rewards {
        display: flex;
        justify-content: center;
        width: 96%;
        max-width: 1000px;
        margin: 0 auto;
        flex-wrap: wrap;
        margin-top: 20px;
    }

    .reward-item {
        width: 33%;
        margin-bottom: 30px;
    }

    .reward-item img {
        display: block;
        margin: 0 auto;
        margin-bottom: 8px;
    }

    .reward-item p {
        font-size: 16px;
        text-align: center;
        line-height: 30px;
        padding: 20px 0;
    }

    /* 弹窗样式 */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.7);
        align-items: center;
        justify-content: center;
        z-index: 999;
        display: none;
    }
    .modal-overlay.show{
        display: flex;
    }
    .modal {
        background: #000;
        border: 2px solid #e7930f;
        width: 702px;
        padding: 20px 0;
        position: relative;
        color: #ffd700;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .modal-close {
        position: absolute;
        top: 10px;
        right: 15px;
        color: #ffd700;
        font-size: 24px;
        cursor: pointer;
    }

    .login-form {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 60%;
    }

    .form-row {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .form-row label {
        width: 80px;
        text-align: right;
    }

    .form-row input {
        flex: 1;
        padding: 8px;
        background: #ccc;
        border: none;
        border-radius: 4px;
    }

    .video-modal .modal-content {
        width: 100%;
        height: 100%;
    }

    .video-modal video {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .win-modal h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    #showLoginModal {
        width: 100%;
        height: 100%;
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 4;
    }

    .maskLayer {
        width: 100%;
        height: 100%;
        position: absolute;
        z-index: 5;
        background: black;
        opacity: .8;
        left: 0;
        top: 0;
    }

    #login_container {
        position: relative;
        z-index: 6;
    }

    .formSelect-wrap {
        width: 510px;
        margin: 0 auto;
    }

    .select-layer {
        margin-bottom: 40px;
        display: flex;
        justify-content: space-between;
    }

    .select-layer label,
    .select-layer select,
    .select-layer input {
        display: block;
        border: 0;
        font-size: 22px;
        font-weight: bold;
    }

    .select-layer label {
        line-height: 48px;
        color: #fbd498;
    }

    .select-layer select,
    .select-layer input {
        width: 400px;
        height: 48px;
        background: #c9c9c9;
    }

    #info_submit {
        background: url(../images/submit_btn.png) no-repeat;
        margin: 0 auto;
    }

    .pop-btn,
    .copy-btn {
        display: block;
        width: 96px;
        height: 36px;
        border: 2px solid #6f4500;
        color: #6f4500;
        text-align: center;
        line-height: 36px;
        border-radius: 10px;
        background: #ffca71;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        margin: 0 auto;
    }

    .pop-inputText {
        width: 250px;
        height: 40px;
        border: none;
        display: block;
    }

    .link-btn {
        margin-top: 20px;
        width: 80%;
    }

    .copy-btn {
        margin: 0 auto 10px;
    }

    .card-sel {
        display: flex;
        margin: 0 auto;
        width: 90%;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .card-sel div {
        margin-bottom: 20px;
    }

    #pop_sendWrap h2 {
        margin-bottom: 20px;
    }

    .pop-inputText {
        width: 100%;
        margin-bottom: 20px;
    }

    .float-menu {
        position: fixed;
        left: 50px;
        top: 100px;
    }

    .float-menu a {
        display: block;
        background: url(../images/float_btn.png) no-repeat;
        margin-bottom: 20px;
        width: 154px;
        height: 46px;
        text-align: center;
        color: #000;
        line-height: 46px;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .float-menu a.active {
        background: url(../images/float_btn2.png) no-repeat;
    }
    

@media screen and (max-width: 800px) {
    #lunabottom,.float-menu{display: none;}
    #rule_anchor::before {display: none;}
    #rule_anchor::after {display: none;}
    .actions{padding: 0;margin-bottom: 20px;}
    .container{background: url(../images/m_bg.jpg) center top no-repeat #632661;background-size: 100%;padding-top: calc(630 / 750 * 100vw);}
    .container h3{margin: 0 auto;max-width: 100%;}
    .ball{width: 100px;margin-top: 0;}
    .ball span{width: 100%;height: 100px;background-size: 100%;}
    .ball div.count{width: 100%;background-size: 100%;height: auto;line-height: 1.5;background: none;color: white;font-size: 12px;margin-top: 0;}
    .task-item p{font-size: 12px;line-height: 45px;}
    .action-col{margin: 0 auto;display: block;}
    .prize-box img{display: block;margin: 0 auto;}
    .btn{margin: 20px auto;}
    #rule_anchor p{font-size: 14px;}
    .task-intro{font-size: 14px;}
    .exchange-intro{font-size: 14px;width: 96%;}
    .exchange{margin-bottom: 20px;}
    .user-info{color: white;}
    .modal{width: 96%;}
    .reward-item {width: 48%;}
}
