/* Independent fan rewards site: purple, champagne and native prize artwork. */
:root {
    --pink-950: #211c36; --pink-900: #39304f; --pink-800: #554568;
    --pink-700: #695585; --pink-600: #7c639c; --pink-500: #9981b7;
    --pink-400: #b49bcf; --pink-300: #d0bfdf; --pink-200: #e1d7ea;
    --pink-100: #eee7f3; --pink-50: #f8f4fb;
    --cream: #fffbf4; --cream-deep: #f6eddc; --gold: #b79254; --gold-light: #efd5a2;
    --ink: #30283c; --muted: #877a91; --shadow-card: 0 8px 24px #241a3e0a;
    --wheel-size: min(calc(100vw - 88px), 340px);
    color: #30283c; background: #211c36;
}
html { background: #211c36; overflow-y: scroll; scrollbar-gutter: stable; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.fan-theme { width: 100%; min-height: 100vh; min-height: 100svh; color: #30283c; background: radial-gradient(ellipse at 80% 120px, #7055812b, transparent 620px), linear-gradient(180deg, #211c36 0, #302747 620px, #eeebf2 1100px, #f8f5ef 100%); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.fan-theme .app-shell.fan-app { width: 100%; max-width: 460px; min-height: 100vh; min-height: 100svh; margin: 0 auto; padding: calc(var(--safe-top) + 18px) max(20px, var(--safe-right)) calc(var(--safe-bottom) + 94px) max(20px, var(--safe-left)); }
.fan-theme input, .fan-theme select, .fan-theme textarea { font-size: max(16px, 1rem); }
.fan-theme [hidden] { display: none !important; }
.fan-theme .skip-link { color: #30283c; background: #efd5a2; }
.fan-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; margin-bottom: 18px; }
.fan-brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: #fff8ec; text-decoration: none; }
.fan-brand__mark { display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; color: #efd5a2; font-size: 1.35rem; border: 1px solid #ddc19b47; border-radius: 11px; background: #ffffff06; }
.fan-brand > span:last-child { min-width: 0; }
.fan-brand strong { display: block; font-size: 1rem; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.fan-brand small { display: block; margin-top: 3px; color: #bfa790; font-size: .48rem; font-weight: 650; line-height: 1.5; letter-spacing: .14em; }
.fan-theme .music-toggle { flex: 0 0 38px; width: 38px; height: 38px; min-width: 38px; color: #efd5a2; background: #ffffff06; border: 1px solid #ddc19b38; box-shadow: none; }
.fan-theme .music-toggle.is-playing { color: #fbe5b9; background: #b7925424; }
.fan-theme .music-toggle__bars span, .fan-theme .music-toggle.is-muted::after { background: #efd5a2; }
.fan-theme .music-toggle:focus-visible { outline-color: #efd5a2; }
.fan-hero { position: relative; isolation: isolate; padding: 27px 23px 20px; overflow: hidden; color: #fffbf4; text-align: center; background: radial-gradient(ellipse at 65% 40%, #b291ce26, transparent 58%), linear-gradient(145deg, #3b2e55, #242036 65%, #3c2f4d); border: 1px solid #ddc19b3b; border-radius: 27px; box-shadow: 0 18px 46px #09071324, inset 0 1px 0 #ffffff09; scroll-margin-top: 18px; }
.fan-hero > :not(.fan-hero__orbit) { position: relative; z-index: 1; }
.fan-hero__orbit { position: absolute; z-index: -1; width: 355px; height: 355px; border: 1px solid #ddc19b13; border-radius: 50%; pointer-events: none; }
.fan-hero__orbit--one { top: 120px; left: -150px; }
.fan-hero__orbit--two { top: 185px; right: -180px; }
.fan-eyebrow { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0; color: #d9bb8d; font-size: .63rem; font-weight: 700; line-height: 1.7; letter-spacing: .09em; overflow-wrap: anywhere; }
.fan-eyebrow > span[aria-hidden] { flex: 0 0 auto; font-size: .6rem; opacity: .8; }
.fan-hero h1 { max-width: 365px; margin: 15px auto 10px; color: #fff9ef; font-size: clamp(1.8rem, 7.4vw, 2.25rem); font-weight: 850; line-height: 1.25; letter-spacing: -.025em; text-shadow: none; text-wrap: balance; overflow-wrap: anywhere; }
.fan-hero__intro { margin: 0; color: #bdb0c9; font-size: .75rem; line-height: 1.8; text-wrap: balance; overflow-wrap: anywhere; }
.fan-hero__showcase { height: 215px; max-width: 330px; margin: 16px auto 0; isolation: isolate; }
.fan-hero .fan-hero__showcase > img { position: absolute; object-fit: contain; pointer-events: none; filter: drop-shadow(0 15px 12px #07060d33); }
.fan-hero .fan-hero__image { z-index: 3; bottom: 3px; left: 50%; width: 250px; height: 230px; max-width: none; transform: translateX(-50%); }
.fan-hero .fan-hero__side { z-index: 1; bottom: 6px; width: 168px; height: 168px; max-width: none; opacity: .84; }
.fan-hero .fan-hero__side--0 { left: -24px; transform: rotate(-8deg); }
.fan-hero .fan-hero__side--1 { right: -26px; transform: rotate(9deg); }
.fan-hero__platform { position: absolute; z-index: 0; right: 2%; bottom: 7px; left: 2%; height: 29px; background: radial-gradient(ellipse, #ad87c132, #bc93d708 70%); border: 1px solid #d9bb8d15; border-radius: 50%; box-shadow: 0 0 28px #b48ec218; }
.fan-hero__spark { position: absolute; color: #d9bb8d; }
.fan-hero__spark--one { top: 22px; right: 9px; font-size: 1.15rem; }
.fan-hero__spark--two { bottom: 50px; left: 3px; font-size: 1.05rem; opacity: .8; }
.fan-featured__top { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.fan-featured__top > small { color: #b9a7c3; font-size: .55rem; line-height: 1.5; }
.fan-featured__rank { color: #dfc391; font-size: .52rem; line-height: 1.5; }
.fan-featured__name { display: block; margin-top: 7px; color: #fff8ea; font-size: 1rem; font-weight: 750; line-height: 1.5; overflow-wrap: anywhere; }
.fan-featured__description { margin: 5px 0 0; color: #b9a7c3; font-size: .62rem; line-height: 1.7; overflow-wrap: anywhere; }
.fan-featured__description:empty { display: none; }
.fan-featured__caption { display: block; margin-top: 5px; color: #97869f; font-size: .51rem; line-height: 1.5; }
.fan-hero__reward { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px 11px; margin: 16px 0 15px; padding: 11px 10px; background: #160f272b; border: 1px solid #ddc19b29; border-radius: 12px; }
.fan-hero__reward > span { min-width: 0; color: #c9b6cc; font-size: .64rem; line-height: 1.7; overflow-wrap: anywhere; }
.fan-hero__reward > strong { min-width: 0; color: #f1d6a2; font-size: 1.48rem; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.fan-theme .button { min-width: 0; min-height: 46px; gap: 8px; padding: 12px 14px; border-radius: 11px; font-size: .78rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.fan-theme .button--primary, .fan-theme .button--verify { color: #fffaf0; background: linear-gradient(135deg, #78618f, #554568); border: 1px solid #766080; box-shadow: 0 6px 14px #3c285e16; }
.fan-theme .button--primary:hover, .fan-theme .button--verify:hover { background: #554568; }
.fan-theme .button--secondary { color: #5f4624; background: #f9edcf; border: 1px solid #e0c799; box-shadow: none; }
.fan-theme .button--secondary:hover { background: #f5e4bd; }
.fan-theme .button:disabled { opacity: .58; }
.fan-theme .fan-hero__cta { min-height: 48px; margin: 0; color: #423326; background: linear-gradient(125deg, #f2deb4, #d5b581); border-color: #efd7aa; box-shadow: 0 6px 17px #00000015; }
.fan-theme .fan-hero__cta:hover { color: #423326; background: #e5c794; }
.fan-hero__details { display: flex; align-items: center; justify-content: center; gap: 9px; width: fit-content; min-height: 40px; max-width: 100%; margin: 8px auto 0; padding: 9px 12px; color: #bcabc9; font-size: .65rem; line-height: 1.7; background: transparent; border: 0; cursor: pointer; }
.fan-period { margin: 11px 0 0; color: #bcabc9; font-size: .6rem; line-height: 1.8; overflow-wrap: anywhere; }
.fan-flow { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 20px 0 16px; color: #bcaacc; }
.fan-flow > span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.fan-flow i { color: #d2b480; font-size: .61rem; font-style: normal; }
.fan-flow strong { font-size: .66rem; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.fan-flow b { color: #94809f; font-size: .8rem; font-weight: 400; }
.fan-theme .code-card { margin: 0; padding: 21px 20px 18px; color: #30283c; background: #fffbf4; border: 1px solid #ffffffb3; border-radius: 23px; box-shadow: 0 12px 30px #0c06191a; scroll-margin-top: 16px; }
.fan-theme .code-card::after { display: none; }
.fan-theme .section-heading { align-items: start; gap: 10px; }
.fan-theme .section-heading__icon { width: 32px; height: 32px; color: #8c6c42; background: #f6eddc; border: 1px solid #eadac0; box-shadow: none; }
.fan-theme .section-heading h2 { color: #30283c; font-size: 1rem; line-height: 1.5; }
.fan-theme .section-heading p { color: #877a91; font-size: .67rem; line-height: 1.7; }
.fan-theme .code-form { margin-top: 17px; }
.fan-theme .code-form label { color: #554568; font-size: .67rem; }
.fan-theme .code-form__row { display: grid; grid-template-columns: minmax(0, 1fr) 128px; gap: 8px; align-items: stretch; }
.fan-theme .code-form input { min-width: 0; width: 100%; min-height: 48px; padding: 12px; color: #30283c; font-size: max(16px, 1rem); line-height: 1.5; background: #fff; border: 1px solid #dfd6e6; border-radius: 11px; }
.fan-theme .code-form input::placeholder { color: #b1a1ba; }
.fan-theme .code-form input:focus { border-color: #9981b7; box-shadow: 0 0 0 3px #9981b714; }
.fan-theme .code-form .button--verify { width: 100%; max-width: none; padding-inline: 7px; font-size: .7rem; white-space: normal; }
.fan-theme .code-form__help { margin-top: 9px; color: #978a9f; font-size: .61rem; line-height: 1.75; }
.fan-theme .form-message { font-size: .68rem; line-height: 1.75; }
.fan-theme .wheel-section { margin: 18px 0 0; padding: 20px 15px 17px; color: #30283c; background: radial-gradient(circle at 50% 42%, #fff8e7, transparent 58%), linear-gradient(145deg, #fffbf4, #f0eaf5); border: 1px solid #ffffffb3; border-radius: 25px; box-shadow: var(--shadow-card); scroll-margin-top: 16px; }
.fan-theme .wheel-section__heading { gap: 12px; padding-inline: 4px; }
.fan-theme .wheel-section__heading > div { min-width: 0; }
.fan-theme .wheel-section__kicker { color: #a38655; font-size: .54rem; line-height: 1.6; letter-spacing: .16em; }
.fan-theme .wheel-section__heading h2 { margin-top: 5px; color: #30283c; font-size: 1.1rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.fan-theme .eligibility-badge { flex: 0 1 auto; max-width: 45%; padding: 5px 8px; color: #978a9f; font-size: .58rem; line-height: 1.5; background: #fffbf4; border: 1px solid #dfd6e6; overflow-wrap: anywhere; }
.fan-theme .eligibility-badge[data-state="ready"] { color: #247352; background: #eef9f3; border-color: #b4d9c5; }
.fan-theme .eligibility-badge[data-state="busy"] { color: #695585; background: #eee7f3; }
.fan-theme .wheel-stage { min-height: calc(var(--wheel-size) + 50px); margin: 0; padding-top: 33px; }
.fan-theme .wheel-frame { background: conic-gradient(from 0deg, #8f77af, #cbbadc, #705686, #c9b4d8, #8f77af); border-color: #d6b98a; box-shadow: 0 0 0 3px #665078, 0 0 0 6px #f4e6cd, 0 13px 24px #39284d21, inset 0 0 14px #ffffff2b; }
.fan-theme .wheel-frame::before { opacity: .65; }
.fan-theme .wheel-rotor { border-color: #b7925461; }
.fan-theme .wheel-rotor__surface { background: repeating-conic-gradient(from -22.5deg, #97744333 0deg .7deg, transparent .7deg 45deg), conic-gradient(from -22.5deg, #fff9e9 0deg 45deg, #e4d8ed 45deg 90deg, #fff9e9 90deg 135deg, #e4d8ed 135deg 180deg, #fff9e9 180deg 225deg, #e4d8ed 225deg 270deg, #fff9e9 270deg 315deg, #e4d8ed 315deg 360deg); }
.fan-theme .wheel-slot__label { color: #554568; text-shadow: none; }
.fan-theme .wheel-slot--thanks .wheel-slot__label, .fan-theme .wheel-slot__heart { color: #a491b2; text-shadow: none; }
.fan-theme .wheel-slot__availability { color: #877344; background: #fbf0d9; }
.fan-theme .draw-button { color: #fff7e8; background: radial-gradient(circle at 30% 15%, #ffffff17, transparent 35%), linear-gradient(150deg, #8a6eaa, #514060); border: 4px solid #f1dfba; box-shadow: 0 0 0 2px #9781af, 0 5px 13px #39234c40; }
.fan-theme .draw-button:not(:disabled):hover { background: #695585; }
.fan-theme .draw-button:disabled { opacity: .78; }
.fan-theme .wheel-pointer { top: 26px; width: 28px; height: 34px; filter: drop-shadow(0 3px 2px #59422730); }
.fan-theme .wheel-pointer::before { display: none; }
.fan-theme .wheel-pointer span { top: 0; border-top: 34px solid #b79254; border-inline: 14px solid transparent; }
.fan-theme .wheel-light { background: #e8cc96; box-shadow: 0 0 10px 2px #e8cc9633; }
.fan-theme .wheel-section__hint { margin: 10px 5px 0; color: #978a9f; font-size: .62rem; line-height: 1.8; }
.fan-theme .currency-summary { gap: 0; margin: 15px 0 0; padding: 12px 4px 0; color: #877a91; background: transparent; border: 0; border-top: 1px solid #e7dfe9; border-radius: 0; }
.fan-theme .currency-summary__region { width: 100%; gap: 10px; }
.fan-theme .currency-summary__region > small { color: #978a9f; font-size: .55rem; }
.fan-theme .currency-summary__region > strong { color: #695585; font-size: .58rem; }
.fan-theme #currencyNote { margin-top: 6px; color: #a396a9; font-size: .5rem; line-height: 1.6; }
.fan-draw-links { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 13px; color: #b5a5bf; }
.fan-draw-links button { min-height: 32px; max-width: 45%; padding: 4px 0; color: #695585; font-size: .64rem; font-weight: 650; line-height: 1.7; background: transparent; border: 0; overflow-wrap: anywhere; cursor: pointer; }
.fan-prizes { margin-top: 28px; scroll-margin-top: 18px; }
.fan-section-heading { display: flex; align-items: center; justify-content: center; gap: 9px; }
.fan-section-heading > span { color: #b79254; font-size: .95rem; }
.fan-section-heading h2 { min-width: 0; margin: 0; color: #554568; font-size: 1.05rem; font-weight: 800; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.fan-prizes__intro { margin: 8px 0 17px; color: #978a9f; font-size: .63rem; line-height: 1.8; text-align: center; overflow-wrap: anywhere; }
.fan-prize-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fan-prize-card { display: flex; flex-direction: column; min-width: 0; padding: 13px; background: #fffcf8; border: 1px solid #e6deea; border-radius: 18px; box-shadow: var(--shadow-card); }
.fan-prize-card--featured { background: linear-gradient(145deg, #fffaf0, #f9ecd3); border-color: #dec59c; }
.fan-prize-card__top { display: flex; align-items: start; justify-content: space-between; gap: 5px; min-height: 22px; }
.fan-prize-rank { min-width: 0; padding: 3px 6px; color: #695585; font-size: .56rem; font-weight: 750; line-height: 1.5; background: #eee7f3; border-radius: 5px; overflow-wrap: anywhere; }
.fan-prize-rank:empty { visibility: hidden; }
.fan-prize-card--featured .fan-prize-rank { color: #8c6c42; background: #efddba; }
.fan-prize-availability { min-width: 0; padding: 3px 5px; color: #978a9f; font-size: .53rem; font-weight: 650; line-height: 1.5; background: #f2ecf5; border-radius: 5px; overflow-wrap: anywhere; }
.fan-prize-card__image { display: grid; place-items: center; flex: 0 0 111px; height: 111px; margin: 8px 0; }
.fan-prize-card__image img { width: 112px; max-width: 100%; height: 106px; object-fit: contain; }
.fan-prize-card__image > span { color: #b49bcf; font-size: 2rem; }
.fan-prize-card.is-unavailable .fan-prize-card__image img, .fan-hero.is-unavailable .fan-hero__image { opacity: .6; }
.fan-prize-card__name { min-width: 0; margin: 0; color: #39304f; font-size: .79rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.fan-prize-card__description { margin: 6px 0 12px; color: #978a9f; font-size: .57rem; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.fan-prize-card__description:empty { display: none; }
.fan-prize-card__money { display: flex; flex-direction: column; gap: 5px; min-height: 42px; margin-top: auto; padding-top: 10px; border-top: 1px dashed #dfd3e7; }
.fan-prize-card__money > span { color: #978a9f; font-size: .56rem; line-height: 1.5; overflow-wrap: anywhere; }
.fan-prize-card__money > strong { color: #806036; font-size: 1.08rem; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.fan-prizes__details { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; margin-top: 10px; padding: 10px 3px; color: #887595; font-size: .59rem; font-weight: 650; line-height: 1.8; text-align: start; background: transparent; border: 0; cursor: pointer; }
.fan-prizes__details > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.fan-prizes__details > span:last-child { flex: 0 0 auto; }
.fan-theme .campaign-footer { padding: 18px 12px 0; color: #a295aa; font-size: .54rem; line-height: 1.9; text-align: center; }
.fan-theme .campaign-footer p { margin: 0; }
.fan-theme .provider-attribution { margin-top: 12px !important; color: #b2a6b9; font-size: .48rem; }
.fan-theme .quick-nav.fan-nav { left: 50%; right: auto; bottom: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%, 460px); min-height: 70px; padding: 6px max(8px, var(--safe-right)) calc(6px + var(--safe-bottom)) max(8px, var(--safe-left)); color: #887595; background: #fffbf7f5; border: 1px solid #e6deea; border-bottom: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -4px 22px #241a3e0c; transform: translateX(-50%); backdrop-filter: blur(12px); }
.fan-theme .fan-nav button { gap: 5px; min-width: 0; min-height: 48px; padding: 5px 3px; color: #887595; font-size: .54rem; font-weight: 650; line-height: 1.5; border-radius: 8px; }
.fan-theme .fan-nav button + button::before { display: none; }
.fan-theme .fan-nav button > span:first-child { color: #a08b68; font-size: 1.13rem; }
.fan-theme .fan-nav button:hover { color: #554568; background: #f1e9f6; }
.fan-theme .button:focus-visible, .fan-brand:focus-visible, .fan-hero__details:focus-visible, .fan-draw-links button:focus-visible, .fan-prizes__details:focus-visible, .fan-nav button:focus-visible { outline: 2px solid #b79254; outline-offset: 3px; }
.fan-theme .modal__backdrop { background: #1b1428bf; }
.fan-theme .modal__dialog { color: #30283c; background: #fffbf4; border-color: #fff9ef; box-shadow: 0 25px 75px #160e2838; }
.fan-theme .modal__close { color: #695585; background: #fff; border-color: #e6deea; box-shadow: 0 5px 15px #39284d12; }
.fan-theme .result-dialog__decoration { color: #c5a878; background: radial-gradient(circle at 30% 20%, #fffbf4cc, transparent 50%), linear-gradient(130deg, #e6dcee, #f7ecd3); }
.fan-theme .result-dialog__decoration span:nth-child(2) { color: #b79254; }
.fan-theme .result-dialog__eyebrow { color: #a38655; }
.fan-theme .result-dialog h2, .fan-theme .info-dialog h2 { color: #554568; }
.fan-theme .result-dialog__description, .fan-theme .claim-note { color: #877a91; }
.fan-theme .result-prize { background: #fff; border-color: #e6deea; box-shadow: none; }
.fan-theme .result-prize strong { color: #39304f; }
.fan-theme .result-prize img { background: #f8f4fb; }
.fan-theme .redemption-block { background: linear-gradient(#f9efdc, #f9efdc) padding-box, repeating-linear-gradient(90deg, #ddc49a 0 7px, transparent 7px 11px) border-box; }
.fan-theme .redemption-block strong { color: #695585; }
.fan-theme .info-dialog__header { color: #b79254; }
.fan-theme .prize-list li { background: #fff; border-color: #e6deea; }
.fan-theme .prize-list__placeholder { background: #f1e9f6; }
.fan-theme .toast { color: #fff9ef; background: #39304ff5; border-radius: 12px; }
@media (min-width: 500px) {
    .fan-theme .app-shell.fan-app { padding-top: 25px; }
    .fan-theme .quick-nav.fan-nav { width: 420px; bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid #e6deea; border-radius: 18px; }
}
@media (max-width: 360px) {
    .fan-theme .app-shell.fan-app { padding-inline: max(16px, var(--safe-left)) max(16px, var(--safe-right)); }
    .fan-hero { padding-inline: 17px; }
    .fan-hero__showcase { height: 196px; }
    .fan-hero .fan-hero__image { width: 230px; height: 212px; }
    .fan-hero .fan-hero__side { width: 150px; height: 150px; }
    .fan-theme .code-card { padding: 18px 16px 16px; }
    .fan-theme .code-form__row { grid-template-columns: minmax(0, 1fr); }
    .fan-theme .code-form .button--verify { min-height: 45px; font-size: .74rem; }
    .fan-flow { gap: 9px; }
    .fan-flow strong { font-size: .6rem; }
    .fan-prize-grid { gap: 10px; }
    .fan-prize-card { padding: 11px; }
    .fan-prize-card__name { font-size: .75rem; }
    .fan-theme .result-actions { grid-template-columns: minmax(0, 1fr); }
}
html[dir="rtl"] .fan-eyebrow, html[dir="rtl"] .fan-hero h1, html[dir="rtl"] .fan-brand small { letter-spacing: normal; }
html[lang="th"] .fan-eyebrow, html[lang="hi"] .fan-eyebrow { letter-spacing: normal; }
@media (prefers-reduced-motion: reduce) { .fan-theme .button, .fan-theme .fan-nav button { transition: none; } }
