@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');
:root{--gold:#ffde91;--cream:#fff1d0;--red:#ad0c28}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 47%,#d32439 0,#ad0c28 49%,#680e21 100%);color:var(--cream);font-family:'Be Vietnam Pro',sans-serif;overflow-x:clip}body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:6px}.rays{position:fixed;inset:0;pointer-events:none;opacity:.12;background:repeating-conic-gradient(from 8deg at 50% 48%,transparent 0deg 13deg,#fa8d79 13deg 26deg);mask-image:radial-gradient(ellipse,black,transparent 75%)}header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:27px 42px}.brand{font-size:33px;letter-spacing:-2px;color:var(--cream);font-weight:900;text-decoration:none;line-height:1}.brand span{color:#ffb768;font-size:31px;margin-left:3px}.edition{font-size:9px;letter-spacing:3px;opacity:.65}.edition i{margin:0 13px;font-style:normal}#sound{height:36px;display:flex;align-items:center;gap:8px;border:1px solid #ffde9140;background:#fff1d009;color:var(--cream);border-radius:40px;padding:0 13px;font-size:19px}#sound span{font-size:9px}#sound[aria-pressed=true]{background:#ffde91;color:#8b1021}main{position:relative;max-width:1000px;margin:0 auto;text-align:center;padding:0 24px 22px}.intro{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;letter-spacing:3px;color:#ffc994}.eyebrow>span{width:28px;height:1px;background:#e9ac78;opacity:.65}h1{font-family:'Barlow Condensed','Be Vietnam Pro',sans-serif;font-size:clamp(36px,5.2vw,66px);font-weight:800;letter-spacing:-.5px;line-height:1.05;margin:12px 0;text-shadow:0 4px 0 #690c1e}h1 em{font-style:normal;color:#ffcf74} .intro p{font-size:12px;color:#f9c4b2;letter-spacing:.3px;margin:12px 0 0}.machine{position:relative;width:min(480px,calc(100vw - 70px));margin:30px auto 0;padding-bottom:28px;isolation:isolate}.wheel-frame{position:relative;aspect-ratio:1;border-radius:50%;padding:28px;background:linear-gradient(130deg,#ffe19c,#b96929 46%,#ffd891 75%,#9d421c);box-shadow:0 0 0 2px #64111e,0 0 0 5px #eeb45a,0 0 0 8px #701122,0 14px 0 #580e1c,0 22px 50px #46061699,inset 0 1px 4px #fffac4;z-index:2}.wheel-frame:before{content:'';position:absolute;inset:7px;border-radius:50%;background:#720a1c;border:1px solid #b74926}.wheel-inner{position:relative;border-radius:50%;overflow:hidden;border:3px solid #ffe8a3;box-shadow:0 0 0 3px #5c0b1b;background:#ffedc2}#wheel{display:block;width:100%;transition:transform 5.4s cubic-bezier(.12,.67,.13,1);will-change:transform}.bulbs{position:absolute;inset:0;z-index:3;pointer-events:none}.bulb{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff7cc;box-shadow:0 0 5px #ffdc85,0 0 11px #ffbd51,inset -1px -1px 1px #e3a34d;transform:translate(-50%,-50%)}.bulb:nth-child(even){background:#ffd889;box-shadow:0 0 4px #ffcf6f}.spinning .bulb{animation:twinkle .35s infinite alternate}.spinning .bulb:nth-child(even){animation-delay:.35s}@keyframes twinkle{to{opacity:.35;box-shadow:none}}.pointer{position:absolute;left:50%;top:-20px;transform:translateX(-50%);width:47px;height:65px;z-index:5;filter:drop-shadow(0 3px 2px #4c101577);background:linear-gradient(110deg,#fff3b8,#f4b946);clip-path:polygon(50% 100%,4% 20%,16% 0,84% 0,96% 20%);display:flex;justify-content:center;padding-top:6px}.pointer span{color:#8e1726;font-size:25px}.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104px;height:104px;border:6px solid #ffdd87;outline:3px solid #7d0b1c;border-radius:50%;background:radial-gradient(circle at 35% 20%,#ee4051,#a50c24 75%);color:var(--cream);box-shadow:0 5px 0 #680b1a,0 7px 14px #630e2350;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:4}.hub>span{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:800;letter-spacing:.7px}.hub small{font-size:6px;letter-spacing:.8px;margin-top:2px}.hub:disabled{cursor:default}.pedestal{position:absolute;bottom:5px;left:50%;width:160px;height:95px;transform:translateX(-50%);z-index:0;background:linear-gradient(90deg,#861027,#e94543 50%,#8b1024);clip-path:polygon(35% 0,65% 0,78% 75%,100% 83%,100% 100%,0 100%,0 83%,22% 75%);border-bottom:6px solid #efad61}.floor-shadow{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);width:310px;height:30px;border-radius:50%;background:#57071966;filter:blur(9px);z-index:-1}.decor{position:absolute;color:#ffd18c;text-shadow:0 3px #680d21;z-index:0}.star-left{font-size:78px;left:-100px;top:50%;transform:rotate(-12deg)}.star-right{font-size:42px;right:-70px;top:20%}.orbit-label{position:absolute;left:-75px;top:12%;font-family:'Barlow Condensed',sans-serif;font-size:21px;letter-spacing:2px;line-height:1.05;transform:rotate(-16deg);color:#ffcf91;border-top:1px solid #ffcf9155;border-bottom:1px solid #ffcf9155;padding:8px}.controls{position:relative;z-index:3;margin:15px auto 0;max-width:310px}.spin{width:100%;display:flex;justify-content:center;align-items:center;gap:25px;border:1px solid #fff3ba;border-radius:10px;background:linear-gradient(#ffe6a7,#ffca6e);padding:16px 20px;color:#831228;font-size:13px;letter-spacing:.7px;font-weight:900;box-shadow:0 5px 0 #b45e28,0 8px 0 #700e20,0 12px 25px #5d0c242f;transition:filter .2s,transform .2s}.spin span{font-size:20px;line-height:1}.spin:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.spin:disabled{opacity:.65;cursor:default}.status{font-size:10px;color:#f6b8a7;margin-top:18px;min-height:15px}.status b{color:#ffe2a0;font-weight:600}footer{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:25px;font-size:8px;letter-spacing:1.4px;color:#f2b2a4a8}footer button{border:0;border-left:1px solid #efb7a630;background:transparent;color:#f5c5ad;font-size:10px;padding:4px 0 4px 16px;letter-spacing:0}footer button:disabled{opacity:.4}dialog{padding:0;overflow:visible;background:transparent;border:0;color:var(--cream);width:min(380px,calc(100vw - 40px))}dialog::backdrop{background:#31040bd9;backdrop-filter:blur(9px)}.result-content{position:relative;background:radial-gradient(circle at 50% 15%,#d92c3b,#900e26);border:2px solid #f2c075;border-radius:20px;padding:34px 24px 28px;text-align:center;box-shadow:0 0 0 7px #761126,0 25px 80px #0006}#close{position:absolute;right:12px;top:8px;background:none;border:0;color:#ffdf9c;font-size:26px}.modal-kicker{font-size:8px;letter-spacing:1.6px}#emoji{font-size:85px;margin:22px 0 10px;filter:drop-shadow(0 8px 8px #4b051d55)}.result-content p{font-size:12px;color:#ffc6b1;margin-bottom:5px}.result-content h2{font-size:29px;margin:0 0 22px;letter-spacing:-1px}#code{font-size:18px;font-weight:600;letter-spacing:3px;border:1px dashed #f0be7a88;border-radius:6px;padding:14px;background:#6f10254d}.result-content small{display:block;font-size:8px;color:#ecb3a5;margin:12px 0 25px}#continue{font-size:11px}#confetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:3}@media(min-height:950px) and (min-width:701px){main{padding-top:25px}.machine{width:520px;margin-top:40px}.controls{margin-top:24px}}@media(max-width:700px){header{padding:20px}.brand{font-size:28px}.brand span{font-size:26px}.edition{display:none}main{padding:12px 20px 18px}.eyebrow{font-size:7px;letter-spacing:2px}h1{font-size:43px;margin:13px 0 10px}.intro p{font-size:10px}.machine{margin-top:32px;width:min(410px,calc(100vw - 62px))}.wheel-frame{padding:23px}.bulb{width:7px;height:7px}.wheel-frame:before{inset:6px}.pointer{width:37px;height:53px;top:-17px}.pointer span{font-size:20px}.hub{width:83px;height:83px;border-width:5px}.hub>span{font-size:27px}.hub small{font-size:5px}.star-left{left:-22px;top:79%;font-size:39px}.star-right{right:-19px;top:6%;font-size:29px}.orbit-label{display:none}.controls{max-width:280px;margin-top:16px}.spin{font-size:12px;padding:16px}.status{font-size:9px}footer{margin-top:24px;font-size:7px}.pedestal{width:135px}#sound{height:33px}#sound span{font-size:8px}}@media(max-width:360px){h1{font-size:37px}.machine{width:calc(100vw - 54px)}.hub{width:74px;height:74px}.hub>span{font-size:23px}}@media(prefers-reduced-motion:reduce){#wheel{transition-duration:.15s}.bulb{animation:none!important}.spin{transition:none}}

/* Orange Pop: retro print, scalloped disk, bold outlines and citrus colors. */
:root{--cream:#fff2d5;--gold:#ffd45a;--red:#6f311b}body{background:#f47f32;color:#72301c;background-image:radial-gradient(ellipse at 50% 48%,#ffac4b,#f58a36 50%,#ed6b26)}body:after{opacity:.12}.rays{opacity:.17;mask-image:none;background:repeating-conic-gradient(from 0deg at 50% 52%,transparent 0deg 18deg,#ffd58b 18deg 36deg)}header{padding-top:29px}.brand{color:#79321c}.brand span{color:#fff0c3}.edition{color:#7e381e;font-size:8px;opacity:.8}#sound{border:1px solid #873b2566;color:#73321c;background:#fff0c31a}#sound[aria-pressed=true]{background:#75311c;color:#ffedbd}.eyebrow{font-size:8px;letter-spacing:2px;color:#8a3d23}.eyebrow>span{background:#9b4c26;width:23px}h1{font-family:'Be Vietnam Pro',sans-serif;font-size:clamp(35px,4.3vw,51px);font-weight:900;letter-spacing:-2.7px;line-height:1.12;margin:16px 0 14px;color:#fff0ce;text-shadow:2px 3px 0 #7a321c}h1 em{font-style:normal;color:#75311c;text-shadow:none}.intro p{font-size:10px;color:#8b421f;font-weight:500}.machine{width:min(420px,calc(100vw - 92px));margin-top:33px;padding-bottom:0;margin-bottom:25px}.machine:before{content:'';position:absolute;inset:-19px;border-radius:50%;background:repeating-conic-gradient(#ffd45a 0deg 10deg,#f1a342 10deg 20deg);border:2px solid #7d341e;box-shadow:0 8px 0 #be552c,0 10px 0 #7d341e;z-index:-1}.wheel-frame{padding:12px;background:#ffefc9;border:2px solid #7a311d;box-shadow:0 0 0 4px #ffd565,0 0 0 6px #7a311d}.wheel-frame:before{inset:5px;background:#f9c656;border:1px solid #9b4a2a}.wheel-inner{border:2px solid #873a21;box-shadow:none}.bulbs{display:none}.pointer{width:40px;height:57px;top:-27px;background:#77371f;clip-path:polygon(8% 0,92% 0,100% 20%,50% 100%,0 20%);padding-top:6px;filter:none}.pointer span{font-size:23px;color:#ffdd76}.hub{width:98px;height:98px;background:#f68031;border:4px solid #fff0c9;outline:2px solid #833920;box-shadow:0 4px 0 #833920;color:#fff2cb}.hub>span{font-family:'Be Vietnam Pro',sans-serif;font-size:30px;font-weight:900;letter-spacing:-1px;transform:rotate(-7deg);text-shadow:1px 2px #8b3b1e}.hub small{font-size:5px;color:#7b341d;font-weight:700;letter-spacing:.4px;margin-top:7px}.pedestal,.floor-shadow{display:none}.decor{color:#fff0c3;text-shadow:none}.star-left{font-size:51px;left:-96px;top:55%;transform:rotate(14deg)}.star-right{font-size:34px;right:-85px;top:10%;color:#8d4723}.orbit-label{width:80px;height:80px;border-radius:50%;background:#fff0c3;border:2px solid #853c20;box-shadow:3px 3px 0 #853c20;color:#843c20;display:grid;place-content:center;font-family:'Be Vietnam Pro',sans-serif;font-size:14px;line-height:1.2;font-weight:800;letter-spacing:-.4px;left:-96px;top:8%;padding:0;transform:rotate(-14deg)}.controls{margin:39px auto 0;max-width:293px}.spin{background:#7e391f;border:2px solid #73321b;border-radius:8px;color:#fff0c4;padding:16px 17px;font-size:11px;letter-spacing:.3px;box-shadow:4px 4px 0 #ffdc77,6px 6px 0 #8c3d21}.spin:hover:not(:disabled){filter:none;background:#984927}.status{color:#8b4526;font-size:9px;margin-top:18px}.status b{color:#6f311b;font-weight:700}footer{color:#995027;font-size:7px;margin-top:22px}footer button{border-color:#aa572e66;color:#75321b}dialog::backdrop{background:#64311caa;backdrop-filter:blur(6px)}.result-content{background:#fff0cd;border:2px solid #81351d;border-radius:16px;box-shadow:8px 8px 0 #e98032,10px 10px 0 #77321c;color:#7f371d}.modal-kicker{color:#9b522a}#close{color:#80371e}.result-content p{color:#a1663b}.result-content h2{font-weight:900;letter-spacing:-1.2px}#code{background:#ffdf8e;border:1px dashed #9f5d2e;color:#78371c}.result-content small{color:#a16942}#continue{background:#f58733;color:#723119;box-shadow:3px 3px 0 #79361e;border-color:#79361e;font-size:10px}@media(max-width:700px){header{padding:22px 24px}main{padding-top:7px}.eyebrow{font-size:6.5px}h1{font-size:39px;letter-spacing:-2px}.intro p{font-size:9px}.machine{width:min(360px,calc(100vw - 95px));margin-top:37px}.machine:before{inset:-15px}.wheel-frame{padding:9px}.wheel-frame:before{inset:4px}.pointer{width:33px;height:48px;top:-24px}.pointer span{font-size:18px}.hub{width:77px;height:77px;border-width:3px}.hub>span{font-size:25px}.hub small{font-size:4px}.star-left{left:-31px;top:82%;font-size:33px}.star-right{right:-28px;top:7%;font-size:24px}.orbit-label{display:none}.controls{max-width:265px;margin-top:35px}.spin{font-size:10px;padding:15px}.status{font-size:8px}footer{font-size:6px}}@media(min-height:950px) and (min-width:701px){.machine{width:465px;margin-top:40px}.controls{margin-top:40px}}

/* TEMBASE brand sizing */
.logo,.brand{font-size:26px;letter-spacing:-1px;font-weight:800}.logo span,.brand span{font-size:25px}.wheel-center{font-size:11px;letter-spacing:-.3px}.wheel-center span{font-size:6px}@media(max-width:700px){.logo,.brand{font-size:22px}.logo span,.brand span{font-size:22px}.wheel-center{font-size:10px}}
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,500;1,600&display=swap');
/* Birthday Wishes */
:root{--cream:#fff5ef;--gold:#d084a8;--red:#8b3b61}body{background:radial-gradient(ellipse at 50% 45%,#ffedf1,#f8d5e1 60%,#eebbd2);color:#894262}body:after{opacity:.04}.rays{opacity:.4;background:radial-gradient(#d681aa 1px,transparent 1px);background-size:29px 29px;mask-image:linear-gradient(black,transparent 65%)}header{position:relative;z-index:3}.brand{color:#8b3d63}.brand span{color:#bd749b}.edition{color:#ac7694;opacity:1}#sound{color:#9a5275;background:#fff5ef55;border-color:#bd84a655}#sound[aria-pressed=true]{background:#a9527e;color:#fff3ef}.eyebrow{color:#b47b98;font-size:8px;letter-spacing:1.8px}.eyebrow>span{background:#be87a4;height:4px;width:4px;border-radius:50%}h1{font-family:'Be Vietnam Pro',sans-serif;font-weight:600;font-size:clamp(31px,4vw,46px);letter-spacing:-1.9px;color:#884568;text-shadow:none;line-height:1.2;margin:17px 0}h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1.15em;color:#bb5688;letter-spacing:-1.7px}.intro p{color:#ac7892;font-size:10px;font-weight:400}.machine{width:min(420px,calc(100vw - 90px));margin-top:36px;margin-bottom:30px}.machine:before{inset:-15px;background:#f9e8ef;border:1px solid #fff9f4;box-shadow:0 0 0 1px #cb8aac55,0 15px 45px #b05c8322}.machine:after{content:'🎀';position:absolute;bottom:-28px;left:calc(50% - 28px);font-size:49px;z-index:4;filter:drop-shadow(0 4px 3px #a9587333)}.wheel-frame{padding:14px;background:linear-gradient(135deg,#fffbf4,#edc0d6,#fff6ef);border:1px solid #d090b0;box-shadow:0 0 0 5px #fef3f2,0 0 0 6px #e3b2caaa,0 12px 25px #a958731c}.wheel-frame:before{inset:6px;background:#f8e3ec;border:1px dashed #cc8faf}.wheel-inner{border:1px solid #cc8aac;box-shadow:0 0 0 2px #ffedf3}.pointer{background:linear-gradient(90deg,#d77faa,#a74c7c);clip-path:polygon(50% 100%,5% 30%,15% 5%,85% 5%,95% 30%);width:37px;height:53px;top:-22px;filter:drop-shadow(0 3px 3px #a35b7133)}.pointer span{color:#fff1ed;font-size:22px}.hub{background:#fff3ed;color:#ab5982;border:4px solid #e7a8c5;outline:2px solid #fff3f2;box-shadow:0 4px 12px #a9598133}.hub>span{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:31px;text-shadow:none;transform:none;letter-spacing:-1px}.hub small{color:#b37a97;font-weight:500;font-size:5px}.decor{color:#c985a9;text-shadow:none}.star-left{font-size:56px;left:-92px;top:60%;transform:rotate(-16deg)}.star-right{color:#bb89b3;font-size:30px;right:-76px;top:13%}.orbit-label{background:#fff3efcc;border:1px solid #d7a3bc;box-shadow:none;font-size:10px;letter-spacing:1px;font-weight:500;color:#b76e94;transform:rotate(-12deg);width:85px;height:85px}.controls{margin-top:43px;max-width:285px}.spin{background:#b5628b;border:1px solid #ad5a81;border-radius:40px;color:#fff7f3;box-shadow:0 5px 0 #9c5077,0 12px 25px #b1617c25;letter-spacing:.9px;font-size:10px;padding:17px}.spin:hover:not(:disabled){background:#a34e7a;filter:none}.status{color:#ac7992;font-size:9px}.status b{color:#914569}footer{color:#bc91a5}footer button{color:#a9678a;border-color:#bc91a555}dialog::backdrop{background:#4c233a99;backdrop-filter:blur(8px)}.result-content{background:linear-gradient(#fff7f4,#f9dfe9);color:#974a73;border:1px solid white;border-radius:24px;box-shadow:0 0 0 6px #edbad277,0 25px 80px #62314c66}.modal-kicker{color:#b47696}#close{color:#af7495}.result-content p{color:#b27998}.result-content h2{font-weight:600;font-size:27px}#code{background:#fff9f577;border-color:#ce9ab4;color:#a35b82}.result-content small{color:#b68099}#continue{background:#b5628b;border-color:#ad5a81;border-radius:30px;color:#fff3ef;box-shadow:0 4px 0 #a4547e}.balloon{position:fixed;width:100px;height:125px;background:radial-gradient(circle at 30% 25%,#fff4f5aa,#edaccb 50%,#cc85b0);border-radius:50%;box-shadow:inset -6px -6px 14px #b475a41a;opacity:.65;pointer-events:none;transform:rotate(-15deg)}.balloon:before{content:'';position:absolute;top:98%;left:46%;height:150px;width:40px;border-left:1px solid #b888a8;border-radius:50%;transform:rotate(10deg)}.balloon-one{left:8%;top:30%}.balloon-two{right:7%;top:55%;width:80px;height:100px;background:radial-gradient(circle at 30% 25%,#fff6ffbb,#cbb6e0 60%,#b4a2d0);transform:rotate(17deg)}@media(max-width:700px){h1{font-size:34px;letter-spacing:-1.6px}.eyebrow{font-size:6.5px}.machine{width:min(360px,calc(100vw - 88px));margin-top:36px}.wheel-frame{padding:11px}.machine:before{inset:-11px}.machine:after{font-size:41px;bottom:-25px;left:calc(50% - 23px)}.hub>span{font-size:26px}.hub small{font-size:4px}.hub{border-width:3px}.star-left{left:-32px;font-size:32px;top:83%}.star-right{right:-28px;font-size:22px;top:5%}.balloon-one{left:-35px;top:20%;width:70px;height:90px;opacity:.4}.balloon-two{right:-30px;top:70%;width:65px;height:80px;opacity:.45}.controls{max-width:260px;margin-top:40px}.spin{font-size:10px}.intro p{font-size:9px}}@media(min-height:950px) and (min-width:701px){.machine{width:465px;margin-top:38px}}
