.map-wrap.iw-enabled {
  --iw-r-sm: 12px;
  --iw-r-md: 16px;
  --iw-r-lg: 24px;
  max-width: 1440px;
  padding: 12px 14px calc(var(--hub-bottom-nav-h) + 32px);
}

.iw-enabled > :not(.industry-workbench):not(.iw-legacy-keep) {
  display: none !important;
}

.iw-legacy-keep {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.iw-enabled .map-charts-zone.iw-legacy-keep {
  display: block !important;
  margin-top: 24px;
}

.iw-enabled .map-section-label.iw-legacy-keep {
  display: none;
}

.iw-enabled .map-feed-panel.iw-legacy-keep,
.iw-enabled .map-update-panel.iw-legacy-keep,
.iw-enabled .map-chart-accordion,
.iw-enabled .map-chart-block {
  border-radius: var(--iw-r-lg);
}

.iw-legacy-shell {
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
  padding: 0;
}

.iw-legacy-shell > summary,
.iw-collapse > summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
}

.iw-legacy-shell__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.iw-legacy-shell__title {
  font-size: 15px;
  font-weight: 850;
}

.iw-legacy-mount {
  margin-top: 4px;
}

.iw-legacy-mount .iw-legacy-shell {
  margin-top: 0;
  border-color: rgba(148, 163, 184, 0.24);
  background: rgba(255, 255, 255, 0.82);
}

.iw-legacy-mount .map-section-label {
  margin-top: 18px;
}

.iw-legacy-mount .map-charts-zone {
  margin-top: 0 !important;
}

.iw-legacy-shell > summary::-webkit-details-marker,
.iw-collapse > summary::-webkit-details-marker {
  display: none;
}

.iw-legacy-shell > summary::after,
.iw-collapse > summary::after {
  content: "展開";
  float: right;
  color: var(--accent);
  font-size: 12px;
}

.iw-legacy-shell[open] > summary::after,
.iw-collapse[open] > summary::after {
  content: "收合";
}

.iw-legacy-shell > :not(summary) {
  margin-left: 14px;
  margin-right: 14px;
}

.industry-workbench {
  --iw-blue: #2563eb;
  --iw-cyan: #0891b2;
  --iw-amber: #d97706;
  --iw-green: #16a34a;
  --iw-purple: #7c3aed;
  --iw-red: #dc2626;
  --iw-panel: rgba(255, 255, 255, 0.9);
  --iw-muted-panel: rgba(248, 250, 252, 0.94);
  --iw-r-sm: 12px;
  --iw-r-md: 16px;
  --iw-r-lg: 24px;
  color: var(--ink);
}

.iw-shell {
  display: grid;
  gap: 12px;
}

.iw-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: var(--iw-r-lg);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.13), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 48%, #eef2ff 100%);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
  padding: 14px 16px;
}

.iw-hero__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.iw-kicker,
.iw-section-kicker {
  margin: 0 0 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.iw-title {
  margin: 0;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.iw-lead {
  max-width: 780px;
  margin: 6px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}

.iw-hero__actions,
.iw-view-switch,
.iw-filter-chips,
.iw-card-actions,
.iw-map-tools,
.iw-compare-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.iw-search {
  position: relative;
  flex: 1 1 320px;
}

.iw-search input {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.38);
  border-radius: var(--iw-r-md);
  padding: 12px 14px 12px 40px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--ink);
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.iw-search::before {
  content: "⌕";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #64748b;
  font-size: 18px;
  z-index: 1;
}

.iw-btn,
.iw-toggle,
.iw-chip,
.iw-mini-btn {
  appearance: none;
  border: 1px solid rgba(148, 163, 184, 0.38);
  background: rgba(255, 255, 255, 0.88);
  color: var(--ink-soft);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  line-height: 1;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.iw-btn {
  padding: 11px 14px;
}

.iw-toggle,
.iw-chip {
  padding: 9px 12px;
  font-size: 12px;
}

.iw-mini-btn {
  padding: 7px 10px;
  font-size: 12px;
}

.iw-btn:hover,
.iw-toggle:hover,
.iw-chip:hover,
.iw-mini-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, 0.35);
  color: var(--accent);
}

.iw-btn.is-primary,
.iw-mini-btn.is-primary,
.iw-toggle.is-active,
.iw-chip.is-active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}

.iw-btn.is-primary {
  transition: opacity 0.15s ease;
}

.iw-btn.is-primary:hover {
  opacity: 0.85;
}

.iw-btn.is-primary:active {
  opacity: 0.75;
}

.iw-btn.is-full {
  flex: 1 1 100%;
  width: 100%;
  justify-content: center;
}

.iw-btn.is-danger {
  color: var(--iw-red);
  border-color: rgba(220, 38, 38, 0.25);
}

.iw-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.iw-stat {
  min-height: 54px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-sm);
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.72);
}

.iw-stat strong {
  display: block;
  margin-bottom: 1px;
  font-size: 18px;
  letter-spacing: -0.04em;
}

.iw-stat span {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.iw-hot-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.iw-hot-card,
.iw-panel,
.iw-sidebar,
.iw-detail,
.iw-card,
.iw-map-panel,
.iw-extension-card {
  border: 1px solid rgba(148, 163, 184, 0.26);
  background: var(--iw-panel);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
}

.iw-hot-card {
  border-radius: var(--iw-r-sm);
  padding: 9px 10px;
  min-height: 72px;
  cursor: pointer;
}

.iw-hot-card:hover {
  border-color: rgba(37, 99, 235, 0.45);
}

.iw-hot-card b,
.iw-card h3,
.iw-detail h2 {
  display: block;
  color: var(--ink);
}

.iw-hot-card b {
  font-size: 13px;
}

.iw-hot-card span,
.iw-hot-card small {
  display: block;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
}

.iw-toolbar {
  display: grid;
  grid-template-rows: auto auto;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  padding: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.iw-toolbar__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.iw-toolbar__row--end {
  justify-content: space-between;
}

.iw-toolbar .iw-search {
  flex: 1 1 100%;
}

.iw-main-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.iw-top-row {
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(220px, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.iw-mind-hub {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: var(--iw-panel);
  padding: 14px 16px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
  min-width: 0;
}

.iw-mind-hub__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 8px;
  align-items: end;
}

.iw-mind-hub__title {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  min-width: 0;
}

.iw-mind-hub__title h2 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.02em;
}

.iw-mind-hub__hint {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.iw-mind-hub__tools {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}

.iw-mind-tabs {
  grid-column: 1 / -1;
  grid-row: 2 / 3;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.iw-mind-tab {
  appearance: none;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background: #fff;
  color: var(--ink-soft);
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.iw-mind-tab:hover {
  border-color: rgba(37, 99, 235, 0.4);
  color: var(--accent);
}

.iw-mind-tab.is-active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}

.iw-mind-hub__body {
  position: relative;
  min-height: 320px;
}

.iw-mind-pane {
  display: none;
}

.iw-mind-hub[data-mind-active="workbench"] .iw-mind-pane[data-mind-pane="workbench"],
.iw-mind-hub[data-mind-active="master"] .iw-mind-pane[data-mind-pane="master"],
.iw-mind-hub[data-mind-active="theme"] .iw-mind-pane[data-mind-pane="theme"],
.iw-mind-hub[data-mind-active="cross"] .iw-mind-pane[data-mind-pane="cross"] {
  display: block;
}

.iw-mind-pane[data-mind-pane="workbench"] .iw-map-stage {
  height: 380px;
  border-radius: var(--iw-r-md);
}

.iw-mind-pane[data-mind-pane="master"],
.iw-mind-pane[data-mind-pane="theme"],
.iw-mind-pane[data-mind-pane="cross"] {
  padding: 0;
}

.iw-mind-pane .map-chart-block,
.iw-mind-pane .map-chart-accordion {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--iw-r-md);
  background: #fff;
  overflow: hidden;
}

.iw-mind-pane .map-chart-accordion > summary {
  font-size: 13px;
  padding: 10px 12px;
}

.iw-mind-pane .map-chart-hdr {
  padding: 10px 12px 0;
}

.iw-mind-pane .map-chart-hdr h2 {
  font-size: 14px;
  margin: 0;
}

.iw-mind-pane .map-chart-tools {
  padding: 6px 12px;
}

.iw-mind-pane[data-mind-pane="master"] .map-chart {
  height: 420px !important;
  min-height: 360px !important;
}

.iw-mind-pane[data-mind-pane="theme"] .map-chart {
  height: 420px !important;
  min-height: 360px !important;
}

.iw-mind-pane[data-mind-pane="cross"] .map-chart {
  height: 460px !important;
  min-height: 380px !important;
}

.iw-cross-mini {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: var(--iw-r-lg);
  background: var(--iw-panel);
  padding: 12px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
  min-width: 0;
  height: fit-content;
  align-self: stretch;
}

.iw-cross-mini__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.iw-cross-mini__head h3 {
  margin: 0;
  font-size: 14px;
}

.iw-cross-mini__stage {
  min-height: 280px;
  display: grid;
  align-items: stretch;
}

.iw-cross-mini__stage .map-chart-accordion {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--iw-r-md);
  background: #fff;
  overflow: hidden;
}

.iw-cross-mini__stage .map-chart-accordion > summary {
  font-size: 12px;
  padding: 8px 10px;
}

.iw-cross-mini__stage .map-chart-hint,
.iw-cross-mini__stage .map-legend-inline,
.iw-cross-mini__stage .map-chart-tools {
  display: none;
}

.iw-cross-mini__stage .map-chart {
  height: 260px !important;
  min-height: 220px !important;
}

.iw-cross-mini__placeholder {
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 220px;
  padding: 16px;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: var(--iw-r-md);
  color: var(--ink-soft);
  background: rgba(248, 250, 252, 0.7);
}

.iw-cross-mini__placeholder b {
  display: block;
  color: var(--ink);
  font-size: 14px;
  margin-bottom: 4px;
}

.iw-cross-mini__placeholder span {
  font-size: 12px;
}

#iwLegacyTools,
.iw-legacy-vault,
#iwLegacyMount[hidden] {
  display: none !important;
}

body > .iw-legacy-keep,
body > .iw-legacy-vault {
  display: none !important;
}

.iw-feed-slot,
.iw-update-slot {
  display: block;
  margin: 12px 0;
}

.iw-feed-slot:empty,
.iw-update-slot:empty {
  display: none;
}

.iw-feed-slot #mapFeedPanel,
.iw-update-slot #mapUpdatePanel {
  margin: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.iw-feed-slot #mapFeedPanel > summary,
.iw-update-slot #mapUpdatePanel > summary {
  padding: 12px 16px;
  font-weight: 850;
  font-size: 14px;
}

.iw-research-shell {
  margin-top: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.82);
  overflow: hidden;
}

.iw-research-shell > summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}

.iw-research-shell > summary::-webkit-details-marker {
  display: none;
}

.iw-research-shell > summary::after {
  content: "展開";
  margin-left: auto;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.iw-research-shell[open] > summary::after {
  content: "收合";
}

.iw-research-shell__title {
  font-size: 15px;
  font-weight: 850;
  color: var(--ink);
}

.iw-research-shell__hint {
  color: var(--ink-soft);
  font-size: 12px;
}

.iw-research-body {
  padding: 4px 16px 16px;
  display: grid;
  gap: 10px;
}

.iw-research-body .map-breadcrumb {
  margin: 0;
}

.iw-research-body .map-toolbar {
  margin: 0;
}

.iw-research-body .map-tabs-scroll {
  margin: 0;
}

.iw-research-body #mapPanel {
  margin: 0;
}

.iw-four-grid {
  display: grid;
  grid-template-columns: minmax(168px, 200px) minmax(150px, 190px) minmax(0, 1fr) minmax(180px, 240px);
  gap: 12px;
  align-items: start;
}

.iw-four-grid > .iw-sidebar {
  position: sticky;
  top: 12px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.iw-col-panel {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.9);
  padding: 12px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.iw-col-panel h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.iw-col-panel--detail {
  padding: 0;
  overflow: hidden;
}

.iw-col-panel--detail .iw-detail--inline {
  position: static;
  top: auto;
  max-height: min(72vh, 920px);
  overflow-y: auto;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 14px 16px;
}

.iw-sub-column {
  display: grid;
  gap: 8px;
  max-height: min(72vh, 920px);
  overflow-y: auto;
}

.iw-sub-column .iw-sub-drawer__item {
  padding: 10px 12px;
}

.iw-card-stack {
  display: grid;
  gap: 8px;
  max-height: min(72vh, 920px);
  overflow-y: auto;
}

.iw-card--column {
  padding: 10px 12px;
  gap: 6px;
  border-radius: var(--iw-r-md);
  cursor: pointer;
}

.iw-card--column.is-active {
  border-color: rgba(37, 99, 235, 0.5);
  background: #f8fbff;
  box-shadow: inset 3px 0 0 var(--accent);
}

.iw-card--column h4 {
  margin: 0;
  font-size: 14px;
}

.iw-card--column p {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.iw-stock-deck {
  margin-top: 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.88);
  padding: 14px 16px;
}

.iw-stock-deck__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.iw-stock-deck__head > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.iw-stock-deck__head h3 {
  margin: 0;
  font-size: 16px;
}

.iw-stock-deck__head span {
  color: var(--ink-soft);
  font-size: 12px;
}

.iw-stock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}

.iw-stock-card {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-md);
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.iw-stock-card:hover {
  border-color: rgba(37, 99, 235, 0.42);
  transform: translateY(-1px);
}

.iw-stock-card b {
  color: var(--ink);
  font-size: 14px;
}

.iw-stock-card span {
  color: var(--ink);
  font-size: 12px;
}

.iw-stock-card em {
  color: var(--ink-soft);
  font-size: 11px;
  font-style: normal;
}

.iw-ext-backdrop {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(4px);
}

.iw-advanced-backdrop {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.46);
  backdrop-filter: blur(4px);
}

.iw-advanced-panel {
  position: relative;
  width: min(1180px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.98);
  padding: 18px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
  animation: iwDrawerIn 0.2s ease-out;
}

.iw-advanced-head {
  margin: 0 0 12px;
}

.iw-advanced-head h2 {
  margin: 0;
  font-size: 18px;
}

.iw-advanced-slot > details,
.iw-advanced-slot > .map-chart-accordion,
.iw-advanced-slot #iwLegacyCardsBundle {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.iw-advanced-slot #accLegacyCharts,
.iw-advanced-slot #accCross,
.iw-advanced-slot #mapFeedPanel,
.iw-advanced-slot #mapUpdatePanel {
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: var(--iw-r-md);
  padding: 10px;
  background: #fff;
}

.iw-advanced-slot .map-chart {
  min-height: 420px;
  height: 460px;
  width: 100%;
}

.iw-advanced-slot .iw-cross-body--floating,
.iw-advanced-slot .map-chart-accordion__body {
  display: block !important;
}

.iw-advanced-slot .iw-cross-body--floating .map-chart,
.iw-advanced-slot #chartCross {
  display: block !important;
  height: 480px !important;
  min-height: 420px;
  width: 100%;
}

.iw-advanced-error {
  margin: 0;
  padding: 28px 16px;
  text-align: center;
  color: var(--ink-soft);
  line-height: 1.65;
}

.iw-cross-status {
  min-height: 0;
  margin: 0 0 8px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
}

.iw-cross-status:empty {
  display: none;
}

.iw-cross-status .map-meta {
  margin: 0;
  padding: 20px 12px;
}

.iw-cross-summary {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: #334155;
  font-size: 13px;
  line-height: 1.55;
}

.iw2-cross-anchor {
  margin-top: 14px;
}

.iw2-cross-network {
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  background: #fff;
  padding: 10px 12px 12px;
  min-height: 480px;
}

.iw2-cross-network .map-legend-inline .lg-tag {
  display: inline-block;
  padding: 2px 8px;
  margin-right: 6px;
  border-radius: 6px;
  border: 1px solid;
  font-size: 11px;
  font-weight: 600;
}

.iw2-cross-network .lg-stock {
  border-color: #86efac;
  color: #15803d;
}

.iw2-cross-network .lg-mix {
  border-color: #e9d5ff;
  color: #7e22ce;
}

.iw2-cross-network .lg-hold {
  color: #dc2626;
}

.iw2-cross-network .lg-group {
  color: #4338ca;
}

.iw2-cross-network .lg-chain {
  color: #64748b;
}

.iw2-cross-network .map-chart-tools button {
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--line-strong, #cbd5e1);
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent, #2563eb);
  cursor: pointer;
  font-family: inherit;
}

.iw2-cross-network .map-chart-tools button[aria-pressed="true"] {
  background: #eff6ff;
  border-color: #93c5fd;
}

.iw-cross-network--modal {
  min-height: 520px;
}

.iw2-cross-network .map-chart-hint,
.iw2-cross-network .map-legend-inline {
  margin: 0 0 8px;
}

.iw2-cross-network .map-chart-tools {
  margin-bottom: 10px;
}

.iw2-cross-network .iw-cross-body--inline,
.iw2-cross-network .map-chart-accordion__body {
  display: block !important;
}

.iw2-cross-network #chartCross,
.iw2-cross-network .map-chart {
  display: block !important;
  width: 100% !important;
  height: 400px !important;
  min-height: 320px;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 8px;
}

.iw-cross-orphans {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px dashed #94a3b8;
  border-radius: var(--iw-r-md);
  background: #f8fafc;
}

.iw-cross-orphans[hidden] {
  display: none !important;
}

.iw-cross-orphans__title {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  color: #475569;
}

.iw-cross-orphans__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 140px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.iw-cross-orphan-chip {
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}

.iw-cross-orphan-chip:hover {
  border-color: #9333ea;
  background: #faf5ff;
}

.iw-cross-orphan-chip b {
  font-weight: 900;
  color: #0f172a;
}

.iw-cross-orphan-chip small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
  line-height: 1.3;
}

.iw-advanced-slot .iw-cross-orphans {
  margin-top: 8px;
}

.iw2-tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.iw2-news-meta,
.iw2-news-hint {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.iw2-stock-detail-inline {
  margin-top: 14px;
}

.iw2-stock-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.iw2-stock-card__head {
  padding: 16px 18px 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.92);
}

.iw2-stock-card__path {
  margin: 0 0 8px;
  color: var(--ink-faint, #64748b);
  font-size: 11px;
  line-height: 1.5;
}

.iw2-stock-card__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.iw2-stock-card__title-row h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.iw2-stock-card__title-row h3 em {
  font-style: normal;
  color: var(--iw-cyan);
  font-size: 16px;
  font-weight: 800;
}

.iw2-stock-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.iw2-stock-meta-labels {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 120px;
}

.iw2-meta-label {
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
}

.iw2-meta-label i {
  font-style: normal;
  color: var(--ink-faint, #64748b);
  font-weight: 650;
}

.iw2-meta-label b {
  color: var(--ink);
  font-weight: 850;
}

.iw2-meta-label i::after {
  content: " · ";
  color: var(--ink-faint, #94a3b8);
  font-weight: 500;
}

.iw2-side-kicker {
  margin: 0 0 6px;
  color: var(--iw-cyan);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iw2-compare-insight .iw2-insight-bars {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 10px;
}

.iw2-compare-insight .iw2-insight-bars span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 8px;
  background: #f0fdfa;
  border: 1px solid rgba(8, 145, 178, 0.2);
  font-size: 11px;
}

.iw2-compare-insight .iw2-insight-bars em {
  color: var(--ink-faint, #64748b);
  font-style: normal;
}

.iw2-compare-detail {
  margin-top: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(8, 145, 178, 0.28);
  border-radius: var(--iw-r-lg);
  background: linear-gradient(180deg, #f0fdfa 0%, #fff 100%);
}

.iw2-compare-detail__kicker {
  margin: 0 0 10px;
  color: var(--iw-cyan);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.iw2-compare-detail__text {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.65;
}

.iw2-bars--detail {
  margin: 0;
}

.iw2-compare-tile small {
  display: none;
}

.iw2-stock-card__tags span,
.iw2-theme-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: #f8fafc;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
}

.iw2-stock-card__headline {
  margin: 10px 0 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.65;
}

.iw2-stock-card__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 0;
}

.iw2-stock-card__main,
.iw2-stock-card__side {
  padding: 14px 18px 16px;
}

.iw2-stock-card__side {
  border-left: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(248, 250, 252, 0.72);
}

.iw2-stock-block + .iw2-stock-block {
  margin-top: 14px;
}

.iw2-stock-block h4 {
  margin: 0 0 8px;
  color: var(--ink-faint, #64748b);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.iw2-stock-block p,
.iw2-stock-context {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.6;
}

.iw2-role-badge {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
  font-size: 13px;
  font-weight: 800;
}

.iw2-claim-list,
.iw2-plain-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.iw2-claim {
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 12px;
  background: #fff;
}

.iw2-claim + .iw2-claim {
  margin-top: 8px;
}

.iw2-claim--needs_verification {
  border-color: #fcd34d;
  background: #fffbeb;
}

.iw2-claim--market_speculation {
  border-style: dashed;
}

.iw2-claim--risk {
  border-color: rgba(220, 38, 38, 0.18);
  background: #fffafa;
}

.iw2-claim__text {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.6;
}

.iw2-claim__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.iw2-claim__badge {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: #fff;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 700;
}

.iw2-claim__badge--src-company { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.iw2-claim__badge--src-industry { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.iw2-claim__badge--src-analyst { background: #f5f3ff; color: #6d28d9; border-color: #ddd6fe; }
.iw2-claim__badge--src-speculation { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.iw2-claim__badge--src-tech { background: #f0fdfa; color: #0f766e; border-color: #99f6e4; }
.iw2-claim__badge--src-verify { background: #fef3c7; color: #b45309; border-color: #fcd34d; }
.iw2-claim__badge--conf-high { color: #15803d; }
.iw2-claim__badge--conf-medium { color: #a16207; }
.iw2-claim__badge--conf-low { color: #b91c1c; }
.iw2-claim__badge--asof { background: #f8fafc; color: #475569; }

.iw2-metric-chips,
.iw2-theme-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.iw2-metric-chips span {
  display: inline-flex;
  padding: 6px 11px;
  border-radius: 10px;
  background: #eff6ff;
  color: #1e40af;
  border: 1px solid #bfdbfe;
  font-size: 12px;
  font-weight: 700;
}

.iw2-plain-list li {
  position: relative;
  padding-left: 14px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
}

.iw2-plain-list li + li {
  margin-top: 6px;
}

.iw2-plain-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #dc2626;
}

.iw2-stock-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 18px;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink-soft);
  font-size: 12px;
}

.iw2-stock-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.iw-btn.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

@media (max-width: 960px) {
  .iw2-stock-card__grid {
    grid-template-columns: 1fr;
  }

  .iw2-stock-card__side {
    border-left: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
  }
}

.iw-ext-float {
  position: relative;
  width: min(1120px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.98);
  padding: 18px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
  animation: iwDrawerIn 0.2s ease-out;
}

.iw-ext-float .iw-extensions--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
}

.iw-legacy-mount #mapChartsZone:empty {
  display: none;
}

.iw-sidebar {
  position: sticky;
  top: 16px;
  border-radius: var(--iw-r-lg);
  padding: 14px;
}

.iw-sidebar h2,
.iw-content-head h2,
.iw-extension-card h3 {
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.02em;
}

.iw-major-list,
.iw-sub-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.iw-major-btn,
.iw-sub-btn {
  width: 100%;
  border: 1px solid transparent;
  border-radius: var(--iw-r-md);
  background: transparent;
  color: var(--ink-soft);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.iw-major-btn {
  display: flex;
  align-items: center;
  padding: 11px 12px;
  font-weight: 800;
}

.iw-major-btn::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--major-color, #94a3b8);
  margin-right: 8px;
  flex-shrink: 0;
  opacity: 0.6;
}

.iw-major-btn.is-active::before {
  opacity: 1;
}

.iw-sub-btn {
  padding: 9px 11px;
  font-size: 13px;
  font-weight: 700;
}

.iw-major-btn:hover,
.iw-sub-btn:hover,
.iw-major-btn.is-active,
.iw-sub-btn.is-active {
  background: #f8fafc;
  border-color: rgba(148, 163, 184, 0.28);
  color: var(--ink);
}

.iw-major-btn.is-active {
  box-shadow: inset 4px 0 0 var(--major-color, var(--accent));
}

.iw-major-count {
  margin-left: auto;
  color: #94a3b8;
  font-size: 12px;
}

.iw-sub-panel {
  margin-bottom: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  padding: 14px;
  background: rgba(255, 255, 255, 0.82);
}

.iw-sub-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.iw-sub-panel__head h3 {
  margin: 0;
  font-size: 18px;
}

.iw-sub-panel__head span {
  display: inline-flex;
  border-radius: 999px;
  padding: 6px 9px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.iw-sub-panel .iw-sub-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iw-sub-panel .iw-sub-btn {
  display: grid;
  gap: 4px;
  min-height: 70px;
  border-color: rgba(148, 163, 184, 0.22);
  background: #fff;
}

.iw-sub-btn strong {
  color: var(--ink);
}

.iw-sub-btn span {
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
}

.iw-collapse {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}

.iw-collapse > .iw-card-grid,
.iw-collapse > .iw-extensions {
  padding: 0 14px 14px;
}

.iw-collapse--wide {
  margin-top: 0;
}

.iw-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.iw-content-head,
.iw-panel {
  border-radius: var(--iw-r-lg);
  padding: 18px;
}

.iw-content-head {
  margin-bottom: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: linear-gradient(135deg, #ffffff, #f8fafc);
}

.iw-workspace-head {
  border-color: rgba(37, 99, 235, 0.18);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}

.iw-content-head p {
  margin: 8px 0 0;
  color: var(--ink-soft);
  line-height: 1.65;
}

.iw-workspace-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: var(--iw-r-md);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.09), transparent 34%),
    #fff;
}

.iw-workspace-strip__left strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 20px;
  letter-spacing: -0.03em;
}

.iw-workspace-strip__status {
  flex: 1 1 240px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.5;
}

.iw-workspace-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.iw-tool-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.iw-tool-btn {
  min-height: 40px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: var(--iw-r-sm);
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.iw-tool-btn:hover,
.iw-tool-btn.is-active {
  border-color: rgba(37, 99, 235, 0.4);
  background: #eff6ff;
  color: #1d4ed8;
}

.iw-tool-btn.is-primary {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}

.iw-legacy-shortcuts__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.iw-legacy-shell__summary .iw-mini-btn {
  font-size: 11px;
  padding: 6px 9px;
}

.iw-sub-drawer {
  position: relative;
  width: min(480px, calc(100vw - 28px));
  height: calc(100vh - 28px);
  margin: 14px;
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: var(--iw-r-lg);
  padding: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.18);
  animation: iwDrawerIn 0.2s ease-out;
}

.iw-sub-drawer h2 {
  margin: 0;
  color: var(--ink);
  font-size: 26px;
  letter-spacing: -0.04em;
}

.iw-sub-drawer__hint {
  margin: 10px 0 16px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.iw-sub-drawer__list {
  display: grid;
  gap: 10px;
}

.iw-sub-drawer__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-md);
  padding: 12px 14px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.iw-sub-drawer__item:hover,
.iw-sub-drawer__item.is-active {
  border-color: rgba(37, 99, 235, 0.42);
  background: #f8fbff;
}

.iw-sub-drawer__item.is-active {
  box-shadow: inset 4px 0 0 var(--major-color, var(--accent));
}

.iw-sub-drawer__body {
  flex: 1 1 auto;
  min-width: 0;
}

.iw-sub-drawer__body strong,
.iw-sub-drawer__body em {
  display: block;
}

.iw-sub-drawer__body strong {
  font-size: 15px;
}

.iw-sub-drawer__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
}

.iw-sub-drawer__meta small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.iw-sub-drawer__body em {
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
  font-style: normal;
}

.iw-sub-drawer__arrow {
  flex-shrink: 0;
  color: #94a3b8;
  font-size: 22px;
  line-height: 1;
}

.iw-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.iw-card {
  display: grid;
  gap: 10px;
  border-radius: var(--iw-r-lg);
  padding: 14px 16px;
  cursor: pointer;
}

.iw-card:hover {
  border-color: rgba(37, 99, 235, 0.4);
  transform: translateY(-1px);
}

.iw-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.iw-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.iw-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.iw-card__footer {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.iw-card__date {
  font-size: 11px;
  color: var(--ink-faint);
}

.iw-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.iw-badges,
.iw-company-list,
.iw-indicator-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.iw-badge,
.iw-company,
.iw-indicator,
.iw-risk,
.iw-update {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.iw-badge {
  padding: 5px 8px;
  color: var(--badge-color, #334155);
  background: var(--badge-bg, #f1f5f9);
}

.iw-company,
.iw-indicator,
.iw-risk,
.iw-update {
  padding: 6px 8px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  background: #fff;
  color: var(--ink-soft);
}

.iw-company b {
  color: var(--ink);
}

.iw-update {
  color: #64748b;
  background: #f8fafc;
}

.iw-detail {
  position: sticky;
  top: 16px;
  border-radius: var(--iw-r-lg);
  padding: 18px;
}

.iw-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  justify-content: flex-end;
  background: rgba(15, 23, 42, 0.34);
  backdrop-filter: blur(4px);
}

.iw-detail--drawer {
  position: relative;
  top: auto;
  width: min(520px, calc(100vw - 28px));
  height: calc(100vh - 28px);
  margin: 14px;
  overflow-y: auto;
  border-radius: var(--iw-r-lg);
  animation: iwDrawerIn 0.2s ease-out;
}

.iw-drawer-close {
  position: sticky;
  top: 0;
  float: right;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

@keyframes iwDrawerIn {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.iw-detail h2 {
  margin: 0 0 8px;
  font-size: 24px;
  letter-spacing: -0.04em;
}

.iw-detail__empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  color: var(--ink-soft);
  text-align: center;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: var(--iw-r-lg);
  padding: 24px;
}

.iw-detail-section {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.iw-detail-section h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iw-detail-section p,
.iw-detail-section li {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.iw-detail-section ul {
  margin: 0;
  padding-left: 18px;
}

.iw-chain {
  display: grid;
  gap: 8px;
}

.iw-chain-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: var(--ink-soft);
  font-size: 13px;
}

.iw-chain-row b {
  color: var(--ink);
}

.iw-map-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--iw-r-lg);
  min-height: 700px;
}

.iw-map-head {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px 16px 8px;
}

.iw-map-head p {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
}

.iw-map-stage {
  position: relative;
  height: 620px;
  background:
    linear-gradient(rgba(148, 163, 184, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.09) 1px, transparent 1px),
    #f8fafc;
  background-size: 32px 32px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.iw-map-svg {
  width: 100%;
  height: 100%;
  display: block;
  cursor: grab;
  touch-action: none;
}

.iw-map-svg.is-panning,
.iw-map-node.is-dragging {
  cursor: grabbing;
}

.iw-map-link {
  fill: none;
  stroke: rgba(100, 116, 139, 0.42);
  stroke-width: 1.25;
}

.iw-map-node {
  cursor: pointer;
}

.iw-map-node rect {
  stroke-width: 1.6;
  filter: drop-shadow(0 5px 10px rgba(15, 23, 42, 0.08));
}

.iw-map-node--major rect {
  width: 168px;
  height: 48px;
  rx: 16px;
}

.iw-map-node--industry rect {
  width: 150px;
  height: 42px;
  rx: 14px;
}

.iw-map-node--item rect {
  width: 144px;
  height: 34px;
  rx: 13px;
}

.iw-map-node text {
  pointer-events: none;
  dominant-baseline: middle;
  font-weight: 850;
  fill: #0f172a;
}

.iw-map-node--major text {
  font-size: 13px;
}

.iw-map-node--industry text {
  font-size: 12px;
}

.iw-map-node--item text {
  font-size: 11px;
  fill: #475569;
}

.iw-map-tooltip {
  position: absolute;
  z-index: 4;
  max-width: 280px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: var(--iw-r-sm);
  padding: 10px 12px;
  background: rgba(15, 23, 42, 0.92);
  color: #fff;
  font-size: 12px;
  line-height: 1.55;
  pointer-events: none;
  transform: translate(14px, 14px);
}

.iw-map-tooltip b {
  display: block;
  margin-bottom: 4px;
}

.iw-hidden {
  display: none !important;
}

.iw-extensions {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 16px;
}

.iw-extensions--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.iw-extension-card {
  border-radius: var(--iw-r-lg);
  padding: 18px;
}

.iw-extensions--compact .iw-extension-card {
  min-height: 128px;
  border-radius: var(--iw-r-md);
  padding: 12px;
}

.iw-extensions--compact .iw-extension-card h3 {
  font-size: 15px;
}

.iw-extensions--compact .iw-extension-card p,
.iw-extensions--compact .iw-compare-card p {
  font-size: 12px;
  line-height: 1.45;
}

.iw-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.iw-extensions--compact .iw-compare-grid {
  grid-template-columns: 1fr;
  margin-top: 8px;
}

.iw-compare-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-md);
  padding: 12px;
  background: #fff;
}

.iw-compare-card b {
  display: block;
  margin-bottom: 8px;
}

.iw-compare-card p {
  margin: 6px 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.iw-rotation {
  position: relative;
  min-height: 220px;
  margin-top: 12px;
  border-radius: var(--iw-r-md);
  background: linear-gradient(135deg, #f8fafc, #eef2ff);
  border: 1px solid rgba(148, 163, 184, 0.22);
  padding: 16px;
}

.iw-rotation--compact {
  min-height: auto;
  padding: 10px;
}

.iw-flow {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}

.iw-rotation--compact .iw-flow {
  grid-template-columns: 1fr;
}

.iw-flow-node {
  min-height: 74px;
  display: grid;
  place-items: center;
  border-radius: var(--iw-r-md);
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.iw-rotation--compact .iw-flow-node {
  min-height: 34px;
  font-size: 12px;
}

.iw-rotation--compact .iw-flow-arrow {
  display: none;
}

.iw-flow-arrow {
  text-align: center;
  color: #64748b;
  font-weight: 900;
}

.iw-empty {
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: var(--iw-r-md);
  padding: 24px;
  color: var(--ink-soft);
  text-align: center;
}

@media (max-width: 1180px) {
  .iw-main-grid,
  .iw-four-grid,
  .iw-top-row,
  .iw-content-grid,
  .iw-hero__top,
  .iw-extensions,
  .iw-extensions--compact {
    grid-template-columns: 1fr;
  }

  .iw-mind-hub__head {
    grid-template-columns: 1fr;
  }

  .iw-mind-hub__tools {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    justify-content: flex-start;
  }

  .iw-mind-tabs {
    grid-row: 3 / 4;
  }

  .iw-mind-pane[data-mind-pane="workbench"] .iw-map-stage {
    height: 320px;
  }

  .iw-four-grid > .iw-sidebar {
    position: static;
    max-height: none;
  }

  .iw-sub-column,
  .iw-card-stack,
  .iw-col-panel--detail .iw-detail--inline {
    max-height: none;
  }

  .iw-tool-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .iw-sidebar,
  .iw-detail {
    position: static;
  }

  .iw-major-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iw-sub-panel .iw-sub-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iw-workspace-strip {
    flex-wrap: wrap;
  }

  .iw-workspace-strip__status {
    flex: 1 1 100%;
    order: 3;
  }
}

@media (max-width: 780px) {
  .iw-enabled {
    padding: 10px 10px calc(var(--hub-bottom-nav-h) + 24px);
  }

  .iw-hero,
  .iw-toolbar,
  .iw-sidebar,
  .iw-detail,
  .iw-extension-card,
  .iw-map-panel {
    border-radius: var(--iw-r-md);
  }

  .iw-hero {
    padding: 18px;
  }

  .iw-stats,
  .iw-hot-strip,
  .iw-card-grid,
  .iw-compare-grid,
  .iw-major-list,
  .iw-tool-rail,
  .iw-sub-panel .iw-sub-list,
  .iw-flow {
    grid-template-columns: 1fr;
  }

  .iw-hero {
    padding: 12px;
  }

  .iw-tool-rail {
    grid-template-columns: 1fr;
  }

  .iw-tool-btn {
    min-height: 42px;
  }

  .iw-content-head,
  .iw-panel,
  .iw-card,
  .iw-detail,
  .iw-extension-card {
    padding: 14px;
  }

  .iw-workspace-strip {
    display: grid;
    gap: 10px;
  }

  .iw-workspace-strip__actions {
    width: 100%;
  }

  .iw-workspace-strip__actions .iw-btn {
    flex: 1 1 calc(50% - 4px);
    justify-content: center;
  }

  .iw-legacy-shell__summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .iw-legacy-shortcuts__quick {
    width: 100%;
  }

  .iw-sub-drawer,
  .iw-detail--drawer {
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    margin: 10px;
    border-radius: var(--iw-r-lg);
  }

  .iw-map-panel {
    min-height: auto;
  }

  .iw-map-head {
    display: grid;
  }

  .iw-map-stage {
    height: 520px;
  }

  .iw-card__top {
    display: grid;
  }
}

/* v12: unified industry workbench / full research card */
.iw2-page-hdr {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ink);
}

.iw2-page-hdr .iw-title {
  margin: 0;
}

.iw2-workspace {
  margin-bottom: 14px;
}

.iw2-workspace .hub-workspace-title {
  margin-bottom: 10px;
}

.iw2-workspace-focus {
  margin-bottom: 14px;
}

.iw2-workspace-kicker {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-soft);
  letter-spacing: 0.02em;
}

.iw2-workspace-topic {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
  line-height: 1.2;
}

.iw2-workspace-lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-soft);
}

.iw2-workspace-grid {
  margin-bottom: 14px;
}

.iw2-workspace-grid .hub-card-link {
  width: 100%;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.iw2-topic-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.iw2-topic-strip .iw2-topic-tab {
  flex: 0 0 auto;
}

.iw2-analysis-preview {
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: var(--iw-r-lg);
  background: linear-gradient(165deg, #fff 0%, #f8fbff 100%);
  padding: 12px;
}

.iw2-analysis-grid--preview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iw2-mind-fold {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: #fff;
  overflow: hidden;
}

.iw2-mind-fold__sum {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
}

.iw2-mind-fold__sum::-webkit-details-marker {
  display: none;
}

.iw2-mind-fold__sum b {
  font-size: 14px;
  color: var(--ink);
}

.iw2-mind-fold__sum span {
  color: var(--ink-soft);
  font-size: 11px;
}

.iw2-mind-fold__sum::after {
  content: "展開";
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 800;
  color: var(--accent);
}

.iw2-mind-fold[open] .iw2-mind-fold__sum::after {
  content: "收合";
}

.iw2-mind-card--nested {
  border: 0;
  border-radius: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  padding: 10px 12px 12px;
  box-shadow: none;
}

.iw2-core .iw2-summary-card {
  order: 1;
}

.iw2-core .iw2-analysis-preview {
  order: 2;
}

.iw2-core .iw2-mind-fold {
  order: 3;
}

.iw2-hero {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: var(--iw-r-lg);
  padding: 14px 16px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.07);
}

.iw2-stats,
.iw2-chip-row,
.iw2-summary-actions,
.iw2-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.iw2-stats {
  justify-content: flex-end;
}

.iw2-stats span {
  min-width: 78px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-md);
  padding: 8px 10px;
  background: #fff;
  color: var(--ink-soft);
  font-size: 11px;
  text-align: center;
}

.iw2-stats b {
  display: block;
  color: var(--ink);
  font-size: 16px;
}

.iw2-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--iw-r-lg);
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.78);
}

.iw2-workbench {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) minmax(280px, 340px);
  gap: 12px;
  align-items: stretch;
}

.iw2-major-nav,
.iw2-center,
.iw2-sub-panel,
.iw2-full-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
}

.iw2-major-nav,
.iw2-sub-panel,
.iw2-center {
  padding: 12px;
}

.iw2-panel-head,
.iw2-card-head,
.iw2-section-head,
.iw2-full-head {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.iw2-panel-head,
.iw2-card-head,
.iw2-section-head {
  margin-bottom: 10px;
}

.iw2-panel-head b,
.iw2-card-head b,
.iw2-section-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  letter-spacing: -0.02em;
}

.iw2-panel-head span,
.iw2-card-head span,
.iw2-section-head span {
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.4;
}

.iw2-major-card {
  width: 100%;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--iw-r-md);
  padding: 10px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.iw2-major-card + .iw2-major-card {
  margin-top: 6px;
}

.iw2-major-card:hover,
.iw2-major-card.is-active {
  border-color: rgba(37, 99, 235, 0.26);
  background: #f8fbff;
  box-shadow: inset 4px 0 0 var(--major-color, var(--accent));
}

.iw2-major-card--cross {
  --major-color: #9333ea;
  border-color: rgba(147, 51, 234, 0.22);
  background: #faf5ff;
}

.iw2-major-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--major-color, #64748b);
  font-size: 12px;
  font-weight: 900;
}

.iw2-major-card b,
.iw2-major-card small,
.iw2-major-card em,
.iw2-mind-list b,
.iw2-mind-list span,
.iw2-sub-list b,
.iw2-sub-list span,
.iw2-sub-list em,
.iw2-reading b,
.iw2-reading span,
.iw2-mini-stock-list b,
.iw2-mini-stock-list small {
  display: block;
}

.iw2-major-card small,
.iw2-mind-list span,
.iw2-sub-list span,
.iw2-sub-list em,
.iw2-mini-stock-list small {
  margin-top: 3px;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
  font-style: normal;
}

.iw2-major-card em {
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}

.iw2-topic-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--iw-r-md);
  background: #fff;
}

/* topic tabs 已移至今日產業視角區 */
.iw2-center > .iw2-topic-tabs {
  display: none;
}

.iw2-topic-tab {
  appearance: none;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
}

.iw2-topic-tab:hover,
.iw2-topic-tab.is-active {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
}

.iw2-core {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr);
  gap: 12px;
  margin-top: 12px;
}

.iw2-mind-card,
.iw2-summary-card,
.iw2-section {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-lg);
  background: #fff;
  padding: 12px;
  min-width: 0;
}

.iw2-map-stage {
  height: 360px;
  min-height: 320px;
  border-radius: var(--iw-r-md);
  overflow: hidden;
}

.iw2-mind-list,
.iw2-mini-stock-list,
.iw2-sub-list,
.iw2-related-links {
  display: grid;
  gap: 8px;
}

.iw2-mind-list {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.iw2-mini-stock-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 10px;
}

.iw2-mind-list button,
.iw2-mini-stock-list button,
.iw2-sub-list button,
.iw2-related-links button {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: var(--iw-r-md);
  padding: 10px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.iw2-mind-list button:hover,
.iw2-mind-list button.is-active,
.iw2-sub-list button:hover,
.iw2-sub-list button.is-active,
.iw2-related-links button:hover,
.iw2-mini-stock-list button:hover {
  border-color: rgba(37, 99, 235, 0.42);
  background: #f8fbff;
}

.iw2-summary-card h2 {
  margin: 2px 0 0;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.iw2-summary-card p {
  margin: 10px 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.iw2-reading {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--iw-r-md);
  padding: 9px 10px;
  background: #f8fafc;
}

.iw2-reading span {
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.iw2-chip-row {
  margin-top: 10px;
}

.iw2-chip-row span {
  border-radius: 999px;
  padding: 5px 8px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 850;
}

.iw2-summary-actions {
  margin-top: 10px;
}

.iw2-updated {
  display: block;
  margin-top: 10px;
  color: var(--ink-faint);
  font-size: 11px;
}

.iw2-update-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 10px;
}

.iw2-update-line {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  padding: 4px 8px;
  background: #f8fafc;
  color: var(--ink-soft);
  font-size: 10px;
  line-height: 1.3;
}

.iw2-update-line i {
  font-style: normal;
  font-weight: 800;
  color: #64748b;
}

.iw2-stock-card__foot .iw2-update-meta {
  flex: 1 1 100%;
  margin: 0 0 8px;
}

.iw2-current-card {
  margin-bottom: 12px;
  border-radius: var(--iw-r-lg);
  padding: 14px;
  background: #0f172a;
  color: #fff;
  box-shadow: inset 4px 0 0 var(--major-color, var(--accent));
}

.iw2-current-card span,
.iw2-current-card p {
  color: rgba(255, 255, 255, 0.76);
}

.iw2-current-card b {
  display: block;
  margin: 4px 0;
  font-size: 18px;
}

.iw2-current-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.iw2-sub-list {
  max-height: 520px;
  overflow: auto;
}

.iw2-full-card {
  margin-top: 10px;
  padding: 16px;
  border-width: 2px;
  border-color: var(--ink);
}

.iw2-full-head {
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  padding-bottom: 12px;
  margin-bottom: 12px;
}

.iw2-full-head h2 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.04em;
}

.iw2-full-head p {
  max-width: 760px;
  margin: 6px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.iw2-full-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-content: flex-start;
}

.iw2-full-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: 14px;
  align-items: start;
}

.iw2-section + .iw2-section {
  margin-top: 12px;
}

.iw2-overview-grid,
.iw2-analysis-grid,
.iw2-news-grid,
.iw2-compare-dashboard,
.iw2-stock-analysis-grid {
  display: grid;
  gap: 10px;
}

.iw2-overview-grid,
.iw2-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iw2-analysis-grid,
.iw2-compare-dashboard,
.iw2-stock-analysis-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iw2-overview-grid article,
.iw2-mini-block,
.iw2-news-grid article,
.iw2-side-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--iw-r-md);
  padding: 12px;
  background: #f8fafc;
}

.iw2-overview-grid p,
.iw2-mini-block p,
.iw2-news-grid p,
.iw2-side-card p,
.iw2-side-card dd {
  margin: 6px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.iw2-overview-main {
  grid-column: 1 / -1;
}

.iw2-status-note {
  margin-top: 8px !important;
  color: var(--accent) !important;
  font-weight: 650;
}

.iw2-bullet-list {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.iw2-bullet-list li + li {
  margin-top: 4px;
}

.iw2-compare-tile,
.iw2-stock-tile {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--iw-r-md);
  padding: 12px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.iw2-compare-tile:hover,
.iw2-compare-tile.is-active,
.iw2-stock-tile:hover,
.iw2-stock-tile.is-active {
  border-color: rgba(8, 145, 178, 0.52);
  background: #f0fdfa;
  box-shadow: inset 4px 0 0 var(--iw-cyan);
}

.iw2-bars {
  display: grid;
  gap: 7px;
  margin: 10px 0;
}

.iw2-bars span {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
  color: var(--ink-soft);
  font-size: 11px;
}

.iw2-bars i {
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--iw-cyan) var(--v), #e2e8f0 var(--v));
}

.iw2-bars strong {
  color: var(--ink);
  text-align: right;
}

.iw2-compare-tile small,
.iw2-stock-tile small,
.iw2-stock-tile span,
.iw2-stock-tile em,
.iw2-next-card,
.iw2-related-links small {
  display: block;
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.45;
  font-style: normal;
}

.iw2-related-links {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.iw2-full-side {
  position: sticky;
  top: 14px;
  display: grid;
  gap: 12px;
  align-self: start;
  max-height: calc(100vh - 28px);
}

.iw2-stock-card--side {
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  border-color: rgba(8, 145, 178, 0.28);
  box-shadow: 0 16px 40px rgba(8, 145, 178, 0.1);
}

.iw2-stock-card--side .iw2-stock-card__head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
}

.iw2-stock-card__kicker {
  margin: 0 0 6px;
  color: var(--iw-cyan);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iw2-stock-card__body {
  padding: 12px 16px 14px;
}

.iw2-stock-card--side .iw2-stock-card__title-row h3 {
  font-size: 17px;
}

.iw2-stock-card--side .iw2-stock-card__foot {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
}

.iw2-stock-card--side .iw2-stock-card__actions {
  flex-direction: column;
  align-items: stretch;
}

.iw2-stock-card--side .iw-btn--compact,
.iw2-stock-card--side .iw-mini-btn {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.iw2-map-path {
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: var(--ink-faint, #64748b) !important;
}

.iw2-stock-hint {
  margin: 10px 0 0;
  color: var(--ink-faint, #64748b);
  font-size: 11px;
}

.iw-btn--compact {
  padding: 8px 12px;
  font-size: 12px;
}

.iw2-side-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.iw2-side-card dl {
  margin: 10px 0 0;
}

.iw2-side-card dt {
  margin-top: 8px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.iw2-news-grid #mapFeedPanel,
.iw2-news-grid #mapUpdatePanel {
  margin-top: 10px;
  border-radius: var(--iw-r-md);
  box-shadow: none;
}

.iw2-legacy-profile {
  margin-top: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: var(--iw-r-lg);
  background: #fff;
  overflow: hidden;
}

.iw2-legacy-profile > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.iw2-legacy-profile > summary::-webkit-details-marker {
  display: none;
}

.iw2-legacy-profile > summary::after {
  content: "收合";
  float: right;
  color: var(--accent);
  font-size: 12px;
}

.iw2-legacy-profile:not([open]) > summary::after {
  content: "展開";
}

#iwLegacyProfileSlot {
  padding: 0 12px 12px;
}

#iwLegacyProfileSlot #mapPanel {
  margin: 0;
}

#iwLegacyProfileSlot .map-card {
  box-shadow: none;
}

@media (max-width: 1180px) {
  .iw2-workbench,
  .iw2-core,
  .iw2-full-grid,
  .iw2-toolbar {
    grid-template-columns: 1fr;
  }

  .iw2-full-side {
    position: static;
  }
}

/* 桌機：accordion 外觀維持展開區塊，隱藏手機專用元件 */
@media (min-width: 781px) {
  .iw2-mobile-nav {
    display: none !important;
  }

  .iw2-acc-section > summary {
    display: none;
  }

  .iw2-acc-section {
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
  }

  .iw2-acc-section .iw2-acc-section__body {
    display: block !important;
  }

  .iw2-stock-chips,
  .iw2-reading-fold,
  .iw2-more-chip {
    display: none !important;
  }

  .iw2-mini-stock-list--desktop {
    display: grid !important;
  }

  .iw2-chip-row--desktop {
    display: flex !important;
  }

  .iw2-section-head--desktop {
    display: flex !important;
  }

  .iw2-stock-detail-inline {
    display: none !important;
  }

  .iw2-stock-hint--desktop {
    display: block;
  }
}

/* 手機版產業工作台 UX（≤780px，不影響三欄桌機） */
@media (max-width: 780px) {
  .iw2-page-hdr {
    flex-direction: column;
    gap: 8px;
  }

  .iw2-workspace-topic {
    font-size: 20px;
  }

  .iw2-workspace-grid {
    grid-template-columns: 1fr;
  }

  .iw2-topic-strip {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding-bottom: 4px;
  }

  .iw2-analysis-grid--preview {
    grid-template-columns: 1fr;
  }

  .iw2-hero {
    flex-direction: column;
    gap: 10px;
    padding: 12px;
  }

  .iw2-stats {
    width: 100%;
    justify-content: flex-start;
  }

  .iw2-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .iw2-toolbar .iw-filter-chips {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 6px;
    padding-bottom: 2px;
  }

  .iw2-toolbar .iw-chip {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  /* Sticky 快捷列 */
  .iw2-mobile-nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: sticky;
    top: 0;
    z-index: 48;
    margin: 0 0 10px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: var(--iw-r-lg);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  }

  .iw2-mobile-nav__btn {
    flex: 0 0 auto;
    appearance: none;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 999px;
    padding: 7px 12px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
  }

  .iw2-mobile-nav__btn:active {
    border-color: #0f172a;
    background: #0f172a;
    color: #fff;
  }

  /* 工作台：直向流程 + 區塊順序（研究內容優先於分類與心智圖） */
  .iw2-workbench {
    display: flex;
    flex-direction: column;
    gap: 10px;
    grid-template-columns: none;
  }

  .iw2-center {
    order: 1;
  }

  .iw2-major-nav {
    order: 2;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }

  .iw2-sub-panel {
    order: 3;
    padding: 10px;
  }

  .iw2-panel-head--desktop,
  .iw2-current-card--desktop {
    display: none !important;
  }

  /* 產業大分類橫向 chips */
  .iw2-major-nav > .iw2-panel-head {
    display: none;
  }

  .iw2-major-card {
    flex: 0 0 158px;
    width: auto;
    min-width: 140px;
    max-width: 170px;
    scroll-snap-align: start;
    margin-top: 0 !important;
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .iw2-major-card + .iw2-major-card {
    margin-top: 0;
  }

  .iw2-major-card em {
    display: none;
  }

  .iw2-major-card small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .iw2-topic-tab {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  /* 子產業橫向 mini cards */
  .iw2-sub-list--scroll {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    max-height: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }

  .iw2-sub-mini {
    flex: 0 0 168px;
    scroll-snap-align: start;
    min-height: 108px;
  }

  .iw2-sub-mini span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* 心智圖 + 摘要 */
  .iw2-core {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
  }

  .iw2-mind-card,
  .iw2-summary-card {
    padding: 10px;
  }

  .iw2-card-head__hint {
    display: none;
  }

  .iw2-inline-actions--map {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 6px;
    padding-bottom: 2px;
  }

  .iw2-inline-actions--map .iw-mini-btn {
    flex: 0 0 auto;
    padding: 6px 10px;
    font-size: 11px;
    white-space: nowrap;
  }

  .iw2-adv-only {
    display: none;
  }

  .iw2-map-stage {
    height: 280px;
    min-height: 260px;
    max-height: 320px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .iw2-mind-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    grid-template-columns: none;
  }

  .iw2-mind-list button {
    flex: 0 0 150px;
    scroll-snap-align: start;
  }

  /* 摘要卡精簡 */
  .iw2-summary-card h2 {
    font-size: 18px;
  }

  .iw2-summary-lead {
    margin: 8px 0;
    font-size: 13px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .iw2-reading-fold {
    margin: 8px 0;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--iw-r-md);
    padding: 8px 10px;
    background: #f8fafc;
  }

  .iw2-reading-fold > summary {
    list-style: none;
    cursor: pointer;
    font-size: 12px;
  }

  .iw2-reading-fold > summary::-webkit-details-marker {
    display: none;
  }

  .iw2-reading-preview {
    display: block;
    margin-top: 4px;
    color: var(--ink-soft);
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .iw2-reading-fold[open] .iw2-reading-preview {
    display: none;
  }

  .iw2-reading-full {
    margin: 8px 0 0;
    color: var(--ink-soft);
    font-size: 12px;
    line-height: 1.45;
  }

  .iw2-chip-row--desktop,
  .iw2-mini-stock-list--desktop,
  .iw2-watch-btn {
    display: none !important;
  }

  .iw2-stock-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
  }

  .iw2-stock-chip {
    appearance: none;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    padding: 6px 10px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 11px;
    cursor: pointer;
    text-align: left;
  }

  .iw2-stock-chip b {
    font-weight: 900;
  }

  .iw2-stock-chip small {
    display: block;
    margin-top: 2px;
    color: var(--ink-soft);
    font-size: 10px;
  }

  .iw2-more-chip {
    align-self: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
  }

  .iw2-summary-actions {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
  }

  .iw2-summary-actions .iw-btn,
  .iw2-summary-actions .iw-mini-btn {
    justify-content: center;
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }

  /* 完整研究卡 accordion */
  .iw2-full-card {
    padding: 12px;
  }

  .iw2-full-head {
    display: grid;
    gap: 8px;
  }

  .iw2-full-head h2 {
    font-size: 20px;
  }

  .iw2-full-side {
    display: none !important;
  }

  .iw2-acc-section {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: var(--iw-r-md);
    margin-bottom: 8px;
    background: #fff;
    overflow: hidden;
  }

  .iw2-acc-section__sum {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
    font-weight: 800;
    color: var(--ink);
  }

  .iw2-acc-section__sum::-webkit-details-marker {
    display: none;
  }

  .iw2-acc-section__hint {
    color: var(--ink-soft);
    font-size: 11px;
    font-weight: 600;
  }

  .iw2-acc-section__body {
    padding: 0 12px 12px;
  }

  .iw2-acc-section__body > .iw2-section {
    border: 0;
    padding: 0;
    margin: 0;
    box-shadow: none;
  }

  .iw2-section-head--desktop {
    display: none !important;
  }

  .iw2-overview-grid,
  .iw2-analysis-grid,
  .iw2-news-grid {
    grid-template-columns: 1fr;
  }

  /* 比較圖卡橫向滑動 */
  .iw2-compare-dashboard--scroll {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }

  .iw2-compare-dashboard--scroll .iw2-compare-tile {
    flex: 0 0 280px;
    scroll-snap-align: start;
    max-width: 300px;
  }

  .iw2-compare-detail {
    margin-top: 8px;
  }

  /* 個股分析橫向卡片 + 下方詳情 */
  .iw2-stock-analysis-grid--scroll {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }

  .iw2-stock-analysis-grid--scroll .iw2-stock-tile {
    flex: 0 0 188px;
    scroll-snap-align: start;
  }

  .iw2-stock-tile strong {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 800;
  }

  .iw2-stock-tile__metrics {
    display: none;
  }

  .iw2-stock-hint--desktop {
    display: none;
  }

  .iw2-stock-detail-inline {
    display: block;
    margin-top: 10px;
  }

  .iw2-stock-detail-inline .iw2-stock-card {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: var(--iw-r-md);
    padding: 12px;
    background: #f8fafc;
  }

  /* 跨主題圖表高度 */
  .iw2-cross-anchor .map-chart,
  .iw2-cross-anchor #chartCross {
    height: 260px !important;
    min-height: 240px !important;
    max-height: 300px;
  }
}

/* ============================================================
   進階圖表（工作台版心智圖 + 跨產業連動）
   ============================================================ */
.iw-adv-charts {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px;
}

.iw-adv-section {
  background: var(--paper, #fff);
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: var(--shadow, 0 1px 3px rgba(15, 23, 42, 0.05));
}

.iw-adv-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--line, #e5e7eb);
}

.iw-adv-section__head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink, #0f172a);
  letter-spacing: 0.02em;
}

.iw-adv-section__head span {
  font-size: 12px;
  color: var(--ink-soft, #64748b);
}

.iw-adv-chart {
  width: 100%;
  height: 400px;
  min-height: 320px;
  background: rgba(255, 255, 255, 0.55);
  border-radius: 8px;
}

@media (max-width: 768px) {
  .iw-adv-chart {
    height: 340px;
    min-height: 280px;
  }
  .iw-adv-section__head h3 {
    font-size: 15px;
  }
}
