html.fodw-spin-open{overflow:hidden!important}
.fodw-spin-dialog,.fodw-spin-dialog *{box-sizing:border-box}
.fodw-spin-dialog{display:none;position:fixed;inset:0;margin:auto;width:min(var(--spin-width,960px),calc(100% - 40px));max-width:1100px;max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:22px;background:var(--spin-bg,#fffaf3);color:var(--spin-fg,#172c38);font-family:inherit;line-height:1.5;box-shadow:0 30px 100px #10202b40;overflow:hidden}
.fodw-spin-dialog[open]{display:block}.fodw-spin-dialog::backdrop{background:#08131999;backdrop-filter:blur(4px)}
.fodw-spin-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
.fodw-spin-stage{display:flex;align-items:center;justify-content:center;padding:40px 20px 40px 32px;background:linear-gradient(135deg,#ffffff55,transparent)}
.fodw-spin-wheel-frame{position:relative;width:100%;max-width:480px;aspect-ratio:1;flex:none;filter:drop-shadow(0 12px 16px #172c3818)}
.fodw-spin-wheel{display:block;width:100%;height:auto;max-width:none;border-radius:50%;background:#fff;border:6px solid #fff;box-shadow:0 0 0 1px #172c3812;will-change:transform}
.fodw-spin-pointer{position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:26px;height:36px;background:var(--spin-fg);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #0003);z-index:2}
.fodw-spin-hub{position:absolute;inset:41%;display:grid;place-items:center;border-radius:50%;background:#fff;color:#172c38;font-size:30px;box-shadow:0 3px 14px #10202b22}
.fodw-spin-content{align-self:center;padding:52px 38px 40px 18px;min-width:0}
.fodw-spin-dialog .fodw-spin-eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;margin:0 0 16px;text-transform:uppercase;color:var(--spin-fg)}
.fodw-spin-dialog .fodw-spin-title{font-family:inherit;font-size:clamp(26px,3vw,40px);font-weight:750;letter-spacing:-.035em;line-height:1.1;margin:0 0 18px;color:inherit;overflow-wrap:anywhere}
.fodw-spin-body,.fodw-spin-description{white-space:pre-line;overflow-wrap:anywhere;font-size:15px;margin:0 0 24px}
.fodw-spin-dialog .fodw-spin-button{display:block;width:100%;min-height:50px;border:0;border-radius:9px;padding:14px 20px;background:var(--spin-accent);color:var(--spin-button-fg,#fff);font-size:15px;font-weight:600;line-height:1.5;font-family:inherit;cursor:pointer;transition:filter .15s}
.fodw-spin-button:hover{filter:brightness(1.1)}.fodw-spin-button:disabled{cursor:wait;opacity:.65}
.fodw-spin-dialog .fodw-spin-close{position:absolute;right:10px;top:10px;width:40px;height:40px;display:grid;place-items:center;z-index:4;border:1px solid #172c3818;border-radius:50%;background:var(--spin-bg);color:var(--spin-fg);padding:0;font:28px/1 system-ui;cursor:pointer}
.fodw-spin-status{font-size:12px;margin:12px 0 22px;opacity:.8}
.fodw-spin-result{padding:18px;border:1px solid #172c3826;border-radius:12px;background:#ffffff66;margin:0 0 20px}
.fodw-spin-result .fodw-spin-eyebrow{margin-bottom:8px}
.fodw-spin-dialog .fodw-spin-winner{font-size:25px;font-weight:750;line-height:1.2;font-family:inherit;color:inherit;margin:0 0 10px;overflow-wrap:anywhere}
.fodw-spin-description{margin:0;font-size:14px}
.fodw-spin-options{font-size:13px;border-top:1px solid #172c3826;padding-top:15px}
.fodw-spin-options summary{cursor:pointer;min-height:30px}
.fodw-spin-options ul{list-style:none;padding:8px 0 0;margin:0;display:grid;gap:8px}
.fodw-spin-options li{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere;min-width:0}
.fodw-spin-dot{width:11px;height:11px;border-radius:50%;flex:none}
.fodw-spin-launcher{position:fixed;bottom:24px;left:24px;z-index:9990;padding:12px 20px;border:1px solid #ffffff55;border-radius:40px;font:600 14px/1.5 system-ui;box-shadow:0 5px 20px #172c3826;cursor:pointer;max-width:calc(100vw - 48px);overflow-wrap:anywhere}
.fodw-spin-dialog :focus-visible,.fodw-spin-launcher:focus-visible{outline:3px solid var(--spin-fg,#172c38);outline-offset:3px}
.fodw-spin-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.fodw-spin-confetti i{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;animation: fodw-spin-fall 2s ease-in forwards}
@keyframes fodw-spin-fall{to{transform:translate(var(--drift),100vh) rotate(var(--turn));opacity:0}}
.fodw-spin-dialog [hidden],.fodw-spin-launcher[hidden]{display:none!important}
.fodw-spin-phone{max-width:390px}.fodw-spin-phone .fodw-spin-layout{grid-template-columns:1fr}
.fodw-spin-phone .fodw-spin-stage{padding:40px 24px 10px}
.fodw-spin-phone .fodw-spin-wheel-frame{max-width:300px}
.fodw-spin-phone .fodw-spin-content{padding:18px 24px 28px}
.fodw-spin-phone .fodw-spin-title{font-size:27px}
.fodw-spin-section-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}
.fodw-spin-row{border:1px solid #d5dce0;border-radius:10px;padding:18px;margin:12px 0;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px}
.fodw-spin-row label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.fodw-spin-row input[type=text],.fodw-spin-row textarea{width:100%}
.fodw-spin-row-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;grid-column:1/-1}
.fodw-spin-row-tools label{flex-direction:row;align-items:center;font-weight:400}
@media(max-width:700px){
.fodw-spin-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:16px}
.fodw-spin-layout{grid-template-columns:1fr;max-height:calc(100dvh - 24px)}
.fodw-spin-stage{padding:40px 24px 10px}.fodw-spin-wheel-frame{max-width:300px}
.fodw-spin-content{padding:18px 24px 28px}.fodw-spin-dialog .fodw-spin-title{font-size:27px}
.fodw-spin-launcher{bottom:16px;left:16px;padding:10px 16px}
.fodw-spin-row{grid-template-columns:1fr}.fodw-spin-section-heading{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.fodw-spin-wheel,.fodw-spin-button{transition:none!important}.fodw-spin-confetti{display:none}}

/* Text controls and full-popup result state. */
.fodw-spin-dialog{border-radius:var(--spin-radius,22px)}
.fodw-spin-dialog::backdrop{background:rgb(8 19 25 / var(--spin-overlay,.6))}
.fodw-spin-content{text-align:var(--spin-text-align,left);padding:52px var(--spin-padding,38px) var(--spin-padding,38px) 18px}
.fodw-spin-dialog .fodw-spin-title{font-size:var(--spin-heading,40px)}
.fodw-spin-body{font-size:var(--spin-body,15px)}
.fodw-spin-dialog .fodw-spin-result{margin:0;border:0;border-radius:0;padding:72px clamp(24px,7vw,90px);width:100%;min-height:470px;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;justify-content:safe center;text-align:var(--spin-result-align,center);background:var(--spin-result-bg);color:var(--spin-result-fg)}
.fodw-spin-result>*{flex-shrink:0}
.fodw-spin-result .fodw-spin-eyebrow{color:inherit;font-size:12px;margin-bottom:22px}
.fodw-spin-dialog .fodw-spin-winner{font-size:var(--spin-result-size,48px);letter-spacing:-.03em;margin-bottom:24px}
.fodw-spin-result .fodw-spin-description,.fodw-spin-result-body{font-size:var(--spin-result-body-size,17px);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 22px;line-height:1.65}
.fodw-spin-result-actions{display:flex;justify-content:var(--spin-result-align,center);gap:12px;flex-wrap:wrap;margin-top:12px}
.fodw-spin-result-actions .fodw-spin-button{width:auto;min-width:170px}
.fodw-spin-done{min-height:50px;border:1px solid currentColor;border-radius:9px;padding:12px 24px;background:transparent;color:inherit;font:600 15px/1.5 system-ui;cursor:pointer}
.fodw-spin-show-result .fodw-spin-close{background:var(--spin-result-bg);color:var(--spin-result-fg)}
.fodw-spin-result:focus{outline:none}
.fodw-spin-phone .fodw-spin-content{text-align:var(--spin-mobile-text-align,left);padding:18px min(var(--spin-padding,38px),28px) 28px}
.fodw-spin-phone .fodw-spin-title{font-size:var(--spin-mobile-heading,27px)}
.fodw-spin-phone .fodw-spin-result{text-align:var(--spin-mobile-result-align,center);padding:64px 24px 40px;min-height:400px}
.fodw-spin-phone .fodw-spin-winner{font-size:var(--spin-mobile-result-size,34px)}
.fodw-spin-phone .fodw-spin-result-actions{justify-content:var(--spin-mobile-result-align,center)}
@media(max-width:700px){
.fodw-spin-content{text-align:var(--spin-mobile-text-align,left);padding:18px min(var(--spin-padding,38px),28px) 28px}
.fodw-spin-dialog .fodw-spin-title{font-size:var(--spin-mobile-heading,27px)}
.fodw-spin-dialog .fodw-spin-result{text-align:var(--spin-mobile-result-align,center);padding:64px 24px 40px;min-height:400px;max-height:calc(100dvh - 24px)}
.fodw-spin-dialog .fodw-spin-winner{font-size:var(--spin-mobile-result-size,34px)}
.fodw-spin-result-actions{justify-content:var(--spin-mobile-result-align,center)}
}
