:root{--ctc-navy:#0b2545;--ctc-navy-light:#13315c;--ctc-gold:#c9a227;--ctc-gold-light:#e6c65c;--ctc-bg:#f4f6fb;--ctc-text:#101828;--ctc-muted:#667085;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ctc-bg);color:var(--ctc-text);-webkit-tap-highlight-color:transparent;margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}html[dir=rtl]{line-height:1.3}html[dir=rtl] body{font-family:Cairo,Segoe UI,system-ui,-apple-system,sans-serif}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.app-shell{box-sizing:border-box;background:var(--ctc-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden auto}.app-topbar{background:var(--ctc-navy);direction:ltr;flex:none;justify-content:space-between;align-items:center;padding:clamp(8px,2vh,16px) clamp(16px,4vw,24px);display:flex}.app-logo{width:auto;height:clamp(20px,4.5vh,32px)}.lang-toggle{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:700}.lang-toggle:hover{background:#fff3}.app-main{background:repeating-linear-gradient(120deg, #0b25450a 0px, #0b25450a 1px, transparent 1px, transparent 42px), radial-gradient(120% 90% at 50% -10%, #c9a22729, transparent 60%), var(--ctc-bg);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:clamp(8px,1.6vh,16px);min-height:0;padding:clamp(8px,1.6vh,16px) clamp(16px,4vw,24px);display:flex;position:relative}.brand-panel{text-align:center;flex-direction:column;flex:none;align-items:center;display:flex}.brand-icon{color:#fffc;width:clamp(20px,3.2vh,32px);height:clamp(20px,3.2vh,32px);margin-bottom:clamp(4px,1vh,8px)}.brand-heading{color:#fff;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(20px,4vh,32px);font-weight:700;line-height:1.15}html[dir=rtl] .brand-heading{font-family:Cairo,sans-serif}.brand-rule{background:linear-gradient(90deg, var(--ctc-gold), transparent);width:48px;height:2px;margin:clamp(6px,1.2vh,10px) auto}html[dir=rtl] .brand-rule{background:linear-gradient(270deg, var(--ctc-gold), transparent)}.brand-subtitle{color:#ffffffa6;max-width:420px;margin:0;font-size:clamp(13px,2vh,16px)}.content-panel{background:linear-gradient(160deg, var(--ctc-navy-light), var(--ctc-navy) 75%);color:#fff;border-radius:24px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:clamp(10px,2vh,18px);width:min(90%,460px);max-width:460px;min-height:clamp(320px,92vh,440px);max-height:100%;margin:0 auto;padding:clamp(16px,3vh,28px);display:flex;position:relative;overflow-y:auto}.visitor-form{flex-direction:column;gap:4px;width:100%;display:flex}.visitor-form label{color:#fff;flex-direction:column;gap:6px;margin-bottom:clamp(8px,2vh,16px);font-size:14px;font-weight:600;display:flex}.optional{color:#fff9;font-weight:400}.icon-input{background:0 0;border:1.5px solid #ffffff47;border-radius:12px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s;display:flex}.icon-input:focus-within{border-color:var(--ctc-gold)}.icon-input-icon{color:#ffffff8c;flex-shrink:0;width:18px;height:18px}.icon-input input{color:#fff;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:clamp(10px,2.2vh,14px) 0;font-size:16px}.icon-input input::placeholder{color:#ffffff59}.phone-input .phone-prefix{color:#ffffffd9;border-inline-end:1px solid #ffffff2e;padding-inline-end:10px;font-size:16px;font-weight:600}.form-error{color:#ff8a80;margin:0 0 12px;font-size:14px}.btn-primary{background:linear-gradient(135deg, var(--ctc-gold-light), var(--ctc-gold));color:var(--ctc-navy);letter-spacing:.02em;touch-action:manipulation;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:clamp(12px,2.8vh,16px) 22px;font-size:16px;font-weight:800;transition:transform .1s,filter .15s;display:flex}.btn-primary span{font-size:18px;line-height:1}html[dir=rtl] .btn-primary span{display:inline-block;transform:scaleX(-1)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:#ffffffbf;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:8px 0 0;font-size:14px;font-weight:600}.btn-link:hover:not(:disabled){color:#fff}.btn-link:disabled{color:#ffffff59;cursor:not-allowed}.trust-line{color:#ffffff8c;justify-content:center;align-items:center;gap:6px;margin:clamp(10px,2vh,16px) 0 0;font-size:12px;display:flex}.trust-icon{color:#ffffff8c;opacity:.85;flex-shrink:0;width:15px;height:15px}.wheel-screen{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin-top:clamp(6px,1.5vh,14px);display:flex}.wheel-wrapper{width:min(64vmin,320px);height:min(64vmin,320px);position:relative}.wheel-rivets{z-index:3;pointer-events:none;position:absolute;inset:0}.wheel-rivet{background:linear-gradient(135deg,#f3da8b,#8a6c1a);border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute;box-shadow:0 1px 2px #0006}.wheel-pointer{border-left:11px solid #0000;border-right:11px solid #0000;border-top:20px solid var(--ctc-gold);z-index:4;filter:drop-shadow(0 3px 4px #00000059);width:0;height:0;margin-left:-11px;position:absolute;top:-10px;left:50%}.wheel-pointer-ball{background:var(--ctc-gold);border-radius:50%;width:12px;height:12px;position:absolute;top:-28px;left:50%;transform:translate(-50%);box-shadow:inset 0 -2px 3px #00000040,0 2px 3px #0000004d}.wheel{border:8px solid var(--ctc-gold);border-radius:50%;width:100%;height:100%;transition-property:transform;transition-timing-function:cubic-bezier(.17,.67,.12,.99);position:relative;box-shadow:0 20px 50px #00000073}.wheel-segment-label{transform-origin:0 100%;justify-content:center;width:50%;height:50%;padding-top:14px;display:flex;position:absolute;top:0;left:50%}.wheel-segment-label span{color:#fff;filter:drop-shadow(0 1px 2px #00000080);justify-content:center;align-items:center;display:flex}.wheel-segment-label span.on-gold{color:var(--ctc-navy);filter:none}.segment-icon{flex-shrink:0;width:28px;height:28px}.wheel-hub{z-index:5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-btn{border:3px solid var(--ctc-navy);width:clamp(66px,22vmin,88px);height:clamp(66px,22vmin,88px);color:var(--ctc-navy);letter-spacing:.05em;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 35% 30%,#f3da8b,#c9a227 55%,#9c7c22 100%);border-radius:50%;font-size:clamp(13px,3vmin,16px);font-weight:800;transition:transform .15s;box-shadow:0 8px 16px #0006}.hub-btn:active:not(:disabled){filter:brightness(.92)}.hub-btn:disabled{opacity:.9;cursor:not-allowed}.result-overlay{z-index:10;background:#0b2545bf;justify-content:center;align-items:center;padding:clamp(12px,3vh,24px);display:flex;position:fixed;inset:0}.result-card{text-align:center;width:100%;max-width:420px;max-height:100%;color:var(--ctc-text);background:#fff;border-radius:24px;padding:clamp(20px,5vh,36px) clamp(18px,4vw,32px);position:relative;overflow-y:auto;box-shadow:0 30px 60px #0006}.result-badge{background:#c9a2271f;border:1.5px solid #c9a2274d;border-radius:50%;justify-content:center;align-items:center;width:clamp(56px,12vh,68px);height:clamp(56px,12vh,68px);margin:0 auto clamp(10px,2vh,16px);display:flex}.result-badge-icon{width:55%;height:55%;color:var(--ctc-gold)}.result-card h2{color:var(--ctc-navy);margin:0}.result-card h3{color:var(--ctc-gold);margin:8px 0 4px;font-size:22px}.prize-description{color:var(--ctc-muted);margin:0 0 clamp(12px,3vh,20px);font-size:14px}.coupon-box{border:1.5px dashed var(--ctc-navy);background:#f2f4f7;border-radius:14px;flex-direction:column;gap:4px;margin-bottom:clamp(10px,2.5vh,16px);padding:clamp(10px,2.5vh,16px);display:flex}.coupon-code{letter-spacing:.08em;color:var(--ctc-navy);font-size:24px;font-weight:800}.coupon-expiry{color:var(--ctc-muted);font-size:13px}.sms-status{color:var(--ctc-text);min-height:20px;font-size:14px}.sms-status p{justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.sms-status-icon{flex-shrink:0;width:16px;height:16px}.sms-status-icon.sent{color:#4ade80}.sms-status-icon.error{color:#ffb74d}.result-card .btn-primary{margin:8px auto 0;display:inline-flex}
