.sj{--ax:var(--ax-d,28px);--ayu:var(--ay-up-d,24px);--ayd:var(--ay-dn-d,36px);--cut:12.5%;--ox:3px;--oy:5px;--or:1.4deg;--hw:3.2;position:fixed;z-index:85;right:clamp(8px,1.4vw,20px);bottom:calc(26px + env(safe-area-inset-bottom,0px));width:56px;height:120px;display:grid;grid-template-rows:60px 60px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .45s var(--ease,ease),transform .45s var(--ease,ease),visibility 0s linear .45s}
.sj.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .45s var(--ease,ease),transform .45s var(--ease,ease),visibility 0s}
body:has(#top[data-scene='house']) .sj{display:none}
.sj__v{position:absolute;inset:0;pointer-events:none;animation:sjOx 9.5s ease-in-out infinite alternate}
.sj__y{position:absolute;inset:0;animation:sjOy 7.2s ease-in-out infinite alternate}
@keyframes sjOx{from{transform:translateX(calc(var(--ox) * -1))}to{transform:translateX(var(--ox))}}
@keyframes sjOy{from{transform:translateY(calc(var(--oy) * -1)) rotate(calc(var(--or) * -1))}to{transform:translateY(var(--oy)) rotate(var(--or))}}
.sj__bd{position:absolute;inset:0;clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%);background:linear-gradient(180deg,rgba(16,128,252,.12),rgba(8,6,26,.5) 55%,rgba(193,18,249,.18)),rgba(6,5,18,.5);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%)}
.sj__ft{position:absolute;left:-30%;right:-30%;bottom:-18px;height:28px;background:radial-gradient(closest-side,rgba(193,18,249,.6),rgba(193,18,249,0));filter:blur(6px)}
.sj__m{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.sj__hm{display:none}
.sj__w,.sj__o,.sj__p,.sj__c{fill:none}
.sj__w{stroke:#1080FC;stroke-opacity:.8}
.sj__p{stroke:#fff;stroke-width:1.6;stroke-dasharray:8 92;stroke-linecap:butt;filter:drop-shadow(0 0 3px #C112F9);animation:sjPulse 6s linear infinite}

@keyframes sjPulse{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
.sj__nh{transform-box:fill-box;transform-origin:center;animation:sjNode 3.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.55s)}
@keyframes sjNode{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.sj__c{stroke:#eef0f7;stroke-width:2.2;stroke-linejoin:miter;stroke-linecap:butt;stroke-miterlimit:6}
.sj__c2{stroke:#9bb5ff;stroke-width:1.5;opacity:.5}


.sj.is-off-up .sj__cg--up,.sj.is-off-dn .sj__cg--dn{opacity:.3}
.sj.is-off-up .sj__cg--up .sj__nh,.sj.is-off-dn .sj__cg--dn .sj__nh{animation:none;opacity:.6}
.sj[data-hot='up']:not(.is-off-up) .sj__cg--up .sj__c,.sj[data-hot='dn']:not(.is-off-dn) .sj__cg--dn .sj__c{stroke:#fff;stroke-width:var(--hw);opacity:1;filter:drop-shadow(0 0 3px #C112F9) drop-shadow(0 0 8px rgba(193,18,249,.85))}
.sj[data-hot='up']:not(.is-off-up) .sj__cg--up .sj__nh,.sj[data-hot='dn']:not(.is-off-dn) .sj__cg--dn .sj__nh{animation:none;opacity:1;transform:scale(1.7)}
.sj .sj__b{position:relative;z-index:2;display:block;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sj .sj__b[aria-disabled='true']{cursor:default}
.sj .sj__b:focus-visible{outline:2px solid #c9a0ff;outline-offset:-4px}
.sj .sj__l{position:absolute;right:calc(100% + 14px);top:var(--ayu);transform:translateY(-50%);pointer-events:none}
.sj .sj__b--dn .sj__l{top:var(--ayd)}
.sj .sj__t{position:relative;display:block;padding:9px 22px 9px 20px;white-space:nowrap;text-align:left;background:linear-gradient(120deg,#1080FC,#C112F9);visibility:hidden;clip-path:polygon(100% 0,100% 0,calc(100% - 13px) 100%,calc(100% - 13px) 100%);transition:clip-path .08s linear,visibility 0s .08s}
.sj .sj__t::before{content:'';position:absolute;inset:1px;background:rgba(7,5,20,.95);clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.sj .sj__t b,.sj .sj__t i{position:relative;display:block}
.sj .sj__t b{font:700 13.5px/1.2 var(--ff-b,sans-serif);letter-spacing:-.005em;color:var(--txt,#eef0f7)}
.sj .sj__t i{margin-top:3px;font:400 11px/1.2 var(--ff-m,monospace);font-style:normal;letter-spacing:.08em;color:var(--txt-2,#a3a7ba)}
.sj .sj__th{position:absolute;left:100%;top:50%;width:calc(var(--ax) + 14px);height:1px;background:linear-gradient(90deg,#C112F9,#fff);transform:scaleX(0);transform-origin:0 50%;transition:transform .06s linear}
.sj .sj__th::after{content:'';position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 8px 1px #C112F9}
.sj[data-hot='up'] .sj__b--up .sj__t,.sj[data-hot='dn'] .sj__b--dn .sj__t,.sj.is-hint .sj__t{visibility:visible;clip-path:polygon(13px 0,100% 0,calc(100% - 13px) 100%,0 100%);transition:clip-path .16s cubic-bezier(.2,.9,.1,1),visibility 0s}
.sj[data-hot='up'] .sj__b--up .sj__th,.sj[data-hot='dn'] .sj__b--dn .sj__th,.sj.is-hint .sj__th{transform:none;transition:transform .12s linear .08s}
@media (max-width:899px){
.sj{left:0;right:0;width:auto;height:44px;top:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:stretch;padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))}
.sj.is-on{pointer-events:none}
.sj,.sj.is-on{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);will-change:opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.sj{transition:opacity .35s ease,visibility 0s linear .35s}
.sj.is-on{transition:opacity .35s ease,visibility 0s}
.sj__v{display:none}
.sj .sj__b{display:flex;align-items:center;gap:8px;width:auto;height:44px;min-width:44px;pointer-events:auto;text-align:left}
.sj .sj__b--dn{flex-direction:row-reverse;text-align:right}
.sj .sj__b .sj__l{position:static;display:block;transform:none}
.sj .sj__b .sj__t{visibility:visible;clip-path:none;padding:0;background:none;white-space:nowrap;text-align:inherit;transition:none}
.sj .sj__b .sj__t::before{display:none}
.sj .sj__th{display:none}
.sj .sj__t b{font:500 10px/1.2 var(--ff-b,sans-serif);letter-spacing:.02em;color:var(--txt-2,#a3a7ba)}
.sj .sj__t i{margin-top:2px;font:500 11px/1.2 var(--ff-m,monospace);letter-spacing:0;color:var(--txt,#eef0f7)}
.sj .sj__hm{display:block;flex:none;width:48px;height:44px;filter:drop-shadow(0 0 6px rgba(193,18,249,.45))}
.sj__pl{display:block;width:100%;height:100%;overflow:visible}
.sj .sj__b:active .sj__hm{filter:drop-shadow(0 0 10px rgba(193,18,249,.95)) brightness(1.35)}
.sj.is-off-up .sj__b--up,.sj.is-off-dn .sj__b--dn{opacity:.35}
}
@media (prefers-reduced-motion:reduce){.sj,.sj .sj__t,.sj .sj__th{transition:none}.sj__v,.sj__y,.sj__nh{animation:none}.sj__p{display:none}}