.industry-chain-page { min-height: 100%; padding: 24px clamp(16px, 3vw, 42px) 44px; color: var(--text, #eaf1ff); background: radial-gradient(circle at 18% 10%, rgba(45, 212, 191, .12), transparent 34%), linear-gradient(135deg, #080d1b, #121b31); }
.industry-chain-shell { max-width: 1460px; margin: 0 auto; }
.industry-chain-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.industry-chain-header p, .industry-detail-kicker { margin: 0 0 7px; color: #7dd3fc; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.industry-chain-header h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.04em; }
.industry-chain-header span { display: block; color: #a5b4cf; margin-top: 8px; }
.industry-fixture-badge { border: 1px solid rgba(125, 211, 252, .32); border-radius: 999px; padding: 8px 12px; color: #bae6fd; white-space: nowrap; font-size: 12px; }
.industry-chain-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(290px, .75fr); gap: 16px; }
.industry-visual-panel, .industry-detail-panel { border: 1px solid rgba(148, 163, 184, .19); border-radius: 18px; background: rgba(9, 15, 31, .77); box-shadow: 0 20px 45px rgba(0, 0, 0, .18); }
.industry-scene-switcher { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: stretch; min-height: 76px; border-bottom: 1px solid rgba(148, 163, 184, .14); }
.industry-scene-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 9px; touch-action: pan-y; }
.industry-scene-rail button { position: relative; border: 1px solid transparent; border-radius: 12px; color: #93a4bd; background: transparent; cursor: pointer; text-align: left; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.industry-scene-rail button span, .industry-scene-rail button b { display: block; }
.industry-scene-rail button span { margin-bottom: 4px; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.industry-scene-rail button b { font-size: 14px; }
.industry-scene-rail button.is-active { border-color: rgba(94, 234, 212, .5); color: #edfdfa; background: linear-gradient(135deg, rgba(94, 234, 212, .2), rgba(14, 116, 144, .12)); }
.industry-scene-rail button.is-active::after { position: absolute; right: 10px; bottom: 9px; width: 18px; height: 2px; border-radius: 2px; background: #5eead4; content: ""; }
.industry-scene-arrow { border: 0; color: #cbd5e1; background: rgba(15, 23, 42, .5); cursor: pointer; font-size: 28px; line-height: 1; transition: color .2s ease, background .2s ease; }
.industry-scene-arrow:hover { color: #f8fafc; background: rgba(30, 41, 59, .85); }
.industry-visual-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 16px; border-bottom: 1px solid rgba(148, 163, 184, .14); }
.industry-layer-summary { display: grid; gap: 3px; }
.industry-layer-summary b { color: #dffdf8; font-size: 13px; }
.industry-layer-summary span { color: #7f96b3; font-size: 11px; }
.industry-visual-actions { display: flex; align-items: center; gap: 12px; }
.industry-scene-wrap { position: relative; min-height: 520px; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(56, 189, 248, .13), transparent 54%), linear-gradient(145deg, rgba(13, 24, 48, .8), rgba(4, 8, 18, .96)); }
.industry-stage-upstream { background: radial-gradient(circle at 27% 42%, rgba(139, 92, 246, .23), transparent 42%), radial-gradient(circle at 73% 55%, rgba(56, 189, 248, .12), transparent 43%), linear-gradient(145deg, #131026, #080b17); }
.industry-stage-midstream { background: radial-gradient(circle at 48% 45%, rgba(94, 234, 212, .14), transparent 46%), radial-gradient(circle at 75% 34%, rgba(251, 191, 36, .1), transparent 35%), linear-gradient(145deg, #0a1328, #050811); }
.industry-stage-midstream::before { position: absolute; inset: 0; z-index: 0; opacity: .5; background-image: linear-gradient(rgba(125, 211, 252, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 211, 252, .045) 1px, transparent 1px); background-size: 34px 34px; content: ""; mask-image: radial-gradient(ellipse at center, #000, transparent 78%); }
.industry-stage-downstream { background: radial-gradient(circle at 20% 40%, rgba(251, 113, 133, .18), transparent 44%), radial-gradient(circle at 73% 51%, rgba(14, 165, 233, .13), transparent 43%), linear-gradient(145deg, #1b0e1a, #080a15); }
.industry-scene { position: absolute; z-index: 1; inset: 0; }
.industry-scene canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.industry-scene canvas:active { cursor: grabbing; }
.industry-node-access-list { display: grid; gap: 9px; padding: 14px 16px 0; border-top: 1px solid rgba(148, 163, 184, .14); }
.industry-node-access-list > span { color: #94a3b8; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.industry-node-access-list > div { display: flex; flex-wrap: wrap; gap: 8px; }
.industry-node-access-list .industry-node-chip { min-height: 0; padding: 8px 10px; grid-template-columns: auto auto; align-items: center; gap: 6px; }
.industry-node-access-list .industry-node-chip b { font-size: 12px; }
.industry-node-access-list .industry-node-chip span { font-size: 10px; }
.industry-chain-page button:focus-visible, .industry-chain-page input:focus-visible { outline: 3px solid #f8fafc; outline-offset: 3px; }
.industry-2d-fallback { position: relative; z-index: 1; min-height: 520px; padding: 48px 34px 45px; }
.industry-fallback-title { display: block; margin-bottom: 20px; color: #94a3b8; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.industry-retry-3d { margin: -8px 0 18px; }
.industry-physical-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.industry-physical-grid .industry-node-chip { width: 100%; }
.industry-node-chip, .industry-process-step { border: 1px solid color-mix(in srgb, var(--node-color) 48%, transparent); background: color-mix(in srgb, var(--node-color) 11%, #0b1225); color: #eef6ff; border-radius: 12px; cursor: pointer; text-align: left; }
.industry-node-chip { min-height: 108px; padding: 14px; display: grid; gap: 10px; }
.industry-node-chip span, .industry-process-step span { color: var(--node-color); font-size: 11px; font-weight: 800; }
.industry-node-chip b, .industry-process-step b { font-size: 15px; }
.industry-node-chip.is-selected, .industry-process-step.is-selected { outline: 2px solid #57d7ff; background: color-mix(in srgb, #57d7ff 18%, #0b1225); }
.industry-node-chip.is-market-hot { box-shadow: inset 0 0 0 2px rgba(255, 23, 68, .88), 0 0 18px rgba(255, 59, 92, .22); }
.industry-node-chip em { justify-self: start; border: 1px solid rgba(255, 72, 105, .72); border-radius: 999px; padding: 2px 7px; color: #ff9aaa; background: rgba(112, 12, 38, .4); font-size: 10px; font-style: normal; font-weight: 800; }
.industry-highlight-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 16px 0; color: #aebbd0; font-size: 11px; }
.industry-highlight-legend span { display: inline-flex; align-items: center; gap: 6px; }
.industry-highlight-legend span::before { width: 9px; height: 9px; border-radius: 50%; content: ""; box-shadow: 0 0 10px currentColor; }
.industry-highlight-legend .is-selection { color: #57d7ff; }
.industry-highlight-legend .is-market { color: #ff4664; }
.industry-process-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 0; padding: 0; list-style: none; }
.industry-process-step { width: 100%; min-height: 84px; padding: 12px; display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; }
.industry-scene-hint { position: absolute; z-index: 2; right: 14px; bottom: 10px; margin: 0; padding: 6px 9px; border-radius: 7px; color: #aab9d0; background: rgba(7, 11, 25, .7); font-size: 11px; }
.industry-layer-note { margin: 0; padding: 12px 16px 14px; color: #97a9c4; font-size: 12px; line-height: 1.6; }
.industry-detail-panel { padding: 24px; }
.industry-detail-kicker { display: flex; align-items: center; gap: 8px; }
.industry-detail-kicker span { width: 8px; height: 8px; border-radius: 50%; background: var(--node-color); box-shadow: 0 0 13px var(--node-color); }
.industry-detail-panel h3 { margin: 0; font-size: 29px; }
.industry-detail-panel > p { color: #b5c2d8; line-height: 1.7; }
.industry-detail-category { color: #7dd3fc !important; font-size: 13px; }
.industry-research-route { margin-top: 20px; padding: 15px; border: 1px solid rgba(94, 234, 212, .28); border-radius: 12px; background: linear-gradient(145deg, rgba(10, 47, 55, .62), rgba(11, 22, 42, .72)); }
.industry-research-route-heading { display: flex; justify-content: space-between; gap: 10px; color: #a9c4d6; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.industry-research-route-heading b { color: #7ee9dc; font-size: 10px; letter-spacing: 0; }
.industry-research-component { margin: 13px 0 0 !important; color: #8fa5bf !important; font-size: 12px; }
.industry-research-component strong { color: #dffdf8; }
.industry-research-route h4 { margin: 6px 0 0; color: #f3fbff; font-size: 18px; }
.industry-research-route > p:not(.industry-research-component):not(.industry-research-action) { margin: 7px 0 0; color: #a8bad1; font-size: 12px; line-height: 1.6; }
.industry-research-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.industry-research-flow .industry-process-step { min-height: 92px; grid-template-columns: 22px 1fr; gap: 7px; padding: 10px; }
.industry-research-flow .industry-process-step span { grid-row: span 2; align-self: start; }
.industry-research-flow .industry-process-step b { font-size: 13px; }
.industry-research-flow .industry-process-step small { display: block; color: #8498b3; font-size: 10px; line-height: 1.35; }
.industry-research-action { margin: 12px 0 0 !important; color: #83a0ba !important; font-size: 11px; line-height: 1.6; }
.industry-metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0; }
.industry-metric-grid div { padding: 12px; border-radius: 12px; background: rgba(148, 163, 184, .08); }
.industry-metric-grid dt { color: #94a3b8; font-size: 11px; }
.industry-metric-grid dd { margin: 7px 0 2px; color: #f8fafc; font-size: 17px; font-weight: 800; }
.industry-metric-grid small { color: #8394ae; font-size: 10px; }
.industry-metric-grid .industry-market-status { grid-column: 1 / -1; border: 1px solid rgba(125, 211, 252, .2); background: linear-gradient(110deg, rgba(20, 48, 72, .55), rgba(15, 23, 42, .7)); }
.industry-market-status dd { font-size: 15px; }
.industry-market-status.is-signal { border-color: rgba(255, 59, 92, .55); background: linear-gradient(110deg, rgba(105, 12, 35, .48), rgba(34, 15, 31, .72)); }
.industry-market-status.is-signal dd { color: #ff9aaa; }
.industry-market-status.is-cooling { border-color: rgba(137, 160, 192, .4); background: linear-gradient(110deg, rgba(36, 52, 78, .52), rgba(15, 23, 42, .72)); }
.industry-market-status.is-cooling dd { color: #bac9dc; }
.industry-market-status.is-insufficient, .industry-market-status.is-not-connected, .industry-market-status.is-unavailable, .industry-market-status.is-unpublished { border-color: rgba(148, 163, 184, .34); background: rgba(51, 65, 85, .36); }
.industry-market-status.is-insufficient dd, .industry-market-status.is-not-connected dd, .industry-market-status.is-unavailable dd, .industry-market-status.is-unpublished dd { color: #c7d2e2; }
.industry-market-status.is-loading { border-color: rgba(87, 215, 255, .48); }
.industry-market-status.is-loading dd { color: #83e5ff; }
.industry-company-boundary { border-top: 1px solid rgba(148, 163, 184, .16); padding-top: 18px; }
.industry-company-boundary h4 { margin: 0; font-size: 14px; }
.industry-company-boundary p { color: #9fb0c8; font-size: 12px; line-height: 1.65; }
.industry-company-boundary button:disabled { opacity: .54; cursor: not-allowed; }
.industry-company-status { margin: 12px 0 0; color: #9fb0c8; font-size: 12px; line-height: 1.6; }
.industry-company-list { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.industry-company-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border-radius: 10px; background: rgba(148, 163, 184, .08); }
.industry-company-list strong, .industry-company-list span { display: block; }
.industry-company-list strong { color: #eaf1ff; font-size: 13px; }
.industry-company-list span { margin-top: 3px; color: #8ea1bf; font-size: 11px; }
.industry-chain-footer { margin-top: 14px; color: #8ea1bf; font-size: 12px; line-height: 1.55; }
.industry-chain-load-error { margin: 32px; color: #fbbf24; }
@media (max-width: 900px) { .industry-chain-layout { grid-template-columns: 1fr; } .industry-scene-wrap, .industry-2d-fallback { min-height: 420px; } }
@media (max-width: 620px) { .industry-chain-page { padding: 16px 12px 32px; } .industry-chain-header, .industry-visual-toolbar { align-items: flex-start; flex-direction: column; } .industry-visual-actions { width: 100%; justify-content: space-between; } .industry-scene-switcher { grid-template-columns: 34px minmax(0, 1fr) 34px; } .industry-scene-rail { gap: 3px; padding: 6px; } .industry-scene-rail button { padding: 8px 5px; } .industry-scene-rail button b { font-size: 12px; } .industry-scene-rail button span { font-size: 10px; } .industry-physical-grid { grid-template-columns: repeat(2, 1fr); } .industry-process-flow, .industry-research-flow { grid-template-columns: 1fr; } .industry-2d-fallback { padding: 36px 18px; } .industry-scene-wrap, .industry-2d-fallback { min-height: 410px; } }
@media (prefers-reduced-motion: reduce) { .industry-chain-page *, .industry-chain-page *::before, .industry-chain-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

.industry-origin-trail {
  display: flex;
  align-items: center;
  min-height: 34px;
  gap: 8px;
  margin: 0 0 10px;
  color: #8296b1;
  font-size: 11px;
}

.industry-origin-trail button {
  min-width: 78px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(121, 216, 234, .32);
  border-radius: 7px;
  color: #a6ecf5;
  background: rgba(20, 69, 82, .26);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.industry-origin-trail span,
.industry-origin-trail strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.industry-origin-trail span::before,
.industry-origin-trail strong::before {
  margin-right: 8px;
  color: #51627a;
  content: "/";
}

.industry-origin-trail strong {
  color: #d7e5f1;
  font-weight: 700;
}

.industry-origin-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 3px 8px;
  margin: 0 0 16px;
  padding: 9px 10px;
  border-left: 2px solid #79d8ea;
  background: rgba(56, 189, 248, .07);
}

.industry-origin-context span {
  color: #79d8ea;
  font-size: 10px;
  font-weight: 800;
}

.industry-origin-context b {
  overflow: hidden;
  color: #e7f1f8;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.industry-origin-context small {
  grid-column: 1 / -1;
  color: #8296b1;
  font-size: 10px;
}

@media (max-width: 620px) {
  .industry-origin-trail span:first-of-type {
    display: none;
  }

  .industry-origin-trail {
    overflow: hidden;
  }
}

/* Product-shell normalization: the 3D object is the primary surface; research
   and audit evidence remain available without competing for first-screen space. */
.industry-chain-page { --industry-line: rgba(148, 163, 184, .18); --industry-panel: rgba(7, 14, 28, .88); --industry-panel-raised: rgba(14, 27, 49, .8); padding: clamp(16px, 2.4vw, 34px) clamp(14px, 2.8vw, 42px) 46px; background: radial-gradient(circle at 22% 0%, rgba(64, 192, 218, .12), transparent 30%), linear-gradient(135deg, #060b14, #0c172a); }
.industry-chain-shell { max-width: 1540px; }
.industry-chain-header { align-items: center; margin-bottom: 16px; }
.industry-chain-header p { color: #79d8ea; letter-spacing: .1em; }
.industry-chain-header h2 { font-size: clamp(27px, 3.2vw, 38px); }
.industry-chain-header span { max-width: 680px; color: #a7b8ce; font-size: 14px; line-height: 1.55; }
.industry-fixture-badge { border-radius: 10px; color: #b7cbdb; background: rgba(8, 20, 39, .64); }
.industry-chain-layout { grid-template-columns: minmax(0, 1.72fr) minmax(330px, .82fr); gap: 18px; align-items: start; }
.industry-visual-panel, .industry-detail-panel { border-radius: 14px; border-color: var(--industry-line); background: var(--industry-panel); box-shadow: 0 24px 62px rgba(0, 0, 0, .22); }
.industry-scene-switcher { min-height: 82px; grid-template-columns: 48px minmax(0, 1fr) 48px; }
.industry-scene-rail { gap: 5px; padding: 8px; }
.industry-scene-rail button { width: 100%; min-width: 0; height: 100%; min-height: 60px; padding: 10px 12px; border-radius: 10px; text-align: center; }
.industry-scene-rail button span, .industry-scene-rail button b, .industry-scene-rail button small { display: block; }
.industry-scene-rail .industry-scene-index { margin: 0 0 5px; color: #71839e; font-size: 10px; letter-spacing: .1em; }
.industry-scene-rail button b { font-size: 15px; line-height: 1.1; }
.industry-scene-rail button small { margin-top: 4px; color: #8193ad; font-size: 11px; line-height: 1; }
.industry-scene-rail button.is-active { border-color: rgba(94, 234, 212, .46); background: linear-gradient(145deg, rgba(44, 184, 180, .2), rgba(12, 36, 57, .64)); }
.industry-scene-rail button.is-active .industry-scene-index, .industry-scene-rail button.is-active small { color: #aef5eb; }
.industry-scene-rail button.is-active::after { right: 50%; bottom: 7px; width: 22px; transform: translateX(50%); }
.industry-visual-toolbar { min-height: 66px; padding: 13px 18px; }
.industry-layer-summary b { font-size: 14px; }
.industry-layer-summary span { max-width: 500px; font-size: 12px; line-height: 1.45; }
.industry-visual-actions { gap: 8px; }
.industry-visual-actions .mini-action { min-height: 34px; border-radius: 8px; }
.industry-scene-wrap { min-height: clamp(390px, 43vw, 620px); }
.industry-scene-hint { right: 16px; bottom: 14px; max-width: calc(100% - 32px); border: 1px solid rgba(148, 163, 184, .14); border-radius: 8px; background: rgba(5, 10, 20, .78); }
.industry-highlight-legend { padding: 13px 18px 0; }
.industry-node-access-list { gap: 8px; padding: 14px 18px 0; }
.industry-node-access-list > span { color: #9eb0c8; }
.industry-node-access-list > div { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
.industry-node-access-list .industry-node-chip { flex: 0 0 auto; min-height: 42px; padding: 8px 10px; border-radius: 8px; }
.industry-node-access-list .industry-node-chip span { font-size: 10px; }
.industry-node-access-list .industry-node-chip b { font-size: 12px; white-space: nowrap; }
.industry-layer-note { padding: 13px 18px 16px; border-top: 1px solid rgba(148, 163, 184, .1); }
.industry-detail-panel { padding: 22px; }
.industry-detail-kicker { color: #77dbe9; letter-spacing: .09em; }
.industry-detail-panel h3 { font-size: clamp(23px, 2vw, 30px); line-height: 1.15; }
.industry-detail-panel > p { margin: 9px 0; font-size: 14px; line-height: 1.65; }
.industry-detail-category { margin-top: 8px !important; color: #84dce9 !important; }
.industry-research-route { margin-top: 18px; padding: 15px; border-radius: 10px; border-color: rgba(94, 234, 212, .24); background: linear-gradient(145deg, rgba(11, 45, 55, .45), rgba(11, 21, 40, .68)); }
.industry-research-route-heading { color: #b5c7d8; }
.industry-research-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.industry-research-flow .industry-process-step { min-height: 76px; padding: 9px; }
.industry-research-flow .industry-process-step small { display: none; }
.industry-market-summary { display: grid; gap: 9px; margin: 18px 0; }
.industry-market-status { padding: 13px; border-radius: 10px; }
.industry-market-status dt, .industry-market-glance span { color: #91a4be; font-size: 11px; }
.industry-market-status dd { margin: 5px 0 4px; font-size: 16px; }
.industry-market-status small, .industry-market-glance small { color: #94a6bd; font-size: 11px; line-height: 1.5; }
.industry-market-glance { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; padding: 0 2px; }
.industry-market-glance b { color: #e4edf6; font-size: 15px; }
.industry-market-glance small { grid-column: 1 / -1; margin-top: 4px; }
.industry-company-boundary { padding-top: 18px; }
.industry-company-boundary h4 { font-size: 15px; }
.industry-company-boundary > p { margin: 7px 0 12px; }
.industry-company-list li { padding: 11px; border: 1px solid rgba(148, 163, 184, .11); border-radius: 9px; background: var(--industry-panel-raised); }

@media (max-width: 1180px) {
  .industry-chain-layout { grid-template-columns: 1fr; }
  .industry-detail-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); column-gap: 22px; }
  .industry-detail-kicker, .industry-detail-panel h3, .industry-detail-panel > p { grid-column: 1; }
  .industry-research-route, .industry-market-summary { grid-column: 1; }
  .industry-company-boundary { grid-column: 2; }
  .industry-company-boundary { border-top: 0; padding-top: 4px; }
}
@media (max-width: 760px) {
  .industry-chain-header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .industry-fixture-badge { white-space: normal; }
  .industry-scene-switcher { min-height: 68px; grid-template-columns: 38px minmax(0, 1fr) 38px; }
  .industry-scene-rail { gap: 2px; padding: 6px 3px; }
  .industry-scene-rail button { padding: 8px 4px; }
  .industry-scene-rail button b { font-size: 13px; }
  .industry-scene-rail button small { font-size: 10px; }
  .industry-scene-rail .industry-scene-index { display: none; }
  .industry-visual-toolbar { align-items: flex-start; flex-direction: column; }
  .industry-visual-actions { width: 100%; justify-content: flex-start; }
  .industry-scene-wrap { min-height: 400px; }
  .industry-detail-panel { display: block; }
  .industry-company-boundary { border-top: 1px solid var(--industry-line); padding-top: 18px; }
}
@media (max-width: 520px) {
  .industry-chain-page { padding: 14px 10px 32px; }
  .industry-chain-header h2 { font-size: 27px; }
  .industry-chain-header span { font-size: 13px; }
  .industry-scene-rail button small { display: none; }
  .industry-scene-rail button { min-height: 48px; }
  .industry-visual-actions .mini-action { flex: 1 1 0; }
  .industry-research-flow { grid-template-columns: 1fr; }
  .industry-scene-wrap { min-height: 350px; }
}

/* Trading-research focus: one model, one visible market state, one company list.
   Process and audit controls stay discoverable without competing on first view. */
.industry-chain-page {
  --industry-accent: #e33d58;
  --industry-panel: rgba(7, 14, 27, .94);
  --industry-panel-raised: rgba(17, 29, 47, .78);
  background: radial-gradient(circle at 45% 5%, rgba(29, 82, 110, .13), transparent 33%), #07111d;
}
.industry-chain-shell { max-width: 1500px; }
.industry-chain-header { margin-bottom: 12px; }
.industry-chain-header p { margin-bottom: 4px; color: #a9bed2; font-size: 11px; letter-spacing: .06em; }
.industry-chain-header h2 { font-size: clamp(24px, 2.5vw, 32px); letter-spacing: -.025em; }
.industry-chain-header span { max-width: 620px; margin-top: 5px; font-size: 13px; }
.industry-fixture-badge { display: none; }
.industry-chain-layout { grid-template-columns: minmax(0, 1.9fr) minmax(330px, .72fr); gap: 14px; }
.industry-visual-panel, .industry-detail-panel { border-radius: 10px; box-shadow: none; }
.industry-scene-switcher { min-height: 62px; grid-template-columns: 40px minmax(0, 1fr) 40px; }
.industry-scene-rail { padding: 5px; gap: 4px; }
.industry-scene-rail button { min-height: 50px; padding: 7px 10px; border-radius: 7px; }
.industry-scene-rail .industry-scene-index, .industry-scene-rail button small { display: none; }
.industry-scene-rail button b { font-size: 14px; }
.industry-scene-rail button.is-active { border-color: rgba(106, 190, 208, .5); background: rgba(32, 76, 96, .35); }
.industry-scene-rail button.is-active::after { bottom: 5px; background: #79d8ea; }
.industry-visual-toolbar { min-height: 52px; padding: 9px 14px; }
.industry-layer-summary { display: block; }
.industry-layer-summary b { color: #d8e7f4; font-size: 13px; }
.industry-layer-summary span { display: none; }
.industry-visual-actions .mini-action { min-height: 30px; padding: 5px 9px; }
.industry-scene-wrap { min-height: clamp(430px, 47vw, 650px); }
.industry-scene-hint { padding: 5px 8px; font-size: 10px; }
.industry-node-access-list { display: block; margin: 0; padding: 0; border-top: 1px solid rgba(148, 163, 184, .12); }
.industry-node-access-list summary { padding: 10px 14px; color: #8194ad; cursor: pointer; font-size: 11px; font-weight: 700; list-style: none; }
.industry-node-access-list summary::after { float: right; color: #a7b9ca; content: "+"; }
.industry-node-access-list[open] summary::after { content: "−"; }
.industry-node-access-list > div { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 14px 12px; overflow: visible; }
.industry-node-access-list .industry-node-chip { flex: 0 1 auto; min-height: 32px; padding: 6px 8px; border-radius: 6px; }
.industry-node-access-list .industry-node-chip span { display: none; }
.industry-node-access-list .industry-node-chip b { font-size: 11px; }
.industry-layer-note { padding: 9px 14px 12px; border-top: 0; color: #70859e; font-size: 11px; }
.industry-detail-panel { padding: 18px; }
.industry-company-focus { display: grid; gap: 0; }
.industry-detail-kicker { margin: 0 0 8px; color: #aabdd0; font-size: 11px; letter-spacing: .06em; }
.industry-detail-kicker span { box-shadow: none; }
.industry-detail-panel h3 { margin: 0; font-size: clamp(23px, 2vw, 28px); }
.industry-hotspot-copy { margin: 7px 0 12px; color: #93a8bf; font-size: 12px; line-height: 1.45; }
.industry-market-glance { display: flex; align-items: baseline; gap: 8px; margin: 0 0 17px; padding: 8px 0; border-top: 1px solid rgba(148, 163, 184, .13); border-bottom: 1px solid rgba(148, 163, 184, .13); }
.industry-market-glance span { color: #8498b0; font-size: 11px; }
.industry-market-glance b { color: #d8e6f3; font-size: 14px; }
.industry-market-glance.is-signal b, .industry-company-focus:has(.industry-detail-kicker span[style*="ff355c"]) h3 { color: #ff5a70; }
.industry-company-focus h4 { margin: 0; color: #edf5fb; font-size: 15px; }
.industry-company-focus > p:not(.industry-hotspot-copy) { margin: 6px 0 10px; color: #8498b0; font-size: 11px; line-height: 1.45; }
.industry-detail-panel h3.is-compute-core { font-size: clamp(20px, 1.55vw, 24px); letter-spacing: -.025em; }
.industry-compute-core-subheading { margin: 3px 0 7px !important; color: #7fa0b8 !important; font-size: 11px !important; font-weight: 700; letter-spacing: .04em; }
.industry-compute-theme-picker { margin: 11px 0 2px; padding: 9px 0 10px; border-top: 1px solid rgba(148, 163, 184, .12); border-bottom: 1px solid rgba(148, 163, 184, .12); }
.industry-compute-theme-picker > p { margin: 0 0 7px; color: #8498b0; font-size: 10px; font-weight: 700; letter-spacing: .05em; }
.industry-compute-theme-picker > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.industry-compute-theme-picker button { display: grid; grid-template-columns: 1fr; align-content: center; gap: 2px; min-width: 0; min-height: 40px; padding: 5px 6px; border: 1px solid rgba(94, 234, 212, .19); border-radius: 6px; background: transparent; color: #9fb0c1; cursor: pointer; font: inherit; font-size: 10px; line-height: 1.1; text-align: left; transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
.industry-compute-theme-picker button span { color: #72d4c9; font-size: 10px; font-weight: 800; white-space: nowrap; }
.industry-compute-theme-picker button b { min-width: 0; overflow: visible; font-size: 10px; font-weight: 700; white-space: nowrap; }
.industry-compute-theme-picker button:hover { border-color: rgba(87, 215, 255, .48); color: #d7e7f3; }
.industry-compute-theme-picker button:active { transform: translateY(1px); }
.industry-compute-theme-picker button.is-selected { border-color: rgba(87, 215, 255, .7); background: rgba(29, 129, 158, .18); color: #e9f7ff; }
.industry-compute-theme-picker button.is-selected span { color: #8eeaff; }
.industry-company-list { gap: 0; margin: 0; border-top: 0; }
.industry-company-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 10px; padding: 10px 0; border-radius: 0; border: 0; border-bottom: 1px solid rgba(148, 163, 184, .12); background: transparent; }
.industry-company-list li:has(.mini-action) { grid-template-columns: minmax(0, 1fr) auto auto; }
.industry-company-list strong { color: #e9f1f8; font-size: 13px; }
.industry-company-list span { display: block; margin-top: 2px; color: #8399b2; font-size: 11px; }
.industry-company-list .mini-action { min-height: 28px; padding: 4px 8px; border-radius: 6px; }
.industry-company-quote { min-width: 78px; color: #8597aa; font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.industry-company-quote.cn.is-positive, .industry-company-quote.hk.is-positive, .industry-company-quote.us.is-negative { color: #ff6d7f; }
.industry-company-quote.cn.is-negative, .industry-company-quote.hk.is-negative, .industry-company-quote.us.is-positive { color: #69c99a; }
.industry-company-quote.is-flat { color: #9cacbb; }
.industry-company-status { margin: 8px 0 0; }
.industry-company-directory { display: grid; gap: 18px; margin-top: 12px; }
.industry-company-list .mini-action.is-disabled { border-color: rgba(148, 163, 184, .11); background: rgba(148, 163, 184, .04); color: #63758b; cursor: not-allowed; }

@media (max-width: 1180px) {
  .industry-chain-layout { grid-template-columns: 1fr; }
  .industry-detail-panel { display: block; }
}
@media (max-width: 760px) {
  .industry-chain-header { margin-bottom: 10px; }
  .industry-scene-switcher { min-height: 54px; grid-template-columns: 32px minmax(0, 1fr) 32px; }
  .industry-scene-rail button { min-height: 42px; padding: 6px 3px; }
  .industry-scene-rail button b { font-size: 12px; }
  .industry-visual-toolbar { align-items: center; flex-direction: row; }
  .industry-visual-actions { width: auto; }
  .industry-layer-summary { display: none; }
  .industry-scene-wrap { min-height: 390px; }
  .industry-company-list li, .industry-company-list li:has(.mini-action) { grid-template-columns: minmax(0, 1fr) auto; }
  .industry-company-list .mini-action { grid-column: 2; }
  .industry-company-quote { grid-column: 2; grid-row: 1; }
  .industry-company-list .mini-action.is-disabled { grid-row: 2; }
}

/* Trading rail v2: the right rail is a trading surface, not a product manual. */
.industry-subdivision-context { margin: 4px 0 14px; color: #8fa4bd; font-size: 12px; }
.industry-subdivision-rail { margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(148, 163, 184, .16); }
.industry-subdivision-rail > header, .industry-stock-pool > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.industry-subdivision-rail h4, .industry-stock-pool h4 { margin: 0; color: #e7f0f8; font-size: 15px; }
.industry-subdivision-rail > header span { color: #6f849d; font-size: 11px; }
.industry-subdivision-rail > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.industry-subdivision-rail button { position: relative; width: 100%; height: auto; min-height: 42px; padding: 8px 10px; border: 1px solid rgba(113, 135, 161, .3); border-radius: 8px; background: rgba(17, 31, 51, .42); box-shadow: none; color: #b9c9d9; cursor: pointer; text-align: left; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.industry-subdivision-rail button:hover, .industry-subdivision-rail button:focus-visible { border-color: rgba(95, 219, 230, .76); background: rgba(35, 93, 103, .2); color: #e9fbff; outline: none; }
.industry-subdivision-rail button:active { transform: translateY(1px); }
.industry-subdivision-rail button b { display: block; font-size: 13px; line-height: 1.25; }
.industry-subdivision-rail button.is-selected { border-color: #5bd6de; background: rgba(42, 121, 129, .25); color: #eaffff; box-shadow: inset 0 0 0 1px rgba(91, 214, 222, .15); }
.industry-subdivision-rail button.is-market-hot { border-color: #ff4d6d; background: rgba(128, 19, 46, .34); color: #fff0f3; box-shadow: inset 0 0 0 1px rgba(255, 77, 109, .25), 0 0 18px rgba(255, 54, 91, .16); }
.industry-subdivision-rail button em { position: absolute; right: 7px; bottom: 5px; color: #ff9baa; font-size: 9px; font-style: normal; font-weight: 800; }
.industry-subdivision-empty { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid rgba(148, 163, 184, .12); color: #8196ad; font-size: 12px; line-height: 1.55; }
.industry-stock-pool { margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(148, 163, 184, .16); }
.industry-stock-pool > header > span { color: #ff8ca0; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.industry-market-company-groups { display: grid; gap: 0; margin-top: 12px; }
.industry-market-company-group { padding: 10px 0 9px; border-top: 1px solid rgba(148, 163, 184, .12); }
.industry-market-company-group.is-priority { border-top-color: rgba(255, 90, 112, .52); }
.industry-market-company-group header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; gap: 10px; margin-bottom: 1px; }
.industry-market-company-group h5 { display: flex; align-items: baseline; gap: 6px; margin: 0; color: #dce8f3; font-size: 13px; }
.industry-market-company-group.is-priority h5 { color: #ff8798; }
.industry-market-company-group header > span { color: #71869e; font-size: 11px; font-variant-numeric: tabular-nums; }
.industry-market-toggle { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #91a8c0; cursor: pointer; font: inherit; font-size: 17px; line-height: 1; }
.industry-market-toggle:hover, .industry-market-toggle:focus-visible { background: rgba(105, 218, 226, .12); color: #dceef7; outline: none; }
.industry-market-company-group .industry-company-status { margin: 6px 0 0; color: #71869e; font-size: 11px; }

@media (max-width: 760px) {
  .industry-subdivision-rail > div { grid-template-columns: 1fr; }
  .industry-market-company-group { padding: 9px 0; }
}
