#sgpi-wrap{position:fixed;right:auto;bottom:auto;width:270px;height:190px;max-width:calc(100vw - 10px);background:rgba(12,16,24,.86);border:1px solid rgba(255,255,255,.28);border-radius:12px;z-index:2147483000;box-shadow:0 12px 34px rgba(0,0,0,.5);overflow:hidden;font-family:Arial,'Noto Sans KR',sans-serif;color:#fff;user-select:none}#sgpi-head{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:rgba(0,0,0,.55);font-size:12px;font-weight:700;cursor:default}#sgpi-head{cursor:move}.sgpi-editing #sgpi-head{cursor:move}.sgpi-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgpi-tools{display:flex;align-items:center;gap:3px}.sgpi-tools button,#sgpi-head button,.sgpi-btn{border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:7px;padding:4px 7px;font-size:12px;cursor:pointer}.sgpi-tools em{font-style:normal;font-size:11px;color:rgba(255,255,255,.82);min-width:36px;text-align:center}.sgpi-map{position:absolute;left:0;right:0;top:32px;bottom:0;overflow:hidden;background:rgba(255,255,255,.06);touch-action:none}.sgpi-stage{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:left top}.sgpi-stage img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.sgpi-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:auto}.sgpi-line{stroke:rgba(255,102,0,.52);stroke-width:7;vector-effect:non-scaling-stroke;cursor:pointer}.sgpi-line:hover{stroke:rgba(255,80,0,.92)}.sgpi-dot{position:absolute;width:13px;height:13px;border-radius:50%;transform:translate(-50%,-50%);background:#35d36a;border:2px solid #fff;box-shadow:0 1px 8px rgba(0,0,0,.55);cursor:pointer;z-index:3}.sgpi-dot.current{width:17px;height:17px;background:#ff4040}.sgpi-dot.current:after{content:'';position:absolute;left:50%;top:-12px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:12px solid #ff4040;transform:translateX(-50%)}.sgpi-dot.unplaced{display:none}.sgpi-label{position:absolute;transform:translate(-50%,8px);font-size:10px;white-space:nowrap;text-shadow:0 1px 4px #000;pointer-events:none;z-index:4}.sgpi-empty{position:absolute;inset:32px 0 0 0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.78);font-size:12px;text-align:center;padding:16px;line-height:1.45;background:rgba(0,0,0,.18)}.sgpi-rh{display:block;position:absolute;width:22px;height:22px;background:transparent;border:0;z-index:5}.sgpi-rh:after{content:'';position:absolute;inset:5px;border-radius:4px;border:1px solid transparent;opacity:0;transition:opacity .14s}.sgpi-rh:hover:after,.sgpi-rh.sgpi-active:after{opacity:1;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08)}.sgpi-rh:hover:before{content:'크기 조절';position:absolute;bottom:24px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(0,0,0,.72);color:#fff;font-size:11px;padding:4px 6px;border-radius:6px;pointer-events:none}.sgpi-rh-nw{left:-11px;top:-11px;cursor:nwse-resize}.sgpi-rh-ne{right:-11px;top:-11px;cursor:nesw-resize}.sgpi-rh-sw{left:-11px;bottom:-11px;cursor:nesw-resize}.sgpi-rh-se{right:-11px;bottom:-11px;cursor:nwse-resize}#sgpi-wrap:hover{border-color:rgba(45,125,255,.55)}.sgpi-editor{position:fixed;left:14px;top:14px;width:330px;max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);overflow:auto;z-index:2147483001;background:rgba(16,20,28,.96);border:1px solid rgba(255,255,255,.25);border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.55);padding:12px;color:#fff;font-family:Arial,'Noto Sans KR',sans-serif}.sgpi-editor h3{font-size:15px;margin:0 0 10px}.sgpi-editor label{display:block;font-size:12px;color:rgba(255,255,255,.78);margin:9px 0 5px}.sgpi-editor input,.sgpi-editor select{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.38);color:#fff;border-radius:8px;padding:7px;font-size:12px}.sgpi-row{display:flex;gap:6px}.sgpi-row>*{flex:1}.sgpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sgpi-editor .sgpi-btn{width:100%;margin-top:6px;background:#2d7dff}.sgpi-editor .sgpi-btn.sub{background:rgba(255,255,255,.15)}.sgpi-note{font-size:11px;color:rgba(255,255,255,.64);line-height:1.45;margin-top:8px}.sgpi-placing .sgpi-map{outline:2px solid #2d7dff;outline-offset:-2px;cursor:crosshair}@media(max-width:768px){#sgpi-wrap{width:220px;height:150px}.sgpi-editor{left:8px;top:8px;width:305px}.sgpi-tools em{display:none}}

/* v10 aspect fit + VR hotspots */
#sgpi-crosshair{display:none;position:fixed;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);z-index:2147483002;pointer-events:none}body.sgpi-indoor-editor-on #sgpi-crosshair{display:block}.sgpi-cross-v,.sgpi-cross-h{position:absolute;left:50%;top:50%;background:rgba(255,255,255,.92);box-shadow:0 0 3px rgba(0,0,0,.8)}.sgpi-cross-v{width:1px;height:42px;transform:translate(-50%,-50%)}.sgpi-cross-h{width:42px;height:1px;transform:translate(-50%,-50%)}#sgpi-crosshair b{position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid rgba(255,64,64,.95);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px rgba(0,0,0,.85)}

#sgpi-wrap .sgpi-auto-mini{background:rgba(45,125,255,.75);font-weight:700}
#sgpi-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%);z-index:2147483003;background:rgba(0,0,0,.78);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 14px;font-size:13px;font-family:Arial,'Noto Sans KR',sans-serif;opacity:0;pointer-events:none;transition:opacity .18s}
#sgpi-toast.show{opacity:1}
@media(max-width:768px){#sgpi-wrap .sgpi-auto-mini{display:none}}

/* v10 */
.sgpi-dot{transition:transform .08s, box-shadow .12s}.sgpi-dot:hover{box-shadow:0 0 0 4px rgba(45,125,255,.28),0 1px 8px rgba(0,0,0,.55)}

/* v22: 일반모드에서는 편집 버튼/자동연결/라인 숨김 */
#sgpi-editbtn,#sgpi-autobtn{display:none}
.sgpi-editing #sgpi-editbtn,.sgpi-editing #sgpi-autobtn{display:inline-block}
.sgpi-line{pointer-events:stroke!important}
#sgpi-wrap:not(.sgpi-editing) .sgpi-svg{pointer-events:none}
#sgpi-wrap:not(.sgpi-editing) .sgpi-line{display:none}
body.sgpi-indoor-editor-on #sgpi-crosshair{display:none}
body.sgpi-indoor-editor-on #sgpi-crosshair{display:block}

/* Indoor 2.0 */
body.sgpi-vr-linking{cursor:crosshair!important}
body.sgpi-vr-linking:after{content:'VR 화면에서 이동할 위치 클릭';position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:2147483004;background:rgba(45,125,255,.92);color:#fff;border-radius:999px;padding:9px 16px;font:700 13px Arial,'Noto Sans KR',sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.sgpi-editor [data-act=vrlink]{background:#22a766!important}


/* v201: editor center crosshair + minimap viewing direction ray */
body.sgpi-indoor-editor-on #sgpi-crosshair{
  display:block!important;
}
body.sgpi-vr-linking #sgpi-crosshair .sgpi-cross-v,
body.sgpi-vr-linking #sgpi-crosshair .sgpi-cross-h{background:rgba(32,255,150,.98)}
body.sgpi-vr-linking #sgpi-crosshair b{border-color:rgba(32,255,150,.98)}
#sgpi-crosshair em{
  position:absolute;left:50%;top:46px;transform:translateX(-50%);
  white-space:nowrap;font:700 11px Arial,'Noto Sans KR',sans-serif;color:#fff;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.24);
  border-radius:999px;padding:3px 8px;text-shadow:0 1px 3px #000;
}
.sgpi-view-ray{
  stroke:rgba(32,255,150,.95);stroke-width:3;stroke-dasharray:8 7;
  vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8));
}
.sgpi-view-ray-tip{fill:rgba(32,255,150,.95);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}


/* v203: map box free resize, floorplan keeps original aspect, distance step always visible in editor */
#sgpi-stepbar{display:none;position:absolute;left:8px;right:8px;bottom:8px;height:28px;z-index:6;align-items:center;justify-content:center;gap:8px;pointer-events:auto}
.sgpi-editing #sgpi-stepbar{display:flex}
#sgpi-stepbar button{border:0;background:rgba(45,125,255,.9);color:#fff;border-radius:9px;width:32px;height:26px;font:900 16px Arial;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
#sgpi-stepbar span{background:rgba(0,0,0,.64);border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font:700 12px Arial,'Noto Sans KR',sans-serif;padding:6px 10px;min-width:86px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.35)}
#sgpi-stepbar b{color:#20ff96}
.sgpi-editing .sgpi-map{bottom:42px}
.sgpi-stage{background:rgba(255,255,255,.04)}

/* v204: viewing ray always long in editor + pending VR move workflow */
body.sgpi-vr-linking #sgpi-crosshair{filter:drop-shadow(0 0 8px rgba(32,255,150,.7))}
body.sgpi-indoor-editor-on .sgpi-view-ray{display:block!important}

/* v211: editor hotspot hover labels + map highlight */
#sgpi-hs-tip{
  position:fixed;left:50%;top:calc(50% + 58px);transform:translateX(-50%);
  z-index:2147483005;min-width:150px;max-width:280px;padding:9px 12px;
  border-radius:12px;background:rgba(0,0,0,.78);color:#fff;
  border:1px solid rgba(255,255,255,.24);box-shadow:0 8px 24px rgba(0,0,0,.45);
  font-family:Arial,'Noto Sans KR',sans-serif;text-align:center;pointer-events:none;
  opacity:0;transition:opacity .12s, transform .12s;
}
#sgpi-hs-tip.show{opacity:1;transform:translateX(-50%) translateY(0)}
#sgpi-hs-tip b{display:block;font-size:13px;line-height:1.25;color:#fff}
#sgpi-hs-tip small{display:block;margin-top:3px;font-size:11px;color:rgba(255,255,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sgpi-hs-tip em{display:inline-block;margin-top:6px;font-style:normal;font-size:11px;border-radius:999px;padding:3px 8px;background:rgba(53,211,106,.22);color:#9dffbd}
#sgpi-hs-tip.auto em{background:rgba(45,125,255,.24);color:#a9c8ff}
.sgpi-dot.highlight{box-shadow:0 0 0 6px rgba(32,255,150,.32),0 0 14px rgba(32,255,150,.85)!important;transform:translate(-50%,-50%) scale(1.35);z-index:8}
.sgpi-line.highlight{stroke:rgba(255,96,0,.96)!important;stroke-width:10!important;filter:drop-shadow(0 0 4px rgba(32,255,150,.85))}

/* v212: thumbnail scene picker */
#sgpi-scene-picker{position:fixed;inset:0;z-index:2147483006;background:rgba(0,0,0,.46);display:flex;align-items:center;justify-content:center;font-family:Arial,'Noto Sans KR',sans-serif;color:#fff}
.sgpi-picker-panel{width:min(760px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 24px));background:rgba(18,22,30,.97);border:1px solid rgba(255,255,255,.24);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.62);overflow:hidden}
.sgpi-picker-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:rgba(0,0,0,.36);border-bottom:1px solid rgba(255,255,255,.12)}
.sgpi-picker-head b{font-size:14px}.sgpi-picker-head button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:9px;width:30px;height:30px;font-size:20px;line-height:28px;cursor:pointer}
.sgpi-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px;padding:14px;overflow:auto;max-height:calc(min(640px,calc(100vh - 24px)) - 44px)}
.sgpi-picker-item{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;border-radius:12px;padding:6px;cursor:pointer;text-align:center;transition:transform .12s,border-color .12s,background .12s}
.sgpi-picker-item:hover{transform:translateY(-2px);border-color:rgba(32,255,150,.75);background:rgba(32,255,150,.12)}
.sgpi-picker-thumb{position:relative;display:block;width:100%;aspect-ratio:1.35/1;border-radius:9px;overflow:hidden;background:rgba(0,0,0,.35);margin-bottom:6px}
.sgpi-picker-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sgpi-picker-thumb em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-style:normal;font-weight:900;font-size:22px;color:#fff;text-shadow:0 2px 8px #000,0 0 3px #000}
.sgpi-picker-item strong{display:block;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v215: minimap fit base - image never shrinks below fit size; zoom is extra magnification */
.sgpi-stage{transform-origin:left top!important}
.sgpi-stage img{width:100%!important;height:100%!important;object-fit:fill!important}


/* v216: minimap floorplan anchors at top-left, no center white gap */
#sgpi-wrap .sgpi-stage{left:0;top:0;transform-origin:left top;}
#sgpi-wrap .sgpi-stage img{display:block;}


/* v217 minimap original-ratio cover fit: remove square/blank behavior */
.sgpi-map{overflow:hidden!important;}
.sgpi-stage{transform-origin:left top!important;}
.sgpi-stage img{width:100%!important;height:100%!important;object-fit:fill!important;}
#sgpi-wrap{min-width:180px;min-height:150px;}


/* v218: 일반모드 GoPath 방식 - 이동점 근처에서만 마우스 따라다니는 이동 표시 */
#sgpi-vr-move-cursor{position:fixed;left:0;top:0;transform:translate(-50%,-50%);z-index:2147483005;pointer-events:none;display:none;align-items:center;gap:6px;font-family:Arial,'Noto Sans KR',sans-serif}
#sgpi-vr-move-cursor.show{display:flex}
#sgpi-vr-move-cursor img{width:34px;height:34px;filter:drop-shadow(0 2px 7px rgba(0,0,0,.7))}
#sgpi-vr-move-cursor span{display:none;margin-left:3px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;font:700 11px Arial,'Noto Sans KR',sans-serif;padding:4px 8px;white-space:nowrap;text-shadow:0 1px 2px #000}
#sgpi-vr-move-cursor.show span{display:block}
body.sgpi-indoor-editor-on #sgpi-vr-move-cursor{display:none!important}


/* v220: normal-mode mouse-follow marker - bigger, no label, instant hide */
#sgpi-vr-move-cursor{transition:none!important;animation:none!important;}
#sgpi-vr-move-cursor.show{display:flex!important;}
#sgpi-vr-move-cursor img{width:52px!important;height:52px!important;filter:drop-shadow(0 3px 9px rgba(0,0,0,.75))!important;}
#sgpi-vr-move-cursor span,#sgpi-vr-move-cursor.show span{display:none!important;}


/* v222: 일반모드 이동 커서 - 거리별 크기/투명도, 드래그 클릭 방지 */
#sgpi-vr-move-cursor{
  --sgpi-cursor-scale:.58;
  display:flex!important;
  opacity:0;
  transform:translate(-50%,-50%) scale(var(--sgpi-cursor-scale))!important;
  transition:opacity .18s ease, transform .18s ease!important;
  will-change:left,top,opacity,transform;
}
#sgpi-vr-move-cursor.show{opacity:1;display:flex!important;}
#sgpi-vr-move-cursor img{width:58px!important;height:58px!important;filter:drop-shadow(0 3px 10px rgba(0,0,0,.78))!important;}
#sgpi-vr-move-cursor span,#sgpi-vr-move-cursor.show span{display:none!important;}
body.sgpi-indoor-editor-on #sgpi-vr-move-cursor{display:none!important;opacity:0!important;}


/* v231: 일반모드 마우스 이동표시 - GoPath 바닥 타원형 링 */
#sgpi-vr-move-cursor{
  --sgpi-cursor-scale:.58;
  width:92px!important;
  height:54px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:0;
  transform:translate(-50%,-50%) scale(var(--sgpi-cursor-scale))!important;
  transition:opacity .22s ease, transform .22s ease!important;
  pointer-events:none!important;
  will-change:left,top,opacity,transform;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.38));
}
#sgpi-vr-move-cursor.show{display:flex!important;}
#sgpi-vr-move-cursor img{display:none!important;}
#sgpi-vr-move-cursor span{display:none!important;}
#sgpi-vr-move-cursor:before{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:76px;
  height:30px;
  transform:translate(-50%,-50%) perspective(120px) rotateX(58deg);
  border-radius:50%;
  border:3px solid rgba(255,255,255,.92);
  border-bottom-color:rgba(255,255,255,.55);
  background:radial-gradient(ellipse at center, rgba(255,255,255,.20) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 68%);
  box-shadow:
    0 0 0 1px rgba(32,255,150,.24),
    0 0 15px rgba(32,255,150,.45),
    inset 0 0 12px rgba(255,255,255,.28);
}
#sgpi-vr-move-cursor:after{
  content:'';
  position:absolute;
  left:50%;
  top:calc(50% + 13px);
  width:66px;
  height:14px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.36) 0%, rgba(0,0,0,.18) 45%, rgba(0,0,0,0) 74%);
}
body.sgpi-indoor-editor-on #sgpi-vr-move-cursor{display:none!important;opacity:0!important;}


/* v231: 자연스러운 이동 중 상태 - 중복 클릭 방지 + 부드러운 표시 */
body.sgpi-indoor-moving #sgpi-vr-move-cursor{opacity:0!important;pointer-events:none!important;}
body.sgpi-indoor-moving #sgpi-wrap .sgpi-dot.current{
  box-shadow:0 0 0 7px rgba(32,255,150,.28),0 0 18px rgba(32,255,150,.85)!important;
  transition:left .55s ease, top .55s ease, transform .35s ease, box-shadow .35s ease!important;
}
#sgpi-wrap .sgpi-dot{transition:left .55s ease, top .55s ease, transform .18s ease, box-shadow .18s ease;}

.sggo-tabs{display:flex;gap:6px;margin:0 0 12px}
.sggo-tabs button{flex:1;border:0;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;padding:9px;cursor:pointer;font-weight:700}
.sggo-tabs button.active{background:#2d7dff}
.sgpi-viewrow{align-items:center}.sgpi-check{display:flex!important;align-items:center;gap:6px;margin:6px 0 0!important;flex:.9!important;white-space:nowrap;color:#fff!important;font-weight:700}.sgpi-check input{width:auto!important;margin:0;accent-color:#2d7dff}.sgpi-viewrow .sgpi-btn{flex:1.2}
/* v239 GoPoly editor + rollover tip */
#sgpoly-editor{display:none;}
#sgpoly-editor .sgpoly-cur{display:block;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:8px;font-size:12px;color:#9dffbd;word-break:break-all}
#sgpoly-editor select[size]{height:112px}
body.sgpoly-drawing:after{content:'GoPoly 이동 찍는 중 - 3점 이상 찍고 완료';position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:2147483040;background:rgba(45,125,255,.92);color:#fff;border-radius:999px;padding:9px 14px;font:800 12px Arial,'Noto Sans KR',sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.35)}
#sgpoly-tip{position:fixed;left:-9999px;top:-9999px;transform:none;z-index:2147483035;background:rgba(0,0,0,.76);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 13px;font:800 13px Arial,'Noto Sans KR',sans-serif;opacity:0;pointer-events:none;transition:opacity .12s;text-shadow:0 1px 3px #000;box-shadow:0 8px 22px rgba(0,0,0,.42)}
#sgpoly-tip.show{opacity:1}

/* v250 minimap detail controls: editable labels, point style, radar direction */
#sgpi-wrap{
  --sgpi-point-size:13px;
  --sgpi-point-color:#35d36a;
  --sgpi-active-color:#ff4040;
  --sgpi-radar-color:#ff4040;
  --sgpi-radar-opacity:.34;
  --sgpi-radar-angle:72deg;
  --sgpi-radar-length:58px;
}
#sgpi-wrap .sgpi-dot{
  width:var(--sgpi-point-size)!important;
  height:var(--sgpi-point-size)!important;
  background:var(--sgpi-point-color)!important;
}
#sgpi-wrap .sgpi-dot.current{
  width:calc(var(--sgpi-point-size) + 4px)!important;
  height:calc(var(--sgpi-point-size) + 4px)!important;
  background:var(--sgpi-active-color)!important;
  overflow:visible;
}
#sgpi-wrap .sgpi-dot.current:after{
  content:''!important;
  position:absolute!important;
  width:var(--sgpi-radar-length)!important;
  height:var(--sgpi-radar-length)!important;
  border:0!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
  background:conic-gradient(from calc(360deg - (var(--sgpi-radar-angle) / 2)), color-mix(in srgb, var(--sgpi-radar-color) calc(var(--sgpi-radar-opacity) * 100%), transparent) 0deg var(--sgpi-radar-angle), transparent var(--sgpi-radar-angle) 360deg)!important;
  clip-path:polygon(50% 50%, 15% 0, 85% 0)!important;
  pointer-events:none!important;
  z-index:-1!important;
  filter:drop-shadow(0 0 4px color-mix(in srgb, var(--sgpi-radar-color) 70%, transparent));
}
#sgpi-wrap.sgpi-labels-off .sgpi-label{display:none!important}
.sgpi-minimap-style label{margin:6px 0 0!important;font-size:11px!important}
.sgpi-minimap-style input[type=color]{height:34px;padding:3px!important;cursor:pointer}
.sgpi-labelcheck{margin-top:8px!important}

/* SPACEGO Indoor v1.0 integrated UI patch */
#sgpi-wrap .sgpi-dot.current.sgpi-current-flying{transition:left .68s cubic-bezier(.22,.72,.2,1),top .68s cubic-bezier(.22,.72,.2,1),transform .25s ease,box-shadow .25s ease!important;box-shadow:0 0 0 8px rgba(255,64,64,.24),0 0 18px rgba(255,64,64,.72)!important;}
#sgpoly-tip{pointer-events:none!important;will-change:left,top,opacity;}

/* v21.4 native krpano radar: disable old CSS radar */
#sgpi-wrap .sgpi-dot.current:after{display:none!important;content:none!important;}


/* v21.6 official radar.js sprite mounted above the external HTML minimap */
.sgpi-stage > .sgpi-official-radar{position:absolute!important;display:block!important;visibility:visible!important;pointer-events:none!important;overflow:visible!important;z-index:3!important;}

/* v249 GoLogo */
#sg-header-root{position:fixed;inset:0;z-index:2147482500;pointer-events:none;display:none;font-family:Arial,'Noto Sans KR',sans-serif}#sg-header-logo,#sg-header-text{position:absolute;pointer-events:none}#sg-header-logo{height:auto;max-width:70vw;filter:drop-shadow(0 2px 7px rgba(0,0,0,.45))}#sg-header-text{color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.75);line-height:1.15;max-width:70vw}#sg-header-text strong{display:block;font-size:1em}#sg-header-text span{display:block;font-size:.55em;margin-top:.35em}.sggo-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px}.sggo-tabs button{padding:7px 3px;border:0;border-radius:7px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;cursor:pointer}.sggo-tabs button.active{background:#2d7dff}
.sgpi-map-select{max-width:150px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(15,23,35,.88);color:#fff;padding:0 28px 0 10px;font-weight:700;outline:none}.sgpi-map-select option{background:#172130;color:#fff}


/* v255: editor 80vh + unified slim scrollbar */
.sgpi-editor,
#sgpoly-editor,
#sglogo-editor,
#sgsound-editor{
  height:80vh!important;
  max-height:80vh!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(120,170,255,.72) rgba(255,255,255,.07);
  overscroll-behavior:contain;
}
.sgpi-editor::-webkit-scrollbar,
#sgpoly-editor::-webkit-scrollbar,
#sglogo-editor::-webkit-scrollbar,
#sgsound-editor::-webkit-scrollbar{width:8px;height:8px}
.sgpi-editor::-webkit-scrollbar-track,
#sgpoly-editor::-webkit-scrollbar-track,
#sglogo-editor::-webkit-scrollbar-track,
#sgsound-editor::-webkit-scrollbar-track{background:rgba(255,255,255,.055);border-radius:999px;margin:8px 0}
.sgpi-editor::-webkit-scrollbar-thumb,
#sgpoly-editor::-webkit-scrollbar-thumb,
#sglogo-editor::-webkit-scrollbar-thumb,
#sgsound-editor::-webkit-scrollbar-thumb{background:rgba(120,170,255,.64);border:2px solid transparent;background-clip:padding-box;border-radius:999px;min-height:38px}
.sgpi-editor::-webkit-scrollbar-thumb:hover,
#sgpoly-editor::-webkit-scrollbar-thumb:hover,
#sglogo-editor::-webkit-scrollbar-thumb:hover,
#sgsound-editor::-webkit-scrollbar-thumb:hover{background:rgba(145,190,255,.9);border:2px solid transparent;background-clip:padding-box}
@media(max-height:650px){.sgpi-editor,#sgpoly-editor,#sglogo-editor,#sgsound-editor{height:80vh!important;max-height:80vh!important}}


/* v258 mobile/tablet interaction compatibility */
#sgpi-wrap,#sgpi-head,.sgpi-map,.sgpi-rh{touch-action:none;-webkit-user-select:none;user-select:none}
@media (pointer:coarse){
  .sgpi-rh{width:38px!important;height:38px!important;z-index:30!important}
  .sgpi-rh-nw{left:-19px!important;top:-19px!important}
  .sgpi-rh-ne{right:-19px!important;top:-19px!important}
  .sgpi-rh-sw{left:-19px!important;bottom:-19px!important}
  .sgpi-rh-se{right:-19px!important;bottom:-19px!important}
  .sgpi-rh:after{inset:10px!important;opacity:.75!important;border-color:rgba(255,255,255,.45)!important;background:rgba(0,0,0,.18)!important}
  .sgpi-tools button,#sgpi-head button,.sgpi-btn{min-width:36px;min-height:36px}
}
@media (max-width:1024px){
  .sgpi-editor,#sgpoly-editor,#sglogo-editor,#sgsound-editor{
    left:8px!important;top:8px!important;width:min(380px,calc(100vw - 16px))!important;
    height:80dvh!important;max-height:80dvh!important;box-sizing:border-box!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
}
@media (max-width:600px){
  #sgpi-wrap{max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 84px)!important}
  .sgpi-editor,#sgpoly-editor,#sglogo-editor,#sgsound-editor{width:calc(100vw - 12px)!important;left:6px!important;top:6px!important;height:82dvh!important;max-height:82dvh!important;border-radius:12px!important}
}

/* v255: mouse-follow hotspot uses the project's hotspot0.png unchanged */
#sgpi-vr-move-cursor{
  width:auto!important;
  height:auto!important;
  filter:none!important;
  transform:translate(-50%,-50%) scale(var(--sgpi-cursor-scale,1))!important;
}
#sgpi-vr-move-cursor img{
  display:block!important;
  width:auto!important;
  height:72px!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.58))!important;
}
#sgpi-vr-move-cursor:before,
#sgpi-vr-move-cursor:after{
  content:none!important;
  display:none!important;
}

/* v261 GoHotspot image/video editor */
#sghotspot-editor{height:80vh!important;max-height:80vh!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:rgba(120,170,255,.72) rgba(255,255,255,.07)}
#sghotspot-editor::-webkit-scrollbar{width:8px}
#sghotspot-editor::-webkit-scrollbar-track{background:rgba(255,255,255,.055);border-radius:999px;margin:8px 0}
#sghotspot-editor::-webkit-scrollbar-thumb{background:rgba(120,170,255,.64);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
#sghotspot-editor .sg-hot-checks,#sghotspot-editor .sg-hot-video{flex-wrap:wrap;gap:8px;margin:10px 0}
#sghotspot-editor output{display:inline-block;min-width:44px;margin-left:8px;color:#9fc5ff;font-weight:700}
#sghotspot-editor input[type=range]{width:100%;accent-color:#4b8cff}
@media(max-width:1024px){#sghotspot-editor{left:8px!important;top:8px!important;width:min(380px,calc(100vw - 16px))!important;height:80dvh!important;max-height:80dvh!important}}
@media(max-width:600px){#sghotspot-editor{width:calc(100vw - 12px)!important;left:6px!important;top:6px!important;height:82dvh!important;max-height:82dvh!important;border-radius:12px!important}}

/* v262 unified five-tab layout */
.sggo-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;position:relative!important;z-index:50!important;overflow:visible!important}
.sggo-tabs button{min-width:0!important;position:relative!important;z-index:51!important;pointer-events:auto!important;touch-action:manipulation!important;white-space:nowrap!important;font-size:12px!important;padding:8px 4px!important}

/* v263 Hotspot editor free move + 8-direction resize */
#sghotspot-editor.sg-free-editor{position:absolute!important;box-sizing:border-box!important;min-width:420px;min-height:360px;max-width:none!important;max-height:none!important;overflow:auto!important;padding-top:48px!important;touch-action:none}
#sghotspot-editor .sg-free-title{position:absolute;left:0;right:0;top:0;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;box-sizing:border-box;background:rgba(7,10,16,.94);border-bottom:1px solid rgba(255,255,255,.12);cursor:move;z-index:20;touch-action:none}
#sghotspot-editor .sg-free-title b{font-size:12px}#sghotspot-editor .sg-free-title span{font-size:10px;color:rgba(255,255,255,.55)}
#sghotspot-editor .sg-free-rh{position:absolute;z-index:30;display:block;touch-action:none}
#sghotspot-editor .sg-free-n{left:14px;right:14px;top:-6px;height:12px;cursor:ns-resize}#sghotspot-editor .sg-free-s{left:14px;right:14px;bottom:-6px;height:12px;cursor:ns-resize}
#sghotspot-editor .sg-free-e{right:-6px;top:14px;bottom:14px;width:12px;cursor:ew-resize}#sghotspot-editor .sg-free-w{left:-6px;top:14px;bottom:14px;width:12px;cursor:ew-resize}
#sghotspot-editor .sg-free-nw,#sghotspot-editor .sg-free-ne,#sghotspot-editor .sg-free-sw,#sghotspot-editor .sg-free-se{width:22px;height:22px}
#sghotspot-editor .sg-free-nw{left:-8px;top:-8px;cursor:nwse-resize}#sghotspot-editor .sg-free-ne{right:-8px;top:-8px;cursor:nesw-resize}#sghotspot-editor .sg-free-sw{left:-8px;bottom:-8px;cursor:nesw-resize}#sghotspot-editor .sg-free-se{right:-8px;bottom:-8px;cursor:nwse-resize}
#sghotspot-editor [data-hact^="upload-"]{background:#2d7dff}
@media(max-width:600px){#sghotspot-editor.sg-free-editor{min-width:300px!important;min-height:320px!important}}
#sghotspot-editor .sg-hot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}
#sghotspot-editor .sg-hot-grid label{margin:0;font-size:11px;color:rgba(255,255,255,.7)}
#sghotspot-editor .sg-hot-grid input{width:100%;box-sizing:border-box;margin-top:4px}
#sghotspot-editor .sg-drag-number{cursor:ew-resize;user-select:none;touch-action:none}
#sghotspot-editor .sg-drag-number:focus{cursor:text;user-select:text}

/* v270 Hotspot editor usability */
#sghotspot-editor{container-type:inline-size;container-name:sghotspot;}
#sghotspot-editor .sg-hot-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;align-items:end}
#sghotspot-editor .sg-hot-border{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;margin:10px 0}
#sghotspot-editor .sg-hot-border legend{padding:0 6px;color:#9fc5ff;font-size:11px;font-weight:700}
@container sghotspot (max-width:520px){#sghotspot-editor .sg-hot-grid{grid-template-columns:1fr!important}#sghotspot-editor .sgpi-row{flex-wrap:wrap}}
@container sghotspot (min-width:760px){#sghotspot-editor .sg-hot-grid{grid-template-columns:repeat(3,minmax(120px,1fr))!important}}
@container sghotspot (min-width:1040px){#sghotspot-editor .sg-hot-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important}}

/* Hotspot v1.0.3 - Normal / Screen mode */
#sghotspot-editor .sg-hot-modebar{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:4px 0 8px}
#sghotspot-editor .sg-hot-modebar button{min-height:34px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-weight:700;cursor:pointer}
#sghotspot-editor .sg-hot-modebar button.active{background:#2d7dff;border-color:#6aa2ff;box-shadow:0 0 0 2px rgba(45,125,255,.18)}
#sghotspot-editor .sg-hot-modebar button.assist{padding:0 12px;background:rgba(255,166,0,.16);border-color:rgba(255,166,0,.4);color:#ffd28a}
#sghotspot-editor .sg-hot-mode-note{font-size:11px;line-height:1.45;color:rgba(255,255,255,.65);padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.045);margin-bottom:8px}
@container sghotspot (max-width:520px){#sghotspot-editor .sg-hot-modebar{grid-template-columns:1fr 1fr}#sghotspot-editor .sg-hot-modebar .assist{grid-column:1/-1}}

/* v274 Path point drag UX */
#sgpi-wrap .sgpi-dot{
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
#sgpi-wrap .sgpi-dot::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:52px;
  height:52px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:transparent;
  pointer-events:auto;
}
#sgpi-wrap.sgpi-editing .sgpi-dot:hover,
#sgpi-wrap .sgpi-dot.dragging{
  box-shadow:0 0 0 6px rgba(45,125,255,.25),0 1px 8px rgba(0,0,0,.55)!important;
  transform:translate(-50%,-50%) scale(1.15);
  z-index:12;
}
#sgpi-wrap .sgpi-dot::after{
  content:attr(data-tip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translateX(-50%);
  padding:3px 7px;
  border-radius:6px;
  background:rgba(8,12,18,.88);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .1s ease;
  z-index:30;
}
#sgpi-wrap.sgpi-editing .sgpi-dot:hover::after{
  opacity:1;
  visibility:visible;
}
#sgpi-wrap .sgpi-dot.dragging::after{
  opacity:0!important;
  visibility:hidden!important;
}
#sgpi-wrap .sgpi-dot.current::after{
  content:attr(data-tip)!important;
  width:auto!important;
  height:auto!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}

/* v279 GoPoly fixes: panorama drag in editor + hide center crosshair */
body.sgpoly-editor-active #sgpi-crosshair{display:none!important;}
body.sgpoly-editor-active{cursor:grab;}
body.sgpoly-editor-active:active{cursor:grabbing;}


/* popup location minimap: current scene only */
#sgpi-wrap.sgpi-popup-only-current{
  background:transparent!important;
  box-shadow:none!important;
  border-color:rgba(255,255,255,.35)!important;
  z-index:2147482500!important;
}
#sgpi-wrap.sgpi-popup-only-current #sgpi-head,
#sgpi-wrap.sgpi-popup-only-current #sgpi-close,
#sgpi-wrap.sgpi-popup-only-current #sgpi-stepbar,
#sgpi-wrap.sgpi-popup-only-current .sgpi-rh,
#sgpi-wrap.sgpi-popup-only-current .sgpi-empty{display:none!important}
#sgpi-wrap.sgpi-popup-only-current .sgpi-map{inset:0!important;border:0!important;background:transparent!important}
#sgpi-wrap.sgpi-popup-only-current .sgpi-stage,
#sgpi-wrap.sgpi-popup-only-current .sgpi-map{background:transparent!important}
#sgpi-wrap.sgpi-popup-only-current .sgpi-dot:not(.current),
#sgpi-wrap.sgpi-popup-only-current .sgpi-label,
#sgpi-wrap.sgpi-popup-only-current .sgpi-line{display:none!important}
#sgpi-wrap.sgpi-popup-only-current .sgpi-dot.current{display:block!important}


/* popup current-scene minimap v3 */
#sgpi-popup-wrap{
  position:fixed!important;
  z-index:2147483600!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:transparent!important;
  pointer-events:none!important;
  box-shadow:0 8px 26px rgba(0,0,0,.38)!important;
}
#sgpi-popup-wrap .sgpi-popup-map,
#sgpi-popup-wrap .sgpi-stage{
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
  background:transparent!important; overflow:hidden!important; pointer-events:none!important;
}
#sgpi-popup-wrap .sgpi-stage>img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;opacity:1!important;}
#sgpi-popup-wrap .sgpi-svg{display:none!important;}
#sgpi-popup-wrap .sgpi-dot{display:none!important;}
#sgpi-popup-wrap .sgpi-dot.current{
  display:block!important;
  position:absolute!important;
  width:calc(var(--sgpi-point-size) + 4px)!important;
  height:calc(var(--sgpi-point-size) + 4px)!important;
  margin-left:calc((var(--sgpi-point-size) + 4px) / -2)!important;
  margin-top:calc((var(--sgpi-point-size) + 4px) / -2)!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:var(--sgpi-active-color)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.65)!important;
  pointer-events:none!important;
  overflow:visible!important;
  z-index:5!important;
}
#sgpi-popup-wrap .sgpi-dot.current:after{
  display:block!important; content:''!important; position:absolute!important;
  left:50%!important; top:50%!important;
  width:var(--sgpi-radar-length)!important; height:var(--sgpi-radar-length)!important;
  transform:translate(-50%,-50%) rotate(var(--sgpi-popup-heading))!important;
  transform-origin:50% 50%!important;
  background:conic-gradient(from calc(360deg - (var(--sgpi-radar-angle) / 2)), color-mix(in srgb, var(--sgpi-radar-color) calc(var(--sgpi-radar-opacity) * 100%), transparent) 0deg var(--sgpi-radar-angle), transparent var(--sgpi-radar-angle) 360deg)!important;
  clip-path:polygon(50% 50%,15% 0,85% 0)!important;
  border-radius:50%!important; pointer-events:none!important; z-index:-1!important;
}


/* popup minimap v4 - attach inside actual krpano popup */
#sgpi-popup-wrap{
  left:16px!important;
  bottom:16px!important;
  right:auto!important;
  top:auto!important;
  max-width:calc(100% - 32px)!important;
  max-height:calc(100% - 32px)!important;
}


/* popup minimap v5 - body overlay positioned from real popup bounds */
#sgpi-popup-wrap{
  position:fixed!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:2147483646!important;
  left:auto;
  top:auto;
  right:auto!important;
  bottom:auto!important;
  max-width:none!important;
  max-height:none!important;
}

/* popup current-only minimap v6: guaranteed body overlay inside 90% popup bounds */
#sgpi-popup-wrap{
  position:fixed!important;
  left:calc(5vw + 16px)!important;
  bottom:calc(5vh + 16px)!important;
  top:auto!important;
  right:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:hidden!important;
  background:transparent!important;
  pointer-events:none!important;
  z-index:2147483646!important;
  border-radius:14px!important;
  box-shadow:0 8px 26px rgba(0,0,0,.38)!important;
}
#sgpi-popup-wrap .sgpi-map,
#sgpi-popup-wrap .sgpi-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:transparent!important;overflow:hidden!important;}
#sgpi-popup-wrap .sgpi-stage>img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;}
#sgpi-popup-wrap .sgpi-dot{display:none!important;}
#sgpi-popup-wrap .sgpi-dot.current{display:block!important;}

/* v9: viewer minimap drag handle */
#sgpi-drag-handle{position:absolute;left:8px;top:8px;width:32px;height:32px;z-index:30;border:0;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:18px;line-height:32px;text-align:center;cursor:move;touch-action:none;user-select:none;box-shadow:0 2px 8px rgba(0,0,0,.35)}
#sgpi-drag-handle:hover{background:rgba(0,0,0,.82)}
#sgpi-drag-handle:active{cursor:grabbing}
#sgpi-wrap.sgpi-popup-only-current #sgpi-drag-handle,#sgpi-popup-wrap #sgpi-drag-handle{display:none!important}

/* v11: minimap move button matches close button */
#sgpi-drag-handle{
  left:auto!important;
  right:40px!important;
  top:7px!important;
  width:27px!important;
  height:27px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.56)!important;
  color:#fff!important;
  font:700 16px/27px Arial,sans-serif!important;
  padding:0!important;
  text-align:center!important;
  box-shadow:none!important;
}
#sgpi-drag-handle:hover{background:rgba(0,0,0,.78)!important}
