/* lucky-draw-widget.css — extracted 2026-09 from partials/lucky-draw-widget.ejs.
 *
 * That partial is included by partials/footer.ejs, which 42 of the theme's 58
 * pages include — so these 2,283 lines of CSS were being inlined into almost
 * every response. As an external sheet the browser caches it once.
 *
 * THEME_COLOR_SYSTEM.md §4.1 sanctions a widget keeping its own token
 * namespace; what it does not sanction is a partial declaring :root. The
 * widget's :root block was removed and its tokens rescoped/repointed onto the
 * seed contract.
 *
 * Linked from the partial at the exact position the first <style> occupied, so
 * cascade order is unchanged.
 */

/* ── extracted block 1 of 3 ── */
#luckyDrawFloatingGroup,[class^="ldx-"],[class*=" ldx-"]{
  --ldx-gold:  var(--accent);
  --ldx-gold2: var(--accent-deep);
  --ldx-navy:  var(--surface-page);
  --ldx-panel: var(--surface-card);
  --ldx-line:  var(--line-accent);
  --ldx-text:  var(--ink-on-card);
  --ldx-muted: var(--ink-dim);
}
.ldx-float-group{position:fixed;right:12px;bottom:88px;z-index:9997;flex-direction:column;align-items:flex-end;gap:9px;font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
.ldx-float-items{display:flex;flex-direction:column;align-items:flex-end;gap:9px;overflow:hidden;max-height:0;opacity:0;pointer-events:none;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}
.ldx-float-group.ldx-open .ldx-float-items{max-height:500px;opacity:1;pointer-events:auto}
.ldx-float-toggle{--ldx-fb1:var(--theme-gold-bright,var(--state-danger));--ldx-fb2:var(--theme-gold,var(--state-danger));--ldx-fb3:var(--theme-cyan,var(--state-danger));--ldx-fglow:var(--theme-gold-glow,color-mix(in srgb, var(--state-danger) 40%, transparent));width:56px;height:56px;flex:0 0 56px;border-radius:50%;border:2px solid color-mix(in srgb, var(--ink-bright) 60%, transparent);background:radial-gradient(circle at 32% 26%,var(--ldx-fb1) 0%,var(--ldx-fb2) 58%,var(--ldx-fb3) 100%);color:var(--ink-on-gold);cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb, var(--surface-page) 28%, transparent),0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent),0 0 18px var(--ldx-fglow);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease;display:grid;place-items:center;position:relative;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ldx-float-toggle::before{content:'';position:absolute;inset:-5px;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb, var(--ink-bright) 55%, transparent) 90deg,var(--ldx-fb1) 150deg,transparent 230deg);filter:blur(2px);animation:ldx-toggle-halo 3.4s linear infinite}
.ldx-float-toggle:hover{transform:scale(1.12) rotate(-4deg);box-shadow:0 12px 30px color-mix(in srgb, var(--surface-page) 32%, transparent),0 0 0 1px color-mix(in srgb, var(--ink-bright) 20%, transparent),0 0 30px var(--ldx-fglow)}
.ldx-float-toggle:active{transform:scale(.95)}
.ldx-float-toggle-icon,.ldx-float-toggle-close{position:absolute;display:grid;place-items:center;transition:opacity .25s ease,transform .4s cubic-bezier(.34,1.56,.64,1);line-height:0}
.ldx-float-toggle-icon svg,.ldx-float-toggle-close svg{width:26px;height:26px;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--surface-page) 25%, transparent))}
.ldx-float-toggle-icon{transform-origin:50% 60%;animation:ldx-gift-wiggle 2.8s ease-in-out infinite}
.ldx-float-toggle:hover .ldx-float-toggle-icon{animation-duration:.9s}
.ldx-float-toggle-close{opacity:0;transform:rotate(-120deg) scale(.4)}
.ldx-float-group.ldx-open .ldx-float-toggle{border-color:color-mix(in srgb, var(--ink-bright) 75%, transparent);box-shadow:0 10px 28px color-mix(in srgb, var(--surface-page) 30%, transparent),0 0 0 1px color-mix(in srgb, var(--ink-bright) 20%, transparent),0 0 22px var(--ldx-fglow)}
.ldx-float-group.ldx-open .ldx-float-toggle-icon{opacity:0;transform:rotate(120deg) scale(.4);animation:none}
.ldx-float-group.ldx-open .ldx-float-toggle-close{opacity:1;transform:rotate(0deg) scale(1)}
@keyframes ldx-toggle-halo{0%{transform:rotate(0deg) scale(1);opacity:.5}50%{transform:rotate(180deg) scale(1.13);opacity:.85}100%{transform:rotate(360deg) scale(1);opacity:.5}}
@keyframes ldx-gift-wiggle{0%,62%,100%{transform:rotate(0deg) scale(1)}68%{transform:rotate(-9deg) scale(1.06)}74%{transform:rotate(8deg) scale(1.06)}80%{transform:rotate(-6deg) scale(1.04)}86%{transform:rotate(4deg) scale(1.02)}92%{transform:rotate(0deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.ldx-float-toggle::before,.ldx-float-toggle-icon{animation:none}}
.ldx-float-group.ldx-dragging{cursor:grabbing}
.ldx-float-group.ldx-dragging .ldx-float-toggle{transition:none;cursor:grabbing;transform:scale(1.06)}
.ldx-float-group.ldx-dragging .ldx-float-toggle::before{animation-play-state:paused}
.ldx-float-group.ldx-hidden{display:none!important}
.ldx-float-hide{position:absolute;top:-3px;right:-3px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-card);color:var(--ink-hi);border:1.5px solid color-mix(in srgb, var(--ink-bright) 70%, transparent);box-shadow:0 2px 6px color-mix(in srgb, var(--surface-page) 35%, transparent);cursor:pointer;z-index:3;opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}
.ldx-float-hide svg{width:13px;height:13px}
.ldx-float-toggle:hover .ldx-float-hide,.ldx-float-hide:focus-visible{opacity:1;transform:scale(1)}
.ldx-float-hide:hover{background:var(--state-danger);color:var(--ink-bright)}
.ldx-float-restore{position:fixed;right:0;bottom:88px;z-index:9997;width:34px;height:44px;border:0;border-right:0;border-radius:14px 0 0 14px;background:radial-gradient(circle at 32% 26%,var(--theme-gold-bright,var(--state-danger)) 0%,var(--theme-gold,var(--state-danger)) 60%,var(--theme-cyan,var(--state-danger)) 100%);color:var(--ink-on-gold);cursor:pointer;box-shadow:-4px 6px 18px color-mix(in srgb, var(--surface-page) 28%, transparent);display:flex;align-items:center;justify-content:center;padding-left:4px;transition:transform .2s ease,box-shadow .2s ease}
.ldx-float-restore svg{width:21px;height:21px;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--surface-page) 25%, transparent))}
.ldx-float-restore:hover{transform:translateX(-3px);box-shadow:-6px 8px 22px color-mix(in srgb, var(--surface-page) 34%, transparent)}
.ldx-float-btn{border:1px solid color-mix(in srgb, var(--ink-bright) 14%, transparent);border-radius:16px;min-width:168px;padding:10px 13px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink-hi);cursor:pointer;box-shadow:0 14px 36px color-mix(in srgb, var(--surface-page) 35%, transparent);backdrop-filter:blur(16px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;background:linear-gradient(135deg,color-mix(in srgb, var(--surface-card) 96%, transparent),color-mix(in srgb, var(--surface-page) 95%, transparent))}
.ldx-float-btn:hover{transform:translateX(-4px);border-color:color-mix(in srgb, var(--accent) 58%, transparent);box-shadow:0 18px 42px color-mix(in srgb, var(--surface-page) 45%, transparent),0 0 22px color-mix(in srgb, var(--accent) 12%, transparent)}
.ldx-float-btn b{display:block;font-size:13px;line-height:1.2}.ldx-float-btn small{display:block;color:var(--accent-bright);font-size:10px;margin-top:3px}.ldx-float-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb, var(--accent) 13%, transparent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);font-size:17px}.ldx-float-box .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 22%, transparent),color-mix(in srgb, var(--accent-bright) 14%, transparent));border-color:color-mix(in srgb, var(--accent-bright) 34%, transparent)}.ldx-float-shop .ldx-float-icon{background:color-mix(in srgb, var(--state-success) 15%, transparent);border-color:color-mix(in srgb, var(--state-success) 25%, transparent)}
.ldx-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:color-mix(in srgb, var(--surface-page) 82%, transparent);backdrop-filter:blur(9px);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--ldx-text)}
.ldx-shell{position:relative;width:min(1180px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:radial-gradient(circle at 50% -10%,color-mix(in srgb, var(--accent) 52%, transparent),transparent 38%),linear-gradient(145deg,var(--surface-card),var(--surface-page) 72%);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:0 35px 110px color-mix(in srgb, var(--surface-page) 62%, transparent),inset 0 1px 0 color-mix(in srgb, var(--ink-bright) 5%, transparent)}
.ldx-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--ink-bright) 2%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--ink-bright) 2%, transparent) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,var(--surface-page),transparent 70%)}
.ldx-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 15px;border-bottom:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent)}
.ldx-eyebrow{font-size:10px;font-weight:900;letter-spacing:.24em;color:var(--ldx-gold);margin-bottom:4px}.ldx-header h2{font-size:27px;line-height:1.15;margin:0;color:var(--ink-hi);font-weight:900}.ldx-summary{font-size:12px;color:var(--ldx-muted);margin-top:5px}.ldx-close{width:39px;height:39px;flex:0 0 39px;border:1px solid color-mix(in srgb, var(--ink-bright) 12%, transparent);border-radius:13px;background:color-mix(in srgb, var(--ink-bright) 6%, transparent);color:var(--ink-hi);font-size:25px;cursor:pointer;transition:.2s}.ldx-close:hover{background:var(--state-danger);border-color:var(--state-danger);color:var(--ink-bright);transform:rotate(4deg)}
.ldx-tabs{position:relative;z-index:2;display:flex;gap:8px;padding:13px 26px 14px;overflow-x:auto;scrollbar-width:none}.ldx-tabs::-webkit-scrollbar{display:none}.ldx-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;border:1px solid color-mix(in srgb, var(--ink-bright) 10%, transparent);background:color-mix(in srgb, var(--ink-bright) 4%, transparent);color:var(--ink-accent);padding:10px 18px;border-radius:999px;font-weight:850;font-size:12px;line-height:1;cursor:pointer;transition:.2s}.ldx-tab:hover{color:var(--ink-hi);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.ldx-tab.active{color:var(--ink-on-light);background:linear-gradient(135deg,var(--accent-bright),var(--accent));border-color:var(--accent-bright);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 18%, transparent)}
.ldx-content{position:relative;z-index:1;overflow:auto;overscroll-behavior:contain;padding:17px 26px 23px;min-height:280px}.ldx-content::-webkit-scrollbar,.ldx-history::-webkit-scrollbar{width:8px}.ldx-content::-webkit-scrollbar-thumb,.ldx-history::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 25%, transparent);border-radius:10px}.ldx-loading{min-height:300px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--ldx-muted)}.ldx-loading i{width:34px;height:34px;border:3px solid color-mix(in srgb, var(--ink-bright) 10%, transparent);border-top-color:var(--ldx-gold);border-radius:50%;animation:ldxSpin .8s linear infinite}@keyframes ldxSpin{to{transform:rotate(360deg)}}
.ldx-pending{border:1px solid color-mix(in srgb, var(--accent-bright) 25%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 18%, transparent),color-mix(in srgb, var(--surface-card) 55%, transparent));border-radius:17px;padding:13px 15px;margin-bottom:15px}.ldx-pending-title{font-weight:900;color:var(--accent-bright)}.ldx-pending-note{font-size:11px;color:var(--accent-bright);margin-top:3px}.ldx-pending-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px dashed color-mix(in srgb, var(--accent-bright) 25%, transparent);padding-top:10px;margin-top:10px}.ldx-pending-row b{font-size:13px}.ldx-pending-row small{display:block;color:var(--accent-bright);margin-top:3px}.ldx-pending-btn{border:0;border-radius:11px;background:var(--state-success);color:var(--surface-page);padding:9px 12px;font-weight:900;white-space:nowrap;cursor:pointer}.ldx-pending-btn:disabled{background:var(--accent);color:var(--ink-on-gold);cursor:not-allowed}
.ldx-campaign-list{display:grid;gap:17px}.ldx-campaign{--accent:var(--ldx-gold);--panel-bg:linear-gradient(145deg,color-mix(in srgb, var(--surface-card) 95%, transparent),color-mix(in srgb, var(--surface-page) 94%, transparent));--radius:22px;position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:var(--panel-bg);box-shadow:0 20px 48px color-mix(in srgb, var(--surface-page) 28%, transparent)}
.ldx-campaign:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 70% 15%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 42%)}
.ldx-campaign.disabled{filter:saturate(.65);opacity:.82}.ldx-wheel-layout{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(300px,1.1fr) minmax(210px,.85fr);align-items:stretch}.ldx-campaign-info,.ldx-prize-panel{position:relative;z-index:2;padding:25px}.ldx-campaign-info{display:flex;flex-direction:column;justify-content:center}.ldx-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);padding:6px 9px;border-radius:999px;margin-bottom:12px}.ldx-campaign h3{font-size:25px;line-height:1.15;margin:0 0 8px;color:var(--ink-bright)}.ldx-campaign-desc{font-size:12px;color:var(--accent-bright);line-height:1.55;min-height:20px}.ldx-cost{margin:16px 0 8px;color:var(--ink-bright);font-weight:900}.ldx-cost strong{font-size:27px;color:var(--accent);margin-right:4px}.ldx-status{font-size:11px;color:var(--accent-bright)}.ldx-status.off{color:var(--state-danger)}.ldx-primary{position:relative;overflow:hidden;border:0;border-radius:13px;padding:12px 17px;color:var(--ink-on-light);font-weight:950;cursor:pointer;background:linear-gradient(135deg,var(--accent-bright),var(--accent));box-shadow:0 12px 25px color-mix(in srgb, var(--surface-page) 25%, transparent);transition:transform .18s,filter .18s}.ldx-primary:after{content:"";position:absolute;top:-80%;left:-45%;width:32%;height:260%;background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--ink-bright) 55%, transparent),transparent);transform:rotate(18deg);animation:ldxShimmer 3.2s linear infinite}@keyframes ldxShimmer{to{left:125%}}.ldx-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.ldx-primary:active{transform:scale(.98)}.ldx-primary:disabled{background:var(--accent)!important;color:var(--ink-on-gold);box-shadow:none;cursor:not-allowed;transform:none}.ldx-campaign-info .ldx-primary{width:100%;margin-top:17px}
.ldx-wheel-zone{position:relative;z-index:2;min-height:410px;display:flex;align-items:center;justify-content:center;padding:28px 12px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 63%)}.ldx-wheel-wrap{--wheel-size:340px;position:relative;width:var(--wheel-size);height:var(--wheel-size);display:grid;place-items:center;filter:drop-shadow(0 24px 30px color-mix(in srgb, var(--surface-page) 36%, transparent))}.ldx-wheel-pointer{display:none}.ldx-wheel-center-pointer{position:absolute;left:50%;top:50%;z-index:9;transform:translateX(-50%);translate:0 calc(-100% + 10px);width:42px;height:calc(var(--wheel-size)*.39);background:var(--wheel-pointer-bg,linear-gradient(180deg,var(--state-danger),var(--state-danger)));clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 6px 8px color-mix(in srgb, var(--surface-page) 34%, transparent))}.ldx-wheel-center-pointer:after{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:22px;height:calc(100% - 16px);background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent));clip-path:polygon(50% 0,100% 100%,0 100%)}.ldx-wheel{position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:var(--wheel-rim-width,12px) solid transparent;background:var(--wheel-gradient) padding-box,var(--wheel-border) border-box;box-shadow:var(--wheel-shadow),var(--wheel-inner-shadow);overflow:hidden;transition:transform var(--wheel-duration,4.6s) cubic-bezier(.12,.72,.12,1)}.ldx-wheel:before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid color-mix(in srgb, var(--ink-bright) 26%, transparent);box-shadow:inset 0 3px 0 color-mix(in srgb, var(--ink-bright) 18%, transparent),inset 0 -14px 22px color-mix(in srgb, var(--surface-page) 8%, transparent);z-index:3;pointer-events:none}.ldx-wheel:after{content:"";position:absolute;left:50%;top:50%;width:96%;height:96%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:inset 0 20px 24px color-mix(in srgb, var(--ink-bright) 6%, transparent);pointer-events:none;z-index:1}.ldx-wheel-separator{position:absolute;left:50%;top:0;width:var(--separator-width,2px);height:50%;background:var(--separator-color,var(--ink-bright));transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--separator-angle));z-index:2;pointer-events:none;box-shadow:0 0 1px color-mix(in srgb, var(--surface-page) 22%, transparent)}.ldx-wheel-marker{position:absolute;left:50%;top:50%;width:var(--marker-width,82px);min-height:var(--marker-height,72px);transform:translate(-50%,-50%) translate(var(--x),var(--y));z-index:5;display:grid;place-items:center;text-align:center;pointer-events:none;overflow:visible}.ldx-wheel-marker-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:100%;transform:rotate(var(--label-rotation,0deg));color:var(--label-color,var(--surface-card));font-weight:950;line-height:1.05;text-align:center;text-shadow:0 1px 1px color-mix(in srgb, var(--ink-bright) 55%, transparent)}.ldx-wheel-marker-content.bg-soft{padding:4px 5px;border-radius:10px;background:color-mix(in srgb, var(--ink-bright) 72%, transparent);box-shadow:0 3px 9px color-mix(in srgb, var(--surface-card) 12%, transparent)}.ldx-wheel-marker-content.bg-pill{padding:4px 7px;border-radius:999px;background:color-mix(in srgb, var(--ink-bright) 90%, transparent);box-shadow:0 3px 9px color-mix(in srgb, var(--surface-card) 14%, transparent)}.ldx-wheel-marker-content img{width:var(--prize-image-size,44px);height:var(--prize-image-size,44px);object-fit:contain;border:0;border-radius:10px;background:transparent;box-shadow:none}.ldx-wheel-marker-icon{font-size:var(--prize-image-size,38px);line-height:1}.ldx-wheel-marker-title{max-width:100%;font-size:var(--label-font-size,11px);line-height:1.08;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.ldx-wheel-marker-subtitle{max-width:100%;font-size:var(--label-sub-font-size,8px);font-weight:800;line-height:1.08;opacity:.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.ldx-wheel-center-btn{position:absolute;left:50%;top:50%;z-index:10;transform:translate(-50%,-50%);width:var(--wheel-center-size,28%);aspect-ratio:1;border-radius:50%;border:7px solid var(--wheel-center-ring,var(--state-danger));background:var(--wheel-center);color:var(--wheel-center-text,var(--state-danger));box-shadow:0 12px 24px color-mix(in srgb, var(--surface-page) 34%, transparent),inset 0 3px 0 color-mix(in srgb, var(--ink-bright) 76%, transparent),inset 0 -8px 12px color-mix(in srgb, var(--surface-page) 8%, transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5px;font-family:inherit;cursor:pointer;transition:transform .16s ease,filter .16s ease}.ldx-wheel-center-btn:hover{transform:translate(-50%,-50%) scale(1.04);filter:brightness(1.04)}.ldx-wheel-center-btn:active{transform:translate(-50%,-50%) scale(.97)}.ldx-wheel-center-btn:disabled{cursor:not-allowed;filter:grayscale(.65);opacity:.72}.ldx-wheel-center-btn b{font-size:24px;line-height:.95}.ldx-wheel-center-btn small{font-size:10px;font-weight:900;margin-top:5px;line-height:1.05;max-width:86%}.ldx-wheel-center-btn.static{cursor:default}.ldx-wheel-center-btn.static:hover{transform:translate(-50%,-50%)}.ldx-ring-lights{position:absolute;inset:-8px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 4%,color-mix(in srgb, var(--accent-bright) 95%, transparent) 4% 5%,transparent 5% 9%,color-mix(in srgb, var(--accent-bright) 80%, transparent) 9% 10%,transparent 10% 100%);animation:ldxRing 8s linear infinite;filter:drop-shadow(0 0 5px var(--accent))}@keyframes ldxRing{to{transform:rotate(360deg)}}
.ldx-prize-panel{border-left:1px solid color-mix(in srgb, var(--ink-bright) 7%, transparent);display:flex;flex-direction:column}.ldx-prize-panel h4{margin:0 0 12px;font-size:12px;letter-spacing:.1em;color:var(--accent-bright)}.ldx-prize-list{display:grid;gap:8px;overflow:auto;max-height:330px;padding-right:3px}.ldx-prize-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;border:1px solid color-mix(in srgb, var(--ink-bright) 7%, transparent);background:color-mix(in srgb, var(--ink-bright) 4%, transparent);padding:8px;border-radius:12px}.ldx-prize-thumb{width:40px;height:40px;border-radius:11px;object-fit:cover;background:color-mix(in srgb, var(--ink-bright) 8%, transparent);display:grid;place-items:center;font-size:20px}.ldx-prize-row b{font-size:11px;color:var(--accent-bright)}.ldx-prize-row small{display:block;font-size:9px;color:var(--accent-bright);margin-top:2px}.ldx-odds{font-size:10px;color:var(--accent);font-weight:900}
.ldx-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.ldx-vault-card{--accent:var(--accent-bright);--panel-bg:linear-gradient(145deg,color-mix(in srgb, var(--surface-card) 98%, transparent),color-mix(in srgb, var(--surface-page) 98%, transparent));--radius:24px;position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);background:var(--panel-bg);min-height:440px;padding:22px;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 24px 56px color-mix(in srgb, var(--surface-page) 34%, transparent),0 0 34px color-mix(in srgb, var(--accent-bright) 8%, transparent)}.ldx-vault-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 16%,color-mix(in srgb, var(--accent-bright) 22%, transparent),transparent 28%),radial-gradient(circle at 18% 82%,color-mix(in srgb, var(--state-danger) 12%, transparent),transparent 25%),linear-gradient(135deg,transparent,color-mix(in srgb, var(--ink-bright) 3%, transparent) 48%,transparent 52%);pointer-events:none}.ldx-vault-card:after{content:"";position:absolute;inset:12px;border-radius:18px;border:1px solid color-mix(in srgb, var(--accent-bright) 8%, transparent);pointer-events:none}.ldx-vault-top,.ldx-vault-bottom{position:relative;z-index:3}.ldx-vault-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ldx-vault-top h3{font-size:22px;margin:0 0 5px;color:var(--state-warning)}.ldx-vault-top p{font-size:11px;color:var(--state-danger);margin:0;max-width:360px}.ldx-vault-cost{color:var(--ink-accent);font-weight:950;white-space:nowrap;padding:8px 10px;border-radius:999px;border:1px solid color-mix(in srgb, var(--accent-bright) 30%, transparent);background:color-mix(in srgb, var(--accent-bright) 9%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink-bright) 8%, transparent)}.ldx-box-stage{position:relative;z-index:2;display:grid;place-items:center;min-height:300px;perspective:1200px;border-radius:24px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb, var(--accent-bright) 14%, transparent),transparent 34%),radial-gradient(circle at 50% 95%,color-mix(in srgb, var(--state-danger) 16%, transparent),transparent 38%),linear-gradient(180deg,color-mix(in srgb, var(--surface-card) 55%, transparent),color-mix(in srgb, var(--surface-page) 75%, transparent))}.ldx-box-aura{position:absolute;width:290px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 48%, transparent),color-mix(in srgb, var(--state-danger) 20%, transparent) 42%,transparent 72%);filter:blur(44px);bottom:18px}.ldx-box-object{position:relative;width:230px;height:190px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.2,1);filter:drop-shadow(0 28px 18px color-mix(in srgb, var(--surface-page) 42%, transparent))}.ldx-box-object:hover{transform:translateY(-10px) rotateY(-9deg) rotateX(3deg)}.ldx-box-image{width:218px;height:218px;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 20px 18px color-mix(in srgb, var(--surface-page) 35%, transparent))}.ldx-gift-base{position:absolute;left:42px;right:36px;bottom:18px;height:110px;border-radius:18px 12px 26px 18px;background:var(--box-bg,linear-gradient(145deg,var(--state-danger),var(--state-danger) 52%,var(--state-danger)));border:4px solid var(--accent);box-shadow:var(--box-shadow,inset 0 -18px 0 color-mix(in srgb, var(--surface-page) 18%, transparent),0 16px 24px color-mix(in srgb, var(--surface-hover) 26%, transparent));overflow:visible;z-index:2}.ldx-gift-base:before{content:"";position:absolute;top:8px;bottom:-4px;right:-24px;width:26px;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 12%,100% 100%,0 100%);border-radius:0 10px 14px 0;box-shadow:inset 1px 0 0 color-mix(in srgb, var(--ink-bright) 8%, transparent)}.ldx-gift-base:after{content:"";position:absolute;left:8px;right:-1px;top:-18px;height:20px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,92% 0,8% 0);border-radius:10px 8px 0 0}.ldx-gift-lid{position:absolute;left:28px;right:22px;top:40px;height:50px;border-radius:16px 12px 12px 12px;background:var(--box-bg,linear-gradient(145deg,var(--state-danger),var(--state-danger) 52%,var(--state-danger)));border:4px solid var(--accent);box-shadow:0 8px 16px color-mix(in srgb, var(--surface-hover) 22%, transparent);transform-origin:28px 100%;transition:transform .65s cubic-bezier(.17,.8,.2,1),top .65s;overflow:visible;z-index:4}.ldx-gift-lid:before{content:"";position:absolute;left:10px;right:-2px;top:-16px;height:18px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,94% 0,6% 0);border-radius:10px 8px 0 0}.ldx-gift-lid:after{content:"";position:absolute;top:7px;bottom:-3px;right:-22px;width:24px;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border-radius:0 10px 12px 0}.ldx-gift-ribbon{position:absolute;left:50%;top:24px;bottom:18px;width:30px;transform:translateX(-50%);background:linear-gradient(90deg,var(--accent-bright),var(--accent) 48%,var(--accent-bright));z-index:5;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-bright) 14%, transparent)}.ldx-gift-ribbon:before{content:"";position:absolute;left:-52px;right:-52px;top:32px;height:16px;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright));border-radius:12px;box-shadow:0 1px 0 color-mix(in srgb, var(--ink-bright) 24%, transparent),0 8px 12px color-mix(in srgb, var(--surface-page) 8%, transparent)}.ldx-gift-bow{position:absolute;left:50%;top:12px;width:22px;height:18px;transform:translateX(-50%);background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-radius:6px;z-index:6;box-shadow:0 2px 6px color-mix(in srgb, var(--surface-page) 14%, transparent)}.ldx-gift-bow:before,.ldx-gift-bow:after{content:"";position:absolute;top:-7px;width:26px;height:18px;border:8px solid var(--accent);border-bottom-width:6px;border-radius:18px 18px 8px 8px}.ldx-gift-bow:before{right:10px;transform:rotate(18deg)}.ldx-gift-bow:after{left:10px;transform:rotate(-18deg)}.ldx-box-object.opening{animation:ldxBoxShake .72s ease-in-out 2}.ldx-box-object.opening .ldx-gift-lid{top:-8px;transform:rotateZ(-18deg) rotateY(-14deg) translateX(-8px)}.ldx-box-object.opening:after{content:"";position:absolute;left:50%;top:12%;width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:-58px 8px 0 var(--accent-bright),55px 0 0 var(--ink-bright),30px -58px 0 var(--state-danger),-36px -46px 0 var(--accent),0 -72px 0 var(--accent-bright);animation:ldxSpark 1.2s ease-out infinite}@keyframes ldxBoxShake{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-4deg) translateY(-4px)}75%{transform:rotate(4deg) translateY(-4px)}}@keyframes ldxSpark{0%{opacity:0;transform:translate(-50%,30px) scale(.4)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50px) scale(1.4)}}
.ldx-vault-card.anim-pulse .ldx-box-object:not(.opening){animation:ldxBoxFloat 2.4s ease-in-out infinite}.ldx-vault-card.anim-vault .ldx-gift-base{background:linear-gradient(145deg,var(--accent-bright),var(--state-warning),var(--surface-hover));border-color:color-mix(in srgb,var(--accent) 85%,white);box-shadow:inset 0 -18px 0 color-mix(in srgb, var(--surface-page) 22%, transparent),inset 0 0 25px color-mix(in srgb, var(--ink-bright) 8%, transparent),0 14px 26px color-mix(in srgb, var(--surface-page) 20%, transparent)}.ldx-vault-card.anim-vault .ldx-gift-lid{background:linear-gradient(145deg,var(--accent-bright),var(--accent),var(--state-danger));border-color:color-mix(in srgb,var(--accent) 85%,white)}.ldx-vault-card.anim-vault .ldx-gift-ribbon,.ldx-vault-card.anim-vault .ldx-gift-ribbon:before{background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright))}@keyframes ldxBoxFloat{0%,100%{transform:translateY(0) rotateY(-3deg)}50%{transform:translateY(-12px) rotateY(4deg)}}
.ldx-vault-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px}.ldx-vault-prizes{display:flex;gap:7px;min-width:0;overflow:hidden}.ldx-vault-prize{width:44px;height:44px;flex:0 0 44px;border:1px solid color-mix(in srgb, var(--accent-bright) 28%, transparent);border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 8%, transparent),color-mix(in srgb, var(--accent-bright) 8%, transparent));display:grid;place-items:center;overflow:hidden;font-size:18px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink-bright) 6%, transparent)}.ldx-vault-prize img{width:100%;height:100%;object-fit:cover}.ldx-vault-bottom .ldx-primary{min-width:150px;background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright),var(--state-warning))}
.ldx-shop-hero{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px;border-radius:19px;border:1px solid color-mix(in srgb, var(--accent) 17%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 10%, transparent),color-mix(in srgb, var(--surface-card) 20%, transparent))}.ldx-shop-hero h3{font-size:22px;margin:0 0 5px}.ldx-shop-hero p{margin:0;color:var(--accent-bright);font-size:12px}.ldx-shop-balance{text-align:right}.ldx-shop-balance small{display:block;color:var(--accent-bright);font-size:10px}.ldx-shop-balance strong{font-size:26px;color:var(--ldx-gold)}.ldx-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ldx-shop-card{--shop-accent:var(--accent);position:relative;overflow:hidden;border-radius:19px;border:1px solid color-mix(in srgb,var(--shop-accent) 24%,transparent);background:linear-gradient(155deg,color-mix(in srgb, var(--surface-card) 98%, transparent),color-mix(in srgb, var(--surface-page) 97%, transparent));transition:.25s;box-shadow:0 14px 32px color-mix(in srgb, var(--surface-page) 23%, transparent)}.ldx-shop-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--shop-accent) 58%,transparent);box-shadow:0 22px 42px color-mix(in srgb, var(--surface-page) 35%, transparent),0 0 25px color-mix(in srgb,var(--shop-accent) 10%,transparent)}.ldx-shop-card.featured{grid-column:span 2}.ldx-shop-image-wrap{height:185px;position:relative;overflow:hidden;padding:10px;background:radial-gradient(circle,color-mix(in srgb,var(--shop-accent) 18%,transparent),transparent 65%);border-bottom:1px solid color-mix(in srgb, var(--ink-bright) 10%, transparent)}.ldx-shop-card.featured .ldx-shop-image-wrap{height:225px}.ldx-shop-image{width:100%;height:100%;object-fit:contain;border-radius:14px;transition:transform .55s;filter:drop-shadow(0 12px 18px color-mix(in srgb, var(--surface-page) 24%, transparent))}.ldx-shop-card:hover .ldx-shop-image{transform:scale(1.035)}.ldx-shop-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:58px;color:var(--shop-accent)}.ldx-shop-tag{position:absolute;top:11px;left:11px;z-index:2;border:1px solid color-mix(in srgb,var(--shop-accent) 45%,transparent);background:color-mix(in srgb, var(--surface-page) 78%, transparent);backdrop-filter:blur(8px);color:var(--shop-accent);font-size:9px;font-weight:950;letter-spacing:.09em;padding:6px 8px;border-radius:999px}.ldx-shop-body{padding:15px}.ldx-shop-body h3{font-size:17px;margin:0 0 5px}.ldx-shop-body p{font-size:11px;color:var(--accent-bright);line-height:1.5;min-height:33px;margin:0 0 12px}.ldx-shop-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:var(--accent-bright)}.ldx-shop-price{font-size:16px;font-weight:950;color:var(--shop-accent)}.ldx-shop-body .ldx-primary{width:100%;margin-top:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--shop-accent) 76%,white),var(--shop-accent))}
.ldx-history-wrap{position:relative;z-index:2;border-top:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent);padding:11px 26px 15px;background:color-mix(in srgb, var(--surface-page) 38%, transparent)}.ldx-history-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ldx-history-head b{font-size:12px}.ldx-history-head small{display:block;font-size:9px;color:var(--accent);margin-top:2px}.ldx-history-head button{border:1px solid color-mix(in srgb, var(--ink-bright) 10%, transparent);background:color-mix(in srgb, var(--ink-bright) 4%, transparent);color:var(--ink-accent);border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.ldx-history{max-height:150px;overflow:auto;margin-top:10px;display:grid;gap:7px}.ldx-history-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid color-mix(in srgb, var(--ink-bright) 6%, transparent);background:color-mix(in srgb, var(--ink-bright) 2%, transparent);border-radius:10px;padding:8px 10px}.ldx-history-dot{width:7px;height:7px;border-radius:50%;background:var(--ldx-gold);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 55%, transparent)}.ldx-history-item b{font-size:10px}.ldx-history-item small{font-size:9px;color:var(--accent)}.ldx-history-cost{font-size:9px;color:var(--accent);font-weight:900}
.ldx-result{position:absolute;z-index:40;inset:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb, var(--surface-page) 78%, transparent);backdrop-filter:blur(10px)}.ldx-result-card{position:relative;width:min(430px,94%);text-align:center;overflow:hidden;border-radius:25px;border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:radial-gradient(circle at 50% 0,color-mix(in srgb, var(--accent) 20%, transparent),transparent 38%),linear-gradient(150deg,var(--surface-card),var(--surface-page));padding:32px 28px 27px;box-shadow:0 35px 90px color-mix(in srgb, var(--surface-page) 55%, transparent);animation:ldxResultIn .45s cubic-bezier(.2,.8,.2,1)}@keyframes ldxResultIn{from{opacity:0;transform:scale(.82) translateY(25px)}to{opacity:1;transform:scale(1) translateY(0)}}.ldx-result-rays{position:absolute;width:440px;height:440px;left:50%;top:-250px;transform:translateX(-50%);background:repeating-conic-gradient(from 0deg,color-mix(in srgb, var(--accent) 15%, transparent) 0 8deg,transparent 8deg 20deg);animation:ldxRing 15s linear infinite;mask-image:radial-gradient(circle,var(--surface-page),transparent 69%)}.ldx-result-close{position:absolute;z-index:3;right:12px;top:12px;width:34px;height:34px;border-radius:11px;border:1px solid color-mix(in srgb, var(--ink-bright) 10%, transparent);background:color-mix(in srgb, var(--ink-bright) 6%, transparent);color:var(--ink-hi);font-size:20px;cursor:pointer}.ldx-result-icon{position:relative;z-index:2;width:105px;height:105px;margin:0 auto 13px;border-radius:30px;display:grid;place-items:center;font-size:55px;background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 13%, transparent),color-mix(in srgb, var(--accent) 10%, transparent));border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);box-shadow:0 15px 34px color-mix(in srgb, var(--surface-page) 28%, transparent)}.ldx-result-icon img{width:100%;height:100%;object-fit:cover;border-radius:29px}.ldx-result-kicker{position:relative;z-index:2;color:var(--ldx-gold);font-size:9px;font-weight:950;letter-spacing:.2em}.ldx-result-card h3{position:relative;z-index:2;margin:7px 0 6px;font-size:26px}.ldx-result-card p{position:relative;z-index:2;color:var(--accent-bright);font-size:12px;line-height:1.55;white-space:pre-line}.ldx-result-ok{position:relative;z-index:2;width:100%;margin-top:12px}
.ldx-empty{min-height:270px;display:grid;place-items:center;text-align:center;color:var(--accent-bright)}.ldx-empty div{max-width:420px}.ldx-empty span{display:block;font-size:50px;margin-bottom:10px}.ldx-empty b{display:block;color:var(--ink-bright);font-size:17px;margin-bottom:5px}
@media(max-width:1000px){.ldx-wheel-layout{grid-template-columns:1fr 1.25fr}.ldx-prize-panel{grid-column:1/-1;border-left:0;border-top:1px solid color-mix(in srgb, var(--ink-bright) 7%, transparent)}.ldx-prize-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.ldx-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ldx-modal{padding:0;align-items:flex-end}.ldx-shell{width:100%;max-height:96vh;border-radius:24px 24px 0 0}.ldx-header{padding:18px 16px 13px}.ldx-header h2{font-size:22px}.ldx-tabs{padding:11px 16px 0}.ldx-content{padding:14px 13px 18px}.ldx-history-wrap{padding:10px 15px 13px}.ldx-wheel-layout{display:block}.ldx-campaign-info{padding:20px 18px 12px}.ldx-wheel-zone{min-height:320px;padding:20px 8px}.ldx-wheel-wrap{--wheel-size:min(320px,88vw)!important}.ldx-wheel-marker{--marker-width:70px!important}.ldx-wheel-center-btn b{font-size:20px}.ldx-wheel-center-btn small{font-size:8px}.ldx-prize-panel{padding:17px}.ldx-prize-list{grid-template-columns:1fr 1fr}.ldx-prize-row{grid-template-columns:35px 1fr}.ldx-prize-thumb{width:35px;height:35px}.ldx-odds{display:none}.ldx-box-grid,.ldx-shop-grid{grid-template-columns:1fr}.ldx-shop-card.featured{grid-column:span 1}.ldx-vault-card{min-height:410px}.ldx-vault-bottom{grid-template-columns:1fr}.ldx-vault-bottom .ldx-primary{width:100%}.ldx-shop-hero{align-items:flex-start;flex-direction:column}.ldx-shop-balance{text-align:left}.ldx-float-group{right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px))}.ldx-float-restore{bottom:calc(78px + env(safe-area-inset-bottom,0px))}.ldx-float-btn{min-width:0;width:105px;padding:9px}.ldx-float-btn .ldx-float-icon{display:none}.ldx-float-btn b{font-size:11px}.ldx-float-btn small{font-size:8px}.ldx-pending-row{align-items:flex-start;flex-direction:column}.ldx-pending-btn{width:100%}}

/* V47 premium wheel / 3D box / point-shop formula presets */
.ldx-wheel-wrap.style-reward_luxe:before,.ldx-wheel-wrap.style-casino_red:before,.ldx-wheel-wrap.style-neon_royale:before{content:"";position:absolute;inset:-15px;border-radius:50%;pointer-events:none;z-index:-1}.ldx-wheel-wrap.style-reward_luxe:before{background:radial-gradient(circle,color-mix(in srgb, var(--state-danger) 20%, transparent),transparent 66%);box-shadow:0 20px 42px color-mix(in srgb, var(--state-danger) 22%, transparent)}.ldx-wheel-wrap.style-casino_red:before{background:repeating-conic-gradient(from 0deg,color-mix(in srgb, var(--accent-bright) 95%, transparent) 0 2deg,transparent 2deg 18deg);filter:drop-shadow(0 0 7px color-mix(in srgb, var(--accent-bright) 65%, transparent))}.ldx-wheel-wrap.style-neon_royale:before{background:conic-gradient(from 0deg,color-mix(in srgb, var(--accent) 20%, transparent),color-mix(in srgb, var(--accent) 46%, transparent),color-mix(in srgb, var(--accent) 26%, transparent),color-mix(in srgb, var(--accent) 20%, transparent));filter:blur(5px);box-shadow:0 0 34px color-mix(in srgb, var(--accent) 45%, transparent)}.ldx-wheel-wrap.style-casino_red .ldx-wheel-center-btn{box-shadow:0 14px 28px color-mix(in srgb, var(--surface-page) 42%, transparent),0 0 20px color-mix(in srgb, var(--accent-bright) 32%, transparent),inset 0 3px 0 color-mix(in srgb, var(--ink-bright) 70%, transparent),inset 0 -8px 12px color-mix(in srgb, var(--surface-page) 12%, transparent)}.ldx-wheel-wrap.style-neon_royale .ldx-wheel-center-btn{box-shadow:0 14px 28px color-mix(in srgb, var(--surface-page) 44%, transparent),0 0 28px color-mix(in srgb, var(--accent) 42%, transparent),inset 0 3px 0 color-mix(in srgb, var(--ink-bright) 70%, transparent)}
.ldx-box-platform{position:absolute;left:20px;right:20px;bottom:2px;height:24px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 44%, transparent),color-mix(in srgb, var(--state-danger) 18%, transparent) 48%,transparent 74%);filter:blur(8px)}.ldx-box-part{position:absolute;display:block}.ldx-box-object.style-luxury_gift .ldx-gift-base{left:42px;right:36px;bottom:18px;height:110px;border-radius:18px 12px 26px 18px}.ldx-box-object.style-luxury_gift .ldx-gift-lid{left:28px;right:22px;top:40px;height:50px}.ldx-box-object.style-luxury_gift .ldx-gift-ribbon{left:50%;top:24px;bottom:18px;width:30px}.ldx-box-object.style-royal_chest .ldx-gift-base{left:42px;right:42px;bottom:20px;height:92px;border-radius:16px 16px 26px 26px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 16%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);border:4px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);box-shadow:var(--box-shadow);z-index:2}.ldx-box-object.style-royal_chest .ldx-gift-lid{left:34px;right:34px;top:34px;height:62px;border-radius:38px 38px 18px 18px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 34%),var(--box-bg);border:4px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);box-shadow:0 8px 16px color-mix(in srgb, var(--surface-hover) 22%, transparent);transform-origin:50% 100%;z-index:4}.ldx-box-object.style-royal_chest .ldx-gift-ribbon{left:50%;top:46px;bottom:22px;width:20px;transform:translateX(-50%);z-index:5;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright))}.ldx-box-object.style-royal_chest .ldx-gift-ribbon:before,.ldx-box-object.style-royal_chest .ldx-gift-ribbon:after{content:"";position:absolute;top:20px;bottom:0;width:12px;background:linear-gradient(180deg,var(--accent-bright),var(--accent))}.ldx-box-object.style-royal_chest .ldx-gift-ribbon:before{left:-56px}.ldx-box-object.style-royal_chest .ldx-gift-ribbon:after{right:-56px}.ldx-box-object.style-royal_chest .ldx-gift-bow{left:50%;top:88px;width:34px;height:40px;transform:translateX(-50%);border-radius:12px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border:3px solid color-mix(in srgb, var(--state-warning) 38%, transparent);z-index:6;box-shadow:0 6px 12px color-mix(in srgb, var(--surface-page) 20%, transparent)}.ldx-box-object.style-royal_chest .ldx-gift-bow:before{content:"";position:absolute;left:50%;top:-18px;width:24px;height:18px;transform:translateX(-50%);border:4px solid var(--accent-bright);border-bottom:0;border-radius:16px 16px 0 0}.ldx-box-object.style-royal_chest .ldx-gift-bow:after{display:none}.ldx-box-object.style-crystal_vault .ldx-gift-base{left:48px;right:48px;bottom:22px;height:98px;border-radius:18px;border:4px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 26%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 34%),var(--box-bg);box-shadow:var(--box-shadow);transform:rotate(-2deg);z-index:2}.ldx-box-object.style-crystal_vault .ldx-gift-lid{left:54px;right:54px;top:38px;height:36px;border-radius:16px;border:4px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 32%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 34%),var(--box-bg);box-shadow:0 8px 14px color-mix(in srgb, var(--surface-hover) 22%, transparent);transform:rotate(3deg);z-index:5}.ldx-box-object.style-crystal_vault .ldx-gift-ribbon{left:50%;top:18px;bottom:22px;width:24px;transform:translateX(-50%);z-index:6;background:linear-gradient(180deg,var(--accent-bright),var(--accent),var(--accent-bright))}.ldx-box-object.style-crystal_vault .ldx-gift-ribbon:before{content:"";position:absolute;left:-54px;right:-54px;top:46px;height:14px;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright));border-radius:999px}.ldx-box-object.style-crystal_vault .ldx-gift-bow{left:50%;top:10px;width:30px;height:24px;transform:translateX(-50%);border-radius:10px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));z-index:7}.ldx-box-object.style-crystal_vault .ldx-gift-gem{left:50%;top:88px;width:22px;height:22px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright) 46%,var(--state-warning));border:2px solid color-mix(in srgb, var(--ink-bright) 66%, transparent);border-radius:4px;z-index:8;box-shadow:0 5px 14px color-mix(in srgb, var(--surface-page) 18%, transparent)}.ldx-box-object.opening.style-royal_chest .ldx-gift-lid{top:6px;transform:rotateX(-46deg)}.ldx-box-object.opening.style-crystal_vault .ldx-gift-lid{top:18px;transform:translateY(-16px) rotate(7deg)}
.ldx-shop-card.style-emerald_boutique{background:linear-gradient(155deg,var(--surface-card),var(--surface-card));border-color:color-mix(in srgb, var(--accent-bright) 50%, transparent)}.ldx-shop-card.style-midnight_luxury{background:linear-gradient(155deg,var(--surface-hover),var(--surface-page));border-color:color-mix(in srgb, var(--accent-bright) 45%, transparent)}.ldx-shop-card.style-crimson_gold{background:linear-gradient(155deg,var(--surface-hover),var(--surface-page));border-color:color-mix(in srgb, var(--accent-bright) 50%, transparent)}.ldx-shop-card.style-emerald_boutique .ldx-shop-image-wrap{background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 22%, transparent),transparent 65%)}.ldx-shop-card.style-midnight_luxury .ldx-shop-image-wrap{background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 22%, transparent),transparent 65%)}.ldx-shop-card.style-crimson_gold .ldx-shop-image-wrap{background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 22%, transparent),transparent 65%)}

/* V48 complete 3D box overrides */
.ldx-box-stage{position:relative;z-index:2;display:grid;place-items:center;min-height:320px;perspective:1400px;border-radius:26px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb, var(--accent-bright) 16%, transparent),transparent 34%),radial-gradient(circle at 50% 95%,color-mix(in srgb, var(--state-danger) 16%, transparent),transparent 38%),linear-gradient(180deg,color-mix(in srgb, var(--surface-card) 58%, transparent),color-mix(in srgb, var(--surface-page) 78%, transparent))!important;overflow:hidden}
.ldx-box-aura{position:absolute;width:320px;height:170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 46%, transparent),color-mix(in srgb, var(--state-danger) 20%, transparent) 42%,transparent 72%);filter:blur(42px);bottom:22px}
.ldx-box-object{position:relative;width:280px;height:225px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.2,1);filter:drop-shadow(0 32px 24px color-mix(in srgb, var(--surface-page) 42%, transparent)) drop-shadow(0 0 30px color-mix(in srgb, var(--accent-bright) 16%, transparent))}
.ldx-box-object:hover{transform:translateY(-10px) rotateY(-9deg) rotateX(4deg)}
.ldx-box-image{width:238px;height:238px;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 24px 22px color-mix(in srgb, var(--surface-page) 35%, transparent));z-index:16}
.ldx-box-platform{position:absolute;left:46px;right:46px;bottom:12px;height:32px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 44%, transparent),color-mix(in srgb, var(--state-danger) 18%, transparent) 48%,transparent 74%);filter:blur(10px)}
.ldx-box-part{position:absolute;display:block;box-sizing:border-box}.ldx-gift-base,.ldx-gift-lid{background:var(--box-bg);border:4px solid color-mix(in srgb, var(--accent-bright) 94%, transparent)}.ldx-gift-lock,.ldx-gift-gem{display:none}
.ldx-box-object.style-luxury_gift .ldx-gift-base{left:70px;right:58px;bottom:34px;height:110px;border-radius:14px 14px 28px 18px;box-shadow:var(--box-shadow),inset 0 16px 20px color-mix(in srgb, var(--ink-bright) 10%, transparent),inset 0 -18px 18px color-mix(in srgb, var(--surface-hover) 24%, transparent);z-index:4}
.ldx-box-object.style-luxury_gift .ldx-gift-base:before{content:"";position:absolute;left:8px;right:14px;top:-18px;height:18px;background:linear-gradient(180deg,color-mix(in srgb, var(--state-danger) 96%, transparent),color-mix(in srgb, var(--state-danger) 92%, transparent));clip-path:polygon(0 100%,100% 100%,94% 0,6% 0);border:4px solid color-mix(in srgb, var(--accent-bright) 94%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-gift-base:after{content:"";position:absolute;top:3px;right:-24px;width:24px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 10%,100% 100%,0 100%);border:4px solid color-mix(in srgb, var(--accent) 55%, transparent);border-left:0;border-radius:0 12px 18px 0}
.ldx-box-object.style-luxury_gift .ldx-gift-lid{left:60px;right:48px;top:62px;height:50px;border-radius:16px 16px 12px 12px;box-shadow:0 14px 18px color-mix(in srgb, var(--surface-card) 18%, transparent), inset 0 12px 18px color-mix(in srgb, var(--ink-bright) 14%, transparent);z-index:8}
.ldx-box-object.style-luxury_gift .ldx-gift-lid:before{content:"";position:absolute;left:10px;right:16px;top:-16px;height:16px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,95% 0,5% 0);border:4px solid color-mix(in srgb, var(--accent-bright) 94%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-gift-lid:after{content:"";position:absolute;top:2px;right:-22px;width:22px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 10%,100% 100%,0 100%);border:4px solid color-mix(in srgb, var(--accent) 55%, transparent);border-left:0;border-radius:0 12px 16px 0}
.ldx-box-object.style-luxury_gift .ldx-gift-ribbon{left:50%;top:38px;bottom:34px;width:30px;transform:translateX(-50%);z-index:12;background:linear-gradient(90deg,var(--accent-bright),var(--accent) 48%,var(--accent-bright));box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-bright) 18%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-ribbon:before{content:"";position:absolute;left:-62px;right:-62px;top:54px;height:18px;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright));border-radius:12px;box-shadow:0 1px 0 color-mix(in srgb, var(--ink-bright) 26%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-bow{left:50%;top:22px;width:22px;height:20px;transform:translateX(-50%);background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-radius:6px;z-index:13;box-shadow:0 4px 10px color-mix(in srgb, var(--surface-page) 18%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-bow:before,.ldx-box-object.style-luxury_gift .ldx-gift-bow:after{content:"";position:absolute;top:-8px;width:28px;height:18px;border:7px solid var(--accent);border-bottom-width:5px;border-radius:22px 22px 10px 10px}.ldx-box-object.style-luxury_gift .ldx-gift-bow:before{right:11px;transform:rotate(18deg)}.ldx-box-object.style-luxury_gift .ldx-gift-bow:after{left:11px;transform:rotate(-18deg)}
.ldx-box-object.style-royal_chest .ldx-gift-base{left:68px;right:62px;bottom:34px;height:102px;border-radius:14px 14px 22px 22px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 20%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 20%),var(--box-bg);box-shadow:var(--box-shadow), inset 0 -18px 18px color-mix(in srgb, var(--surface-hover) 22%, transparent);z-index:4}
.ldx-box-object.style-royal_chest .ldx-gift-base:before{content:"";position:absolute;left:8px;right:8px;top:-8px;height:12px;border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 95%, transparent),color-mix(in srgb, var(--accent) 95%, transparent));box-shadow:0 4px 8px color-mix(in srgb, var(--surface-page) 12%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-base:after{content:"";position:absolute;top:3px;right:-20px;width:20px;height:100%;background:linear-gradient(180deg,var(--state-warning),var(--surface-card));clip-path:polygon(0 0,100% 10%,100% 100%,0 100%);border:4px solid color-mix(in srgb, var(--accent-bright) 75%, transparent);border-left:0;border-radius:0 10px 14px 0}
.ldx-box-object.style-royal_chest .ldx-gift-lid{left:58px;right:52px;top:46px;height:72px;border-radius:54px 54px 16px 16px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 24%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);box-shadow:0 16px 20px color-mix(in srgb, var(--surface-card) 22%, transparent), inset 0 12px 18px color-mix(in srgb, var(--ink-bright) 14%, transparent);z-index:8}
.ldx-box-object.style-royal_chest .ldx-gift-lid:before{content:"";position:absolute;left:12px;right:18px;top:-16px;height:18px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 96%, transparent),color-mix(in srgb, var(--accent) 94%, transparent));clip-path:polygon(0 100%,100% 100%,92% 0,8% 0);border:4px solid color-mix(in srgb, var(--accent-bright) 92%, transparent);border-bottom:0;border-radius:16px 16px 0 0}
.ldx-box-object.style-royal_chest .ldx-gift-lid:after{content:"";position:absolute;top:10px;right:-18px;width:18px;height:88%;background:linear-gradient(180deg,var(--state-warning),var(--surface-card));clip-path:polygon(0 0,100% 12%,100% 100%,0 100%);border:4px solid color-mix(in srgb, var(--accent-bright) 68%, transparent);border-left:0;border-radius:0 12px 12px 0}
.ldx-box-object.style-royal_chest .ldx-gift-ribbon{left:50%;top:50px;bottom:34px;width:20px;transform:translateX(-50%);z-index:12;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright))}
.ldx-box-object.style-royal_chest .ldx-gift-ribbon:before,.ldx-box-object.style-royal_chest .ldx-gift-ribbon:after{content:"";position:absolute;top:20px;bottom:0;width:12px;background:linear-gradient(180deg,var(--accent-bright),var(--accent))}.ldx-box-object.style-royal_chest .ldx-gift-ribbon:before{left:-58px}.ldx-box-object.style-royal_chest .ldx-gift-ribbon:after{right:-58px}
.ldx-box-object.style-royal_chest .ldx-gift-bow{display:none}.ldx-box-object.style-royal_chest .ldx-gift-lock{display:block;left:50%;top:118px;width:40px;height:42px;transform:translateX(-50%);border-radius:14px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border:3px solid color-mix(in srgb, var(--state-warning) 42%, transparent);z-index:13;box-shadow:0 6px 12px color-mix(in srgb, var(--surface-page) 18%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-lock:before{content:"";position:absolute;left:50%;top:-18px;width:24px;height:18px;transform:translateX(-50%);border:4px solid var(--accent-bright);border-bottom:0;border-radius:16px 16px 0 0}
.ldx-box-object.style-crystal_vault .ldx-gift-base{left:74px;right:68px;bottom:34px;height:108px;clip-path:polygon(8% 0,92% 0,100% 12%,100% 88%,92% 100%,8% 100%,0 88%,0 12%);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 34%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 38%),var(--box-bg);box-shadow:var(--box-shadow), inset 0 -16px 16px color-mix(in srgb, var(--surface-hover) 20%, transparent);z-index:4}
.ldx-box-object.style-crystal_vault .ldx-gift-base:before{content:"";position:absolute;left:10px;right:10px;top:-18px;height:18px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 96%, transparent),color-mix(in srgb, var(--accent) 92%, transparent));clip-path:polygon(7% 100%,93% 100%,100% 0,0 0);border:4px solid color-mix(in srgb, var(--accent-bright) 94%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-gift-base:after{content:"";position:absolute;top:6px;right:-22px;width:22px;height:92%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 12%,100% 88%,0 100%);border:4px solid color-mix(in srgb, var(--accent-bright) 45%, transparent);border-left:0}
.ldx-box-object.style-crystal_vault .ldx-gift-lid{left:68px;right:62px;top:58px;height:44px;clip-path:polygon(8% 0,92% 0,100% 22%,100% 100%,0 100%,0 22%);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 42%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 42%),var(--box-bg);box-shadow:0 12px 18px color-mix(in srgb, var(--surface-hover) 22%, transparent);z-index:8}
.ldx-box-object.style-crystal_vault .ldx-gift-lid:before{content:"";position:absolute;left:10px;right:10px;top:-14px;height:16px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 98%, transparent),color-mix(in srgb, var(--accent) 94%, transparent));clip-path:polygon(10% 100%,90% 100%,100% 0,0 0);border:4px solid color-mix(in srgb, var(--accent-bright) 94%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-gift-lid:after{content:"";position:absolute;top:4px;right:-18px;width:18px;height:88%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 18%,100% 84%,0 100%);border:4px solid color-mix(in srgb, var(--accent-bright) 45%, transparent);border-left:0}
.ldx-box-object.style-crystal_vault .ldx-gift-ribbon{left:50%;top:46px;bottom:34px;width:24px;transform:translateX(-50%);z-index:12;background:linear-gradient(180deg,var(--accent-bright),var(--accent),var(--accent-bright))}
.ldx-box-object.style-crystal_vault .ldx-gift-ribbon:before{content:"";position:absolute;left:-54px;right:-54px;top:44px;height:14px;background:linear-gradient(90deg,var(--accent-bright),var(--accent),var(--accent-bright));border-radius:999px}.ldx-box-object.style-crystal_vault .ldx-gift-bow{display:none}
.ldx-box-object.style-crystal_vault .ldx-gift-gem{display:block;left:50%;top:116px;width:24px;height:24px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright) 46%,var(--state-warning));border:2px solid color-mix(in srgb, var(--ink-bright) 68%, transparent);border-radius:4px;z-index:13;box-shadow:0 6px 12px color-mix(in srgb, var(--surface-page) 18%, transparent)}
.ldx-box-object.opening.style-luxury_gift .ldx-gift-lid{top:18px;transform:rotateZ(-18deg) rotateY(-18deg) translateX(-10px)}
.ldx-box-object.opening.style-royal_chest .ldx-gift-lid{top:4px;transform:rotateX(-48deg)}
.ldx-box-object.opening.style-crystal_vault .ldx-gift-lid{top:26px;transform:translateY(-16px) rotate(8deg)}


/* V49 redesigned clean 3D mystery boxes */
.ldx-box-wrap{display:flex!important;justify-content:center;align-items:center;min-height:320px;padding:8px 16px;background:transparent!important}
.ldx-box-hero{position:relative;width:360px;height:250px;transform-style:preserve-3d;filter:drop-shadow(0 26px 26px color-mix(in srgb, var(--surface-card) 18%, transparent)) drop-shadow(0 8px 44px color-mix(in srgb, var(--accent-bright) 12%, transparent))}
.ldx-box-platform{left:70px;right:70px;bottom:18px;height:34px;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 34%, transparent),color-mix(in srgb, var(--state-danger) 10%, transparent) 46%,transparent 74%);filter:blur(10px)}
.ldx-box-shine{display:none}
.ldx-box-image{width:230px;height:230px;z-index:30}
.ldx-box-body,.ldx-box-lid{border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 18%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);box-sizing:border-box}
.ldx-box-ribbon{position:absolute;z-index:15;background:linear-gradient(90deg,var(--accent-bright) 0%,var(--accent-bright) 18%,var(--accent) 52%,var(--accent-bright) 85%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 16%, transparent)}
.ldx-box-ribbon:before{content:'';position:absolute;background:linear-gradient(180deg,var(--accent-bright) 0%,var(--accent-bright) 24%,var(--accent) 56%,var(--accent-bright) 86%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-bow,.ldx-box-lock,.ldx-box-gem{position:absolute;z-index:20}

/* Luxury Gift */
.ldx-box-object.style-luxury_gift .ldx-box-body{left:96px;right:98px;bottom:40px;height:108px;border-radius:16px 16px 22px 22px;box-shadow:var(--box-shadow),inset 0 -16px 16px color-mix(in srgb, var(--state-danger) 20%, transparent),inset 0 14px 14px color-mix(in srgb, var(--ink-bright) 10%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-box-body:before{content:'';position:absolute;left:8px;right:18px;top:-18px;height:20px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,94% 0,6% 0);border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-box-body:after{content:'';position:absolute;top:2px;right:-18px;width:18px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 72%, transparent);border-left:0;border-radius:0 10px 14px 0}
.ldx-box-object.style-luxury_gift .ldx-box-lid{left:84px;right:86px;top:82px;height:44px;border-radius:14px 14px 12px 12px;box-shadow:0 10px 18px color-mix(in srgb, var(--surface-card) 18%, transparent),inset 0 10px 14px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-box-lid:before{content:'';position:absolute;left:8px;right:16px;top:-15px;height:16px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,95% 0,5% 0);border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-box-lid:after{content:'';position:absolute;top:2px;right:-16px;width:16px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 72%, transparent);border-left:0;border-radius:0 10px 12px 0}
.ldx-box-object.style-luxury_gift .ldx-box-ribbon{left:50%;top:52px;bottom:40px;width:26px;transform:translateX(-50%);border-radius:10px}
.ldx-box-object.style-luxury_gift .ldx-box-ribbon:before{left:-64px;right:-64px;top:52px;height:18px;border-radius:999px}
.ldx-box-object.style-luxury_gift .ldx-box-bow{left:50%;top:36px;width:18px;height:18px;transform:translateX(-50%);border-radius:6px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));box-shadow:0 3px 8px color-mix(in srgb, var(--surface-page) 14%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-box-bow:before,.ldx-box-object.style-luxury_gift .ldx-box-bow:after{content:'';position:absolute;top:-8px;width:26px;height:16px;border:6px solid var(--accent);border-bottom-width:4px;border-radius:18px 18px 8px 8px}
.ldx-box-object.style-luxury_gift .ldx-box-bow:before{right:9px;transform:rotate(18deg)}
.ldx-box-object.style-luxury_gift .ldx-box-bow:after{left:9px;transform:rotate(-18deg)}
.ldx-box-object.style-luxury_gift .ldx-box-lock,.ldx-box-object.style-luxury_gift .ldx-box-gem{display:none}

/* Royal Chest */
.ldx-box-object.style-royal_chest .ldx-box-body{left:96px;right:96px;bottom:42px;height:92px;border-radius:14px 14px 22px 22px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 18%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 26%),var(--box-bg);box-shadow:var(--box-shadow),inset 0 -14px 16px color-mix(in srgb, var(--surface-hover) 16%, transparent)}
.ldx-box-object.style-royal_chest .ldx-box-body:before{content:'';position:absolute;inset:8px 14px auto 14px;height:10px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 95%, transparent),color-mix(in srgb, var(--accent) 92%, transparent))}
.ldx-box-object.style-royal_chest .ldx-box-body:after{content:'';position:absolute;top:3px;right:-14px;width:14px;height:100%;background:linear-gradient(180deg,var(--state-warning),var(--surface-hover));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 76%, transparent);border-left:0;border-radius:0 8px 12px 0}
.ldx-box-object.style-royal_chest .ldx-box-lid{left:88px;right:88px;top:66px;height:60px;border-radius:40px 40px 12px 12px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);box-shadow:0 12px 18px color-mix(in srgb, var(--surface-card) 16%, transparent),inset 0 10px 14px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-royal_chest .ldx-box-lid:before{content:'';position:absolute;left:10px;right:10px;top:-12px;height:14px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(8% 100%,92% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent) 94%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-royal_chest .ldx-box-ribbon{left:50%;top:78px;bottom:42px;width:16px;transform:translateX(-50%);border-radius:999px}
.ldx-box-object.style-royal_chest .ldx-box-ribbon:before{left:-70px;top:0;width:14px;height:144px;border-radius:999px;content:''}
.ldx-box-object.style-royal_chest .ldx-box-ribbon:after{right:-70px;top:0;width:14px;height:144px;border-radius:999px;content:'';position:absolute;background:linear-gradient(180deg,var(--accent-bright) 0%,var(--accent-bright) 24%,var(--accent) 56%,var(--accent-bright) 86%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-royal_chest .ldx-box-bow,.ldx-box-object.style-royal_chest .ldx-box-gem{display:none}
.ldx-box-object.style-royal_chest .ldx-box-lock{left:50%;top:140px;width:34px;height:38px;transform:translateX(-50%);border-radius:10px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);box-shadow:0 4px 10px color-mix(in srgb, var(--surface-page) 14%, transparent)}
.ldx-box-object.style-royal_chest .ldx-box-lock:before{content:'';position:absolute;left:50%;top:-16px;width:18px;height:14px;transform:translateX(-50%);border:4px solid var(--accent-bright);border-bottom:0;border-radius:14px 14px 0 0}

/* Crystal Vault */
.ldx-box-object.style-crystal_vault .ldx-box-body{left:100px;right:100px;bottom:42px;height:96px;clip-path:polygon(10% 0,90% 0,100% 14%,100% 86%,90% 100%,10% 100%,0 86%,0 14%);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 40%),var(--box-bg);box-shadow:var(--box-shadow),inset 0 -16px 16px color-mix(in srgb, var(--surface-hover) 14%, transparent)}
.ldx-box-object.style-crystal_vault .ldx-box-body:before{content:'';position:absolute;left:8px;right:8px;top:-16px;height:16px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(8% 100%,92% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-box-body:after{content:'';position:absolute;top:4px;right:-16px;width:16px;height:90%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 18%,100% 84%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 50%, transparent);border-left:0}
.ldx-box-object.style-crystal_vault .ldx-box-lid{left:92px;right:92px;top:80px;height:34px;clip-path:polygon(10% 0,90% 0,100% 26%,100% 100%,0 100%,0 26%);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 38%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 46%),var(--box-bg);box-shadow:0 10px 16px color-mix(in srgb, var(--surface-hover) 16%, transparent)}
.ldx-box-object.style-crystal_vault .ldx-box-lid:before{content:'';position:absolute;left:8px;right:8px;top:-12px;height:12px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(10% 100%,90% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-box-ribbon{left:50%;top:58px;bottom:42px;width:20px;transform:translateX(-50%);border-radius:999px}
.ldx-box-object.style-crystal_vault .ldx-box-ribbon:before{left:-56px;right:-56px;top:54px;height:14px;border-radius:999px}
.ldx-box-object.style-crystal_vault .ldx-box-bow,.ldx-box-object.style-crystal_vault .ldx-box-lock{display:none}
.ldx-box-object.style-crystal_vault .ldx-box-gem{left:50%;top:142px;width:20px;height:20px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright) 40%,var(--accent) 78%);border:2px solid color-mix(in srgb, var(--ink-bright) 70%, transparent);border-radius:4px;box-shadow:0 4px 10px color-mix(in srgb, var(--surface-page) 12%, transparent)}


/* V49 redesigned clean 3D mystery boxes - frontend */
.ldx-box-stage{display:grid;place-items:center;min-height:320px;perspective:1200px;overflow:hidden}
.ldx-box-aura{width:320px;height:170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 38%, transparent),color-mix(in srgb, var(--state-danger) 12%, transparent) 46%,transparent 74%);filter:blur(38px);bottom:26px}
.ldx-box-object{position:relative;width:300px;height:230px;transform-style:preserve-3d;transition:transform .45s ease;filter:drop-shadow(0 24px 24px color-mix(in srgb, var(--surface-card) 26%, transparent)) drop-shadow(0 8px 38px color-mix(in srgb, var(--accent-bright) 12%, transparent))}
.ldx-box-object:hover{transform:translateY(-6px)}
.ldx-box-platform{position:absolute;left:54px;right:54px;bottom:16px;height:30px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 34%, transparent),color-mix(in srgb, var(--state-danger) 10%, transparent) 46%,transparent 74%);filter:blur(10px)}
.ldx-box-image{width:220px;height:220px;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;filter:drop-shadow(0 18px 18px color-mix(in srgb, var(--surface-page) 26%, transparent))}
.ldx-gift-base,.ldx-gift-lid{position:absolute;border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 18%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);box-sizing:border-box}
.ldx-gift-ribbon{position:absolute;z-index:15;background:linear-gradient(90deg,var(--accent-bright) 0%,var(--accent-bright) 18%,var(--accent) 52%,var(--accent-bright) 85%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 16%, transparent)}
.ldx-gift-ribbon:before{content:'';position:absolute;background:linear-gradient(180deg,var(--accent-bright) 0%,var(--accent-bright) 24%,var(--accent) 56%,var(--accent-bright) 86%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-gift-bow,.ldx-gift-lock,.ldx-gift-gem{position:absolute;z-index:20}

.ldx-box-object.style-luxury_gift .ldx-gift-base{left:88px;right:90px;bottom:36px;height:102px;border-radius:16px 16px 22px 22px;box-shadow:var(--box-shadow),inset 0 -16px 16px color-mix(in srgb, var(--state-danger) 20%, transparent),inset 0 14px 14px color-mix(in srgb, var(--ink-bright) 10%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-base:before{content:'';position:absolute;left:8px;right:18px;top:-18px;height:20px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,94% 0,6% 0);border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-gift-base:after{content:'';position:absolute;top:2px;right:-18px;width:18px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 72%, transparent);border-left:0;border-radius:0 10px 14px 0}
.ldx-box-object.style-luxury_gift .ldx-gift-lid{left:76px;right:78px;top:76px;height:42px;border-radius:14px 14px 12px 12px;box-shadow:0 10px 18px color-mix(in srgb, var(--surface-card) 18%, transparent),inset 0 10px 14px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-lid:before{content:'';position:absolute;left:8px;right:16px;top:-15px;height:16px;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 100%,100% 100%,95% 0,5% 0);border:3px solid color-mix(in srgb, var(--accent) 96%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-luxury_gift .ldx-gift-lid:after{content:'';position:absolute;top:2px;right:-16px;width:16px;height:100%;background:linear-gradient(180deg,var(--state-danger),var(--state-danger));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 72%, transparent);border-left:0;border-radius:0 10px 12px 0}
.ldx-box-object.style-luxury_gift .ldx-gift-ribbon{left:50%;top:48px;bottom:36px;width:24px;transform:translateX(-50%);border-radius:10px}
.ldx-box-object.style-luxury_gift .ldx-gift-ribbon:before{left:-60px;right:-60px;top:50px;height:16px;border-radius:999px}
.ldx-box-object.style-luxury_gift .ldx-gift-bow{left:50%;top:34px;width:18px;height:18px;transform:translateX(-50%);border-radius:6px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));box-shadow:0 3px 8px color-mix(in srgb, var(--surface-page) 14%, transparent)}
.ldx-box-object.style-luxury_gift .ldx-gift-bow:before,.ldx-box-object.style-luxury_gift .ldx-gift-bow:after{content:'';position:absolute;top:-8px;width:24px;height:16px;border:6px solid var(--accent);border-bottom-width:4px;border-radius:18px 18px 8px 8px}
.ldx-box-object.style-luxury_gift .ldx-gift-bow:before{right:9px;transform:rotate(18deg)}
.ldx-box-object.style-luxury_gift .ldx-gift-bow:after{left:9px;transform:rotate(-18deg)}
.ldx-box-object.style-luxury_gift .ldx-gift-lock,.ldx-box-object.style-luxury_gift .ldx-gift-gem{display:none}

.ldx-box-object.style-royal_chest .ldx-gift-base{left:88px;right:88px;bottom:38px;height:88px;border-radius:14px 14px 22px 22px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 18%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 26%),var(--box-bg);box-shadow:var(--box-shadow),inset 0 -14px 16px color-mix(in srgb, var(--surface-hover) 16%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-base:before{content:'';position:absolute;inset:8px 14px auto 14px;height:10px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb, var(--accent-bright) 95%, transparent),color-mix(in srgb, var(--accent) 92%, transparent))}
.ldx-box-object.style-royal_chest .ldx-gift-base:after{content:'';position:absolute;top:3px;right:-14px;width:14px;height:100%;background:linear-gradient(180deg,var(--state-warning),var(--surface-hover));clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 76%, transparent);border-left:0;border-radius:0 8px 12px 0}
.ldx-box-object.style-royal_chest .ldx-gift-lid{left:80px;right:80px;top:62px;height:56px;border-radius:38px 38px 12px 12px;background:linear-gradient(180deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 28%),var(--box-bg);box-shadow:0 12px 18px color-mix(in srgb, var(--surface-card) 16%, transparent),inset 0 10px 14px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-lid:before{content:'';position:absolute;left:10px;right:10px;top:-12px;height:14px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(8% 100%,92% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent) 94%, transparent);border-bottom:0;border-radius:10px 10px 0 0}
.ldx-box-object.style-royal_chest .ldx-gift-ribbon{left:50%;top:74px;bottom:38px;width:14px;transform:translateX(-50%);border-radius:999px}
.ldx-box-object.style-royal_chest .ldx-gift-ribbon:before{left:-62px;top:0;width:12px;height:136px;border-radius:999px;content:''}
.ldx-box-object.style-royal_chest .ldx-gift-ribbon:after{content:'';position:absolute;right:-62px;top:0;width:12px;height:136px;border-radius:999px;background:linear-gradient(180deg,var(--accent-bright) 0%,var(--accent-bright) 24%,var(--accent) 56%,var(--accent-bright) 86%,var(--accent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-bow,.ldx-box-object.style-royal_chest .ldx-gift-gem{display:none}
.ldx-box-object.style-royal_chest .ldx-gift-lock{display:block;left:50%;top:132px;width:30px;height:34px;transform:translateX(-50%);border-radius:10px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);box-shadow:0 4px 10px color-mix(in srgb, var(--surface-page) 14%, transparent)}
.ldx-box-object.style-royal_chest .ldx-gift-lock:before{content:'';position:absolute;left:50%;top:-14px;width:16px;height:12px;transform:translateX(-50%);border:4px solid var(--accent-bright);border-bottom:0;border-radius:14px 14px 0 0}

.ldx-box-object.style-crystal_vault .ldx-gift-base{left:92px;right:92px;bottom:38px;height:92px;clip-path:polygon(10% 0,90% 0,100% 14%,100% 86%,90% 100%,10% 100%,0 86%,0 14%);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 40%),var(--box-bg);box-shadow:var(--box-shadow),inset 0 -16px 16px color-mix(in srgb, var(--surface-hover) 14%, transparent)}
.ldx-box-object.style-crystal_vault .ldx-gift-base:before{content:'';position:absolute;left:8px;right:8px;top:-16px;height:16px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(8% 100%,92% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-gift-base:after{content:'';position:absolute;top:4px;right:-16px;width:16px;height:90%;background:linear-gradient(180deg,var(--state-danger),var(--surface-hover));clip-path:polygon(0 0,100% 18%,100% 84%,0 100%);border:3px solid color-mix(in srgb, var(--accent) 50%, transparent);border-left:0}
.ldx-box-object.style-crystal_vault .ldx-gift-lid{left:84px;right:84px;top:74px;height:32px;clip-path:polygon(10% 0,90% 0,100% 26%,100% 100%,0 100%,0 26%);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 38%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 46%),var(--box-bg);box-shadow:0 10px 16px color-mix(in srgb, var(--surface-hover) 16%, transparent)}
.ldx-box-object.style-crystal_vault .ldx-gift-lid:before{content:'';position:absolute;left:8px;right:8px;top:-12px;height:12px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(10% 100%,90% 100%,100% 0,0 0);border:3px solid color-mix(in srgb, var(--accent-bright) 90%, transparent);border-bottom:0}
.ldx-box-object.style-crystal_vault .ldx-gift-ribbon{left:50%;top:54px;bottom:38px;width:18px;transform:translateX(-50%);border-radius:999px}
.ldx-box-object.style-crystal_vault .ldx-gift-ribbon:before{left:-52px;right:-52px;top:52px;height:12px;border-radius:999px}
.ldx-box-object.style-crystal_vault .ldx-gift-bow,.ldx-box-object.style-crystal_vault .ldx-gift-lock{display:none}
.ldx-box-object.style-crystal_vault .ldx-gift-gem{display:block;left:50%;top:132px;width:18px;height:18px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright) 40%,var(--accent) 78%);border:2px solid color-mix(in srgb, var(--ink-bright) 70%, transparent);border-radius:4px;box-shadow:0 4px 10px color-mix(in srgb, var(--surface-page) 12%, transparent)}


/* V50 mystery cube preset */
.ldx-box-object.style-mystery_cube .ldx-box-part{display:none!important}
.ldx-box-object.style-mystery_cube .ldx-box-image{display:block;width:250px;height:250px;object-fit:contain;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 30px 28px color-mix(in srgb, var(--surface-hover) 32%, transparent)) drop-shadow(0 0 26px color-mix(in srgb, var(--accent) 16%, transparent));z-index:20;animation:ldxMysteryCubeFloat 3.2s ease-in-out infinite}
.ldx-box-object.style-mystery_cube.opening .ldx-box-image{animation:ldxMysteryCubeOpen 1.1s cubic-bezier(.2,.8,.2,1) infinite alternate}
@keyframes ldxMysteryCubeFloat{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}
@keyframes ldxMysteryCubeOpen{0%{transform:translate(-50%,-50%) scale(1) rotateY(0);filter:drop-shadow(0 30px 28px color-mix(in srgb, var(--surface-hover) 32%, transparent)) drop-shadow(0 0 24px color-mix(in srgb, var(--accent) 16%, transparent))}100%{transform:translate(-50%,-50%) scale(1.08) rotateY(-8deg);filter:drop-shadow(0 34px 30px color-mix(in srgb, var(--surface-hover) 34%, transparent)) drop-shadow(0 0 46px color-mix(in srgb, var(--accent-bright) 72%, transparent))}}


/* V51 code-drawn configurable Mystery Cube */
.ldx-box-object.style-mystery_cube .ldx-box-part,.ldx-box-object.style-mystery_cube .ldx-box-image{display:none!important}
.ldx-box-object.style-mystery_cube{width:280px;height:250px;filter:drop-shadow(0 30px 28px color-mix(in srgb, var(--surface-card) 30%, transparent)) drop-shadow(0 0 24px color-mix(in srgb, var(--accent) 12%, transparent));animation:ldxMysteryCubeFloat 3.2s ease-in-out infinite}
.ldx-mcube-stage{position:absolute;left:50%;top:50%;width:170px;height:170px;transform-style:preserve-3d;transform:translate(-50%,-48%) rotateX(-18deg) rotateY(35deg);animation:ldxMysteryCubeTurn 8s ease-in-out infinite alternate}
.ldx-mcube-face{position:absolute;inset:0;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--cube-corner) 78%,var(--surface-card));box-sizing:border-box;backface-visibility:hidden;overflow:hidden;box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 19px var(--cube-frame),inset 0 0 0 21px color-mix(in srgb, var(--ink-bright) 16%, transparent),inset 0 -20px 28px color-mix(in srgb, var(--surface-card) 16%, transparent)}
.ldx-mcube-face:before{content:'';position:absolute;inset:22px;background:repeating-linear-gradient(8deg,color-mix(in srgb, var(--ink-bright) 4%, transparent) 0 2px,transparent 2px 12px),repeating-linear-gradient(96deg,color-mix(in srgb, var(--surface-card) 4%, transparent) 0 1px,transparent 1px 17px);border:1px solid color-mix(in srgb, var(--surface-card) 14%, transparent);box-shadow:inset 0 0 18px color-mix(in srgb, var(--ink-bright) 8%, transparent);pointer-events:none}
.ldx-mcube-face:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10px 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at 10px calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px);pointer-events:none}
.ldx-mcube-front{transform:translateZ(85px);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 20%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 34%),var(--cube-panel)}
.ldx-mcube-right{transform:rotateY(90deg) translateZ(85px);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 12%, transparent),color-mix(in srgb, var(--surface-page) 12%, transparent) 76%),var(--cube-side)}
.ldx-mcube-top{transform:rotateX(90deg) translateZ(85px);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--surface-page) 4%, transparent) 78%),var(--cube-top)}
.ldx-mcube-q{position:relative;z-index:2;color:var(--cube-question);font-size:80px;font-weight:1000;line-height:1;text-shadow:0 3px 0 color-mix(in srgb,var(--cube-corner) 55%,transparent),0 8px 12px color-mix(in srgb, var(--surface-card) 22%, transparent);transform:translateY(2px)}
.ldx-mcube-top .ldx-mcube-q{transform:rotate(180deg) translateY(-2px)}
.ldx-box-object.style-mystery_cube.opening{animation:ldxMysteryCubeOpen 1s cubic-bezier(.2,.8,.2,1) infinite alternate}
@keyframes ldxMysteryCubeTurn{0%{transform:translate(-50%,-48%) rotateX(-18deg) rotateY(31deg)}100%{transform:translate(-50%,-50%) rotateX(-20deg) rotateY(39deg)}}
@keyframes ldxMysteryCubeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ldxMysteryCubeOpen{0%{transform:scale(1) rotateY(0);filter:drop-shadow(0 30px 28px color-mix(in srgb, var(--surface-card) 30%, transparent))}100%{transform:scale(1.08) rotateY(8deg);filter:drop-shadow(0 36px 32px color-mix(in srgb, var(--surface-card) 38%, transparent)) drop-shadow(0 0 36px var(--cube-frame))}}


/* V52 stable isometric Mystery Cube + real lid opening */
.ldx-box-object.style-mystery_cube{width:300px;height:260px;animation:ldxMysteryCubeFloat 3.2s ease-in-out infinite;filter:drop-shadow(0 28px 26px color-mix(in srgb, var(--surface-card) 25%, transparent)) drop-shadow(0 0 22px color-mix(in srgb, var(--accent) 12%, transparent))}
.ldx-box-object.style-mystery_cube.opening{animation:none!important;transform:none!important}
.ldx-box-object.style-mystery_cube .ldx-box-part{display:none!important}
.ldx-box-object.style-mystery_cube .ldx-box-image{display:block!important}
.ldx-mcube-stage{position:absolute;left:50%;top:50%;width:260px;height:235px;transform:translate(-50%,-50%);animation:none;transform-style:flat;perspective:none}
.ldx-mcube-body,.ldx-mcube-lid{position:absolute;inset:0}
.ldx-mcube-face{position:absolute;display:grid;place-items:center;box-sizing:border-box;backface-visibility:visible;overflow:hidden;border:4px solid color-mix(in srgb,var(--cube-corner) 82%,var(--surface-card));box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 19px var(--cube-frame),inset 0 0 0 21px color-mix(in srgb, var(--ink-bright) 16%, transparent),inset 0 -18px 24px color-mix(in srgb, var(--surface-card) 14%, transparent)}
.ldx-mcube-face:before{content:'';position:absolute;inset:22px;background:repeating-linear-gradient(7deg,color-mix(in srgb, var(--ink-bright) 4%, transparent) 0 2px,transparent 2px 13px),repeating-linear-gradient(94deg,color-mix(in srgb, var(--surface-card) 4%, transparent) 0 1px,transparent 1px 18px);border:1px solid color-mix(in srgb, var(--surface-card) 14%, transparent);box-shadow:inset 0 0 18px color-mix(in srgb, var(--ink-bright) 8%, transparent);pointer-events:none}
.ldx-mcube-face:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10px 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at 10px calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 35%, transparent) 3.5px 4.5px,transparent 5px);pointer-events:none}
.ldx-mcube-front{left:38px;top:78px;width:154px;height:132px;transform:none;background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 20%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 35%),var(--cube-panel);border-radius:3px 3px 10px 10px;z-index:4}
.ldx-mcube-right{left:192px;top:57px;width:47px;height:153px;transform:none;clip-path:polygon(0 14%,100% 0,100% 87%,0 100%);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 12%, transparent),color-mix(in srgb, var(--surface-page) 15%, transparent) 78%),var(--cube-side);z-index:3}
.ldx-mcube-inner{position:absolute;left:45px;top:62px;width:194px;height:56px;clip-path:polygon(0 54%,25% 0,100% 23%,77% 61%);background:radial-gradient(circle at 50% 65%,color-mix(in srgb,var(--cube-frame) 42%,transparent),transparent 52%),linear-gradient(145deg,var(--surface-card),var(--surface-page));box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 12px var(--cube-frame);z-index:2;opacity:.95}
.ldx-mcube-lid{z-index:8;transform-origin:78% 62%;transform:translate(0,0) rotate(0deg);filter:none}
.ldx-mcube-top{left:27px;top:28px;width:222px;height:72px;transform:none;clip-path:polygon(0 68%,28% 0,100% 28%,74% 68%);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--surface-page) 4%, transparent) 80%),var(--cube-top);z-index:3}
.ldx-mcube-lid-front{position:absolute;left:38px;top:76px;width:154px;height:18px;border:3px solid color-mix(in srgb,var(--cube-corner) 82%,var(--surface-card));border-radius:3px 3px 8px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--cube-frame) 86%,white),var(--cube-frame));box-shadow:inset 0 0 0 4px var(--cube-corner),0 5px 8px color-mix(in srgb, var(--surface-card) 16%, transparent);z-index:4}
.ldx-mcube-lid-right{position:absolute;left:192px;top:57px;width:47px;height:37px;clip-path:polygon(0 50%,100% 0,100% 52%,0 100%);background:linear-gradient(145deg,color-mix(in srgb,var(--cube-frame) 88%,white),var(--cube-corner));border:3px solid color-mix(in srgb,var(--cube-corner) 82%,var(--surface-card));z-index:2}
.ldx-mcube-q{position:relative;z-index:2;color:var(--cube-question);font-size:70px;font-weight:1000;line-height:1;text-shadow:0 3px 0 color-mix(in srgb,var(--cube-corner) 55%,transparent),0 7px 11px color-mix(in srgb, var(--surface-card) 20%, transparent);transform:translateY(2px)}
.ldx-mcube-right .ldx-mcube-q{font-size:49px;transform:translate(-1px,3px) scaleX(.84)}
.ldx-mcube-top .ldx-mcube-q{font-size:57px;transform:translate(13px,-1px) rotate(-3deg)}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-lid{animation:ldxMysteryLidOpen 1.55s cubic-bezier(.18,.78,.18,1) both}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-inner{animation:ldxMysteryInnerGlow 1.55s ease both}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-body{animation:ldxMysteryBodyBounce .55s ease 1}
@keyframes ldxMysteryCubeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ldxMysteryLidOpen{0%,12%{transform:translate(0,0) rotate(0deg);filter:none}38%{transform:translate(-5px,-12px) rotate(-2deg);filter:drop-shadow(0 8px 8px color-mix(in srgb, var(--surface-page) 14%, transparent))}72%,100%{transform:translate(-24px,-55px) rotate(-10deg) scale(1.03);filter:drop-shadow(0 15px 16px color-mix(in srgb, var(--surface-page) 20%, transparent)) drop-shadow(0 0 20px var(--cube-frame))}}
@keyframes ldxMysteryInnerGlow{0%,18%{filter:brightness(.55);box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 12px var(--cube-frame)}65%,100%{filter:brightness(1.5);box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 12px var(--cube-frame),0 0 28px 10px color-mix(in srgb,var(--cube-frame) 68%,transparent)}}
@keyframes ldxMysteryBodyBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}


/* V53 fixed-geometry SVG Mystery Cube */
.ldx-box-object.style-mystery_cube{width:300px;height:245px;filter:none!important;transform:none!important}
.ldx-box-object.style-mystery_cube:hover{transform:none!important}
.ldx-mcube-svg-wrap{position:absolute;inset:0;display:grid;place-items:center;perspective:900px}
.ldx-mcube-svg{width:294px;height:auto;overflow:visible;filter:drop-shadow(0 24px 22px color-mix(in srgb, var(--surface-card) 30%, transparent)) drop-shadow(0 0 24px color-mix(in srgb,var(--cube-frame) 24%,transparent));transform-origin:50% 70%}
.ldx-mcube-svg .mc-shadow{fill:color-mix(in srgb, var(--surface-page) 24%, transparent)}
.ldx-mcube-svg .mc-front{fill:var(--cube-panel);stroke:var(--cube-corner);stroke-width:5;stroke-linejoin:round}
.ldx-mcube-svg .mc-right{fill:var(--cube-side);stroke:var(--cube-corner);stroke-width:5;stroke-linejoin:round}
.ldx-mcube-svg .mc-lid-top{fill:var(--cube-top);stroke:var(--cube-corner);stroke-width:5;stroke-linejoin:round}
.ldx-mcube-svg .mc-lid-front{fill:color-mix(in srgb,var(--cube-frame) 78%,white);stroke:var(--cube-corner);stroke-width:4;stroke-linejoin:round}
.ldx-mcube-svg .mc-lid-right{fill:color-mix(in srgb,var(--cube-side) 84%,black);stroke:var(--cube-corner);stroke-width:4;stroke-linejoin:round}
.ldx-mcube-svg .mc-inner{fill:var(--surface-page);stroke:var(--cube-corner);stroke-width:4;stroke-linejoin:round}
.ldx-mcube-svg .mc-panel-front,.ldx-mcube-svg .mc-panel-right{fill:none;stroke:var(--cube-frame);stroke-width:12;stroke-linejoin:round}
.ldx-mcube-svg .mc-panel-front-inner,.ldx-mcube-svg .mc-panel-right-inner{fill:none;stroke:color-mix(in srgb, var(--ink-bright) 20%, transparent);stroke-width:2;stroke-linejoin:round}
.ldx-mcube-svg .mc-edge{fill:none;stroke:var(--cube-frame);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.ldx-mcube-svg .mc-corner-block{fill:var(--cube-corner);stroke:color-mix(in srgb,var(--cube-corner) 72%,black);stroke-width:2}
.ldx-mcube-svg .mc-rivet{fill:var(--cube-rivet);stroke:color-mix(in srgb, var(--surface-card) 40%, transparent);stroke-width:1.5}
.ldx-mcube-svg .mc-highlight{fill:color-mix(in srgb, var(--ink-bright) 16%, transparent);pointer-events:none}
.ldx-mcube-svg .mc-question{fill:var(--cube-question);font-family:Arial,sans-serif;font-weight:900;text-anchor:middle;paint-order:stroke;stroke:color-mix(in srgb,var(--cube-corner) 48%,transparent);stroke-width:2px;filter:drop-shadow(0 4px 4px color-mix(in srgb, var(--surface-card) 20%, transparent))}
.ldx-mcube-svg .mc-lid-group{transform-box:fill-box;transform-origin:78% 82%;will-change:transform,filter}
.ldx-mcube-svg .mc-inner-glow{fill:color-mix(in srgb,var(--cube-frame) 70%,var(--accent-bright));opacity:0;filter:blur(7px)}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-svg{animation:ldxMcubeBodyPop 1.55s ease both}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-svg .mc-lid-group{animation:ldxMcubeLidOpen 1.55s cubic-bezier(.18,.78,.18,1) both}
.ldx-box-object.style-mystery_cube.opening .ldx-mcube-svg .mc-inner-glow{animation:ldxMcubeGlow 1.55s ease both}
@keyframes ldxMcubeLidOpen{0%,12%{transform:translate(0,0) rotate(0deg);filter:none}38%{transform:translate(-5px,-10px) rotate(-2deg);filter:drop-shadow(0 8px 7px color-mix(in srgb, var(--surface-page) 14%, transparent))}72%,100%{transform:translate(-24px,-56px) rotate(-10deg);filter:drop-shadow(0 16px 14px color-mix(in srgb, var(--surface-page) 22%, transparent)) drop-shadow(0 0 18px var(--cube-frame))}}
@keyframes ldxMcubeBodyPop{0%,15%{transform:translateY(0) scale(1)}42%{transform:translateY(4px) scale(.985)}72%,100%{transform:translateY(-3px) scale(1.025)}}
@keyframes ldxMcubeGlow{0%,20%{opacity:0}50%{opacity:.9}100%{opacity:.35}}


/* V54 true CSS 3D cube adapted from the supplied example */
.ldx-csscube-preview{display:grid;place-items:center;gap:10px;width:100%;min-height:290px}
.ldx-csscube-scene{--cube-size:160px;--cube-half:80px;width:230px;height:230px;perspective:1000px;display:grid;place-items:center;overflow:visible}
.ldx-csscube-box{width:var(--cube-size);height:var(--cube-size);position:relative;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(45deg);transition:transform .5s ease;cursor:pointer;will-change:transform}
.ldx-csscube-box:hover{transform:rotateX(-20deg) rotateY(58deg) scale(1.035)}
.ldx-csscube-face{position:absolute;inset:0;box-sizing:border-box;display:grid;place-items:center;overflow:hidden;border:3px solid color-mix(in srgb,var(--cube-corner) 82%,var(--surface-card));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 20%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 36%),var(--cube-panel);box-shadow:inset 0 0 0 8px var(--cube-corner),inset 0 0 0 19px var(--cube-frame),inset 0 0 30px color-mix(in srgb, var(--surface-card) 18%, transparent);backface-visibility:hidden}
.ldx-csscube-face:before{content:'';position:absolute;inset:22px;border:1px solid color-mix(in srgb, var(--surface-card) 15%, transparent);background:repeating-linear-gradient(8deg,color-mix(in srgb, var(--ink-bright) 5%, transparent) 0 2px,transparent 2px 12px),repeating-linear-gradient(94deg,color-mix(in srgb, var(--surface-card) 4%, transparent) 0 1px,transparent 1px 17px);box-shadow:inset 0 0 16px color-mix(in srgb, var(--ink-bright) 9%, transparent)}
.ldx-csscube-face:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10px 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at 10px calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px)}
.ldx-csscube-q{position:relative;z-index:3;color:var(--cube-question);font-size:72px;font-weight:1000;line-height:1;text-shadow:0 3px 0 color-mix(in srgb,var(--cube-corner) 54%,transparent),0 8px 12px color-mix(in srgb, var(--surface-card) 25%, transparent)}
.ldx-csscube-front{transform:rotateY(0deg) translateZ(var(--cube-half))}
.ldx-csscube-back{transform:rotateY(180deg) translateZ(var(--cube-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 8%, transparent),color-mix(in srgb, var(--surface-page) 16%, transparent)),var(--cube-side)}
.ldx-csscube-right{transform:rotateY(90deg) translateZ(var(--cube-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 12%, transparent),color-mix(in srgb, var(--surface-page) 14%, transparent)),var(--cube-side)}
.ldx-csscube-left{transform:rotateY(-90deg) translateZ(var(--cube-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 14%, transparent),color-mix(in srgb, var(--surface-page) 8%, transparent)),var(--cube-panel)}
.ldx-csscube-bottom{transform:rotateX(-90deg) translateZ(var(--cube-half));background:color-mix(in srgb,var(--cube-side) 78%,var(--surface-card))}
.ldx-csscube-top{backface-visibility:visible;transform:translateZ(calc(var(--cube-half) * -1)) rotateX(90deg);transform-origin:top center;transition:transform 1s cubic-bezier(.68,-.55,.265,1.55),filter 1s ease;background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--surface-page) 4%, transparent)),var(--cube-top);z-index:5}
.ldx-csscube-top .ldx-csscube-q{font-size:62px;transform:rotate(180deg)}
.ldx-csscube-prize{position:absolute;top:50%;left:50%;z-index:9;transform:translate(-50%,-50%) scale(0);font-size:72px;opacity:0;pointer-events:none;filter:drop-shadow(0 0 0 transparent)}
.ldx-csscube-prize img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 10px color-mix(in srgb, var(--surface-page) 28%, transparent))}
.ldx-csscube-replay{border:1px solid var(--accent-bright);border-radius:999px;background:linear-gradient(135deg,var(--accent-bright),var(--accent-bright));color:var(--ink-on-light);font-size:11px;font-weight:900;padding:8px 14px;cursor:pointer;box-shadow:0 6px 14px color-mix(in srgb, var(--state-warning) 14%, transparent)}
.ldx-csscube-preview.opening .ldx-csscube-box{animation:ldxCssCubeShake .7s ease-in-out both}
.ldx-csscube-preview.opening .ldx-csscube-top{animation:ldxCssCubeLidOpen 1.05s cubic-bezier(.68,-.35,.265,1.35) .62s both}
.ldx-csscube-preview.opening .ldx-csscube-prize{animation:ldxCssCubePrize 1s cubic-bezier(.2,.8,.2,1.25) .82s both}
@keyframes ldxCssCubeShake{0%,100%{transform:rotateX(-20deg) rotateY(45deg) translateX(0)}20%{transform:rotateX(-20deg) rotateY(45deg) translateX(-8px) rotateZ(-3deg)}40%{transform:rotateX(-20deg) rotateY(45deg) translateX(8px) rotateZ(3deg)}60%{transform:rotateX(-20deg) rotateY(45deg) translateX(-6px) rotateZ(-2deg)}80%{transform:rotateX(-20deg) rotateY(45deg) translateX(5px) rotateZ(2deg)}}
@keyframes ldxCssCubeLidOpen{0%{transform:translateZ(calc(var(--cube-half) * -1)) rotateX(90deg);filter:none}100%{transform:translateZ(calc(var(--cube-half) * -1)) rotateX(175deg);filter:drop-shadow(0 14px 12px color-mix(in srgb, var(--surface-page) 24%, transparent)) drop-shadow(0 0 14px var(--cube-frame))}}
@keyframes ldxCssCubePrize{0%{transform:translate(-50%,-50%) scale(0);opacity:0}70%,100%{transform:translate(-50%,-50%) translateY(-105px) scale(1);opacity:1;filter:drop-shadow(0 0 20px color-mix(in srgb, var(--accent-bright) 90%, transparent))}}
@media(max-width:700px){.ldx-csscube-scene{transform:scale(.86);margin:-12px 0}}

.ldx-csscube-replay{display:none!important}


/* V55 unified complete CSS 3D boxes: all four presets share full geometry */
.ldx-cssbox-preview{display:grid;place-items:center;gap:8px;width:100%;min-height:310px}
.ldx-cssbox-scene{--box-size:164px;--box-half:82px;--box-inner:150px;--box-inset:7px;width:250px;height:250px;perspective:1100px;display:grid;place-items:center;overflow:visible}
.ldx-cssbox-box{width:var(--box-size);height:var(--box-size);position:relative;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(45deg);transition:transform .45s ease;cursor:pointer;will-change:transform}
.ldx-cssbox-box:hover{transform:rotateX(-20deg) rotateY(56deg) scale(1.025)}
.ldx-cssbox-face,.ldx-cssbox-inner{position:absolute;box-sizing:border-box;display:grid;place-items:center}
.ldx-cssbox-face{inset:0;overflow:hidden;border:3px solid color-mix(in srgb,var(--cube-corner) 82%,var(--surface-card));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 20%, transparent),color-mix(in srgb, var(--ink-bright) 0%, transparent) 36%),var(--cube-panel);box-shadow:inset 0 0 0 8px var(--cube-corner),inset 0 0 0 19px var(--cube-frame),inset 0 0 30px color-mix(in srgb, var(--surface-card) 18%, transparent);backface-visibility:hidden}
.ldx-cssbox-face:before{content:'';position:absolute;inset:22px;border:1px solid color-mix(in srgb, var(--surface-card) 15%, transparent);background:repeating-linear-gradient(8deg,color-mix(in srgb, var(--ink-bright) 5%, transparent) 0 2px,transparent 2px 12px),repeating-linear-gradient(94deg,color-mix(in srgb, var(--surface-card) 4%, transparent) 0 1px,transparent 1px 17px);box-shadow:inset 0 0 16px color-mix(in srgb, var(--ink-bright) 9%, transparent)}
.ldx-cssbox-face:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10px 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) 10px,var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at 10px calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px),radial-gradient(circle at calc(100% - 10px) calc(100% - 10px),var(--cube-rivet) 0 3px,color-mix(in srgb, var(--surface-card) 38%, transparent) 3.5px 4.5px,transparent 5px);pointer-events:none}
.ldx-cssbox-front{transform:rotateY(0deg) translateZ(var(--box-half))}
.ldx-cssbox-back{transform:rotateY(180deg) translateZ(var(--box-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 8%, transparent),color-mix(in srgb, var(--surface-page) 16%, transparent)),var(--cube-side)}
.ldx-cssbox-right{transform:rotateY(90deg) translateZ(var(--box-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 12%, transparent),color-mix(in srgb, var(--surface-page) 14%, transparent)),var(--cube-side)}
.ldx-cssbox-left{transform:rotateY(-90deg) translateZ(var(--box-half));background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 14%, transparent),color-mix(in srgb, var(--surface-page) 8%, transparent)),var(--cube-panel)}
.ldx-cssbox-bottom{transform:rotateX(-90deg) translateZ(var(--box-half));background:color-mix(in srgb,var(--cube-side) 78%,var(--surface-card))}
.ldx-cssbox-top{backface-visibility:visible;transform:translateZ(calc(var(--box-half) * -1)) rotateX(90deg);transform-origin:top center;transition:transform 1s cubic-bezier(.68,-.35,.265,1.35),filter 1s ease;background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 28%, transparent),color-mix(in srgb, var(--surface-page) 4%, transparent)),var(--cube-top);z-index:12}
.ldx-cssbox-inner{width:var(--box-inner);height:var(--box-inner);left:var(--box-inset);top:var(--box-inset);border:2px solid color-mix(in srgb,var(--cube-frame) 45%,var(--surface-page));background:linear-gradient(145deg,color-mix(in srgb,var(--cube-side) 72%,var(--surface-page)),var(--surface-page));box-shadow:inset 0 0 22px color-mix(in srgb, var(--surface-page) 52%, transparent);backface-visibility:visible;z-index:1}
.ldx-cssbox-inner-back{transform:translateZ(calc(var(--box-inset) - var(--box-half)))}
.ldx-cssbox-inner-left{transform:rotateY(90deg) translateZ(calc(var(--box-inset) - var(--box-half)))}
.ldx-cssbox-inner-right{transform:rotateY(-90deg) translateZ(calc(var(--box-inset) - var(--box-half)))}
.ldx-cssbox-inner-bottom{transform:rotateX(90deg) translateZ(calc(var(--box-inset) - var(--box-half)));background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--cube-frame) 32%,var(--surface-page)),var(--surface-page) 72%)}
.ldx-cssbox-q{position:relative;z-index:4;color:var(--cube-question);font-size:72px;font-weight:1000;line-height:1;text-shadow:0 3px 0 color-mix(in srgb,var(--cube-corner) 54%,transparent),0 8px 12px color-mix(in srgb, var(--surface-card) 25%, transparent)}
.ldx-cssbox-top .ldx-cssbox-q{font-size:60px;transform:rotate(180deg)}
.ldx-cssbox-glow{position:absolute;left:20px;top:20px;width:124px;height:124px;transform:translateZ(0);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--accent-bright) 92%, transparent),color-mix(in srgb, var(--accent-bright) 28%, transparent) 38%,transparent 72%);filter:blur(10px);opacity:0;z-index:2;pointer-events:none}
.ldx-cssbox-prize{position:absolute;top:50%;left:50%;z-index:20;transform:translate(-50%,-50%) scale(0);font-size:72px;opacity:0;pointer-events:none}
.ldx-cssbox-prize img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 10px color-mix(in srgb, var(--surface-page) 28%, transparent))}
.ldx-cssbox-preview.opening .ldx-cssbox-box{animation:ldxCssBoxShake .68s ease-in-out both}
.ldx-cssbox-preview.opening .ldx-cssbox-top{animation:ldxCssBoxLidOpen 1.05s cubic-bezier(.68,-.35,.265,1.35) .58s both}
.ldx-cssbox-preview.opening .ldx-cssbox-prize{animation:ldxCssBoxPrize 1s cubic-bezier(.2,.8,.2,1.25) .82s both}
.ldx-cssbox-preview.opening .ldx-cssbox-glow{animation:ldxCssBoxGlow 1.35s ease .68s both}
@keyframes ldxCssBoxShake{0%,100%{transform:rotateX(-20deg) rotateY(45deg) translateX(0)}20%{transform:rotateX(-20deg) rotateY(45deg) translateX(-8px) rotateZ(-3deg)}40%{transform:rotateX(-20deg) rotateY(45deg) translateX(8px) rotateZ(3deg)}60%{transform:rotateX(-20deg) rotateY(45deg) translateX(-6px) rotateZ(-2deg)}80%{transform:rotateX(-20deg) rotateY(45deg) translateX(5px) rotateZ(2deg)}}
@keyframes ldxCssBoxLidOpen{0%{transform:translateZ(calc(var(--box-half) * -1)) rotateX(90deg);filter:none}100%{transform:translateZ(calc(var(--box-half) * -1)) rotateX(220deg);filter:drop-shadow(0 14px 12px color-mix(in srgb, var(--surface-page) 24%, transparent)) drop-shadow(0 0 14px var(--cube-frame))}}
@keyframes ldxCssBoxPrize{0%{transform:translate(-50%,-50%) scale(0);opacity:0}70%,100%{transform:translate(-50%,-50%) translateY(-110px) scale(1);opacity:1;filter:drop-shadow(0 0 20px color-mix(in srgb, var(--accent-bright) 90%, transparent))}}
@keyframes ldxCssBoxGlow{0%{opacity:0;transform:translateZ(0) scale(.3)}45%{opacity:1}100%{opacity:.26;transform:translateZ(0) scale(1.1)}}
/* V59 Premium diverse preset skins */
.ldx-cssbox-preview.style-luxury_gift{--cube-panel:var(--state-danger);--cube-side:var(--state-danger);--cube-top:var(--state-danger);--cube-frame:var(--accent-bright);--cube-corner:var(--accent);--cube-question:transparent;--cube-rivet:var(--accent-bright)}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-q{display:none}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-face{border-color:color-mix(in srgb,var(--cube-frame) 82%,var(--state-warning));box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--cube-corner) 74%,var(--state-danger)),inset 0 0 0 18px var(--cube-frame),inset 0 0 34px color-mix(in srgb, var(--ink-bright) 13%, transparent),0 0 20px color-mix(in srgb, var(--state-danger) 20%, transparent)}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-front,.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-back{background-image:linear-gradient(90deg,transparent 39%,var(--accent-bright) 39% 61%,transparent 61%),linear-gradient(0deg,transparent 39%,var(--accent) 39% 61%,transparent 61%),linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 54%, transparent) 0%,color-mix(in srgb, var(--ink-bright) 8%, transparent) 24%,transparent 43%),linear-gradient(145deg,color-mix(in srgb,var(--cube-top) 72%,var(--ink-bright)),var(--cube-panel) 52%,color-mix(in srgb,var(--cube-side) 76%,var(--surface-card)))}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-right,.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-left{background-image:linear-gradient(90deg,transparent 39%,var(--accent) 39% 61%,transparent 61%),linear-gradient(0deg,transparent 39%,var(--accent-bright) 39% 61%,transparent 61%),linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),transparent 34%),linear-gradient(145deg,var(--cube-panel),var(--cube-side) 76%)}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-top{background-image:linear-gradient(90deg,transparent 39%,var(--accent-bright) 39% 61%,transparent 61%),linear-gradient(0deg,transparent 39%,var(--accent) 39% 61%,transparent 61%),linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 58%, transparent),transparent 42%),linear-gradient(145deg,var(--state-danger),var(--cube-panel) 62%,var(--state-danger))}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-face:before{inset:21px;border:1px solid color-mix(in srgb, var(--ink-bright) 24%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 22%, transparent),transparent 38%,color-mix(in srgb, var(--ink-bright) 6%, transparent));box-shadow:inset 0 0 18px color-mix(in srgb, var(--ink-bright) 12%, transparent)}
.ldx-cssbox-bow{display:none;position:absolute;left:50%;top:50%;width:30px;height:22px;transform:translate(-50%,-50%);z-index:9;border-radius:8px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));box-shadow:0 6px 10px color-mix(in srgb, var(--surface-card) 22%, transparent)}
.ldx-cssbox-bow:before,.ldx-cssbox-bow:after{content:'';position:absolute;top:-6px;width:38px;height:26px;border:9px solid var(--accent);border-radius:50% 50% 16px 16px;box-shadow:inset 0 2px 2px color-mix(in srgb, var(--ink-bright) 36%, transparent)}
.ldx-cssbox-bow:before{right:15px;transform:rotate(16deg)}.ldx-cssbox-bow:after{left:15px;transform:rotate(-16deg)}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-bow{display:block}
.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-crown,.ldx-cssbox-preview.style-luxury_gift .ldx-cssbox-vault-ring{display:none}

.ldx-cssbox-preview.style-royal_chest{--cube-panel:var(--surface-hover);--cube-side:var(--surface-page);--cube-top:var(--state-warning);--cube-frame:var(--accent);--cube-corner:var(--state-warning);--cube-question:transparent;--cube-rivet:var(--accent-bright)}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-q{display:none}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-face{border-color:var(--surface-hover);box-shadow:inset 0 0 0 8px var(--state-warning),inset 0 0 0 19px var(--accent),inset 0 0 34px color-mix(in srgb, var(--surface-page) 34%, transparent),0 0 18px color-mix(in srgb, var(--accent) 16%, transparent)}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-face{background-image:linear-gradient(90deg,transparent 13%,var(--accent) 13% 21%,transparent 21% 79%,var(--accent) 79% 87%,transparent 87%),linear-gradient(0deg,transparent 10%,var(--accent) 10% 17%,transparent 17% 83%,var(--accent) 83% 90%,transparent 90%),repeating-linear-gradient(3deg,color-mix(in srgb, var(--accent-bright) 7%, transparent) 0 2px,transparent 2px 14px),linear-gradient(145deg,var(--state-warning),var(--cube-panel) 48%,var(--cube-side))}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-right,.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-left{background-image:linear-gradient(90deg,transparent 13%,var(--accent-deep) 13% 21%,transparent 21% 79%,var(--accent-deep) 79% 87%,transparent 87%),linear-gradient(0deg,transparent 10%,var(--accent) 10% 17%,transparent 17% 83%,var(--accent) 83% 90%,transparent 90%),repeating-linear-gradient(3deg,color-mix(in srgb, var(--accent-bright) 6%, transparent) 0 2px,transparent 2px 13px),linear-gradient(145deg,var(--surface-hover),var(--cube-side) 72%)}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-top{background-image:linear-gradient(90deg,transparent 13%,var(--accent) 13% 21%,transparent 21% 79%,var(--accent) 79% 87%,transparent 87%),linear-gradient(0deg,transparent 13%,var(--accent) 13% 21%,transparent 21% 79%,var(--accent) 79% 87%,transparent 87%),repeating-linear-gradient(3deg,color-mix(in srgb, var(--accent-bright) 8%, transparent) 0 2px,transparent 2px 14px),linear-gradient(145deg,var(--state-warning),var(--cube-top) 52%,var(--surface-hover))}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-face:before{inset:24px;border:1px solid color-mix(in srgb, var(--accent-bright) 16%, transparent);background:repeating-linear-gradient(6deg,color-mix(in srgb, var(--ink-bright) 2%, transparent) 0 2px,transparent 2px 12px);box-shadow:inset 0 0 24px color-mix(in srgb, var(--surface-page) 28%, transparent)}
.ldx-cssbox-lock{display:none;position:absolute;left:50%;top:54%;width:38px;height:44px;transform:translate(-50%,-50%);z-index:10;border-radius:10px;background:linear-gradient(180deg,var(--accent-bright),var(--accent) 52%,var(--accent-deep));border:3px solid var(--surface-hover);box-shadow:0 7px 12px color-mix(in srgb, var(--surface-page) 32%, transparent),inset 0 2px 2px color-mix(in srgb, var(--ink-bright) 42%, transparent)}
.ldx-cssbox-lock:before{content:'';position:absolute;left:50%;top:-20px;width:24px;height:20px;transform:translateX(-50%);border:5px solid var(--accent-bright);border-bottom:0;border-radius:18px 18px 0 0}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-lock{display:block}
.ldx-cssbox-crown{display:none;position:absolute;left:50%;top:28%;width:42px;height:30px;transform:translate(-50%,-50%);z-index:9;background:linear-gradient(180deg,var(--accent-bright),var(--accent));clip-path:polygon(0 92%,8% 30%,30% 62%,50% 10%,70% 62%,92% 30%,100% 92%);filter:drop-shadow(0 4px 4px color-mix(in srgb, var(--surface-page) 28%, transparent))}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-crown{display:block}
.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-bow,.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-gem,.ldx-cssbox-preview.style-royal_chest .ldx-cssbox-vault-ring{display:none}

.ldx-cssbox-preview.style-crystal_vault{--cube-panel:var(--accent-bright);--cube-side:var(--surface-hover);--cube-top:var(--accent-bright);--cube-frame:var(--accent-bright);--cube-corner:var(--accent);--cube-question:transparent;--cube-rivet:var(--accent-bright)}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-q{display:none}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-face{clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%);border-color:var(--accent-bright);box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--accent) 78%, transparent),inset 0 0 0 18px color-mix(in srgb, var(--accent-bright) 78%, transparent),inset 0 0 34px color-mix(in srgb, var(--accent-bright) 22%, transparent),0 0 18px color-mix(in srgb, var(--accent) 38%, transparent),0 0 28px color-mix(in srgb, var(--accent-bright) 28%, transparent);animation:ldxCrystalPulse 2.8s ease-in-out infinite}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-front,.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-back{background-image:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 58%, transparent) 0%,transparent 24%,color-mix(in srgb, var(--ink-bright) 12%, transparent) 45%,transparent 62%),linear-gradient(145deg,var(--accent) 0%,var(--accent) 46%,var(--accent) 100%)}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-right,.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-left{background-image:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 34%, transparent),transparent 34%),linear-gradient(145deg,var(--accent) 0%,var(--accent) 52%,var(--accent) 100%)}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-top{background-image:linear-gradient(135deg,color-mix(in srgb, var(--ink-bright) 68%, transparent),transparent 34%,color-mix(in srgb, var(--ink-bright) 16%, transparent)),linear-gradient(145deg,var(--accent-bright) 0%,var(--accent-bright) 50%,var(--accent-bright) 100%)}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-face:before{inset:20px;border:1px solid color-mix(in srgb, var(--ink-bright) 34%, transparent);background:linear-gradient(45deg,transparent 46%,color-mix(in srgb, var(--ink-bright) 24%, transparent) 48% 52%,transparent 54%),linear-gradient(-45deg,transparent 46%,color-mix(in srgb, var(--ink-bright) 18%, transparent) 48% 52%,transparent 54%);background-size:36px 36px;box-shadow:inset 0 0 24px color-mix(in srgb, var(--accent-bright) 18%, transparent)}
.ldx-cssbox-gem{display:none;position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%) rotate(45deg);z-index:11;background:linear-gradient(135deg,var(--ink-bright),var(--accent-bright) 36%,var(--accent-bright) 68%,var(--accent));border:2px solid color-mix(in srgb, var(--ink-bright) 88%, transparent);border-radius:5px;box-shadow:0 0 12px var(--accent-bright),0 0 24px color-mix(in srgb, var(--accent) 72%, transparent)}
.ldx-cssbox-vault-ring{display:none;position:absolute;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);z-index:9;border-radius:50%;border:8px solid color-mix(in srgb, var(--accent-bright) 76%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 42%, transparent),inset 0 0 16px color-mix(in srgb, var(--accent-bright) 44%, transparent),0 0 18px color-mix(in srgb, var(--accent) 54%, transparent)}
.ldx-cssbox-vault-ring:before{content:'';position:absolute;inset:10px;border:3px dashed color-mix(in srgb, var(--ink-bright) 72%, transparent);border-radius:50%}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-gem,.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-vault-ring{display:block}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-bow,.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-lock,.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-crown{display:none}
@keyframes ldxCrystalPulse{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.12) saturate(1.18)}}
@media(max-width:700px){.ldx-cssbox-scene{transform:scale(.86);margin:-12px 0}}



/* V56 unified shop palette */
.ldx-shop-card{color:var(--shop-text,var(--ink-hi))}
.ldx-shop-body{color:var(--shop-text,var(--ink-bright))}
.ldx-shop-body h3{color:var(--shop-text,var(--ink-bright))}
.ldx-shop-body p,.ldx-shop-meta{color:color-mix(in srgb,var(--shop-text,var(--ink-bright)) 68%,transparent)}
.ldx-shop-body .ldx-primary{background:var(--shop-button,linear-gradient(135deg,color-mix(in srgb,var(--shop-accent) 76%,white),var(--shop-accent)));color:var(--surface-card)}


/* V57 Luxury Premium Wheel */
.ldx-wheel-wrap.style-luxury_premium{isolation:isolate;filter:drop-shadow(0 24px 26px color-mix(in srgb, var(--surface-page) 38%, transparent))}
.ldx-wheel-wrap.style-luxury_premium:before{content:"";position:absolute;inset:-17px;border-radius:50%;background:linear-gradient(135deg,var(--accent-bright) 0%,var(--accent-deep) 50%,var(--accent-bright) 100%);box-shadow:0 0 50px color-mix(in srgb, var(--accent-deep) 30%, transparent),inset 0 0 20px color-mix(in srgb, var(--surface-page) 50%, transparent);z-index:-2;pointer-events:none}
.ldx-wheel-wrap.style-luxury_premium:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px dashed color-mix(in srgb, var(--ink-bright) 40%, transparent);z-index:14;pointer-events:none}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel{border-color:var(--surface-card)!important;box-shadow:var(--wheel-shadow),inset 0 0 40px color-mix(in srgb, var(--surface-page) 80%, transparent)!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel:before{inset:4px;border-color:color-mix(in srgb, var(--ink-bright) 14%, transparent);box-shadow:inset 0 0 36px color-mix(in srgb, var(--surface-page) 62%, transparent)}
.ldx-wheel-wrap.style-luxury_premium .ldx-ring-lights{inset:-10px;background:none;border:2px dashed color-mix(in srgb, var(--ink-bright) 28%, transparent);animation:none;filter:none;z-index:13}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer{border:0;width:36px;height:44%;top:50%;left:50%;translate:0 10px;transform:translate(-50%,-100%);background:var(--wheel-pointer-bg,linear-gradient(180deg,var(--accent-bright),var(--accent)));clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 -5px 10px color-mix(in srgb, var(--accent) 50%, transparent));z-index:9}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer:after{display:none}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-btn{border-color:var(--accent)!important;background:var(--wheel-center,radial-gradient(circle at 38% 26%,var(--surface-hover),var(--surface-card) 70%))!important;color:var(--accent-bright)!important;box-shadow:0 10px 20px color-mix(in srgb, var(--surface-page) 50%, transparent),inset 0 4px 10px color-mix(in srgb, var(--ink-bright) 10%, transparent)!important;letter-spacing:.08em;text-transform:uppercase}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-btn:active{transform:translate(-50%,-50%) scale(.95);border-color:var(--accent-deep)!important;color:var(--accent-deep)!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content{color:var(--accent-bright)!important;text-shadow:1px 1px 3px color-mix(in srgb, var(--surface-page) 82%, transparent)!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content.bg-soft,.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content.bg-pill{background:transparent!important;box-shadow:none!important;padding:0!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content img{filter:drop-shadow(0 4px 6px color-mix(in srgb, var(--surface-page) 44%, transparent))}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-title{letter-spacing:.04em}

.ldx-wheel-zone.style-luxury_premium{background:radial-gradient(circle at center,var(--surface-hover) 0%,var(--surface-page) 100%)!important}

/* V59.1 Crystal Vault opening animation hotfix */
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-face:not(.ldx-cssbox-top){animation:ldxCrystalPulse 2.8s ease-in-out infinite}
.ldx-cssbox-preview.style-crystal_vault .ldx-cssbox-top{animation:none}
.ldx-cssbox-preview.style-crystal_vault.opening .ldx-cssbox-top{animation:ldxCssBoxLidOpen 1.05s cubic-bezier(.68,-.35,.265,1.35) .58s both!important}
.ldx-cssbox-preview.style-crystal_vault.opening .ldx-cssbox-vault-ring{animation:ldxCrystalVaultUnlock .9s ease .18s both}
.ldx-cssbox-preview.style-crystal_vault.opening .ldx-cssbox-gem{animation:ldxCrystalGemUnlock .9s ease .18s both}
@keyframes ldxCrystalVaultUnlock{0%{transform:translate(-50%,-50%) rotate(0deg) scale(1);filter:brightness(1)}55%{transform:translate(-50%,-50%) rotate(145deg) scale(1.12);filter:brightness(1.5) drop-shadow(0 0 12px var(--accent-bright))}100%{transform:translate(-50%,-50%) rotate(220deg) scale(.82);filter:brightness(1.25);opacity:.5}}
@keyframes ldxCrystalGemUnlock{0%{transform:translate(-50%,-50%) rotate(45deg) scale(1)}55%{transform:translate(-50%,-50%) rotate(225deg) scale(1.35);filter:brightness(1.7) drop-shadow(0 0 14px var(--ink-bright))}100%{transform:translate(-50%,-50%) rotate(405deg) scale(.78);opacity:.42}}


/* V60 functional box colors and selectable face patterns */
.ldx-cssbox-preview .ldx-cssbox-front,.ldx-cssbox-preview .ldx-cssbox-back{background-image:var(--cube-front-bg)!important}.ldx-cssbox-preview .ldx-cssbox-right,.ldx-cssbox-preview .ldx-cssbox-left{background-image:var(--cube-side-bg)!important}.ldx-cssbox-preview .ldx-cssbox-top{background-image:var(--cube-top-bg)!important}.ldx-cssbox-preview .ldx-cssbox-face{border-color:var(--cube-frame)!important;box-shadow:inset 0 0 0 7px var(--cube-corner),inset 0 0 0 18px var(--cube-frame),inset 0 0 30px color-mix(in srgb, var(--ink-bright) 10%, transparent),0 0 22px color-mix(in srgb,var(--cube-glow) 38%,transparent)!important}.ldx-cssbox-preview .ldx-cssbox-inner{background:linear-gradient(145deg,color-mix(in srgb,var(--cube-inner) 76%,white),var(--cube-inner) 55%,color-mix(in srgb,var(--cube-inner) 82%,black))!important;border-color:color-mix(in srgb,var(--cube-frame) 48%,var(--cube-inner))!important}.ldx-cssbox-preview .ldx-cssbox-inner-bottom{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--cube-glow) 22%,var(--cube-inner)),var(--cube-inner) 72%)!important}.ldx-cssbox-preview .ldx-cssbox-glow{background:radial-gradient(circle,color-mix(in srgb,var(--cube-glow) 92%,white),color-mix(in srgb,var(--cube-glow) 34%,transparent) 38%,transparent 72%)!important}.ldx-cssbox-preview .ldx-cssbox-q{color:var(--cube-question)!important}.ldx-cssbox-preview .ldx-cssbox-bow{background:linear-gradient(180deg,color-mix(in srgb,var(--cube-pattern) 72%,white),var(--cube-pattern))!important}.ldx-cssbox-preview .ldx-cssbox-bow:before,.ldx-cssbox-preview .ldx-cssbox-bow:after{border-color:var(--cube-pattern)!important}.ldx-cssbox-preview .ldx-cssbox-lock{background:linear-gradient(180deg,color-mix(in srgb,var(--cube-question) 68%,white),var(--cube-question) 52%,var(--cube-corner))!important;border-color:var(--cube-corner)!important}.ldx-cssbox-preview .ldx-cssbox-lock:before{border-color:var(--cube-frame)!important}.ldx-cssbox-preview .ldx-cssbox-crown{background:linear-gradient(180deg,color-mix(in srgb,var(--cube-question) 72%,white),var(--cube-question))!important}.ldx-cssbox-preview .ldx-cssbox-vault-ring{border-color:var(--cube-frame)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--cube-corner) 62%,transparent),inset 0 0 16px color-mix(in srgb,var(--cube-glow) 44%,transparent),0 0 18px color-mix(in srgb,var(--cube-glow) 60%,transparent)!important}.ldx-cssbox-preview .ldx-cssbox-gem{background:linear-gradient(135deg,var(--ink-bright),var(--cube-glow) 36%,var(--cube-pattern) 68%,var(--cube-corner))!important;box-shadow:0 0 12px var(--cube-glow),0 0 24px color-mix(in srgb,var(--cube-corner) 72%,transparent)!important}


/* V60.1: selected face pattern is exclusive; solid means truly flat */
.ldx-cssbox-preview .ldx-cssbox-face[class*="box-pattern-"]::before{
  background:none!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  opacity:0!important;
}
.ldx-cssbox-preview .ldx-cssbox-face.box-pattern-solid{background-repeat:no-repeat!important;background-size:100% 100%!important}


/* V71 Check-in Reward Center */
.ldx-float-checkin .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 22%, transparent),color-mix(in srgb, var(--state-success) 18%, transparent));border-color:color-mix(in srgb, var(--accent-bright) 35%, transparent)}
.ldx-checkin-list{display:grid;gap:16px}
.ldx-checkin-card{position:relative;overflow:hidden;border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb, var(--surface-card) 96%, transparent),color-mix(in srgb, var(--surface-page) 96%, transparent));box-shadow:0 18px 42px color-mix(in srgb, var(--surface-page) 20%, transparent);padding:20px}
.ldx-checkin-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 0,color-mix(in srgb, var(--accent) 16%, transparent),transparent 34%),linear-gradient(90deg,transparent,color-mix(in srgb, var(--ink-bright) 2%, transparent),transparent)}
.ldx-checkin-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px}
.ldx-checkin-head h3{font-size:21px;margin:0 0 5px;color:var(--ink-bright)}.ldx-checkin-head p{margin:0;color:var(--ldx-muted);font-size:12px;line-height:1.55}
.ldx-checkin-stat{text-align:right;min-width:125px}.ldx-checkin-stat small{display:block;color:var(--accent-bright);font-size:10px}.ldx-checkin-stat strong{display:block;color:var(--ldx-gold2);font-size:22px;margin-top:2px}
.ldx-checkin-rewards{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 16px}
.ldx-checkin-reward{display:flex;gap:11px;align-items:center;min-height:68px;padding:10px 12px;border-radius:15px;border:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent);background:color-mix(in srgb, var(--ink-bright) 4%, transparent)}
.ldx-checkin-reward.due{border-color:color-mix(in srgb, var(--accent) 38%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 12%, transparent),color-mix(in srgb, var(--ink-bright) 3%, transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 4%, transparent)}
.ldx-checkin-reward.locked{border-color:color-mix(in srgb, var(--state-danger) 28%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 18%, transparent),color-mix(in srgb, var(--ink-bright) 2%, transparent))}.ldx-checkin-reward.claimed{opacity:.64}.ldx-checkin-condition{color:var(--ink-accent)!important}.ldx-checkin-condition.bad{color:var(--state-danger)!important}.ldx-checkin-totals{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.ldx-checkin-total{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent);border-radius:999px;background:color-mix(in srgb, var(--ink-bright) 4%, transparent);color:var(--ink-accent);font-size:10px}.ldx-checkin-total b{color:var(--ink-bright);margin-left:4px}
.ldx-checkin-reward-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);font-size:21px;overflow:hidden}.ldx-checkin-reward-icon img{width:100%;height:100%;object-fit:cover}
.ldx-checkin-reward b{display:block;color:var(--ink-bright);font-size:12px}.ldx-checkin-reward small{display:block;color:var(--accent-bright);font-size:10px;line-height:1.4;margin-top:3px}
.ldx-checkin-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid color-mix(in srgb, var(--ink-bright) 7%, transparent);padding-top:15px}
.ldx-checkin-date{font-size:10px;color:var(--accent-bright)}.ldx-checkin-btn{min-width:170px;border:0;border-radius:13px;padding:12px 18px;font-weight:900;cursor:pointer;color:var(--ink-on-light);background:linear-gradient(135deg,var(--accent-bright),var(--accent));box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 16%, transparent)}.ldx-checkin-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
.ldx-checkin-empty{padding:32px;text-align:center;color:var(--accent-bright);border:1px dashed color-mix(in srgb, var(--ink-bright) 12%, transparent);border-radius:18px}
.ldx-checkin-calendar{position:relative;margin:15px 0;border:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent);border-radius:18px;background:color-mix(in srgb, var(--surface-page) 30%, transparent);overflow:hidden}
.ldx-checkin-calendar-head{display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 12px;border-bottom:1px solid color-mix(in srgb, var(--ink-bright) 7%, transparent);background:linear-gradient(90deg,color-mix(in srgb, var(--accent) 8%, transparent),color-mix(in srgb, var(--ink-bright) 2%, transparent))}
.ldx-checkin-calendar-title{text-align:center;min-width:0}.ldx-checkin-calendar-title b{display:block;color:var(--ink-bright);font-size:14px}.ldx-checkin-calendar-title small{display:block;color:var(--accent-bright);font-size:9px;margin-top:2px}
.ldx-checkin-current-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--ink-accent);font-size:8px;font-weight:950}
.ldx-checkin-calendar-scroll{overflow:hidden;padding:10px}
.ldx-checkin-weekdays,.ldx-checkin-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;min-width:0}
.ldx-checkin-weekdays{margin-bottom:6px}.ldx-checkin-weekdays div{text-align:center;padding:6px 2px;border-radius:8px;background:color-mix(in srgb, var(--ink-bright) 5%, transparent);color:var(--ink-accent);font-size:9px;font-weight:900}
.ldx-checkin-day{appearance:none;width:100%;min-width:0;min-height:142px;padding:7px;border:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent);border-radius:12px;background:color-mix(in srgb, var(--ink-bright) 3%, transparent);color:inherit;font:inherit;text-align:left;overflow:hidden;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.ldx-checkin-day:hover{border-color:color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--ink-bright) 4%, transparent);transform:translateY(-1px)}
.ldx-checkin-day.blank{visibility:hidden;pointer-events:none;min-height:142px}
.ldx-checkin-day.inactive{opacity:.48;cursor:default}.ldx-checkin-day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent-bright) 72%, transparent)}.ldx-checkin-day.selected{outline:2px solid color-mix(in srgb, var(--accent) 74%, transparent);outline-offset:-2px}
.ldx-checkin-day.checked{border-color:color-mix(in srgb, var(--state-success) 32%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--surface-card) 18%, transparent),color-mix(in srgb, var(--ink-bright) 2%, transparent))}.ldx-checkin-day.has-reward{border-color:color-mix(in srgb, var(--accent) 24%, transparent)}
.ldx-checkin-day-head{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:5px}.ldx-checkin-day-number{font-weight:950;color:var(--surface-page);font-size:12px}
.ldx-checkin-day-badge{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;border-radius:999px;background:color-mix(in srgb, var(--state-success) 22%, transparent);color:var(--ink-success);font-size:7px;font-weight:900}.ldx-checkin-day-badge.today{background:color-mix(in srgb, var(--accent-bright) 16%, transparent);color:var(--ink-accent)}
.ldx-checkin-day-rewards{display:grid;gap:4px;max-height:112px;overflow:auto}.ldx-checkin-day-reward{padding:5px 6px;border-radius:8px;border:1px solid color-mix(in srgb, var(--accent-bright) 23%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--ink-accent)}
.ldx-checkin-day-reward.streak{border-color:color-mix(in srgb, var(--accent) 32%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--ink-accent)}.ldx-checkin-day-reward.claimed{border-color:color-mix(in srgb, var(--state-success) 28%, transparent);background:color-mix(in srgb, var(--state-success) 11%, transparent);color:var(--ink-success)}.ldx-checkin-day-reward.blocked{border-color:color-mix(in srgb, var(--state-danger) 26%, transparent);background:color-mix(in srgb, var(--state-danger) 15%, transparent);color:var(--ink-danger)}
.ldx-checkin-day-reward b{display:block;font-size:8.5px;line-height:1.25}.ldx-checkin-day-reward small{display:block;font-size:7.5px;line-height:1.28;margin-top:2px;color:inherit;opacity:.9}.ldx-checkin-day-empty{padding-top:8px;color:var(--accent);font-size:8px;text-align:center}
.ldx-checkin-day-mobile-summary,.ldx-checkin-mobile-detail{display:none}
@media(max-width:700px){
  .ldx-modal{padding:0;align-items:stretch}
  .ldx-shell{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-left:0;border-right:0}
  .ldx-header{padding:14px 13px 10px}.ldx-header h2{font-size:20px}.ldx-summary{font-size:10px;line-height:1.35}.ldx-close{width:36px;height:36px;flex-basis:36px;font-size:22px}
  .ldx-tabs{padding:8px 10px 50px;gap:6px;flex-wrap:wrap}.ldx-tab{flex:1 1 calc(50% - 3px);min-width:calc(50% - 3px);text-align:center;padding:8px 10px;font-size:10px}
  .ldx-content{flex:1 1 auto;min-height:0;padding:10px 8px 18px;overflow-x:hidden}
  .ldx-checkin-card{padding:12px 10px;border-radius:17px}.ldx-checkin-head,.ldx-checkin-footer{flex-direction:column;align-items:stretch}.ldx-checkin-head{gap:9px;margin-bottom:8px}.ldx-checkin-head h3{font-size:18px}.ldx-checkin-head p{font-size:10px}.ldx-checkin-stat{text-align:left;min-width:0}.ldx-checkin-stat strong{font-size:19px}
  .ldx-checkin-totals{gap:5px}.ldx-checkin-total{font-size:8px;padding:4px 7px}
  .ldx-checkin-btn{width:100%}.ldx-checkin-card>.ldx-checkin-rewards{display:none}
  .ldx-checkin-calendar{margin:10px 0;border-radius:14px}.ldx-checkin-calendar-head{padding:9px 7px;gap:7px;justify-content:space-between}.ldx-checkin-calendar-title{text-align:left}.ldx-checkin-calendar-title b{font-size:13px}.ldx-checkin-calendar-title small{font-size:7.5px;line-height:1.3}.ldx-checkin-current-badge{font-size:7px;padding:3px 6px}
  .ldx-checkin-calendar-scroll{padding:6px;overflow:hidden}.ldx-checkin-weekdays,.ldx-checkin-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%;min-width:0}.ldx-checkin-weekdays{margin-bottom:3px}.ldx-checkin-weekdays div{padding:5px 1px;border-radius:6px;font-size:7.5px}
  .ldx-checkin-day,.ldx-checkin-day.blank{min-height:55px;padding:4px 3px;border-radius:8px}.ldx-checkin-day:hover{transform:none}.ldx-checkin-day-head{margin-bottom:3px;gap:2px}.ldx-checkin-day-number{font-size:10px}
  .ldx-checkin-day-badge{width:7px;height:7px;flex:0 0 7px;padding:0;border-radius:50%;font-size:0}.ldx-checkin-day-rewards,.ldx-checkin-day-empty{display:none}
  .ldx-checkin-day-mobile-summary{display:block;margin-top:5px;color:var(--accent-bright);font-size:6.8px;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ldx-checkin-day.has-reward .ldx-checkin-day-mobile-summary{color:var(--accent-bright);font-weight:900}.ldx-checkin-day.checked .ldx-checkin-day-mobile-summary{color:var(--state-success)}
  .ldx-checkin-mobile-detail{display:block;margin:9px 6px 7px;padding:10px;border:1px solid color-mix(in srgb, var(--accent) 17%, transparent);border-radius:12px;background:color-mix(in srgb, var(--ink-bright) 4%, transparent)}.ldx-checkin-mobile-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.ldx-checkin-mobile-detail-head b{color:var(--ink-bright);font-size:12px;line-height:1.3}.ldx-checkin-mobile-detail-head small{color:var(--accent-bright);font-size:8px}.ldx-checkin-mobile-detail-list{display:grid;gap:6px}.ldx-checkin-mobile-detail .ldx-checkin-day-reward{padding:8px 9px}.ldx-checkin-mobile-detail .ldx-checkin-day-reward b{font-size:10px}.ldx-checkin-mobile-detail .ldx-checkin-day-reward small{font-size:8.5px}.ldx-checkin-mobile-detail-empty{padding:10px;text-align:center;color:var(--accent-bright);font-size:9px;border:1px dashed color-mix(in srgb, var(--ink-bright) 10%, transparent);border-radius:9px}
}
@media(max-width:390px){.ldx-checkin-card{padding:10px 7px}.ldx-checkin-calendar-scroll{padding:5px}.ldx-checkin-weekdays,.ldx-checkin-month-grid{gap:2px}.ldx-checkin-day,.ldx-checkin-day.blank{min-height:50px;padding:3px 2px}.ldx-checkin-day-number{font-size:9px}.ldx-checkin-day-mobile-summary{font-size:6px}
  .ldx-tabs{gap:5px;padding:7px 8px 40px}
  .ldx-tab{font-size:9.5px;padding:7px 6px}}
@media(max-width:320px){
  .ldx-tabs{gap:4px;padding:6px 8px 50px}
  .ldx-tab{font-size:8.5px;padding:6px 4px}}


/* V74: compact center needle; slices remain readable while backend odds stay weighted */
.ldx-wheel-center-pointer,.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer{left:50%!important;top:50%!important;width:10px!important;height:calc(var(--wheel-size)*.31)!important;translate:0 0!important;transform:translate(-50%,-100%)!important;border:0!important;border-radius:999px 999px 5px 5px!important;clip-path:polygon(50% 0,100% 14%,66% 100%,34% 100%,0 14%)!important;filter:drop-shadow(0 4px 5px color-mix(in srgb, var(--surface-page) 34%, transparent))!important;z-index:9!important}.ldx-wheel-center-pointer:after,.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer:after{display:none!important}

/* V91: exact color ownership for wheel, shop and check-in */
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-marker-content,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-marker-content,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-marker-content{color:var(--label-color,var(--ink-bright))!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-marker-content.bg-pill,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-marker-content.bg-pill,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-marker-content.bg-pill,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-marker-content.bg-pill{color:var(--label-color,var(--surface-card))!important}
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-btn,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-center-btn,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-center-btn,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-center-btn{color:var(--wheel-center-text,var(--surface-card))!important;border-color:var(--wheel-center-ring,var(--accent))!important}
.ldx-shop-body .ldx-primary{background:var(--shop-button,var(--shop-accent))!important;color:var(--shop-button-text,var(--surface-card))!important}
.ldx-shop-card .ldx-shop-tag,.ldx-shop-card .ldx-shop-price,.ldx-shop-card .ldx-shop-placeholder{color:var(--shop-accent,var(--accent))!important}
.ldx-checkin-card{--ci-bg-start:var(--surface-card);--ci-bg-end:var(--surface-page);--ci-accent:var(--accent);--ci-text:var(--ink-bright);--ci-muted:var(--accent-bright);--ci-button:var(--accent);--ci-button-text:var(--surface-card);--ci-success:var(--state-success);--ci-danger:var(--state-danger);background:linear-gradient(145deg,var(--ci-bg-start),var(--ci-bg-end))!important;border-color:color-mix(in srgb,var(--ci-accent) 30%,transparent)!important;color:var(--ci-text)!important}
.ldx-checkin-card:before{background:radial-gradient(circle at 86% 0,color-mix(in srgb,var(--ci-accent) 20%,transparent),transparent 34%),linear-gradient(90deg,transparent,color-mix(in srgb, var(--ink-bright) 2%, transparent),transparent)!important}
.ldx-checkin-head h3,.ldx-checkin-reward b,.ldx-checkin-total b,.ldx-checkin-calendar-title b,.ldx-checkin-day-number,.ldx-checkin-mobile-detail-head b{color:var(--surface-page) !important}
.ldx-checkin-head p,.ldx-checkin-reward small,.ldx-checkin-date,.ldx-checkin-calendar-title small,.ldx-checkin-weekdays div,.ldx-checkin-total,.ldx-checkin-mobile-detail-head small{color:var(--ci-muted)!important}
.ldx-checkin-stat strong,.ldx-checkin-condition,.ldx-checkin-current-badge,.ldx-checkin-day-reward.streak,.ldx-checkin-day.has-reward .ldx-checkin-day-mobile-summary{color:var(--ci-accent)!important}
.ldx-checkin-reward-icon{background:color-mix(in srgb,var(--ci-accent) 14%,transparent)!important;border-color:color-mix(in srgb,var(--ci-accent) 28%,transparent)!important}
.ldx-checkin-reward.due,.ldx-checkin-day:hover,.ldx-checkin-day.has-reward{border-color:color-mix(in srgb,var(--ci-accent) 40%,transparent)!important}
.ldx-checkin-reward.due{background:linear-gradient(135deg,color-mix(in srgb,var(--ci-accent) 15%,transparent),color-mix(in srgb, var(--ink-bright) 3%, transparent))!important}
.ldx-checkin-reward.locked,.ldx-checkin-day-reward.blocked{border-color:color-mix(in srgb,var(--ci-danger) 38%,transparent)!important;background:color-mix(in srgb,var(--ci-danger) 14%,transparent)!important;color:color-mix(in srgb,var(--ci-danger) 70%,var(--seed-fg))!important}
.ldx-checkin-condition.bad{color:var(--ci-danger)!important}
.ldx-checkin-day.checked,.ldx-checkin-day-reward.claimed{border-color:color-mix(in srgb,var(--ci-success) 38%,transparent)!important;background:color-mix(in srgb,var(--ci-success) 13%,transparent)!important;color:color-mix(in srgb,var(--ci-success) 68%,var(--seed-fg))!important}
.ldx-checkin-day-badge{background:color-mix(in srgb,var(--ci-success) 26%,transparent)!important;color:color-mix(in srgb,var(--ci-success) 66%,var(--seed-fg))!important}
.ldx-checkin-current-badge,.ldx-checkin-day-reward.streak{border-color:color-mix(in srgb,var(--ci-accent) 36%,transparent)!important;background:color-mix(in srgb,var(--ci-accent) 12%,transparent)!important}
.ldx-checkin-btn{background:var(--ci-button)!important;color:var(--ci-button-text)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--ci-button) 20%,transparent)!important}


/* V92: remove label cards from Casino Red Gold and Neon Royale on the customer wheel. */
.ldx-wheel-wrap.style-casino_red .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-marker-content.bg-pill,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-marker-content.bg-soft,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-marker-content.bg-pill{
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  color:var(--label-color,var(--ink-bright))!important;
}

/* V97: match the compact needle from the supplied production widget.
   One-piece narrow spear, identical in admin preview and customer play. */
.ldx-wheel-center-pointer,
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-center-pointer,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-center-pointer,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-center-pointer{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:10px!important;
  height:calc(var(--wheel-size)*.31)!important;
  translate:0 0!important;
  transform:translate(-50%,-100%)!important;
  transform-origin:50% 100%!important;
  border:0!important;
  border-radius:999px 999px 5px 5px!important;
  background:var(--wheel-pointer-bg,linear-gradient(180deg,var(--accent-bright),var(--accent)))!important;
  clip-path:polygon(50% 0,100% 14%,66% 100%,34% 100%,0 14%)!important;
  filter:drop-shadow(0 4px 5px color-mix(in srgb, var(--surface-page) 34%, transparent))!important;
  overflow:visible!important;
  z-index:9!important;
  pointer-events:none!important;
  display:block!important;
}
.ldx-wheel-center-pointer:before,
.ldx-wheel-center-pointer:after,
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer:before,
.ldx-wheel-wrap.style-luxury_premium .ldx-wheel-center-pointer:after,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-center-pointer:before,
.ldx-wheel-wrap.style-reward_luxe .ldx-wheel-center-pointer:after,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-center-pointer:before,
.ldx-wheel-wrap.style-casino_red .ldx-wheel-center-pointer:after,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-center-pointer:before,
.ldx-wheel-wrap.style-neon_royale .ldx-wheel-center-pointer:after{
  content:none!important;
  display:none!important;
}

/* V97: improve readability for the left campaign panel and reward list. */
.ldx-wheel-layout .ldx-campaign-info{
  background:linear-gradient(160deg,color-mix(in srgb, var(--surface-page) 97%, transparent),color-mix(in srgb, var(--surface-card) 95%, transparent))!important;
  border-right:1px solid color-mix(in srgb, var(--ink-bright) 8%, transparent)!important;
  box-shadow:inset -1px 0 0 color-mix(in srgb, var(--ink-bright) 2%, transparent)!important;
}
.ldx-wheel-layout .ldx-prize-panel{
  background:linear-gradient(160deg,color-mix(in srgb, var(--surface-page) 98%, transparent),color-mix(in srgb, var(--surface-card) 96%, transparent))!important;
  border-left:1px solid color-mix(in srgb, var(--ink-bright) 9%, transparent)!important;
  box-shadow:inset 1px 0 0 color-mix(in srgb, var(--ink-bright) 2%, transparent)!important;
}
.ldx-wheel-layout .ldx-campaign-info h3,
.ldx-wheel-layout .ldx-prize-panel h4,
.ldx-wheel-layout .ldx-cost,
.ldx-wheel-layout .ldx-prize-row b{
  color:var(--accent-bright)!important;
  text-shadow:0 1px 2px color-mix(in srgb, var(--surface-page) 35%, transparent)!important;
}
.ldx-wheel-layout .ldx-campaign-desc,
.ldx-wheel-layout .ldx-status,
.ldx-wheel-layout .ldx-prize-row small{
  color:var(--accent-bright)!important;
}
.ldx-wheel-layout .ldx-prize-row{
  background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 8%, transparent),color-mix(in srgb, var(--ink-bright) 4%, transparent))!important;
  border-color:color-mix(in srgb, var(--ink-bright) 12%, transparent)!important;
  box-shadow:0 7px 16px color-mix(in srgb, var(--surface-page) 12%, transparent)!important;
}
.ldx-wheel-layout .ldx-prize-row:hover{
  background:linear-gradient(145deg,color-mix(in srgb, var(--ink-bright) 10%, transparent),color-mix(in srgb, var(--ink-bright) 6%, transparent))!important;
  border-color:color-mix(in srgb,var(--accent) 42%,color-mix(in srgb, var(--ink-bright) 12%, transparent))!important;
}
.ldx-wheel-layout .ldx-prize-thumb{
  background:color-mix(in srgb, var(--ink-bright) 10%, transparent)!important;
  border:1px solid color-mix(in srgb, var(--ink-bright) 10%, transparent)!important;
}
@media(max-width:1000px){
  .ldx-wheel-layout .ldx-prize-panel{border-left:0!important;border-top:1px solid color-mix(in srgb, var(--ink-bright) 9%, transparent)!important}
}

/* === Promotion V2 – floating panel (dark theme overrides) === */
.ldx-promo-panel{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb, var(--surface-card) 96%, transparent),color-mix(in srgb, var(--surface-page) 95%, transparent));min-width:220px;max-width:290px;overflow:hidden;box-shadow:0 14px 36px color-mix(in srgb, var(--surface-page) 38%, transparent);color:var(--ink-accent);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
.ldx-promo-panel-head{display:flex;align-items:center;gap:7px;padding:9px 13px;font-weight:700;font-size:12px;color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 15%, transparent)}
.ldx-promo-panel-body{padding:10px 13px;font-size:12px;line-height:1.7}
.ldx-promo-panel-body .d-flex{display:flex}
.ldx-promo-panel-body .justify-content-between{justify-content:space-between}
.ldx-promo-panel-body .gap-2{gap:8px}
.ldx-promo-panel-body .text-success{color:var(--state-success)!important}
.ldx-promo-panel-body .text-muted{color:var(--accent-bright)!important;font-size:11px}
.ldx-promo-panel-body .mt-2{margin-top:8px!important}
.ldx-promo-panel-body .mb-0{margin-bottom:0!important}
.ldx-promo-panel-body .w-100{width:100%}
.ldx-promo-panel-body .text-start{text-align:left}
.ldx-promo-panel-body .border-0{border:0!important}
.ldx-promo-panel-body .alert{border-radius:8px;padding:7px 9px;font-size:11px;margin-top:0}
.ldx-promo-panel-body .alert-warning{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);color:var(--ink-accent)}
.ldx-promo-panel-body .alert-success{background:color-mix(in srgb, var(--state-success) 9%, transparent);border:1px solid color-mix(in srgb, var(--state-success) 25%, transparent);color:var(--ink-success)}
.ldx-promo-panel-body .alert-danger{background:color-mix(in srgb, var(--state-danger) 9%, transparent);border:1px solid color-mix(in srgb, var(--state-danger) 25%, transparent);color:var(--ink-danger)}
.ldx-promo-panel-body .alert b{display:block}
#promotionV2PendingDepositBtn{width:100%;background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent)!important;color:var(--ink-accent);border-radius:8px;padding:7px 9px;font-size:11px;text-align:left;cursor:pointer;transition:background .15s}
#promotionV2PendingDepositBtn:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}

/* === Promotion V2 – Swal เลือกยอดฝากเข้ากระเป๋า (responsive mobile + 320px) === */
.promo-v2-pending-swal{border-radius:18px!important;padding:0!important}
.promo-v2-pending-swal .swal2-title{padding:20px 18px 6px!important;font-size:20px!important;font-weight:900!important}
.promo-v2-pending-swal .swal2-html-container{margin:0!important;padding:0 16px 14px!important;font-size:14px}
.promo-v2-pending-swal .promo-v2-pending-intro{border-radius:10px;font-size:13px;line-height:1.5}
.promo-v2-pending-swal .promo-v2-pending-list{max-height:50vh;overflow:auto;padding-right:4px}
.promo-v2-pending-swal .promo-v2-pending-info{min-width:0}
.promo-v2-pending-swal .promo-v2-pending-btn{flex:0 0 auto;white-space:nowrap}
@media (max-width:575px){
  .promo-v2-pending-swal .swal2-title{padding:16px 14px 4px!important;font-size:18px!important}
  .promo-v2-pending-swal .swal2-html-container{padding:0 12px 12px!important}
  .promo-v2-pending-swal .promo-v2-pending-intro{font-size:12px}
  .promo-v2-pending-swal .promo-v2-pending-list{max-height:56vh}
}
@media (max-width:400px){
  .promo-v2-pending-swal .promo-v2-pending-row{flex-direction:column;align-items:stretch!important}
  .promo-v2-pending-swal .promo-v2-pending-btn{width:100%;margin-top:8px}
}
@media (max-width:320px){
  .promo-v2-pending-swal .swal2-title{font-size:16px!important}
  .promo-v2-pending-swal .swal2-html-container{padding:0 9px 10px!important;font-size:13px}
  .promo-v2-pending-swal .promo-v2-pending-item{padding:8px!important}
  .promo-v2-pending-swal .promo-v2-pending-intro{font-size:11px;line-height:1.45}
}

/* === Promotion V2 – Swal choice popup (ย้ายจาก promotion-v2-widget.ejs) === */
.promotion-v2-choice-swal {
    border-radius: 22px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, var(--ink-bright) 0%, var(--accent-bright) 100%) !important;
  }

  .promotion-v2-choice-swal .swal2-title {
    padding: 26px 24px 8px !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    color: var(--surface-card) !important;
  }

  .promotion-v2-choice-swal .swal2-html-container {
    margin: 0 !important;
    padding: 0 20px 18px !important;
    overflow: visible !important;
  }

  .promo-v2-choice-shell {
    text-align: left;
    color: var(--surface-card);
  }

  .promo-v2-choice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: linear-gradient(135deg, var(--accent-bright) 0%, var(--accent-bright) 48%, var(--state-success) 100%);
    border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--surface-card) 6%, transparent);
    border-radius: 18px;
    padding: 14px 16px;
    margin: 0 0 14px;
  }

  .promo-v2-choice-head-title {
    font-weight: 900;
    font-size: 17px;
    color: var(--surface-card);
  }

  .promo-v2-choice-head-sub {
    font-size: 13px;
    color: var(--accent);
    margin-top: 3px;
  }

  .promo-v2-deposit-pill {
    flex: 0 0 auto;
    background: var(--surface-card);
    color: var(--ink-hi);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--surface-card) 18%, transparent);
  }

  .promo-v2-grid-wrap {
    max-height: 66vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 4px 6px 8px 0;
  }

  .promo-v2-grid-wrap::-webkit-scrollbar {
    width: 8px;
  }

  .promo-v2-grid-wrap::-webkit-scrollbar-track {
    background: var(--accent-bright);
    border-radius: 999px;
  }

  .promo-v2-grid-wrap::-webkit-scrollbar-thumb {
    background: var(--accent-bright);
    border-radius: 999px;
  }

  .promo-v2-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
  }

  .promo-v2-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: var(--ink-bright);
    border: 1px solid color-mix(in srgb, var(--accent-bright) 45%, transparent);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 28px color-mix(in srgb, var(--surface-card) 8%, transparent);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .promo-v2-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--state-success) 55%, transparent);
    box-shadow: 0 18px 36px color-mix(in srgb, var(--surface-card) 14%, transparent);
  }

  .promo-v2-img-box {
    position: relative;
    height: 116px;
    background: linear-gradient(135deg, var(--surface-card), var(--accent));
    overflow: hidden;
  }

  .promo-v2-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .promo-v2-img-fallback {
    height: 116px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-weight: 900;
    font-size: 20px;
    letter-spacing: .02em;
    background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 34%), linear-gradient(135deg, var(--surface-card), var(--state-danger));
  }

  .promo-v2-badge {
    position: absolute;
    top: 9px;
    left: 9px;
    max-width: calc(100% - 18px);
    background: color-mix(in srgb, var(--surface-card) 82%, transparent);
    color: var(--ink-hi);
    border: 1px solid color-mix(in srgb, var(--ink-bright) 28%, transparent);
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    backdrop-filter: blur(6px);
  }

  .promo-v2-card-body {
    padding: 11px 12px 12px;
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .promo-v2-title {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
    color: var(--surface-card);
    min-height: 38px;
    display: -webkit-box;
    /* -webkit-line-clamp:2; */
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .promo-v2-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin: 10px 0 12px;
  }

  .promo-v2-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    color: var(--ink-on-gold);
    background: var(--accent-bright);
    border: 1px solid var(--accent-bright);
    border-radius: 10px;
    padding: 6px 8px;
  }

  .promo-v2-meta-row b {
    color: var(--surface-card);
    font-weight: 900;
    text-align: right;
  }

  .promo-v2-claim {
    margin-top: auto;
    width: 100%;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--state-success), var(--state-success)) !important;
    color: var(--ink-bright) !important;
    font-weight: 900 !important;
    padding: 10px 10px !important;
    box-shadow: 0 10px 18px color-mix(in srgb, var(--state-success) 25%, transparent) !important;
  }

  .promo-v2-claim:hover {
    filter: brightness(.98);
    box-shadow: 0 12px 22px color-mix(in srgb, var(--state-success) 34%, transparent) !important;
  }

  .promo-v2-claim:disabled {
    opacity: .75;
    cursor: not-allowed;
  }

  .promo-v2-empty {
    border: 1px dashed var(--accent-bright);
    border-radius: 18px;
    background: var(--accent-bright);
    padding: 18px;
    color: var(--ink-on-gold);
  }

  .promotion-v2-choice-swal .swal2-actions {
    width: 100%;
    margin: 0 !important;
    padding: 14px 20px 20px !important;
    background: var(--accent-bright);
    border-top: 1px solid var(--accent-bright);
  }

  .promo-v2-no-btn {
    width: 260px;
    max-width: 100%;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--accent-bright), var(--accent)) !important;
    color: var(--ink-on-gold) !important;
    font-weight: 900 !important;
    padding: 12px 18px !important;
    box-shadow: 0 12px 24px color-mix(in srgb, var(--accent) 24%, transparent) !important;
  }

  @media (max-width:1199px) {
    .promo-v2-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (max-width:991px) {
    .promo-v2-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (max-width:767px) {
    .promo-v2-choice-head {
      display: block;
    }

    .promo-v2-deposit-pill {
      display: inline-block;
      margin-top: 10px;
    }

    .promo-v2-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .promo-v2-img-box,
    .promo-v2-img-fallback {
      height: 102px;
    }
  }

  @media (max-width:420px) {
    .promo-v2-grid {
      grid-template-columns: 1fr;
    }
  }

/* ============================================================
   bx-theme-v2-no2 LIGHT THEME OVERRIDE
   Retone #luckyDrawModal + #luckyDrawFloatingGroup from the
   dark navy+gold look to the no2 light red/crimson/rose palette.
   Palette: primary var(--state-danger), bright var(--state-danger), crimson var(--state-danger),
   ink var(--surface-hover), ink-dim var(--ink-faint), surface var(--ink-bright) / rose var(--state-danger).
   ============================================================ */

/* ---- Floating menu group ---- */
#luckyDrawFloatingGroup .ldx-float-btn{background:var(--ink-bright);border:1px solid color-mix(in srgb, var(--state-danger) 16%, transparent);color:var(--ink-on-light);box-shadow:0 12px 30px color-mix(in srgb, var(--state-danger) 16%, transparent)}
#luckyDrawFloatingGroup .ldx-float-btn:hover{border-color:color-mix(in srgb, var(--state-danger) 50%, transparent);box-shadow:0 16px 36px color-mix(in srgb, var(--state-danger) 22%, transparent),0 0 20px color-mix(in srgb, var(--state-danger) 10%, transparent)}
#luckyDrawFloatingGroup .ldx-float-btn b{color:var(--surface-hover)}
#luckyDrawFloatingGroup .ldx-float-btn small{color:var(--state-danger)}
#luckyDrawFloatingGroup .ldx-float-icon{background:color-mix(in srgb, var(--state-danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--state-danger) 22%, transparent);color:var(--ink-danger)}
#luckyDrawFloatingGroup .ldx-float-box .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 16%, transparent),color-mix(in srgb, var(--state-danger) 10%, transparent));border-color:color-mix(in srgb, var(--state-danger) 28%, transparent)}
#luckyDrawFloatingGroup .ldx-float-shop .ldx-float-icon{background:color-mix(in srgb, var(--state-danger) 12%, transparent);border-color:color-mix(in srgb, var(--state-danger) 26%, transparent)}
#luckyDrawFloatingGroup .ldx-float-chat .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 16%, transparent),color-mix(in srgb, var(--state-danger) 10%, transparent));border-color:color-mix(in srgb, var(--state-danger) 30%, transparent)}
#luckyDrawFloatingGroup .ldx-float-checkin .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 14%, transparent),color-mix(in srgb, var(--state-danger) 12%, transparent));border-color:color-mix(in srgb, var(--state-danger) 30%, transparent)}

/* ---- Modal overlay + shell ---- */
#luckyDrawModal.ldx-modal{background:color-mix(in srgb, var(--surface-hover) 42%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-shell{background:radial-gradient(circle at 50% -10%,color-mix(in srgb, var(--state-danger) 60%, transparent),transparent 40%),linear-gradient(145deg,var(--ink-bright),var(--state-danger) 72%);border:1px solid color-mix(in srgb, var(--state-danger) 22%, transparent);box-shadow:0 35px 110px color-mix(in srgb, var(--surface-card) 32%, transparent),inset 0 1px 0 color-mix(in srgb, var(--ink-bright) 60%, transparent)}
#luckyDrawModal .ldx-shell:before{background-image:linear-gradient(color-mix(in srgb, var(--surface-page) 2%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--surface-page) 2%, transparent) 1px,transparent 1px)}

/* ---- Header ---- */
#luckyDrawModal .ldx-header{border-bottom:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-eyebrow{color:var(--state-danger)}
#luckyDrawModal .ldx-header h2{color:var(--surface-hover)}
#luckyDrawModal .ldx-summary{color:var(--ink-faint)}
#luckyDrawModal .ldx-close{background:color-mix(in srgb, var(--surface-page) 4%, transparent);border:1px solid color-mix(in srgb, var(--surface-page) 10%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-close:hover{background:var(--state-danger);border-color:var(--state-danger);color:var(--ink-bright)}

/* ---- Tabs ---- */
#luckyDrawModal .ldx-tab{background:color-mix(in srgb, var(--surface-page) 3%, transparent);border:1px solid color-mix(in srgb, var(--surface-page) 10%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-tab:hover{color:var(--state-danger);border-color:color-mix(in srgb, var(--state-danger) 40%, transparent)}
#luckyDrawModal .ldx-tab.active{color:var(--ink-bright);background:linear-gradient(135deg,var(--state-danger),var(--state-danger));border-color:var(--state-danger);box-shadow:0 8px 22px color-mix(in srgb, var(--state-danger) 22%, transparent)}

/* ---- Content / loading / scrollbars ---- */
#luckyDrawModal .ldx-content::-webkit-scrollbar-thumb,#luckyDrawModal .ldx-history::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--state-danger) 30%, transparent)}
#luckyDrawModal .ldx-loading{color:var(--ink-faint)}
#luckyDrawModal .ldx-loading i{border:3px solid color-mix(in srgb, var(--surface-page) 8%, transparent);border-top-color:var(--state-danger)}

/* ---- Pending panel ---- */
#luckyDrawModal .ldx-pending{border:1px solid color-mix(in srgb, var(--state-danger) 22%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 50%, transparent),color-mix(in srgb, var(--ink-bright) 60%, transparent))}
#luckyDrawModal .ldx-pending-title{color:var(--state-danger)}
#luckyDrawModal .ldx-pending-note{color:var(--ink-faint)}
#luckyDrawModal .ldx-pending-row{border-top:1px dashed color-mix(in srgb, var(--surface-page) 15%, transparent)}
#luckyDrawModal .ldx-pending-row small{color:var(--ink-faint)}

/* ---- Primary button ---- */
#luckyDrawModal .ldx-primary{background:linear-gradient(135deg,var(--state-danger),var(--state-danger));color:var(--ink-bright);box-shadow:0 12px 25px color-mix(in srgb, var(--state-danger) 28%, transparent)}
#luckyDrawModal .ldx-primary:disabled{background:var(--state-danger)!important;color:var(--ink-bright);box-shadow:none}

/* ---- Campaign / wheel side panels ---- */
#luckyDrawModal .ldx-campaign{--panel-bg:linear-gradient(145deg,var(--ink-bright),var(--state-danger) 94%);border:1px solid color-mix(in srgb, var(--state-danger) 18%, transparent);box-shadow:0 20px 48px color-mix(in srgb, var(--surface-card) 14%, transparent)}
#luckyDrawModal .ldx-campaign h3{color:var(--surface-hover)}
#luckyDrawModal .ldx-campaign-desc{color:var(--ink-faint)}
#luckyDrawModal .ldx-cost{color:var(--surface-hover)}
#luckyDrawModal .ldx-status{color:var(--ink-faint)}
#luckyDrawModal .ldx-status.off{color:var(--state-danger)}
#luckyDrawModal .ldx-prize-panel h4{color:var(--surface-hover)}
#luckyDrawModal .ldx-wheel-layout .ldx-campaign-info{background:linear-gradient(160deg,var(--ink-bright),var(--state-danger))!important;border-right:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent)!important;box-shadow:inset -1px 0 0 color-mix(in srgb, var(--surface-page) 2%, transparent)!important}
#luckyDrawModal .ldx-wheel-layout .ldx-prize-panel{background:linear-gradient(160deg,var(--state-danger),var(--state-danger))!important;border-left:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent)!important;box-shadow:inset 1px 0 0 color-mix(in srgb, var(--surface-page) 2%, transparent)!important}
#luckyDrawModal .ldx-wheel-layout .ldx-campaign-info h3,#luckyDrawModal .ldx-wheel-layout .ldx-prize-panel h4,#luckyDrawModal .ldx-wheel-layout .ldx-cost,#luckyDrawModal .ldx-wheel-layout .ldx-prize-row b{color:var(--surface-hover)!important;text-shadow:none!important}
#luckyDrawModal .ldx-wheel-layout .ldx-campaign-desc,#luckyDrawModal .ldx-wheel-layout .ldx-status,#luckyDrawModal .ldx-wheel-layout .ldx-prize-row small{color:var(--ink-faint)!important}
#luckyDrawModal .ldx-wheel-layout .ldx-prize-row{background:linear-gradient(145deg,color-mix(in srgb, var(--state-danger) 5%, transparent),color-mix(in srgb, var(--surface-page) 2%, transparent))!important;border-color:color-mix(in srgb, var(--surface-page) 10%, transparent)!important;box-shadow:0 7px 16px color-mix(in srgb, var(--surface-card) 8%, transparent)!important}
#luckyDrawModal .ldx-wheel-layout .ldx-prize-row:hover{background:linear-gradient(145deg,color-mix(in srgb, var(--state-danger) 9%, transparent),color-mix(in srgb, var(--surface-page) 3%, transparent))!important;border-color:color-mix(in srgb,var(--accent) 42%,color-mix(in srgb, var(--surface-page) 10%, transparent))!important}
#luckyDrawModal .ldx-wheel-layout .ldx-prize-thumb{background:color-mix(in srgb, var(--state-danger) 8%, transparent)!important;border:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent)!important}

/* ---- Mystery box / vault ---- */
#luckyDrawModal .ldx-vault-card{--panel-bg:linear-gradient(145deg,var(--ink-bright),var(--state-danger) 96%);border:1px solid color-mix(in srgb, var(--state-danger) 20%, transparent);box-shadow:0 24px 56px color-mix(in srgb, var(--surface-card) 16%, transparent),0 0 34px color-mix(in srgb, var(--state-danger) 6%, transparent)}
#luckyDrawModal .ldx-vault-top h3{color:var(--surface-hover)}
#luckyDrawModal .ldx-vault-top p{color:var(--ink-faint)}
#luckyDrawModal .ldx-vault-cost{color:var(--ink-danger);border:1px solid color-mix(in srgb, var(--state-danger) 30%, transparent);background:color-mix(in srgb, var(--state-danger) 8%, transparent)}
#luckyDrawModal .ldx-vault-prize{background:linear-gradient(145deg,color-mix(in srgb, var(--surface-page) 3%, transparent),color-mix(in srgb, var(--state-danger) 6%, transparent));border:1px solid color-mix(in srgb, var(--state-danger) 20%, transparent)}
#luckyDrawModal .ldx-box-stage{background:radial-gradient(circle at 50% 40%,color-mix(in srgb, var(--state-danger) 10%, transparent),transparent 40%),radial-gradient(circle at 50% 95%,color-mix(in srgb, var(--state-danger) 10%, transparent),transparent 42%),linear-gradient(180deg,var(--state-danger),var(--state-danger))!important}

/* ---- Point shop ---- */
#luckyDrawModal .ldx-shop-hero{border:1px solid color-mix(in srgb, var(--state-danger) 18%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--state-danger) 8%, transparent),color-mix(in srgb, var(--ink-bright) 50%, transparent))}
#luckyDrawModal .ldx-shop-hero h3{color:var(--surface-hover)}
#luckyDrawModal .ldx-shop-hero p{color:var(--ink-faint)}
#luckyDrawModal .ldx-shop-balance small{color:var(--ink-faint)}
#luckyDrawModal .ldx-shop-balance strong{color:var(--state-danger)}
#luckyDrawModal .ldx-shop-card:not([class*="style-"]){background:linear-gradient(155deg,var(--ink-bright),var(--state-danger));border-color:color-mix(in srgb, var(--state-danger) 16%, transparent);box-shadow:0 14px 32px color-mix(in srgb, var(--surface-card) 12%, transparent);--shop-text:var(--surface-hover);--shop-accent:var(--state-danger);--shop-button-text:var(--ink-bright)}
#luckyDrawModal .ldx-shop-card:not([class*="style-"]) .ldx-shop-image-wrap{border-bottom:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent)}

/* ---- History ---- */
#luckyDrawModal .ldx-history-wrap{border-top:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent);background:color-mix(in srgb, var(--state-danger) 3%, transparent)}
#luckyDrawModal .ldx-history-head small{color:var(--ink-faint)}
#luckyDrawModal .ldx-history-head button{border:1px solid color-mix(in srgb, var(--surface-page) 12%, transparent);background:color-mix(in srgb, var(--surface-page) 3%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-history-item{border:1px solid color-mix(in srgb, var(--surface-page) 8%, transparent);background:var(--ink-bright)}
#luckyDrawModal .ldx-history-dot{background:var(--state-danger);box-shadow:0 0 10px color-mix(in srgb, var(--state-danger) 50%, transparent)}
#luckyDrawModal .ldx-history-item small{color:var(--ink-faint)}
#luckyDrawModal .ldx-history-cost{color:var(--state-danger)}

/* ---- Result popup ---- */
#luckyDrawModal .ldx-result{background:color-mix(in srgb, var(--surface-hover) 50%, transparent)}
#luckyDrawModal .ldx-result-card{border:1px solid color-mix(in srgb, var(--state-danger) 35%, transparent);background:radial-gradient(circle at 50% 0,color-mix(in srgb, var(--state-danger) 70%, transparent),transparent 40%),linear-gradient(150deg,var(--ink-bright),var(--state-danger));box-shadow:0 35px 90px color-mix(in srgb, var(--surface-card) 35%, transparent)}
#luckyDrawModal .ldx-result-rays{background:repeating-conic-gradient(from 0deg,color-mix(in srgb, var(--state-danger) 10%, transparent) 0 8deg,transparent 8deg 20deg)}
#luckyDrawModal .ldx-result-close{border:1px solid color-mix(in srgb, var(--surface-page) 10%, transparent);background:color-mix(in srgb, var(--surface-page) 4%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-result-icon{background:linear-gradient(145deg,color-mix(in srgb, var(--state-danger) 10%, transparent),color-mix(in srgb, var(--state-danger) 8%, transparent));border:1px solid color-mix(in srgb, var(--state-danger) 28%, transparent)}
#luckyDrawModal .ldx-result-kicker{color:var(--state-danger)}
#luckyDrawModal .ldx-result-card h3{color:var(--surface-hover)}
#luckyDrawModal .ldx-result-card p{color:var(--ink-faint)}

/* ---- Empty state ---- */
#luckyDrawModal .ldx-empty{color:var(--ink-faint)}
#luckyDrawModal .ldx-empty b{color:var(--surface-hover)}

/* ---- Check-in reward center ---- */
#luckyDrawModal .ldx-checkin-card{--ci-bg-start:var(--ink-bright);--ci-bg-end:var(--state-danger);--ci-accent:var(--state-danger);--ci-text:var(--surface-hover);--ci-muted:var(--ink-faint);--ci-button:var(--state-danger);--ci-button-text:var(--ink-bright);--ci-success:var(--state-success);--ci-danger:var(--state-danger);box-shadow:0 18px 42px color-mix(in srgb, var(--surface-card) 12%, transparent)!important}
#luckyDrawModal .ldx-checkin-reward{background:color-mix(in srgb, var(--surface-page) 3%, transparent);border-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-total{background:color-mix(in srgb, var(--surface-page) 3%, transparent);border-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-footer{border-top-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-calendar{background:var(--ink-bright);border-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-calendar-head{background:linear-gradient(90deg,color-mix(in srgb, var(--state-danger) 8%, transparent),color-mix(in srgb, var(--surface-page) 2%, transparent));border-bottom-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-weekdays div{background:color-mix(in srgb, var(--surface-page) 4%, transparent);color:var(--ink-hi)}
#luckyDrawModal .ldx-checkin-day{background:color-mix(in srgb, var(--surface-page) 2%, transparent);border-color:color-mix(in srgb, var(--surface-page) 8%, transparent)}
#luckyDrawModal .ldx-checkin-day:hover{background:color-mix(in srgb, var(--state-danger) 5%, transparent);border-color:color-mix(in srgb, var(--state-danger) 40%, transparent)}
#luckyDrawModal .ldx-checkin-empty{border:1px dashed color-mix(in srgb, var(--surface-page) 14%, transparent)}
#luckyDrawModal .ldx-checkin-mobile-detail{background:color-mix(in srgb, var(--surface-page) 3%, transparent);border-color:color-mix(in srgb, var(--state-danger) 16%, transparent)}
#luckyDrawModal .ldx-checkin-day-mobile-summary{color:var(--ink-faint)}
#luckyDrawModal .ldx-checkin-day-reward{background:color-mix(in srgb, var(--state-danger) 6%, transparent);border-color:color-mix(in srgb, var(--state-danger) 20%, transparent);color:var(--ink-danger)}
#luckyDrawModal .ldx-checkin-day-empty{color:var(--ink-dim)}

/* ── extracted block 2 of 3 ── */
/* Hide the standalone chat launcher/dock chrome: chat is opened from the menu button */
#mh-web-chat-root .mh-chat-launcher,
#mh-web-chat-root .mh-chat-dock-btn,
#mh-web-chat-root .mh-chat-edge-handle{display:none!important}
/* Chat menu button styling (matches ldx dark-navy + gold theme) */
.ldx-float-btn{position:relative}
.ldx-float-chat .ldx-float-icon{background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 24%, transparent),color-mix(in srgb, var(--accent) 16%, transparent));border-color:color-mix(in srgb, var(--accent-bright) 40%, transparent)}
.ldx-float-badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--state-danger);color:var(--ink-bright);font-size:11px;font-weight:800;line-height:20px;text-align:center;display:none;box-shadow:0 6px 16px color-mix(in srgb, var(--state-danger) 40%, transparent);z-index:2}
.ldx-float-badge.is-show{display:block}
/* การแจ้งเตือนข้อความใหม่บนปุ่มลอยที่ย่ออยู่ ให้ผู้ใช้สังเกตเห็นว่าแอดมินตอบกลับ */
.ldx-float-toggle-badge{position:absolute;top:-6px;left:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--state-danger);color:var(--ink-bright);font-size:11px;font-weight:800;line-height:20px;text-align:center;display:none;box-shadow:0 4px 12px color-mix(in srgb, var(--state-danger) 55%, transparent);border:2px solid var(--ink-bright);z-index:4;pointer-events:none}
.ldx-float-toggle.has-chat-unread .ldx-float-toggle-badge{display:block;animation:ldx-chat-badge-pop .32s cubic-bezier(.34,1.56,.64,1)}
.ldx-float-toggle.has-chat-unread{animation:ldx-chat-unread-pulse 1.5s ease-in-out infinite}
.ldx-float-toggle.has-chat-unread::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:2px solid color-mix(in srgb, var(--state-danger) 75%, transparent);animation:ldx-chat-unread-ring 1.5s ease-out infinite;pointer-events:none;z-index:0}
@keyframes ldx-chat-badge-pop{0%{transform:scale(.2)}100%{transform:scale(1)}}
@keyframes ldx-chat-unread-pulse{0%,100%{box-shadow:0 8px 22px color-mix(in srgb, var(--surface-page) 28%, transparent),0 0 0 1px color-mix(in srgb, var(--ink-bright) 12%, transparent),0 0 18px var(--ldx-fglow)}50%{box-shadow:0 8px 22px color-mix(in srgb, var(--surface-page) 28%, transparent),0 0 0 4px color-mix(in srgb, var(--state-danger) 40%, transparent),0 0 26px color-mix(in srgb, var(--state-danger) 50%, transparent)}}
@keyframes ldx-chat-unread-ring{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){.ldx-float-toggle.has-chat-unread,.ldx-float-toggle.has-chat-unread::after,.ldx-float-toggle.has-chat-unread .ldx-float-toggle-badge{animation:none}.ldx-float-toggle.has-chat-unread::after{opacity:.6}}

/* ── extracted block 3 of 3 ── */
#mh-web-chat-root{display:none;position:fixed;right:18px;bottom:18px;z-index:99999;font-family:inherit;--mh-chat-header-bg:var(--theme-gold);--mh-chat-launcher-bg:var(--surface-card);--mh-chat-body-bg:var(--accent-bright);--mh-chat-admin-bubble-bg:var(--ink-bright);--mh-chat-admin-text:var(--ink-on-light);--mh-chat-customer-bubble-bg:var(--accent);--mh-chat-customer-text:var(--ink-on-gold);--mh-chat-card-bg:var(--ink-bright)}.mh-chat-launcher{position:relative;width:58px;height:58px;border-radius:999px;border:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;background:var(--mh-chat-launcher-bg);color:var(--ink-hi);box-shadow:0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent);display:flex;align-items:center;justify-content:center;font-size:24px}.mh-chat-launcher:active{cursor:grabbing}.mh-chat-launcher img{width:36px;height:36px;object-fit:contain;display:block}.mh-chat-launcher-icon{display:flex;align-items:center;justify-content:center;line-height:1}.mh-chat-launcher.is-alert{animation:mhChatPulse 1.05s infinite}@keyframes mhChatPulse{0%{transform:scale(1);box-shadow:0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent)}50%{transform:scale(1.09);box-shadow:0 0 0 8px color-mix(in srgb, var(--state-danger) 22%, transparent),0 20px 50px color-mix(in srgb, var(--surface-page) 34%, transparent)}100%{transform:scale(1);box-shadow:0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent)}}.mh-chat-badge{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--ink-on-gold);border:2px solid var(--ink-bright);font-size:12px;font-weight:900;line-height:18px;display:none;align-items:center;justify-content:center;box-shadow:0 8px 18px color-mix(in srgb, var(--surface-page) 25%, transparent)}.mh-chat-badge.is-show{display:flex}.mh-chat-panel{width:360px;max-width:calc(100vw - 28px);height:560px;max-height:calc(100vh - 100px);background:transparent;border-radius:20px;box-shadow:0 20px 60px color-mix(in srgb, var(--surface-page) 24%, transparent);overflow:hidden;display:none;flex-direction:column;border:1px solid color-mix(in srgb, var(--surface-card) 8%, transparent)}.mh-chat-panel.is-open{display:flex}.mh-chat-header{background:var(--theme-gold);color:var(--ink-on-gold);padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.mh-chat-title{font-weight:800;font-size:15px;line-height:1.2}.mh-chat-subtitle{font-size:12px;opacity:.8;margin-top:2px}.mh-chat-header-actions{display:flex;gap:6px}.mh-chat-icon-btn{border:1px solid color-mix(in srgb, var(--ink-bright) 22%, transparent);background:color-mix(in srgb, var(--ink-bright) 10%, transparent);color:var(--ink-on-gold);width:30px;height:30px;border-radius:10px;cursor:pointer}.mh-chat-body{flex:1;overflow-y:auto;background:var(--ink-bright);padding:14px 12px}.mh-chat-login{margin:30px 12px;padding:16px;border-radius:16px;background:var(--ink-bright);color:var(--ink-on-light);text-align:center;font-size:14px;box-shadow:0 6px 20px color-mix(in srgb, var(--surface-card) 6%, transparent)}.mh-msg-row{display:flex;margin:8px 0}.mh-msg-row.out{justify-content:flex-end}.mh-msg-row.in{justify-content:flex-start}.mh-msg-bubble{max-width:90%;border-radius:16px;padding:9px 11px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.mh-msg-row.out .mh-msg-bubble{background:var(--mh-chat-customer-bubble-bg);color:var(--mh-chat-customer-text);border-bottom-right-radius:6px}.mh-msg-row.in .mh-msg-bubble{background:var(--mh-chat-admin-bubble-bg);color:var(--mh-chat-admin-text);border-bottom-left-radius:6px;box-shadow:0 4px 12px color-mix(in srgb, var(--surface-card) 6%, transparent)}.mh-card{width:100%;max-width:320px;background:var(--mh-chat-card-bg);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px color-mix(in srgb, var(--surface-card) 8%, transparent);border:1px solid var(--accent-bright)}.mh-card img{width:100%;display:block;object-fit:cover;max-height:180px}.mh-card-content{padding:12px}.mh-card-title{font-weight:800;color:var(--ink-on-light);font-size:15px;margin-bottom:4px}.mh-card-desc{color:var(--accent);font-size:13px;line-height:1.45}.mh-card-actions{display:grid;gap:7px;padding:0 12px 12px}.mh-card-btn{display:block;border:0;text-align:center;background:var(--mh-chat-header-bg);color:var(--ink-on-gold)!important;border-radius:12px;padding:9px 10px;text-decoration:none;font-size:13px;cursor:pointer;font-weight:700}.mh-activity-choice{display:block;width:100%;border:1px solid var(--accent-bright);background:var(--ink-bright);color:var(--ink-on-light);border-radius:12px;padding:9px 10px;text-align:left;margin-top:7px;cursor:pointer}.mh-rich-image{position:relative;display:block}.mh-rich-image img{width:100%;display:block}.mh-chat-image{max-width:240px;border-radius:14px;display:block;cursor:zoom-in;transition:.15s}.mh-chat-image:hover{filter:brightness(.96);transform:translateY(-1px)}.mh-chat-tools{padding:8px 10px;background:var(--ink-bright);border-top:1px solid var(--accent-bright);display:flex;gap:8px;align-items:center;position:relative}.mh-push-btn,.mh-tool-btn{border:1px solid var(--accent-bright);background:var(--ink-bright);color:var(--ink-on-light);border-radius:12px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:700}.mh-ios-guide{display:none;padding:10px 12px;background:var(--accent-bright);color:var(--ink-on-gold);font-size:12px;line-height:1.4;border-top:1px solid var(--accent-bright)}.mh-chat-inputbar{display:flex;gap:8px;padding:10px;background:var(--ink-bright);border-top:1px solid var(--accent-bright)}.mh-chat-inputbar textarea{flex:1;height:42px;max-height:90px;resize:none;border:1px solid var(--accent-bright);border-radius:14px;padding:10px 12px;outline:none;font-size:14px}.mh-chat-send{border:0;background:var(--mh-chat-header-bg);color:var(--ink-on-gold);border-radius:14px;padding:0 15px;cursor:pointer;font-weight:800}.mh-emoji-picker{position:absolute;left:10px;bottom:48px;background:var(--ink-bright);border:1px solid var(--accent-bright);border-radius:14px;box-shadow:0 14px 34px color-mix(in srgb, var(--surface-card) 18%, transparent);padding:8px;display:grid;grid-template-columns:repeat(6,32px);gap:4px;z-index:2}.mh-emoji-picker button{border:0;background:var(--accent-bright);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:18px}.mh-image-preview{font-size:12px;color:var(--accent);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mh-image-preview.is-show{cursor:zoom-in;color:var(--ink-on-light);text-decoration:underline;text-underline-offset:2px}.mh-image-preview.is-show:hover{color:var(--state-danger)}.mh-uploading{opacity:.55;pointer-events:none}.mh-swal-image-popup{width:min(96vw,1200px)!important;max-width:96vw!important;background:transparent!important;box-shadow:none!important}.mh-swal-image-popup .swal2-html-container{margin:0!important;padding:0!important;overflow:visible!important}.mh-swal-full-image-wrap{max-height:88vh;display:flex;align-items:center;justify-content:center}.mh-swal-full-image{max-width:96vw;max-height:88vh;border-radius:18px;box-shadow:0 30px 80px color-mix(in srgb, var(--surface-page) 45%, transparent);object-fit:contain;background:var(--ink-bright)}.mh-swal-image-popup .swal2-close{background:var(--surface-card)!important;color:var(--ink-hi)!important;border-radius:999px!important;width:42px!important;height:42px!important;right:8px!important;top:8px!important}.mh-line-flex-card{width:100%;max-width:320px;background:var(--mh-chat-card-bg);border-radius:18px;overflow:hidden;border:1px solid var(--accent-bright);box-shadow:0 10px 28px color-mix(in srgb, var(--surface-card) 10%, transparent);white-space:normal;color:var(--ink-on-light)}.mh-line-flex-header{padding:16px;color:var(--ink-hi)}.mh-line-flex-header .mh-flex-text{color:inherit!important}.mh-line-flex-hero img{width:100%;display:block;object-fit:cover;max-height:190px;cursor:zoom-in}.mh-line-flex-body{padding:14px 16px;background:var(--mh-chat-card-bg);display:grid;gap:10px}.mh-line-flex-footer{padding:0 16px 16px;background:var(--mh-chat-card-bg);display:grid;gap:9px}.mh-flex-text{font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.mh-flex-text.xs{font-size:12px}.mh-flex-text.sm{font-size:13px}.mh-flex-text.md{font-size:14px}.mh-flex-text.lg{font-size:16px}.mh-flex-text.xl{font-size:18px}.mh-flex-text.bold{font-weight:800}.mh-flex-separator{height:1px;background:var(--accent-bright);margin:4px 0}.mh-flex-button{display:block;width:100%;border:1px solid var(--accent-bright);background:var(--ink-bright);color:var(--ink-on-light);border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;font-weight:700;text-decoration:none}.mh-flex-button.primary{background:var(--mh-chat-header-bg);color:var(--ink-on-gold);border-color:var(--mh-chat-header-bg);text-align:center}.mh-line-flex-card .mh-card-btn{background:var(--mh-chat-header-bg);color:var(--ink-on-gold)!important}.mh-msg-row.in .mh-msg-bubble:has(.mh-line-flex-card),.mh-msg-row.in .mh-msg-bubble:has(.mh-card){padding:0;background:transparent;box-shadow:none}.mh-msg-row.in .mh-msg-bubble:has(.mh-line-flex-card) .mh-line-flex-card,.mh-msg-row.in .mh-msg-bubble:has(.mh-card) .mh-card{max-width:320px}#mh-web-chat-root.is-positioned{right:auto!important;bottom:auto!important}#mh-web-chat-root.is-edge-collapsed{transform:translateX(42px);transition:transform .22s ease}#mh-web-chat-root:not(.is-edge-collapsed){transition:transform .18s ease}.mh-chat-launcher::before{display:none}.is-edge-collapsed .mh-chat-launcher::before{content:'‹';display:flex;position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:22px;height:42px;border-radius:999px 0 0 999px;background:color-mix(in srgb, var(--surface-card) 88%, transparent);color:var(--ink-hi);align-items:center;justify-content:center;font-size:22px;font-weight:900;box-shadow:0 10px 24px color-mix(in srgb, var(--surface-page) 22%, transparent)}.mh-chat-launcher.is-dragging{transition:none!important;animation:none!important}.swal2-container{z-index:2147483647!important}@media(max-width:480px){#mh-web-chat-root{right:10px;bottom:10px}.mh-chat-panel{width:calc(100vw - 20px);height:min(620px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);border-radius:18px 18px 16px 16px}#mh-web-chat-root.is-panel-open{left:10px!important;right:auto!important;top:auto!important;bottom:8px!important}.mh-chat-body{padding-bottom:12px}.mh-chat-inputbar{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
@media (min-width: 769px) {
  #mh-web-chat-root.mh-chat-closed .mh-chat-launcher,
  .mh-chat-launcher {
    position: fixed !important;
    right: 22px !important;
    left: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 2147483000 !important;
  }

  #mh-web-chat-root.mh-chat-open .mh-chat-panel {
    position: fixed !important;
    right: 28px !important;
    bottom: 28px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  #mh-web-chat-root.mh-chat-closed .mh-chat-launcher,
  .mh-chat-launcher {
    right: 14px;
    bottom: 120px;
  }

  #mh-web-chat-root.mh-chat-open .mh-chat-panel {
    left: 10px !important;
    right: 10px !important;
    bottom: 8px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    height: min(78dvh, 640px) !important;
    transform: none !important;
  }
}

/* Web Chat: แยกพฤติกรรม ย่อ/ปิด และตำแหน่ง desktop/mobile */
@media (min-width: 769px) {
  #mh-web-chat-root:not(.is-panel-open) {
    position: fixed !important;
    right: 22px !important;
    left: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
  #mh-web-chat-root:not(.is-panel-open) .mh-chat-launcher {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    cursor: pointer !important;
  }
  #mh-web-chat-root.is-panel-open {
    position: fixed !important;
    right: 28px !important;
    bottom: 28px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
  }
  #mh-web-chat-root.is-panel-open .mh-chat-panel {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
  }
}
@media (max-width: 768px) {
  #mh-web-chat-root.is-panel-open {
    left: 10px !important;
    right: auto !important;
    top: auto !important;
    bottom: 8px !important;
    transform: none !important;
  }
  #mh-web-chat-root.is-panel-open .mh-chat-panel {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    height: min(78dvh, 640px) !important;
    max-height: calc(100dvh - 16px) !important;
  }
}


@media (max-width: 768px) {
  #mh-web-chat-root.mh-chat-closed.is-edge-collapsed {
    right: auto !important;
    bottom: auto !important;
  }
}


/* Web Chat fix: panel must open at screen edge, not at dragged launcher position */
@media (min-width: 769px) {
  #mh-web-chat-root.is-panel-open {
    position: fixed !important;
    left: auto !important;
    top: auto !important;
    right: 28px !important;
    bottom: 28px !important;
    transform: none !important;
  }
  #mh-web-chat-root.is-panel-open .mh-chat-panel {
    position: relative !important;
    display: flex;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
}
@media (max-width: 768px) {
  #mh-web-chat-root.is-panel-open {
    position: fixed !important;
    left: 10px !important;
    top: auto !important;
    right: auto !important;
    bottom: 8px !important;
    transform: none !important;
  }
  #mh-web-chat-root.is-panel-open .mh-chat-panel {
    position: relative !important;
    display: flex;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    height: min(78dvh, 640px) !important;
    max-height: calc(100dvh - 16px) !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
}


/* Web Chat fix 2026-05-05: mobile docked launcher must stay tucked into right edge */
@media (max-width: 768px) {
  #mh-web-chat-root.mh-chat-closed.is-edge-collapsed {
    position: fixed !important;
    left: calc(100vw - 22px) !important;
    right: auto !important;
    top: var(--mh-chat-dock-top, 54vh) !important;
    bottom: auto !important;
    transform: none !important;
  }
  #mh-web-chat-root.mh-chat-closed.is-edge-collapsed .mh-chat-launcher {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
  #mh-web-chat-root.mh-chat-closed.is-edge-collapsed .mh-chat-launcher::before {
    content: '›';
    display: flex;
    position: absolute;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 46px;
    border-radius: 999px 0 0 999px;
    background: color-mix(in srgb, var(--surface-card) 92%, transparent);
    color: var(--ink-hi);
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--surface-page) 24%, transparent);
  }
}


/* Web Chat final position fix: fixed lower-right launcher, no drag, still dockable */
#mh-web-chat-root.mh-chat-closed:not(.is-panel-open){
  position:fixed!important;
  left:auto!important;
  top:auto!important;
  right:22px!important;
  bottom:88px!important;
  transform:none!important;
}
#mh-web-chat-root.mh-chat-closed:not(.is-panel-open).is-edge-collapsed{
  left:auto!important;
  top:auto!important;
  right:-40px!important;
  bottom:88px!important;
  transform:none!important;
}
#mh-web-chat-root.mh-chat-closed:not(.is-panel-open) .mh-chat-launcher{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
@media(max-width:768px){
  #mh-web-chat-root.mh-chat-closed:not(.is-panel-open){
    right:14px!important;
    bottom:96px!important;
  }
  #mh-web-chat-root.mh-chat-closed:not(.is-panel-open).is-edge-collapsed{
    right:-42px!important;
    bottom:96px!important;
  }
}
@media(max-width:480px){
  #mh-web-chat-root.mh-chat-closed:not(.is-panel-open){
    right:14px!important;
    bottom:96px!important;
  }
  #mh-web-chat-root.mh-chat-closed:not(.is-panel-open).is-edge-collapsed{
    right:-42px!important;
    bottom:96px!important;
  }
}

/* Web Chat dock button from current upload: ปุ่มหุบข้างปุ่มแชท */
.mh-chat-dock-btn{position:absolute;right:64px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:999px;border:1px solid color-mix(in srgb, var(--ink-bright) 95%, transparent);background:color-mix(in srgb, var(--surface-card) 86%, transparent);color:var(--ink-hi);box-shadow:0 10px 24px color-mix(in srgb, var(--surface-page) 24%, transparent);cursor:pointer;font-size:18px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;z-index:1}
.mh-chat-dock-btn:hover{background:color-mix(in srgb, var(--surface-card) 96%, transparent)}
#mh-web-chat-root.is-panel-open .mh-chat-dock-btn,#mh-web-chat-root.is-edge-collapsed .mh-chat-dock-btn{display:none!important}
@media(max-width:768px){.mh-chat-dock-btn{right:63px;width:32px;height:32px}}



/* Web Chat theme/shadow extension: gradient + inner/outer soft shadows */
#mh-web-chat-root{
  --mh-chat-header-shadow:none;
  --mh-chat-launcher-shadow:0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent);
  --mh-chat-admin-bubble-shadow:0 4px 12px color-mix(in srgb, var(--surface-card) 6%, transparent);
  --mh-chat-customer-bubble-shadow:none;
  --mh-chat-card-shadow:0 8px 22px color-mix(in srgb, var(--surface-card) 8%, transparent);
}
.mh-chat-header{box-shadow:var(--mh-chat-header-shadow,none)}
.mh-chat-launcher{box-shadow:var(--mh-chat-launcher-shadow,0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent))}
.mh-msg-row.in .mh-msg-bubble{box-shadow:var(--mh-chat-admin-bubble-shadow,0 4px 12px color-mix(in srgb, var(--surface-card) 6%, transparent))}
.mh-msg-row.out .mh-msg-bubble{box-shadow:var(--mh-chat-customer-bubble-shadow,none)}
.mh-card,.mh-line-flex-card{box-shadow:var(--mh-chat-card-shadow,0 8px 22px color-mix(in srgb, var(--surface-card) 8%, transparent))}



/* Web Chat unread animation extension */
.mh-chat-launcher{position:relative;isolation:isolate;z-index:2}
.mh-chat-launcher-icon{position:relative;z-index:2}
.mh-chat-launcher.is-alert{animation:var(--mh-chat-unread-animation,mhChatPulseSimple) var(--mh-chat-unread-animation-duration,1.05s) infinite!important;box-shadow:var(--mh-chat-launcher-shadow,0 16px 40px color-mix(in srgb, var(--surface-page) 25%, transparent))!important}
.mh-chat-launcher.is-alert::before{content:'';position:absolute;inset:calc(-1 * var(--mh-chat-unread-ring-offset,5px));border-radius:999px;background:var(--mh-chat-unread-ring-bg,var(--mh-chat-unread-ring-color,var(--accent)));filter:blur(var(--mh-chat-unread-blur,26px));opacity:var(--mh-chat-unread-glow-opacity,.78);pointer-events:none;z-index:-2}
.mh-chat-launcher.is-alert::after{content:'';position:absolute;inset:calc(-1 * var(--mh-chat-unread-ring-offset,5px));padding:var(--mh-chat-unread-ring-width,3px);border-radius:999px;background:var(--mh-chat-unread-ring-bg,var(--mh-chat-unread-ring-color,var(--accent)));-webkit-mask:linear-gradient(var(--ink-bright) 0 0) content-box,linear-gradient(var(--ink-bright) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--mh-chat-unread-ring-opacity,1);box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-bright) 70%, transparent);pointer-events:none;z-index:-1}
.mh-chat-badge{z-index:8}
.mh-chat-edge-handle{position:absolute;right:64px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:999px;border:1px solid color-mix(in srgb, var(--ink-bright) 96%, transparent);background:color-mix(in srgb, var(--surface-card) 88%, transparent);color:var(--ink-hi);box-shadow:0 10px 24px color-mix(in srgb, var(--surface-page) 24%, transparent);cursor:pointer;font-size:18px;font-weight:900;line-height:1;display:none;align-items:center;justify-content:center;z-index:9}
.mh-chat-edge-handle:hover{background:color-mix(in srgb, var(--surface-card) 96%, transparent)}
#mh-web-chat-root.is-edge-collapsed .mh-chat-edge-handle{display:flex!important}
#mh-web-chat-root.is-panel-open .mh-chat-edge-handle{display:none!important}
#mh-web-chat-root.is-edge-collapsed.has-unread{transform:translateX(-18px)!important}
@media(max-width:768px){.mh-chat-edge-handle{right:63px;width:32px;height:32px}#mh-web-chat-root.is-edge-collapsed.has-unread{transform:translateX(-16px)!important}}
@keyframes mhChatPulseSimple{0%,100%{transform:scale(1)}50%{transform:scale(1.10)}}
@keyframes mhChatBounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-8px)}70%{transform:translateY(2px)}}
@keyframes mhChatShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@keyframes mhChatRing{0%,100%{transform:rotate(0)}15%{transform:rotate(-10deg)}30%{transform:rotate(9deg)}45%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}


/* unread animation fix: animate inner icon/ring because launcher transform is used for positioning */
.mh-chat-launcher.is-alert .mh-chat-launcher-icon{animation:var(--mh-chat-unread-animation,mhChatPulseSimple) var(--mh-chat-unread-animation-duration,1.05s) infinite!important;transform-origin:center;will-change:transform}
.mh-chat-launcher.is-alert::before,.mh-chat-launcher.is-alert::after{animation:mhChatGlowBreath var(--mh-chat-unread-animation-duration,1.05s) infinite!important;transform-origin:center;will-change:transform,opacity}
@keyframes mhChatGlowBreath{0%,100%{transform:scale(1);opacity:var(--mh-chat-unread-glow-opacity,.78)}50%{transform:scale(1.18);opacity:1}}


/* Web Chat unread position marker */
.mh-chat-body{overflow-anchor:none;scroll-behavior:auto}
.mh-unread-divider{display:flex;align-items:center;gap:10px;margin:12px 2px 10px;color:var(--state-danger);font-size:12px;font-weight:800;white-space:nowrap}
.mh-unread-divider::before,.mh-unread-divider::after{content:'';height:1px;background:color-mix(in srgb, var(--state-danger) 35%, transparent);flex:1}
.mh-unread-divider span{background:color-mix(in srgb, var(--ink-bright) 88%, transparent);border:1px solid color-mix(in srgb, var(--state-danger) 22%, transparent);border-radius:999px;padding:3px 9px;box-shadow:0 2px 8px color-mix(in srgb, var(--surface-card) 6%, transparent)}
.mh-msg-row.mh-first-unread{scroll-margin-top:44px}

/* Web Chat message time + day separator */
.mh-msg-stack{max-width:90%;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.mh-msg-row.out .mh-msg-stack{align-items:flex-end}
.mh-msg-stack .mh-msg-bubble{max-width:100%}
.mh-msg-time{font-size:10.5px;line-height:1;color:color-mix(in srgb, var(--surface-card) 58%, transparent);padding:0 5px;white-space:nowrap}
.mh-msg-row.out .mh-msg-time{color:color-mix(in srgb, var(--surface-card) 58%, transparent);text-align:right}
.mh-msg-row.in .mh-msg-time{color:color-mix(in srgb, var(--surface-card) 58%, transparent);text-align:left}
.mh-msg-read-status{font-size:10.5px;line-height:1;color:color-mix(in srgb, var(--surface-card) 58%, transparent);padding:0 5px;text-align:right;font-weight:600}.mh-msg-row.out .mh-msg-read-status{align-self:flex-end}
.mh-date-divider{display:flex;align-items:center;gap:10px;margin:14px 2px 10px;color:var(--ink-faint);font-size:11.5px;font-weight:800;white-space:nowrap}
.mh-date-divider::before,.mh-date-divider::after{content:'';height:1px;background:color-mix(in srgb, var(--ink-faint) 28%, transparent);flex:1}
.mh-date-divider span{background:color-mix(in srgb, var(--ink-bright) 88%, transparent);border:1px solid color-mix(in srgb, var(--ink-faint) 18%, transparent);border-radius:999px;padding:3px 9px;box-shadow:0 2px 8px color-mix(in srgb, var(--surface-card) 5%, transparent)}



/* Web Chat font fix: use the same font as the main website instead of system UI */
#mh-web-chat-root,
#mh-web-chat-root * {
  font-family: inherit !important;
}
#mh-web-chat-root button,
#mh-web-chat-root input,
#mh-web-chat-root textarea,
#mh-web-chat-root select {
  font-family: inherit !important;
}


/* Fix: show Card/Flex/Rich images without forced crop in Web Chat preview */
.mh-card > img,
.mh-line-flex-hero > img{
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-hero{background:var(--ink-bright)!important}
.mh-image-cancel{display:none;border:1px solid var(--state-danger);background:var(--ink-bright);color:var(--state-danger);border-radius:999px;padding:5px 8px;cursor:pointer;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}
.mh-image-cancel.is-show{display:inline-flex;align-items:center;justify-content:center}

/* Fix: Web Chat Rich Message clickable imagemap + compact Card/Flex carousel */
.mh-rich-image{position:relative;display:block;width:100%;max-width:300px;border-radius:16px;overflow:hidden;background:var(--ink-bright)}
.mh-rich-image img{width:100%;height:auto!important;display:block;object-fit:contain!important;max-height:260px!important;background:var(--ink-bright)!important}
.mh-rich-hotspot{position:absolute;display:block;border:0;background:transparent!important;text-decoration:none!important;color:transparent!important;overflow:hidden;z-index:2;cursor:pointer}
.mh-rich-hotspot:hover{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 8%, transparent)!important}
button.mh-rich-hotspot{padding:0;margin:0}
.mh-rich-full-link{display:block;text-decoration:none;color:inherit}
.mh-card-carousel,.mh-flex-carousel{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;max-width:300px;padding:2px 4px 8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;white-space:normal}
.mh-card-carousel::-webkit-scrollbar,.mh-flex-carousel::-webkit-scrollbar{height:6px}
.mh-card-carousel::-webkit-scrollbar-thumb,.mh-flex-carousel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--surface-card) 22%, transparent);border-radius:999px}
.mh-card-carousel .mh-card,.mh-flex-carousel .mh-line-flex-card{flex:0 0 260px;max-width:260px;scroll-snap-align:start}
.mh-card,.mh-line-flex-card{max-width:260px!important}
.mh-card > img,.mh-card-image-link > img,.mh-line-flex-hero > img,.mh-line-flex-body img,.mh-flex-box img{width:100%!important;height:auto!important;max-height:180px!important;object-fit:contain!important;background:var(--ink-bright)!important;display:block;border-radius:12px}
.mh-line-flex-header{padding:12px!important}.mh-line-flex-body{padding:10px 12px!important;gap:8px!important}.mh-line-flex-footer{padding:0 12px 12px!important;gap:8px!important}.mh-card-content{padding:10px 12px!important}.mh-card-actions{padding:0 12px 12px!important}.mh-flex-text.xl{font-size:16px!important}.mh-flex-text.lg{font-size:15px!important}.mh-flex-text.md{font-size:13px!important}.mh-flex-text.sm{font-size:12px!important}.mh-flex-button,.mh-card-btn{padding:8px 10px!important;font-size:12px!important;border-radius:10px!important}
.mh-carousel-hint{max-width:300px;font-size:11px;color:var(--ink-faint);text-align:center;margin:3px 0 0;white-space:normal}
.mh-line-flex-clickable{cursor:pointer}
.mh-line-flex-clickable:hover{filter:brightness(.98)}
.mh-card-image-link{display:block;text-decoration:none;color:inherit}
@media(max-width:480px){.mh-card-carousel,.mh-flex-carousel{max-width:280px}.mh-card-carousel .mh-card,.mh-flex-carousel .mh-line-flex-card,.mh-card,.mh-line-flex-card{flex-basis:240px;max-width:240px!important}.mh-card > img,.mh-card-image-link > img,.mh-line-flex-hero > img,.mh-line-flex-body img,.mh-flex-box img{max-height:165px!important}.mh-rich-image{max-width:280px}.mh-rich-image img{max-height:230px!important}}


/* v13: compact Card/Flex media inside the Web Chat viewport and keep full image visible */
.mh-msg-row.in .mh-msg-bubble:has(.mh-card-carousel),
.mh-msg-row.in .mh-msg-bubble:has(.mh-flex-carousel),
.mh-msg-row.in .mh-msg-bubble:has(.mh-line-flex-card),
.mh-msg-row.in .mh-msg-bubble:has(.mh-card){
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mh-card-carousel,
.mh-flex-carousel{
  width:100%!important;
  max-width:min(300px, calc(100vw - 76px))!important;
  padding:2px 4px 8px!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
}
.mh-card-carousel .mh-card,
.mh-flex-carousel .mh-line-flex-card,
.mh-card,
.mh-line-flex-card{
  width:min(252px, calc(100vw - 102px))!important;
  max-width:min(252px, calc(100vw - 102px))!important;
  flex:0 0 min(252px, calc(100vw - 102px))!important;
  box-sizing:border-box!important;
}
.mh-line-flex-header{padding:9px 11px!important}
.mh-line-flex-body{padding:9px 11px!important;gap:7px!important}
.mh-line-flex-footer{padding:0 11px 11px!important;gap:7px!important}
.mh-card-content{padding:9px 11px!important}
.mh-card-actions{padding:0 11px 11px!important;gap:7px!important}
.mh-line-flex-hero,
.mh-flex-image-wrap,
.mh-card-image-link{
  width:100%!important;
  height:130px!important;
  max-height:130px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  box-sizing:border-box!important;
}
.mh-line-flex-hero .mh-flex-image-wrap{
  height:100%!important;
  max-height:100%!important;
}
.mh-card > img,
.mh-card-image-link > img,
.mh-line-flex-hero img,
.mh-flex-image-wrap img,
.mh-line-flex-body img,
.mh-flex-box img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  border-radius:10px!important;
  background:var(--ink-bright)!important;
  flex:0 0 auto!important;
}
.mh-card > img{
  margin:0 auto!important;
  max-height:130px!important;
}
.mh-flex-text.xl{font-size:15px!important}
.mh-flex-text.lg{font-size:14px!important}
.mh-flex-text.md{font-size:13px!important}
.mh-flex-text.sm{font-size:12px!important}
.mh-flex-button,.mh-card-btn{padding:8px 10px!important;font-size:12px!important;border-radius:10px!important}
.mh-carousel-hint{max-width:min(300px, calc(100vw - 76px))!important;font-size:10.5px!important;line-height:1.2!important}
@media(max-width:480px){
  .mh-card-carousel,.mh-flex-carousel{max-width:calc(100vw - 76px)!important}
  .mh-card-carousel .mh-card,
  .mh-flex-carousel .mh-line-flex-card,
  .mh-card,
  .mh-line-flex-card{width:calc(100vw - 118px)!important;max-width:calc(100vw - 118px)!important;flex-basis:calc(100vw - 118px)!important}
  .mh-line-flex-hero,.mh-flex-image-wrap,.mh-card-image-link{height:118px!important;max-height:118px!important}
  .mh-card > img{max-height:118px!important}
}


/* v20: render LINE Card/Flex in Web Chat like admin preview - full image, badge, bottom overlay */
.mh-msg-row.in .mh-msg-bubble:has(.mh-line-flex-visual-card),
.mh-msg-row.in .mh-msg-bubble:has(.mh-card-visual),
.mh-msg-row.in .mh-msg-bubble:has(.mh-card-carousel),
.mh-msg-row.in .mh-msg-bubble:has(.mh-flex-carousel){
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mh-card-carousel,.mh-flex-carousel{
  width:100%!important;
  max-width:min(318px, calc(100vw - 58px))!important;
  padding:2px 4px 9px!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
.mh-card-carousel .mh-card,
.mh-flex-carousel .mh-line-flex-card,
.mh-line-flex-visual-card,
.mh-card-visual{
  width:min(288px, calc(100vw - 92px))!important;
  max-width:min(288px, calc(100vw - 92px))!important;
  flex:0 0 min(288px, calc(100vw - 92px))!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.mh-line-flex-body-visual{
  padding:0!important;
  gap:0!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-body-visual > .mh-flex-box.mh-flex-visual-box{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-body-visual .mh-flex-image-wrap,
.mh-card-visual-media{
  width:100%!important;
  aspect-ratio:var(--mh-flex-aspect, 1 / 1)!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-body-visual .mh-flex-image-wrap img,
.mh-card-visual-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  margin:0!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-body-visual .mh-flex-image-mode-contain img,
.mh-card-visual-media.is-contain img{object-fit:contain!important;background:var(--ink-bright)!important}
.mh-flex-box.mh-flex-abs-box{
  position:absolute!important;
  z-index:3!important;
  box-sizing:border-box!important;
  display:block!important;
}
.mh-flex-box.mh-flex-abs-box .mh-flex-text{margin:0!important}
.mh-card-visual-badge{
  position:absolute;top:12px;left:12px;z-index:3;
  min-width:46px;min-height:46px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-bright);font-size:12px;font-weight:900;line-height:1.1;text-align:center;
  box-shadow:0 8px 18px color-mix(in srgb, var(--surface-card) 16%, transparent);
}
.mh-card-visual-caption{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:3;
  background:var(--surface-card);color:var(--ink-hi);border-radius:999px;
  padding:9px 12px;text-align:center;font-weight:900;font-size:13px;line-height:1.15;
  box-shadow:0 10px 22px color-mix(in srgb, var(--surface-card) 22%, transparent);
}
.mh-card-visual > .mh-card-content:empty{display:none!important}
@media(max-width:480px){
  .mh-card-carousel,.mh-flex-carousel{max-width:calc(100vw - 56px)!important}
  .mh-card-carousel .mh-card,
  .mh-flex-carousel .mh-line-flex-card,
  .mh-line-flex-visual-card,
  .mh-card-visual{width:calc(100vw - 96px)!important;max-width:calc(100vw - 96px)!important;flex-basis:calc(100vw - 96px)!important}
}



/* v21: activity card must fill the Web Chat panel like admin preview */
.mh-msg-row.in .mh-msg-bubble:has(.mh-web-activity-card){
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mh-web-activity-card{
  width:min(320px, calc(100vw - 68px))!important;
  max-width:min(320px, calc(100vw - 68px))!important;
  flex:0 0 auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  box-shadow:0 10px 28px color-mix(in srgb, var(--surface-card) 10%, transparent)!important;
  border:1px solid var(--accent-bright)!important;
}
.mh-web-activity-header{
  width:100%!important;
  box-sizing:border-box!important;
  padding:18px 18px 16px!important;
}
.mh-web-activity-hero{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  padding:0!important;
  margin:0!important;
}
.mh-web-activity-hero img,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  margin:0!important;
  background:var(--ink-bright)!important;
}
.mh-web-activity-card .mh-line-flex-body{
  width:100%!important;
  box-sizing:border-box!important;
  padding:14px 16px!important;
  background:var(--ink-bright)!important;
}
.mh-web-activity-card .mh-line-flex-footer{
  width:100%!important;
  box-sizing:border-box!important;
  padding:0 16px 16px!important;
  background:var(--ink-bright)!important;
}
@media(max-width:480px){
  .mh-web-activity-card{
    width:calc(100vw - 76px)!important;
    max-width:calc(100vw - 76px)!important;
  }
  .mh-web-activity-header{padding:16px 16px 14px!important}
  .mh-web-activity-card .mh-line-flex-body{padding:13px 15px!important}
  .mh-web-activity-card .mh-line-flex-footer{padding:0 15px 15px!important}
}


/* v22: render activity/card messages in Web Chat with the same full-width frame as admin preview */
.mh-msg-row.in.mh-msg-row-rich,
.mh-msg-row.in.mh-msg-row-activity{
  width:100%!important;
  justify-content:flex-start!important;
}
.mh-msg-row.in.mh-msg-row-rich .mh-msg-stack,
.mh-msg-row.in.mh-msg-row-activity .mh-msg-stack{
  width:100%!important;
  max-width:100%!important;
  align-items:flex-start!important;
}
.mh-msg-row.in.mh-msg-row-rich .mh-msg-bubble,
.mh-msg-row.in.mh-msg-row-activity .mh-msg-bubble,
.mh-msg-bubble-rich,
.mh-msg-bubble-activity{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.mh-line-flex-card.mh-web-activity-card{
  width:100%!important;
  max-width:100%!important;
  flex-basis:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  border:1px solid var(--accent-bright)!important;
  box-shadow:0 10px 28px color-mix(in srgb, var(--surface-card) 10%, transparent)!important;
  box-sizing:border-box!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-header,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-header{
  width:100%!important;
  box-sizing:border-box!important;
  padding:20px 20px 18px!important;
  border-radius:0!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:var(--ink-bright)!important;
  border-radius:0!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap,
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero img,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:var(--mh-flex-aspect, auto)!important;
  display:block!important;
  border-radius:0!important;
  margin:0!important;
  padding:0!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap img,
.mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero img,
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero img{
  object-fit:cover!important;
  object-position:center center!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-body{
  width:100%!important;
  box-sizing:border-box!important;
  padding:14px 18px 10px!important;
  gap:10px!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-line-flex-footer{
  width:100%!important;
  box-sizing:border-box!important;
  padding:0 18px 18px!important;
  gap:9px!important;
  background:var(--ink-bright)!important;
}
.mh-line-flex-card.mh-web-activity-card .mh-flex-button.primary,
.mh-line-flex-card.mh-web-activity-card .mh-card-btn,
.mh-line-flex-card.mh-web-activity-card .mh-activity-choice.primary{
  width:100%!important;
  display:block!important;
  text-align:center!important;
  border-radius:12px!important;
  padding:11px 12px!important;
  font-weight:900!important;
}
@media(max-width:480px){
  .mh-chat-body{padding-left:8px!important;padding-right:8px!important}
  .mh-line-flex-card.mh-web-activity-card{width:100%!important;max-width:100%!important;flex-basis:100%!important}
  .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header,
  .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header{padding:18px 18px 16px!important}
  .mh-line-flex-card.mh-web-activity-card .mh-line-flex-body{padding:13px 16px 10px!important}
  .mh-line-flex-card.mh-web-activity-card .mh-line-flex-footer{padding:0 16px 16px!important}
}



/* v24: activity preview frame polish - match admin/settings preview, full width, clear border */
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-activity,
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-rich{
  width:100%!important;
  margin:10px 0!important;
}
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-activity .mh-msg-stack,
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-rich .mh-msg-stack{
  width:100%!important;
  max-width:100%!important;
  align-items:stretch!important;
}
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-activity .mh-msg-bubble,
#mh-web-chat-root .mh-msg-row.in.mh-msg-row-rich .mh-msg-bubble,
#mh-web-chat-root .mh-msg-bubble-activity,
#mh-web-chat-root .mh-msg-bubble-rich{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  border:1px solid color-mix(in srgb, var(--accent-bright) 90%, transparent)!important;
  box-shadow:0 14px 34px color-mix(in srgb, var(--surface-card) 12%, transparent)!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header{
  width:100%!important;
  min-height:118px!important;
  padding:24px 20px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:6px!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  color:var(--ink-bright)!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header > .mh-flex-box,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header > .mh-flex-box{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header .mh-flex-text,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header .mh-flex-text{
  color:var(--ink-bright)!important;
  margin:0!important;
  line-height:1.35!important;
  text-shadow:0 1px 1px color-mix(in srgb, var(--surface-card) 10%, transparent);
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header .mh-flex-text.xl,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header .mh-flex-text.xl{
  font-size:17px!important;
  font-weight:900!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  border-radius:0!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  display:block!important;
  background:var(--ink-bright)!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap img{
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  margin:0!important;
  background:var(--ink-bright)!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-body{
  width:100%!important;
  padding:14px 16px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  background:var(--ink-bright)!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-body > .mh-flex-box{
  max-width:100%!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-body .mh-flex-text{
  color:var(--surface-card)!important;
  line-height:1.45!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-footer{
  width:100%!important;
  padding:0 16px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  background:var(--ink-bright)!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-flex-button.primary,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-card-btn,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-activity-choice.primary{
  width:100%!important;
  min-height:42px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:900!important;
  padding:10px 14px!important;
}
@media(max-width:480px){
  #mh-web-chat-root .mh-chat-body{padding-left:8px!important;padding-right:8px!important}
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-header,
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-header{min-height:108px!important;padding:20px 18px 16px!important}
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-body{padding:13px 15px 12px!important}
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-footer{padding:0 15px 15px!important}
}


/* Web Chat mobile draggable/dockable launcher v6 */
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open){
  position:fixed!important;
  left:var(--mh-chat-left,auto)!important;
  top:var(--mh-chat-top,auto)!important;
  right:auto!important;
  bottom:auto!important;
  width:58px!important;
  height:58px!important;
  transform:none!important;
  overflow:visible!important;
  transition:left .18s ease,top .18s ease!important;
  z-index:2147483000!important;
}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open) .mh-chat-launcher{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  touch-action:none!important;
  cursor:grab!important;
  z-index:2!important;
}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open) .mh-chat-launcher:active{cursor:grabbing!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open) .mh-chat-launcher.is-dragging{transition:none!important;animation:none!important}
#mh-web-chat-root.mh-chat-float-enabled.is-launcher-dragging{transition:none!important}
#mh-web-chat-root.mh-chat-float-enabled.is-edge-collapsed .mh-chat-launcher::before{display:none!important;content:none!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open) .mh-chat-dock-btn{
  display:flex!important;
  width:32px!important;
  height:32px!important;
  z-index:3!important;
  touch-action:none!important;
  user-select:none!important;
}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open):not(.is-edge-collapsed).is-docked-right .mh-chat-dock-btn{left:auto!important;right:64px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;border-radius:999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open):not(.is-edge-collapsed).is-docked-left .mh-chat-dock-btn{left:64px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;border-radius:999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open):not(.is-edge-collapsed).is-docked-top .mh-chat-dock-btn{left:50%!important;right:auto!important;top:64px!important;bottom:auto!important;transform:translateX(-50%)!important;border-radius:999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open):not(.is-edge-collapsed).is-docked-bottom .mh-chat-dock-btn{left:50%!important;right:auto!important;top:auto!important;bottom:64px!important;transform:translateX(-50%)!important;border-radius:999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open).is-edge-collapsed .mh-chat-dock-btn{background:color-mix(in srgb, var(--surface-card) 94%, transparent)!important;color:var(--ink-hi)!important;box-shadow:0 10px 24px color-mix(in srgb, var(--surface-page) 28%, transparent)!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open).is-edge-collapsed.is-docked-left .mh-chat-dock-btn{left:58px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;border-radius:0 999px 999px 0!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open).is-edge-collapsed.is-docked-right .mh-chat-dock-btn{left:auto!important;right:58px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;border-radius:999px 0 0 999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open).is-edge-collapsed.is-docked-top .mh-chat-dock-btn{left:50%!important;right:auto!important;top:58px!important;bottom:auto!important;transform:translateX(-50%)!important;border-radius:0 0 999px 999px!important}
#mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open).is-edge-collapsed.is-docked-bottom .mh-chat-dock-btn{left:50%!important;right:auto!important;top:auto!important;bottom:58px!important;transform:translateX(-50%)!important;border-radius:999px 999px 0 0!important}
#mh-web-chat-root.mh-chat-float-enabled.is-panel-open .mh-chat-dock-btn{display:none!important}
@media(min-width:769px){
  #mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open){left:var(--mh-chat-left,auto)!important;top:var(--mh-chat-top,auto)!important;right:auto!important;bottom:auto!important;transform:none!important}
}
@media(max-width:768px){
  #mh-web-chat-root.mh-chat-float-enabled.mh-chat-closed:not(.is-panel-open){left:var(--mh-chat-left,auto)!important;top:var(--mh-chat-top,auto)!important;right:auto!important;bottom:auto!important;transform:none!important}
}


/* Fix: Web Chat activity images must not zoom/crop.
   Applies only to customer Web Chat rendering of activity cards. */
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero{
  width:100%!important;
  height:clamp(170px, 52vw, 260px)!important;
  max-height:260px!important;
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  padding:0!important;
  margin:0!important;
}
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  margin:0 auto!important;
  background:var(--ink-bright)!important;
}
@media(max-width:480px){
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero,
  #mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero{
    height:clamp(165px, 58vw, 240px)!important;
    max-height:240px!important;
    min-height:150px!important;
  }
}



/* v26: Web Push announcement image frame follows Flex/Card aspectRatio; default 1:1 for square creative */
#mh-web-chat-root .mh-card-visual.mh-card-announcement{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  border:1px solid color-mix(in srgb, var(--accent-bright) 90%, transparent)!important;
  box-shadow:0 14px 34px color-mix(in srgb, var(--surface-card) 12%, transparent)!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-announcement-media{
  width:100%!important;
  aspect-ratio:var(--mh-flex-aspect, 1 / 1)!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:var(--ink-bright)!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-announcement-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:var(--ink-bright)!important;
  border-radius:0!important;
  margin:0!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-content{
  padding:12px 14px!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-actions{
  padding:0 14px 14px!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-title{
  font-size:15px!important;
  line-height:1.35!important;
}
#mh-web-chat-root .mh-card-visual.mh-card-announcement .mh-card-desc{
  font-size:13px!important;
  line-height:1.45!important;
}



/* v27: full-size image rendering - card width follows chat width, image height follows the actual uploaded image ratio */
#mh-web-chat-root .mh-msg-row:has(.mh-card),
#mh-web-chat-root .mh-msg-row:has(.mh-line-flex-card),
#mh-web-chat-root .mh-msg-row:has(.mh-card-carousel),
#mh-web-chat-root .mh-msg-row:has(.mh-flex-carousel){
  width:100%!important;
}
#mh-web-chat-root .mh-msg-row:has(.mh-card) .mh-msg-stack,
#mh-web-chat-root .mh-msg-row:has(.mh-line-flex-card) .mh-msg-stack,
#mh-web-chat-root .mh-msg-row:has(.mh-card-carousel) .mh-msg-stack,
#mh-web-chat-root .mh-msg-row:has(.mh-flex-carousel) .mh-msg-stack,
#mh-web-chat-root .mh-msg-row-rich .mh-msg-stack{
  width:100%!important;
  max-width:100%!important;
}
#mh-web-chat-root .mh-msg-bubble:has(.mh-card),
#mh-web-chat-root .mh-msg-bubble:has(.mh-line-flex-card),
#mh-web-chat-root .mh-msg-bubble:has(.mh-card-carousel),
#mh-web-chat-root .mh-msg-bubble:has(.mh-flex-carousel),
#mh-web-chat-root .mh-msg-bubble-rich{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#mh-web-chat-root .mh-card,
#mh-web-chat-root .mh-line-flex-card,
#mh-web-chat-root .mh-line-flex-visual-card,
#mh-web-chat-root .mh-card-visual{
  width:min(100%, 320px)!important;
  max-width:min(100%, 320px)!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-card-carousel,
#mh-web-chat-root .mh-flex-carousel{
  width:100%!important;
  max-width:100%!important;
  align-items:flex-start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-card-carousel .mh-card,
#mh-web-chat-root .mh-flex-carousel .mh-line-flex-card{
  width:min(320px, calc(100vw - 64px))!important;
  max-width:min(320px, calc(100vw - 64px))!important;
  flex:0 0 min(320px, calc(100vw - 64px))!important;
}
#mh-web-chat-root .mh-card-visual-media,
#mh-web-chat-root .mh-card-announcement-media,
#mh-web-chat-root .mh-card-image-link,
#mh-web-chat-root .mh-line-flex-hero,
#mh-web-chat-root .mh-line-flex-hero .mh-flex-image-wrap,
#mh-web-chat-root .mh-flex-image-wrap,
#mh-web-chat-root .mh-line-flex-body-visual .mh-flex-image-wrap,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  background:var(--ink-bright)!important;
  box-sizing:border-box!important;
}
#mh-web-chat-root .mh-card > img,
#mh-web-chat-root .mh-card-visual-media > img,
#mh-web-chat-root .mh-card-announcement-media > img,
#mh-web-chat-root .mh-card-image-link > img,
#mh-web-chat-root .mh-line-flex-hero img,
#mh-web-chat-root .mh-flex-image-wrap img,
#mh-web-chat-root .mh-line-flex-body img,
#mh-web-chat-root .mh-flex-box img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-line-flex-hero .mh-flex-image-wrap img,
#mh-web-chat-root .mh-line-flex-card.mh-web-activity-card .mh-web-activity-hero .mh-flex-image-wrap img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  flex:0 0 auto!important;
  margin:0!important;
  background:var(--ink-bright)!important;
}
#mh-web-chat-root .mh-chat-image,
#mh-web-chat-root .mh-rich-image,
#mh-web-chat-root .mh-rich-image img{
  max-width:min(100%, 320px)!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:480px){
  #mh-web-chat-root .mh-card,
  #mh-web-chat-root .mh-line-flex-card,
  #mh-web-chat-root .mh-line-flex-visual-card,
  #mh-web-chat-root .mh-card-visual,
  #mh-web-chat-root .mh-card-carousel .mh-card,
  #mh-web-chat-root .mh-flex-carousel .mh-line-flex-card{
    width:min(100%, 320px)!important;
    max-width:100%!important;
    flex:0 0 auto!important;
  }
}

/* WebChat instant-send: show the customer's bubble immediately without waiting for API/DB. */
#mh-web-chat-root .mh-msg-row.mh-msg-pending .mh-msg-stack{opacity:.82}
#mh-web-chat-root .mh-msg-send-status{
  margin-top:2px;
  font-size:10px;
  line-height:1.2;
  text-align:right;
  opacity:.62;
}
#mh-web-chat-root .mh-msg-row.mh-msg-failed .mh-msg-stack{opacity:1}
#mh-web-chat-root .mh-msg-row.mh-msg-failed .mh-msg-send-status{
  opacity:1;
  font-weight:700;
}
