/* The lantern (2026-11-03): reward light behind the glass when all four panes are up and still; no cursor over the glass */
.pane canvas.torchgl{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:0}
.torchlit .pane{cursor:none}
.torch{position:fixed;left:0;top:0;z-index:60;width:56px;height:90px;pointer-events:none;opacity:0;transition:opacity .25s;
 filter:drop-shadow(0 0 6px rgba(255,170,60,.85)) drop-shadow(0 0 22px rgba(255,120,30,.45)) drop-shadow(0 3px 4px rgba(0,0,0,.8))}
.torch.on{opacity:1}
.torch .fl{transform-origin:20px 26px;animation:tflick .42s ease-in-out infinite alternate}
@keyframes tflick{0%{transform:scale(1,1) skewX(0)}35%{transform:scale(.94,1.06) skewX(3deg)}70%{transform:scale(1.05,.95) skewX(-2deg)}100%{transform:scale(.97,1.04) skewX(1deg)}}
@media(max-width:700px),(prefers-reduced-motion:reduce){.torch .fl{animation:none}}

/* the dragonfly: a dark silhouette against the lit glass; only its wings take the light coming through */
.dfly{position:fixed;left:0;top:0;z-index:60;width:130px;height:130px;pointer-events:none;opacity:0;transition:opacity .3s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
.dfly.on{opacity:1}
.dfly path.w1,.dfly path.w2{fill:rgba(14,20,18,.2);stroke:#0b0d0c;stroke-width:1.1;stroke-linejoin:round}.dfly path.v{fill:none;stroke:rgba(11,13,12,.7);stroke-width:.55}
.dfly .wl{transform-origin:-2px -5px;animation:dwl .09s ease-in-out infinite alternate}.dfly .wr{transform-origin:2px -5px;animation:dwr .09s ease-in-out infinite alternate}
@keyframes dwl{from{transform:scaleY(1) rotate(0)}to{transform:scaleY(.7) rotate(5deg)}}@keyframes dwr{from{transform:scaleY(1) rotate(0)}to{transform:scaleY(.7) rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.dfly .wl,.dfly .wr{animation:none}}
