/* 一番賞開獎舞台 */

body.draw-locked { overflow: hidden; }

.draw-stage {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: var(--mm-sp-4);
    padding-bottom: calc(var(--mm-sp-4) + env(safe-area-inset-bottom));
    background: radial-gradient(ellipse at center, rgba(10, 34, 42, .94) 0%, rgba(6, 12, 16, .985) 70%);
    animation: draw-fade .22s ease-out;
    overflow-y: auto;
    overflow-x: hidden;   /* 手機上「一鍵開獎」那條比畫面寬一點，不要讓整個舞台左右晃 */
    overscroll-behavior: contain;
}

.draw-stage__inner {
    position: relative;
    width: min(980px, 100%);
    margin: auto 0;   /* 內容短時置中、長時從頂端開始捲（不會被切掉） */
    outline: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--mm-sp-5);
    text-align: center;
    color: #fff;
}

/* ---------- 抽獎中 ---------- */
.draw-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--mm-sp-4);
    padding: var(--mm-sp-7) 0;
}

.draw-spinner { display: flex; gap: 10px; }

.draw-spinner span {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--mm-cyan);
    animation: draw-bounce 1s ease-in-out infinite;
}
.draw-spinner span:nth-child(2) { animation-delay: .14s; background: #FFC233; }
.draw-spinner span:nth-child(3) { animation-delay: .28s; background: var(--mm-orange); }

.draw-status__text {
    margin: 0;
    font-size: var(--mm-fs-lg);
    font-weight: 700;
    letter-spacing: .06em;
}
.draw-status.is-queued .draw-status__text { color: #FFC233; }

/* ---------- 籤盒（付款後 3 分鐘內選籤） ---------- */
.kuji-picker {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--mm-sp-3);
}
.kuji-picker__head { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.kuji-picker__title { margin: 0; font-size: var(--mm-fs-xl); font-weight: 800; letter-spacing: .04em; }
.kuji-picker__title b { color: #FFC233; font-size: 1.3em; }
.kuji-picker__paid { margin: 0; font-size: var(--mm-fs-sm); color: rgba(255, 255, 255, .72); }

.kuji-timer {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.kuji-timer b { font-size: 1.25em; color: #FFE27A; min-width: 3.2em; text-align: left; }
.kuji-timer.is-urgent { background: rgba(229, 57, 53, .9); box-shadow: 0 0 0 3px rgba(229, 57, 53, .35); animation: kuji-urgent 1s ease-in-out infinite; }
.kuji-timer.is-urgent b { color: #fff; }

.kuji-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 20% 0%, rgba(62, 193, 221, .18), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
    max-height: min(56vh, 560px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* 一支籤：月球人籤紙（圖由 draw-reveal.js 用 canvas 畫好，籤盒跟開獎同一張） */
.kuji {
    position: relative;
    aspect-ratio: 9 / 5;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: var(--kuji-paper, linear-gradient(90deg, #3EC1DD 0 36%, #FFF6E2 36%)) center / 100% 100% no-repeat;
    color: #1B3A57;
    cursor: pointer;
    container-type: inline-size;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .35));
    transition: transform .15s ease, filter .15s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}
.kuji:hover:not(:disabled) { transform: translateY(-3px) rotate(-1deg); }
.kuji:focus-visible { outline: 3px solid #FFC233; outline-offset: 3px; }
/* 號碼放在籤紙右下的號碼框（位置跟 canvas 畫的框對齊） */
.kuji__no {
    position: absolute;
    left: 39.9%;
    width: 56.2%;
    top: 50%;
    height: 38%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-size: max(12px, 16cqi);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.kuji.is-drawn {
    cursor: not-allowed;
    filter: grayscale(1) brightness(.7);
    opacity: .38;
}
.kuji__stamp {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 1px 8px;
    border: 2px solid #E53935;
    border-radius: 4px;
    color: #E53935;
    background: rgba(255, 255, 255, .85);
    font-size: 12px;
    font-size: max(11px, 12cqi);
    font-weight: 900;
    letter-spacing: .1em;
    white-space: nowrap;
    transform: translate(-50%, -50%) rotate(-14deg);
}
.kuji.is-picked {
    transform: translateY(-5px) scale(1.05);
    filter: drop-shadow(0 0 0 #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 10px rgba(255, 194, 51, .95));
    z-index: 1;
}
.kuji.is-picked::after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 3px solid #FFC233;
    border-radius: 9px;
    pointer-events: none;
}
.kuji__order {
    position: absolute;
    z-index: 2;
    top: -9px;
    right: -9px;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 12px;
    background: var(--mm-orange);
    color: #fff;
    box-shadow: 0 0 0 2px #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 24px;
}
.kuji.is-bounce { animation: draw-pop .3s ease-out; }

.kuji-short {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(229, 57, 53, .16);
    box-shadow: inset 0 0 0 1px rgba(229, 57, 53, .5);
}
.kuji-short p { margin: 0; font-weight: 700; }

.kuji-picker__bar { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.kuji-picker__count { margin: 0; font-size: var(--mm-fs-md); font-weight: 700; }
.kuji-picker__count b { color: #FFC233; font-size: 1.25em; }
.kuji-picker__actions { display: flex; gap: var(--mm-sp-3); flex-wrap: wrap; justify-content: center; }
.kuji-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .45); color: #fff; }
.kuji-btn--ghost:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.kuji-btn--go { min-width: 160px; font-size: var(--mm-fs-md); font-weight: 800; }
.kuji-btn--go:disabled { opacity: .45; }

.kuji-timeout {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 16px;
    background: rgba(6, 12, 16, .82);
    backdrop-filter: blur(2px);
}
.kuji-timeout b { font-size: 2rem; color: #FF6B5E; letter-spacing: .1em; }
.kuji-picker.is-timeout .kuji-grid { pointer-events: none; }

/* ---------- 開獎：籤紙（跟籤盒同一張），刮開看獎項 ---------- */
.kuji-reveal { width: 100%; display: flex; flex-direction: column; align-items: center; gap: var(--mm-sp-4); }
/* 刮的時候不要選到字、手機長按不要跳選單 */
.kuji-picker, .kuji-reveal { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.kuji-reveal__title { margin: 0; font-size: var(--mm-fs-xl); font-weight: 800; }
.kuji-reveal__hint { margin: 4px 0 0; font-size: var(--mm-fs-sm); color: rgba(255, 255, 255, .75); }
.kuji-reveal__hint b { color: #FFD24A; }
.kuji-cards {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

.kuji-card {
    position: relative;
    width: 300px;
    aspect-ratio: 9 / 5;
    border-radius: 10px;
    color: var(--mm-ink, #1B2A33);
    outline: none;
    box-shadow: 0 8px 16px rgba(0, 0, 0, .4);
    animation: scratch-in .35s ease-out both;
    animation-delay: calc(var(--i, 0) * 80ms);
}
.kuji-card:focus-visible { box-shadow: 0 0 0 3px #FFC233; }
/* 籤紙打開後的內側 */
.kuji-card__inside {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 48% 1fr;
    align-items: center;
    gap: 8px;
    padding: 8px 12px 8px 8px;
    border-radius: 10px;
    background:
        repeating-linear-gradient(135deg, rgba(62, 193, 221, .06) 0 8px, transparent 8px 16px),
        #FFFDF8;
    overflow: hidden;
}
.kuji-card__inside::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1.5px dashed rgba(27, 58, 87, .22);
    border-radius: 7px;
    pointer-events: none;
}
.kuji-card__media {
    height: 100%;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(27, 58, 87, .08);
    overflow: hidden;
}
.kuji-card__media img { width: 100%; height: 100%; object-fit: contain; }
.kuji-card__placeholder {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 30px;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, var(--mm-cyan), var(--mm-cyan-dark));
}
.kuji-card__info { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; }
.kuji-card__no {
    padding: 1px 8px;
    border-radius: 999px;
    background: #1B3A57;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.kuji-card__name {
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
.kuji-card__note { font-size: 13px; font-weight: 700; color: var(--mm-orange-dark); }
.kuji-card__badge {
    position: absolute;
    top: 8px;
    right: 10px;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--mm-orange);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}
.kuji-card__badge--big { background: linear-gradient(135deg, #F5B027, #D9480F); box-shadow: 0 0 10px rgba(255, 196, 0, .8); }
.kuji-card.is-gold .kuji-card__inside {
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .9), transparent 60%),
        linear-gradient(135deg, #FFF6CF, #FFE08A);
}

/* 蓋在上面的籤紙（canvas） */
.kuji-card__cover {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    touch-action: pan-y;   /* 左右刮＝開籤；上下滑＝捲動頁面 */
    cursor: grab;
    transition: opacity .35s ease;
}
.kuji-card.is-scratching .kuji-card__cover { cursor: grabbing; }
.kuji-card.is-revealed .kuji-card__cover { opacity: 0; pointer-events: none; }
/* 一鍵開獎：籤紙從左邊撕線翻開，露出裡面的獎品圖 */
.kuji-card.is-flip .kuji-card__cover {
    opacity: 1;
    transition: none;
    transform-origin: 0 50%;
    animation: kuji-cover-flip .5s ease-in forwards;
}
.kuji-card.is-flip .kuji-card__inside { animation: kuji-inside-in .5s ease-out; }
.kuji-card.is-revealed { animation: draw-pop .5s ease-out; }

/* 大獎：還沒打開就發金光 */
.kuji-card.is-gold {
    box-shadow: 0 0 18px 2px rgba(255, 196, 0, .85), 0 8px 16px rgba(0, 0, 0, .4);
}
.kuji-card.is-gold::before {
    content: "";
    position: absolute;
    inset: -4px;
    z-index: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #FFF1A8, #FFC233, #FF9F1C, #FFF1A8);
    background-size: 300% 300%;
    animation: kuji-gold-ring 2.4s linear infinite;
}
.kuji-card.is-gold .kuji-card__inside, .kuji-card.is-gold .kuji-card__cover { z-index: 1; }
.kuji-card.is-gold .kuji-card__cover { z-index: 2; }
.kuji-card.is-gold::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: 10px;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .6) 50%, transparent 62%) -150% 0 / 250% 100% no-repeat;
    animation: kuji-shine 2.2s ease-in-out infinite;
}
.kuji-card.is-gold.is-revealed { animation: draw-jackpot .9s ease-out; }
/* 刮的時候先停掉金框流動、收起反光，畫面只需要更新籤紙本身 */
.kuji-card.is-scratching::before { animation-play-state: paused; }
.kuji-card.is-scratching::after { opacity: 0; }

.kuji-reveal__actions .mm-btn { min-width: 200px; font-size: var(--mm-fs-md); font-weight: 800; }

.draw-burst--gold i { background: #FFD24A !important; width: 10px; height: 10px; }

@keyframes scratch-in { from { opacity: 0; transform: translateY(14px) scale(.96) } to { opacity: 1; transform: none } }
@keyframes kuji-gold-ring { from { background-position: 0% 50% } to { background-position: 300% 50% } }
@keyframes kuji-shine { 0% { background-position: -150% 0 } 60%, 100% { background-position: 250% 0 } }
@keyframes kuji-urgent { 0%, 100% { transform: scale(1) } 50% { transform: scale(1.06) } }
@keyframes kuji-cover-flip {
    0% { transform: perspective(900px) rotateY(0); opacity: 1 }
    70% { opacity: 1 }
    100% { transform: perspective(900px) rotateY(-105deg); opacity: 0 }
}
@keyframes kuji-inside-in { from { transform: scale(.94); filter: brightness(.85) } to { transform: none; filter: none } }

/* ---------- 等待輪到你／作廢通知（沿用 MM 對話框） ---------- */
.kuji-dialog-backdrop { z-index: 2300; }
.kuji-dialog { text-align: center; }
.kuji-dialog .mm-dialog__actions { justify-content: center; flex-wrap: wrap; }
.kuji-dialog__icon { font-size: 40px; line-height: 1; margin-bottom: 4px; }
.kuji-dialog .mm-btn:disabled { opacity: .45; cursor: not-allowed; }
.kuji-dialog__clock {
    margin: 4px 0 8px;
    font-size: 1.6rem;
    font-weight: 900;
    color: var(--mm-orange-dark, #D9480F);
    font-variant-numeric: tabular-nums;
}

/* ---------- 商品頁：已付款還沒選籤／別人在選籤的提示列 ---------- */
.kuji-pending {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 88px;
    z-index: 2100;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto;
    padding: 10px 12px 10px 16px;
    border-radius: 12px;
    background: #1B2A33;
    color: #fff;
    box-shadow: var(--mm-shadow-lg);
    animation: scratch-in .3s ease-out both;
    font-variant-numeric: tabular-nums;
}
.kuji-pending__text { flex: 1; font-weight: 700; }
.kuji-pending__btn { white-space: nowrap; }
.kuji-pending__icon { font-size: 20px; }
.kuji-pending--wait { background: #3A2A06; box-shadow: 0 0 0 1px rgba(255, 194, 51, .5), var(--mm-shadow-lg); }
.kuji-pending--ready { background: #0F5132; justify-content: center; }

@media (max-width: 575.98px) {
    .draw-stage { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
    .kuji-picker { gap: 10px; }
    .kuji-picker__title { font-size: var(--mm-fs-lg); }
    .kuji-picker__paid { font-size: 12px; line-height: 1.4; }
    .kuji-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px 6px;
        padding: 10px 8px;
        max-height: calc(100vh - 330px);
        max-height: calc(100dvh - 330px);
        min-height: 180px;
    }
    .kuji-picker__bar { gap: 6px; }
    .kuji-picker__count { font-size: var(--mm-fs-base); }
    .kuji:hover:not(:disabled) { transform: none; }
    .kuji.is-picked { transform: translateY(-3px) scale(1.04); }
    .kuji__order { top: -7px; right: -6px; min-width: 20px; height: 20px; line-height: 20px; font-size: 12px; }
    .kuji-picker__actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .kuji-picker__actions .mm-btn { justify-content: center; min-height: 44px; }
    .kuji-picker__actions .kuji-btn--go { grid-column: 1 / -1; min-width: 0; }
    .kuji-cards { gap: 14px; }
    .kuji-card { width: min(100%, 380px); }
    .kuji-card__name { font-size: 17px; }
    .kuji-reveal__actions {
        position: sticky;
        bottom: 0;
        z-index: 5;
        width: calc(100% + 32px);
        margin: 0 -16px;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(6, 12, 16, 0), rgba(6, 12, 16, .92) 35%);
    }
    .kuji-reveal__actions .mm-btn { width: 100%; justify-content: center; min-height: 48px; }
    .draw-actions .mm-btn { flex: 1 1 auto; justify-content: center; }
    .kuji-pending { bottom: 76px; }
}

@media (prefers-reduced-motion: reduce) {
    .kuji, .kuji.is-bounce, .kuji-card, .kuji-card.is-gold, .kuji-card.is-revealed,
    .kuji-card.is-gold::before, .kuji-card.is-gold::after, .kuji-pending, .kuji-timer.is-urgent,
    .kuji-card.is-flip .kuji-card__cover, .kuji-card.is-flip .kuji-card__inside {
        animation: none !important;
        transition: none !important;
    }
}

/* ---------- 粒子 ---------- */
.draw-burst {
    position: absolute;
    left: 50%;
    top: 45%;
    width: 0;
    height: 0;
    pointer-events: none;
}
.draw-burst i {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #FFC233;
    animation: draw-particle var(--t, .7s) ease-out forwards;
    transform: rotate(var(--a)) translateY(0);
}
.draw-burst i:nth-child(3n) { background: var(--mm-cyan); }
.draw-burst i:nth-child(3n+1) { background: var(--mm-orange); }

/* ---------- 結果 ---------- */
.draw-summary { display: flex; flex-direction: column; gap: 6px; }

.draw-summary__title {
    font-size: var(--mm-fs-xl);
    font-weight: 700;
    margin: 0;
}

.draw-summary__line {
    margin: 0;
    font-size: var(--mm-fs-base);
    color: rgba(255, 255, 255, .78);
}

.draw-actions {
    display: flex;
    gap: var(--mm-sp-3);
    flex-wrap: wrap;
    justify-content: center;
}
.draw-actions .mm-btn { display: inline-flex; align-items: center; text-decoration: none; }
.draw-actions .mm-btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, .4);
    color: #fff;
}
.draw-actions .mm-btn--ghost:hover { background: rgba(255, 255, 255, .1); }

/* ---------- 動畫 ---------- */
@keyframes draw-fade { from { opacity: 0 } to { opacity: 1 } }

@keyframes draw-bounce {
    0%, 80%, 100% { transform: translateY(0); opacity: .5 }
    40% { transform: translateY(-14px); opacity: 1 }
}

@keyframes draw-pop {
    0% { transform: scale(1) }
    45% { transform: scale(1.08) }
    100% { transform: scale(1) }
}

@keyframes draw-jackpot {
    0% { transform: scale(1) rotate(0) }
    25% { transform: scale(1.14) rotate(-3deg) }
    55% { transform: scale(1.1) rotate(3deg) }
    100% { transform: scale(1) rotate(0) }
}

@keyframes draw-particle {
    from { opacity: 1; transform: rotate(var(--a)) translateY(0) scale(1) }
    to { opacity: 0; transform: rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.4) }
}

@media (max-width: 575.98px) {
    .draw-actions .mm-btn { flex: 1 1 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .draw-stage, .draw-spinner span {
        animation: none !important;
        transition: none !important;
    }
}

/* =================================================================
   抽獎券（商品頁的用券抽面板、送券獎項卡、手機底部列、開獎卡）
   券的主色用桃紅，跟代幣抽（紅／黑／橘）區分開
   ================================================================= */
.ticket-panel {
    margin-top: 22px;
    padding: 16px 18px;
    border: 2px dashed #e0457b;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff0f5 0%, #fff 70%);
}
.ticket-panel__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 18px;
}
.ticket-panel__head .bi { color: #e0457b; font-size: 22px; }
.ticket-panel__rule {
    font-size: 13px;
    color: #a3305a;
    background: #ffe0ec;
    border-radius: 999px;
    padding: 2px 10px;
}
.ticket-panel__types { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ticket-chip {
    border: 1px solid #f0b3c8;
    background: #fff;
    color: #a3305a;
    border-radius: 999px;
    padding: 4px 12px;
    font-weight: 700;
    cursor: pointer;
}
.ticket-chip span { font-variant-numeric: tabular-nums; opacity: .8; }
.ticket-chip.is-active { background: #e0457b; border-color: #e0457b; color: #fff; }
.ticket-panel__balance { margin-top: 10px; color: #555; }
.ticket-panel__balance b { color: #e0457b; font-size: 20px; }
.ticket-panel__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.ticket-draw-btn {
    border: 0;
    border-radius: 8px;
    padding: 12px 8px;
    font-weight: 800;
    font-size: 17px;
    color: #fff;
    background: #e0457b;
    cursor: pointer;
}
.ticket-draw-btn:hover:not(:disabled) { background: #c23466; }
.ticket-draw-btn:disabled { background: #e9c3d1; cursor: not-allowed; }
.ticket-panel__empty { margin-top: 10px; color: #6c757d; }
.ticket-panel__empty a { color: #e0457b; font-weight: 700; }

/* 獎項一覽：送券獎項（沒有上傳實拍圖時） */
.prize-ticket {
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 40%, #fff0f5 0%, #fff 70%);
    cursor: default;
}
.prize-ticket__card {
    position: relative;
    width: 62%;
    max-width: 190px;
    aspect-ratio: 16 / 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #fff;
    border-radius: 10px;
    background: linear-gradient(135deg, #f06292 0%, #d81b60 100%);
    box-shadow: 0 10px 22px rgba(216, 27, 96, .28);
}
/* 票券兩側的半圓缺口 */
.prize-ticket__card::before,
.prize-ticket__card::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    border-radius: 50%;
    background: #fff;
}
.prize-ticket__card::before { left: -9px; }
.prize-ticket__card::after { right: -9px; }
.prize-ticket__card .bi { font-size: clamp(1.6rem, 5vw, 2.6rem); }
.prize-ticket__card b { font-size: clamp(1rem, 3vw, 1.4rem); }

/* 手機底部列 */
.mm-btn--ticket { background: #e0457b; color: #fff; }
.mm-btn--ticket:hover:not(:disabled) { background: #c23466; }
.mm-btn--ticket:disabled { background: #e9c3d1; color: #fff; }
.mm-buybar .mm-buybar__value--ticket { color: #e0457b; }  /* mobile.css 較晚載入，提高權重 */
.mm-buybar__actions.has-ticket { gap: 6px; }
.mm-buybar__actions.has-ticket .mm-btn { padding: 0 10px; }

/* 開獎卡：抽到送券的獎項 */
.draw-card--ticket .draw-card__front {
    border-color: #e0457b;
    background: linear-gradient(165deg, #fff0f5 0%, #fff 55%);
    box-shadow: 0 0 22px rgba(224, 69, 123, .4);
}
.draw-card--ticket .draw-card__placeholder {
    width: 104px;
    height: 66px;
    border-radius: 10px;
    font-size: 1.8rem;
    color: #fff;
    background: linear-gradient(135deg, #f06292 0%, #d81b60 100%);
}
.draw-card--ticket .draw-card__note { color: #d81b60; font-size: var(--mm-fs-md); }

@media (max-width: 767px) {
    .ticket-panel { padding: 14px; }
    .ticket-draw-btn { font-size: 15px; padding: 10px 4px; }
}
