/* 講解標註（tecc-explain.js）：顏色由 JS 設定 CSS 變數（--xp 等），預設紅色，後台「設定」可改 */
#xpCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;}
body.xp-on #toolDock, body.xp-on #subDock{display:none !important;}
#xpDock{position:absolute;left:12px;bottom:150px;z-index:22;display:none;flex-direction:column;align-items:flex-start;gap:6px;}
body.xp-on #xpDock{display:flex;}
#xpCap{font-size:12px;padding:5px 11px;border-radius:8px;background:var(--panel2);border:1px solid var(--xp-line);
  color:var(--sub);backdrop-filter:blur(6px);white-space:nowrap;}
#xpCap b{color:var(--xp-tint);margin-right:6px;}
#xpCap .h{margin-left:10px;padding-left:10px;border-left:1px solid var(--line);color:var(--txt);}
#xpTools{display:flex;gap:6px;align-items:stretch;}
#xpTools .tool{font:inherit;font-size:10.5px;}
#xpTools .tool.on{background:var(--xp);border-color:var(--xp);color:var(--xp-ink);font-weight:700;}
#xpTools .tool:disabled{opacity:.35;cursor:not-allowed;background:var(--panel);color:#c9d7ec;}
#xpTools .sepv{width:1px;background:var(--line);margin:6px 2px;}
#mtExplain{height:auto;padding:6px 0 5px;flex-direction:column;gap:2px;}
#mtExplain span{font-size:11px;font-weight:700;letter-spacing:1px;line-height:1;}
#mtExplain.on{background:var(--xp);border-color:var(--xp);color:var(--xp-ink);}
#mtExplain.dis{opacity:.45;}
body.venue-mode #mtExplain, body.venue-mode #xpDock{display:none !important;}
/* 文字標籤輸入框、選取後的操作列：以 position:fixed 跟著地圖上的位置（JS 每幀更新） */
#xpInput{position:fixed;z-index:41;display:none;transform:translate(-50%,-100%);width:300px;
  background:rgba(10,16,28,.96);border:1.5px solid var(--xp);border-radius:7px;color:#fff;
  font:600 14px "PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif;padding:6px 10px;outline:none;
  box-shadow:0 4px 16px rgba(0,0,0,.45);}
#xpInput::placeholder{color:#7d8ba3;font-weight:400;}
#xpSel{position:fixed;z-index:41;display:none;gap:4px;transform:translate(-50%,-100%);padding:4px;
  background:var(--panel2);border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 16px rgba(0,0,0,.45);}
#xpSel.below{transform:translate(-50%,0);}
#xpSel button{font:inherit;font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);
  background:#16233b;color:var(--txt);cursor:pointer;white-space:nowrap;}
#xpSel button:hover{background:#1d2f4f;}
#xpSel button.del{color:#ff8a8c;border-color:rgba(255,77,79,.45);}
body.venue-mode #xpInput, body.venue-mode #xpSel{display:none !important;}
