#osj-app{color-scheme:dark;--gold:#fdd779;--red:#e10620}#osj-app,#osj-app *{box-sizing:border-box}#osj-app{background:#090305;scroll-behavior:smooth}#osj-app{margin:0;background:radial-gradient(ellipse at 50% 20%,#32210d,#090305 65%);font-family:Arial,Helvetica,sans-serif;color:#fff7dd}#osj-app button{font:inherit;cursor:pointer}#osj-app button:disabled{cursor:default}#frame{position:relative;width:min(100%,1024px);margin:auto;overflow:hidden;isolation:isolate;box-shadow:0 0 65px #000}#artwork{display:block;width:100%;height:auto;user-select:none;pointer-events:none}#stage-fx{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;z-index:6}#wheel-rotor{position:absolute;left:calc(100% * 348 / 1024);top:calc(100% * 108 / 1536);width:calc(100% * 518 / 1024);aspect-ratio:1;transform-origin:50% 50%;z-index:2;display:none;will-change:transform;pointer-events:none}#wheel-center-overlay{position:absolute;left:calc(100% * 514 / 1024);top:calc(100% * 274 / 1536);width:calc(100% * 186 / 1024);aspect-ratio:1;z-index:4;display:none;pointer-events:none}#wheel-shine{position:absolute;left:34%;top:7%;width:51%;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 21px 6px #fff0bd22,0 0 27px #ffb82e55;mix-blend-mode:screen;z-index:3;pointer-events:none;display:none}#wheel-rotor img,#wheel-center-overlay img{display:block;width:100%}#frame.spinning #wheel-rotor,#frame.spinning #wheel-center-overlay,#frame.spinning #wheel-shine{display:block}#frame.spinning #wheel-center-overlay{filter:drop-shadow(0 0 18px #ffdf7c)}#frame.turbo #wheel-rotor{filter:drop-shadow(0 0 20px #fff6b7) saturate(1.45)}#frame.braking #wheel-rotor{filter:drop-shadow(0 0 16px #e92917) saturate(1.18)}#frame.impact #wheel-center-overlay{animation:lockJolt .55s ease-out 1}#frame.impact #wheel-shine{animation:ringFlash .9s ease-out 1}#frame.impact #wheel-rotor{filter:drop-shadow(0 0 45px #fff)}@keyframes lockJolt{0%,100%{transform:scale(1)}13%{transform:scale(1.1)}25%{transform:scale(.96)}48%{transform:scale(1.04)}}@keyframes ringFlash{0%{box-shadow:0 0 3px #fff0,0 0 3px #fff0}20%{box-shadow:0 0 50px 24px #fff5badd,0 0 110px 45px #ffab1b}100%{box-shadow:0 0 30px #ffd95555}}
/* Legacy hit targets are superseded by the Rare Ave interactive center button. */
.image-button{position:absolute;border:0;background:transparent;color:transparent;font-size:0;z-index:8;border-radius:40%;-webkit-tap-highlight-color:transparent}.image-button:focus-visible{outline:4px solid #e5fffb;outline-offset:2px;background:#fff2}#spin-now-bottom{left:29.5%;top:84.4%;width:42%;height:6.65%}#spin-center{left:51%;top:18.9%;width:16.4%;height:11.2%;border-radius:50%}.image-button:disabled{pointer-events:none}#frame.spinning .image-button{pointer-events:none}#interaction-status{position:absolute;left:34%;top:43.4%;width:53%;min-height:3%;z-index:7;color:#fff3bc;text-align:center;font-size:clamp(11px,2vw,20px);font-weight:900;letter-spacing:.11em;text-shadow:0 2px 4px #000,0 0 18px #ffbe44;opacity:0;transition:opacity .2s}#interaction-status.active{opacity:1}#impact-word{position:absolute;left:31%;top:28%;width:61%;text-align:center;font:900 clamp(20px,5.2vw,57px)/1.05 Georgia,serif;text-shadow:0 4px 0 #7b1005,0 6px 25px #000,0 0 35px #ff9b11;filter:drop-shadow(0 0 15px #ff6200);color:#fff4a3;z-index:7;pointer-events:none;opacity:0;transform:scale(.5) rotate(-6deg)}#impact-word.show{animation:wordCrash 1.6s cubic-bezier(.2,1.6,.32,1) forwards}@keyframes wordCrash{0%{opacity:0;transform:scale(3) rotate(-9deg);filter:blur(8px)}15%{opacity:1;transform:scale(.87) rotate(3deg);filter:blur(0)}27%{transform:scale(1.14) rotate(-1deg)}65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}#screen-flash{position:fixed;inset:0;z-index:18;pointer-events:none;background:#fff;opacity:0}#screen-flash.hit{animation:impactFlash .8s ease-out 1}@keyframes impactFlash{0%{opacity:0}11%{opacity:.76}32%{opacity:.05}44%{opacity:.30}100%{opacity:0}}
#hud{position:fixed;right:14px;bottom:14px;z-index:9;display:flex;gap:6px;align-items:center;background:#120608dd;border:1px solid #d6a35a77;border-radius:15px;padding:6px 8px;font-size:11px;box-shadow:0 4px 20px #0009}#hud button{background:#501006;color:#ffedbb;border:1px solid #a27434;border-radius:9px;padding:7px 10px;font-weight:bold}#hud button:focus-visible{outline:2px solid #fff}#hud strong{white-space:nowrap}#hud .demo-label{font-size:10px;opacity:.8;max-width:100px}#hud:not(.open){opacity:.0;transition:opacity .25s}#hud:hover,#hud:focus-within,#hud.open{opacity:1}#hud button[hidden]{display:none}
#overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;background:#030306d9;backdrop-filter:blur(9px)}#overlay[hidden],.view[hidden]{display:none!important}.view{width:min(490px,100%);max-height:min(90vh,900px);overflow:auto;text-align:center;position:relative;border:3px solid #e9ae49;border-radius:29px;padding:26px 27px 24px;background:radial-gradient(ellipse at 50% 0%,#793010,#25070c 47%,#070307 95%);box-shadow:0 0 0 6px #321604,0 0 55px #c37c28,0 20px 90px #000}.view:before{content:'';position:absolute;inset:7px;border:1px solid #f6ca6b77;border-radius:22px;pointer-events:none}.close{position:absolute;right:14px;top:12px;border:1px solid #cba86688;color:#f8edcd;background:#170807;border-radius:50%;width:35px;height:35px;font-size:23px;z-index:2}.eyebrow{font-size:12px;color:#ffda82;letter-spacing:.17em;font-weight:bold}.view h1{margin:8px 0 1px;font:900 clamp(32px,8vw,56px)/1.0 Georgia,serif;color:#ffe9a2;text-shadow:0 3px 1px #6d1708,0 0 20px #ffc754}.prize-art{width:165px;height:165px;display:block;margin:9px auto 3px;filter:drop-shadow(0 0 28px #e3bb66)}#win-prize{font-weight:900;font-size:24px;margin:4px 0 10px}#time{font-size:clamp(27px,7vw,37px);font-weight:900;letter-spacing:.035em;color:#ffdb80;font-variant-numeric:tabular-nums}#time.expired{color:#ff6262}.note{font-size:12px;line-height:1.55;opacity:.83}.money{font-size:24px;font-weight:900;color:#fff0ae}#overlay .cta{border:2px solid #ffe2a3;background:linear-gradient(#ff8f23,#b30b13 40%,#790809 100%);color:#fff1b7;box-shadow:0 6px 0 #51060b,0 0 22px #fc822b90;border-radius:12px;padding:13px 20px;font-size:17px;font-weight:900;max-width:100%;width:100%;text-shadow:0 2px #6b060b;margin:15px auto}.checkout-label{text-transform:uppercase;font-size:14px;letter-spacing:.1em;color:#f1d9a5}.checkout-row{display:flex;justify-content:space-between;gap:14px;padding:11px 3px;border-bottom:1px solid #d2a7636b;text-align:left}.checkout-row:last-of-type{font-weight:900}.checkout-title{margin:10px 0 12px;font-size:25px;font-weight:900}.preview-warning{font-size:13px;line-height:1.45;color:#ffe1a2;background:#190f0e;padding:10px;border-radius:10px;border:1px solid #8b6439}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);border:1px solid #ffcf72;background:#23070af0;color:#fff1c8;padding:11px 15px;max-width:90vw;z-index:40;border-radius:12px;font-size:13px;display:none;text-align:center}#toast.show{display:block}
@media(max-width:550px){#frame{width:100%}#interaction-status{font-size:10px;top:42%}#hud{right:5px;bottom:5px;padding:4px;font-size:10px}#hud .demo-label{display:none}#hud button{padding:6px 7px}#impact-word{font-size:29px}#spin-now-bottom{top:84.5%;height:6.9%}}
@media(prefers-reduced-motion:reduce){#frame.spinning #wheel-rotor{filter:none!important}#screen-flash.hit{animation:none}#impact-word.show{animation:none;opacity:1;transform:none}#frame.impact #wheel-center-overlay{animation:none}}

#osj-app{background:#090305;width:min(1024px,100vw);margin:0 auto;min-height:100vh;color:#fff7dd;font-family:Arial,Helvetica,sans-serif}#osj-app .osj-extra{padding:14px 18px;background:#150b09;border:1px solid #9b6b34;color:#fff0d1;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}#osj-app .osj-extra a{color:#ffda8c;word-break:break-all}#osj-app input{font-size:15px;width:100%;padding:9px;border-radius:6px;border:1px solid #c59748;background:#190f0b;color:#fff7dd}#osj-app label{display:block;text-align:left;font-size:12px;margin:7px 0}#osj-app .osj-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}#osj-app .osj-fields .wide{grid-column:1/-1}#osj-app .osj-explain{padding:10px;background:#3c160c;border:1px solid #ce8535;border-radius:8px;font-size:13px;line-height:1.5}#osj-app #hud:not(.open){opacity:1}#osj-app .osj-loading{padding:20px;text-align:center}#osj-app #replay{font-size:11px}#osj-app #overlay .view{font-family:Arial,Helvetica,sans-serif;color:#fff7dd}#osj-app #overlay .view p{color:#fff1db}#osj-app #overlay .view h1{color:#ffe9a2}
/* Dynamic electronic-prize faces cover legacy voucher illustrations. The untouched
   V5 photographed gold frame, fixed pointer, center and surrounding stage remain. */
#frame #wheel-rotor,#frame #wheel-center-overlay,#frame #wheel-shine{display:block}
#frame #wheel-rotor{z-index:2}
#frame #wheel-center-overlay{z-index:4}
#wheel-skin{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
#wheel-skin image{filter:drop-shadow(0 4px 5px #170508a8)}

@media(max-width:550px){#osj-app .osj-fields{grid-template-columns:minmax(0,1fr)}#osj-app .osj-fields .wide{grid-column:auto}#osj-app #overlay .view{padding:20px 15px 17px}}

/* Rare Ave approved 2026-09-21 direction: real, responsive ivory/charcoal/champagne wheel.
 * The server's active prize array supplies all sectors, photos and labels. Legacy
 * black/red artwork remains in the archive, but is never shown in this skin. */
#osj-app {color-scheme:light;--gold:#c9b89c;--red:#1a1917;background:#fff!important;color:#181715!important;width:min(100%,720px);min-height:0;margin:0 auto;font-family:Arial,Helvetica,sans-serif}
#osj-app #frame{width:min(100%,610px);max-width:610px;margin:auto;min-height:790px;overflow:hidden;isolation:isolate;box-shadow:none;background:radial-gradient(ellipse at 50% 30%,#fff 0%,#fff 43%,#f6f4f0 75%,#fff 100%);border:0;color:#171513}
#osj-app #artwork,#osj-app #wheel-rotor>img,#osj-app #wheel-center-overlay,#osj-app #wheel-shine,#osj-app #spin-now-bottom{display:none!important}
#osj-app .osj-stage__brand{position:relative;display:flex;align-items:center;gap:9px;margin:0 auto;padding:24px 25px 6px;font:25px/1.1 Georgia,serif;color:#131313}
#osj-app .osj-stage__monogram{font:29px/.9 Georgia,serif;letter-spacing:-.15em;padding-right:.14em;border-right:1px solid #beb7ad;margin-right:4px}
#osj-app .osj-stage__monogram span{font-size:.65em;vertical-align:-.15em}
#osj-app .osj-stage__brand small{margin-left:auto;font:700 10px/1.25 Arial,sans-serif;text-align:right;letter-spacing:.06em}
#osj-app .osj-stage__heading{text-align:center;padding:19px 12px 0}
#osj-app .osj-stage__heading h1{font:700 clamp(42px,8.5vw,70px)/1 Georgia,serif;letter-spacing:-.055em;color:#151515;margin:0}
#osj-app .osj-stage__heading p{font:700 12px/1.2 Arial,sans-serif;letter-spacing:.28em;margin:8px 0 14px;color:#51473a}
#osj-app .osj-stage__wheel-wrap{position:relative;width:min(88%,500px);aspect-ratio:1;margin:0 auto 23px;isolation:isolate}
#osj-app #wheel-rotor{display:block!important;position:absolute;inset:0;left:0;top:0;width:100%;height:100%;aspect-ratio:1;margin:0;border-radius:50%;z-index:2;overflow:hidden;box-shadow:0 0 0 3px #b9aa95,0 0 0 8px #f6f4f0,0 10px 24px #3a31262b;transform-origin:center;will-change:transform}
#osj-app #wheel-skin{position:absolute;inset:0;width:100%;height:100%;display:block;filter:none}
#osj-app .osj-stage__pointer{position:absolute;left:50%;top:-18px;transform:translateX(-50%);z-index:6;width:34px;height:55px;filter:drop-shadow(0 3px 2px #33241b65);pointer-events:none}
#osj-app .osj-stage__pointer svg{display:block;width:100%;height:100%;overflow:visible}
#osj-app #spin-center{display:grid;place-items:center;position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:23%;height:23%;border-radius:50%;background:radial-gradient(circle at 40% 25%,#494949,#111 70%);border:4px solid #c9b89c;box-shadow:0 0 0 4px #fff,0 4px 15px #0005;color:#fff!important;font:700 clamp(13px,3.8vw,24px)/1 Arial,sans-serif!important;letter-spacing:.06em;text-align:center;pointer-events:auto}
#osj-app #spin-center:disabled{color:#bfb9b0!important;opacity:.93;cursor:not-allowed}
#osj-app #spin-center:not(:disabled):hover{filter:brightness(1.3);box-shadow:0 0 0 4px #fff,0 0 20px #a99877}
#osj-app #spin-center:focus-visible{outline:3px solid #161616;outline-offset:7px}
#osj-app #interaction-status{position:relative;left:auto;top:auto;width:100%;min-height:23px;margin:2px auto;font-size:12px;font-weight:700;color:#63533e;text-shadow:none;z-index:8}
#osj-app #impact-word{left:8%;top:40%;width:84%;font:700 clamp(24px,5vw,39px)/1 Georgia,serif;color:#3b2c1e;text-shadow:0 2px 12px #fff,0 0 12px #fff;filter:drop-shadow(0 2px #c9b89c)}
#osj-app .osj-stage__win-badge{position:relative;margin:13px auto 18px;max-width:365px;padding:13px 17px;text-align:center;border:1px solid #d6cabc;border-radius:22px;background:#fff;color:#433526;box-shadow:0 4px 12px #c9b89c30;font:700 16px/1.3 Arial,sans-serif}
#osj-app .osj-stage__win-badge small{font-size:10px;letter-spacing:.06em;display:block}
#osj-app .osj-stage__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;text-align:center;padding:0 12px 20px;color:#252525}
#osj-app .osj-stage__benefits span{font-size:25px;display:grid;place-items:center;gap:3px}
#osj-app .osj-stage__benefits small{font:700 10px/1.35 Arial,sans-serif;min-height:28px}
#osj-app #hud{position:relative;right:auto;bottom:auto;margin:0 auto;justify-content:center;width:min(100%,610px);border:1px solid #e4dcd1;border-radius:0;background:#f6f4f0;color:#342c22;box-shadow:none;font-size:12px}
#osj-app #hud button{background:#fff;color:#3c3023;border:1px solid #b09a7e}
#osj-app .osj-extra{width:min(100%,610px);margin:0 auto;padding:15px;background:#fff;border:1px solid #e4dcd1;border-top:0;color:#4f4842}
#osj-app .osj-extra a{color:#66513e}
#osj-app #overlay{background:#171512a6;backdrop-filter:blur(5px)}
#osj-app #overlay .view{color:#181715;background:radial-gradient(ellipse at top,#fff,#f6f4f0);border:1px solid #c9b89c;box-shadow:0 18px 75px #0007;border-radius:16px}
#osj-app #overlay .view:before{border:0}
#osj-app #overlay .view h1,#osj-app #overlay .view h2{color:#24201b;text-shadow:none;font-family:Georgia,serif}
#osj-app #overlay .view p{color:#44382d}
#osj-app .eyebrow,#osj-app .money,#osj-app #time{color:#725c3e}
#osj-app #overlay .cta{border:1px solid #8f7b60;background:linear-gradient(#c9b89c,#a08a6b);color:#fff;box-shadow:0 5px 13px #0002;text-shadow:none;border-radius:28px}
#osj-app .close{border:1px solid #d6cabc;background:#fff;color:#181715}
#osj-app .checkout-row{border-bottom:1px solid #e4dcd1}
#osj-app input{background:#fff;color:#141414;border:1px solid #d5c9bb}
#osj-app .osj-explain{background:#fff;border:1px solid #d5c9bb;color:#44382d}
#osj-app #toast{background:#fff;color:#1c1915;border:1px solid #c9b89c;box-shadow:0 5px 30px #0003}
@media(max-width:600px){#osj-app #frame{min-height:0}#osj-app .osj-stage__brand{padding:15px 14px 4px;font-size:20px}#osj-app .osj-stage__monogram{font-size:24px}#osj-app .osj-stage__brand small{font-size:8px}#osj-app .osj-stage__heading{padding-top:20px}#osj-app .osj-stage__heading h1{font-size:clamp(40px,12vw,60px)}#osj-app .osj-stage__wheel-wrap{width:92%;margin-bottom:20px}#osj-app #spin-center{border-width:3px;font-size:clamp(12px,4vw,19px)!important}#osj-app .osj-stage__win-badge{width:78%;font-size:13px;margin-top:15px}#osj-app .osj-stage__benefits{padding:0 10px 14px}#osj-app .osj-stage__benefits span{font-size:20px}#osj-app .osj-stage__benefits small{font-size:8px}#osj-app #impact-word{top:39%}#osj-app #hud{font-size:11px}}
@media(prefers-reduced-motion:reduce){#osj-app #spin-center{transition:none}}

#osj-app .osj-stage__fine{font-size:10px;line-height:1.45;margin:0;padding:0 18px 16px;text-align:center;color:#776a5c}

#osj-app .prize-art[hidden]{display:none!important}

/* 0.4.7 reference composition: soft ivory silk, layered metallic wheel, real SVG icons. */
#osj-app #frame{background:radial-gradient(ellipse at 50% 35%,#fff 0%,#fff 53%,#faf8f4 85%,#fff 100%)}
#osj-app .osj-stage__silk{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 103% 27%,#eee6db9c 0%,#fff0 35%),radial-gradient(ellipse at -10% 55%,#f2ece4bd 0%,#fff0 37%)}
#osj-app .osj-stage__silk:before,#osj-app .osj-stage__silk:after{content:"";position:absolute;width:136%;left:-18%;border-radius:48% 52% 46% 54%/72% 61% 39% 28%;background:#f6f0e8;opacity:.62;filter:blur(2px);transform:rotate(-10deg)}
#osj-app .osj-stage__silk:before{height:95px;top:17%;left:-45%}
#osj-app .osj-stage__silk:after{height:140px;top:61%;left:20%;transform:rotate(13deg);opacity:.4}
#osj-app .osj-stage__brand,#osj-app .osj-stage__heading,#osj-app .osj-stage__wheel-wrap,#osj-app .osj-stage__win-badge,#osj-app .osj-stage__benefits,#osj-app .osj-stage__fine{z-index:1}
#osj-app .osj-stage__heading{position:relative;padding-top:16px}
#osj-app .osj-stage__heading h1{font-size:clamp(43px,9vw,66px);font-weight:700;letter-spacing:-.07em}
#osj-app .osj-stage__heading p{margin:7px 0 18px;color:#6b5741;letter-spacing:.25em}
#osj-app .osj-stage__wheel-wrap{width:min(87%,490px);margin-bottom:13px;filter:drop-shadow(0 9px 10px #6b5b452b)}
#osj-app #wheel-rotor{box-shadow:0 1px 0 1px #a49177,0 0 0 2px #f1e8da,0 10px 22px #5a503c26;overflow:visible}
#osj-app #wheel-skin image{filter:drop-shadow(0 3px 3px #35312e33)}
#osj-app .osj-stage__pointer{top:-18px;filter:drop-shadow(0 3px 2px #4d423870)}
#osj-app #spin-center{background:radial-gradient(circle at 35% 20%,#494744,#1b1c1d 70%);border:3px solid #d0bca1;box-shadow:0 0 0 4px #fff8f2,0 0 0 6px #a99578,0 6px 18px #0004;font-size:clamp(13px,3.9vw,24px)!important}
#osj-app .osj-stage__win-badge{margin-top:8px;margin-bottom:16px;max-width:285px;border-radius:18px;background:#fff;box-shadow:0 8px 22px #77654a14}
#osj-app .osj-stage__benefits{position:relative;border-top:1px solid #f2ece4;margin:0 8px;padding:18px 7px 17px;gap:8px}
#osj-app .osj-stage__benefits span{font-size:0;gap:8px}
#osj-app .osj-stage__benefits svg{width:26px;height:26px;fill:none;stroke:#242220;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#osj-app .osj-stage__benefits small{font-size:10px;line-height:1.35;font-weight:600}
@media(max-width:600px){#osj-app .osj-stage__wheel-wrap{width:91%;margin-bottom:13px}#osj-app .osj-stage__benefits{padding:14px 2px}#osj-app .osj-stage__benefits svg{width:22px;height:22px}#osj-app .osj-stage__benefits small{font-size:8px}#osj-app .osj-stage__heading{padding-top:13px}}
/* The approved wheel center has two typographic levels: this is live state,
   not a decorative claim of an extra chance from the client's imagination. */
#osj-app #spin-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1.08!important}
#osj-app #spin-center span{display:block;font-size:1em;font-weight:700;letter-spacing:.05em}
#osj-app #spin-center small{display:block;width:85%;font:700 clamp(7px,1.4vw,10px)/1.22 Arial,Helvetica,sans-serif;letter-spacing:.015em;white-space:normal;color:#f3ede4}
@media(max-width:600px){#osj-app #spin-center{gap:3px}#osj-app #spin-center small{font-size:clamp(6px,1.65vw,9px)}}

/* Jackpot showtime: the same Rare Ave ivory/charcoal/champagne palette, intensified motion. */
#osj-app #speed-trails{position:absolute;inset:-3%;z-index:3;pointer-events:none;border-radius:50%;opacity:0;background:conic-gradient(from 0deg,transparent 0deg,#e2d2b4 12deg,transparent 23deg,transparent 65deg,#fff4d8 73deg,transparent 87deg,transparent 158deg,#b9a185 164deg,transparent 177deg,transparent 270deg,#ffedc9 279deg,transparent 293deg);-webkit-mask:radial-gradient(circle,transparent 0 61%,#000 69% 80%,transparent 86%);mask:radial-gradient(circle,transparent 0 61%,#000 69% 80%,transparent 86%);transition:opacity .3s}
#osj-app #frame.spinning #speed-trails{opacity:.35;animation:osjTurboStreak .6s linear infinite}
#osj-app #frame.turbo #speed-trails{opacity:.95;animation-duration:.23s;filter:drop-shadow(0 0 17px #f4d69b)}
#osj-app #frame.braking #speed-trails{opacity:.38;animation-duration:1.45s}
#osj-app #frame.suspense #speed-trails{opacity:.16;animation-duration:2.8s}
#osj-app #frame.turbo #wheel-rotor{filter:drop-shadow(0 0 19px #ddbf82) saturate(1.16)}
#osj-app #frame.braking #wheel-rotor{filter:drop-shadow(0 0 15px #ba996e) saturate(1.07)}
#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]{animation:osjChaseBulbs .27s steps(2,end) infinite alternate}
#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]:nth-of-type(4n+1){animation-delay:-.09s}
#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]:nth-of-type(4n+2){animation-delay:-.18s}
#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]:nth-of-type(4n+3){animation-delay:-.27s}
#osj-app #frame.braking #wheel-skin [data-wheel-light="1"]{animation-duration:.55s}
#osj-app #wheel-pointer.kick{animation:osjPointerKick .22s cubic-bezier(.22,1.6,.4,1) 1}
#osj-app #frame.impact .osj-stage__wheel-wrap{animation:osjFinalLock .56s ease-out 1}
#osj-app #frame.impact #speed-trails{opacity:1;animation:osjWinShockwave 1.15s ease-out 1;background:radial-gradient(circle,transparent 50%,#fffdf5 52%,#d5b889 57%,transparent 74%);-webkit-mask:none;mask:none}
#osj-app #impact-word{color:#fff9ee;text-shadow:0 2px 1px #4b3826,0 0 19px #d2b582,0 5px 18px #10100f;filter:drop-shadow(0 0 16px #c4ad83)}
#osj-app #screen-flash{background:#fff9ec}
@keyframes osjChaseBulbs{0%,100%{fill:#f4e4c8;opacity:.76}50%{fill:#fff;opacity:1}}
@keyframes osjTurboStreak{to{transform:rotate(360deg)}}
@keyframes osjPointerKick{0%,100%{transform:translateX(-50%) rotate(0deg)}28%{transform:translateX(-50%) rotate(-12deg)}58%{transform:translateX(-50%) rotate(8deg)}}
@keyframes osjFinalLock{0%,100%{transform:translate(0,0) scale(1)}12%{transform:translate(-5px,3px) scale(1.025)}27%{transform:translate(4px,-4px) scale(.988)}46%{transform:translate(-3px,2px) scale(1.013)}70%{transform:translate(2px,-1px) scale(.998)}}
@keyframes osjWinShockwave{0%{opacity:1;transform:scale(.53)}42%{opacity:.92}100%{opacity:0;transform:scale(1.65)}}
@media(prefers-reduced-motion:reduce){#osj-app #frame.spinning #speed-trails,#osj-app #frame.turbo #speed-trails,#osj-app #frame.braking #speed-trails,#osj-app #frame.suspense #speed-trails,#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"],#osj-app #wheel-pointer.kick,#osj-app #frame.impact .osj-stage__wheel-wrap,#osj-app #frame.impact #speed-trails{animation:none!important;opacity:0}#osj-app #frame.spinning #wheel-rotor{filter:none!important}}
#osj-app #frame.turbo #wheel-skin image{filter:blur(1.3px) drop-shadow(0 3px 5px #35312e36)}
#osj-app #frame.braking #wheel-skin image,#osj-app #frame.suspense #wheel-skin image{filter:drop-shadow(0 3px 4px #35312e3c)}
#osj-app #frame.impact #wheel-skin image{transform-box:fill-box;transform-origin:center;animation:osjPrizePop .65s cubic-bezier(.2,1.5,.3,1) both}
#osj-app #frame.impact #speed-trails:after{content:"";display:block;position:absolute;inset:8%;border:8px solid #f5e4c2;border-radius:50%;box-shadow:0 0 24px #cfb48a;animation:osjWinShockwave 1s .22s ease-out both}
@keyframes osjPrizePop{0%,100%{transform:scale(1)}34%{transform:scale(1.11)}58%{transform:scale(.97)}}
@media(prefers-reduced-motion:reduce){#osj-app #frame.turbo #wheel-skin image,#osj-app #frame.impact #wheel-skin image{filter:none;animation:none;transform:none}#osj-app #frame.impact #speed-trails:after{display:none}}

/* Some reference-derived default packshots have an opaque white matte. Blend
 * ONLY built-in illustration fallbacks into the ivory surface; never recolor
 * administrator-supplied prize photographs or historical photo snapshots. */
#osj-app .prize-art.osj-prize-art--fallback{mix-blend-mode:multiply}
#osj-app #wheel-skin image[data-osj-default-art="1"]{mix-blend-mode:multiply}

/* Actual silk-wave layers from the approved ivory/champagne composition.
 * Decorative only: dynamic sectors, buttons and state stay editable and live. */
#osj-app .osj-stage__silk{background:#fff url('ivory-silk.svg') center top/100% auto no-repeat}
#osj-app .osj-stage__silk:before,#osj-app .osj-stage__silk:after{display:none}

/* Give all eight genuine prize faces the largest safe mobile presentation;
 * the dynamic prize pool and the metal/light ring are not cropped. */
@media(max-width:600px){#osj-app .osj-stage__wheel-wrap{width:min(98%,490px)}}

/* Rare Ave prize reveal and shipping form: the approved ivory / ink / champagne
 * language continues after the wheel stops. These rules affect presentation
 * only; backend award, shipping snapshot and Woo checkout stay authoritative. */
#osj-app #overlay{background:#191715bd;backdrop-filter:blur(8px)}
#osj-app #overlay .view{background:#faf8f5;background-image:radial-gradient(ellipse at 50% 0%,#fff 0%,#faf8f5 70%,#f1e9dc 100%);color:#181715;border:1px solid #cfbda5;border-radius:20px;box-shadow:0 0 0 5px #fff8,0 22px 70px #18120c66;width:min(440px,100%);padding:30px 23px 22px}
#osj-app #overlay .view:before{inset:8px;border:1px solid #e4d6c3;border-radius:14px}
#osj-app #overlay .view h1{color:#171614;text-shadow:none;font-weight:700;letter-spacing:-.055em}
#osj-app #overlay .view p{color:#36302a}
#osj-app #overlay .eyebrow{color:#78674f;letter-spacing:.16em;font-size:11px}
#osj-app #overlay .close{background:#fffaf5;color:#26211d;border:1px solid #d4c3aa;box-shadow:0 2px 7px #0001}
#osj-app #overlay .prize-art{filter:drop-shadow(0 9px 12px #31261e26)}
#osj-app #overlay #win-prize,#osj-app #overlay .checkout-title{color:#181715}
#osj-app #overlay #time{color:#7f6546;text-shadow:none}
#osj-app #overlay #time.expired{color:#a82727}
#osj-app #overlay .money{color:#30271f}
#osj-app #overlay .cta{background:#a9957a;background-image:linear-gradient(180deg,#d7c4aa,#a28a6b);color:#171614;border:1px solid #a18b70;box-shadow:0 4px 12px #50443324;border-radius:30px;text-shadow:none;font-weight:700;letter-spacing:.03em}
#osj-app #overlay .cta:focus-visible,#osj-app #overlay .close:focus-visible{outline:3px solid #57452c;outline-offset:3px}
#osj-app #overlay .checkout-label{color:#6b5943}
#osj-app #overlay .checkout-row{color:#302922;border-bottom:1px solid #e4d7c6}
#osj-app #overlay .preview-warning,#osj-app #overlay .osj-explain{color:#453a2c;background:#f2eadf;border:1px solid #ddcbb6;border-radius:9px}
#osj-app #overlay input{color:#181715;background:#fff;border:1px solid #bda98e;border-radius:8px}
#osj-app #overlay label{color:#342b23}
@media(max-width:550px){#osj-app #overlay{padding:12px}#osj-app #overlay .view{width:100%;padding:24px 16px 16px;border-radius:17px}#osj-app #overlay .prize-art{width:min(145px,47vw);height:min(145px,47vw)}}

/* Keep the spinning SVG on a compositor-friendly transform layer: animated
   drop-shadow/blur on the whole wheel caused repeated rasterization. */
#osj-app #frame.spinning #wheel-rotor{filter:none!important;backface-visibility:hidden}
#osj-app #frame.spinning #wheel-skin image{filter:none!important}
#osj-app #frame.spinning #speed-trails{filter:none!important}

/* The moving rotor already provides the chase impression on phones. Avoid
   animating dozens of individual SVG bulbs, which repaints the rotating SVG
   layer and makes actual wheel motion appear to jump on mobile GPUs. */
@media (max-width: 600px){
  #osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]{animation:none!important}
}

/* 0.4.42: saved awards, visually separate from WooCommerce's ordinary shopping cart. */
#osj-app .osj-my-prizes__top-link{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:9px 17px;margin:0 0 10px;border:1px solid #d9c9b3;border-radius:24px;background:#fff;color:#6e4b25;font:700 12px Arial,sans-serif;text-decoration:none;letter-spacing:.05em}
#osj-app .osj-my-prizes{width:min(100%,610px);margin:0 auto;background:#fff;color:#25201a;border:1px solid #e7dfd2;border-top:0;padding:20px 15px 24px;scroll-margin-top:18px;font-family:Arial,sans-serif}
#osj-app .osj-my-prizes__heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px;margin-bottom:16px}
#osj-app .osj-my-prizes__eyebrow{font-size:10px;font-weight:700;letter-spacing:.13em;color:#9d794c}
#osj-app .osj-my-prizes h2{margin:3px 0 7px;font:700 29px Georgia,serif;color:#24201a}
#osj-app .osj-my-prizes__heading p,#osj-app .osj-my-prizes__account{color:#6e6255;font:12px/1.6 Arial,sans-serif;margin:0}
#osj-app .osj-my-prizes__count{font:700 11px Arial,sans-serif;color:#fff;background:#a67a39;border-radius:18px;padding:3px 7px;vertical-align:middle}
#osj-app .osj-my-prizes__shop{font:700 12px Arial,sans-serif;color:#8f6a38}
#osj-app .osj-my-prizes__message{font-size:12px;color:#665746}
#osj-app .osj-my-prizes__list{display:grid;gap:12px}
#osj-app .osj-my-prizes__card{display:flex;gap:15px;align-items:center;padding:13px;background:#fff;border:1px solid #e6dace;border-radius:13px;box-shadow:0 6px 25px #69543912}
#osj-app .osj-my-prizes__art{width:100px;height:100px;object-fit:contain;flex:0 0 100px;border-radius:9px;background:#faf8f5}
#osj-app .osj-my-prizes__info{min-width:0;flex:1}
#osj-app .osj-my-prizes__info h3{margin:6px 0;font:700 18px Georgia,serif;color:#211c16}
#osj-app .osj-my-prizes__info p{font:12px/1.45 Arial,sans-serif;color:#554b40;margin:4px 0}
#osj-app .osj-my-prizes__status{font:700 11px Arial,sans-serif;background:#f9f0de;color:#755028;padding:4px 8px;border-radius:20px}
#osj-app .osj-my-prizes__claim,#osj-app .osj-claim-later{cursor:pointer;font:700 13px Arial,sans-serif;border-radius:25px;padding:12px 19px;margin-top:10px}
#osj-app .osj-my-prizes__claim{background:linear-gradient(#d4b77a,#a97631);border:1px solid #ad7a38;color:#fff;width:100%}
#osj-app .osj-claim-later{display:block;width:100%;border:1px solid #c5b6a0;background:#fff;color:#68533a}
#osj-app .osj-my-prizes__account{margin-top:14px}
#osj-app .osj-my-prizes__account a{color:#886029;text-decoration:underline}
@media(max-width:450px){#osj-app .osj-my-prizes{padding:16px 11px}#osj-app .osj-my-prizes__art{width:77px;height:77px;flex-basis:77px}#osj-app .osj-my-prizes__card{gap:11px}#osj-app .osj-my-prizes__info h3{font-size:16px}}

/* 0.4.50: keep the SVG static within a GPU-composited moving layer.
   Individual bulb fill-opacity animation rasterized the whole spinning wheel
   on desktop, while a masked, continuously rotating trail competed for GPU. */
#osj-app #frame.spinning #wheel-rotor{contain:paint;transform:translateZ(0);will-change:transform;filter:none!important}
#osj-app #frame.spinning #wheel-skin [data-wheel-light="1"]{animation:none!important}
@media(max-width:600px){
 #osj-app #frame.spinning #speed-trails{animation:none!important;opacity:.20}
}
/* The approved video blended three subframes per displayed frame; a bare SVG
   has razor-sharp spokes that visibly strobe at ~4.35 turns/s on 60Hz panels.
   Soften only the static wheel art while it is fast. No per-frame SVG blur
   updates or blur on the moving compositor layer. The last phase is crisp. */
#osj-app #frame.spinning.turbo #wheel-skin{filter:blur(1.35px)!important}
