/* 인천공항 탑승구 약도 (features/ticket-brief/ticket-gate.js). 카드 표면은 .tb-card를 빌린다.
   ⛔ 확정/예상은 색만이 아니라 글자(칩·핀 안 번호/물음표)로도 가른다. ⚠ 자식에 background를 박지 않는다(v12 사고). */
.tg-card h3 { flex-wrap: wrap; }

.tg-chip {
  margin-left: auto;
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  padding: 1px 8px;
  border: 1px solid currentColor;
}

.tg-chip.is-sure { color: #0f766e; }
.tg-chip.is-guess { color: #6d28d9; }

.tg-where { font-size: 13px; }

.tg-svg {
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  border-radius: 10px;
}

.tg-apron { fill: var(--bg-soft, #f1f5f9); }
.tg-dir { fill: var(--muted, #94a3b8); font-size: 9.5px; }
.tg-bld { fill: none; stroke: var(--border, #cbd5e1); stroke-width: 10; stroke-linecap: round; }
.tg-bld.is-on { stroke: #94a3b8; }
.tg-num { fill: var(--muted, #64748b); font-size: 9px; }
.tg-lab { fill: var(--muted, #64748b); font-size: 10.5px; font-weight: 600; }
.tg-lab.is-on { fill: var(--ink, #0f172a); }
.tg-shuttle { stroke: var(--muted, #94a3b8); stroke-width: 1.5; stroke-dasharray: 3 3; }
.tg-span { stroke: #6d28d9; stroke-width: 12; stroke-linecap: round; opacity: .35; }
.tg-pin { stroke: #fff; stroke-width: 2; }
.tg-pin.is-sure { fill: #0f766e; }
.tg-pin.is-guess { fill: #6d28d9; }
.tg-pin-t { fill: #fff; font-size: 8.5px; font-weight: 700; }

.ld-search .tb-wrap .tg-apron { fill: rgba(30, 49, 75, .72); }
.ld-search .tb-wrap .tg-bld { stroke: rgba(148, 163, 184, .35); }
.ld-search .tb-wrap .tg-bld.is-on { stroke: #9fb0c6; }
.ld-search .tb-wrap .tg-lab.is-on { fill: #f1f5f9; }
.ld-search .tb-wrap .tg-chip.is-sure { color: #5eead4; }
.ld-search .tb-wrap .tg-chip.is-guess { color: #c4b5fd; }
