.sp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:1rem;font-family:inherit}
.sp-overlay.is-open{opacity:1;pointer-events:auto}
.sp-modal{position:relative;background:var(--sp-modal-bg);max-width:var(--sp-max-width);width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 25px 60px -15px rgba(0,0,0,.4);transform:scale(.97);transition:transform .3s ease;display:flex;flex-direction:row;color:var(--sp-body)}
.sp-overlay.is-open .sp-modal{transform:scale(1)}
.sp-image{width:50%;min-height:500px;background-size:cover;background-position:center;background-color:var(--sp-border)}
.sp-image-mobile{display:none}
.sp-content{width:50%;padding:40px 36px;display:flex;flex-direction:column;justify-content:space-between;min-height:500px;box-sizing:border-box}
.sp-logo{display:block;height:32px;width:auto}
.sp-heading{font-size:1.875rem;line-height:1.15;margin:0;color:var(--sp-heading);font-weight:500;font-family:inherit}
.sp-sub{font-size:.875rem;opacity:.75;margin:.5rem 0 0}
.sp-center{text-align:center;margin-top:2rem}
.sp-form{margin-top:2rem;display:flex;flex-direction:column;gap:12px;max-width:320px;margin-left:auto;margin-right:auto}
.sp-input{width:100%;padding:12px 16px;border:1px solid var(--sp-border);background:#fff;font-size:.875rem;box-sizing:border-box;font-family:inherit;color:var(--sp-body)}
.sp-input:focus{outline:none;border-color:var(--sp-heading)}
.sp-error{color:var(--sp-accent);font-size:.75rem;margin:0}
.sp-btn{width:100%;padding:14px;border:none;background:var(--sp-accent);color:#fff;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:opacity .2s}
.sp-btn:hover{opacity:.9}
.sp-btn:disabled{opacity:.6;cursor:wait}
.sp-btn-secondary{width:100%;padding:12px;border:1px solid var(--sp-border);background:transparent;color:var(--sp-body);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;font-family:inherit}
.sp-btn-secondary:hover{border-color:var(--sp-heading)}
.sp-card{position:relative;width:100%;max-width:240px;height:160px;margin:0 auto;overflow:hidden;box-shadow:0 0 0 1px rgba(201,154,84,.4),0 4px 20px rgba(201,154,84,.25);border-radius:8px}
.sp-prize{position:absolute;inset:0;background:var(--sp-accent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;text-align:center}
.sp-prize-label{font-size:.625rem;letter-spacing:.25em;text-transform:uppercase;opacity:.85;margin:0}
.sp-prize-amount{font-size:1.625rem;font-weight:600;margin:4px 0 0;line-height:1.1;font-family:inherit}
.sp-prize-bonus{font-size:.6875rem;opacity:.9;margin:4px 0 0}
.sp-prize-code{margin-top:10px;padding:3px 10px;border:1px solid rgba(255,255,255,.4);font-size:.6875rem;letter-spacing:.2em;font-family:ui-monospace,SFMono-Regular,monospace}
.sp-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none;border-radius:8px}
.sp-canvas:active{cursor:grabbing}
.sp-progress{width:100%;max-width:240px;height:1px;background:var(--sp-border);margin:12px auto 0;overflow:hidden}
.sp-progress-bar{height:100%;background:var(--sp-accent);width:0;transition:width .15s}
.sp-countdown{max-width:240px;margin:12px auto 0;padding:8px;background:#fefce8;color:#c99a54;border:1px solid var(--sp-border);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;text-align:center;font-family:inherit}
.sp-countdown.is-expired{background:#fef2f2;color:var(--sp-accent);border-color:#fecaca}
.sp-countdown-time{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:700;letter-spacing:.05em}
.sp-cta-btn{width:100%;max-width:240px;margin:12px auto 0;padding:14px;border:none;background:var(--sp-heading);color:#fff;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;font-family:inherit;display:block}
.sp-cta-btn:hover{opacity:.92}
.sp-cta-btn:disabled{background:#a8a29e;cursor:not-allowed}
.sp-dismiss{background:none;border:none;padding:6px 12px;color:var(--sp-body);opacity:.6;font-size:.75rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-family:inherit;align-self:center;margin-top:24px}
.sp-dismiss:hover{opacity:1}
@media(max-width:768px){.sp-modal{flex-direction:column;max-width:100%;max-height:96vh}.sp-image{display:none}.sp-image-mobile.has-image{display:block;width:100%;height:var(--sp-mobile-img-h);background-size:cover;background-position:center}.sp-content{width:100%;padding:28px 24px;min-height:auto}.sp-heading{font-size:1.5rem}.sp-card{max-width:260px;height:170px}.sp-progress,.sp-countdown,.sp-cta-btn{max-width:260px}}
