/* floor-slice-hud-drawer.css — 楼层切片HUD浮标 + 右侧企业穿透抽屉(v393 暗黑磨砂质感) */

#floorHudLayer{position:fixed;inset:0;z-index:24;pointer-events:none;}
/* [v321] 楼层徽标列改成"锚定单点 + 内部可滚动列表",不再逐层单独定位/抽样丢层 */
.floor-hud-stack-wrap{position:absolute;left:0;top:0;pointer-events:none;transform:translate(-9999px,-9999px);will-change:transform;}
.floor-hud-stack-wrap .fhb-wire{position:absolute;left:0;top:0;width:1px;height:14px;background:linear-gradient(180deg,rgba(6,182,212,0.9),rgba(6,182,212,0));transform:translate(-0.5px,-14px);}
.floor-hud-stack{position:absolute;left:6px;bottom:14px;display:flex;flex-direction:column-reverse;gap:4px;overflow-y:auto;padding:2px;pointer-events:auto;scrollbar-width:thin;}
.fhb-card{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:7px;background:rgba(13,17,26,0.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(6,182,212,0.55);box-shadow:0 4px 12px rgba(0,0,0,0.5);cursor:pointer;white-space:nowrap;font-family:'IBM Plex Mono',monospace;transition:all 0.15s ease;}
.fhb-card-in-stack{flex:0 0 auto;}
.fhb-floor{font-size:10.5px;font-weight:700;color:#8fe3f5;}
.fhb-occ{font-size:9.5px;color:rgba(246,241,228,0.75);}
.fhb-card.hud-occ-high{border-color:rgba(95,190,138,0.7);}
.fhb-card.hud-occ-high .fhb-occ{color:#7ED9A6;}
.fhb-card.hud-occ-mid{border-color:rgba(232,163,61,0.7);}
.fhb-card.hud-occ-mid .fhb-occ{color:#E8A33D;}
.fhb-card.hud-occ-low{border-color:rgba(214,69,69,0.7);}
.fhb-card.hud-occ-low .fhb-occ{color:#E8746A;}
.fhb-card.hud-occ-unknown{border-color:rgba(180,180,190,0.45);}
.fhb-card.hud-occ-unknown .fhb-occ{color:rgba(246,241,228,0.45);}
.fhb-card:active{transform:scale(0.96);}
/* [v329] 熟人网络/记录楼层高亮场景的HUD徽标——金色描边和"入驻率企业切片"的
   青蓝描边区分开,呼应文档里"金色高亮3D切片"的视觉设计 */
.fhb-card.fhb-acq{border-color:rgba(251,191,36,0.75);}
.fhb-card.fhb-acq .fhb-floor{color:#fbbf24;}
.floor-hud-close-btn{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-9999px,-9999px);will-change:transform;}
.floor-hud-close-btn span{position:absolute;left:6px;top:-14px;display:inline-block;padding:4px 10px;border-radius:8px;background:rgba(120,20,20,0.85);border:1px solid rgba(255,120,120,0.6);box-shadow:0 2px 8px rgba(0,0,0,0.45);cursor:pointer;white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;color:#ffdada;}
.floor-hud-close-btn span:active{transform:scale(0.96);}

.floor-drawer{position:fixed;inset:0;z-index:65;display:none;}
.floor-drawer.show{display:block;}
.fd-backdrop{position:fixed;inset:0;background:rgba(8,12,20,0.4);opacity:0;transition:opacity .2s ease;}
.floor-drawer.show .fd-backdrop{opacity:1;}
.fd-panel{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);background:linear-gradient(175deg,rgba(13,17,26,0.94) 0%,rgba(8,11,18,0.97) 100%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid rgba(255,255,255,0.14);box-shadow:-14px 0 38px rgba(0,0,0,0.65);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.9,.3,1);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);overflow-y:auto;font-family:'IBM Plex Mono',monospace;color:#F6F1E4;}
.floor-drawer.show .fd-panel{transform:translateX(0);}
.fd-head{display:flex;align-items:flex-start;gap:10px;}
.fd-head-main{flex:1;min-width:0;}
.fd-building{font-family:'Fraunces',serif;font-weight:700;font-size:16px;color:#F6F1E4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fd-floor{font-size:11px;color:rgba(246,241,228,0.6);margin-top:3px;}
.fd-ring-wrap{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;}
.fd-ring{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(#06b6d4 0%,rgba(255,255,255,0.12) 0%);}
.fd-ring::before{content:'';position:absolute;}
.fd-ring-val{width:36px;height:36px;border-radius:50%;background:#0F1626;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#8fe3f5;}
.fd-ring-label{font-size:8.5px;color:rgba(246,241,228,0.5);}
.fd-close{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);color:#F6F1E4;font-size:12px;cursor:pointer;}
.fd-rent{margin-top:10px;font-size:10.5px;color:#E8A33D;background:rgba(232,163,61,0.1);border:1px solid rgba(232,163,61,0.3);border-radius:8px;padding:6px 9px;}
.fd-tabs{display:flex;gap:6px;margin-top:12px;overflow-x:auto;padding-bottom:2px;}
.fd-tab{flex:0 0 auto;font-family:'IBM Plex Mono',monospace;font-size:10.5px;padding:6px 10px;border-radius:20px;border:1px solid rgba(255,255,255,0.15);background:none;color:rgba(246,241,228,0.6);cursor:pointer;white-space:nowrap;}
.fd-tab.active{background:#06b6d4;border-color:#06b6d4;color:#06202a;font-weight:700;}
.fd-body{margin-top:12px;flex:1;display:flex;flex-direction:column;gap:10px;}
.fd-empty{font-size:11.5px;color:rgba(246,241,228,0.5);text-align:center;padding:26px 10px;line-height:1.7;}
.fd-error{color:#E8746A;}
.fd-retry-btn{margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#0F1626;background:#E8A33D;border:none;border-radius:8px;padding:6px 14px;cursor:pointer;font-weight:700;}
.fd-skeleton{padding:6px 2px;}
.fd-sk-row{height:52px;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,0.05) 25%,rgba(255,255,255,0.1) 37%,rgba(255,255,255,0.05) 63%);background-size:400% 100%;animation:fdSkShimmer 1.4s ease-in-out infinite;margin-bottom:8px;}
@keyframes fdSkShimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
.fd-sk-text{text-align:center;font-size:10.5px;color:rgba(246,241,228,0.5);margin-top:4px;}
.fd-company-card{background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.1);border-radius:11px;padding:11px 12px;}
.fd-cc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.fd-cc-name{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:#F6F1E4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fd-cc-src{flex:0 0 auto;font-size:9px;padding:2px 7px;border-radius:6px;font-weight:700;letter-spacing:0.02em;}
.fd-src-official{background:rgba(95,190,138,0.18);color:#7ED9A6;}
.fd-src-candidate{background:rgba(232,163,61,0.18);color:#E8A33D;}
.fd-cc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:10px;color:rgba(246,241,228,0.6);}
.fd-cc-warn{margin-top:6px;font-size:10px;color:#E8A33D;}
.fd-candidate-banner{margin:0 0 8px;padding:7px 10px;font-size:10.5px;line-height:1.5;color:#E8A33D;background:rgba(232,163,61,0.1);border:1px solid rgba(232,163,61,0.35);border-radius:6px;}
.fd-cc-actions{display:flex;gap:8px;margin-top:9px;}
.fd-cc-expand{flex:1;font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(246,241,228,0.75);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:7px;padding:5px 0;cursor:pointer;}
.fd-cc-detail{margin-top:7px;font-size:10.5px;color:rgba(246,241,228,0.7);line-height:1.6;background:rgba(255,255,255,0.03);border-radius:7px;padding:8px 9px;}
.fd-cc-foot{margin-top:7px;font-size:9px;color:rgba(246,241,228,0.4);}
.fd-gov-note{margin-top:auto;padding-top:12px;font-size:9px;color:rgba(246,241,228,0.4);line-height:1.6;border-top:1px dashed rgba(255,255,255,0.1);}
/* [v329新增] 熟人网络/记录楼层高亮 —— 人脉卡片,金色主题呼应HUD徽标 */
.fd-acq-card{background:rgba(251,191,36,0.08);border:1px solid rgba(251,191,36,0.35);border-radius:11px;padding:11px 12px;}
.fd-acq-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.fd-acq-name{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;color:#F6F1E4;}
.fd-acq-role{flex:0 0 auto;font-size:9.5px;padding:2px 8px;border-radius:6px;font-weight:700;background:rgba(251,191,36,0.2);color:#fbbf24;}
.fd-acq-addr{margin-top:6px;font-size:11px;color:rgba(246,241,228,0.75);}
.fd-acq-foot{margin-top:7px;font-size:9px;color:rgba(246,241,228,0.45);}


/* v333 熟人网络 3D 楼层切片与私有抽屉扩展样式 */
.fd-acq-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(251,191,36,0.18);
  color: #fbbf24;
  border: 1px solid rgba(251,191,36,0.4);
  letter-spacing: 0.5px;
}
.fd-acq-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 6px;
  font-size: 11px;
  color: rgba(246,241,228,0.85);
  line-height: 1.4;
}
.fd-acq-row-label {
  flex: 0 0 auto;
  color: rgba(251,191,36,0.8);
  font-weight: 600;
}
.fd-acq-tel {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #00e5ff;
  text-decoration: none;
  background: rgba(0,229,255,0.1);
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid rgba(0,229,255,0.3);
  font-weight: 600;
  transition: background 0.2s;
}
.fd-acq-tel:hover {
  background: rgba(0,229,255,0.25);
  text-decoration: underline;
}
.acq-mb-marker-card {
  background: rgba(10,25,47,0.92);
  color: #fff;
  font-size: 11.5px;
  padding: 3px 8px;
  border-radius: 8px;
  white-space: nowrap;
  border: 1px solid #00e5ff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.acq-mb-marker-card:hover {
  transform: scale(1.06) translateY(-2px);
  border-color: #fbbf24;
}
.acq-mb-floor-badge {
  background: #fbbf24;
  color: #0b192c;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  letter-spacing: 0.2px;
}

/* ==========================================================================
   LoboAiMap v391: 楼层切片 HUD 选中高亮与平滑居中光晕
   ========================================================================== */
.fhb-card.active,
.fhb-card.fhb-selected {
  border-color: #fbbf24 !important;
  background: rgba(40, 32, 10, 0.95) !important;
  box-shadow: 0 0 14px rgba(251, 191, 36, 0.8), 0 2px 8px rgba(0, 0, 0, 0.6) !important;
  transform: scale(1.06);
  z-index: 10;
}
.fhb-card.active .fhb-floor,
.fhb-card.fhb-selected .fhb-floor {
  color: #fef08a !important;
  font-weight: 800;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.6);
}
.fhb-card.active .fhb-company,
.fhb-card.fhb-selected .fhb-company {
  color: #fff !important;
  font-weight: 600;
}
