/* 7Eyes EARTH — 화면 정리 (2026-10-19 사용자 요청) · b6-dark.css 다음에 읽는다
 *  · 모든 창의 작은 세부 설명 글씨 숨김 (패널 머리 설명 · .note · .why · 줄 설명 · 카드 .hint)
 *  · 왼쪽 레일: 내용 길이만큼만, 맨 아래에 출처(브이월드·Esri·SISTECH 3D) 작게 · 화질 버튼(누르면 자동→저→중→고)
 *  · 왼쪽 위 브랜드: 바탕 없음, "7Eyes EARTH"는 흰 글씨 + SISTECH 진청색 외곽선
 *  · 나침반: 오른쪽 아래 지도 버튼과 같은 모양으로 오른쪽 가운데, 빨간 북쪽 바늘이 잘 보이게
 *  · 날씨 위젯의 지명(동 이름) 굵고 밝게
 */

/* ---------- 작은 설명 글씨 숨김 ---------- */
#panel .ph .s,
#panel .note,
#panel .why,
#panel .row .m,
#panel .sec > span:not([id]):not(:has(.num)),
#panel .tc .chips,
#panel .fav .tx > span:not(.b3d),
.legacy-card .hint:not(#rfPanel .hint):not(#rnPanel .hint),
#mxPanel .hint, #rbPanel .hint, #xsPanel .hint, #spPanel .sp-hint, #smPanel .hint, #facPanel .tip, #gtPanel .hint, #navPanel .hint { display: none !important; }
#panel .tc { min-height: 52px; }
#panel .tc .tx b { margin: 0; }

/* ---------- 왼쪽 레일: 내용 길이만큼 + 출처 작게 ---------- */
.rail { bottom: auto !important; max-height: calc(100vh - 6px - var(--brand-h) - 12px); padding-bottom: 8px; }
.rail .grow { display: none; }
.rail .quality {
  width: 56px; border: 0; background: transparent; color: var(--text-sub); cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 0 4px; margin-top: 4px;
  border-top: 1px solid var(--line); border-radius: 0; font-size: 10px; line-height: 1.25;
}
.rail .quality b { color: var(--text-lime); }
.rail .quality:hover { color: var(--text); }
.rail .quality:hover b { text-decoration: underline; }
/* ---------- 아래 줄 정리 (10-19 밤 2차) ----------
 *  · 출처: 오른쪽 아래 한 줄, 바탕 없음, 흰 글씨
 *  · 상태줄: 바탕·좌표 없이 작은 로딩 선만 (왼쪽 아래)
 *  · 고도: 오른쪽 위 날씨 앞 칩
 *  · 바닥 독(건물 정보·CCTV 등): 패널이 열려도 화면 전체 가운데 아래 */
.credit-line {
  position: fixed; z-index: 9; right: calc(var(--edge) + 4px); bottom: 6px; pointer-events: none;
  font-size: 11px; color: #FFFFFF; white-space: nowrap; letter-spacing: -.1px;
  text-shadow: 0 0 3px rgb(0 0 0 / .9), 0 1px 2px rgb(0 0 0 / .8);
}
.status { background: none !important; box-shadow: none !important; border: 0 !important; height: 10px; padding: 0; right: auto; bottom: 10px; width: auto; }
.status #coord, .status .credit { display: none !important; }
.status .load { width: 64px; height: 3px; border-radius: 2px; background: rgb(255 255 255 / .25); }
.alt-chip {
  display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px; border-radius: 22px;
  background: var(--surface); box-shadow: var(--shadow-bar); font-size: var(--fs-s); color: var(--text-sub); white-space: nowrap;
}
.alt-chip b { color: #FFFFFF; font-family: var(--font-num); font-size: 15px; font-weight: 700; }
.dock, body.panel-open .dock { left: 50% !important; transform: translateX(-50%); }
.dockpop, body.panel-open .dockpop, body.panel-open .mbar, body.panel-open #cadLegend.legacy-card { left: 50% !important; }
.dock { bottom: calc(var(--edge) + 14px) !important; }
.dockpop, .mbar { bottom: calc(var(--edge) + 14px + 82px) !important; }   /* 독이 내려간 만큼 위 팝업도 */

/* ---------- 왼쪽 위 브랜드: 바탕 없음 · 흰 글씨 + 진청색 외곽선 ---------- */
.mbrand { background: none !important; box-shadow: none !important; padding-left: 0; gap: 8px; }
.mbrand img { box-shadow: 0 1px 4px rgb(0 0 0 / .45); }
.mbrand span {
  color: #FFFFFF; font-family: var(--font-num); font-weight: 800; font-size: 19px; letter-spacing: .2px;
  -webkit-text-stroke: 4px #004282; paint-order: stroke fill;
  text-shadow: 0 1px 3px rgb(0 0 0 / .45);
}

/* ---------- 나침반: 지도 버튼과 같은 모양 · 오른쪽 가운데 ---------- */
.compass {
  top: 50% !important; transform: translateY(-50%); right: var(--edge);
  width: var(--btn) !important; height: var(--btn) !important; border: 0 !important;
  border-radius: var(--radius-btn) !important; background: var(--surface) !important; box-shadow: var(--shadow-btn) !important;
  display: grid; place-items: center; padding: 0;
}
.compass:hover { background: var(--gray-2) !important; }
.compass .ico { width: 38px !important; height: 38px !important; filter: drop-shadow(0 1px 1px rgb(0 0 0 / .5)); }
.compass .ico .n { fill: #FF3B30 !important; stroke: #FFFFFF; stroke-width: .9; stroke-linejoin: round; }
.compass .ico .s { fill: #C9D3E0 !important; opacity: .9; stroke: none; }
.compass .ico .dot { fill: #FFFFFF !important; stroke: var(--surface-solid); stroke-width: .8; }
.compass .ico .ring { display: none; }

/* ---------- 날씨 위젯 지명 ---------- */
.weather #wxLoc { color: #FFFFFF; font-weight: 700; font-size: 15px; letter-spacing: -.2px; }
.weather .wx-sub { color: #C7D4E8; }

/* ---------- 레이어 › SISTECH 3D 지역 줄: 상태점 · 이름 · 이동 · 켜기 ---------- */
.rg-row { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 4px 12px; border-bottom: 1px solid var(--line); }
.rg-row:last-child { border-bottom: 0; }
.rg-row .rg-n { flex: 1; min-width: 0; font-weight: 600; }
.rg-row .rg-go { min-height: 30px; padding: 0 12px; border: 1px solid var(--outline); border-radius: 8px; background: transparent; color: var(--text); font-size: var(--fs-xs); font-weight: 600; }
.rg-row .rg-go:hover { border-color: var(--c-lime); color: var(--text-lime); }
.rg-row .rg-go[disabled] { opacity: .6; cursor: progress; }
.rg-row .rg-dot { flex: none; margin: 0; }

@media (max-width: 760px) {
  .compass { top: auto !important; bottom: 200px; transform: none; }
  .rail .quality, .alt-chip { display: none; }
  .credit-line { font-size: 9px; bottom: 68px; }
}

/* ---------- 10-19 밤 3차: 레일 바닥까지 · 독 바닥에 붙임 · 지도 버튼 4개 한 묶음(오른쪽 가운데) ---------- */
.rail { bottom: var(--rail-left) !important; max-height: none; }
.dock { bottom: var(--rail-left) !important; }
.dockpop, .mbar { bottom: calc(var(--rail-left) + 82px) !important; }
.credit-line { bottom: 4px; right: calc(var(--edge) + 4px); }
.mapctl {
  top: 50% !important; bottom: auto !important; right: var(--rail-left) !important; transform: translateY(-50%);
  gap: 0 !important; padding: 4px; border-radius: 26px; background: var(--surface); box-shadow: var(--shadow-btn);
}
.mapctl button, .mapctl .compass {
  position: static !important; transform: none !important; top: auto !important; right: auto !important;
  width: 44px !important; height: 44px !important; border-radius: 22px !important; border: 0 !important;
  background: transparent !important; box-shadow: none !important; color: var(--text) !important; display: grid; place-items: center;
}
.mapctl button + button { margin-top: 2px; }
.mapctl .compass { margin-bottom: 4px; }
.mapctl button:hover, .mapctl .compass:hover { background: var(--gray-2) !important; }
.mapctl button .ico { width: 22px; height: 22px; stroke-width: 2; }
.mapctl .compass .ico { width: 30px !important; height: 30px !important; }
.mapctl .compass { border-bottom: 1px solid var(--line) !important; border-radius: 22px 22px 8px 8px !important; }   /* 나침반과 아래 3개 사이 가는 선 */
@media (max-width: 760px) {
  .mapctl { top: auto !important; bottom: 150px !important; transform: none; }
  .rail { bottom: 0 !important; }
}

/* 승기천 시뮬레이션 카드(#rfPanel)는 지형 자료·모델 설명까지 모두 보이게 (10-19 사용자 요청) */
#rfPanel .hint { display: block !important; }
/* 주제 패널 폭 조금 좁게 */
#panel[aria-label="주제"] { width: 296px; }

/* 자동 회전 (js/orbit.js): 위 가운데 상태 칩 · 탐색 패널 W/S 버튼 */
.orbit-chip {
  position: fixed; z-index: 13; top: calc(var(--edge) + 4px); left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 14px; border-radius: 18px;
  background: var(--surface); box-shadow: var(--shadow-bar); font-size: var(--fs-xs); color: var(--text-sub); white-space: nowrap; pointer-events: none;
}
.orbit-chip[hidden] { display: none; }
.orbit-chip b { color: #FFFFFF; font-size: var(--fs-s); }
#panel .orb-row { gap: 8px; justify-content: space-between; }
#panel .orb-b { min-width: 72px; min-height: 34px; border: 1px solid var(--outline); border-radius: 8px; background: transparent; color: var(--text); font-weight: 700; cursor: pointer; }
#panel .orb-b:hover { border-color: var(--c-lime); color: var(--text-lime); }
#panel .orb-lv { flex: 1; text-align: center; font-weight: 700; font-family: var(--font-num); }
#panel .orb-help span { font-size: var(--fs-xs); color: var(--text-sub); }
@media (max-width: 760px) { .orbit-chip span { display: none; } }
