@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}}

/* Blue Orbit: cool light, orbital geometry, translucent controls. */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');
:root{--cream:#e5f4ff;--gold:#7edbff;--red:#102b77}body{background:#081b52;background-image:radial-gradient(ellipse at 50% 46%,#234c9f 0,#101f5f 45%,#060f34 100%);color:#e5f4ff}body:after{opacity:.035}.rays{opacity:.5;mask-image:none;background-image:radial-gradient(circle at 17% 31%,#a4deff 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#fff 0 1px,transparent 2px),radial-gradient(circle at 72% 78%,#68d2ff 0 1px,transparent 2px),radial-gradient(circle at 25% 82%,#fff 0 1px,transparent 2px);background-size:233px 251px,319px 281px,371px 327px,281px 237px}.rays:after{content:'';position:absolute;inset:0;background:linear-gradient(#84c5ff0b 1px,transparent 1px),linear-gradient(90deg,#84c5ff0b 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(transparent,black)}header{padding-top:30px}.brand span{color:#79d5fd}.edition{color:#b1d7ff;font-size:8px}#sound{border-color:#83cfff44;background:#497cb31a;color:#bce5ff}#sound[aria-pressed=true]{background:#b8eaff;color:#163271}.eyebrow{color:#88cfff;font-size:8px;letter-spacing:2px}.eyebrow>span{background:#8ad6ff;width:5px;height:5px;border-radius:50%;box-shadow:0 0 8px #8ad6ff}h1{font-family:'Be Vietnam Pro',sans-serif;font-size:clamp(34px,4.3vw,52px);letter-spacing:-2.5px;font-weight:700;line-height:1.2;text-shadow:none;margin:18px 0 12px}h1 em{background:linear-gradient(100deg,#9dedff,#aabaff);background-clip:text;color:transparent}.intro p{color:#96b2d7;font-size:11px}.machine{width:min(450px,calc(100vw - 90px));padding-bottom:0;margin-top:38px;margin-bottom:35px}.machine:before{content:'';position:absolute;inset:9% -14%;border:1px solid #a3e9ff44;border-radius:50%;transform:rotate(-28deg);z-index:3;pointer-events:none;box-shadow:0 0 20px #5cbbff0d}.machine:after{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:#a9e9ff;left:-3%;top:70%;box-shadow:0 0 25px #7ccbff;z-index:4}.wheel-frame{padding:19px;background:linear-gradient(130deg,#a3def5,#315b9e 45%,#93cce9 80%,#254b8c);border:1px solid #ceeeff;box-shadow:0 0 0 5px #0b245f,0 0 0 6px #5ca0d266,0 0 50px #5cabff40,0 15px 50px #040b3880}.wheel-frame:before{inset:5px;background:#0b245f;border:1px solid #a4deff55}.wheel-inner{border:2px solid #afdaeb;box-shadow:0 0 0 3px #132665}.bulb{width:3px;height:3px;background:#a6dfff;box-shadow:0 0 5px #68c7ff}.bulb:nth-child(even){background:#a6dfff;box-shadow:0 0 5px #68c7ff}.pointer{width:37px;height:56px;top:-19px;background:linear-gradient(90deg,#b9f3ff,#73bcf3);clip-path:polygon(50% 100%,0 25%,50% 0,100% 25%);padding-top:5px}.pointer span{color:#18378e;font-size:22px}.hub{width:97px;height:97px;background:linear-gradient(135deg,#357ee5,#122b7b);border:5px solid #b4e2f9;outline:3px solid #244b87;box-shadow:0 0 25px #85d8ff55,0 5px 8px #0e215faa;color:#e9faff}.hub>span{font-family:'Be Vietnam Pro',sans-serif;font-size:31px;font-weight:800;letter-spacing:-1px}.hub small{font-size:5px;letter-spacing:.8px}.pedestal,.floor-shadow{display:none}.decor{color:#a0dcff;text-shadow:0 0 20px #4cacff}.star-left{font-size:38px;left:-95px;top:58%}.star-right{font-size:22px;right:-61px;top:4%}.orbit-label{color:#8ab3e9;border:none;font-family:'Be Vietnam Pro',sans-serif;font-size:10px;letter-spacing:2px;line-height:1.5;left:-100px;top:20%;transform:rotate(-12deg)}.controls{max-width:305px;margin-top:0}.spin{border:1px solid #c9eeff;border-radius:40px;background:linear-gradient(100deg,#abeaff,#b9cfff);color:#102e77;box-shadow:0 6px 30px #5790e944;padding:17px 20px;font-size:11px;letter-spacing:.6px}.status{color:#8faed5;font-size:9px}.status b{color:#c4edff}footer{color:#6988b4}footer button{border-color:#426490;color:#b3cee9}.result-content{background:radial-gradient(circle at 50% 10%,#24539f,#101f5f);border:1px solid #9fdcff;border-radius:25px;box-shadow:0 0 0 6px #0c205b,0 0 0 7px #528abd66,0 30px 70px #0007;color:#def2ff}dialog::backdrop{background:#040e30cc}.modal-kicker{color:#9cd7ff}#close{color:#afdcff}.result-content p{color:#8fb9dc}#code{background:#4c94ce16;border-color:#80baec66;color:#c4eaff}.result-content small{color:#85a9d1}#continue{font-size:10px}@media(max-width:700px){header{padding:23px 25px}main{padding-top:12px}h1{font-size:37px;letter-spacing:-2px}.eyebrow{font-size:7px}.intro p{font-size:10px}.machine{width:min(390px,calc(100vw - 87px));margin-top:36px;margin-bottom:34px}.wheel-frame{padding:16px}.bulb{width:3px;height:3px}.hub{width:78px;height:78px;border-width:4px}.hub>span{font-size:27px}.hub small{font-size:4px}.pointer{width:30px;height:48px;top:-17px}.pointer span{font-size:18px}.star-left{left:-24px;top:85%;font-size:24px}.star-right{right:-21px;top:2%;font-size:19px}.machine:before{inset:14% -11%}.machine:after{width:9px;height:9px}.controls{max-width:275px}.spin{font-size:10px}footer{margin-top:23px}}@media(min-height:950px) and (min-width:701px){.machine{width:490px;margin-top:47px;margin-bottom: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}}
