.fortune-wheel-container{width:min(100%,800px);margin:0 auto;padding:clamp(16px,4vw,28px);box-sizing:border-box;overflow:hidden;font-family:Arial,sans-serif;text-align:center;color:#172033;background:#fff;border-radius:16px;box-shadow:0 10px 35px rgba(23,32,51,.12)}
.fortune-wheel-container.fortune-wheel-shortcode{width:auto;max-width:none;margin:0;padding:0;overflow:visible;background:transparent;box-shadow:none}
.fortune-wheel-container:has(>.fortune-wheel-open){width:auto;max-width:none;margin:0;padding:0;overflow:visible;background:transparent;box-shadow:none}.fortune-wheel-modal-open{overflow:hidden!important}.fortune-wheel-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:16px;box-sizing:border-box}.fortune-wheel-modal[hidden]{display:none!important}.fortune-wheel-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}.fortune-wheel-dialog{position:relative;z-index:1;width:min(100%,800px);max-height:calc(100vh - 32px);overflow:auto;padding:clamp(16px,4vw,28px);box-sizing:border-box;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.fortune-wheel-close{position:absolute;z-index:5;top:8px;right:10px;width:38px;height:38px;padding:0;border:0;border-radius:50%;color:#334155;background:#eef2f7;font-size:30px;line-height:34px;cursor:pointer}.fortune-wheel-close:hover{background:#e2e8f0}
.fortune-wheel-container [hidden]{display:none!important}.fortune-wheel-container label{display:block;margin:12px 0;text-align:left}
.fortune-wheel-container input[type=number],.fortune-wheel-container input[type=text],.fortune-wheel-container input[type=tel]{display:block;width:100%;margin-top:5px;padding:10px 12px;box-sizing:border-box;border:1px solid #d9deea;border-radius:8px}
.fortune-wheel-wrapper{position:relative;margin:8px auto 0}.fortune-wheel-stage{position:relative;width:min(92vw,460px);max-width:100%;aspect-ratio:1;margin:28px auto 14px;contain:layout paint}
.fortune-wheel{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#eef1f6;box-shadow:0 12px 34px rgba(23,32,51,.24),inset 0 0 0 5px #fff;will-change:transform;transform:translateZ(0) rotate(0deg);backface-visibility:hidden}
.fortune-wheel-canvas{display:block;width:100%;height:100%}.wheel-pointer{position:absolute;z-index:4;top:-15px;left:50%;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #ef4444;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25));transform:translateX(-50%) translateZ(0);backface-visibility:hidden}
.fortune-wheel-hub{position:absolute;z-index:3;top:50%;left:50%;width:12%;aspect-ratio:1;border:5px solid #fff;border-radius:50%;background:#27354d;box-shadow:0 3px 10px rgba(0,0,0,.28);transform:translate(-50%,-50%)}
.fortune-wheel-button{margin:10px;padding:11px 22px;border:0;border-radius:8px;color:#fff;background:#2563eb;font-size:16px;font-weight:700;cursor:pointer}.fortune-wheel-button:hover{background:#1d4ed8}.fortune-wheel-button:disabled{opacity:.55;cursor:wait}
.fortune-wheel-result{min-height:1.5em;margin-top:10px;opacity:0;font-size:clamp(18px,4vw,24px);font-weight:800;transition:opacity .25s ease}.fortune-wheel-result.is-visible,.fortune-wheel-result.is-error{opacity:1}.fortune-wheel-result.is-error{color:#b91c1c;font-size:15px}
.fortune-wheel-claim-form{max-width:520px;margin:20px auto 0}.fortune-wheel-notice{padding:16px;border-radius:10px;background:#f1f5f9}
@media(max-width:480px){.fortune-wheel-container{padding-inline:10px}.fortune-wheel-stage{width:min(88vw,360px)}.wheel-pointer{top:-12px;border-left-width:14px;border-right-width:14px;border-top-width:27px}}
@media(prefers-reduced-motion:reduce){.fortune-wheel,.fortune-wheel-result{transition-duration:.01ms!important}}

.fortune-wheel-container .fw-config-field{margin:12px 0;text-align:left}
.fortune-wheel-container .fw-config-field textarea,.fortune-wheel-container .fw-config-field select,.fortune-wheel-container .fw-config-field input[type=email]{display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d9deea;border-radius:8px}
.fortune-wheel-container .fw-config-field fieldset{border:0;margin:0;padding:0}
.fortune-wheel-container .fw-config-field legend{font-weight:600}
.fortune-wheel-container .fw-submit-message{white-space:pre-line}
.fortune-wheel-container #fortune-wheel-prize-name{white-space:pre-line}

.fortune-wheel-close.fw-close-text{width:auto;max-width:calc(100% - 20px);height:auto;min-height:38px;padding:4px 12px;border-radius:8px;font-size:14px;line-height:30px;overflow-wrap:anywhere}

/* A body-level portal plus the browser top layer escapes theme stacking contexts. */
.fortune-wheel-container.fw-modal-portal{position:static;width:0;height:0;max-width:none;margin:0;padding:0;border:0;overflow:visible;background:none;box-shadow:none;border-radius:0}
.fw-modal-portal .fortune-wheel-modal{position:fixed;z-index:2147483647;inset:0;top:var(--fw-viewport-top,0px);bottom:auto;width:100%;height:100vh;height:var(--fw-viewport-height,100dvh);max-width:none;max-height:none;margin:0;border:0;padding:16px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;background:transparent;color:#172033;overflow:hidden;overscroll-behavior:contain;text-align:center;font-family:Arial,sans-serif}
.fw-modal-portal .fortune-wheel-modal::backdrop{background:transparent}
.fw-modal-portal .fortune-wheel-dialog{width:100%;max-width:800px;min-width:0;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding-top:54px;overflow-wrap:anywhere}
.fw-modal-portal .fortune-wheel-dialog input,.fw-modal-portal .fortune-wheel-dialog select,.fw-modal-portal .fortune-wheel-dialog textarea{max-width:100%;min-width:0;font-size:16px}
.fw-modal-portal .fortune-wheel-button{max-width:calc(100% - 20px);white-space:normal;overflow-wrap:anywhere}
.fw-modal-portal .fortune-wheel-stage{width:460px;max-width:100%}
.fw-modal-portal .fortune-wheel-close{min-width:44px;min-height:44px;touch-action:manipulation}
@media(max-width:480px){.fw-modal-portal .fortune-wheel-modal{padding:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.fw-modal-portal .fortune-wheel-dialog{padding:54px 14px 18px;border-radius:12px}.fw-modal-portal .fortune-wheel-stage{width:360px}}
