.cwre{box-sizing:border-box;width:100%;max-width:520px;margin:0 auto;padding:clamp(22px,4vw,34px);background:var(--cwre-bg,#f7f6f3);color:var(--cwre-text,#171717);border:1px solid rgba(0,0,0,.08);border-radius:24px;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.1);font-family:inherit;position:relative;overflow:hidden}.cwre *{box-sizing:border-box}.cwre[hidden],.cwre-stage[hidden]{display:none!important}.cwre-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:24px}.cwre-pill{padding:7px 10px;border:1px solid #ddd;border-radius:30px;letter-spacing:.05em}.cwre-eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;opacity:.6;margin-bottom:12px}.cwre h2{font-size:clamp(25px,4vw,34px);line-height:1.08;letter-spacing:-.04em;margin:0 0 12px;color:var(--cwre-text,#171717);font-weight:850}.cwre p{font-size:14px;line-height:1.55;opacity:.72;margin:0 auto 20px;max-width:350px}.cwre-gift{position:relative;display:block;width:190px;height:180px;margin:4px auto 14px;border:0;background:transparent;cursor:pointer;animation:cwre-float 2.5s ease-in-out infinite}.cwre-gift-glow{position:absolute;width:180px;height:130px;left:5px;top:28px;border-radius:50%;background:radial-gradient(ellipse,rgba(124,58,237,.22),transparent 70%);filter:blur(5px)}.cwre-gift-box{position:absolute;left:31px;top:62px;width:128px;height:94px;background:linear-gradient(135deg,#262626,#050505);border-radius:8px 8px 12px 12px;box-shadow:0 18px 24px rgba(0,0,0,.2)}.cwre-gift-box:before{content:"";position:absolute;left:-7px;top:-14px;width:142px;height:25px;background:linear-gradient(90deg,#d9b777,#f6e2b0,#b58a42);border-radius:5px}.cwre-gift-lid{position:absolute;z-index:2;left:-10px;top:-32px;width:148px;height:27px;border-radius:5px;background:linear-gradient(90deg,#e4c78d,#fff0c6,#c8a25f);transform:rotate(-3deg);box-shadow:0 5px 8px rgba(0,0,0,.12)}.cwre-gift-ribbon{position:absolute;left:53px;top:-13px;width:22px;height:107px;background:linear-gradient(90deg,#e8cc8c,#fff0bf,#c69b50);z-index:3}.cwre-gift-bow{position:absolute;z-index:4;left:42px;top:-60px;color:#e0bd75;font-size:75px;font-weight:900;transform:rotate(-18deg);line-height:1}.cwre-spark{position:absolute;color:var(--cwre-accent,#7c3aed);font-size:25px;animation:cwre-sparkle 1.7s ease-in-out infinite}.cwre-s1{top:20px;left:16px}.cwre-s2{right:6px;top:52px;animation-delay:.4s}.cwre-s3{right:22px;bottom:9px;animation-delay:.8s}.cwre-gift.cwre-opening{animation:cwre-open .7s ease forwards}.cwre-button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:13px 24px!important;border:0!important;border-radius:999px!important;background:var(--cwre-primary,#111)!important;color:#fff!important;font:inherit!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.13);transition:transform .2s,opacity .2s}.cwre-button:hover{transform:translateY(-2px);opacity:.92}.cwre-button:disabled{opacity:.6;cursor:wait}.cwre-hint{display:block;margin-top:13px;font-size:11px;opacity:.55}.cwre-wheel-wrap{position:relative;width:min(76vw,320px);aspect-ratio:1;margin:24px auto}.cwre-wheel{position:relative;width:100%;height:100%;border-radius:50%;border:7px solid #fff;box-shadow:0 0 0 2px #171717,0 12px 30px rgba(0,0,0,.16);transition:transform 2s cubic-bezier(.12,.72,.12,1);overflow:hidden}.cwre-wheel:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 25px rgba(0,0,0,.16);pointer-events:none}.cwre-pointer{position:absolute;z-index:5;top:-9px;left:50%;transform:translateX(-50%);font-size:29px;color:var(--cwre-accent,#7c3aed);filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}.cwre-segment-label{position:absolute;left:50%;top:50%;width:76px;text-align:center;font-size:clamp(9px,2vw,12px);font-weight:900;line-height:1.1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.65);text-transform:uppercase;z-index:1;overflow-wrap:anywhere}.cwre-hub{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:27%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cwre-primary,#111);color:#fff;border:4px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.28);font-size:15px;font-weight:900;line-height:1.05}.cwre-hub small{font-size:9px;letter-spacing:.12em;margin-top:3px}.cwre-result{min-height:24px;margin-top:14px;font-size:14px;font-weight:750;line-height:1.5}.cwre-success{color:#07805b}.cwre-error{color:#b42318}.cwre-muted{opacity:.65}.cwre-confetti{font-size:24px;color:var(--cwre-accent);letter-spacing:.1em;animation:cwre-sparkle 1.2s infinite}.cwre-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:8px auto 18px;background:#dcfce7;color:#07805b;font-size:32px;font-weight:900}.cwre-won-label{font-weight:700!important;opacity:1!important}.cwre-code-label{font-size:10px;letter-spacing:.15em;font-weight:800;opacity:.55;margin-top:24px}.cwre-code{font-size:clamp(22px,5vw,32px);font-weight:900;letter-spacing:.1em;padding:17px 10px;margin:10px 0;border:1px dashed var(--cwre-accent);border-radius:12px;background:rgba(124,58,237,.06);overflow-wrap:anywhere}.cwre-copy{border:1px solid #ddd;background:#fff;border-radius:30px;padding:10px 18px;font-weight:700;cursor:pointer}.cwre-code-note{font-size:12px!important;margin:15px auto 20px!important}.cwre-foot{font-size:10px;opacity:.5;margin-top:26px;line-height:1.5}
.cwre-modal{display:none;position:fixed;z-index:999999;inset:0;align-items:center;justify-content:center;padding:18px}.cwre-modal.is-open{display:flex}.cwre-backdrop{position:absolute;inset:0;background:rgba(8,8,12,.72);backdrop-filter:blur(8px);animation:cwre-fade .25s}.cwre-modal-panel{position:relative;z-index:1;width:min(100%,560px);max-height:92vh;overflow:auto;border-radius:26px;animation:cwre-modal-in .38s cubic-bezier(.2,.8,.2,1);box-shadow:0 25px 100px rgba(0,0,0,.35)}.cwre-modal-panel .cwre{border:0;border-radius:26px}.cwre-modal-close{position:absolute;z-index:10;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.08);font-size:23px;line-height:1;cursor:pointer}.cwre-float-trigger{position:fixed;z-index:999999;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:112px;height:112px;border:0;border-radius:50%;background:linear-gradient(135deg,#171717,#333);box-shadow:0 12px 32px rgba(0,0,0,.25);cursor:pointer;display:grid;place-items:center;animation:cwre-center-float 2.3s ease-in-out infinite}.cwre-float-trigger:before{content:"";position:absolute;inset:-6px;border:2px solid var(--cwre-accent,#7c3aed);border-radius:50%;animation:cwre-pulse 2s infinite}.cwre-mini-gift{position:relative;width:49px;height:42px;border-radius:4px;background:#fff}.cwre-mini-gift:before{content:"";position:absolute;left:-4px;top:-9px;width:57px;height:12px;border-radius:3px;background:#e4c47e}.cwre-mini-gift:after{content:"";position:absolute;left:21px;top:-9px;width:8px;height:51px;background:#b88c48}.cwre-mini-bow{position:absolute;z-index:2;top:-24px;left:13px;font-size:34px;color:#e4c47e;line-height:1}.cwre-float-label{position:absolute;top:118px;right:auto;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#171717;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.12)}body.cwre-modal-active{overflow:hidden}
@keyframes cwre-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes cwre-center-float{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-53%) scale(1.04)}}@keyframes cwre-sparkle{0%,100%{opacity:.35;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}@keyframes cwre-open{0%{transform:scale(1) rotate(0);opacity:1}45%{transform:scale(1.15) rotate(-7deg)}100%{transform:scale(.2) rotate(20deg);opacity:0}}@keyframes cwre-fade{from{opacity:0}to{opacity:1}}@keyframes cwre-modal-in{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cwre-pulse{0%{transform:scale(.92);opacity:.8}70%,100%{transform:scale(1.18);opacity:0}}
@media(max-width:480px){.cwre-modal{padding:9px}.cwre-modal-panel{max-height:94vh;border-radius:18px}.cwre-modal-panel .cwre{padding:22px 15px;border-radius:18px}.cwre-gift{transform:scale(.9);margin-top:-2px;margin-bottom:4px}.cwre-float-trigger{width:96px;height:96px;left:50%;right:auto;top:50%;bottom:auto}.cwre-float-label{top:100px;display:block}.cwre-segment-label{width:64px;font-size:9px}}

/* v3.5 compact single-viewport experience */
.cwre-modal{padding:10px!important;overflow:hidden!important}
.cwre-modal-panel{width:min(100%,460px)!important;max-height:calc(100dvh - 20px)!important;overflow:hidden!important;border-radius:22px!important}
.cwre-modal-panel .cwre{max-height:calc(100dvh - 20px);overflow:hidden!important;padding:clamp(12px,2.2vh,22px) clamp(14px,3vw,24px)!important;border-radius:22px!important}
.cwre-top{margin-bottom:clamp(8px,1.4vh,16px)!important;font-size:9px!important}
.cwre h2{font-size:clamp(21px,3.5vh,29px)!important;margin-bottom:7px!important}
.cwre p{font-size:12px!important;line-height:1.35!important;margin-bottom:10px!important}
.cwre-eyebrow{font-size:9px!important;margin-bottom:7px!important}
.cwre-gift{width:145px!important;height:126px!important;margin:0 auto 2px!important;transform:scale(.82)}
.cwre-gift-box{transform:scale(.78);transform-origin:top center}
.cwre-wheel-wrap{width:min(60vw, min(270px, 31vh))!important;margin:10px auto 12px!important}
.cwre-segment-label{width:62px!important;font-size:9px!important}
.cwre-hub{font-size:12px!important}
.cwre-button{min-height:40px!important;padding:10px 19px!important;font-size:12px!important}
.cwre-result{font-size:12px!important;min-height:18px!important;margin-top:8px!important}
.cwre-code-label{margin-top:12px!important;font-size:9px!important}
.cwre-code{font-size:clamp(18px,4vh,26px)!important;padding:10px 8px!important;margin:7px 0!important}
.cwre-code-note{margin:8px auto 10px!important}
.cwre-success-icon{width:42px!important;height:42px!important;font-size:24px!important;margin:3px auto 9px!important}
.cwre-confetti{font-size:17px!important}
.cwre-foot{font-size:9px!important;margin-top:12px!important}
.cwre-retry{display:inline-block;margin:9px 0 0!important;border:1px dashed #7c3aed!important;border-radius:30px!important;background:transparent!important;color:var(--cwre-text,#171717)!important;padding:8px 13px!important;font:inherit!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
.cwre-retry[hidden]{display:none!important}
@media(max-height:700px){.cwre-modal-panel .cwre{padding:10px 14px!important}.cwre-top{margin-bottom:6px!important}.cwre-gift{height:98px!important;transform:scale(.65)}.cwre-wheel-wrap{width:min(52vw,220px)!important;margin:6px auto 8px!important}.cwre h2{font-size:21px!important}.cwre-foot{margin-top:6px!important}}
@media(max-width:480px){.cwre-modal-panel{max-height:calc(100dvh - 12px)!important}.cwre-modal-panel .cwre{max-height:calc(100dvh - 12px)!important;padding:12px 12px!important}.cwre-wheel-wrap{width:min(68vw, min(260px, 30vh))!important}.cwre-float-trigger{width:100px!important;height:100px!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important}}

/* v3.7 visual refinement: readable labels, circular close button, balanced modal */
.cwre-modal{padding:12px!important}
.cwre-modal-panel{width:min(94vw,500px)!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;border-radius:26px!important}
.cwre-modal-panel .cwre{position:relative;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;padding:24px 26px 20px!important;border-radius:26px!important}
.cwre-modal-close{position:absolute!important;z-index:30!important;top:12px!important;right:12px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #d4d4d4!important;border-radius:50%!important;background:#171717!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:26px!important;font-weight:400!important;line-height:1!important;box-shadow:0 3px 12px rgba(0,0,0,.18)!important;cursor:pointer!important;opacity:1!important}
.cwre-modal-close:hover{background:#7c3aed!important;color:#fff!important;transform:scale(1.04)}
.cwre-top{padding-right:40px!important;margin-bottom:16px!important;font-size:10px!important}
.cwre-pill{font-size:9px!important;padding:7px 10px!important;max-width:145px!important;white-space:nowrap!important}
.cwre h2{font-size:clamp(25px,4vh,32px)!important;line-height:1.08!important;margin:0 0 8px!important;letter-spacing:-.035em!important}
.cwre p{font-size:13px!important;line-height:1.4!important;margin:0 auto 14px!important}
.cwre-eyebrow{font-size:10px!important;letter-spacing:.16em!important;margin-bottom:9px!important}
.cwre-wheel-wrap{width:min(68vw,300px,34vh)!important;margin:12px auto 16px!important}
.cwre-wheel{border-width:6px!important}
.cwre-segment-label{width:clamp(50px,13vw,70px)!important;font-size:clamp(9px,1.5vh,11px)!important;line-height:1.15!important;text-align:center!important}
.cwre-hub{font-size:13px!important;border-width:4px!important}
.cwre-button{min-height:44px!important;padding:11px 20px!important;font-size:13px!important;white-space:nowrap!important}
.cwre-retry{min-height:40px!important;padding:9px 14px!important;font-size:11px!important;white-space:nowrap!important}
.cwre-result{font-size:13px!important;line-height:1.4!important;margin-top:10px!important}
.cwre-foot{font-size:10px!important;line-height:1.4!important;margin-top:16px!important}
.cwre-code{font-size:clamp(20px,4vh,28px)!important;letter-spacing:.08em!important}
@media(max-height:720px){
 .cwre-modal-panel{width:min(94vw,460px)!important}
 .cwre-modal-panel .cwre{padding:15px 20px 12px!important}
 .cwre-top{margin-bottom:8px!important}
 .cwre h2{font-size:clamp(22px,3.6vh,27px)!important}
 .cwre p{font-size:12px!important;margin-bottom:7px!important}
 .cwre-eyebrow{margin-bottom:5px!important}
 .cwre-wheel-wrap{width:min(55vw,250px,31vh)!important;margin:7px auto 9px!important}
 .cwre-foot{margin-top:8px!important}
 .cwre-modal-close{top:8px!important;right:8px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
}
@media(max-width:480px){
 .cwre-modal{padding:8px!important}
 .cwre-modal-panel{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important}
 .cwre-modal-panel .cwre{max-height:calc(100dvh - 16px)!important;padding:20px 14px 14px!important;border-radius:20px!important}
 .cwre-top{padding-right:34px!important;margin-bottom:10px!important}
 .cwre h2{font-size:clamp(22px,5.5vw,28px)!important}
 .cwre-wheel-wrap{width:min(74vw,270px,32vh)!important;margin:9px auto 12px!important}
 .cwre-button{min-height:42px!important;padding:10px 15px!important;font-size:12px!important}
 .cwre-retry{font-size:10px!important;padding:8px 10px!important}
 .cwre-modal-close{top:8px!important;right:8px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
}

/* CONWEB license expiry overlay */
.cwre{position:relative}.cwre-license-lock[hidden]{display:none!important}.cwre-license-lock{position:absolute;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(247,246,243,.97);border-radius:inherit;text-align:center}.cwre-license-lock-card{width:100%;max-width:330px;padding:22px 18px;border:1px solid #e5e5e5;border-radius:18px;background:#fff;box-shadow:0 14px 45px rgba(0,0,0,.12)}.cwre-license-lock-card strong{display:block;font-size:23px;line-height:1.2;color:#171717}.cwre-license-lock-card p{margin:12px auto 18px!important;opacity:.8}.cwre-license-lock-card a{display:inline-flex!important;margin:4px!important;text-decoration:none!important}.cwre-license-recheck{display:block;margin:12px auto 0;border:0;background:transparent;text-decoration:underline;font:inherit;font-size:12px;cursor:pointer;color:#171717}.cwre-license-expired .cwre-stage{filter:blur(1px);pointer-events:none}

.cwre-license-key-label{display:block;text-align:left;font-size:12px;font-weight:600;margin:14px auto 8px;max-width:290px;color:#171717}.cwre-license-key-input{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:12px;border:1px solid #cfcfcf;border-radius:9px;background:#fff;color:#171717;font:inherit;font-size:14px}.cwre-license-recheck{display:inline-flex!important;align-items:center;justify-content:center;width:100%;max-width:290px;min-height:42px;margin:8px auto!important;text-decoration:none!important}.cwre-license-feedback{display:block;margin-top:8px;font-size:12px;color:#333;line-height:1.4}
