.ct-lamp-preview{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#4a302522,transparent 65%);border-radius:24px}
.ct-lamp-fallback{width:100%;height:auto}.ct-lamp-fallback[hidden]{display:none!important}
.ct-lamp-stage{--lamp-w:180px;--lamp-h:250px;--lamp-half:90px;height:390px;width:100%;perspective:950px;display:grid;place-items:center;touch-action:pan-y;cursor:grab;outline-offset:-5px}
.ct-lamp-stage[hidden],.ct-lamp-controls[hidden]{display:none}
.ct-lamp-stage:active{cursor:grabbing}
.ct-lamp-stage{position:relative;isolation:isolate}
.ct-lamp-stage::before{content:"";position:absolute;inset:8% 9% 0;background:radial-gradient(ellipse at 50% 58%,#ed9b492e 0%,#c6712512 36%,transparent 68%);opacity:0;pointer-events:none;transition:opacity 200ms ease;z-index:-1}
.ct-lamp-stage::after{content:"";position:absolute;width:230px;height:66px;bottom:26px;border-radius:50%;background:radial-gradient(ellipse,#ffc78338,transparent 68%);border:1px solid #edbd7338;box-shadow:0 0 26px #efa14915;transform:rotateX(60deg);opacity:0;pointer-events:none;transition:opacity 200ms ease;z-index:-1}
.ct-lamp-preview.is-lit .ct-lamp-stage::before,.ct-lamp-preview.is-lit .ct-lamp-stage::after{opacity:1}
.ct-lamp-sparks{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 200ms ease;z-index:-1}
.is-lit .ct-lamp-sparks{opacity:1}
.ct-lamp-sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd9a1;box-shadow:0 0 8px #ffc06988;animation:ct-lamp-spark 8s linear infinite both}
.ct-lamp-sparks i:nth-child(3n){width:2px;height:2px;background:#fff0ce}
.is-motion-still .ct-lamp-sparks i{animation-play-state:paused}
@keyframes ct-lamp-spark{0%{opacity:0;transform:translate3d(0,12px,0) scale(.7)}20%{opacity:.6}75%{opacity:.3}100%{opacity:0;transform:translate3d(18px,-120px,0) scale(.9)}}
.ct-lamp-object{width:var(--lamp-w);height:var(--lamp-h);position:relative;transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(-28deg)}
.ct-lamp-face{position:absolute;inset:0;border:9px solid #202124;border-top-width:12px;border-bottom-width:12px;box-sizing:border-box;background:#e9d9bc;backface-visibility:hidden;box-shadow:inset 0 0 15px #0005}
.ct-lamp-face img{width:100%!important;height:100%!important;object-fit:fill;opacity:.9;filter:brightness(1.06);transition:filter 200ms ease}
.ct-lamp-face--front{transform:translateZ(var(--lamp-half))}.ct-lamp-face--right{transform:rotateY(90deg) translateZ(var(--lamp-half))}.ct-lamp-face--back{transform:rotateY(180deg) translateZ(var(--lamp-half))}.ct-lamp-face--left{transform:rotateY(-90deg) translateZ(var(--lamp-half))}
.ct-lamp-cap{position:absolute;width:var(--lamp-w);height:var(--lamp-w);background:#202124;border:7px solid #282a2c;box-sizing:border-box;backface-visibility:hidden}
.ct-lamp-cap--top{top:calc(0px - var(--lamp-half));transform:rotateX(90deg)}.ct-lamp-cap--bottom{top:calc(var(--lamp-h) - var(--lamp-half));transform:rotateX(-90deg);box-shadow:0 0 45px #d58b4033}
.ct-lamp-preview.is-lit .ct-lamp-face img{filter:brightness(1.15) saturate(1.08);opacity:1}
.ct-lamp-preview.is-lit .ct-lamp-face{box-shadow:inset 0 0 22px #ffbf6444,0 0 22px #e6a45b18;background:#ffe0a5}
.ct-lamp-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 12px 14px}
.ct-lamp-controls button{font:inherit;font-size:12px;border:1px solid #62686b;border-radius:999px;background:#202629;color:#f2f0e9;padding:10px 14px;min-height:44px;cursor:pointer}
.ct-lamp-controls button:focus-visible,.ct-lamp-stage:focus-visible{outline:2px solid #f57836}
.ct-lamp-preview figcaption{text-align:center;font-size:12px!important;padding-bottom:16px}
@media(max-width:480px){.ct-lamp-stage{--lamp-w:140px;--lamp-h:194px;--lamp-half:70px;height:310px}}
@media(prefers-reduced-motion:reduce){.ct-lamp-face img,.ct-lamp-sparks,.ct-lamp-stage::before,.ct-lamp-stage::after{transition:none}.ct-lamp-sparks i{animation:none;display:none}}
