/* ── hanging light bulb ── */
.lamp{position:fixed;z-index:47;top:calc(env(safe-area-inset-top,0px) + 89px);right:max(26px,env(safe-area-inset-right,0px));width:60px;height:320px;pointer-events:none}
.cordsvg{position:absolute;left:0;top:0;width:60px;height:320px;overflow:visible}
.cordsvg path{stroke:var(--text);stroke-width:2;fill:none;stroke-linecap:round}
.cordsvg .fix{fill:var(--text)}
.bulb{position:absolute;left:0;top:0;width:44px;height:66px;padding:0;border:0;background:none;pointer-events:auto;transform-origin:22px 0;
  transform:translate(8px,110px);touch-action:none;cursor:grab}
.bulb svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible}
.bulb .cap,.bulb .base{fill:#3A3A3A}
.bulb .thr{stroke:#8A8A8A;stroke-width:1.2}
.bulb .glass{fill:#FFE27A;stroke:#111;stroke-width:1.5;transition:fill .3s}
.bulb .fil{stroke:#C46A00;stroke-width:1.4;fill:none;stroke-linejoin:round}
.bulb::before{content:"";position:absolute;left:50%;top:64%;width:140px;height:140px;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,214,90,.55),rgba(255,214,90,0) 65%);transition:opacity .35s;pointer-events:none}
.bulb.off .glass{fill:#3B3B41;stroke:#8A8A90}
.bulb.off .fil{stroke:#6A6A70}
.bulb.off::before{opacity:0}
.lamp-hint{position:absolute;right:56px;top:128px;font-family:var(--hand);font-size:19px;white-space:nowrap;rotate:-6deg;color:var(--text);transition:opacity .4s}
@media(max-width:700px){.lamp{right:max(8px,env(safe-area-inset-right,0px))}.lamp-hint{top:92px;font-size:16px}}
