/* DCA 패널 · V.Q.S 칸 */
.menu-panel-root[data-width="1200"].is-fixed-viewport .menu-panel-card {
  width: min(1520px, calc(100vw - 36px)) !important;
  height: calc(100dvh - 200px) !important;
  max-height: none !important;
  padding: 14px 18px 12px !important;
}
.menu-panel-root[data-width="1200"] .menu-panel-wealth {
  filter: saturate(1.08) brightness(0.88) !important;
  opacity: 1 !important;
  object-fit: cover !important;
  object-position: 50% 42% !important;
}
.menu-panel-root[data-width="1200"] .menu-panel-wealth-veil {
  background:
    linear-gradient(180deg, rgba(5, 7, 13, 0.22) 0%, rgba(5, 7, 13, 0.38) 52%, rgba(5, 7, 13, 0.58) 100%),
    linear-gradient(90deg, rgba(5, 7, 13, 0.28) 0%, rgba(5, 7, 13, 0.1) 55%, rgba(5, 7, 13, 0.22) 100%) !important;
}
.menu-panel-root[data-width="1200"]:not(.is-dormant) .menu-panel-scrim {
  background: rgba(5, 7, 13, 0.38) !important;
  backdrop-filter: blur(4px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(4px) saturate(1.05) !important;
}
.hero-root {
  contain: style !important;
}
.hero-dock,
.mal-dock-proxy {
  z-index: 200 !important;
  pointer-events: auto !important;
}
.hero-dock-item,
.mal-dock-proxy .hero-dock-item {
  pointer-events: auto !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
body.mal-dca-open .hero-root > .hero-dock,
body.mal-plan-open .hero-root > .hero-dock {
  visibility: hidden !important;
  pointer-events: none !important;
}
.mal-dock-proxy {
  position: fixed;
  left: 50%;
  bottom: max(10px, calc(env(safe-area-inset-bottom, 0px) + 10px));
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 4.5vw, 90px);
  width: min(96vw, 960px);
  max-width: calc(100vw - 24px);
  padding: 4px 8px calc(4px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.mal-dock-proxy .hero-dock-item.is-active,
body.mal-dca-open .mal-dock-proxy .hero-dock-item[data-dock="DCA"],
body.mal-plan-open .mal-dock-proxy .hero-dock-item[data-dock="PLAN"] {
  color: #d4af37;
  font-weight: 600;
}
.mal-dock-proxy .hero-dock-item.is-active::after,
body.mal-dca-open .mal-dock-proxy .hero-dock-item[data-dock="DCA"]::after,
body.mal-plan-open .mal-dock-proxy .hero-dock-item[data-dock="PLAN"]::after {
  transform: translateX(-50%) scaleX(1);
}
.menu-panel-root[data-width="1200"].is-fixed-viewport .menu-panel-card {
  height: calc(100dvh - 200px) !important;
}
body.mal-plan-open .plan {
  padding-bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 80px)) !important;
}
.talon-plan-weights > button,
.talon-auto,
.talon-auto button,
.talon-trade button,
.talon-trade input {
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
}
.hero-dca-wall {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-dca-wall-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  display: block;
  filter: saturate(1.06) brightness(0.7);
}
.hero-root:has(.hero-portal-orb) .hero-dca-wall,
.hero-root:has(.hero-menu-card) .hero-dca-wall {
  display: none !important;
}
body.mal-dca-open .hero-shot {
  opacity: 0 !important;
}
body.mal-dca-open .hero-dash-wall,
body.mal-dca-open .hero-invest-wall {
  display: none !important;
}

.talon-main {
  grid-template-columns: 1.4fr 0.9fr !important;
  gap: 16px !important;
}
.talon-plan {
  padding: 14px !important;
}
.talon-plan-weights {
  gap: 12px !important;
}
.talon-plan-weights > button {
  border-radius: 16px !important;
  min-height: 280px !important;
}
.talon-plan-media {
  min-height: 220px !important;
  flex: 1 1 auto !important;
}
.talon-plan-media .talon-plan-bg {
  filter: none !important;
  transform: none !important;
  object-fit: cover !important;
  object-position: center !important;
  image-rendering: auto;
}
.talon-plan-media > i {
  background: linear-gradient(
    180deg,
    rgba(5, 7, 13, 0.04) 0%,
    rgba(5, 7, 13, 0.14) 48%,
    rgba(5, 7, 13, 0.82) 100%
  ) !important;
}
.talon-plan-body {
  padding: 10px 12px 12px !important;
}
.talon-plan-sym {
  font-size: 18px !important;
}
.talon-plan-role {
  font-size: 12px !important;
}
.talon-plan-pct {
  font-size: 12px !important;
}

@media (max-width: 720px) {
  .menu-panel-root[data-width="1200"].is-fixed-viewport .menu-panel-card {
    width: 100vw !important;
    height: 100dvh !important;
  }
  .talon-main {
    grid-template-columns: 1fr !important;
  }
  .talon-plan-weights > button {
    min-height: 180px !important;
  }
  .talon-plan-media {
    min-height: 140px !important;
  }
}
