
/* rxmod isolated mobile-first layer. */
.rxmod-root {
  --rxm-bg: #f8f6ef;
  --rxm-surface: #ffffff;
  --rxm-surface-soft: #f7f9ff;
  --rxm-line: #e9dcc4;
  --rxm-line-soft: #edf0f6;
  --rxm-text: #1f2430;
  --rxm-muted: #697386;
  --rxm-blue: #3463e6;
  --rxm-blue-soft: #eaf0ff;
  --rxm-gold: #b78b25;
  --rxm-red: #d2383f;
  --rxm-green: #3d9650;
  --rxm-radius-sm: 0.625rem;
  --rxm-radius-md: 0.875rem;
  --rxm-radius-lg: 1.125rem;
  --rxm-gap-1: 0.5rem;
  --rxm-gap-2: 0.75rem;
  --rxm-gap-3: 1rem;
  --rxm-gap-4: 1.25rem;
  --rxm-pad-card: 1rem;
  --rxm-font-xs: 0.75rem;
  --rxm-font-sm: 0.875rem;
  --rxm-font-md: 1rem;
  --rxm-font-lg: 1.25rem;
  --rxm-font-xl: 1.5rem;
}

.rxmod-root,
.rxmod-root .rxmod-page,
.rxmod-root .rxmod-section,
.rxmod-root .rxmod-card,
.rxmod-root .rxmod-panel,
.rxmod-root .rxmod-scroll,
.rxmod-root .rxmod-grid,
.rxmod-root .rxmod-tabs {
  box-sizing: border-box;
  min-width: 0;
}

.rxmod-root .rxmod-page {
  width: 100%;
  max-width: min(100%, 47.5rem);
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 3.8vw, 1.25rem);
}

.rxmod-root .rxmod-section {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

.rxmod-root .rxmod-card,
.rxmod-root .rxmod-panel {
  width: 100%;
  max-width: 100%;
  border-radius: var(--rxm-radius-lg);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.rxmod-root .rxmod-card :where(h1,h2,h3,h4),
.rxmod-root .rxmod-panel :where(h1,h2,h3,h4) {
  line-height: 1.25;
  letter-spacing: 0;
}

.rxmod-root .rxmod-text,
.rxmod-root .rxmod-card :where(p,li),
.rxmod-root .rxmod-panel :where(p,li) {
  color: var(--rxm-text);
  line-height: 1.7;
}

.rxmod-root .rxmod-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rxm-gap-3);
}

.rxmod-root .rxmod-tabs,
.rxmod-root .rxmod-scroll {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.rxmod-root .rxmod-tabs > *,
.rxmod-root .rxmod-scroll > * {
  flex-shrink: 0;
}

.rxmod-root .rxmod-kline,
.rxmod-root .rxmod-chart {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.rxmod-root .rxmod-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rxmod-root .rxmod-table-wrap table {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
}

.rxmod-root .rxmod-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rxm-gap-2);
  align-items: center;
}

.rxmod-root .rxmod-actions :where(button,a) {
  max-width: 100%;
  min-height: 2.5rem;
  border-radius: var(--rxm-radius-sm);
  white-space: normal;
}

.rxmod-root .rxmod-skill-card {
  width: 100%;
  max-width: 100%;
  border-radius: var(--rxm-radius-lg);
}

.rxmod-root .rxmod-skill-card[data-rx-open="true"] {
  background: var(--rxm-surface-soft);
}

@media (min-width: 45rem) {
  .rxmod-root .rxmod-page {
    max-width: min(100%, 56.25rem);
    padding-inline: clamp(1.125rem, 4vw, 2rem);
  }
  .rxmod-root .rxmod-grid[data-rx-cols="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 67.5rem) {
  .rxmod-root .rxmod-page {
    max-width: min(100%, 67.5rem);
  }
}


/* rxmod route layer: full report and XiaoRui AI panels. */
.rxmod-root[data-rx-route="full"] {
  --rxm-full-max: min(100%, 62rem);
  --rxm-full-pad-x: clamp(0.625rem, 3.8vw, 1.375rem);
  --rxm-full-card-pad: clamp(0.875rem, 3.8vw, 1.25rem);
  --rxm-full-tab-gap: 0.5rem;
}

.rxmod-root[data-rx-route="ai"] {
  --rxm-ai-max: min(100%, 58rem);
  --rxm-ai-pad-x: clamp(0.625rem, 3.8vw, 1.25rem);
  --rxm-ai-card-pad: clamp(0.875rem, 3.8vw, 1.25rem);
}

.rxmod-root[data-rx-route="full"],
.rxmod-root[data-rx-route="ai"] {
  max-width: 100%;
  overflow-x: clip;
}

.rxmod-root[data-rx-route="full"] .rxmod-page,
.rxmod-root[data-rx-route="ai"] .rxmod-page {
  width: 100%;
  max-width: var(--rxm-full-max, var(--rxm-ai-max, min(100%, 58rem)));
  margin-inline: auto;
  padding-inline: var(--rxm-full-pad-x, var(--rxm-ai-pad-x, var(--rxm-gap-3)));
}

.rxmod-root[data-rx-route="full"] .rxmod-full-shell,
.rxmod-root[data-rx-route="full"] .rxmod-full-card,
.rxmod-root[data-rx-route="full"] .rxmod-full-section,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-shell,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-card,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-shell {
  margin-inline: auto;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-card,
.rxmod-root[data-rx-route="full"] .rxmod-full-section,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-card,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card {
  border-radius: var(--rxm-radius-lg);
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-tabs,
.rxmod-root[data-rx-route="full"] .rxmod-full-subtabs,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-tabs,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-tabs {
  width: 100%;
  max-width: 100%;
  display: flex;
  gap: var(--rxm-full-tab-gap, var(--rxm-gap-2));
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-tabs::-webkit-scrollbar,
.rxmod-root[data-rx-route="full"] .rxmod-full-subtabs::-webkit-scrollbar,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-tabs::-webkit-scrollbar,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-tabs::-webkit-scrollbar {
  display: none;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-tabs > *,
.rxmod-root[data-rx-route="full"] .rxmod-full-subtabs > *,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-tabs > *,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-tabs > * {
  flex: 0 0 auto;
  white-space: nowrap;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-metric-grid,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-card-grid,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rxm-gap-3);
  width: 100%;
  max-width: 100%;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-scroll-x,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-scroll-x {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-scroll-x > *,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-scroll-x > * {
  max-width: 100%;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-kline,
.rxmod-root[data-rx-route="full"] .rxmod-full-chart {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: var(--rxm-radius-md);
}

.rxmod-root[data-rx-route="full"] .rxmod-full-title,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-title {
  font-size: clamp(var(--rxm-font-lg), 5.4vw, var(--rxm-font-xl));
  line-height: 1.25;
  letter-spacing: 0;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-body-text,
.rxmod-root[data-rx-route="ai"] .rxmod-ai-body-text {
  font-size: clamp(var(--rxm-font-sm), 3.8vw, var(--rxm-font-md));
  line-height: 1.7;
  color: var(--rxm-text);
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-card,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card {
  padding: var(--rxm-ai-card-pad);
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-skill-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rxm-gap-3);
  width: 100%;
  max-width: 100%;
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-skill-list .rxmod-skill-card {
  min-height: auto;
}

@media (min-width: 45rem) {
  .rxmod-root[data-rx-route="full"] .rxmod-full-metric-grid,
  .rxmod-root[data-rx-route="ai"] .rxmod-ai-card-grid,
  .rxmod-root[data-rx-route="ai"] .rxmod-quant-card-grid,
  .rxmod-root[data-rx-route="ai"] .rxmod-ai-skill-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .rxmod-root[data-rx-route="full"] {
    --rxm-full-max: min(100%, 68rem);
  }
  .rxmod-root[data-rx-route="ai"] {
    --rxm-ai-max: min(100%, 64rem);
  }
}


/* rxmod focused refinements: full report mobile centering and AI card layout. */
.rxmod-root[data-rx-route="full"] .rxmod-full-shell,
.rxmod-root[data-rx-route="full"] .rxmod-full-card,
.rxmod-root[data-rx-route="full"] .rxmod-full-section {
  margin-inline: auto;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-card > *,
.rxmod-root[data-rx-route="full"] .rxmod-full-section > * {
  max-width: 100%;
  min-width: 0;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-stock-card,
.rxmod-root[data-rx-route="full"] .rxmod-full-decision-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rxm-gap-3);
  align-items: stretch;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-table-safe {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rxmod-root[data-rx-route="full"] .rxmod-full-table-safe > table,
.rxmod-root[data-rx-route="full"] .rxmod-full-table-safe table {
  min-width: max-content;
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-card,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card {
  margin-inline: auto;
  background-clip: padding-box;
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-skill-list,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card-grid {
  align-items: stretch;
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-skill-list > *,
.rxmod-root[data-rx-route="ai"] .rxmod-quant-card-grid > * {
  min-width: 0;
  max-width: 100%;
}

.rxmod-root[data-rx-route="ai"] .rxmod-ai-card [data-rx-open="true"],
.rxmod-root[data-rx-route="ai"] .rxmod-ai-card .rxmod-skill-card[data-rx-open="true"] {
  overflow: hidden;
}

@media (min-width: 45rem) {
  .rxmod-root[data-rx-route="full"] .rxmod-full-stock-card,
  .rxmod-root[data-rx-route="full"] .rxmod-full-decision-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
