@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap');
/* CSS Document */

body {
    background: #eee9c7;
}

a,
a:active,
a:hover {
    color: #000;
    transition: .2s linear;
}

/* 內容外殼 */
.outer {
    width: 100%;
    max-width: 1260px;
    margin: 0 auto 30px;
    background: #fff;
}

/* 內容內殼 */
.inner_box {
    width: min(1160px, 100%);
    margin: 0 auto;
    padding: 15px 2% 15px;
    text-align: center;
}

#olympic2024 button {
    cursor: pointer;
}

/*------------------------------*\
            Top Button
\*------------------------------*/
.top {
    clear: both;
    display: none;
    width: 45px;
    height: 45px;
    border-radius: 100%;
    cursor: pointer;
    box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.2);
    position: fixed;
    bottom: 120px;
    right: 30px;
    z-index: 2;
    background: #0f5d7f;
}

.top div:before {
    content: "︿";
    display: inline-block;
    color: #fff;
    font-size: 25px;
    font-weight: 600;
    position: relative;
    top: -2px;
    left: 11px;
}

.top div:after {
    content: "TOP";
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    position: relative;
    top: -3px;
    left: 7px;
}

/*---------------------------*\
			  廣告
\*---------------------------*/
.suggest {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    overflow: hidden;
}

.suggest div,
.suggest a,
.suggest img {
    line-height: 0;
}

div.suggestBottom {
    margin-top: -10px;
    margin-bottom: 20px;
}

div.suggestTop {
    margin-top: 20px;
}

div.suggestCenter {
    margin-left: auto;
    margin-right: auto;
}

/* 廣告切換電腦版手機版 */
.suggest_m {
    display: none;
}

.suggest_pc {
    display: block;
}

/* 巨橫幅廣告 */
.suggest div#ad-K1 {
    margin: 20px auto;
}

/* 浮水印廣告 + 關閉鍵 */
.suggest div#ad-I1-bottom {
    margin: 0;
    z-index: 100;
}

.door-bottom-head {
    position: fixed;
    z-index: 0;
}

.door-bottom {
    text-align: center;
    bottom: 0;
    width: 100%;
    height: 50px;
}

.door-bottom-space {
    float: left;
    position: relative;
    background-color: #fff;
    z-index: -1;
}

.door-bottom i.close {
    width: 30px;
    height: 30px;
    border: 1px solid #999;
    border-radius: 100%;
    background-color: rgba(0, 0, 0, 0.15);
    position: absolute;
    top: -30px;
    left: 0;
    display: none;
}

.door-bottom i.close:before {
    content: "×";
    font-size: 2rem;
    color: #555;
    font-style: normal;
    line-height: 0.9;
}

@media screen and (max-width:970px) {

    /* 廣告用 */
    /* 廣告切換電腦版手機版 K2 pad不出*/
    .suggest_pc {
        display: none;
    }

    .description {
        margin-top: 20px;
    }
}

@media screen and (max-width:600px) {

    /* 廣告用 */
    /* 廣告切換電腦版手機版 */
    .suggest_pc {
        display: none;
    }

    .suggest_m {
        display: block;
    }

    /* 行動裝置中所有廣告歸 0 */
    .suggest>div {
        margin: 0px;
    }

    div.suggestBottom {
        margin-top: -15px;
        margin-bottom: 15px;
    }

    div.suggestTop {
        margin-top: 15px;
    }

    div.suggestCenter {
        margin-left: auto;
        margin-right: auto;
    }
}

/*---------------------------*\
			大欄位標題
\*---------------------------*/
.title_ribbon {
    width: 100%;
    height: 60px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #eee9c7;
    /* title_bg 長寬比 0.3333 */
    --bgWidth: 330px;
    --bgHeight: calc(var(--bgWidth) * 0.3333);
    --bgSize: var(--bgWidth) auto;
}

.title_ribbon::before {
    content: "";
    display: block;
    width: var(--bgWidth);
    height: var(--bgHeight);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1;
}

.title_ribbon::after {
    content: "";
    display: block;
    width: 100%;
    height: 56px;
    position: absolute;
    bottom: -6px;
    left: 0;
    z-index: 0;
}

.title_ribbon p {
    font-size: 28px;
    letter-spacing: -0.5px;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 0 6px rgba(0, 0, 0, .8);
    padding-top: 20px;
    z-index: 1;
}

@media screen and (max-width: 500px) {
    .title_ribbon {
        --bgWidth: 290px;
    }

    .title_ribbon p {
        font-size: 25px;
        padding-top: 18px;
    }

    .title_ribbon::after {
        height: 50px;
        bottom: 1px;
    }
}

/* 通用中獎底 */
.title_ribbon::before {
    background: url(../images/title_winner.png) no-repeat center;
    background-size: 74%;
}

.title_ribbon::after {
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 0, rgb(193 193 193) 100%);
}

/* 世足衝刺班 */
.knowledge .title_ribbon::before {
    background: url(../images/bartit_05.png) no-repeat center;
    background-size: 100%;
}

.knowledge .title_ribbon::after {
    background: url(../images/bar02_cfe.png) no-repeat center;
    background-size: 100%;
}

/* 勝負預測王 */
.match .title_ribbon::before {
    background: url(../images/bartit_06.png) no-repeat center;
    background-size: 100%;
}

.match .title_ribbon::after {
    background: url(../images/bar01_blue.png) no-repeat center;
    background-size: 100%;
}

/* 進球估算師 */
.predicts .title_ribbon::before {
    background: url(../images/bartit_07.png) no-repeat center;
    background-size: 100%;
}

.predicts .title_ribbon::after {
    background: url(../images/bar05_pp.png) no-repeat center;
    background-size: 100%;
}

/* 進球估算師 - 最新積分榜 */
.score .title_ribbon::before {
    background: url(../images/bartit_08.png) no-repeat center;
    background-size: 100%;
}

.score .title_ribbon::after {
    background: url(../images/bar05_pp.png) no-repeat center;
}

/* 活動次頁 - 活動獎項 */
.knowledge .swiperBox .title_ribbon::before,
.match .swiperBox .title_ribbon::before,
.predicts .swiperBox .title_ribbon::before {
    background: url(../images/bartit_03.png) no-repeat center;
    background-size: 100%;
}

/* 活動次頁 - 活動辦法 */
.knowledge .rule .title_ribbon::before,
.match .rule .title_ribbon::before,
.predicts .rule .title_ribbon::before {
    background: url(../images/bartit_02.png) no-repeat center;
    background-size: 100%;
}

/* 活動次頁 - 活動辦法、活動獎項共用綠背景 */
.knowledge .swiperBox .title_ribbon::after,
.knowledge .rule .title_ribbon::after,
.match .swiperBox .title_ribbon::after,
.match .rule .title_ribbon::after,
.predicts .swiperBox .title_ribbon::after,
.predicts .rule .title_ribbon::after {
    background: url(../images/bar04_db.png) no-repeat center;
    background-size: 100%;
}

/* 應援加油團 - 贊助商 */
.sponsor .title_ribbon::before {
    background: url(../images/bartit_04.png) no-repeat center;
    background-size: 100%;
}

.sponsor .title_ribbon::after {
    background: url(../images/bar04_db.png) no-repeat center;
    background-size: 100%;
}

/* ----- 內容收合 共用 ----- */
#olympic2024 .closeBtn,
.moreContent {
    display: none;
}

@media screen and (max-width: 980px) {

    /* 活動次頁 - 活動辦法、活動獎項共用綠背景大小 */
    .knowledge .swiperBox .title_ribbon::after,
    .knowledge .rule .title_ribbon::after,
    .match .swiperBox .title_ribbon::after,
    .match .rule .title_ribbon::after,
    .predicts .swiperBox .title_ribbon::after,
    .predicts .rule .title_ribbon::after,
    .match .title_ribbon::after,
    .predicts .title_ribbon::after {
        background-size: 200%;
    }
}

@media screen and (max-width: 500px) {

    /* 活動次頁 - 活動辦法、活動獎項共用綠背景大小 */
    .knowledge .swiperBox .title_ribbon::after,
    .knowledge .rule .title_ribbon::after,
    .match .swiperBox .title_ribbon::after,
    .match .rule .title_ribbon::after,
    .predicts .swiperBox .title_ribbon::after,
    .predicts .rule .title_ribbon::after,
    .knowledge .title_ribbon::after,
    .sponsor .title_ribbon::after,
    .match .title_ribbon::after,
    .predicts .title_ribbon::after {
        background-size: 320%;
    }
}

@media screen and (max-width: 440px) {

    /* 活動次頁 - 活動辦法、活動獎項共用綠背景大小 */
    .knowledge .swiperBox .title_ribbon::after,
    .knowledge .rule .title_ribbon::after,
    .match .swiperBox .title_ribbon::after,
    .match .rule .title_ribbon::after,
    .predicts .swiperBox .title_ribbon::after,
    .predicts .rule .title_ribbon::after,
    .knowledge .title_ribbon::after,
    .sponsor .title_ribbon::after {
        background-size: 300%;
    }
}

/*---------------------------*\
		   TOP BANNER
\*---------------------------*/
.jumbotron {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 10px;
}

.jumbotron_box img {
    width: 100%;
    height: auto;
}

.img_pad,
.img_mob {
    display: none;
}

@media screen and (max-width: 980px) {
    .img_web {
        display: none;
    }

    .img_pad {
        display: block;
    }
}

@media screen and (max-width: 736px) {
    .img_pad {
        display: none;
    }

    .img_mob {
        display: block;
    }
}

/*---------------------------*\
			SHARE SNS
\*---------------------------*/
.share_bar {
    width: 100%;
    height: 70px;
    background: url(../images/bartit_01.png) no-repeat;
    background-size: 380px auto;
    background-position: center -2px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    padding-top: 0px;
}

.index .share_bar {
    margin-bottom: 0px;
}

.share_bar::before,
.share_bar::after {
    content: "";
    width: 50%;
    height: 56px;
    position: absolute;
    bottom: 6px;
    z-index: -1;
}

.share_bar::before {
    background: #3eac4a;
    left: 0;
}

.share_bar::after {
    background: #1480c5;
    right: 0;
}

.share_bar>div {
    width: 320px;
    margin: 0 70px 4px;
}

.share_bar .share_btn {
    display: flex;
    align-items: center;
    width: 25%;
    height: 56px;
}

.share_bar .share_btn:first-of-type {
    justify-content: flex-end;
}

.share_bar .share_btn:hover div {
    animation: tada;
    animation-duration: 2s;
}

.share_bar .share_btn>div {
    width: 150px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    padding: 6px 0;
    border: 1px solid #fff;
    border-radius: 5px;
    box-shadow: 1px 1px 6px 2px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.share_bar .share_btn>div::after {
    display: inline-block;
    content: "";
    background: url(../images/redo_arrow.png) no-repeat;
    background-size: cover;
    background-position: center;
    width: 26px;
    height: 26px;
    margin-left: 5px;
}

@media screen and (max-width: 736px) {
    .share_bar {
        background-size: 200px auto;
        background-position: center 22px;
    }

    .share_bar::before,
    .share_bar::after {
        height: 60px;
        bottom: 0px;
    }

    #olympic2024 .share_bar .share_btn {
        width: 50%;
        height: 60px;
        position: absolute;
        top: 10px;
        right: 0;
        padding: 0 2% 0 14%;
    }

    #olympic2024 .share_bar .share_btn:first-of-type {
        right: initial;
        left: 0;
        padding: 0 14% 0 2%;
    }

    .share_bar .share_btn>div {
        width: 130px;
        padding: 8px 0;
        margin: 0 auto;
    }

    .share_bar>div {
        font-size: 26px;
        margin: 0 auto 10px;
    }
}

@media screen and (max-width: 600px) {
    .share_bar {
        height: 60px;
        background: initial;
    }

    .share_bar::before,
    .share_bar::after {
        bottom: 0;
    }

    #olympic2024 .share_bar .share_btn {
        position: initial;
    }

    .share_bar>div {
        display: none;
    }

    .share_bar .share_btn {
        padding: 0 !important;
    }

    .share_bar .share_btn>div {
        font-size: 16px;
    }
}

/*---------------------------*\
			輪播
\*---------------------------*/
.swiperBox {
    width: 100%;
    max-width: 1260px;
    padding: 0 0 30px;
    background: #eee9c7;
    overflow: hidden;
    margin: 0 auto 20px;
}

.index .swiperBox {
    padding-top: 10px;
}

.swiperBox .swiperPosition {
    position: relative;
}

.swiper-container.inner_box {
    width: initial;
    padding: 0;
    margin-top: 20px;
}

.swiper-slide .img_box {
    width: 100%;
    height: 0;
    padding: 0 0 67.2%;
    overflow: hidden;
}

.swiper-slide img {
    width: 100%;
    height: auto;
}

.index .swiper-slide .img_box {
    position: relative;
    overflow: hidden;
}

.index .swiper-slide .img_box::after {
    content: "";
    width: calc(100% / 4);
    min-width: 100px;
    height: 48px;
    background: url(../images/enterBtn.svg) no-repeat;
    background-size: 100% auto;
    background-position: center bottom;
    position: absolute;
    bottom: 4%;
    right: 2%;
}

/* 分頁 */
.swiper-pagination {
    width: 100%;
    bottom: -25px;
    z-index: 1;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #929292;
    opacity: 1;
    margin: 0 4px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
    background-color: #12623a;
}

/* 左右鍵 */
.swiper-button-prev,
.swiper-button-next {
    width: 70px;
    height: 120px;
    font-size: 70px;
    color: #fff;
    font-family: cursive;
    position: absolute;
    top: 50%;
    text-shadow: 0px 0px 12px black;
    z-index: 1;
    transition: all .2s linear;
    transform: translate(0, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-prev {
    left: 0px;
}

.swiper-button-next {
    right: 0px;
}

.swiper-button-prev:hover {
    left: -4px;
}

.swiper-button-next:hover {
    right: -4px;
}

@media screen and (max-width:500px) {

    .swiper-button-prev,
    .swiper-button-next {
        width: 50px;
    }

    .swiper-container-horizontal>.swiper-pagination-bullets {
        bottom: 14px;
    }
}

/*-- 首頁 --*/
.index .swiper-slide a:hover {
    opacity: 0.85;
}

/*---------------------------*\
			得獎名單
\*---------------------------*/
.winList .winList_box {
    padding: 10px 0;
}

.winList .gameTitle {
    width: 200px;
    margin: 0 auto 10px;
    padding: 7px 10px 5px;
    text-align: center;
    border-radius: 15px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
}

.winList .winList_box::before {
    content: "";
    display: block;
    width: 100%;
    margin-bottom: -22px;
}

.winList .showBtn,
.winList .closeBtn {
    display: block;
    width: 40%;
    padding: 10px;
    border-radius: 30px;
    text-align: center;
    color: #141414;
    margin: 15px auto 0px;
    transition: all .2s linear;
}

.winList .winList_box.game1::before {
    border-bottom: 12px solid #956134;
}

.winList .gameTitle.brown {
    background: #956134;
}

.winList .winList_box.game1 .showBtn,
.winList .winList_box.game1 .closeBtn {
    background-color: #be9069;
}

.winList .winList_box.game2::before {
    border-bottom: 12px solid #ea5514;
}

.winList .gameTitle.blue {
    background: #ea5514;
}

.winList .winList_box.game2 .showBtn,
.winList .winList_box.game2 .closeBtn {
    background-color: #f19770;
}

.winList .winList_box.game3::before {
    border-bottom: 12px solid #236092;
}

.winList .gameTitle.golden {
    background: #236092;
}

.winList .winList_box.game3 .showBtn,
.winList .winList_box.game3 .closeBtn {
    background-color: #87b2d6;
}

/* table */
.winList table {
    width: 100%;
    margin: 0 auto 12px;
    border-collapse: collapse;
    text-align: center;
}

.winList thead {
    background: #666;
    color: #fff;
}

.winList th,
.winList td {
    font-size: 18px;
    padding: 12px 6px;
    line-height: 1.4;
}

.winList tbody tr {
    border-bottom: 1px solid #bcbcbc;
}

.winList th+th,
.winList td+td {
    border-left: 1px solid #bcbcbc;
}

/*  */
.winList .inner_box a {
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.5px;
    text-align: right;
}

.winList .inner_box a span {
    color: #F39500;
}

.winList .inner_box a:hover {
    opacity: 0.6;
}

/* 得獎名單區塊 */
.coffeeWinList {
    margin-top: 30px;
    padding-bottom: 20px;
    text-align: center;
}

.coffeeWinList a {
    display: inline-block !important;
    padding: 12px 25px;
    background: #3eac4a;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    border-radius: 5px;
    transition: background 0.2s;
    white-space: nowrap !important;
}

.coffeeWinList a:hover {
    background: #0f5317;
    opacity: 1 !important;
}

@media screen and (max-width: 500px) {
    .coffeeWinList a {
        font-size: 16px !important;
        width: auto !important;
        max-width: 95% !important;
        padding: 12px 15px !important;
    }
}

.winnerForm_box {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #bcbcbc;
}

.winnerForm_title {
    font-size: 24px;
    font-weight: bold;
    color: #e31d1a;
    margin-bottom: 15px;
    text-align: center;
}

.winnerForm_links {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.winnerForm_links a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 180px !important;
    padding: 10px 15px;
    background-color: #f39500;
    color: #fff !important;
    border-radius: 5px;
    font-size: 18px !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

.winnerForm_links a:hover {
    background-color: #d88400;
    opacity: 1 !important;
}

@media screen and (max-width: 500px) {
    .winnerForm_title {
        font-size: 20px;
    }

    .winnerForm_links a {
        width: 140px !important;
        font-size: 16px !important;
    }
}

/*---------------------------*\
			應援加油團
\*---------------------------*/
.sponsor_box {
    display: flex;
    flex-wrap: wrap;
}

.sponsor_box li {
    flex: 0 0 calc(100% / 4);
    padding: 1.2%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.sponsor_box li img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1000px) {
    .sponsor_box li {
        flex: 0 0 calc(100% / 3);
    }
}

@media screen and (max-width: 600px) {
    .sponsor_box {
        justify-content: space-between;
    }

    .sponsor_box li {
        flex: 0 0 calc(100% / 2.05);
        padding: 0 1%;
    }
}


/*---------------------------*\
			活動說明
\*---------------------------*/
.rule {
    background: transparent;
}

.rule_title {
    width: 100%;
    padding: 8px;
    background: #8e2b3c;
    color: #fff;
    text-align: center;
}

.rule_title p,
.rule_detail li a {
    font-size: 20px;
}

.rule .inner_box {
    width: 100%;
    margin-bottom: 10px;
    text-align: initial;
}

.rule_detail {
    width: 100%;
    padding-top: 20px;
    padding-left: 30px;
    margin-bottom: 20px;
}

.index .rule .inner_box {
    background-color: #f9f0f0;
    border: 2px solid #8e2b3c;
}

.index .rule_detail {
    padding: 20px 20px 0;
}

.rule_detail li {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 10px;
    list-style: disc;
}

.rule_detail li a {
    color: #0057ba;
    transition: .5s linear;
}

.rule_detail li a:hover {
    opacity: 1 !important;
    border-bottom: 1px solid #0057ba;
}

/* 展開 & 收合 */
.rule .showBtn,
.rule .closeBtn {
    display: inline-block;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}

.rule .showBtn span,
.rule .closeBtn span {
    color: #557a09;
}

.rule .showBtn:hover,
.rule .closeBtn:hover,
.rule .indexLink:hover {
    opacity: 0.6;
}

/*---------------------------*\
			活動題目
\*---------------------------*/
.question.outer {
    margin-bottom: 20px;
    background: transparent;
}

.question .inner_box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 0;
    background: #fff;
}

.question .tip {
    width: 100%;
    padding: 25px 1%;
    text-align: center;
}

.question .tip a {
    font-size: max(min(2.5vw, 26px), 24px);
    font-weight: bold;
    color: #0088d3;
    height: 35px;
    display: inline-flex;
    align-items: center;
    text-decoration: underline;
}

.question .tip a::after {
    content: "";
    width: 48px;
    height: 48px;
    margin-left: 5px;
    display: inline-block;
    background: url("../images/tip.png") no-repeat;
    background-size: cover;
    background-position: top;
}

.question .tip a:hover {
    animation: pulse;
    animation-duration: 0.5s;
}

.question .q_item {
    background: #fff;
    width: 100%;
    padding: 16px 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.question .q_item h1 {
    width: min(98%, 550px);
    font-size: max(min(2.5vw, 34px), 30px);
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
    color: #be0c0c;
    margin-bottom: 25px;
}

.question .answer {
    width: min(98%, 550px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 20px;
}

.question .answer label {
    display: flex;
    flex: 0 0 calc(100% / 2.8);
    line-height: 1.3;
    padding: 6px 0 6px 15px;
}

/* 帶圖題目.flagAns */
.question .flagAns {
    width: min(98%, 980px);
    padding: 12px 16px 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f7f7 42%, #dedede 100%);
    border-radius: 0 0 18px 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85),
        inset 0 -10px 18px rgba(0, 0, 0, 0.08);
}

.predictFilterBox {
    width: min(98%, 1000px);
    margin: 0 auto 16px;
    background: transparent;
    border-radius: 0;
    overflow: visible;
}

.predictFilterTabs {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 0;
    padding: 0 10px 5px 42px;
    background: transparent;
    color: #00672b;
    font-size: 20px;
    font-weight: bold;
}

.predictFilterTabs::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 5px;
    background: #f3a20c;
    border-radius: 5px 5px 0 0;
}

.predictFilterTabs.is-top-active::after {
    background: #f3a20c;
}

.predictFilterTabs.is-region-active::after {
    background: #238332;
}

.predictTab {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 5px 28px 6px;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    background: transparent;
    cursor: pointer;
    appearance: none;
}

.predictTab::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #c97a13;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M16 0H84C88 0 90 2 92 6L100 40H0L8 6C10 2 12 0 16 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M16 0H84C88 0 90 2 92 6L100 40H0L8 6C10 2 12 0 16 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.predictTab.is-active {
    color: #fff;
    background: transparent;
}

.predictTab.is-active::before {
    background: #c97a13;
}

.regionTab {
    gap: 8px;
    margin-left: -8px;
    color: #fff;
    background: transparent;
}

.regionTab::before {
    background: #238332;
}

.regionTab.is-active {
    color: #fff;
    background: transparent;
}

.regionTab.is-active::before {
    background: #238332;
}

.predictRegionSelect {
    min-width: 120px;
    padding: 2px 30px 2px 14px;
    border: 1px solid #d8f0d0;
    border-radius: 14px;
    color: #00672b;
    font-size: 15px;
    font-weight: bold;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath fill='%23f3a20c' d='M0 0h10L5 8z'/%3E%3C/svg%3E") no-repeat right 11px center;
    appearance: none;
    -webkit-appearance: none;
}

.topAnswerList {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f7f7 42%, #dedede 100%);
    border-radius: 0 0 18px 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85),
        inset 0 -10px 18px rgba(0, 0, 0, 0.08);
}

.topAnswerItem {
    display: flex;
    flex: 0 0 calc(100% / 4);
    line-height: 1.5;
    padding: 12px 6px;
    flex-wrap: nowrap;
    flex-direction: column;
    text-align: center;
    color: #222;
    font-weight: bold;
    cursor: pointer;
}

.topAnswerItem img {
    width: 100%;
}

.topAnswerItem .option_txtBox {
    display: flex;
    justify-content: center;
}

.topAnswerItem .option_txtBox input[type=radio] {
    flex: 0 0 20px;
    height: 38px;
    margin: 0px 4px 0px 0px;
}

.topAnswerItem .option_txt {
    font-size: max(min(2.5vw, 30px), 26px);
    font-weight: bold;
}

.question .flagAns label.is-hidden {
    display: none;
}

.question .flagAns.is-hidden {
    display: none;
}

.question .flagAns label {
    display: flex;
    flex: 0 0 calc(100% / 4);
    line-height: 1.5;
    padding: 12px 6px;
    flex-wrap: nowrap;
    flex-direction: column;
}

.question .flagAns label img {
    width: 100%;
}

.question .flagAns label .option_txtBox {
    display: flex;
    justify-content: center;
}

.question .flagAns label .option_txtBox input[type=radio] {
    flex: 0 0 20px;
    height: 38px;
    margin: 0px 4px 0px 0px;
}

.question .answer label .option_txt {
    font-size: max(min(2.5vw, 30px), 26px);
    font-weight: bold;
}

.question .submitBtn {
    width: 230px;
    height: auto;
    display: block;
    margin-bottom: -5px;
    padding: 0;
    border: none;
    background: transparent;
    appearance: none;
    line-height: 0;
}

.question .submit_btn {
    width: 100%;
    max-width: 230px;
}

.question .submitBtn img {
    display: block;
    width: 100%;
}

.question .submit_btn img {
    width: 100%;
}

.question .submitBtn:hover,
.question .submit_btn:hover {
    animation: pulse;
    animation-duration: 0.8s;
    border: none;
}

input[type=radio] {
    flex: 0 0 40px;
    height: 26px;
    margin: 5px 0px 0px 5px;
}

/* 知識+ */
.knowledge .question .tip {
    background: #fff;
    border-bottom: 1px dashed #d2d2d2;
}

.knowledge .question .answer {
    display: block;
}


@media screen and (max-width: 500px) {
    .predictFilterTabs {
        padding: 0 4px 5px 16px;
    }

    .predictTab {
        min-height: 36px;
        padding: 4px 16px 5px;
        font-size: 16px;
    }

    .regionTab {
        gap: 6px;
        margin-left: -6px;
    }

    .predicts .question .answer label {
        flex: 0 0 calc(100% / 2);
        padding: 6px 0 6px 5px;
    }

    .predicts .question .flagAns label {
        flex: 0 0 calc(100% / 2);
        padding: 10px 6px;
    }

    .predictRegionSelect {
        min-width: 118px;
        padding: 2px 26px 2px 10px;
        font-size: 14px;
    }

}


/*---------------------------*\
			活動結束
\*---------------------------*/
.gameEnd.outer {
    background: transparent;
    overflow: hidden;
}

.gameEnd .inner_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #f2f2f2;
    padding: 15px 2% 25px;
    width: 100%;
}

.gamenow_img img {
    width: 100%;
    min-width: 270px;
    max-width: 700px;
}

.gameEnd span {
    font-size: 34px;
    font-family: "Noto Serif TC", serif;
    font-weight: 800;
}

@media screen and (max-width: 736px) {
    .gameEnd span {
        font-size: 26px;
        line-height: 1.4;
    }
}

/* 活動即將開始 */
.beginImgPc,
.beginImgMob {
    width: 100%;
}

.beginImgMob {
    display: none;
}

@media screen and (max-width: 736px) {
    .beginImgPc {
        display: none;
    }

    .beginImgMob {
        display: block;
    }
}


/*---------------------------*\
		 遊戲完成 popup
\*---------------------------*/
.mask_game {
    width: 100%;
    height: 100vh;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.6);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gameBgBox {
    padding: 185px 10px 0;
    width: 350px;
    height: calc(100vh - 10%);
    max-height: 700px;
    background: url(../images/popupbg.png) no-repeat;
    background-size: 100% auto;
    overflow: hidden;
    position: relative;
}

.gameBgBox .gameClose {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    border: 2px solid #fff;
    background: url(../images/x.png) no-repeat;
    background-size: 100%;
    background-position: center;
    opacity: 0.7;
}

.gameOK {
    max-width: 330px;
    height: 480px;
    text-align: center;
    margin: 0 auto;
    padding-top: 10px;
    padding-bottom: 300px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 10px;
    position: relative;
    overflow-y: scroll;
}

.gameOK::-webkit-scrollbar {
    /* 隱藏卷軸 */
    display: none;
}

.gameTxt {
    overflow: hidden;
    margin-bottom: 12px;
}

.gameOK p {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    word-wrap: break-word;
    color: #111;
    margin-bottom: 15px;
    padding: 0 10px;
}

.gameOK input[type="tel"] {
    /* input內字體需要設定字體超過6px 否則M板iphone會放大螢幕 */
    display: block;
    text-align: center;
    font-size: 16px;
    width: 80%;
    height: 30px;
    background-color: #fff;
    border: 1px solid #555;
    padding: 0px 5px;
    margin: 0px auto 10px;
}

.gameOK .okbt,
.gameOK .resend,
.gameOK .resendNoUse {
    display: block;
    width: 120px;
    padding: 9px 15px 8px;
    margin: 0px auto;
    font-size: 16px;
    text-align: center;
    color: #fff;
    background: linear-gradient(to bottom, #82c9f3 0%, #1377cb 50%, #1377cb 50%, #0067c3 51%, #0067c3 100%);
    border: 1px solid #fff;
    border-radius: 3px;
}

/* BTN GROUP */
.gameOK .btGroup {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    padding-top: 5px;
}

.gameOK .btGroup .okbt,
.gameOK .btGroup .resend,
.gameOK .resendNoUse {
    width: auto;
    padding: 9px 10px 8px;
    margin: 0;
}

.gameOK .resendNoUse {
    background: #999;
    color: #242424;
    border: 1px solid #646464;
}

.gameOK .btGroup .seconds {
    width: 50px;
    font-size: 15px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #7b6f6f;
    background: linear-gradient(to bottom, #f2cdcd 0%, #f47373 100%);
}

.gameOK p.psbox {
    font-size: 16px;
    font-weight: normal;
    padding: 0 14%;
    margin: 6px 0;
}

/* 小字附註 */
.gamebt {
    border: 0;
    background-color: #3970c9;
    padding: 2% 4%;
    margin: 0 0 3%;
    font-size: 18px;
    color: #fff;
    border-radius: 10px;
}

.gamenoOKbt {
    background-color: #c4ceef;
    padding: 6px;
    border-width: 1px;
    border-color: #6d717e;
}


@media screen and (max-width:350px) {
    .gameBgBox {
        width: 100%
    }

    .gameOK {
        height: 144vw;
    }
}

/* 共用：活動結束圖片 */
.gamenow_img {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 1%;
}

.gameimgpc {
    display: block;
    margin: 0 auto;
}

.gameimgmob {
    display: none;
}

@media screen and (max-width:736px) {
    .gameimgpc {
        display: none;
    }

    .gameimgmob {
        display: block;
        margin: 0 auto;
    }
}


/* ---- 勝負預測王 問答區 ---- */
/* 標頭換色 */
.predictstit {
    background-color: #e5ddd4;
    border-top: 8px solid #b1804c;
}

.predictstit .titlewordbox {
    background-color: #b1804c;
}

/* 看完整文字 - 按鈕開合隱藏區 */
a.show4,
a.close4 {
    display: block;
    width: 200px;
    height: 35px;
    line-height: 45px;
    text-align: center;
    color: #b70135;
    margin: 15px auto 0px;
}

a.show4:hover,
a.close4:hover {
    color: #fc044a;
}

a.close4 {
    display: none;
}

/* ---- 勝負預測王 下注區塊 ---- */
.FCbox {
    background: #e6e6e6;
    width: 100%;
    padding: 2%;
    margin-bottom: 2%;
    overflow: hidden;
}

.FCgamelist {
    width: 100%;
    padding: 0 4%;
    border-bottom: 1px solid #1e8ab3;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.FCboxall {
    width: 33%;
    float: left;
    padding: 1% 0 4px;
    text-align: center;
    color: #333;
}

.FCboxall .FCgroup {
    font-size: 20px;
    letter-spacing: 2px;
    padding: 4% 10%;
    background-color: #1e8ab3;
    color: #fff;
    font-weight: 600;
}

.FCboxall p {
    font-size: 30px;
    letter-spacing: 2px;
    font-weight: 600;
}

.FCgamebox {
    --fc-visual-height: clamp(120px, 18vw, 242px);
    --fc-text-height: clamp(154px, 12vw, 164px);
    box-sizing: border-box;
    width: 100%;
    overflow: visible;
    padding: 16px 4% 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    column-gap: clamp(12px, 3vw, 44px);
}

.FCgamebox .FCboxall {
    width: auto;
    float: none;
    min-width: 0;
    padding: 0;
}

.FCgamebox .FCoutcome {
    display: grid;
    grid-template-rows: var(--fc-visual-height) var(--fc-text-height) auto;
    align-items: start;
    justify-items: center;
    min-width: 0;
    row-gap: 10px;
}

.FCgamebox .FCflag {
    width: 100%;
    height: var(--fc-visual-height);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.FCflag img {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    object-fit: contain;
}

.FCboxvs .FCflag img {
    width: min(100%, 300px);
}

.FCword {
    width: 100%;
    min-width: 0;
    text-align: center;
}

.FCgamebox .FCword {
    min-height: var(--fc-text-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.FCword .countrywin {
    font-size: 32px;
    min-height: 2.4em;
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    margin: 0;
}

.FCteamName {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    font-size: 28px;
    line-height: 1.2;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.FCresultText {
    display: block;
    flex: 0 0 auto;
    font-size: 32px;
    line-height: 1.2;
}

.FCword .odds {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    width: 100%;
    font-size: 40px;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
}

.FCword .oddsnumber {
    display: inline-block;
    min-width: 3ch;
    font-size: 40px;
    color: #df1919;
    text-align: center;
}

.FCbet {
    padding: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.FCbet .FCnum {
    width: 70px;
    height: 40px;
    flex: 0 0 70px;
    box-sizing: border-box;
    text-align: center;
    font-size: 24px;
    background-color: #fff;
    border: 2px solid #b1b1b1;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), inset 0 1px 2px rgba(0, 0, 0, 0.04);
    color: #333;
    font-weight: 600;
    line-height: 34px;
}

.FCbet .FCnum:focus {
    border-color: #7b3fc6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(123, 63, 198, 0.18), 0 2px 6px rgba(0, 0, 0, 0.08);
}

.FCbet .FCbtn {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 34px;
    line-height: 1;
    color: #fff;
    background-color: #8f5da2;
    box-shadow: 0 4px 8px rgba(123, 63, 198, 0.28);
    overflow: visible;
    margin: 0;
    cursor: pointer;
    transition: transform 0.14s ease, background-color 0.14s ease, box-shadow 0.14s ease;
}

.FCbet .FCbtnmore {
    line-height: 0.9;
}

.FCbet .FCbtn:hover {
    background-color: #6430aa;
    box-shadow: 0 6px 10px rgba(100, 48, 170, 0.32);
}

.FCbet .FCbtn:active {
    transform: scale(0.9);
    background-color: #572794;
    box-shadow: 0 2px 4px rgba(87, 39, 148, 0.28);
}

.FCbet .FCbtn:focus-visible {
    outline: 3px solid rgba(123, 63, 198, 0.28);
    outline-offset: 3px;
}

@media screen and (max-width:600px) {
    .FCgamebox {
        --fc-visual-height: clamp(70px, 18vw, 110px);
        --fc-text-height: 116px;
        padding: 14px 2% 10px;
        column-gap: 8px;
    }

    .FCgamebox .FCoutcome {
        row-gap: 8px;
    }

    .FCword .countrywin {
        font-size: 24px;
    }

    .FCteamName {
        font-size: 22px;
    }

    .FCresultText {
        font-size: 24px;
    }

    .FCword .odds {
        font-size: 26px;
    }

    .FCword .oddsnumber {
        font-size: 30px;
    }

    .FCboxvs .FCflag img {
        width: 100%;
    }

    .FCbet {
        gap: 4px;
    }

    .FCbet .FCnum {
        width: 48px;
        height: 30px;
        flex-basis: 48px;
        font-size: 20px;
        line-height: 30px;
    }

    .FCbet .FCbtn {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 24px;
    }
}

@media screen and (max-width:500px) {
    .FCboxall p {
        font-size: 20px;
    }

    .FCgamebox {
        --fc-visual-height: clamp(62px, 17vw, 86px);
        --fc-text-height: 104px;
        padding: 12px 0 10px;
        column-gap: 6px;
    }

    .FCword .countrywin {
        font-size: 24px;
        padding: 0;
    }

    .FCteamName {
        font-size: 18px;
    }

    .FCresultText {
        font-size: 24px;
    }

    .FCword .odds {
        font-size: 20px;
        height: auto;
        line-height: 1.1;
    }

    .FCword .oddsnumber {
        font-size: 24px;
    }

    .FCbet {
        padding: 0;
        margin-top: 0;
        gap: 4px;
    }

    .FCbet .FCbtn {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 24px;
    }
}

@media screen and (max-width:430px) {
    .FCboxall {
        padding: 4% 0 4px;
    }

    .FCgamebox {
        --fc-visual-height: clamp(56px, 16vw, 70px);
        --fc-text-height: 88px;
        column-gap: 4px;
    }

    .FCgamebox .FCboxall {
        padding: 0;
    }

    .FCword .countrywin {
        font-size: 16px;
        padding: 0;
    }

    .FCteamName,
    .FCresultText {
        font-size: 16px;
    }

    .FCword .odds {
        font-size: 18px;
        height: auto;
    }

    .FCword .oddsnumber {
        min-width: 3ch;
        font-size: 22px;
    }

    .FCbet {
        width: 100%;
        padding: 0;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        position: relative;
    }

    .FCbet .FCnum {
        width: 42px;
        height: 30px;
        flex-basis: 42px;
        font-size: 20px;
        background-color: #fff;
        border: 2px solid #d8d8d8;
        border-radius: 999px;
        line-height: 30px;
    }

    .FCbet .FCbtn {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        overflow: visible;
        position: static;
        border: 0;
        border-radius: 50%;
        font-size: 24px;
        line-height: 1;
    }

    .FCbet input {
        padding: 1px 1px;
    }
}

@media screen and (max-width:360px) {
    .FCgamebox {
        --fc-visual-height: 54px;
        --fc-text-height: 86px;
        column-gap: 3px;
    }

    .FCbet {
        gap: 2px;
    }

    .FCbet .FCnum {
        width: 38px;
        flex-basis: 38px;
        font-size: 18px;
    }

    .FCbet .FCbtn {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
        font-size: 22px;
    }
}

/* ---- 勝負預測王 ---- */
/* 標頭換色 */
.scoretit {
    background-color: #e1b0b0;
    border-top: 8px solid #ab1a1a;
}

.scoretit .titlewordbox {
    color: #141414;
    background-color: #ab1a1a;
}

/* 排名表設定 */
.scorelist_box .winlist_title {
    background-color: #d7d524
}

.scorelist_box .winlist_title .game01color {
    background-color: #d7d524;
}

.scorelist_box .winlist_title p {
    font-size: 22px;
    width: 60%;
    background-color: #d7d524;
    text-align: center;
    margin: 0 auto;
    padding: 10px;
    border-radius: 30px;
    color: #141414;
    left: 20%;
    top: -26px;
    position: absolute;
    letter-spacing: 8px;
    font-family: 'Noto Sans TC', '微軟正黑體';
}

/* 中獎表格 */
.scorelist_tablebox {
    width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
    margin: 0 0 10px;
    font-size: 16px;
}

.scorelist_tablebox thead tr td {
    padding: 5px;
    background-color: #6f25bc;
    color: #fff;
    line-height: 2;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    position: relative;
}

.scorelist_tablebox tbody tr td {
    text-align: center;
    vertical-align: middle;
    line-height: 2;
    padding: 5px;
    position: relative;
}

.scorelist_tablebox tbody tr.first_gray td {
    background-color: #d5c7e3;
}

.scorelist_tablebox thead tr td:nth-child(2) {
    width: 45%;
}

.scorelist_tablebox .td_num {
    width: 12%;
}

.scorelist_tablebox thead tr td:before,
.scorelist_tablebox tbody tr td:before {
    content: "";
    position: absolute;
    width: 90px;
    height: 42px;
    top: 0;
    right: 0;
    background: linear-gradient(90deg, rgb(0 0 0 / 0%) 77%, #7e5757 140%);
    overflow: hidden;
}

/* 中獎表格 看完整文字 收闔按鈕 morecon4、5、6*/
a.scoreshow1,
a.scoreclose1 {
    display: block;
    width: 40%;
    padding: 10px;
    border-radius: 30px;
    text-align: center;
    color: #141414;
    margin: 15px auto 0px;
    transition: all .2s linear;
}

a.scoreclose1 {
    display: none;
}

/* 中獎表格 按鈕顏色 */
a.scoreshow1,
a.scoreclose1 {
    background-color: #62467e;
    color: #fff
}

a.scoreshow1:hover,
a.scoreclose1:hover {
    color: #fff;
    background-color: #271538;
}

/* 投注已完成 並顯示當前積分 popup */

.gamepointpp {
    padding: 2%;
}

.gamepointpp .blueword {
    font-size: 30px;
    color: #4a80d9;
}

.gamepointpp .redword {
    font-size: 20px;
    color: #d30f0f;
}

.pointnow {
    margin: 0 0 4%;
    font-size: 58px;
    font-weight: bold;
    color: #d30f0f;
}

.gamepointpp .pointnow span {
    font-size: 20px;
    color: #000;
}

/* 投注頁追加 頁籤樣式 */
.group_tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 12px;
    position: sticky;
    top: 70px;
    background: #ebe2d4;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 12px 14%;
    width: 100%;
}

.tab_item {
    width: min(22%, 205px);
    min-width: 150px;
    aspect-ratio: 317 / 88;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    cursor: pointer;
    background-image: url("../images/playteam_btn.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    color: #23170a;
    font-weight: bold;
    font-size: 22px;
    line-height: 1;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255, 238, 143, 0.8);
    transition: filter 0.3s, transform 0.3s;
}

.tab_item.active {
    color: #23170a;
    filter: brightness(1.05) saturate(1.08);
}

.tab_item:hover:not(.active) {
    filter: brightness(1.08);
}

@media screen and (max-width:700px) {
    .group_tabs {
        top: 60px;
        gap: 10px 12px;
        padding: 10px 8px;
    }

    .tab_item {
        width: calc((100% - 12px) / 2);
        min-width: 0;
        max-width: 120px;
        padding: 0 14px;
        font-size: 18px;
    }
}

/* 首頁每日打卡儀表板：包含手機驗證、累積積分、今日進度與任務狀態卡。 */
.daily-checkin-outer {
    background: transparent;
}

.daily-checkin-dashboard {
    background: linear-gradient(160deg, #39af57 5%, #1e8a3c 40%, #042016 90%);
    border: 0;
    border-radius: 0;
    padding: 18px 40px 28px;
    margin: 20px auto;
    box-shadow: none;
    font-size: 18px;
}

.daily-checkin-dashboard,
.daily-checkin-dashboard * {
    box-sizing: border-box;
    font-size: 32px;
}

.daily-checkin-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff14c;
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 16px;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.daily-checkin-title img {
    width: 150px;
    max-width: 12%;
    display: block;
}

.daily-checkin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 22px;
}

.daily-checkin-panel {
    background: #fff;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 6px 16px rgba(0, 72, 32, 0.22);
}

.daily-checkin-panel-title {
    color: #252525;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    margin: 0 0 18px;
}

.daily-checkin-panel-title::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    background: #24110f;
    vertical-align: -3px;
}

.daily-checkin-login {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(96px, 0.7fr);
    gap: 12px;
    margin-bottom: 8px;
}

.daily-checkin-login input {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 14px;
    border: 0;
    border-radius: 7px;
    background: linear-gradient(180deg, #eef1f3 0%, #ffffff 48%, #d7dbdf 100%);
    box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.22);
    color: #222;
    font-size: 25px;
    font-weight: 800;
    text-align: center;
}

.daily-checkin-login-done input {
    grid-column: 1 / -1;
}

.daily-checkin-login input::placeholder {
    color: #2a2a2a;
    opacity: 1;
}

.daily-checkin-login button {
    grid-column: 1 / -1;
    height: 46px;
    border: 0;
    border-radius: 8px;
    background: #f49a00 !important;
    color: #fff !important;
    font-size: 19px;
    font-weight: 900;
    cursor: pointer;
}

.daily-checkin-login button:hover {
    background: #e18700 !important;
}

.daily-checkin-login .daily-checkin-login-status {
    cursor: default;
}

.daily-checkin-login .daily-checkin-login-status:hover {
    background: #f49a00 !important;
}

.daily-checkin-login-note {
    color: #555;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 14px;
    text-align: center;
}

.daily-checkin-verify {
    margin-bottom: 8px;
}

.daily-checkin-verify-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: start;
    gap: 14px;
    list-style: none;
    margin: 28px 0 36px;
    padding: 0;
    text-align: center;
}

.daily-checkin-verify-steps li {
    position: relative;
    color: #2b2b2b;
}

.daily-checkin-verify-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 21px;
    left: calc(50% + 28px);
    width: calc(100% - 42px);
    height: 2px;
    background: #9a9a9a;
}

.daily-checkin-verify-steps span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #2e4709;
    border: 2px solid #86c62b;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
}

.daily-checkin-verify-steps .is-active span {
    background: #86c62b;
}

.daily-checkin-verify-steps small {
    display: block;
    margin-top: 7px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    color: #2e4709;
}

.daily-checkin-verify-fields,
.daily-checkin-verify-code {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.daily-checkin-verify-fields {
    margin-bottom: 14px;
}

.daily-checkin-verify label {
    display: block;
    min-width: 0;
}

.daily-checkin-verify label span {
    display: block;
    color: #2f2f2f;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 4px;
    padding-left: 12px;
}

.daily-checkin-verify input {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d5dbe3;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    color: #222;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
}

.daily-checkin-verify input::placeholder {
    color: #9aa3af;
    font-weight: 600;
}

.daily-checkin-verify input:focus {
    border-color: #0f9f58;
    box-shadow: 0 0 0 3px rgba(15, 159, 88, 0.16);
    outline: none;
}

.daily-checkin-code-button,
.daily-checkin-submit-button {
    height: 44px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 2px;
    transition: background 0.2s, transform 0.2s;
}

.daily-checkin-code-button {
    align-self: end;
    background: #bd3939;
}

.daily-checkin-code-button:hover {
    background: #bd1d27;
}

.daily-checkin-submit-button {
    width: 100%;
    margin-top: 14px;
    background: #255d15;
    font-size: 22px;
}

.daily-checkin-submit-button:hover {
    background: #4c811d;
}

.daily-checkin-code-button:hover,
.daily-checkin-submit-button:hover {
    transform: translateY(-1px);
}

.daily-checkin-score {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 92px;
    margin: 16px 0;
    padding: 16px 18px;
    border: 3px solid #20ad4d;
    border-radius: 8px;
}

.daily-checkin-score strong,
.daily-checkin-score span {
    display: block;
}

.daily-checkin-score strong {
    color: #f08c00;
    font-size: 20px;
    font-weight: 700;
}

.daily-checkin-score span {
    color: #2f2f2f;
    font-size: 16px;
    font-weight: 700;
    margin-top: 4px;
}

.daily-checkin-score-number {
    color: #e7490f;
    font-size: 56px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.daily-checkin-score-number span {
    display: inline;
    color: #1f1f1f;
    font-size: 22px;
    font-weight: 800;
    margin-left: 6px;
}

.daily-checkin-score-number .daily-checkin-score-mark {
    color: #e7490f;
    font-size: 56px;
    margin-left: 0;
}

.daily-checkin-ad-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    max-width: 100%;
    height: 250px;
    margin: 0 auto;
    color: #bdbdbd;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0;
}

.daily-checkin-progress {
    margin-bottom: 14px;
}

.daily-checkin-progress-label {
    color: #353535;
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 8px;
}

.daily-checkin-progress-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2px;
    height: 16px;
    padding: 2px;
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #d3d3d3;
    overflow: hidden;
}

.daily-checkin-progress-segment {
    /* 每一格對應一個活動項目，PHP 依完成數加上 is-filled。 */
    display: block;
    height: 100%;
    border-radius: 5px;
    background: #b0b0b0;
}

.daily-checkin-progress-segment.is-filled {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, #eaa70b 0%, #d9c292 100%);
    animation: dailyCheckinFill 0.55s ease-out both;
    animation-delay: calc(var(--segment-index, 0) * 0.12s);
}

.daily-checkin-progress.is-complete .daily-checkin-progress-segment.is-filled {
    background: linear-gradient(90deg, #008f4b 0%, #18b957 100%);
}

.daily-checkin-progress.is-complete .daily-checkin-progress-track {
    box-shadow: 0 0 0 2px rgba(24, 185, 87, 0.28), 0 0 16px rgba(24, 185, 87, 0.45);
}

.daily-checkin-progress.is-complete .daily-checkin-progress-segment.is-filled::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.55) 45%, transparent 75%);
    transform: translateX(-120%);
    animation: dailyCheckinShimmer 2.4s ease-in-out 0.75s infinite;
}

.daily-checkin-progress-count {
    color: #d65d32;
    font-size: 20px;
    font-weight: 900;
    margin-top: 12px;
    text-align: right;
}

.daily-checkin-message {
    margin: 14px 0 12px;
    padding: 24px 14px;
    border-radius: 8px;
    background: #777;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    text-align: center;
}

.daily-checkin-message.is-active {
    background: linear-gradient(90deg, #12a150 0%, #1fc96b 55%, #f0b429 100%);
    box-shadow: 0 0 0 2px rgba(31, 201, 107, 0.22), 0 8px 18px rgba(0, 117, 55, 0.22);
    animation: dailyCheckinPulse 2.6s ease-in-out 0.2s infinite;
}

@keyframes dailyCheckinFill {
    from {
        opacity: 0.35;
        transform: scaleX(0);
        transform-origin: left center;
    }

    to {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: left center;
    }
}

@keyframes dailyCheckinShimmer {
    to {
        transform: translateX(120%);
    }
}

@keyframes dailyCheckinPulse {
    0% {
        transform: scale(1);
    }

    45% {
        transform: scale(1.025);
    }

    100% {
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {

    .daily-checkin-progress-segment.is-filled,
    .daily-checkin-progress.is-complete .daily-checkin-progress-segment.is-filled::after,
    .daily-checkin-message.is-active {
        animation: none;
    }
}

.daily-checkin-list {
    display: grid;
    gap: 12px;
}

.daily-checkin-item {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 8px 12px 8px 0;
    border: 3px solid #28af4b;
    border-radius: 9px;
    background: #fff;
    color: #222;
    text-align: left;
    transition: transform 0.2s, box-shadow 0.2s;
}

.daily-checkin-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 16px solid #28af4b;
    transform: translateY(-50%);
}

.daily-checkin-item:hover {
    box-shadow: 0 4px 10px rgba(0, 72, 32, 0.16);
    transform: translateY(-2px);
}

.daily-checkin-item.completed {
    background: #fff;
    border-color: #28af4b;
}

.daily-checkin-item-icon {
    position: relative;
    z-index: 1;
    grid-column: 1;
    align-self: center;
    width: 30px;
    height: 30px;
    margin-left: 28px;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, #fff 0 30%, transparent 31%),
        conic-gradient(#111 0 12%, #fff 12% 25%, #111 25% 38%, #fff 38% 50%, #111 50% 62%, #fff 62% 75%, #111 75% 88%, #fff 88% 100%);
    border: 1px solid #999;
}

.daily-checkin-item-icon-img {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: none;
}

.daily-checkin-item-icon-img img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.daily-checkin-item .game-name {
    grid-column: 2;
    align-self: center;
    overflow: hidden;
    color: #222;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.daily-checkin-action {
    /* 右側狀態按鈕與「點此參加」包成同一組，避免影響左側圖案與標題置中。 */
    grid-column: 3;
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.daily-checkin-item .status-label {
    min-width: 74px;
    padding: 7px 12px;
    border-radius: 999px;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.daily-checkin-item .status-label.done {
    /* 已完成狀態：PHP 產生 done class，按鈕顯示綠色。 */
    background: #4ea824;
}

.daily-checkin-item .status-label.pending {
    /* 未完成狀態：PHP 產生 pending class，按鈕顯示橘色。 */
    background: #777777;
}

.daily-checkin-join {
    color: #4d4d4d;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    margin-top: 0;
    text-align: center;
}

@media screen and (max-width: 900px) {
    .daily-checkin-dashboard {
        padding: 16px 22px 24px;
    }

    .daily-checkin-panel {
        padding: 18px;
    }

    .daily-checkin-item .game-name {
        font-size: 18px;
    }
}

@media screen and (max-width: 700px) {

    /* 700px 以下改為單欄版面，任務卡仍維持單列置中。 */
    .daily-checkin-dashboard {
        padding: 14px 14px 22px;
    }

    .daily-checkin-title {
        font-size: 26px;
        justify-content: center;
    }

    .daily-checkin-title img {
        max-width: 18%;
    }

    .daily-checkin-grid {
        grid-template-columns: 1fr;
    }

    .daily-checkin-login {
        grid-template-columns: 1fr;
    }

    .daily-checkin-login input,
    .daily-checkin-login button {
        width: 100%;
    }

    .daily-checkin-verify-fields,
    .daily-checkin-verify-code {
        grid-template-columns: 1fr;
    }

    .daily-checkin-score {
        align-items: flex-end;
        padding: 14px;
    }

    .daily-checkin-score-number {
        font-size: 46px;
    }

    .daily-checkin-item {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        width: 100%;
    }

    .daily-checkin-item-icon {
        margin-left: 18px;
    }

    .daily-checkin-item .game-name {
        font-size: 16px;
    }
}

@media screen and (max-width: 430px) {

    /* 小手機再縮小圖案、字級與欄距，避免狀態按鈕與標題互相擠壓。 */
    .daily-checkin-title {
        align-items: flex-end;
        gap: 8px;
    }

    .daily-checkin-title img {
        width: 126px;
    }

    .daily-checkin-verify-steps {
        gap: 6px;
    }

    .daily-checkin-verify-steps li:not(:last-child)::after {
        left: calc(50% + 22px);
        width: calc(100% - 28px);
    }

    .daily-checkin-verify-steps span {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }

    .daily-checkin-verify-steps small {
        font-size: 16px;
    }

    .daily-checkin-code-button,
    .daily-checkin-submit-button {
        font-size: 18px;
    }

    .daily-checkin-score {
        display: block;
    }

    .daily-checkin-score-number {
        margin-top: 10px;
        text-align: right;
    }

    .daily-checkin-message {
        font-size: 20px;
    }

    .daily-checkin-item {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: 8px;
        padding-right: 8px;
    }

    .daily-checkin-item-icon {
        width: 26px;
        height: 26px;
        margin-left: 12px;
    }

    .daily-checkin-item .status-label {
        min-width: 66px;
        padding: 7px 9px;
        font-size: 16px;
    }
}