:root {
  --bg: #f5f5f5;
  --surface: #ffffff;
  --surface-strong: #f9f9f9;
  --surface-elevated: #ffffff;
  --line: #e8e8e8;
  --line-strong: #d4d4d4;
  --ink: #0a0a0a;
  --muted: #555555;
  --accent: #0a0a0a;
  --accent-strong: #000000;
  --accent-soft: #f0f0f0;
  --chrome: #0a0a0a;
  --success: #16a34a;
  --warn: #ca8a04;
  --error: #dc2626;
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  --mono: "Space Grotesk", "SFMono-Regular", ui-monospace, monospace;
}

/* Dashboard final polish */
#page-dashboard {
  --dash-accent: #5fa676;
  --dash-accent-strong: #2f6b44;
  --dash-accent-line: rgba(95, 166, 118, 0.24);
  --dash-accent-soft: rgba(95, 166, 118, 0.1);
  --dash-line: rgba(11, 17, 16, 0.08);
  --dash-text: #102019;
  --dash-muted: #A0A0A0;
  padding: 24px 0 120px;
  background: #f6f7f3;
}

#page-dashboard .workspace {
  max-width: 1480px;
  padding: 0 36px;
  width: 100%;
  box-sizing: border-box;
}

#page-dashboard .dashboard-shell {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#page-dashboard .dashboard-main {
  display: grid;
  gap: 72px;
  min-width: 0;
}

#page-dashboard .dashboard-stage {
  display: grid;
  gap: 26px;
  min-width: 0;
  width: 100%;
}

#page-dashboard .dashboard-stage-head,
#page-dashboard .dashboard-journey-head {
  display: grid;
  gap: 10px;
  max-width: 760px;
  padding: 0;
}

#page-dashboard .dashboard-stage-kicker,
#page-dashboard .dashboard-journey-kicker {
  margin: 0;
  color: #72816d;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#page-dashboard .dashboard-stage-title,
#page-dashboard .dashboard-journey-title {
  margin: 0;
  color: var(--dash-text);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

#page-dashboard .dashboard-stage-title {
  font-size: clamp(1.7rem, 2.6vw, 2.3rem);
}

#page-dashboard .dashboard-journey-title {
  font-size: clamp(1.24rem, 2vw, 1.56rem);
}

#page-dashboard .dashboard-stage-desc,
#page-dashboard .dashboard-stage-note,
#page-dashboard .dashboard-journey-desc,
#page-dashboard .dashboard-head-copy p,
#page-dashboard .section-head p,
#page-dashboard .recommend-market-note,
#page-dashboard .assist-note,
#page-dashboard .eta-note {
  margin: 0;
  color: var(--dash-muted);
}

#page-dashboard .dashboard-stage-desc,
#page-dashboard .dashboard-journey-desc,
#page-dashboard .dashboard-head-copy p,
#page-dashboard .section-head p,
#page-dashboard .recommend-market-note {
  font-size: 0.97rem;
  line-height: 1.68;
}

#page-dashboard .dashboard-stage-note {
  max-width: 980px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.88rem;
  line-height: 1.65;
}

#page-dashboard .dashboard-journey {
  display: grid;
  gap: 20px;
  padding: 0 0 28px;
  border: 0;
  border-bottom: 1px solid rgba(95, 166, 118, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#page-dashboard .dashboard-journey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

#page-dashboard .dashboard-journey-card {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(95, 166, 118, 0.16);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  text-align: left;
  box-shadow: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

#page-dashboard .dashboard-journey-card:hover {
  transform: translateY(-1px);
  border-color: rgba(95, 166, 118, 0.32);
  background: rgba(255, 255, 255, 0.92);
}

#page-dashboard .dashboard-journey-step {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(95, 166, 118, 0.12);
  border: 1px solid rgba(95, 166, 118, 0.16);
  color: #3d6f4d;
  box-shadow: none;
}

#page-dashboard .dashboard-journey-copy {
  display: grid;
  gap: 6px;
}

#page-dashboard .dashboard-journey-copy strong {
  font-size: 0.96rem;
  line-height: 1.35;
  color: var(--dash-text);
}

#page-dashboard .dashboard-journey-copy p {
  margin: 0;
  font-size: 0.90rem;
  line-height: 1.58;
  color: var(--dash-muted);
}

#page-dashboard .dashboard-journey-action,
#page-dashboard .dashboard-bullet-list {
  display: none !important;
}

#page-dashboard .dashboard-stage-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

#page-dashboard .dashboard-stage-grid--context > #section-macro { grid-column: 1 / span 7; }
#page-dashboard .dashboard-stage-grid--context > #section-day-score { grid-column: 8 / span 5; }
#page-dashboard .dashboard-stage-grid--opportunity > #section-recommend { grid-column: 1 / span 8; }
#page-dashboard .dashboard-stage-grid--opportunity > #section-market-intel { grid-column: 9 / span 4; }

#page-dashboard .panel,
#page-dashboard .research-studio-shell {
  border-radius: 30px;
  border: 1px solid var(--dash-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 253, 251, 0.98));
  box-shadow: 0 12px 34px rgba(16, 32, 25, 0.04);
}

#page-dashboard .macro-panel::before,
#page-dashboard .day-score-panel::before,
#page-dashboard .recommend-panel::before,
#page-dashboard .checkpoint-panel::before,
#page-dashboard .mindmap-panel::before,
#page-dashboard .analysis-panel::before,
#page-dashboard .market-intel-panel::before,
#page-dashboard .report-panel::before,
#page-dashboard .links-panel::before {
  display: none;
}

#page-dashboard .macro-panel,
#page-dashboard .day-score-panel,
#page-dashboard .recommend-panel,
#page-dashboard .market-intel-panel,
#page-dashboard .analysis-panel,
#page-dashboard .checkpoint-panel,
#page-dashboard .mindmap-panel,
#page-dashboard .report-panel {
  padding: 28px;
}

#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head,
#page-dashboard .report-head,
#page-dashboard .section-head {
  display: grid;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(11, 17, 16, 0.07);
}

#page-dashboard .recommend-head { border-bottom: 1px solid rgba(11, 17, 16, 0.07); }
#page-dashboard .macro-head h2,
#page-dashboard .day-score-head h2,
#page-dashboard .recommend-head h2,
#page-dashboard .market-intel-head h2,
#page-dashboard .analysis-panel h2,
#page-dashboard .checkpoint-panel h2,
#page-dashboard .mindmap-panel h2,
#page-dashboard .report-panel h2,
#page-dashboard .links-panel h2 {
  color: var(--dash-text);
}

#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

#page-dashboard .dashboard-head-copy,
#page-dashboard .recommend-head .dashboard-head-copy {
  display: grid;
  gap: 8px;
  max-width: 620px;
}

#page-dashboard .recommend-market-note {
  max-width: 34rem;
  font-size: 0.92rem;
  line-height: 1.62;
  color: #A0A0A0;
}

#page-dashboard .macro-head-right,
#page-dashboard .day-score-head-right,
#page-dashboard .recommend-head-right,
#page-dashboard .market-intel-head-right,
#page-dashboard .report-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── 가상 매수 버튼 ── */
.sim-buy-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid rgba(99, 185, 130, 0.45);
  background: rgba(99, 185, 130, 0.08);
  color: #4ade80;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.sim-buy-btn:hover {
  background: rgba(99, 185, 130, 0.16);
  border-color: rgba(99, 185, 130, 0.7);
  color: #86efac;
}
[data-theme="light"] .sim-buy-btn {
  border-color: rgba(22, 163, 74, 0.35);
  background: rgba(22, 163, 74, 0.06);
  color: #16a34a;
}
[data-theme="light"] .sim-buy-btn:hover {
  background: rgba(22, 163, 74, 0.12);
  border-color: rgba(22, 163, 74, 0.6);
  color: #15803d;
}
.sim-buy-btn--ghost {
  border-color: rgba(255,255,255,0.12);
  background: transparent;
  color: rgba(255,255,255,0.55);
  font-size: 12px;
}
.sim-buy-btn--ghost:hover {
  border-color: rgba(99, 185, 130, 0.5);
  background: rgba(99, 185, 130, 0.08);
  color: #4ade80;
}
[data-theme="light"] .sim-buy-btn--ghost {
  border-color: rgba(0,0,0,0.12);
  color: rgba(0,0,0,0.45);
}
[data-theme="light"] .sim-buy-btn--ghost:hover {
  border-color: rgba(22, 163, 74, 0.5);
  background: rgba(22, 163, 74, 0.06);
  color: #16a34a;
}

#page-dashboard .macro-updated,
#page-dashboard .panel-chip-btn,
#page-dashboard .research-studio-tab,
#page-dashboard .research-flow-btn,
#page-dashboard .research-flow-btn--ghost,
#page-dashboard .ghost-btn,
#page-dashboard .analysis-cta-btn,
#page-dashboard .analysis-secondary-btn,
#page-dashboard .stop-analyze-btn,
#page-dashboard .quick-pick-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid var(--dash-accent-line);
  background: #ffffff;
  color: var(--dash-accent-strong);
  box-shadow: none;
  font-weight: 700;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

#page-dashboard .quick-pick-btn {
  min-height: 36px;
  padding: 0 12px;
  font-size: 0.87rem;
}

#page-dashboard .macro-updated {
  min-height: 36px;
  color: #A0A0A0;
  border-color: rgba(11, 17, 16, 0.08);
}

#page-dashboard .analysis-secondary-btn,
#page-dashboard .stop-analyze-btn,
#page-dashboard .ghost-btn {
  color: #A0A0A0;
  border-color: rgba(11, 17, 16, 0.1);
}

#page-dashboard .panel-chip-btn:hover,
#page-dashboard .research-studio-tab:hover,
#page-dashboard .research-flow-btn:hover,
#page-dashboard .research-flow-btn--ghost:hover,
#page-dashboard .ghost-btn:hover,
#page-dashboard .analysis-cta-btn:hover,
#page-dashboard .analysis-secondary-btn:hover,
#page-dashboard .stop-analyze-btn:hover,
#page-dashboard .quick-pick-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(95, 166, 118, 0.38);
  background: #f9fcf8;
  color: #285d39;
}

#page-dashboard .analysis-cta-btn:disabled {
  border-color: rgba(148, 163, 184, 0.2);
  background: #f6f7f8;
  color: #9aa6a1;
  transform: none;
}

#page-dashboard .cp-credit-badge {
  background: rgba(95, 166, 118, 0.12);
  color: #2f6b44;
}

#page-dashboard .quick-pick-btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

#page-dashboard .analysis-form,
#page-dashboard .checkpoint-form,
#page-dashboard .mindmap-form {
  display: grid;
  gap: 14px;
}

#page-dashboard .analysis-form-hint {
  margin: -4px 0 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.01em;
}

#page-dashboard .cp-form-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

#page-dashboard .analyze-btn-row {
  gap: 10px;
  align-items: center;
}

#page-dashboard .analysis-inline-feedback {
  color: #315b43;
}

#page-dashboard .assist-note {
  font-size: 0.90rem;
  line-height: 1.62;
  padding: 12px 14px;
  border: 1px solid rgba(95, 166, 118, 0.1);
  border-radius: 16px;
  background: rgba(250, 252, 249, 0.92);
}

#page-dashboard .research-service-disclaimer {
  font-size: 0.72rem;
  line-height: 1.4;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#page-dashboard .eta-note {
  font-size: 0.85rem;
  line-height: 1.55;
}

#page-dashboard .research-studio-shell {
  display: grid;
  gap: 24px;
  padding: 28px;
}

#page-dashboard .research-studio-services {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#page-dashboard .research-studio-service {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(95, 166, 118, 0.14);
  background: rgba(252, 253, 251, 0.92);
}

#page-dashboard .research-studio-service strong {
  font-size: 0.90rem;
  color: #c9a84c;
}

#page-dashboard .research-studio-service p {
  font-size: 0.85rem;
  line-height: 1;
  color: #718077;
}

#page-dashboard .research-flow-bridge,
#page-dashboard .recommend-premium-cta {
  border: 1px solid rgba(95, 166, 118, 0.14);
  background: linear-gradient(180deg, rgba(251, 253, 250, 0.98), rgba(246, 250, 246, 0.94));
  box-shadow: none;
}

#page-dashboard .research-flow-bridge {
  gap: 14px;
  padding: 18px 20px;
  border-radius: 24px;
}

#page-dashboard .research-pane.is-active {
  display: grid;
  gap: 24px;
}

#page-dashboard .summary {
  gap: 24px;
}

#page-dashboard .summary-card,
#page-dashboard .chart-card {
  border-radius: 26px;
}

#page-dashboard .dash-subnav.dashboard-quicknav {
  position: sticky;
  top: 112px;
}

#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

/* Redundant .dash-subnav-pill rules moved to unified block at the end of file */
#page-dashboard .dash-subnav-pill-step {
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(95, 166, 118, 0.12);
  border: 1px solid rgba(95, 166, 118, 0.18);
  color: #336345;
  box-shadow: none;
}

#page-dashboard .dash-subnav-pill-label {
  position: static;
  transform: none;
  opacity: 1;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #43584d;
  font-size: 0.82rem;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
}

[data-theme="dark"] #page-dashboard {
  background: var(--bg);
}

[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] #page-dashboard .research-studio-shell,
[data-theme="dark"] #page-dashboard .dashboard-journey-card,
[data-theme="dark"] #page-dashboard .research-flow-bridge,
[data-theme="dark"] #page-dashboard .recommend-premium-cta,
[data-theme="dark"] #page-dashboard .research-studio-service,
[data-theme="dark"] #page-dashboard .dash-subnav-pill,
[data-theme="dark"] #page-dashboard .summary-card,
[data-theme="dark"] #page-dashboard .chart-card {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(12, 19, 18, 0.9);
  box-shadow: none;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-title,
[data-theme="dark"] #page-dashboard .dashboard-journey-title,
[data-theme="dark"] #page-dashboard .dashboard-journey-copy strong,
[data-theme="dark"] #page-dashboard .research-studio-service strong,
[data-theme="dark"] #page-dashboard .macro-head h2,
[data-theme="dark"] #page-dashboard .day-score-head h2,
[data-theme="dark"] #page-dashboard .recommend-head h2,
[data-theme="dark"] #page-dashboard .market-intel-head h2,
[data-theme="dark"] #page-dashboard .analysis-panel h2,
[data-theme="dark"] #page-dashboard .checkpoint-panel h2,
[data-theme="dark"] #page-dashboard .mindmap-panel h2,
[data-theme="dark"] #page-dashboard .report-panel h2,
[data-theme="dark"] #page-dashboard .links-panel h2 {
  color: #eff7f1;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-kicker,
[data-theme="dark"] #page-dashboard .dashboard-journey-kicker,
[data-theme="dark"] #page-dashboard .dashboard-stage-desc,
[data-theme="dark"] #page-dashboard .dashboard-stage-note,
[data-theme="dark"] #page-dashboard .dashboard-journey-copy p,
[data-theme="dark"] #page-dashboard .dashboard-head-copy p,
[data-theme="dark"] #page-dashboard .section-head p,
[data-theme="dark"] #page-dashboard .recommend-market-note,
[data-theme="dark"] #page-dashboard .assist-note,
[data-theme="dark"] #page-dashboard .eta-note,
[data-theme="dark"] #page-dashboard .research-studio-service p,
[data-theme="dark"] #page-dashboard .dash-subnav-pill-label {
  color: #A0A0A0;
}

[data-theme="dark"] #page-dashboard .dashboard-journey,
[data-theme="dark"] #page-dashboard .macro-head,
[data-theme="dark"] #page-dashboard .day-score-head,
[data-theme="dark"] #page-dashboard .recommend-head,
[data-theme="dark"] #page-dashboard .market-intel-head,
[data-theme="dark"] #page-dashboard .report-head,
[data-theme="dark"] #page-dashboard .section-head {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] #page-dashboard .macro-updated,
[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-dashboard .research-studio-tab,
[data-theme="dark"] #page-dashboard .research-flow-btn,
[data-theme="dark"] #page-dashboard .research-flow-btn--ghost,
[data-theme="dark"] #page-dashboard .ghost-btn,
[data-theme="dark"] #page-dashboard .analysis-cta-btn,
[data-theme="dark"] #page-dashboard .analysis-secondary-btn,
[data-theme="dark"] #page-dashboard .stop-analyze-btn,
[data-theme="dark"] #page-dashboard .quick-pick-btn,
[data-theme="dark"] #page-dashboard .assist-note {
  border-color: rgba(95, 166, 118, 0.18);
  background: rgba(14, 24, 21, 0.88);
  color: #b6d8c0;
}

[data-theme="dark"] #page-dashboard .cp-credit-badge,
[data-theme="dark"] #page-dashboard .dash-subnav-pill-step,
[data-theme="dark"] #page-dashboard .dashboard-journey-step,
[data-theme="dark"] #page-dashboard .research-studio-tab.is-active {
  background: rgba(95, 166, 118, 0.18);
  color: #d6f0dc;
}

@media (max-width: 1320px) {
  #page-dashboard .dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  #page-dashboard .dashboard-main {
    gap: 64px;
  }

  #page-dashboard .dashboard-stage-grid--context > #section-macro,
  #page-dashboard .dashboard-stage-grid--context > #section-day-score,
  #page-dashboard .dashboard-stage-grid--opportunity > #section-recommend,
  #page-dashboard .dashboard-stage-grid--opportunity > #section-market-intel {
    grid-column: 1 / -1;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav {
    position: static;
    top: auto;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    flex-direction: row;
    flex-wrap: wrap;
  }

  #page-dashboard .dash-subnav-pill {
    width: auto;
    min-width: 0;
    min-height: 46px;
    padding: 10px 14px;
    flex-direction: row;
  }

  #page-dashboard .dash-subnav-pill-label {
    text-align: left;
  }
}

@media (max-width: 768px) {
  #page-dashboard {
    padding: 20px 0 110px;
  }

  #page-dashboard .workspace {
    padding: 0 18px calc(env(safe-area-inset-bottom, 0px) + 92px);
  }

  #page-dashboard .dashboard-main {
    gap: 56px;
  }

  #page-dashboard .dashboard-stage,
  #page-dashboard .research-pane.is-active {
    gap: 20px;
  }

  #page-dashboard .dashboard-journey-grid,
  #page-dashboard .dashboard-stage-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #page-dashboard .dashboard-journey-card {
    grid-template-columns: 30px 1fr;
    padding: 16px;
  }

  #page-dashboard .macro-panel,
  #page-dashboard .day-score-panel,
  #page-dashboard .recommend-panel,
  #page-dashboard .market-intel-panel,
  #page-dashboard .analysis-panel,
  #page-dashboard .checkpoint-panel,
  #page-dashboard .mindmap-panel,
  #page-dashboard .report-panel,
  #page-dashboard .research-studio-shell,
  #page-dashboard .summary-card,
  #page-dashboard .chart-card {
    padding: 20px 18px;
    border-radius: 24px;
  }

  #page-dashboard .research-studio-services {
    display: grid;
    grid-template-columns: 1fr;
  }

  #page-dashboard .research-studio-service {
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  #page-dashboard .workspace {
    padding-left: 14px;
    padding-right: 14px;
  }

  #page-dashboard .dashboard-stage-title {
    font-size: clamp(1.36rem, 7vw, 1.82rem);
  }

  #page-dashboard .dashboard-stage-desc,
  #page-dashboard .dashboard-head-copy p,
  #page-dashboard .section-head p,
  #page-dashboard .recommend-market-note,
  #page-dashboard .assist-note {
    font-size: 0.9rem;
    line-height: 1.62;
  }

  /* Form/action rows go column — panel headers stay in row */
  #page-dashboard .cp-form-row,
  #page-dashboard .analyze-btn-row,
  #page-dashboard .report-actions,
  #page-dashboard .research-studio-tabs {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  /* Panel headers: stack to single column on mobile (overrides base minmax(0,1fr) auto) */
  #page-dashboard .macro-head,
  #page-dashboard .day-score-head,
  #page-dashboard .recommend-head,
  #page-dashboard .market-intel-head,
  #page-dashboard .report-head,
  #page-dashboard .section-head {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  /* Analysis & stop buttons go full-width in their action rows */
  #page-dashboard .analysis-cta-btn,
  #page-dashboard .analysis-secondary-btn,
  #page-dashboard .stop-analyze-btn,
  #page-dashboard .quick-pick-btn,
  #page-dashboard .research-studio-tab {
    width: 100%;
  }

  /* Ghost buttons inside action/form rows go full-width; panel headers keep natural size */
  #page-dashboard .analyze-btn-row .ghost-btn,
  #page-dashboard .report-actions .ghost-btn,
  #page-dashboard .cp-form-row .ghost-btn {
    width: 100%;
  }

  #page-dashboard .quick-pick-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Head-right: reset outer grid-column placement, then render as 2-col grid */
  #page-dashboard .macro-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column: 1 / -1; /* reset .macro-head-right{grid-column:2} implicit track */
    grid-row: auto;
    width: 100%;
    gap: 8px;
    align-items: stretch;
  }

  #page-dashboard .macro-head-right .macro-updated,
  #page-dashboard .day-score-head-right .macro-updated,
  #page-dashboard .recommend-head-right .macro-updated,
  #page-dashboard .market-intel-head-right .macro-updated {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  #page-dashboard .quick-pick-btns {
    grid-template-columns: 1fr;
  }

  #page-dashboard .macro-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right {
    grid-template-columns: 1fr;
  }
}

/* Dashboard rhythm tune-up */
#page-dashboard .dashboard-stage-grid {
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: stretch;
}

#page-dashboard .dashboard-stage-grid > .panel {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#page-dashboard .dashboard-stage-grid--context > #section-macro,
#page-dashboard .dashboard-stage-grid--context > #section-day-score,
#page-dashboard .dashboard-stage-grid--opportunity > #section-recommend,
#page-dashboard .dashboard-stage-grid--opportunity > #section-market-intel {
  grid-column: 1 / -1;
}

#page-dashboard .macro-panel .panel-body,
#page-dashboard .day-score-panel .panel-body,
#page-dashboard .recommend-panel .panel-body,
#page-dashboard .market-intel-panel .panel-body {
  flex: 1 1 auto;
}

#page-dashboard .summary {
  align-items: stretch;
}

#page-dashboard .summary-card,
#page-dashboard .chart-card,
#page-dashboard .report-panel,
#page-dashboard .checkpoint-panel,
#page-dashboard .mindmap-panel,
#page-dashboard .analysis-panel {
  height: 100%;
}

#page-dashboard .checkpoint-panel .checkpoint-form,
#page-dashboard .mindmap-panel .checkpoint-form,
#page-dashboard .checkpoint-panel .assist-note,
#page-dashboard .mindmap-panel .assist-note {
  min-height: 0;
}


#page-dashboard .research-studio-service {
  min-height: 40px;
}

#page-dashboard .analyze-btn-row,
#page-dashboard .cp-form-row,
#page-dashboard .report-actions {
  row-gap: 10px;
}

#page-dashboard .analysis-form,
#page-dashboard .checkpoint-form,
#page-dashboard .mindmap-form {
  align-content: start;
}

@media (max-width: 768px) {
  #page-dashboard .summary {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #page-dashboard .research-pane.is-active {
    gap: 18px;
  }
}

@media (max-width: 640px) {
  #page-dashboard .macro-panel,
  #page-dashboard .day-score-panel,
  #page-dashboard .recommend-panel,
  #page-dashboard .market-intel-panel,
  #page-dashboard .analysis-panel,
  #page-dashboard .checkpoint-panel,
  #page-dashboard .mindmap-panel,
  #page-dashboard .report-panel,
  #page-dashboard .summary-card,
  #page-dashboard .chart-card,
  #page-dashboard .research-studio-shell {
    padding: 18px 14px;
  }

  #page-dashboard .dashboard-stage {
    gap: 18px;
  }

  #page-dashboard .dashboard-main {
    gap: 52px;
  }
}

/* Research studio service cards: one service per row */
#page-dashboard .research-studio-services {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

#page-dashboard .research-studio-service {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
  row-gap: 6px;
  min-height: 0;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(95, 166, 118, 0.14);
  background: rgba(252, 253, 251, 0.96);
}

#page-dashboard .research-studio-service strong {
  display: block;
  font-size: 0.92rem;
  line-height: 1.3;
}

#page-dashboard .research-studio-service p {
  margin: 0;
  font-size: 0.90rem;
  line-height: 1.58;
  color: #6a7a71;
}

@media (max-width: 768px) {
  #page-dashboard .research-studio-service {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 8px;
  }
}

/* Dashboard editorial refresh */
#page-dashboard {
  --dash-accent: #5fa676;
  --dash-accent-soft: rgba(95, 166, 118, 0.12);
  --dash-accent-line: rgba(95, 166, 118, 0.24);
  --dash-surface: rgba(255, 255, 255, 0.92);
  --dash-surface-soft: rgba(251, 252, 250, 0.9);
  --dash-line: rgba(11, 17, 16, 0.09);
  --dash-text: #102019;
  --dash-muted: #A0A0A0;
  padding: 24px 0 120px;
  background: #f6f7f3;
}

#page-dashboard .workspace {
  max-width: 1480px;
  padding: 0 36px;
  width: 100%;
  box-sizing: border-box;
}

#page-dashboard .dashboard-shell {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#page-dashboard .dashboard-shell > .dashboard-main {
  display: grid;
  gap: 72px;
  min-width: 0;
}

.dashboard-stage {
  gap: 26px;
}

.dashboard-stage + .dashboard-stage {
  margin-top: 0;
}

.dashboard-stage-head {
  gap: 10px;
  max-width: 760px;
  padding: 0;
}

.dashboard-stage-kicker,
.dashboard-journey-kicker {
  color: #72816d;
  font-size: 0.83rem;
  letter-spacing: 0.14em;
}

.dashboard-stage-title,
.dashboard-journey-title {
  color: #102019;
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.dashboard-stage-title {
  font-size: clamp(1.7rem, 2.6vw, 2.3rem);
}

.dashboard-stage-desc,
.dashboard-journey-desc,
.dashboard-head-copy p,
.section-head p {
  color: var(--dash-muted);
  font-size: 0.97rem;
  line-height: 1.7;
}

.dashboard-stage-note {
  max-width: 980px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #4f5f57;
  font-size: 0.88rem;
  line-height: 1.65;
}

.dashboard-journey {
  display: grid;
  gap: 20px;
  padding: 0 0 28px;
  border: 0;
  border-bottom: 1px solid rgba(95, 166, 118, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-journey-head {
  gap: 8px;
  max-width: 760px;
}

.dashboard-journey-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-journey-card {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(95, 166, 118, 0.16);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  text-align: left;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.dashboard-journey-card:hover {
  transform: translateY(-1px);
  border-color: rgba(95, 166, 118, 0.32);
  background: rgba(255, 255, 255, 0.9);
}

.dashboard-journey-step {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(95, 166, 118, 0.12);
  color: #3d6f4d;
  box-shadow: none;
}

.dashboard-journey-copy {
  gap: 6px;
}

.dashboard-journey-copy strong {
  font-size: 0.96rem;
  color: var(--dash-text);
}

.dashboard-journey-copy p {
  font-size: 0.90rem;
  color: var(--dash-muted);
}

.dashboard-journey-action {
  display: none;
}

.dashboard-stage-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.dashboard-stage-grid--context > #section-macro {
  grid-column: 1 / span 7;
}

.dashboard-stage-grid--context > #section-day-score {
  grid-column: 8 / span 5;
}

.dashboard-stage-grid--opportunity > #section-recommend {
  grid-column: 1 / span 8;
}

.dashboard-stage-grid--opportunity > #section-market-intel {
  grid-column: 9 / span 4;
}

#page-dashboard .panel {
  overflow: visible;
  border-radius: 30px;
  border: 1px solid var(--dash-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 253, 251, 0.98));
  box-shadow: 0 12px 34px rgba(16, 32, 25, 0.04);
}

.macro-panel::before,
.day-score-panel::before,
.recommend-panel::before,
.checkpoint-panel::before,
.mindmap-panel::before,
.analysis-panel::before,
.market-intel-panel::before,
.report-panel::before,
.links-panel::before {
  display: none;
}

.macro-panel,
.day-score-panel,
.recommend-panel,
.market-intel-panel,
.analysis-panel,
.checkpoint-panel,
.mindmap-panel,
.report-panel {
  padding: 28px;
}

.macro-head,
.day-score-head,
.recommend-head,
.market-intel-head,
.report-head,
.section-head {
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(11, 17, 16, 0.07);
}

.recommend-head {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(11, 17, 16, 0.07);
}

.macro-head h2,
.day-score-head h2,
.recommend-head h2,
.market-intel-head h2,
.analysis-panel h2,
.checkpoint-panel h2,
.mindmap-panel h2,
.report-panel h2,
.links-panel h2 {
  color: var(--dash-text);
  font-size: clamp(1.24rem, 1.8vw, 1.5rem);
  letter-spacing: -0.032em;
}

.dashboard-head-copy,
.recommend-head .dashboard-head-copy {
  gap: 8px;
  max-width: 620px;
}

#page-dashboard .dashboard-bullet-list {
  display: none;
}

.macro-title-row,
.day-score-title-row,
.recommend-title-row,
.mi-title-row {
  align-items: flex-end;
  gap: 10px;
}

.recommend-market-note {
  margin: 0;
  max-width: 34rem;
  font-size: 0.92rem;
  line-height: 1.62;
  color: #A0A0A0;
}

.macro-head {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 14px;
  row-gap: 14px;
}

.dashboard-head-copy--macro {
  grid-column: 1 / 2;
  grid-row: 1;
}

.macro-head-right {
  grid-column: 2;
  grid-row: 1;
}

.macro-ticker-scroll {
  grid-column: 1 / -1;
  grid-row: 2;
}

.day-score-head,
.market-intel-head,
.recommend-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.day-score-head-right,
.market-intel-head-right,
.recommend-head-right,
.macro-head-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.macro-updated,
.panel-chip-btn,
.research-studio-tab,
.research-flow-btn,
.research-flow-btn--ghost {
  border: 1px solid var(--dash-accent-line);
  background: #ffffff;
  color: #3d6f4d;
  box-shadow: none;
}

.macro-updated {
  min-height: 36px;
  color: #A0A0A0;
}

.panel-chip-btn:hover,
.research-studio-tab:hover,
.research-flow-btn:hover,
.research-flow-btn--ghost:hover {
  border-color: rgba(95, 166, 118, 0.38);
  background: #f9fcf8;
  color: #285d39;
}

.recommend-premium-cta,
.research-flow-bridge {
  border: 1px solid rgba(95, 166, 118, 0.14);
  background: linear-gradient(180deg, rgba(251, 253, 250, 0.98), rgba(246, 250, 246, 0.94));
  box-shadow: none;
}

.research-studio-shell {
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--dash-line);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 34px rgba(16, 32, 25, 0.04);
}

.research-studio-services {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.research-studio-service {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(95, 166, 118, 0.14);
  background: rgba(252, 253, 251, 0.92);
}

.research-studio-service strong {
  font-size: 0.90rem;
  color: #c9a84c;
}

.research-studio-service p {
  font-size: 0.85rem;
  line-height: 1;
  color: #718077;
}

.research-flow-bridge {
  gap: 14px;
  padding: 18px 20px;
  border-radius: 24px;
}

.research-flow-kicker {
  color: #72816d;
}

.research-flow-title,
.research-flow-note strong,
.research-flow-next-copy strong {
  color: var(--dash-text);
}

.research-flow-desc,
.research-flow-note span,
.research-flow-next-copy p,
.research-flow-credit-note {
  color: var(--dash-muted);
}

.research-flow-chip {
  border-color: rgba(95, 166, 118, 0.14);
  background: rgba(255, 255, 255, 0.84);
  color: #5e7067;
}

.research-flow-chip.is-done {
  border-color: rgba(95, 166, 118, 0.2);
  background: rgba(240, 248, 241, 0.98);
  color: #2f6140;
}

.research-flow-note,
.research-flow-next {
  border-color: rgba(95, 166, 118, 0.12);
  background: rgba(255, 255, 255, 0.76);
}

.research-studio-tabs {
  gap: 10px;
  padding-bottom: 0;
}

.research-studio-tab {
  min-height: 40px;
  padding: 0 16px;
  color: #5b6e63;
  font-size: 0.87rem;
}

.research-studio-tab.is-active {
  background: rgba(95, 166, 118, 0.12);
  border-color: rgba(95, 166, 118, 0.26);
  color: #234d32;
}

#page-dashboard .dash-subnav.dashboard-quicknav {
  top: 112px;
}

#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
  gap: 10px;
}

/* Redundant .dash-subnav-pill rules removed */
.dash-subnav-pill-step {
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(95, 166, 118, 0.12);
  border: 1px solid rgba(95, 166, 118, 0.18);
  color: #336345;
  box-shadow: none;
}

.dash-subnav-pill-label {
  position: static;
  transform: none;
  opacity: 1;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  color: #43584d;
  font-size: 0.82rem;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
  pointer-events: auto;
}

[data-theme="dark"] #page-dashboard {
  background: var(--bg);
}

[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] .research-studio-shell,
[data-theme="dark"] .dashboard-journey-card,
[data-theme="dark"] .research-flow-bridge,
[data-theme="dark"] .recommend-premium-cta,
[data-theme="dark"] .research-flow-note,
[data-theme="dark"] .research-flow-next,
[data-theme="dark"] .research-studio-service,
[data-theme="dark"] #page-dashboard .dash-subnav-pill {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(12, 19, 18, 0.88);
  box-shadow: none;
}

[data-theme="dark"] .dashboard-stage-title,
[data-theme="dark"] .dashboard-journey-title,
[data-theme="dark"] .macro-head h2,
[data-theme="dark"] .day-score-head h2,
[data-theme="dark"] .recommend-head h2,
[data-theme="dark"] .market-intel-head h2,
[data-theme="dark"] .analysis-panel h2,
[data-theme="dark"] .checkpoint-panel h2,
[data-theme="dark"] .mindmap-panel h2,
[data-theme="dark"] .report-panel h2,
[data-theme="dark"] .links-panel h2,
[data-theme="dark"] .dashboard-journey-copy strong,
[data-theme="dark"] .research-flow-title,
[data-theme="dark"] .research-flow-note strong,
[data-theme="dark"] .research-flow-next-copy strong,
[data-theme="dark"] .research-studio-service strong {
  color: #F5F5F5 !important;
}

[data-theme="dark"] .dashboard-stage-kicker,
[data-theme="dark"] .dashboard-journey-kicker,
[data-theme="dark"] .dashboard-stage-desc,
[data-theme="dark"] .dashboard-stage-note,
[data-theme="dark"] .dashboard-journey-copy p,
[data-theme="dark"] .dashboard-head-copy p,
[data-theme="dark"] .section-head p,
[data-theme="dark"] .research-flow-desc,
[data-theme="dark"] .research-flow-note span,
[data-theme="dark"] .research-flow-next-copy p,
[data-theme="dark"] .research-flow-credit-note,
[data-theme="dark"] .research-studio-service p,
[data-theme="dark"] .dash-subnav-pill-label {
  color: #98a9a0;
}

[data-theme="dark"] .dashboard-journey,
[data-theme="dark"] .macro-head,
[data-theme="dark"] .day-score-head,
[data-theme="dark"] .recommend-head,
[data-theme="dark"] .market-intel-head,
[data-theme="dark"] .report-head,
[data-theme="dark"] .section-head {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .macro-updated,
[data-theme="dark"] .panel-chip-btn,
[data-theme="dark"] .research-studio-tab,
[data-theme="dark"] .research-flow-btn,
[data-theme="dark"] .research-flow-btn--ghost,
[data-theme="dark"] .research-flow-chip {
  border-color: rgba(95, 166, 118, 0.18);
  background: rgba(14, 24, 21, 0.88);
  color: #8c9499;
}

[data-theme="dark"] .research-studio-tab.is-active,
[data-theme="dark"] .research-flow-chip.is-done,
[data-theme="dark"] .dash-subnav-pill-step {
  background: rgba(95, 166, 118, 0.18);
  color: #d6f0dc;
}

@media (max-width: 1320px) {
  #page-dashboard .dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  #page-dashboard .dashboard-shell > .dashboard-main {
    gap: 64px;
  }

  .dashboard-stage-grid--context > #section-macro,
  .dashboard-stage-grid--context > #section-day-score,
  .dashboard-stage-grid--opportunity > #section-recommend,
  .dashboard-stage-grid--opportunity > #section-market-intel {
    grid-column: 1 / -1;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav {
    position: static;
    top: auto;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    flex-direction: row;
    flex-wrap: wrap;
  }

  #page-dashboard .dash-subnav-pill {
    width: auto;
    min-width: 0;
    min-height: 46px;
    padding: 10px 14px;
    flex-direction: row;
  }

  .dash-subnav-pill-label {
    text-align: left;
  }
}

@media (max-width: 768px) {
  #page-dashboard {
    padding: 20px 0 110px;
  }

  #page-dashboard .workspace {
    padding: 0 18px calc(env(safe-area-inset-bottom, 0px) + 92px);
  }

  #page-dashboard .dashboard-shell > .dashboard-main {
    gap: 56px;
  }

  .dashboard-stage {
    gap: 20px;
  }

  .dashboard-journey {
    padding-bottom: 24px;
  }

  .dashboard-journey-grid,
  .dashboard-stage-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dashboard-journey-card {
    grid-template-columns: 30px 1fr;
    padding: 16px;
  }

  .macro-panel,
  .day-score-panel,
  .recommend-panel,
  .market-intel-panel,
  .analysis-panel,
  .checkpoint-panel,
  .mindmap-panel,
  .report-panel,
  .research-studio-shell {
    padding: 20px 18px;
    border-radius: 24px;
  }

  .research-studio-services {
    display: grid;
    grid-template-columns: 1fr;
  }

  .research-studio-service {
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  #page-dashboard .workspace {
    padding-left: 14px;
    padding-right: 14px;
  }

  .dashboard-stage-title {
    font-size: clamp(1.36rem, 7vw, 1.82rem);
  }

  .dashboard-stage-desc,
  .dashboard-journey-copy p,
  .dashboard-head-copy p,
  .section-head p,
  .recommend-market-note {
    font-size: 0.9rem;
    line-height: 1.62;
  }

  .macro-head,
  .day-score-head,
  .recommend-head,
  .market-intel-head,
  .report-head,
  .section-head {
    grid-template-columns: 1fr;
  }

  .macro-head-right,
  .day-score-head-right,
  .recommend-head-right,
  .market-intel-head-right {
    width: 100%;
    justify-content: flex-start;
  }

  .macro-updated,
  .panel-chip-btn {
    min-height: 38px;
  }

  .research-studio-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
}

html {
  scrollbar-gutter: stable;
  background: #0a0a0c; /* 페이지 최하단 흰 여백 방지 */
}

body {
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: 17.8px;
  color: var(--ink);
  background: var(--bg);
  overflow-x: hidden;
}

body::before {
  display: none;
}

.ambient-shape { display: none; }

.page-shell {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  padding: 0;
  display: block;
  animation: fade-up 0.5s ease-out;
}

.panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow);
  border-radius: 14px;
}

.panel::before {
  display: none;
}

.topbar {
  padding: 0;
}

.eyebrow {
  margin: 0 0 6px;
  font-family: "Space Grotesk", sans-serif;
  color: #2f5d96;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  text-transform: uppercase;
}

.brand-block {
  display: grid;
  gap: 6px;
}

.topbar h1 {
  margin: 0;
  font-size: clamp(1.82rem, 2.5vw, 2.6rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.lead {
  margin: 0;
  color: var(--muted);
  max-width: 1080px;
  font-size: 1.08rem;
}

.service-badges {
  margin-top: 2px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-badges span {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid #d5e0ee;
  background: linear-gradient(180deg, #fbfdff, #f1f6fd);
  color: #29486d;
  font-size: 0.87rem;
  font-weight: 700;
}


.lang-toggle-btn:hover {
  background: rgba(255,255,255,0.1);
}

.lang-toggle-btn {
  width: auto;
  min-width: 54px;
  padding: 0 8px;
  margin-top: 4px;
}

.lang-toggle-btn-inner {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
}

.lang-toggle-btn-inner img {
  display: none;
  width: auto;
  height: auto;
  flex: 0 0 auto;
}

/* 언어 아이콘: theme-init.js가 html[lang] 설정 → 첫 페인트부터 올바른 아이콘 표시 */
.lang-toggle-btn-inner .lang-icon--ko { display: block; width: 18px; height: 18px; }
.lang-toggle-btn-inner .lang-icon--en { display: none; width: 18px; height: 18px; }
html[lang="en"] .lang-toggle-btn-inner .lang-icon--ko { display: none; }
html[lang="en"] .lang-toggle-btn-inner .lang-icon--en { display: block; }

.lang-toggle-btn-code {
  display: inline-block;
  color: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.recommend-title-icon {
  display: inline-block;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  transform: translateY(1px);
}

.status-wrap {
  min-width: 230px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  align-self: center;
  justify-content: flex-end;
}

.signup-open-btn {
  min-width: 112px;
}

.status-label {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
}

.status-pill {
  padding: 11px 17px;
  border-radius: 999px;
  border: 1px solid #c0cee0;
  background: linear-gradient(180deg, #f9fbfe, #eef3f9);
  color: #20344f;
  font-weight: 700;
  font-size: 1rem;
  font-family: var(--mono);
  font-feature-settings: "tnum" 1;
}

.status-pill.is-loading {
  border-color: #f4d08a;
  background: #fff8e9;
  color: var(--warn);
}

.status-pill.is-success {
  border-color: #98d7b8;
  background: #eefbf4;
  color: var(--success);
}

.status-pill.is-warning {
  border-color: #dfc48b;
  background: linear-gradient(180deg, #fffaf0, #fff3db);
  color: #8a5a11;
}

.status-pill.is-error {
  border-color: #f1b0aa;
  background: #fff0ef;
  color: var(--error);
}

.workspace {
  min-height: 0;
}

.analysis-panel {
  padding: 14px 18px 14px;
  display: grid;
  gap: 8px;
}

.macro-panel {
  padding: 20px;
  display: grid;
  gap: 10px;
}

.macro-head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  overflow: hidden;        
}

.dashboard-head-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.dashboard-head-copy--macro {
  flex: 0 1 auto;
}

.dashboard-bullet-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.5;
}

.dashboard-bullet-list li {
  position: relative;
  padding-left: 11px;
  font-weight: 600;
}

.dashboard-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.72;
}

.macro-head h2 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  color: var(--chrome);
  white-space: nowrap;
  flex-shrink: 0;
}

.macro-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.macro-ticker-scroll {
  display: none;
  flex: 1;                  
  overflow: hidden;
  min-width: 0;             
}

.macro-ticker-scroll.is-visible {
  display: block;
  cursor: pointer;
}

.macro-ticker-scroll.is-visible:focus-visible {
  outline: 2px solid rgba(22, 163, 74, 0.22);
  outline-offset: 4px;
  border-radius: 12px;
}

@keyframes macro-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.macro-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 16px;
  font-size: 0.85rem;
  color: #476155;
  font-family: var(--mono);
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.01em;
}

.macro-ticker-item .t-name {
  color: #7d9187;
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.macro-ticker-item .t-val {
  font-weight: 800;
  color: #193c2f;
  font-size: 0.85rem;
}

.macro-ticker-item .t-chg {
  font-weight: 700;
  font-size: 0.87rem;
}

.macro-ticker-item.ticker-up .t-chg   { color: #067647; }
.macro-ticker-item.ticker-down .t-chg { color: #b42318; }
.macro-ticker-item.ticker-flat .t-chg { color: #7f9286; }

.macro-ticker-item.ticker-up .t-val   { color: #067647; }
.macro-ticker-item.ticker-down .t-val { color: #b42318; }


.macro-ticker-sep {
  color: rgba(95, 116, 103, 0.34);
  font-size: 0.85rem;
  padding: 0 2px;
  user-select: none;
}

.macro-ticker-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: macro-scroll 50s linear infinite;
  width: max-content;
}

.macro-ticker-scroll:hover .macro-ticker-track {
  animation-play-state: paused;
}

.macro-updated {
  font-size: 0.72rem;
  color: #5d7467;
  font-weight: 700;
  font-family: var(--mono);
  font-feature-settings: "tnum" 1;
}

.macro-grid {
  display: block;
}

.macro-panel .panel-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.macro-carousel {
  display: grid;
  gap: 8px;
}

.macro-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.macro-carousel-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(120, 146, 127, 0.18);
  background: #ffffff;
  color: #54685d;
  box-shadow: 0 1px 2px rgba(11, 17, 16, 0.04);
  font-size: 1.14rem;
  font-weight: 400;
  line-height: 1;
}

.macro-carousel-btn:hover:not(:disabled) {
  background: #ffffff;
  border-color: rgba(95, 166, 118, 0.28);
  color: #1f402f;
}

.macro-carousel-btn:disabled {
  opacity: 0.28;
  cursor: default;
  box-shadow: none;
}

.macro-carousel-counter {
  min-width: 48px;
  text-align: center;
  font-size: 0.80rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8aa095;
  font-family: "Space Grotesk", sans-serif;
}

.macro-carousel-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}

.macro-carousel-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border-radius: 999px;
  border: 0;
  background: rgba(148, 163, 184, 0.32);
  box-shadow: none;
}

.macro-carousel-dot.is-active {
  width: 20px;
  background: #159947;
}

.macro-carousel-stage {
  display: grid;
  place-items: center;
}

.macro-slide-card {
  display: none;
  min-width: 0;
  width: min(960px, 100%);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(120, 146, 127, 0.22);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.04);
}

.macro-slide-card.is-active {
  display: grid;
}

.macro-slide-card--good {
  border-color: rgba(95, 166, 118, 0.34);
}

.macro-slide-card--danger {
  border-color: rgba(148, 102, 91, 0.3);
}

/* Swipe hint — hidden on desktop, shown on mobile */
.macro-swipe-hint {
  display: none;
}

@media (max-width: 860px) {
  .macro-swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    margin: 8px auto 0;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(120, 146, 127, 0.2);
    background: #ffffff;
    color: #5d7467;
    box-shadow: none;
  }

  .macro-swipe-hint-text {
    font-size: 0.83rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1;
    white-space: nowrap;
  }

  .macro-swipe-hint-arrow {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    opacity: 0.8;
  }

  .macro-swipe-hint-arrow--left {
    transform: rotate(-135deg);
  }

  .macro-swipe-hint-arrow--right {
    transform: rotate(45deg);
  }

  [data-theme="dark"] .macro-swipe-hint {
    border-color: rgba(110, 168, 131, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #93a99a;
    box-shadow: none;
  }

  .macro-carousel-btn {
    width: 30px;
    height: 30px;
    font-size: 1.1rem;
  }

  .macro-narrative-strip {
    padding: 10px 12px;
    border-radius: 12px;
    gap: 7px;
  }

  .macro-narrative-main {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .macro-narrative-summary {
    font-size: 0.81rem;
    -webkit-line-clamp: 3;
  }

  .macro-slide-head {
    padding: 22px 22px 18px;
    gap: 10px;
  }

  .macro-slide-copy {
    font-size: 0.86rem;
  }

  .macro-narrative-chip {
    min-height: 28px;
    font-size: 0.79rem;
  }
}

.macro-slide-card--korea {
  padding: 0;
  overflow: hidden;
  gap: 0;
  border-color: rgba(120, 146, 127, 0.24);
}

.macro-korea-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.macro-korea-panel {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 20px;
  min-width: 0;
  padding: 48px 36px 42px;
  border-right: 1px solid rgba(11, 17, 16, 0.08);
}

.macro-korea-panel:last-child {
  border-right: none;
}

.macro-korea-name {
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #111111;
}

.macro-korea-value {
  font-size: clamp(2.15rem, 4.9vw, 3.75rem);
  line-height: 0.94;
  font-weight: 500;
  color: #050505;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: -0.05em;
}

.macro-korea-change {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.macro-korea-change--up { color: #159947; }
.macro-korea-change--down { color: #e11d48; }
.macro-korea-change--flat { color: #64748b; }

.macro-korea-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  margin-top: 22px;
}

.macro-korea-flow-item {
  display: grid;
  gap: 10px;
}

.macro-korea-flow-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #9ca3af;
  letter-spacing: -0.02em;
}

.macro-korea-flow-value {
  font-size: 0.94rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.macro-korea-flow-value--pos { color: #159947; }
.macro-korea-flow-value--neg { color: #e11d48; }
.macro-korea-flow-value--flat { color: #64748b; }

.macro-slide-head {
  display: grid;
  gap: 12px;
  padding: 26px 32px 20px;
  border-bottom: 1px solid rgba(120, 146, 127, 0.14);
  background: #fafcfb;
}

.macro-slide-head-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: nowrap;
}
.macro-slide-copy--inline {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #2e3d36;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
html[data-theme="dark"] .macro-slide-copy--inline { color: #e9f0eb; }
.macro-slide-badge {
  flex: 0 0 auto;
  align-self: flex-start;
}

.macro-slide-kicker {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6e8477;
  font-family: "Space Grotesk", sans-serif;
}

.macro-slide-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(120, 146, 127, 0.16);
  background: #f5f8f6;
  color: #5d7467;
}

.macro-slide-badge--good {
  background: rgba(21, 153, 71, 0.08);
  border-color: rgba(21, 153, 71, 0.16);
  color: #2f6b45;
}

.macro-slide-badge--danger {
  background: rgba(185, 28, 28, 0.08);
  border-color: rgba(185, 28, 28, 0.14);
  color: #975048;
}

.macro-slide-title {
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: -0.02em;
  color: #16281f;
}

.macro-slide-copy {
  margin: 0;
  font-size: 0.89rem;
  line-height: 1.68;
  color: #51645b;
  max-width: 68ch;
}

.macro-slide-items {
  display: grid;
  gap: 0;
  margin-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.macro-slide-items--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.macro-slide-items--triple,
.macro-slide-items--quad {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.macro-slide-metric {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 16px;
  min-width: 0;
  padding: 30px 32px 28px;
  border-right: 1px solid rgba(11, 17, 16, 0.08);
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
}

.macro-slide-items--pair .macro-slide-metric:nth-child(2n),
.macro-slide-items--triple .macro-slide-metric:nth-child(2n),
.macro-slide-items--quad .macro-slide-metric:nth-child(2n) {
  border-right: none;
}

.macro-slide-items--pair .macro-slide-metric:nth-last-child(-n+2),
.macro-slide-items--triple .macro-slide-metric:nth-last-child(-n+1),
.macro-slide-items--quad .macro-slide-metric:nth-last-child(-n+2) {
  border-bottom: none;
}

.macro-slide-items--triple .macro-slide-metric:last-child {
  grid-column: 1 / -1;
  border-right: none;
  border-bottom: none;
}

.macro-slide-name {
  font-size: 0.90rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #111111;
}

.macro-slide-value {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: 0.96;
  font-weight: 500;
  color: #050505;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: -0.05em;
}

.macro-slide-change {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.90rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.macro-slide-change--up { color: #159947; }
.macro-slide-change--down { color: #e11d48; }
.macro-slide-change--flat { color: #64748b; }


.macro-slide-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(11, 17, 16, 0.08);
}

.macro-slide-flow-item {
  display: grid;
  gap: 8px;
}

.macro-slide-flow-label {
  font-size: 0.87rem;
  font-weight: 500;
  color: #9ca3af;
  letter-spacing: -0.02em;
}

.macro-slide-flow-value {
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.macro-slide-flow-value--pos { color: #159947; }
.macro-slide-flow-value--neg { color: #e11d48; }
.macro-slide-flow-value--flat { color: #64748b; }

.macro-card {
  border: 1px solid #e4eaf3;
  border-radius: 6px;
  padding: 9px 11px 8px;
  background: #f8fafd;
  display: grid;
  gap: 2px;
  transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.macro-card:hover {
  border-color: #c2d4e8;
  box-shadow: 0 2px 8px rgba(18, 50, 82, 0.06);
}

.macro-name {
  color: #7a90a8;
  font-size: 0.80rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.macro-value {
  color: #102f56;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  font-family: var(--mono);
  font-feature-settings: "tnum" 1;
}

.macro-change {
  font-size: 0.84rem;
  font-weight: 700;
}

.macro-change.up {
  color: #067647;
}

.macro-change.down {
  color: #b42318;
}

.macro-change.flat {
  color: #5a6f8f;
}

.macro-hint {
  font-size: 0.82rem;
  color: #6d8ba8;
  line-height: 1.35;
  margin-top: 2px;
}

.macro-plain {
  font-size: 0.84rem;
  color: #3f4f62;
  line-height: 1.5;
  margin-top: 4px;
}

/* --- Macro interpretation panel --- */
.macro-interpretation-wrap:empty {
  display: none !important;
}

.macro-interpretation-wrap {
  margin-top: 0;
  width: min(960px, 100%);
  order: 2;
}

.macro-interp-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.macro-interp-body--compact {
  gap: 0;
}

/* 시장 흐름 모니터 — 오늘의 시장 해석 compact strip */
.macro-narrative-strip {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  background: #f8fbf9;
  border: 1px solid rgba(120, 146, 127, 0.16);
  border-radius: 14px;
}

.macro-narrative-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.macro-narrative-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(21, 153, 71, 0.08);
  color: #2f6b44;
  white-space: nowrap;
}

.macro-narrative-summary {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.55;
  color: #2d4037;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.macro-narrative-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.macro-narrative-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(120, 146, 127, 0.14);
  background: #ffffff;
  color: #51645b;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.3;
}

.macro-narrative-chip--warn   { border-color: rgba(217,119,6,0.18); color: #92400e; background: rgba(255, 251, 235, 0.95); }
.macro-narrative-chip--danger { border-color: rgba(220,38,38,0.18); color: #991b1b; background: rgba(254, 242, 242, 0.95); }
.macro-narrative-chip--good   { border-color: rgba(21,153,71,0.18); color: #14532d; background: rgba(240, 253, 244, 0.95); }

[data-theme="dark"] .macro-narrative-strip {
  background: #101714;
  border-color: rgba(110, 168, 131, 0.18);
}
[data-theme="dark"] .macro-narrative-kicker {
  background: rgba(74, 222, 128, 0.08);
  color: #9ed3ad;
}
[data-theme="dark"] .macro-narrative-summary { color: #F5F5F5; }
[data-theme="dark"] .macro-narrative-chip {
  background: #141d19;
  border-color: rgba(110, 168, 131, 0.14);
  color: #b7cabd;
}
[data-theme="dark"] .macro-narrative-chip--warn   { color: #00ed68; border-color: rgba(0, 237, 104, 0.18); background: rgba(12, 111, 56, 0.14); }
[data-theme="dark"] .macro-narrative-chip--danger { color: #fca5a5; border-color: rgba(239,68,68,0.18); background: rgba(120, 33, 33, 0.14); }
[data-theme="dark"] .macro-narrative-chip--good   { color: #86efac; border-color: rgba(74,222,128,0.18); background: rgba(20, 83, 45, 0.18); }

[data-theme="dark"] .macro-ai-card-kicker { color: #F5F5F5; }
[data-theme="dark"] .macro-ai-card-title { color: #F5F5F5; }
[data-theme="dark"] .macro-ai-card-copy { color: #F5F5F5; }

.macro-ai-grid {
  display: block;
}

.macro-ai-card {
  display: none;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

.macro-ai-card.is-active {
  display: grid;
  border: none;
  box-shadow: none;
  background: transparent;
}

.macro-ai-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.macro-ai-card-kicker {
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7c8a9b;
  font-family: "Space Grotesk", sans-serif;
}

.macro-ai-card-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.04);
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.macro-ai-card--good .macro-ai-card-badge {
  background: rgba(21, 153, 71, 0.06);
  color: #2f6b45;
}

.macro-ai-card--danger .macro-ai-card-badge {
  background: rgba(225, 29, 72, 0.06);
  color: #b42345;
}

.macro-ai-card-title {
  font-size: 0.93rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #111827;
}

.macro-ai-card-copy {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.62;
  color: #5b6777;
}

.macro-ai-summary {
  display: grid;
  gap: 10px;
  padding: 18px 22px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(249, 250, 251, 0.94));
}

.macro-ai-headline {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.9;
  color: #334155;
  font-weight: 500;
}

.macro-section-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.06);
  color: #5b6472;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.macro-focus-block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

.macro-focus-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.macro-focus-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(120, 146, 127, 0.16);
  background: rgba(255, 255, 255, 0.86);
  color: #315042;
  font-size: 0.83rem;
  font-weight: 700;
  line-height: 1.35;
}

.macro-combo-stack {
  display: grid;
  gap: 8px;
}

.macro-combo-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 10px 12px 10px 12px;
  border-left: 2px solid transparent;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.68);
  font-size: 0.85rem;
  line-height: 1.5;
}

.macro-combo-item.combo-good   { border-left-color: #4caf82; }
.macro-combo-item.combo-warn   { border-left-color: #c8973a; }
.macro-combo-item.combo-danger { border-left-color: #c46060; }

.combo-tag {
  font-size: 0.80rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #9aafc8;
  white-space: nowrap;
  flex-shrink: 0;
}

.combo-msg {
  flex: 1;
  min-width: 0;
  color: #4a5f78;
}

/* --- Asset split (favorable / caution) --- */
.macro-asset-split {
  display: grid;
  gap: 12px;
  padding: 14px 0 0;
  border-top: 1px solid #d7d9dd;
  margin-top: 8px;
  font-size: 0.86rem;
}

.macro-asset-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.macro-asset-kicker {
  font-size: 0.80rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  font-family: "Space Grotesk", sans-serif;
}

.macro-asset-lanes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.macro-asset-col {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d7d9dd;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f5f7fa);
}

.macro-asset-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #eef2f7;
  color: #4b5563;
}

.macro-asset-favorable .macro-asset-label {
  background: rgba(0, 168, 77, 0.12);
  color: #0d6b3a;
}

.macro-asset-caution .macro-asset-label {
  background: rgba(185, 28, 28, 0.1);
  color: #991b1b;
}

.macro-asset-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.macro-asset-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #d7d9dd;
  background: #F5F5F5;
  color: #374151;
  line-height: 1.35;
}

.macro-asset-disclaimer {
  font-size: 0.84rem;
  color: #9ca3af;
  letter-spacing: 0.01em;
}

@media (max-width: 600px) {
  .macro-asset-lanes {
    grid-template-columns: 1fr;
  }
}

.macro-loading {
  margin: 2px 0;
  color: #557092;
  font-size: 0.9rem;
}

.panel-body.is-collapsed {
  display: none;
}

.panel-toggle-btn {
  min-width: 104px;
}

.panel-chip-btn {
  height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.72);
  color: #526277;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  backdrop-filter: blur(12px);
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.panel-chip-btn:hover {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(100, 116, 139, 0.32);
  color: #152538;
  box-shadow: 0 8px 18px rgba(11, 17, 16, 0.08);
  transform: translateY(-1px);
}

.panel-chip-btn:active {
  transform: translateY(0);
  box-shadow: none;
}

.panel-chip-btn:focus-visible {
  outline: none;
  border-color: rgba(22, 163, 74, 0.34);
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
}

.panel-chip-btn--refresh {
  min-width: 72px;
}

.panel-toggle-btn.panel-chip-btn {
  min-width: 78px;
}

.day-score-panel {
  padding: 24px;
  display: grid;
  gap: 18px;
  border-color: rgba(125, 146, 129, 0.18);
  border-radius: 28px;
  background: #fbfcfb;
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.05);
}

.day-score-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
}

.day-score-head h2 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  color: #181411;
}

.day-score-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.day-score-content {
  display: grid;
  gap: 14px;
}

.day-score-main {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(560px, 1.22fr);
  gap: 20px;
  align-items: stretch;
}

.day-score-secondary {
  display: grid;
  gap: 12px;
  align-content: start;
  height: 100%;
}

.day-score-sidecard {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(22, 163, 74, 0.16);
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.04);
  align-content: start;
}

.day-score-hero {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 16px;
  padding: 18px 18px 16px;
  border-radius: 28px;
  border: 1px solid rgba(125, 146, 129, 0.14);
  background: #ffffff;
  color: #111827;
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.04);
  align-content: start;
  min-height: 100%;
  height: 100%;
}

.day-score-kicker {
  font-size: 0.84rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #7b8190;
  font-family: "Space Grotesk", sans-serif;
}

.day-score-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.day-score-hero-center {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 8px;
  padding-top: 10px;
}

.day-score-orb {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(148px, 22vw, 178px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(125, 146, 129, 0.16);
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.06);
}

.day-score-orb::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 1px solid rgba(91, 114, 140, 0.12);
}

.day-score-number-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  text-align: center;
}

.day-score-score-cap {
  font-size: 0.83rem;
  color: #7b8190;
  font-family: var(--mono);
}

.day-score-hero-copy {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.day-score-number {
  font-size: clamp(2.7rem, 4.2vw, 3.6rem);
  font-weight: 700;
  font-family: "Space Grotesk", sans-serif;
  line-height: 0.9;
  color: #111827;
}

.day-score-label {
  width: fit-content;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 999px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.day-score-good { background: rgba(82, 161, 111, 0.14); color: #2f6b41; }
.day-score-neutral { background: rgba(100, 116, 139, 0.12); color: #F5F5F5; }
.day-score-danger { background: rgba(194, 104, 104, 0.14); color: #9b4e43; }

.day-score-meter {
  display: grid;
  gap: 9px;
  padding: 12px 13px;
  border-radius: 18px;
  border: 1px solid rgba(125, 146, 129, 0.12);
  background: transparent;
  backdrop-filter: none;
}

.day-score-meter-head,
.day-score-scale {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.day-score-meter-head {
  font-size: 0.80rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6b7280;
  font-family: "Space Grotesk", sans-serif;
}

.day-score-sidehead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 2px;
  font-size: 0.80rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7280;
  font-family: "Space Grotesk", sans-serif;
}

.day-score-bar-wrap {
  width: 100%;
  height: 12px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
}

.day-score-bar {
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #c96c6c 0%, #8f96a3 45%, #5ca270 100%);
  border-radius: 999px;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

.day-score-scale {
  font-size: 0.90rem;
  color: #6b7280;
  font-family: var(--mono);
}

.day-score-summary {
  margin: 0;
  max-width: 36ch;
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.56;
  text-align: center;
  text-wrap: balance;
}
.day-score-trend {
  margin: 5px 0 0;
  font-size: 0.74rem;
  color: #6b7280;
  text-align: center;
  opacity: 0.8;
  letter-spacing: 0.01em;
}
[data-theme="dark"] .day-score-trend {
  color: #9ca3af;
}

[data-theme="dark"] .day-score-head-summary {
  color: #A0A0A0;
}

.day-score-narrative {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(22, 163, 74, 0.16);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.day-score-narrative-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(21, 153, 71, 0.05);
  color: #2a6a45;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
}

.day-score-narrative-top {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: nowrap;
}

.day-score-headline,
.day-score-breakdown,
.day-score-focus {
  margin: 0;
}

.day-score-headline {
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.58;
  color: #161e2b;
}

.day-score-breakdown {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.3;
  color: #556070;
  white-space: nowrap;
}

.day-score-focus {
  font-size: 0.87rem;
  line-height: 1.64;
  color: #44594b;
}

/* ── 오늘 어떻게 할까 — Investment Implication Card (Goldman Sachs 방식) ── */
.ds-action-card {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(125, 146, 129, 0.14);
  background: #ffffff;
}
.ds-action-card--good,
.ds-action-card--neutral,
.ds-action-card--danger {
  background: #ffffff;
}

.ds-action-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding-left: 12px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  color: #6b7f73;
}

.ds-action-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 999px;
  background: #94a3b8;
}

.ds-action-card--good .ds-action-kicker::before { background: #16a34a; }
.ds-action-card--neutral .ds-action-kicker::before { background: #0c6f38; }
.ds-action-card--danger .ds-action-kicker::before { background: #dc2626; }

.ds-action-text {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.62;
  color: #24352d;
}

[data-theme="dark"] .ds-action-card {
  background: #121916;
  border-color: rgba(110, 168, 131, 0.14);
}
[data-theme="dark"] .ds-action-kicker { color: #97aa9f; }
[data-theme="dark"] .ds-action-kicker::before { background: #64748b; }
[data-theme="dark"] .ds-action-card--good .ds-action-kicker::before { background: #4ade80; }
[data-theme="dark"] .ds-action-card--neutral .ds-action-kicker::before { background: #00ed68; }
[data-theme="dark"] .ds-action-card--danger .ds-action-kicker::before { background: #f87171; }
[data-theme="dark"] .ds-action-text { color: #d9e4ef; }

/* ── Status Banner ──────────────────────────────────────────────────────── */
.ds-status-banner {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 14px;
  border-radius: 16px;
  border: 1.5px solid transparent;
}
.ds-status-banner--good    { background: rgba(22,163,74,0.07);  border-color: rgba(22,163,74,0.22); }
.ds-status-banner--neutral { background: rgba(12,111,56,0.07);  border-color: rgba(12,111,56,0.22); }
.ds-status-banner--danger  { background: rgba(220,38,38,0.07);  border-color: rgba(220,38,38,0.24); }

.ds-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ds-status-banner--good    .ds-status-dot { background: #16a34a; animation: ds-pulse-green 2.4s ease-in-out infinite; }
.ds-status-banner--neutral .ds-status-dot { background: #0c6f38; animation: ds-pulse-amber 2.4s ease-in-out infinite; }
.ds-status-banner--danger  .ds-status-dot { background: #dc2626; animation: ds-pulse-red   1.8s ease-in-out infinite; }

@keyframes ds-pulse-green {
  0%,100% { box-shadow: 0 0 0 3px rgba(22,163,74,0.22); }
  50%     { box-shadow: 0 0 0 6px rgba(22,163,74,0);    }
}
@keyframes ds-pulse-amber {
  0%,100% { box-shadow: 0 0 0 3px rgba(217,119,6,0.22); }
  50%     { box-shadow: 0 0 0 6px rgba(217,119,6,0);    }
}
@keyframes ds-pulse-red {
  0%,100% { box-shadow: 0 0 0 3px rgba(220,38,38,0.22); }
  50%     { box-shadow: 0 0 0 6px rgba(220,38,38,0);    }
}

.ds-status-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ds-status-title {
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.ds-status-banner--good    .ds-status-title { color: #15803d !important; }
.ds-status-banner--neutral .ds-status-title { color: #92400e !important; }
.ds-status-banner--danger  .ds-status-title { color: #991b1b !important; }
.ds-status-sub {
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.3;
}

.ds-delta-badge {
  flex-shrink: 0;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  font-family: "Space Grotesk", sans-serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ds-delta-badge--info {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(120, 146, 127, 0.22);
  background: #ffffff;
  cursor: pointer;
}
.ds-delta-badge--info[data-tooltip]::before {
  content: "";
  position: absolute;
  right: 6px;
  top: calc(100% + 4px);
  width: 10px;
  height: 10px;
  border-left: 1px solid rgba(120, 146, 127, 0.16);
  border-top: 1px solid rgba(120, 146, 127, 0.16);
  background: rgba(255, 255, 255, 0.99);
  transform: rotate(45deg);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 119;
}
.ds-delta-badge--info[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(320px, calc(100vw - 40px));
  min-width: 220px;
  padding: 12px 13px;
  border: 1px solid rgba(120, 146, 127, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.99);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.01em;
  white-space: normal;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 120;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}
.ds-delta-badge--info[data-tooltip]:hover::before,
.ds-delta-badge--info[data-tooltip]:hover::after,
.ds-delta-badge--info[data-tooltip]:focus-visible::before,
.ds-delta-badge--info[data-tooltip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
}
.ds-delta-badge--info:hover,
.ds-delta-badge--info:focus-visible {
  border-color: rgba(95, 166, 118, 0.3);
  color: #2f6b45;
  outline: none;
}
.ds-delta--up   { background: rgba(22,163,74,0.1);  color: #15803d; }
.ds-delta--down { background: rgba(220,38,38,0.1);  color: #991b1b; }
.ds-delta--flat { background: rgba(100,116,139,0.1); color: #F5F5F5; }

/* ── Arc Gauge ──────────────────────────────────────────────────────────── */
.day-score-arc-wrap {
  width: clamp(164px, 22vw, 200px);
}
.ds-arc-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
.ds-arc-track   { stroke: #e5e7eb; }
.ds-arc-progress { transition: stroke-dashoffset 1s cubic-bezier(0.4,0,0.2,1); }
.ds-arc-needle  { transition: transform 1.1s cubic-bezier(0.16,1,0.3,1); }

.ds-arc-needle--good    { stroke: #16a34a; }
.ds-arc-needle--neutral { stroke: #0c6f38; }
.ds-arc-needle--danger  { stroke: #dc2626; }
.ds-arc-hub--good    { fill: #16a34a; }
.ds-arc-hub--neutral { fill: #0c6f38; }
.ds-arc-hub--danger  { fill: #dc2626; }
.ds-arc-hub-inner { fill: #fff; }

.ds-arc-zone-lbl {
  font-size: 8px;
  font-weight: 700;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ds-arc-zone-lbl--danger { fill: #ef4444; }
.ds-arc-zone-lbl--mid    { fill: #0c6f38; }
.ds-arc-zone-lbl--safe   { fill: #22c55e; }

.day-score-arc-readout {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
}
.day-score-arc-readout .day-score-number-wrap { gap: 2px; }
.day-score-arc-readout .day-score-label {
  width: fit-content;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* dark mode – new elements */
[data-theme="dark"] .ds-status-banner--good    { background: rgba(22,163,74,0.12);  border-color: rgba(22,163,74,0.32); }
[data-theme="dark"] .ds-status-banner--neutral { background: rgba(0,237,104,0.12); border-color: rgba(0,237,104,0.30); }
[data-theme="dark"] .ds-status-banner--danger  { background: rgba(220,38,38,0.12); border-color: rgba(220,38,38,0.32); }
[data-theme="dark"] .ds-status-banner--good    .ds-status-title { color: #86efac !important; }
[data-theme="dark"] .ds-status-banner--neutral .ds-status-title { color: #00ed68 !important; }
[data-theme="dark"] .ds-status-banner--danger  .ds-status-title { color: #F5F5F5 !important; }
[data-theme="dark"] .ds-status-sub  { color: var(--muted); }
[data-theme="dark"] .ds-delta--up   { background: rgba(22,163,74,0.15);  color: #86efac; }
[data-theme="dark"] .ds-delta--down { background: rgba(220,38,38,0.15);  color: #fca5a5; }
[data-theme="dark"] .ds-delta-badge--info {
  background: rgba(18, 25, 22, 0.96);
  border-color: rgba(110, 168, 131, 0.2);
  color: #d9e4ef;
}
[data-theme="dark"] .ds-delta-badge--info[data-tooltip]::before {
  border-left-color: rgba(110, 168, 131, 0.16);
  border-top-color: rgba(110, 168, 131, 0.16);
  background: rgba(18, 25, 22, 0.99);
}
[data-theme="dark"] .ds-delta-badge--info[data-tooltip]::after {
  border-color: rgba(110, 168, 131, 0.16);
  background: rgba(18, 25, 22, 0.99);
  color: #d9e4ef;
}
[data-theme="dark"] .ds-arc-track   { stroke: rgba(255,255,255,0.1); }
[data-theme="dark"] .ds-arc-needle--good    { stroke: #4ade80; }
[data-theme="dark"] .ds-arc-needle--neutral { stroke: #00ed68; }
[data-theme="dark"] .ds-arc-needle--danger  { stroke: #f87171; }
[data-theme="dark"] .ds-arc-hub--good    { fill: #4ade80; }
[data-theme="dark"] .ds-arc-hub--neutral { fill: #00ed68; }
[data-theme="dark"] .ds-arc-hub--danger  { fill: #f87171; }
[data-theme="dark"] .ds-arc-zone-lbl--danger { fill: #f87171; }
[data-theme="dark"] .ds-arc-zone-lbl--mid    { fill: #00ed68; }
[data-theme="dark"] .ds-arc-zone-lbl--safe   { fill: #4ade80; }

.day-score-signals,
.day-score-signals-4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.day-score-signal {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 18px rgba(11, 17, 16, 0.04);
}

.day-score-signal--compact {
  gap: 6px;
  padding: 14px 14px 13px;
  border-radius: 20px;
  background: #ffffff;
  border-color: rgba(22, 163, 74, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 8px 20px rgba(11, 17, 16, 0.03);
  min-height: 112px;
  height: 100%;
  align-content: start;
  position: relative;
}

.day-score-signal--compact::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.3);
}

.day-score-signal--compact.is-positive::before {
  background: rgba(21, 153, 71, 0.9);
}

.day-score-signal--compact.is-negative::before {
  background: rgba(225, 29, 72, 0.88);
}

.signal-body {
  display: grid;
  align-content: start;
  gap: 10px;
}

.day-score-signal--compact .signal-body {
  gap: 7px;
}

.signal-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-left: 16px;
}

.signal-name-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.signal-name {
  font-size: 0.80rem;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.signal-info-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid rgba(120, 146, 127, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: #708677;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.signal-info-btn[data-tooltip]::before {
  content: "";
  position: absolute;
  right: 4px;
  top: calc(100% + 4px);
  width: 10px;
  height: 10px;
  border-left: 1px solid rgba(120, 146, 127, 0.16);
  border-top: 1px solid rgba(120, 146, 127, 0.16);
  background: rgba(255, 255, 255, 0.99);
  transform: rotate(45deg);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 119;
}

.signal-info-btn[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(320px, calc(100vw - 40px));
  min-width: 220px;
  padding: 12px 13px;
  border: 1px solid rgba(120, 146, 127, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.99);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.01em;
  white-space: normal;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 120;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.signal-info-btn[data-tooltip]:hover::before,
.signal-info-btn[data-tooltip]:hover::after,
.signal-info-btn[data-tooltip]:focus-visible::before,
.signal-info-btn[data-tooltip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

.signal-info-btn:hover,
.signal-info-btn:focus-visible {
  border-color: rgba(95, 166, 118, 0.3);
  color: #2f6b45;
  outline: none;
}

.signal-desc {
  font-size: 0.94rem;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.45;
}

.day-score-signal--compact .signal-desc {
  font-size: 0.9rem;
  line-height: 1.55;
  min-height: 0;
}

.signal-plain {
  font-size: 0.87rem;
  color: #607084;
  line-height: 1.58;
}

.signal-detail-list {
  display: grid;
  gap: 6px;
  margin-top: 2px;
}

.day-score-signal--compact .signal-detail-list {
  gap: 4px;
  margin-top: 0;
}

.signal-detail-list--compact {
  gap: 6px;
}

.signal-detail-row {
  display: grid;
  gap: 4px;
  padding-top: 6px;
  border-top: 1px dashed rgba(11, 17, 16, 0.08);
}

.day-score-signal--compact .signal-detail-row {
  gap: 5px;
  padding-top: 0;
  border-top: none;
}

.signal-detail-market {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.90rem;
  font-weight: 700;
  color: #6b7280;
  letter-spacing: 0.04em;
}

.signal-detail-source {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.12);
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 700;
}

.signal-flow-actors,
.signal-breadth-values {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: flex-start;
}

.signal-mini-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
}

.day-score-signal--compact .signal-flow-chip,
.day-score-signal--compact .signal-breadth-chip {
  min-height: 24px;
  padding: 0 7px;
  gap: 3px;
  font-size: 0.83rem;
}

.signal-mini-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(11, 17, 16, 0.08);
  color: #334155;
  font-size: 0.81rem;
  font-weight: 700;
}

.signal-mini-chip strong {
  font-size: 0.8rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.04em;
}

.signal-mini-chip--soft {
  background: rgba(241, 245, 249, 0.92);
}

.signal-mini-chip--accent {
  background: rgba(240, 253, 244, 0.96);
  border-color: rgba(22, 163, 74, 0.18);
  color: #166534;
}

.day-score-signal--compact .signal-detail-market {
  font-size: 0.87rem;
}

.signal-flow-chip,
.signal-breadth-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(11, 17, 16, 0.08);
  font-size: 0.85rem;
  color: #334155;
}

.day-score-sidecard .signal-detail-list {
  align-content: start;
}

.signal-flow-chip strong {
  font-size: 0.90rem;
}

.signal-flow-chip.is-up strong {
  color: #15803d;
}

.signal-flow-chip.is-down strong {
  color: #b91c1c;
}

.signal-flow-chip.is-flat strong {
  color: #64748b;
}

.signal-flow-label,
.signal-flow-value {
  white-space: nowrap;
}

.signal-pts {
  font-size: 0.92rem;
  font-weight: 800;
  white-space: nowrap;
}

.pts-pos { color: #0d6b3a; }
.pts-neg { color: #8b1a1a; }
.pts-zero { color: #A0A0A0; }

/* ── Signal pts bar (신호 기여도 미니 바) ───────────────────────────────── */
.signal-pts-bar-track {
  position: relative;
  height: 3px;
  background: rgba(120, 130, 140, 0.13);
  border-radius: 99px;
  overflow: hidden;
  margin: 2px 0 4px;
  flex-shrink: 0;
}
.signal-pts-bar-track::before {
  content: "";
  position: absolute;
  left: calc(50% - 0.5px);
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(120, 130, 140, 0.35);
}
.signal-pts-bar-fill {
  position: absolute;
  height: 100%;
  border-radius: 99px;
  top: 0;
  left: var(--bar-left, 50%);
  width: var(--bar-width, 0%);
  min-width: 2px;
}
.signal-pts-bar-fill.is-pos { background: #5fa676; }
.signal-pts-bar-fill.is-neg { background: #e11d48; }
.signal-pts-bar-fill.is-zero { background: #A0A0A0; width: 2px !important; left: calc(50% - 1px) !important; }

/* ── Signal Factor Chart (Bloomberg-style 기여도 분포) ───────────────────── */
.signal-factor-chart {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 14px 11px;
  background: rgba(120, 130, 140, 0.04);
  border-radius: 10px;
  margin-bottom: 10px;
  border: 1px solid rgba(120, 130, 140, 0.09);
}
.signal-factor-title {
  font-size: 0.70rem;
  font-weight: 700;
  color: var(--muted, #A0A0A0);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1px;
}
.signal-factor-row {
  display: grid;
  grid-template-columns: 72px 1fr 32px;
  align-items: center;
  gap: 8px;
}
.signal-factor-name {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--muted, #A0A0A0);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.signal-factor-track {
  position: relative;
  height: 5px;
  background: rgba(120, 130, 140, 0.10);
  border-radius: 99px;
  overflow: hidden;
}
.signal-factor-track::before {
  content: "";
  position: absolute;
  left: calc(50% - 0.5px);
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(120, 130, 140, 0.3);
}
.signal-factor-fill {
  position: absolute;
  height: 100%;
  border-radius: 99px;
  top: 0;
  left: var(--bar-left, 50%);
  width: var(--bar-width, 0%);
  min-width: 2px;
}
.signal-factor-fill.is-pos { background: #5fa676; }
.signal-factor-fill.is-neg { background: #e11d48; }
.signal-factor-fill.is-zero { width: 2px !important; left: calc(50% - 1px) !important; background: #A0A0A0; }
.signal-factor-pts {
  font-size: 0.72rem;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

/* dark mode */
[data-theme="dark"] .signal-pts-bar-track { background: rgba(180, 200, 190, 0.08); }
[data-theme="dark"] .signal-pts-bar-fill.is-pos { background: var(--success, #4ade80); }
[data-theme="dark"] .signal-pts-bar-fill.is-neg { background: var(--error, #f87171); }
[data-theme="dark"] .signal-factor-chart {
  background: rgba(180, 200, 190, 0.04);
  border-color: rgba(180, 200, 190, 0.08);
}
[data-theme="dark"] .signal-factor-name,
[data-theme="dark"] .signal-factor-title { color: rgba(180, 200, 190, 0.55); }
[data-theme="dark"] .signal-factor-track { background: rgba(180, 200, 190, 0.08); }
[data-theme="dark"] .signal-factor-fill.is-pos { background: var(--success, #4ade80); }
[data-theme="dark"] .signal-factor-fill.is-neg { background: var(--error, #f87171); }
[data-theme="dark"] .signal-factor-pts.pts-pos { color: var(--success); }
[data-theme="dark"] .signal-factor-pts.pts-neg { color: var(--error); }
[data-theme="dark"] .signal-factor-pts.pts-zero { color: rgba(180, 200, 190, 0.45); }

.market-intel-panel {
  padding: 20px;
  display: grid;
  gap: 10px;
  box-shadow: none;
  border-color: var(--line);
}

.market-intel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dde5f0;
}

.mi-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.market-intel-head h2 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  color: var(--chrome);
}

.mi-header-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.mi-header-keywords .mi-tag {
  font-size: 0.80rem;
  padding: 2px 7px;
  border-radius: 20px;
  background: #eef3fc;
  color: #3a5fa0;
  font-weight: 600;
}

.market-intel-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.mi-card-title-link {
  color: inherit;
  text-decoration: none;
}
.mi-card-title-link:hover {
  text-decoration: underline;
  color: #1a56a0;
}
button.mi-cat-btn {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  outline: none;
  padding: 0;
  margin: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: inherit;
  display: block;
  width: 100%;
}
button.mi-cat-btn:hover {
  text-decoration: underline;
  color: #1a56a0;
}
button.mi-cat-btn:focus-visible {
  outline: 2px solid #4a90d9;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Market Intel News Modal */
.mi-news-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
}
.mi-news-modal.hidden { display: none; }
.mi-news-dialog {
  width: min(540px, 94vw);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
[data-theme="dark"] .mi-news-dialog {
  background: #1a2130;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.mi-news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--line);
}
.mi-news-modal-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}
.mi-news-modal-list {
  list-style: none;
  margin: 0;
  padding: 10px 0;
  overflow-y: auto;
  flex: 1;
}
.mi-news-modal-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 16px;
  border-bottom: 1px solid var(--line);
}
.mi-news-modal-item:last-child { border-bottom: none; }
.mi-news-modal-thumb {
  width: 88px;
  height: 64px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(15, 23, 42, 0.06);
}
.mi-news-modal-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mi-news-modal-link {
  font-size: 0.92rem;
  color: var(--ink);
  text-decoration: none;
  line-height: 1.4;
}
.mi-news-modal-link:hover { text-decoration: underline; color: #1a56a0; }
.mi-news-modal-meta {
  font-size: 0.87rem;
  color: var(--muted);
}
.mi-news-modal-empty {
  padding: 16px;
  color: var(--muted);
  font-size: 0.9rem;
}
[data-theme="dark"] .mi-news-modal-title { color: #F5F5F5; }
[data-theme="dark"] .mi-news-modal-link { color: #F5F5F5; }
[data-theme="dark"] .mi-news-modal-link:hover { color: #7dd3fc; }
[data-theme="dark"] .mi-news-modal-meta { color: #64748b; }
[data-theme="dark"] .mi-news-modal-thumb { background: rgba(255, 255, 255, 0.06); }

.mi-change-link {
  color: inherit;
  text-decoration: none;
  display: block;
}

.mi-change-main {
  display: block;
  font-size: 0.90rem;
  line-height: 1.48;
  color: #334e68;
}

.mi-change-main--translated {
  line-height: 1.56;
}

.mi-change-main--headline {
  font-size: 0.86rem;
  line-height: 1.55;
}

.mi-change-sub {
  display: block;
  font-size: 0.84rem;
  line-height: 1.48;
  color: #5b7894;
  word-break: break-word;
}

.mi-change-item--global-ko,
.mi-change-item--headline-only {
  display: grid;
  gap: 4px;
}

.mi-change-sub--headline {
  order: -1;
  margin-bottom: 1px;
  font-size: 0.84rem;
  line-height: 1.48;
  color: #5b7894;
}

.mi-change-link:hover {
  text-decoration: underline;
  color: #1a56a0;
}

/* 래퍼는 단순 블록 — 내부 mi-three-cards가 삼등분 그리드를 담당 */
.market-intel-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
}

/* fallback: 원본 기사 목록 (3열) */
.market-intel-grid.fallback-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 768px) {
  .market-intel-grid.fallback-grid {
    grid-template-columns: 1fr;
  }
}

.market-intel-category {
  border: 1px solid #d7e1ef;
  border-radius: 12px;
  padding: 14px;
  background: linear-gradient(180deg, #fbfdff, #f2f6fd);
  display: grid;
  gap: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.market-intel-cat-label {
  margin: 0;
  font-size: 0.9rem;
  color: #1b446f;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
}

.market-intel-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 7px;
}

.market-intel-item {
  display: grid;
  gap: 2px;
}

.market-intel-link {
  font-size: 0.87rem;
  color: #1a56a0;
  text-decoration: none;
  line-height: 1.4;
  word-break: break-word;
}

.market-intel-link:hover {
  text-decoration: underline;
  color: #0d3d7a;
}

.market-intel-meta {
  font-size: 0.83rem;
  color: #A0A0A0;
}

/* ── AI 시장 브리핑 UI ── */

/* 상단 요약 바 */
.mi-summary-bar {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 10px 0 14px;
  border-bottom: 1px solid #eef1f6;
}
/* 하단 한줄결론 */
/* 하단 한줄결론 */
.mi-summary-bottom {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0 0;
  padding: 15px 18px;
  background: linear-gradient(180deg, rgba(251, 253, 251, 0.98), rgba(246, 249, 246, 0.94));
  border: 1px solid rgba(120, 146, 127, 0.22);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(11, 17, 16, 0.045);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--ink, #102033);
}

.mi-ai-label {
  flex-shrink: 0;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(21, 153, 71, 0.05);
  border: 1px solid rgba(21, 153, 71, 0.12);
  color: #2f6b45;
  font-size: 0.80rem;
  font-weight: 700;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: 0.08em;
  white-space: nowrap;
  margin-top: 2px;
}
.mi-summary-text {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 500;
  color: #2d4256;
  line-height: 1.6;
  flex: 1;
  min-width: 200px;
}

.mi-summary-stack {
  display: grid;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.mi-summary-item {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.mi-summary-item + .mi-summary-item {
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.mi-summary-item-label {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6c7d73;
}

.mi-swipe-hint {
  display: none;
}

.mi-scroll-dots {
  display: none;
}

/* recommend 카드 스와이프 힌트 */
.rec-swipe-hint {
  display: none;
}

[data-theme="dark"] .mi-summary-bottom {
  background: linear-gradient(180deg, rgba(30, 38, 45, 0.96), rgba(24, 32, 39, 0.94));
  border-color: rgba(110, 168, 131, 0.22);
  color: var(--ink);
  box-shadow: none;
}

[data-theme="dark"] .mi-ai-label {
  background: rgba(74, 222, 128, 0.08);
  border-color: rgba(74, 222, 128, 0.14);
  color: #8ee6a8;
}

[data-theme="dark"] .mi-summary-text {
  color: #d9e4ef;
}

[data-theme="dark"] .mi-summary-item + .mi-summary-item {
  border-top-color: rgba(148, 163, 184, 0.14);
}

[data-theme="dark"] .mi-summary-item-label {
  color: #9fb0a6;
}

[data-theme="dark"] .mi-swipe-hint {
  color: #93a99a;
}

[data-theme="dark"] .mi-simple {
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(167, 243, 208, 0.12);
  color: #9fb2a7;
}
.mi-summary-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  flex-shrink: 0;
}
.mi-keyword {
  font-size: 0.84rem;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 3px;
  background: rgba(27,58,92,0.07);
  color: #1b3a5c;
  letter-spacing: 0.03em;
}
.mi-temp {
  font-size: 0.84rem;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 3px;
  background: rgba(180,35,24,0.07);
  color: #8b1a1a;
  letter-spacing: 0.03em;
}

/* 글로벌 + 국내 + 업종 3등분 */
.mi-three-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
/* 모바일에서 mi-three-cards는 아래 @media (max-width: 860px) 블록에서 flex 슬라이더로 전환됨 */

.mi-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 18px 18px 16px;
  border: 1px solid rgba(120, 146, 127, 0.24);
  border-radius: 24px;
  background: linear-gradient(90deg, rgba(144, 238, 144, 0.5), rgba(255, 255, 255, 0.95));
  box-shadow: 0 16px 34px rgba(11, 17, 16, 0.045);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.16s ease, border-color 0.16s ease;
}
.mi-card:hover {
  box-shadow: 0 22px 44px rgba(11, 17, 16, 0.07);
  border-color: rgba(120, 146, 127, 0.38);
}
.mi-card::before,
.mi-sector-bar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(21, 153, 71, 0.14), rgba(21, 153, 71, 0));
  pointer-events: none;
}
.mi-card-head { display: flex; flex-direction: column; gap: 8px; }
.mi-card-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.83rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #667d71;
  background: rgba(120, 146, 127, 0.08);
}
.mi-card-title {
  margin: 0;
  font-size: 0.96rem;
  font-weight: 600;
  color: #1b3146;
  line-height: 1.5;
  letter-spacing: -0.01em;
}
.mi-card-conclusion {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(120, 146, 127, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  font-size: 0.87rem;
  color: #40566c;
  line-height: 1.7;
}
.mi-changes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mi-changes li {
  font-size: 0.90rem;
  color: #4a5f7a;
  line-height: 1.5;
  padding-left: 15px;
  position: relative;
}
.mi-changes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(116, 136, 123, 0.45);
}
.mi-simple {
  margin: 2px 0 0;
  padding: 10px 0 0;
  font-size: 0.88rem;
  color: #607264;
  line-height: 1.6;
  font-style: normal;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(120, 146, 127, 0.14);
  border-radius: 0;
}
.mi-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}
.mi-sector-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.mi-tag {
  font-size: 0.82rem;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.mi-tag-burden { background: rgba(180,35,24,0.07); color: #975048; }
.mi-tag-watch  { background: rgba(6,118,71,0.07);  color: #2f6b45; }
.mi-source-link {
  font-size: 0.83rem;
  color: #5b7080;
  text-decoration: none;
  white-space: nowrap;
}
.mi-source-link:hover { color: #1a56a0; text-decoration: underline; }

/* 업종 영향 — 전체 너비 가로 그리드 */
/* 업종 카드 — 3등분 안에 들어가는 카드, 세로 목록 레이아웃 */
.mi-sector-bar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 18px 18px 16px;
  border: 1px solid rgba(120, 146, 127, 0.24);
  border-radius: 24px;
  background: linear-gradient(90deg, rgba(144, 238, 144, 0.5), rgba(255, 255, 255, 0.95));
  box-shadow: 0 16px 34px rgba(11, 17, 16, 0.045);
  position: relative;
  overflow: hidden;
}
.mi-sector-bar-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mi-sector-bar-head .mi-card-title { font-size: 0.96rem; }
.mi-sector-simple {
  margin: 0;
  padding: 12px 14px;
  font-size: 0.88rem;
  color: #607264;
  font-style: normal;
  line-height: 1.6;
  background: linear-gradient(180deg, rgba(246, 249, 246, 0.96), rgba(250, 251, 249, 0.92));
  border: 1px solid rgba(120, 146, 127, 0.12);
  border-radius: 16px;
}
/* 업종 목록 — 카드 안에서 세로 나열 */
.mi-sector-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mi-sector-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(222, 229, 234, 0.8);
  text-decoration: none;
  color: inherit;
}
.mi-sector-item:last-child { border-bottom: none; }
a.mi-sector-item:hover { background: rgba(246,249,252,0.72); border-radius: 6px; }
a.mi-sector-item:hover .mi-sector-desc { color: #1a56a0; text-decoration: underline; }
.mi-sector-name {
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #708677;
  white-space: nowrap;
}
.mi-sector-desc {
  font-size: 0.86rem;
  color: #43596e;
  line-height: 1.55;
}

.mi-sector-source {
  justify-self: end;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #8799a8;
  white-space: nowrap;
}

/* 업종 이름 래퍼 (도트 + 이름 나란히) */
.mi-sector-name-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* 업종 감성 도트 — Bloomberg Terminal 색상 신호 방식 */
.mi-sector-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #b0bec5;
}
.mi-sector-dot--pos { background: #22c55e; box-shadow: 0 0 0 2.5px rgba(34, 197, 94, 0.18); }
.mi-sector-dot--neg { background: #ef4444; box-shadow: 0 0 0 2.5px rgba(239, 68, 68, 0.18); }
.mi-sector-dot--neutral { background: #b0bec5; }

[data-theme="dark"] .mi-sector-dot--pos { background: #4ade80; }
[data-theme="dark"] .mi-sector-dot--neg { background: #f87171; }
[data-theme="dark"] .mi-sector-dot--neutral { background: #5a6b75; }

/* 카드 등장 애니메이션 — Refinitiv Eikon 방식 stagger fade-in */
@keyframes mi-card-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mi-card,
.mi-sector-bar {
  animation: mi-card-in 0.32s ease-out both;
}
.mi-card:nth-child(2) { animation-delay: 70ms; }
.mi-sector-bar        { animation-delay: 140ms; }

/* dark mode */
[data-theme="dark"] .mi-summary-bar    { border-bottom-color: var(--line); }
[data-theme="dark"] .mi-keyword { background: rgba(255,255,255,0.06); color: var(--muted); }
[data-theme="dark"] .mi-temp   { background: rgba(248,113,113,0.1);  color: #f87171; }
[data-theme="dark"] .dashboard-bullet-list { color: #aab7c7; }
[data-theme="dark"] .mi-card,
[data-theme="dark"] .mi-sector-bar {
  background: linear-gradient(180deg, rgba(26, 34, 41, 0.96), rgba(21, 28, 34, 0.94));
  border-color: rgba(110, 168, 131, 0.18);
  box-shadow: none;
}
[data-theme="dark"] .mi-card::before,
[data-theme="dark"] .mi-sector-bar::before { background: linear-gradient(90deg, rgba(110, 168, 131, 0.18), rgba(110, 168, 131, 0)); }
[data-theme="dark"] .mi-card-label { color: #93a99a; background: rgba(110, 168, 131, 0.08); }
[data-theme="dark"] .mi-card-title { color: var(--ink); }
[data-theme="dark"] .mi-card-conclusion {
  color: #c2cfdb;
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(148, 163, 184, 0.14);
}
[data-theme="dark"] .mi-changes li { color: var(--muted); }
[data-theme="dark"] .mi-change-main { color: #F5F5F5; }
[data-theme="dark"] .mi-change-main--headline { color: #F5F5F5; }
[data-theme="dark"] .mi-change-sub { color: #7f93a8; }
[data-theme="dark"] .mi-change-sub--headline { color: #8ba0b5; }
[data-theme="dark"] .mi-simple,
[data-theme="dark"] .mi-sector-simple {
  background: rgba(255,255,255,0.03);
  color: #aebccc;
  border-color: rgba(148, 163, 184, 0.12);
}
[data-theme="dark"] .mi-sector-item { border-bottom-color: rgba(148, 163, 184, 0.14); }
[data-theme="dark"] .mi-sector-name { color: #8fa39a; }
[data-theme="dark"] .mi-sector-desc { color: var(--muted); }
[data-theme="dark"] a.mi-sector-item:hover .mi-sector-desc { color: #7ba3d4; }
[data-theme="dark"] .mi-sector-source { color: #70818d; }
[data-theme="dark"] .mi-tag-burden { background: rgba(248,113,113,0.1); color: #f87171; }
[data-theme="dark"] .mi-tag-watch  { background: rgba(52,211,153,0.1);  color: #74d7a0; }
[data-theme="dark"] .mi-source-link { color: #6f8290; }
[data-theme="dark"] .mi-header-keywords .mi-tag { background: rgba(255,255,255,0.06); color: #7ba3d4; }
[data-theme="dark"] button.mi-cat-btn,
[data-theme="dark"] .mi-card-title-link {
  background: transparent;
  border: none;
  box-shadow: none;
  color: inherit;
}
[data-theme="dark"] .mi-card-title-link:hover { color: #7ba3d4; }
[data-theme="dark"] .mi-change-link:hover { color: #7ba3d4; }

@media (max-width: 860px) {
  .market-intel-grid {
    gap: 12px;
  }

  .mi-swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    margin: 0 auto 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(120, 146, 127, 0.2);
    background: rgba(255, 255, 255, 0.9);
    color: #5d7467;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
  }

  .mi-swipe-hint {
    margin-bottom: 4px;
    padding: 5px 9px;
    gap: 7px;
  }

  .mi-swipe-hint-text {
    display: inline-block;
    font-size: 0.83rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1;
    white-space: nowrap;
  }

  .mi-swipe-hint-card {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 11px;
    border-radius: 4px;
    border: 1.5px solid currentColor;
    opacity: 0.9;
  }

  .mi-swipe-hint-card::before,
  .mi-swipe-hint-card::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 3px;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.82;
  }

  .mi-swipe-hint-card::before {
    left: 3px;
  }

  .mi-swipe-hint-card::after {
    right: 3px;
  }

  .mi-swipe-hint-arrow {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    opacity: 0.8;
  }

  .mi-swipe-hint-arrow--left {
    transform: rotate(-135deg);
  }

  .mi-swipe-hint-arrow--right {
    transform: rotate(45deg);
  }

  /* ── MI 카드 슬라이더 (모바일 전용) ─────────────────────────────────────── */
  /* flex 기반으로 교체 — grid-auto-columns 퍼센트 버그 + iOS 스크롤 문제 해결 */
  .market-intel-panel.panel {
    overflow-x: clip; /* 페이지 수평 오버플로 차단, 자식 스크롤은 허용 */
  }

  .mi-three-cards {
    display: flex;
    flex-direction: row;
    overflow-x: scroll;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
    padding: 0 2px 6px;
  }

  .mi-three-cards::-webkit-scrollbar {
    display: none;
  }

  .mi-card,
  .mi-sector-bar {
    flex: 0 0 100%;
    min-width: 0;
    max-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border-radius: 20px;
  }

  .mi-card,
  .mi-sector-bar,
  .mi-summary-bottom {
    padding-left: 14px;
    padding-right: 14px;
  }

  .mi-summary-bottom {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  [data-theme="dark"] .mi-swipe-hint {
    border-color: rgba(110, 168, 131, 0.18);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: none;
  }

  [data-theme="dark"] .alert-toggle-fab {
    border-right: 1px solid var(--line);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
  }

  [data-theme="dark"] .alert-drawer-head::before {
    background: rgba(148, 163, 184, 0.32);
  }

  /* recommend 카드 스와이프 힌트 */
  .rec-swipe-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid rgba(120, 146, 127, 0.2);
    background: rgba(255, 255, 255, 0.9);
    color: #5d7467;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
    vertical-align: middle;
  }

  .rec-swipe-hint-arrow {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    opacity: 0.8;
  }

  .rec-swipe-hint-arrow--left {
    transform: rotate(-135deg);
  }

  .rec-swipe-hint-arrow--right {
    transform: rotate(45deg);
  }

  [data-theme="dark"] .rec-swipe-hint {
    border-color: rgba(110, 168, 131, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #93a99a;
    box-shadow: none;
  }

  /* Signal briefing swipe dots */
  .rec-swipe-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.25;
    transition: opacity 0.2s, transform 0.2s;
    flex-shrink: 0;
  }

  .rec-swipe-dot--on {
    opacity: 1;
    transform: scale(1.25);
  }

  /* Market intel scroll dots */
  .mi-scroll-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0 4px;
  }

  .mi-scroll-dot {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #7fa891;
    opacity: 0.28;
    transition: opacity 0.2s, transform 0.2s;
    flex-shrink: 0;
    cursor: pointer;
  }

  .mi-scroll-dot--on {
    opacity: 1;
    transform: scale(1.2);
    width: 16px;
    border-radius: 4px;
  }

  [data-theme="dark"] .mi-scroll-dot {
    background: #7fa891;
  }
}

/* ── AI CHECKPOINT PANEL ─────────────────────────────────────────────────── */

.checkpoint-panel {
  padding: 14px 18px 14px;
  display: grid;
  gap: 10px;
}

/* checkpoint form */
.checkpoint-form {
  display: grid;
  gap: 10px;
}

.cp-form-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
  justify-content: flex-start;
}

.cp-form-row .ticker-autocomplete-wrap {
  flex: 0 1 560px;
  min-width: 0;
  max-width: 560px;
}

.cp-form-row input {
  width: 100%;
  padding: 0 16px;
  min-height: 50px;
  height: 50px;
  border: 1px solid #d8e2db;
  border-radius: 16px;
  font-size: 0.9rem;
  background: #fcfdfc;
  color: inherit;
  box-shadow: none;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.cp-form-row input:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.08);
}

.cp-form-row input.is-symbol-selected {
  background: #fcfdfc;
  border-color: #d8e2db;
  color: inherit;
  font-weight: inherit;
}

.cp-submit-btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.cp-form-row .analysis-secondary-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cp-credit-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 20px;
  background: rgba(255,255,255,0.22);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* body */
.cp-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* loading */
.cp-loading {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 16px 0;
  color: #7a8678;
  font-size: 0.85rem;
}
.cp-loading-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5b8a67;
  animation: cp-pulse 1.2s ease-in-out infinite;
}
.cp-loading-dot:nth-child(2) { animation-delay: 0.2s; }
.cp-loading-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes cp-pulse {
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }
  40% { opacity: 1; transform: scale(1); }
}
.cp-loading-text { margin-left: 4px; }

/* ── 리드 스트립 ────────────────────────────────────────── */
.cp-lead-strip {
  padding: 14px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(82,161,111,0.06), rgba(194,144,83,0.04));
  border: 1px solid rgba(82,161,111,0.14);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
  height: auto;
}
.cp-lead-reading {
  font-size: 0.95rem;
  font-weight: 500;
  color: #1a2e22;
  line-height: 1.56;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.cp-lead-uncertainty {
  font-size: 0.86rem;
  color: #76522c;
  line-height: 1.6;
  font-weight: 500;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.cp-lead-uncertainty-kicker {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #9b6a37;
  margin-right: 8px;
  font-family: "Space Grotesk", sans-serif;
}

/* ── 히어로 카드 ─────────────────────────────────────────── */
.cp-hero-card {
  padding: 20px 20px 16px;
  border-radius: 20px;
  background: #fff;
  border: 1.5px solid rgba(22,163,74,0.18);
  box-shadow: 0 4px 24px rgba(22,163,74,0.06), inset 0 1px 0 rgba(255,255,255,0.9);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: box-shadow 0.15s ease, background-color 0.15s ease;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
  height: auto;
}
.cp-hero-card:hover {
  background: rgba(250,252,255,0.98);
  box-shadow: 0 8px 32px rgba(22,163,74,0.09), inset 0 1px 0 rgba(255,255,255,0.9);
}
.cp-hero-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.cp-hero-title {
  font-size: 1.06rem;
  font-weight: 800;
  color: #0f1f15;
  line-height: 1.48;
  letter-spacing: -0.03em;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.cp-hero-reason {
  font-size: 0.90rem;
  color: var(--ink);
  line-height: 1.72;
  font-weight: 500;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.cp-hero-watch {
  font-size: 0.84rem;
  color: #64748b;
  line-height: 1.6;
  margin-top: -2px;
}
.cp-hero-watch strong { color: #0b1110; font-weight: 700; }

/* ── 판단 전환 신호 박스 ─────────────────────────────────── */
.cp-flip-box {
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(234,179,8,0.10);
  border: 1px solid rgba(234,179,8,0.25);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cp-flip-box--compact {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 10px;
}
.cp-flip-label {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #a16207;
  font-family: "Space Grotesk", sans-serif;
}
.cp-flip-text {
  font-size: 0.88rem;
  color: #0b1110;
  font-weight: 600;
  line-height: 1.6;
  text-wrap: pretty;
}

/* ── 긴급도 뱃지 ─────────────────────────────────────────── */
.cp-urgency {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  font-family: "Space Grotesk", sans-serif;
}
.cp-urgency::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cp-urgency-today {
  background: rgba(239,68,68,0.09);
  color: #b91c1c;
  border: 1px solid rgba(239,68,68,0.18);
}
.cp-urgency-today::before { background: #ef4444; }
.cp-urgency-days {
  background: rgba(12,111,56,0.09);
  color: #0c6f38;
  border: 1px solid rgba(12,111,56,0.22);
}
.cp-urgency-days::before { background: #0c6f38; }
.cp-urgency-event {
  background: rgba(148,163,184,0.1);
  color: #64748b;
  border: 1px solid rgba(148,163,184,0.2);
}
.cp-urgency-event::before { background: #94a3b8; }

/* ── 이유 프리뷰 (항목 리스트) ──────────────────────────── */
.cp-item-tag-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.cp-reason-preview {
  font-size: 0.83rem;
  color: #7a8c96;
  line-height: 1.6;
  font-weight: 500;
  width: 100%;
  min-width: 0;
  max-width: none;
  text-wrap: pretty;
  padding-left: 0;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  height: auto;
  max-height: none;
}
[data-cp-item][data-expanded="true"] .cp-reason-preview {
  display: none;
}
.cp-item-watch {
  font-size: 0.83rem;
  color: #64748b;
  line-height: 1.6;
  margin-top: 6px;
}
.cp-item-watch strong { color: #0b1110; font-weight: 700; }

/* top row: market reading + key uncertainty */
.cp-context-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 4px;
}
@media (max-width: 680px) { .cp-context-row { grid-template-columns: 1fr; } }

.cp-reading-card, .cp-uncertainty-card {
  padding: 14px 16px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cp-reading-card {
  background: rgba(82, 161, 111, 0.07);
  border: 1px solid rgba(82, 161, 111, 0.14);
}
.cp-uncertainty-card {
  background: rgba(194, 144, 83, 0.06);
  border: 1px solid rgba(194, 144, 83, 0.15);
}
.cp-context-label {
  font-size: 0.83rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #8a9486;
  font-family: "Space Grotesk", sans-serif;
}
.cp-reading-card .cp-context-label { color: #4e7a5d; }
.cp-uncertainty-card .cp-context-label { color: #9b6a37; }
.cp-context-text {
  font-size: 0.88rem;
  color: #314236;
  line-height: 1.6;
  font-weight: 500;
}
.cp-uncertainty-card .cp-context-text { color: #76522c; }

/* checkpoint list */
.cp-list {
  display: grid;
  gap: 10px;
  border: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 4px;
}
.cp-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 14px 13px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 20px;
  background: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 8px 20px rgba(11, 17, 16, 0.03);
  transition: border-color 0.15s ease, background-color 0.15s ease;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  height: auto;
  overflow: visible;
  cursor: pointer;
}
.cp-item:last-child { border-bottom: none; }
.cp-item:hover {
  border-color: rgba(11, 17, 16, 0.12);
  background: rgba(243, 244, 246, 0.9);
}

/* freemium blur */
.cp-item.cp-locked {
  filter: blur(4px);
  pointer-events: none;
  user-select: none;
  opacity: 0.6;
}
.cp-lock-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(2px);
  z-index: 2;
  pointer-events: all;
}

.cp-num {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(11, 17, 16, 0.1);
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Space Grotesk", sans-serif;
  margin-top: 2px;
  box-shadow: none;
}
.cp-item-content { flex: 1; display: flex; flex-direction: column; gap: 8px; min-width: 0; width: 100%; max-width: none; overflow: visible; height: auto; }
.cp-item-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
.cp-item-headline {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: none;
  display: grid;
  gap: 6px;
  align-content: start;
  padding: 1px 0;
  cursor: pointer;
}
.cp-item-headline:focus-visible {
  outline: 2px solid rgba(22, 163, 74, 0.18);
  outline-offset: 4px;
  border-radius: 12px;
}
.cp-item-header .cp-category-tag { flex-shrink: 0; width: fit-content; }
.cp-item-header .cp-item-toggle {
  margin-left: auto;
}
/* 시그널 브리핑 추천 토글과 동일: 배경 없는 카바만 */
.cp-item-toggle {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  display: inline-flex;
  margin-top: 2px;
  padding: 4px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  transition: color 0.15s ease;
  box-shadow: none;
  line-height: 1;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
}
.cp-item-toggle::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -2px);
  transition: transform 0.2s ease;
  border-radius: 1px;
}
[data-cp-item][data-expanded="false"] .cp-item-toggle::after {
  transform: rotate(-135deg) translate(-1px, 2px);
}
.cp-item-toggle:hover {
  color: #178145;
  background: transparent;
}
[data-cp-item][data-expanded="true"] {
  border-color: rgba(11, 17, 16, 0.14);
  background: #ffffff;
}

[data-cp-item][data-expanded="true"] .cp-item-toggle {
  color: #178145;
}
.cp-item-detail {
  display: none;
  min-width: 0;
  width: 100%;
  max-width: none;
  overflow: visible;
  opacity: 1;
  cursor: default;
}
[data-cp-item][data-expanded="true"] .cp-item-detail {
  display: grid;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px dashed rgba(11, 17, 16, 0.08);
  margin-top: 6px;
}
[data-cp-item][data-expanded="true"] .cp-item-detail > .cp-item-grid {
  margin-top: 8px;
}
.cp-category-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  font-size: 0.80rem;
  font-weight: 700;
  padding: 4px 9px;
  border: 1px solid rgba(107, 114, 128, 0.18);
  border-radius: 999px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  background: transparent;
  color: #6b7280;
  line-height: 1;
}
.cp-cat-수급 { background: transparent; color: #6b7280; }
.cp-cat-재무 { background: transparent; color: #6b7280; }
.cp-cat-차트 { background: transparent; color: #6b7280; }
.cp-cat-미시구조 { background: transparent; color: #6b7280; border: none; }
.cp-cat-이벤트 { background: transparent; color: #6b7280; border: none; } /* legacy */
.cp-cat-뉴스 { background: transparent; color: #6b7280; } /* legacy */
.cp-cat-매크로 { background: transparent; color: #6b7280; }
.cp-cat-리스크 {
  background: transparent;
  color: #9b4e43;
  border: none;
}
.cp-item-title {
  display: block;
  width: 100%;
  font-size: 0.98rem;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.52;
  letter-spacing: -0.02em;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.cp-item-reason {
  min-width: 0;
  width: 100%;
  max-width: none;
  font-size: 0.88rem;
  color: var(--ink) !important;
  line-height: 1.7;
  font-weight: 500;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  height: auto;
  max-height: none;
}

.cp-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 4px;
  min-width: 0;
  width: 100%;
  max-width: none;
}

.cp-item-meta {
  display: grid;
  gap: 4px;
  min-width: 0;
  width: 100%;
  max-width: none;
  padding: 6px 0 0;
  border-radius: 0;
  border: none;
  border-top: 1px dashed rgba(11, 17, 16, 0.08);
  background: transparent;
}

.cp-item-meta-label {
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  font-family: "Space Grotesk", sans-serif;
}

.cp-item-meta strong {
  font-size: 0.85rem;
  line-height: 1.6;
  color: #0b1110;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

/* 유료 잠금 배너 */
.cp-upgrade-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(82, 161, 111, 0.05), rgba(194, 144, 83, 0.05));
  border: 1px dashed rgba(95, 125, 89, 0.24);
  border-radius: 18px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.cp-upgrade-text {
  font-size: 0.90rem;
  color: #36513e;
  font-weight: 600;
  line-height: 1.55;
}
.cp-upgrade-btn {
  font-size: 0.83rem;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 6px;
  background: linear-gradient(135deg, #47624f, #6d8f76);
  color: #fff;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.15s;
}
.cp-upgrade-btn:hover { opacity: 0.85; }

/* 하단 요약 */
.cp-summary {
  padding: 14px 16px;
  background: #f9fafb;
  border: 1px solid #dde3d8;
  border-radius: 18px;
  font-size: 0.88rem;
  color: #000000;
  font-weight: 600;
  line-height: 1.74;
  letter-spacing: -0.01em;
  font-style: normal;
}

/* dark mode */
[data-theme="dark"] .cp-lead-strip {
  background: linear-gradient(135deg, rgba(12,74,44,0.28), rgba(120,53,15,0.16));
  border-color: rgba(34,197,94,0.16);
}
[data-theme="dark"] .cp-lead-reading { color: #d1fae5; }
[data-theme="dark"] .cp-lead-uncertainty { color: #fde68a; }
[data-theme="dark"] .cp-lead-uncertainty-kicker { color: #fbbf24; }
[data-theme="dark"] .cp-hero-card {
  background: rgba(15,23,42,0.78);
  border-color: rgba(34,197,94,0.2);
  box-shadow: 0 4px 24px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.04);
}
[data-theme="dark"] .cp-hero-title { color: #F5F5F5; }
[data-theme="dark"] .cp-hero-reason { color: #F5F5F5; }
[data-theme="dark"] .cp-hero-watch { color: #94a3b8; }
[data-theme="dark"] .cp-hero-watch strong { color: #F5F5F5; }
[data-theme="dark"] .cp-flip-box {
  background: rgba(0,237,104,0.1);
  border-left-color: rgba(0,237,104,0.4);
}
[data-theme="dark"] .cp-flip-label { color: #00ed68; }
[data-theme="dark"] .cp-flip-text { color: #F5F5F5; }
[data-theme="dark"] .cp-urgency-today { background: rgba(239,68,68,0.14); color: #fca5a5; border-color: rgba(239,68,68,0.25); }
[data-theme="dark"] .cp-urgency-days { background: rgba(0,237,104,0.12); color: #00ed68; border-color: rgba(0,237,104,0.25); }
[data-theme="dark"] .cp-urgency-event { background: rgba(148,163,184,0.12); color: #94a3b8; border-color: rgba(148,163,184,0.2); }
[data-theme="dark"] .cp-reason-preview { color: #64748b; }
[data-theme="dark"] .cp-item-watch { color: #94a3b8; }
[data-theme="dark"] .cp-item-watch strong { color: #F5F5F5; }
[data-theme="dark"] .cp-form-row input {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
  color: #f0ebe2;
}
[data-theme="dark"] .cp-reading-card {
  background: linear-gradient(180deg, rgba(12, 74, 44, 0.34), rgba(11, 17, 16, 0.68));
  border-color: rgba(34, 197, 94, 0.2);
}
[data-theme="dark"] .cp-uncertainty-card {
  background: linear-gradient(180deg, rgba(120, 53, 15, 0.22), rgba(11, 17, 16, 0.68));
  border-color: rgba(251, 191, 36, 0.18);
}
[data-theme="dark"] .cp-loading { color: #a89a86; }
[data-theme="dark"] .cp-loading-dot { background: #8ec5a0; }
[data-theme="dark"] .cp-context-label { color: #86efac; }
[data-theme="dark"] .cp-uncertainty-card .cp-context-label { color: #fbbf24; }
[data-theme="dark"] .cp-context-text { color: #F5F5F5; }
[data-theme="dark"] .cp-uncertainty-card .cp-context-text { color: #fde68a; }
[data-theme="dark"] .cp-category-tag { background: transparent; color: #94a3b8; }
[data-theme="dark"] .cp-cat-수급  { background: transparent; color: #94a3b8; }
[data-theme="dark"] .cp-cat-재무  { background: transparent; color: #94a3b8; }
[data-theme="dark"] .cp-cat-차트  { background: transparent; color: #94a3b8; }
[data-theme="dark"] .cp-cat-미시구조 { background: transparent; color: #94a3b8; border: none; }
[data-theme="dark"] .cp-cat-이벤트 { background: transparent; color: #94a3b8; border: none; } /* legacy */
[data-theme="dark"] .cp-cat-뉴스  { background: transparent; color: #94a3b8; } /* legacy */
[data-theme="dark"] .cp-cat-매크로 { background: transparent; color: #94a3b8; }
[data-theme="dark"] .cp-cat-리스크 { background: transparent; color: #fca5a5; }
[data-theme="dark"] .cp-item {
  background: rgba(11, 17, 16, 0.72);
  border-color: rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 20px rgba(2, 6, 23, 0.25);
}
[data-theme="dark"] .cp-item:hover {
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(15, 22, 30, 0.82);
}
[data-theme="dark"] .cp-num {
  background: rgba(11, 17, 16, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: #94a3b8;
  box-shadow: none;
}
[data-theme="dark"] .cp-item-headline:focus-visible {
  outline-color: rgba(134, 239, 172, 0.28);
}
[data-theme="dark"] .cp-item-title { color: #F5F5F5; }
[data-theme="dark"] .cp-item-reason { color: #F5F5F5; }
[data-theme="dark"] [data-cp-item][data-expanded="true"] {
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(11, 17, 16, 0.82);
}
[data-theme="dark"] .cp-item-meta {
  background: transparent;
  border: none;
  border-top: 1px dashed rgba(148, 163, 184, 0.2);
}
[data-theme="dark"] .cp-item-meta-label { color: #94a3b8; }
[data-theme="dark"] .cp-item-meta strong { color: #F5F5F5; }
[data-theme="dark"] [data-cp-item][data-expanded="true"] .cp-item-detail {
  border-top-color: rgba(148, 163, 184, 0.18);
}
[data-theme="dark"] .cp-item-toggle {
  background: transparent;
  border: 0;
  color: #94a3b8;
}
[data-theme="dark"] .cp-item-toggle:hover {
  background: transparent;
  color: #86efac;
}
[data-theme="dark"] .cp-summary {
  background: #F5F5F5;
  border-color: rgba(148, 163, 184, 0.14);
  color: #111827;
}
[data-theme="dark"] .cp-upgrade-banner {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.76), rgba(11, 17, 16, 0.64));
  border-color: rgba(34, 197, 94, 0.18);
}
[data-theme="dark"] .cp-upgrade-text { color: #F5F5F5; }
[data-theme="dark"] .cp-item.cp-locked { opacity: 0.4; }
[data-theme="dark"] .cp-lock-overlay { background: rgba(11, 17, 16, 0.6); }

/* ── ─────────────────────────────────────────────────────────────────────── */

.recommend-panel {
  padding: 22px;
  display: grid;
  gap: 14px;
  border-color: #d7d9dd;
  border-radius: 24px;
  overflow: clip; /* sticky 가능하면서 border-radius 클리핑 유지 */
  background:
    radial-gradient(circle at top right, rgba(148, 163, 184, 0.1), transparent 24%),
    linear-gradient(180deg, #fbfbfc, #f1f3f5);
  box-shadow: 0 20px 44px rgba(11, 17, 16, 0.08);
}

.recommend-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: none;
}

.recommend-head h2 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
  color: #c9a84c;
}

.recommend-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

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

.recommend-grid--tabbed {
  gap: 12px;
}

.recommend-overview {
  display: block;
}

.recommend-market-note {
  margin: 10px 0 0;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #5b6472;
  max-width: none;
  text-wrap: pretty;
}

.recommend-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

#recommend-tablist,
#recommend-body > .recommend-tabs[role="tablist"] {
  display: inline-flex !important;
  align-items: center;
  justify-self: start;
  align-self: start;
  width: fit-content !important;
  inline-size: fit-content !important;
  max-width: 100%;
  margin: 0;
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#recommend-tablist::before,
#recommend-tablist::after,
#recommend-body > .recommend-tabs[role="tablist"]::before,
#recommend-body > .recommend-tabs[role="tablist"]::after {
  content: none !important;
}

.recommend-tab {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.92);
  color: #5b6472;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

#recommend-tablist > .recommend-tab,
#recommend-body > .recommend-tabs[role="tablist"] > .recommend-tab {
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}

.recommend-tab.is-active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

.recommend-card-panel {
  min-height: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 4px 0 0;
}

.recommend-tab-win-badge {
  display: inline-block;
  margin-left: 7px;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.13);
  color: #059669;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  vertical-align: middle;
}
.recommend-tab.is-active .recommend-tab-win-badge {
  background: rgba(255, 255, 255, 0.18);
  color: #a7f3d0;
}

.recommend-win-meta {
  margin: 3px 0 8px;
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(16, 185, 129, 0.09);
  border: 1px solid rgba(16, 185, 129, 0.2);
  color: #374151;
  font-size: 0.80rem;
  line-height: 1.5;
}
.recommend-win-meta strong {
  color: #059669;
  font-weight: 700;
}

.recommend-inline-summary {
  margin: 4px 0 12px;
  color: #4b5568;
  font-size: 0.90rem;
  line-height: 1.58;
}

.recommend-card-panel.hidden {
  display: none;
}

.recommend-premium-cta {
  border: 1px solid #d7d9dd;
  border-radius: 20px;
  padding: 16px 18px;
}

.recommend-overline {
  margin: 0 0 6px;
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
}

.recommend-description,
.recommend-premium-copy {
  margin: 0;
  line-height: 1.7;
  color: #374151;
}

.recommend-premium-cta {
  display: grid;
  align-content: center;
  gap: 12px;
  background: linear-gradient(180deg, #F5F5F5, #eef2f7);
  color: #111827;
}

.recommend-premium-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.recommend-credit-note {
  font-size: 0.85rem;
  color: #5b6472;
  line-height: 1.45;
}

.btn-brand-mark {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  justify-content: center;
  width: 20px;
  height: 21px;
  line-height: 0;
  opacity: 1;
}

.credit-chip-mark {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  justify-content: center;
  width: 10px;
  height: 11px;
  line-height: 0;
  opacity: 1;
}

[data-theme="dark"] .btn-brand-mark {
  opacity: 1;
}

[data-theme="dark"] .credit-chip-mark {
  opacity: 1;
}

.recommend-premium-btn,
.recommend-unlock-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #d7d9dd;
  background: #ffffff;
  color: #111827;
  font-weight: 700;
  text-decoration: none;
  gap: 10px;
}

.recommend-premium-btn:hover,
.recommend-unlock-btn:hover {
  background: #f9fafb;
  border-color: #F5F5F5;
}

#recommend-premium-btn-domestic:hover,
#recommend-premium-btn-overseas:hover {
  background: #ffffff;
  border-color: #d7d9dd;
}

.recommend-premium-btn::before,
.recommend-unlock-btn::before {
  content: none;
  display: none;
}

.recommend-premium-btn.is-unlocked::before,
.recommend-unlock-btn.is-unlocked::before {
  content: none;
  display: none;
}

.recommend-premium-btn .cp-credit-badge,
.recommend-unlock-btn .cp-credit-badge {
  margin-left: 2px;
  flex-shrink: 0;
}

.recommend-card {
  border-radius: 20px;
  padding: 16px;
  background: transparent;
  border: none;
  box-shadow: none;
  display: grid;
  gap: 12px;
}

.recommend-card h3 {
  margin: 0;
  font-size: 0.98rem;
  color: #1f1914;
  line-height: 1.45;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: 0.03em;
}

.recommend-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
}

.recommend-item {
  border-bottom: 1px solid #eef0f3;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  transition: background 0.15s;
}
.recommend-item:last-child {
  border-bottom: none;
}
.recommend-item[aria-expanded="true"] {
  background: transparent;
}

/* 항상 보이는 헤더 행 */
.recommend-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}
.recommend-row:hover {
  background: transparent;
}
.recommend-row-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.recommend-row-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.recommend-chevron {
  color: #94a3b8;
  transition: transform 0.22s ease, color 0.15s;
  flex-shrink: 0;
}
.recommend-item[aria-expanded="true"] .recommend-chevron {
  transform: rotate(180deg);
  color: #6366f1;
}

/* 접히는 상세 영역 */
.recommend-detail {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.26s ease;
}
.recommend-item[aria-expanded="true"] .recommend-detail {
  grid-template-rows: 1fr;
}
.recommend-detail-inner {
  overflow: hidden;
  padding: 0 15px;
  display: grid;
  gap: 12px;
}
.recommend-item[aria-expanded="true"] .recommend-detail-inner {
  padding-bottom: 16px;
}

.recommend-item.is-collapsed {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: none !important;
  overflow: hidden;
}
.recommend-item.is-collapsed .recommend-row-head {
  display: none;
}
.recommend-summary {
  border: 1px solid #d7d9dd;
  border-radius: 18px;
  background: rgba(247, 248, 250, 0.95);
  padding: 15px 16px;
  display: grid;
  gap: 8px;
}

.recommend-summary-title {
  font-size: 0.87rem;
  font-weight: 800;
  color: #6b7280;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

.recommend-rank-block {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 42px;
  padding: 7px 5px 6px;
  border-radius: 999px;
  background: #00a84d;
  color: #F5F5F5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.recommend-rank-block strong {
  font-size: 0.9rem;
  line-height: 1;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 800;
}

.recommend-rank-label {
  font-size: 0.81rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.64);
}

.recommend-title-block {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.recommend-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.recommend-hash-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  position: relative;
  border: 1px solid #d8e0e8;
  background: #f3f6fa;
  color: #445264;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  cursor: default;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.recommend-hash-chip:focus-visible {
  outline: none;
}

.recommend-hash-chip--new {
  border-color: #b8e2c8;
  background: #e8f7ee;
  color: #17603a;
}

.recommend-hash-chip--return {
  border-color: #efcf96;
  background: #fff3db;
  color: #9a5a00;
}

.recommend-hash-chip--steady {
  border-color: #b7ebcd;
  background: #ecfdf5;
  color: #047857;
}

.recommend-hash-chip--weakening {
  border-color: #efb9b5;
  background: #fdebea;
  color: #af2e25;
}

.recommend-hash-chip--insight {
  border-color: #bfd8ff;
  background: #ebf4ff;
  color: #1d4f91;
}
.recommend-hash-chip--extra {
  border-color: #c3f0d0;
  background: #edfaf3;
  color: #166534;
}

.recommend-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: #e5e7eb;
  color: #4b5563;
}

.recommend-badge--new {
  background: #e4efe5;
  color: #2e6b41;
}

.recommend-badge--steady {
  background: #e5e7eb;
  color: #4b5563;
}

.recommend-badge--return {
  background: #e5e7eb;
  color: #4b5563;
}

.recommend-badge--weakening {
  background: #f2dfdb;
  color: #9b4e43;
}

.recommend-ticker {
  font-size: 1rem;
  font-weight: 800;
  color: #1f1914;
  line-height: 1.45;
}

.recommend-badge-detail {
  font-size: 0.90rem;
  color: #6b7280;
}

.recommend-price-block {
  display: flex;
  align-items: center;
  justify-items: end;
  gap: 10px;
  flex-wrap: wrap;
}

.recommend-brief-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.recommend-brief-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(23, 20, 17, 0.06);
  color: #645644;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
}

.recommend-one-liner {
  padding: 10px 0 12px;
  border: none;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 0;
  background: transparent;
  font-size: 1rem;
  font-weight: 700;
  color: #251e17;
  line-height: 1.65;
}

.recommend-preview-title,
.recommend-premium-title {
  font-size: 0.85rem;
  font-weight: 800;
  color: #6b7280;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.recommend-free-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.recommend-wow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.recommend-wow-card {
  display: grid;
  gap: 8px;
  padding: 14px 14px 13px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
}

.recommend-wow-card--bull {
  border-color: rgba(34, 197, 94, 0.22);
}

.recommend-wow-card--bear {
  border-color: rgba(239, 68, 68, 0.18);
}

.recommend-wow-card--neutral {
  border-color: rgba(59, 130, 246, 0.14);
}

.recommend-wow-card-label {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #637381;
}

.recommend-wow-card-text {
  margin: 0;
  color: #1f2937;
  font-size: 0.95rem;
  line-height: 1.62;
}

.recommend-free-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recommend-signal-chip {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  background: transparent;
  padding: 10px 12px;
  display: grid;
  gap: 6px;
}

.recommend-signal-label {
  font-size: 0.85rem;
  color: #6b7280;
  letter-spacing: 0.01em;
}

.recommend-signal-chip strong {
  color: #221b15;
  font-size: 0.95rem;
  line-height: 1.55;
}

.recommend-why {
  display: grid;
  gap: 8px;
}

.recommend-why--card {
  padding: 10px 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.recommend-premium-block {
  display: grid;
  gap: 12px;
}

/* ── 신규 해석 블록 ── */
.rec-unlocked-block {
  display: grid;
  gap: 16px;
  padding: 16px 0 0 0;
  position: relative;
}

[data-theme="dark"] .rec-unlocked-block {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-unlocked-block *,
[data-theme="dark"] .rec-unlocked-block *::before,
[data-theme="dark"] .rec-unlocked-block *::after {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .rec-unlocked-block .rec-signal-value,
[data-theme="dark"] .rec-unlocked-block .rec-signal-insight,
[data-theme="dark"] .rec-unlocked-block .rec-signal-label {
  color: #f5f5f5 !important;
}

.rec-timeframe-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7280;
  background: rgba(107, 114, 128, 0.08);
  border-radius: 12px;
  margin-bottom: 8px;
  align-self: flex-start;
}

[data-theme="dark"] .rec-timeframe-badge {
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.06);
}

/* 1. 확률적 위치 판단 */
.rec-position {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.rec-position-item {
  display: grid;
  gap: 4px;
}

.rec-position-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
}

.rec-position-text {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.5;
}

/* 2. 리스크 판단 */
.rec-risk {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.rec-risk-item {
  display: grid;
  gap: 4px;
}

.rec-risk-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
}

.rec-risk-item--downside .rec-risk-label {
  color: #dc2626;
}

.rec-risk-item--upside .rec-risk-label {
  color: #059669;
}

.rec-risk-text {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.5;
}

/* 3. 확인 포인트 */
.rec-action-guide {
  padding: 12px 0;
}

.rec-action-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 6px;
}

.rec-action-text {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.6;
}

/* 3.5 구체적 액션 제안 */
.rec-action-recommendation {
  padding: 16px;
  background: rgba(16, 185, 129, 0.05);
  border-radius: 8px;
  border-left: 3px solid #10b981;
  margin: 8px 0;
}

.rec-action-recommend-type {
  font-size: 0.95rem;
  font-weight: 700;
  color: #10b981;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.rec-action-recommend-type--sell {
  color: #ef4444;
}

.rec-action-recommend-type--hold {
  color: #f59e0b;
}

.rec-action-recommend-prices {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.rec-action-recommend-price {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 6px;
}

.rec-action-recommend-price--stop {
  background: rgba(239, 68, 68, 0.1);
}

.rec-action-recommend-price-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.rec-action-recommend-price-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2634;
}

[data-theme="dark"] .rec-action-recommendation {
  background: rgba(16, 185, 129, 0.08);
  border-left-color: #34d399;
}

[data-theme="dark"] .rec-action-recommend-type {
  color: #34d399;
}

[data-theme="dark"] .rec-action-recommend-type--sell {
  color: #f87171;
}

[data-theme="dark"] .rec-action-recommend-type--hold {
  color: #fbbf24;
}

[data-theme="dark"] .rec-action-recommend-price {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .rec-action-recommend-price--stop {
  background: rgba(239, 68, 68, 0.15);
}

[data-theme="dark"] .rec-action-recommend-price-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-action-recommend-price-value {
  color: #f5f5f5;
}

/* 4. 구조적 신호 */
.rec-structure {
  display: grid;
  gap: 8px;
  padding: 12px 0;
}

.rec-structure-header {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 8px;
}

.rec-structure-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-left: 4px;
}

.rec-structure-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  flex-shrink: 0;
  min-width: 80px;
}

.rec-structure-text {
  font-size: 0.84rem;
  font-weight: 500;
  color: #1f2937;
}

/* 5. 신호 강도 */
.rec-signal {
  display: grid;
  gap: 8px;
  padding: 12px 0;
}

.rec-signal-header {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 8px;
}

.rec-signal-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.rec-signal-item:last-child {
  border-bottom: none;
}

.rec-signal-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  min-width: 70px;
  flex-shrink: 0;
}

.rec-signal-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2634;
  flex-shrink: 0;
}

[data-theme="dark"] .rec-signal-value {
  color: #f5f5f5 !important;
}

.rec-signal-insight {
  font-size: 0.82rem;
  font-weight: 500;
  color: #4b5563;
  flex-shrink: 0;
}

[data-theme="dark"] .rec-signal-insight {
  color: #f5f5f5;
}

.rec-signal-comparison {
  font-size: 0.75rem;
  font-weight: 600;
  color: #059669;
  flex-shrink: 0;
  margin-left: auto;
}

.rec-signal-comparison--negative {
  color: #dc2626;
}

.rec-signal-percentile {
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7280;
  flex-shrink: 0;
  margin-left: 8px;
  padding: 2px 6px;
  background: rgba(107, 114, 128, 0.1);
  border-radius: 4px;
}

[data-theme="dark"] .rec-signal-header {
  color: #94a3b8 !important;
}

[data-theme="dark"] .rec-signal-label {
  color: #94a3b8 !important;
}

/* Mindmap text room and anti-clipping — final priority */
html body #page-dashboard #research-studio .mm-detail-grid,
html body #page-briefing #research-studio .mm-detail-grid {
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path {
  padding-right: 96px !important;
  scroll-padding-right: 96px !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item {
  width: min(420px, calc(100vw - 88px)) !important;
  min-width: min(420px, calc(100vw - 88px)) !important;
  max-width: min(420px, calc(100vw - 88px)) !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
  width: min(480px, calc(100vw - 72px)) !important;
  min-width: min(480px, calc(100vw - 72px)) !important;
  max-width: min(480px, calc(100vw - 72px)) !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-item-btn {
  padding: 14px 16px !important;
  gap: 10px !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-title-row,
html body #page-briefing #research-studio .mm-fixed-item-title-row {
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-title-row .mm-fixed-item-title,
html body #page-briefing #research-studio .mm-fixed-item-title-row .mm-fixed-item-title {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: none !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-copy,
html body #page-briefing #research-studio .mm-fixed-item-copy,
html body #page-dashboard #research-studio .mm-fixed-item-summary,
html body #page-briefing #research-studio .mm-fixed-item-summary,
html body #page-dashboard #research-studio .mm-live-node-summary,
html body #page-briefing #research-studio .mm-live-node-summary,
html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p {
  line-height: 1.72 !important;
}

html body #page-dashboard #research-studio .mm-live-panel,
html body #page-briefing #research-studio .mm-live-panel,
html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card {
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 1480px) {
  html body #page-dashboard #research-studio .mm-detail-grid,
  html body #page-briefing #research-studio .mm-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

[data-theme="dark"] .mm-fin-flow-wrap * {
  color: inherit;
}

[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-title {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-value,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-chip {
  color: #dbe6f2 !important;
}

html[data-theme="dark"] #page-dashboard .rec-signal-value,
html[data-theme="dark"] #page-briefing .rec-signal-value,
html[data-theme="dark"] #page-dashboard .rec-signal-insight,
html[data-theme="dark"] #page-briefing .rec-signal-insight {
  color: #f5f5f5 !important;
}

html[data-theme="dark"] #page-dashboard .rec-signal-label,
html[data-theme="dark"] #page-briefing .rec-signal-label {
  color: #94a3b8 !important;
}

/* ── STEP 100: Mindmap cards — never clip, allow title row to wrap fully ── */
html body #page-dashboard #research-studio .mm-fixed-section,
html body #page-briefing #research-studio .mm-fixed-section,
html body #page-dashboard #research-studio .mm-fixed-split,
html body #page-briefing #research-studio .mm-fixed-split,
html body #page-dashboard #research-studio .mm-fixed-list,
html body #page-briefing #research-studio .mm-fixed-list,
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-item-btn,
html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-title-row,
html body #page-briefing #research-studio .mm-fixed-item-title-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-title-row .mm-fixed-item-title,
html body #page-briefing #research-studio .mm-fixed-item-title-row .mm-fixed-item-title {
  flex: 1 1 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

html body #page-dashboard #research-studio .mm-info-btn,
html body #page-briefing #research-studio .mm-info-btn {
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-copy,
html body #page-briefing #research-studio .mm-fixed-item-copy,
html body #page-dashboard #research-studio .mm-fixed-item-summary,
html body #page-briefing #research-studio .mm-fixed-item-summary,
html body #page-dashboard #research-studio .mm-live-node-summary,
html body #page-briefing #research-studio .mm-live-node-summary,
html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p {
  width: 100% !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

html body #page-dashboard #research-studio .mm-stage-side,
html body #page-briefing #research-studio .mm-stage-side,
html body #page-dashboard #research-studio .mm-stage-side--top,
html body #page-briefing #research-studio .mm-stage-side--top,
html body #page-dashboard #research-studio .mm-stage-side-body,
html body #page-briefing #research-studio .mm-stage-side-body {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-list,
html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-list,
html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 2px !important;
  padding-right: 60px !important;
  margin-right: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-padding-right: 60px !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch;
  gap: 10px !important;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
}

html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-list::-webkit-scrollbar,
html body #page-dashboard #research-studio .mm-fixed-list--read-path::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item {
  box-sizing: border-box !important;
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  flex: 0 0 auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

@media (max-width: 600px) {
  html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
  html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item,
  html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
  html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item {
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }
}

html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item:last-child,
html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item:last-child,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item:last-child,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item:last-child {
  margin-right: 60px !important;
}

/* Navigation Wrapper & Buttons */
.mm-fixed-nav-wrap {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}

.mm-fixed-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #334155;
  font-size: 0.8rem;
  transition: all 0.2s ease;
}

.mm-fixed-nav-btn:hover {
  background: #f8fafc;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.mm-fixed-nav-btn.hidden {
  display: none !important;
}

.mm-fixed-nav-btn--prev {
  left: -12px;
}

.mm-fixed-nav-btn--next {
  right: 12px;
}

[data-theme="dark"] .mm-fixed-nav-btn {
  background: #1e293b;
  border-color: rgba(255, 255, 255, 0.1);
  color: #f1f5f9;
}

@media (max-width: 980px) {
  html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-list,
  html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-list,
  html body #page-dashboard #research-studio .mm-fixed-list--read-path,
  html body #page-briefing #research-studio .mm-fixed-list--read-path {
    padding-right: 48px !important;
    scroll-padding-right: 48px !important;
  }
}

[data-theme="dark"] .rec-signal-value {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .rec-signal-insight {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .rec-signal-comparison {
  color: #34d399 !important;
}

[data-theme="dark"] .rec-signal-comparison--negative {
  color: #f87171 !important;
}

[data-theme="dark"] .rec-signal-percentile {
  color: #f5f5f5 !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.rec-narrative-text {
  margin: 0;
  font-size: 0.915rem;
  font-weight: 500;
  color: #1a2634;
  line-height: 1.65;
  letter-spacing: -0.005em;
}

/* 2. wow 축 배지 */
.rec-wow-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rec-wow-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 20px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 1px solid rgba(100, 116, 139, 0.2);
  background: rgba(248, 250, 252, 0.88);
  color: #475569;
  cursor: default;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rec-wow-tag--bull {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.28);
  color: #065f46;
}

.rec-wow-tag--bear {
  background: rgba(220, 38, 38, 0.07);
  border-color: rgba(220, 38, 38, 0.22);
  color: #991b1b;
}

.rec-wow-tag--neutral {
  background: rgba(59, 130, 246, 0.07);
  border-color: rgba(59, 130, 246, 0.2);
  color: #1e40af;
}

/* 3. 갈림길: 강/약 조건 두 칼럼 */
.rec-split-cond {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.rec-cond {
  display: grid;
  gap: 5px;
  padding: 11px 13px;
  border-radius: 10px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: transparent;
}

.rec-cond--bull {
  border-color: rgba(16, 185, 129, 0.22);
  background: transparent;
}

.rec-cond--bear {
  border-color: rgba(220, 38, 38, 0.18);
  background: transparent;
}

.rec-cond-label {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
}

.rec-cond--bull .rec-cond-label { color: #059669; }
.rec-cond--bear .rec-cond-label { color: #dc2626; }

.rec-cond-text {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.55;
}

/* 4. 오늘 확인 callout */
.rec-checkpoint-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 13px;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background: transparent;
}

.rec-checkpoint-icon {
  color: #2563eb;
  font-size: 0.78rem;
  flex-shrink: 0;
  margin-top: 3px;
}

.rec-checkpoint-body {
  display: grid;
  gap: 3px;
}

.rec-checkpoint-label {
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
}

.rec-checkpoint-text {
  margin: 0;
  font-size: 0.855rem;
  font-weight: 500;
  color: #1e3a8a;
  line-height: 1.55;
}

/* 5. 신호 요약 (3개) */
.rec-stat-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.rec-stat-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: transparent;
  min-width: 0;
}

.rec-stat-item--score {
  border-color: rgba(16, 185, 129, 0.25);
  background: rgba(240, 253, 244, 0.5);
}

.rec-stat-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: #6b7280;
  white-space: nowrap;
}

.rec-stat-value {
  font-size: 0.88rem;
  font-weight: 800;
  color: #111827;
  white-space: nowrap;
}

.rec-stat-item--score .rec-stat-value { color: #065f46; }

/* 잠금 스켈레톤 추가 요소 */
.recommend-locked-blur-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.recommend-locked-blur-chip--tall {
  height: 60px;
}

.recommend-locked-blur-line--callout {
  height: 40px;
  border-radius: 10px;
  margin-top: 8px;
}

.recommend-brief-stack {
  display: grid;
  gap: 8px;
}

.recommend-brief-row {
  display: grid;
  gap: 6px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0;
  background: transparent;
  transition: border-bottom-color 140ms ease;
}

.recommend-brief-row:last-child {
  border-bottom: none;
}

.recommend-brief-row.is-primary {
  border-bottom-color: rgba(37, 99, 235, 0.22);
  background: transparent;
}

.recommend-brief-row:hover {
  background: transparent;
  border-bottom-color: rgba(203, 213, 225, 0.98);
}

.recommend-brief-label {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f6b7a;
}

.recommend-brief-row strong {
  color: #1f2937;
  font-size: 0.96rem;
  line-height: 1.6;
}

.recommend-premium-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.recommend-detail-stack {
  display: grid;
  gap: 8px;
}

.recommend-why-title {
  font-size: 0.85rem;
  font-weight: 800;
  color: #34567d;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.recommend-why-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #4b5563;
  line-height: 1.55;
}

.recommend-wow-point {
  display: grid;
  gap: 8px;
  padding: 4px 0 0;
}

.recommend-wow-label {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #39714b;
}

.recommend-wow-point strong {
  color: #1f3a29;
  line-height: 1.6;
}

.recommend-action-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.recommend-action-btn {
  appearance: none;
  -webkit-appearance: none;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.86);
  color: #0b1110;
  font-size: 0.87rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.recommend-action-btn:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: rgba(34, 197, 94, 0.24);
}

.recommend-guardrail-note {
  display: grid;
  gap: 6px;
  padding: 12px 13px;
  border: 1px dashed #cfd7e3;
  border-radius: 14px;
  background: rgba(244, 247, 251, 0.92);
}

.recommend-guardrail-note p {
  margin: 0;
  color: #526071;
  line-height: 1.6;
  font-size: 0.86rem;
}

.recommend-locked-state {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px dashed #F5F5F5;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.92);
}

.recommend-locked-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #4b5563;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.recommend-locked-copy {
  font-size: 0.90rem;
  color: #4b5563;
  line-height: 1.3;
}

.recommend-main-point {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  padding: 10px 12px;
  background: transparent;
  display: grid;
  gap: 6px;
}

.recommend-main-point-label {
  font-size: 0.85rem;
  color: #6b7280;
  letter-spacing: 0.01em;
}

.recommend-main-point strong {
  color: #221b15;
  font-size: 0.96rem;
  line-height: 1.62;
}

.recommend-main-point--highlight {
  background: transparent;
  border-color: rgba(203, 213, 225, 0.95);
}

.recommend-main-point--wide {
  grid-column: 1 / -1;
}

.recommend-empty {
  font-size: 0.94rem;
  color: #6b7280;
}

.recommend-live-price {
  font-size: 0.94rem;
  font-weight: 800;
  font-family: var(--mono);
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #F5F5F5;
  letter-spacing: -0.01em;
}

.recommend-live-gap {
  font-size: 0.90rem;
  font-weight: 700;
  font-family: var(--mono);
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  letter-spacing: -0.01em;
}

.recommend-live-gap::before {
  content: "/";
  margin-right: 7px;
  color: rgba(100, 116, 139, 0.5);
}

.recommend-live-price.price-up {
  color: #2e6b41;
}

.recommend-live-price.price-down {
  color: #9c3f3f;
}

.recommend-live-price.price-neutral {
  color: #536f8f;
}

.recommend-live-gap.price-up {
  color: #2e6b41;
}

.recommend-live-gap.price-down {
  color: #9c3f3f;
}

.recommend-live-gap.price-neutral {
  color: #536f8f;
}

/* ── Recommend locked block (잠금 그리드 + CTA) ── */
.recommend-why--preview {
  margin-bottom: 8px;
}

.recommend-why-locked {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(11, 17, 16, 0.04);
  border: 1px dashed #F5F5F5;
  font-size: 0.90rem;
}

.recommend-locked-block {
  display: grid;
  gap: 10px;
}

.recommend-locked-divider {
  height: 1px;
  border-radius: 999px;
  background: rgba(203, 213, 225, 0.9);
}

.recommend-locked-cutoff {
  display: grid;
  gap: 10px;
  position: relative;
}

.recommend-content-blur {
  opacity: 1;
  pointer-events: none;
  user-select: none;
}

.recommend-content-blur > * {
  filter: blur(11px);
  opacity: 0.22;
}

.recommend-content-blur::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.18), rgba(248, 250, 252, 0.42));
}

.recommend-locked-grid-mask {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  pointer-events: none;
  user-select: none;
}

.recommend-chip-blur {
  filter: blur(5px);
  opacity: 0.4;
}

.recommend-locked-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  width: 100%;
  border: 1px dashed #F5F5F5;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.92);
  appearance: none;
  font-size: 0.87rem;
  font-weight: 800;
  cursor: pointer;
  text-align: left;
  box-shadow: none;
  justify-content: flex-start;
}

.recommend-locked-cta:focus-visible {
  outline: 2px solid rgba(22, 163, 74, 0.22);
  outline-offset: 2px;
}

/* ── Dark mode ── */
[data-theme="dark"] .recommend-why-locked {
  background: rgba(255, 255, 255, 0.04);
  border-color: #302920;
}

[data-theme="dark"] .recommend-locked-divider {
  background: rgba(71, 85, 105, 0.85);
}

[data-theme="dark"] .recommend-content-blur::after {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.18), rgba(11, 17, 16, 0.4));
}

[data-theme="dark"] .recommend-locked-cta {
  border-color: #302920;
  background: rgba(31, 26, 21, 0.92);
  color: #cbbfae;
}

[data-theme="dark"] .recommend-locked-cta:focus-visible {
  outline-color: rgba(167, 243, 208, 0.28);
}

[data-theme="dark"] .recommend-chip-blur {
  opacity: 0.25;
}

/* ── Full paywall lock block ── */
.recommend-locked-block--paywall {
  display: grid;
  gap: 10px;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
}

.recommend-locked-blur-zone {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(203, 213, 225, 0.6);
  background: rgba(248, 250, 252, 0.5);
  filter: blur(6px);
  opacity: 0.35;
  user-select: none;
  pointer-events: none;
}

.recommend-locked-blur-line {
  border-radius: 6px;
  background: linear-gradient(90deg, #F5F5F5 0%, #F5F5F5 60%, #F5F5F5 100%);
}

.recommend-locked-blur-line--title {
  height: 16px;
  width: 65%;
}

.recommend-locked-blur-line--body {
  height: 12px;
  width: 92%;
}

.recommend-locked-blur-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 4px;
}

.recommend-locked-blur-chip {
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(90deg, #F5F5F5 0%, #F5F5F5 60%, #F5F5F5 100%);
}

[data-theme="dark"] .recommend-locked-blur-zone {
  border-color: rgba(71, 85, 105, 0.4);
  background: rgba(11, 17, 16, 0.3);
}

/* ── Per-card partial reveal: show "현재 위치" freely, blur everything below ── */
.rec-unlocked-block--partial {
  position: relative;
}

.rec-unlocked-blur-tail {
  position: relative;
  filter: blur(6px);
  opacity: 0.45;
  pointer-events: none;
  user-select: none;
}

.rec-unlocked-blur-tail > * {
  pointer-events: none;
}

/* ── Per-card unlock CTA (bottom of each blurred card) ── */
.rec-card-unlock-cta {
  display: flex;
  justify-content: center;
  padding: 0 0 10px;
  margin-top: -64px;
  position: relative;
  z-index: 3;
  pointer-events: auto;
}
.rec-card-unlock-cta .recommend-premium-btn {
  min-height: 52px !important;
  padding: 0 26px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--t1, #111827) !important;
  border: 1px solid var(--hr, #d7d9dd) !important;
  animation: none !important;
  transition: background 140ms ease, border-color 140ms ease !important;
}
.rec-card-unlock-cta .recommend-premium-btn::before,
.rec-card-unlock-cta .recommend-premium-btn::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  animation: none !important;
}
.rec-card-unlock-cta .recommend-premium-btn:hover,
.rec-card-unlock-cta .recommend-premium-btn:focus-visible {
  background: rgba(148, 163, 184, 0.08) !important;
  border-color: var(--hr2, rgba(148, 163, 184, 0.28)) !important;
}
.rec-card-unlock-cta .recommend-premium-btn .btn-brand-mark {
  display: none !important;
}
[data-theme="dark"] .rec-card-unlock-cta .recommend-premium-btn {
  box-shadow: none !important;
  background: transparent !important;
  color: #f3f4f6 !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
}
[data-theme="dark"] .rec-card-unlock-cta .recommend-premium-btn:hover,
[data-theme="dark"] .rec-card-unlock-cta .recommend-premium-btn:focus-visible {
  background: rgba(148, 163, 184, 0.1) !important;
  border-color: rgba(148, 163, 184, 0.32) !important;
}
.rec-card-unlock-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid rgba(78, 170, 124, 0.45);
  background: linear-gradient(135deg, rgba(78, 170, 124, 0.16), rgba(32, 100, 74, 0.22));
  color: #20624a;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 140ms ease, transform 140ms ease, border-color 140ms ease;
}
.rec-card-unlock-btn:hover {
  background: linear-gradient(135deg, rgba(78, 170, 124, 0.28), rgba(32, 100, 74, 0.34));
  border-color: rgba(32, 100, 74, 0.6);
  transform: translateY(-1px);
}
.rec-card-unlock-btn:active {
  transform: translateY(0);
}
.rec-card-unlock-btn[disabled],
.rec-card-unlock-btn.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
html[data-theme="dark"] .rec-card-unlock-btn {
  border-color: rgba(120, 214, 168, 0.42);
  background: linear-gradient(135deg, rgba(78, 170, 124, 0.22), rgba(32, 100, 74, 0.36));
  color: #d1f1df;
}
html[data-theme="dark"] .rec-card-unlock-btn:hover {
  background: linear-gradient(135deg, rgba(78, 170, 124, 0.34), rgba(32, 100, 74, 0.5));
  border-color: rgba(120, 214, 168, 0.6);
}

/* ── Scenario + wow-point multi-column row ── */
.rec-scenario-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
@media (max-width: 720px) {
  .rec-scenario-row {
    grid-template-columns: 1fr;
  }
}
.rec-scenario-col,
.rec-wow-col {
  min-width: 0;
}
.rec-wow-primary {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(78, 170, 124, 0.22);
  background: transparent;
  height: 100%;
}
.rec-wow-primary-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #2f3d36;
  letter-spacing: -0.01em;
}
.rec-wow-primary-text {
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.5;
  color: #16281f;
  letter-spacing: -0.01em;
}
html[data-theme="dark"] .rec-wow-primary {
  border-color: rgba(120, 214, 168, 0.26);
  background: transparent;
}
html[data-theme="dark"] .rec-wow-primary-label { color: #c4d3ca; }
html[data-theme="dark"] .rec-wow-primary-text { color: #f0f5f1; }

/* ── Structure item strength mini-bar ── */
.rec-structure-item {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 12px;
}
@media (max-width: 560px) {
  .rec-structure-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .rec-structure-bar { order: 3; }
}
.rec-structure-bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.rec-structure-bar-fill {
  flex: 1 1 auto;
  display: block;
  position: relative;
  height: 6px;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}
.rec-structure-bar-fill::before {
  content: "";
  position: absolute;
  inset: 0;
  width: var(--rec-struct-bar, 0%);
  background: linear-gradient(90deg, rgba(78, 170, 124, 0.95), rgba(32, 100, 74, 0.95));
  border-radius: 0;
  transition: width 320ms ease;
}
.rec-structure-bar-val {
  font-size: 0.72rem;
  font-weight: 800;
  color: #20624a;
  letter-spacing: 0.02em;
  min-width: 22px;
  text-align: right;
}
html[data-theme="dark"] .rec-structure-bar-fill {
  background: transparent;
}
html[data-theme="dark"] .rec-structure-bar-fill::before {
  background: linear-gradient(90deg, rgba(120, 214, 168, 0.95), rgba(78, 170, 124, 0.95));
}
html[data-theme="dark"] .rec-structure-bar-val { color: #b5ddc6; }

/* ── Locked block that mirrors unlocked structure ── */
.rec-unlocked-block--locked {
  position: relative;
}

.recommend-item-lockwrap > .rec-unlocked-locked-skeleton {
  display: block;
  gap: 0;
  padding: 0;
}

.rec-unlocked-locked-skeleton {
  display: grid;
  gap: 16px;
  padding: 16px 0 0 0;
  filter: blur(6px);
  opacity: 0.45;
  user-select: none;
}

.rec-unlocked-locked-skeleton > * {
  pointer-events: none;
}

.rec-unlocked-block--locked[data-recommend-unlock],
.rec-unlocked-locked-skeleton[data-recommend-unlock] {
  cursor: pointer;
}

.rec-skel-line {
  display: block;
  height: 12px;
  width: 100%;
  margin-top: 6px;
  border-radius: 6px;
  background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 50%, #e5e7eb 100%);
}

.rec-skel-line:first-child {
  margin-top: 0;
}

.rec-skel-line--short {
  width: 70%;
}

.rec-skel-pill {
  display: inline-block;
  height: 12px;
  width: 64px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 50%, #e5e7eb 100%);
  vertical-align: middle;
}

.rec-skel-pill--narrow {
  width: 44px;
}

.rec-skel-pill--wide {
  width: 220px;
  height: 18px;
}

.rec-skel-pill--block {
  display: block;
  width: 100%;
  height: 28px;
  border-radius: 10px;
}

.rec-unlocked-locked-cta {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 90%;
  z-index: 2;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.98);
}

[data-theme="dark"] .rec-skel-line,
[data-theme="dark"] .rec-skel-pill {
  background: linear-gradient(90deg, #2a2419 0%, #3a3024 50%, #2a2419 100%);
}

[data-theme="dark"] .rec-unlocked-locked-cta {
  background: rgba(31, 26, 21, 0.98);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* My Reports Library */
.my-reports-list {
  list-style: none;
  padding: 0;
  padding-right: 4px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 400px;
  overflow-y: auto;
}

.my-reports-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid #d2deed;
  border-radius: 8px;
  background: #f7fbff;
  gap: 8px;
  transition: background-color 0.14s ease, border-color 0.14s ease;
}
.my-reports-item:hover {
  background: #eef3fb;
  border-color: #b8cce0;
}

.my-reports-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.my-reports-meta {
  font-size: 0.87rem;
  color: #536f8f;
}

.my-reports-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.my-reports-empty {
  font-size: 0.93rem;
  color: #8aacca;
  padding: 8px 0;
}

/* ── saved-pane-section: in-pane saved checkpoints / mindmaps ─────── */
.saved-pane-section {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #d2deed;
  border-radius: 10px;
  background: #f7fbff;
}
.saved-pane-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.saved-pane-title {
  margin: 0;
  font-size: 0.93rem;
  font-weight: 600;
  color: #2c4a6e;
  letter-spacing: -0.01em;
}
.saved-pane-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.saved-pane-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #dce7f4;
  border-radius: 7px;
  background: #fff;
  gap: 8px;
  transition: background-color 0.12s ease, border-color 0.12s ease;
}
.saved-pane-item:hover {
  background: #eef3fb;
  border-color: #b8cce0;
}
.saved-pane-item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.saved-pane-item-ticker {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a3a5c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.saved-pane-item-date {
  font-size: 0.79rem;
  color: #6b8aaa;
}
.saved-pane-load-btn {
  flex-shrink: 0;
  font-size: 0.82rem;
  padding: 4px 10px;
}

.analysis-panel h2,
.checkpoint-panel h2 {
  margin: 0;
  font-size: 1.26rem;
  letter-spacing: -0.02em;
}
.report-panel h2,
.links-panel h2 {
  margin: 0;
  font-size: 1.26rem;
  letter-spacing: -0.015em;
}

.section-head {
  display: grid;
  gap: 6px;
}

.analysis-kicker {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #15803d;
  font-family: "Space Grotesk", sans-serif;
}

.section-head p {
  margin: 0;
  color: #45607e;
  font-size: 0.98rem;
  max-width: 920px;
}

.section-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.section-head-actions .ghost-btn,
.checkpoint-panel .section-head .ghost-btn,
.mindmap-panel .section-head .ghost-btn {
  min-width: 118px;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border-color: rgba(148, 163, 184, 0.2);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.94));
  color: #334155;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(11, 17, 16, 0.05);
}

.section-head-actions .ghost-btn:hover,
.checkpoint-panel .section-head .ghost-btn:hover,
.mindmap-panel .section-head .ghost-btn:hover {
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,0.98));
  border-color: rgba(100, 116, 139, 0.28);
  color: #0b1110;
  box-shadow: 0 10px 22px rgba(11, 17, 16, 0.07);
}

.analysis-panel .section-head p {
  max-width: none;
  text-wrap: pretty;
}

.analysis-form {
  display: grid;
  gap: 12px;
  justify-items: start;
}

#section-analysis .analysis-form > * {
  width: min(100%, 760px);
}

.analysis-form .ticker-autocomplete-wrap {
  width: 100%;
}

#section-analysis .analysis-form .ticker-autocomplete-wrap,
#section-analysis .analysis-form #analysis-quick-picks,
#section-analysis .analysis-form .analyze-btn-row,
#section-analysis .analysis-form .eta-note,
#section-analysis .analysis-form .assist-note {
  max-width: 760px;
}

.analyze-btn-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.analysis-eta-inline {
  margin: 0;
  margin-left: 2px;
  white-space: nowrap;
}

.analysis-inline-feedback {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #315b43;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.analysis-inline-feedback::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.88;
  flex: 0 0 auto;
}

.analysis-inline-feedback.is-loading::before {
  animation: analysis-inline-pulse 0.9s ease-in-out infinite;
}

.analysis-inline-feedback.is-warning {
  color: #a23a2a;
}

.analysis-inline-feedback.is-success {
  color: #2d6a4f;
}

.analysis-inline-feedback.hidden {
  display: none;
}

@keyframes analysis-inline-pulse {
  0%, 100% {
    transform: scale(0.82);
    opacity: 0.4;
  }
  50% {
    transform: scale(1);
    opacity: 1;
  }
}

.analyze-btn-row #submit-btn,
.analysis-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 128px;
  height: 40px;
  padding: 0 16px;
  border: 1px solid #159947;
  border-radius: 12px;
  background: #ffffff;
  color: #159947;
  box-shadow:
    0 8px 18px rgba(11, 17, 16, 0.06);
  font-size: 0.86rem;
  font-weight: 650;
  letter-spacing: -0.015em;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.12s ease, box-shadow 0.16s ease;
}

.analyze-btn-row #submit-btn:hover,
.analysis-cta-btn:hover {
  background: #f4fbf6;
  color: #0f843f;
  border-color: #0f843f;
  box-shadow: 0 10px 18px rgba(11, 17, 16, 0.08);
  transform: translateY(-1px);
}

.analyze-btn-row #submit-btn:focus-visible,
.analysis-cta-btn:focus-visible {
  outline: none;
  border-color: #149146;
  box-shadow:
    0 0 0 4px rgba(27, 181, 86, 0.18),
    0 8px 18px rgba(11, 17, 16, 0.12);
}

.analyze-btn-row #submit-btn:disabled,
.analysis-cta-btn:disabled {
  background: linear-gradient(180deg, #9ca7b5 0%, #7d8897 100%);
  border-color: #8d99a8;
  color: rgba(248, 250, 252, 0.82);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.stop-analyze-btn,
.analysis-secondary-btn {
  padding: 0 16px;
  min-width: 110px;
  height: 42px;
  border-radius: 13px;
  border: 1px solid rgba(185, 28, 28, 0.18);
  background: rgba(255, 255, 255, 0.9);
  color: #9f1d1d;
  font-weight: 700;
  font-size: 0.90rem;
  letter-spacing: -0.01em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.12s ease;
}

.stop-analyze-btn:hover,
.analysis-secondary-btn:hover {
  background: rgba(254, 242, 242, 0.96);
  border-color: rgba(185, 28, 28, 0.3);
  transform: translateY(-1px);
}

.stop-analyze-btn:focus-visible,
.analysis-secondary-btn:focus-visible {
  outline: none;
  border-color: rgba(185, 28, 28, 0.34);
  box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.1);
}

.analysis-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.analysis-panel .field-row {
  gap: 8px;
}

.analysis-panel .field-row label {
  display: none;
}

.analysis-panel input,
.analysis-panel textarea {
  width: 100%;
  border-radius: 16px;
  border: 1px solid #d8e2db;
  background: #fcfdfc;
  box-shadow: none;
  padding: 0 16px;
  min-height: 50px;
  height: 50px;
  font-size: 0.9rem;
  color: inherit;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.analysis-panel textarea {
  height: auto;
  padding: 10px 14px;
  resize: vertical;
  min-height: 60px;
}

.analysis-panel input:focus,
.analysis-panel textarea:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.08);
}

.quick-ticker {
  display: grid;
  gap: 10px;
}

.quick-ticker > span {
  font-size: 0.88rem;
  color: #5a7292;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: "Space Grotesk", sans-serif;
}

.quick-ticker-groups {
  display: grid;
  gap: 8px;
}

.quick-ticker-group {
  display: grid;
  gap: 6px;
  border: 1px solid #d7e2ef;
  border-radius: 12px;
  background: linear-gradient(180deg, #fcfdff, #f2f7fd);
  padding: 12px 13px;
}

.quick-ticker-label {
  font-size: 0.85rem;
  color: #667f9e;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.quick-ticker-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.quick-ticker-empty {
  font-size: 0.88rem;
  color: #7a90ae;
}

.chip-btn {
  border: 1px solid #cad7e7;
  background: linear-gradient(180deg, #ffffff, #eef4fb);
  color: #1f456f;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  padding: 9px 14px;
  width: auto;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.chip-btn:hover {
  transform: translateY(-1px);
  border-color: #9bb6d8;
  background: linear-gradient(180deg, #ffffff, #e8f1fd);
}

.field-row {
  display: grid;
  gap: 7px;
}

.field-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.field-control-row > input:not([type="radio"]) {
  min-width: 0;
}

.field-check-btn {
  appearance: none;
  border: 1px solid #cedaeb;
  background: linear-gradient(180deg, #ffffff, #edf4fc);
  color: #244d77;
  border-radius: 12px;
  min-height: 46px;
  padding: 0 14px;
  min-width: 104px;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.field-check-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #99b7d8;
  background: linear-gradient(180deg, #ffffff, #e7f0fb);
  box-shadow: 0 10px 18px rgba(32, 84, 152, 0.1);
}

.field-check-btn:focus-visible {
  outline: none;
  border-color: #78a9d8;
  box-shadow: 0 0 0 4px rgba(71, 132, 202, 0.14);
}

.field-check-btn[data-state="checked"] {
  border-color: #a8d2ba;
  background: linear-gradient(180deg, #f6fcf8, #e8f6ee);
  color: #1f6a47;
}

.field-check-btn[data-state="dirty"] {
  border-color: #e6c899;
  background: linear-gradient(180deg, #fffaf2, #fdf0da);
  color: #8f5711;
}

.field-check-btn[data-state="idle"]:disabled {
  cursor: default;
  opacity: 0.58;
  box-shadow: none;
}

.field-check-btn[data-state="loading"]:disabled {
  cursor: wait;
  opacity: 0.8;
}

.field-meta-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 20px;
  flex-wrap: wrap;
}

.field-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5c7390;
  background: rgba(232, 240, 250, 0.72);
}

.field-status:empty {
  display: none;
}

.field-status[data-state="checked"] {
  color: #215f41;
  border-color: #b7dcc5;
  background: #eff9f2;
}

.field-status[data-state="dirty"] {
  color: #8f5711;
  border-color: #ecd6af;
  background: #fff6e7;
}

.field-status[data-state="error"] {
  color: #8b5b56;
  border-color: #ecd3d0;
  background: #fcf5f5;
}

.field-hint {
  min-height: 18px;
  font-size: 0.85rem;
  color: #5d738d;
  flex: 1 1 220px;
}

.field-hint.is-success {
  color: #2f6b41;
}

.field-hint.is-error {
  color: #8b5b56;
}

/* ── 종목 코드 자동완성 ── */
.ticker-autocomplete-wrap {
  position: relative;
}

.ticker-suggest-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 80;
  margin: 8px 0 0;
  padding: 8px;
  list-style: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,249,255,0.97));
  border: 1px solid #b8ccdf;
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(10,30,60,0.16);
  max-height: 280px;
  overflow-y: auto;
  backdrop-filter: blur(12px);
}

.ticker-suggest-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  cursor: pointer;
  transition: background 0.12s ease;
  gap: 8px;
  border-radius: 14px;
}

.ticker-suggest-item:hover,
.ticker-suggest-item.active {
  background: linear-gradient(90deg, #eaf3ff, #f0f6ff);
}

.suggest-name {
  font-size: 0.98rem;
  font-weight: 700;
  color: #153a67;
}

.suggest-ticker {
  font-size: 0.88rem;
  color: #5a7ea6;
  font-family: var(--mono);
  font-weight: 600;
}

label {
  font-weight: 700;
  font-size: 1rem;
}

input,
textarea,
button {
  font: inherit;
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid #c7d3e2;
  border-radius: 10px;
  background: linear-gradient(180deg, #fcfdff, #f5f9fd);
  color: var(--ink);
  padding: 13px 14px;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #74a8e4;
  box-shadow: 0 0 0 4px var(--accent-soft);
}

textarea {
  resize: vertical;
  min-height: 108px;
}

form {
  display: grid;
  gap: 12px;
}

button {
  border: 0;
  border-radius: 10px;
  padding: 12px 16px;
  font-weight: 800;
  font-size: 0.98rem;
  letter-spacing: 0.02em;
  color: #ffffff;
  background: linear-gradient(135deg, var(--accent), var(--accent-strong));
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
  box-shadow: 0 12px 24px rgba(15, 95, 193, 0.24);
}

button:hover {
  transform: none;
}

button[disabled] {
  cursor: wait;
  opacity: 0.75;
  transform: none;
}

.ghost-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted);
  box-shadow: none;
  white-space: nowrap;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

.ghost-btn:hover {
  background: var(--accent-soft);
  border-color: var(--line-strong);
  color: var(--ink);
  box-shadow: none;
  transform: none;
}

.ghost-btn--sm {
  height: 28px;
  padding: 0 10px;
  font-size: 0.8rem;
}

.ghost-btn--danger {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.3);
}

.ghost-btn--danger:hover {
  background: rgba(220, 38, 38, 0.06);
  border-color: rgba(220, 38, 38, 0.5);
  color: #b91c1c;
}

[data-theme="dark"] .ghost-btn--danger {
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.3);
}

[data-theme="dark"] .ghost-btn--danger:hover {
  background: rgba(248, 113, 113, 0.08);
  border-color: rgba(248, 113, 113, 0.5);
  color: #fca5a5;
}

.billing-plan-change-wrap {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.billing-plan-change-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.billing-plan-change-inner label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
}

.billing-plan-select {
  flex: 1;
  min-width: 200px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  font-size: 0.85rem;
  padding: 0 10px;
  font-family: inherit;
}

.billing-plan-change-note {
  margin: 8px 0 0;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.5;
}

.billing-scheduled-change {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(202, 138, 4, 0.35);
  border-radius: 10px;
  background: rgba(202, 138, 4, 0.05);
}

.billing-scheduled-change-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.billing-scheduled-change-info {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
}

.billing-scheduled-change-badge {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #92400e;
  background: rgba(202, 138, 4, 0.12);
  border: 1px solid rgba(202, 138, 4, 0.3);
  border-radius: 999px;
  padding: 2px 8px;
}

.billing-scheduled-change-desc {
  font-size: 0.87rem;
  font-weight: 500;
  color: var(--ink);
  margin: 0;
}

[data-theme="dark"] .billing-scheduled-change {
  border-color: rgba(202, 138, 4, 0.3);
  background: rgba(202, 138, 4, 0.07);
}

[data-theme="dark"] .billing-scheduled-change-badge {
  color: #fbbf24;
  background: rgba(202, 138, 4, 0.15);
  border-color: rgba(202, 138, 4, 0.35);
}

.billing-sub-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.billing-cancel-note {
  width: 100%;
  margin: 4px 0 0;
  font-size: 0.82rem;
  color: #dc2626;
  line-height: 1.45;
}

[data-theme="dark"] .billing-cancel-note {
  color: #f87171;
}

.billing-cancel-note--warning {
  font-weight: 600;
  color: #0c6f38;
  background: #F5F5F5;
  border: 1px solid #86efac;
  border-radius: 6px;
  padding: 6px 10px;
}

[data-theme="dark"] .billing-cancel-note--warning {
  color: #00ed68;
  background: rgba(0,237,104,0.1);
  border-color: rgba(0,237,104,0.3);
}

.billing-refund-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.billing-refund-item {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.billing-refund-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.billing-refund-status {
  font-size: 0.78rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.12);
  color: #64748b;
}

.billing-refund-status--pending { background: rgba(12, 111, 56, 0.12); color: #0c6f38; }
.billing-refund-status--approved { background: rgba(16, 185, 129, 0.12); color: #059669; }
.billing-refund-status--completed { background: rgba(59, 130, 246, 0.12); color: #2563eb; }
.billing-refund-status--rejected { background: rgba(239, 68, 68, 0.1); color: #dc2626; }
.billing-refund-status--cancelled { background: rgba(148, 163, 184, 0.1); color: #94a3b8; }

[data-theme="dark"] .billing-refund-status--pending { background: rgba(0, 237, 104, 0.1); color: #00ed68; }
[data-theme="dark"] .billing-refund-status--approved { background: rgba(16, 185, 129, 0.1); color: #34d399; }
[data-theme="dark"] .billing-refund-status--completed { background: rgba(96, 165, 250, 0.1); color: #60a5fa; }
[data-theme="dark"] .billing-refund-status--rejected { background: rgba(248, 113, 113, 0.1); color: #f87171; }
[data-theme="dark"] .billing-refund-status--cancelled { background: rgba(148, 163, 184, 0.08); color: #94a3b8; }

.billing-refund-amount {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink);
}

.billing-refund-item-body {
  display: flex;
  gap: 10px;
  font-size: 0.82rem;
  color: var(--muted);
}

.billing-refund-reason {
  margin: 0;
  font-size: 0.85rem;
  color: var(--text);
  line-height: 1.5;
}

.billing-refund-admin-note {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-style: italic;
  line-height: 1.5;
}

.billing-refund-cancel-req-btn {
  align-self: flex-start;
  height: 28px;
  font-size: 0.78rem;
  padding: 0 10px;
}

.assist-note {
  margin: 0;
  font-size: 0.90rem;
  color: var(--muted);
  background: var(--accent-soft);
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 10px 13px;
}

.result-column {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
}

.summary {
  display: grid;
  grid-template-columns: minmax(340px, 430px) minmax(0, 1fr);
  align-items: stretch;
  gap: 18px;
}

.card {
  padding: 18px;
  animation: fade-up 0.46s ease-out both;
}

.summary .card:nth-child(1) {
  animation-delay: 0.06s;
}

.summary .card:nth-child(2) {
  animation-delay: 0.12s;
}

.summary-card {
  display: grid;
  align-content: start;
  gap: 14px;
  height: 100%;
  padding: 20px 20px 18px;
}

.summary-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 92px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e4ebf4;
}

.summary-card-copy {
  display: grid;
  gap: 6px;
}

.summary-card-head h3 {
  margin: 0;
  font-size: 1.24rem;
  letter-spacing: -0.03em;
}

.summary-card-desc {
  margin: 0;
  font-size: 0.90rem;
  line-height: 1.6;
  color: #4b5568;
}

.summary-card-note {
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #dce5f0;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.07), transparent 34%),
    linear-gradient(180deg, #f9fcff, #f2f7fb);
  color: #334155;
  font-size: 0.90rem;
  line-height: 1.7;
  font-weight: 600;
}

.summary-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.summary-metric {
  display: grid;
  gap: 6px;
  align-content: start;
  min-height: 92px;
  padding: 15px 15px 14px;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.06), transparent 32%),
    linear-gradient(180deg, #fbfdff, #f4f8fc);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 8px 18px rgba(11, 17, 16, 0.04);
}

.summary-metric--wide {
  grid-column: 1 / -1;
}

.summary-metric-label {
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6d82;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
}

.summary-metric-value {
  font-size: 1.06rem;
  font-weight: 800;
  color: #17212b;
  line-height: 1.34;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: -0.02em;
  word-break: break-word;
}

.summary-metric-value--time {
  font-size: 0.98rem;
}

.summary-steps-panel {
  display: grid;
  gap: 10px;
  padding: 14px 15px;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #F5F5F5, #f2f6fb);
}

.summary-steps-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.summary-steps-head h4 {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 800;
  color: #34567d;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planner-steps-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: planner-step;
  display: grid;
  gap: 8px;
}

.planner-steps-list li {
  counter-increment: planner-step;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e1e8f2;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: #47576a;
  font-size: 0.88rem;
  line-height: 1.55;
}

.planner-steps-list li::before {
  content: counter(planner-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #e9f1fb;
  color: #2f5d96;
  font-size: 0.84rem;
  font-weight: 800;
  font-family: var(--mono);
}

.card h3 {
  margin: 0 0 9px;
  font-size: 1.14rem;
}

.card p {
  margin: 0 0 7px;
  font-size: 1.03rem;
}

.switch-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.switch-row label {
  font-weight: 600;
  font-size: 0.96rem;
  color: #345372;
}

.alert-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.alert-actions button {
  flex: 1 1 120px;
  padding: 11px 12px;
  font-size: 0.96rem;
}

.watchlist-panel {
  border: 1px solid #d2dfef;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfdff, #f2f7fd);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.watchlist-title {
  margin: 0;
  font-size: 0.92rem;
  color: #2d4f78;
  font-weight: 800;
}

.watchlist-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
  max-height: 180px;
  overflow-y: auto;
}

.watchlist-item {
  border: 1px solid #c8d8ed;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f9fbff);
  padding: 10px;
  display: grid;
  gap: 4px;
}

.watchlist-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.watchlist-main {
  font-size: 0.92rem;
  color: #153a67;
  font-weight: 700;
}

.watchlist-sub {
  font-size: 0.87rem;
  color: #4e6a8e;
}

.watchlist-remove {
  border: 1px solid #d5b4b4;
  border-radius: 8px;
  background: #fff5f5;
  color: #8d2f2f;
  box-shadow: none;
  padding: 4px 8px;
  width: auto;
  font-size: 0.84rem;
  font-weight: 700;
}

.alert-meta {
  margin: 0;
  font-size: 0.88rem;
  color: #355474;
}

.alert-log {
  margin: 0;
  padding-left: 18px;
  max-height: 150px;
  overflow-y: auto;
}

.alert-log li {
  margin-bottom: 6px;
  font-size: 0.86rem;
}

.alert-log .warn {
  color: #8d5500;
}

.alert-log .error {
  color: #ae2d20;
}

.alert-log .info {
  color: #1e4f8d;
}

.alert-toggle-btn {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 160px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.08em;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  box-shadow: var(--shadow);
  z-index: 50;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.alert-toggle-btn:hover {
  background: var(--accent-soft);
  border-color: var(--line-strong);
}

.alert-drawer {
  position: fixed;
  top: 16px;
  right: 16px;
  bottom: 16px;
  width: min(360px, calc(100vw - 24px));
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 14px;
  display: grid;
  align-content: start;
  gap: 10px;
  z-index: 60;
  transform: translateX(calc(100% + 28px));
  opacity: 0;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.alert-drawer.open {
  transform: translateX(0);
  opacity: 1;
}

/* Reports toggle button — positioned above the monitoring button */
.reports-toggle-btn {
  top: auto;
  bottom: calc(50% + 96px);
  transform: none;
}

/* reports-toggle-btn inherits hover from .alert-toggle-btn */

.alert-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.alert-drawer-head h3 {
  margin: 0;
  font-size: 1rem;
}

/* overlay and modal styles moved to overlays.css */

.zoom-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: rgba(5, 18, 37, 0.62);
  display: grid;
  place-items: center;
  padding: 16px;
}

.zoom-dialog {
  width: min(1400px, 96vw);
  height: min(92vh, 980px);
  padding: 14px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  background: linear-gradient(180deg, #ffffff, #f5f9ff);
}

.zoom-dialog.is-mindmap {
  width: min(1500px, 97vw);
  height: min(94vh, 1040px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.zoom-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.zoom-head h3 {
  margin: 0;
  font-size: 1.05rem;
}

.zoom-actions {
  display: flex;
  gap: 8px;
}

.zoom-actions .ghost-btn {
  width: auto;
  min-width: 62px;
  padding: 7px 10px;
  font-size: 0.86rem;
}

.zoom-chart-container {
  min-height: 0;
  border: 1px solid #d1dff1;
  border-radius: 12px;
  background: #fcfeff;
  padding: 10px;
}

#zoom-chart {
  width: 100%;
  height: 100%;
}

.zoom-report {
  min-height: 0;
  max-height: none;
  height: 100%;
}

/* ══════════════════════════════════════════════════
   AUTH / SIGNUP  —  대시보드 디자인 톤 통일
   ══════════════════════════════════════════════════ */
.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: rgba(10, 18, 12, 0.52);
  display: grid;
  place-items: center;
  padding: 18px;
  backdrop-filter: blur(2px);
}

.auth-dialog {
  width: min(1040px, 96vw);
  max-height: min(90vh, 920px);
  padding: 24px;
  display: grid;
  gap: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,251,249,0.99));
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(10,25,15,0.1);
  border-radius: 28px;
}

/* ── 헤더 ── */
.auth-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.auth-head h3 {
  margin: 2px 0 0;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.auth-eyebrow {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  color: #5fa676;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-transform: uppercase;
}
.auth-copy {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.93rem;
  line-height: 1.55;
}

.gc-close-btn {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 6px;
  margin: -4px -4px 0 0;
  width: 32px;
  height: 32px;
  line-height: 1;
  font-size: 1.15rem;
  color: var(--muted);
  cursor: pointer;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease, background-color 0.15s ease;
  flex: 0 0 auto;
}
.gc-close-btn:hover,
.gc-close-btn:focus-visible {
  color: var(--ink);
  background: transparent;
  outline: none;
}

/* ── 레이아웃 보조 ── */
.auth-layout {
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: 16px;
  min-height: 0;
}
.auth-info-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-strong);
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 10px;
}
.auth-info-card h4 {
  margin: 0;
  font-size: 0.82rem;
  color: #5fa676;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}
.auth-security-list {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 7px;
  color: var(--muted);
}
.auth-security-list li { margin: 0; font-size: 0.88rem; line-height: 1.5; }
.eta-note { margin: -2px 0 0; font-size: 0.84rem; line-height: 1.5; color: var(--muted); }
.auth-note { margin: 0; font-size: 0.88rem; color: var(--muted); }

/* ── 폼 그리드 ── */
.auth-form { display: grid; gap: 14px; }
.auth-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

/* ── 모던 회원가입 다이얼로그 ── */
.signup-dialog--modern {
  --signup-grid-gap-x: 12px;
  --signup-grid-gap-y: 8px;
  --signup-field-pad-x: 12px;
  --signup-field-pad-y: 10px;
  --signup-field-gap: 6px;
  --signup-control-gap: 8px;
  width: min(720px, 96vw);
  max-height: min(92vh, 900px);
  overflow-y: auto;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(250,251,249,0.99));
  border: 1px solid var(--line);
  box-shadow: 0 24px 64px rgba(10,25,15,0.09), 0 2px 8px rgba(10,25,15,0.04);
}

.signup-dialog--modern .auth-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(8px);
  padding-bottom: 16px;
  margin-bottom: 4px;
}

.signup-dialog--modern .auth-form { gap: 14px; }
.signup-bot-trap {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.signup-turnstile-wrap {
  display: flex;
  justify-content: center;
}
.signup-turnstile-wrap.hidden {
  display: none;
}
.login-resend-verification {
  display: grid;
  gap: 8px;
}
.login-resend-verification.hidden {
  display: none;
}

/* ── 회원가입 후 이메일 인증 대기 패널 ── */
.signup-verify-pending {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 32px 20px 20px;
  text-align: center;
}
.signup-verify-pending.hidden { display: none; }
.signup-verify-icon {
  color: var(--accent, #3b82f6);
  opacity: 0.85;
}
.signup-verify-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 650;
}
.signup-verify-desc {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.6;
}
.signup-verify-desc strong { color: var(--text); }
.signup-verify-pending .signup-resend-btn { max-width: 260px; }
.signup-verify-footer { margin: 4px 0 0; font-size: 0.85rem; }
.signup-dev-verify {
  display: grid;
  gap: 6px;
  padding: 10px 14px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  background: rgba(234,179,8,0.06);
  width: 100%;
  text-align: left;
}
.signup-dev-verify.hidden { display: none; }
.signup-dev-verify .auth-note { color: var(--muted); font-size: 0.8rem; margin: 0; }
.signup-dev-verify-link {
  font-size: 0.78rem;
  word-break: break-all;
  color: var(--accent, #3b82f6);
  text-decoration: underline;
  text-underline-offset: 2px;
}
[data-theme="dark"] .signup-dev-verify {
  background: rgba(234,179,8,0.05);
}

.signup-dialog--modern .auth-form-grid {
  gap: var(--signup-grid-gap-y) var(--signup-grid-gap-x);
  align-items: start;
}

/* ── 필드 행 — 플랫 카드 스타일 ── */
.signup-dialog--modern .field-row {
  gap: var(--signup-field-gap);
  padding: var(--signup-field-pad-y) var(--signup-field-pad-x);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.signup-dialog--modern .field-row:focus-within {
  border-color: rgba(95,166,118,0.55);
  box-shadow: 0 0 0 3px rgba(95,166,118,0.09);
}
.signup-dialog--modern .field-row label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.signup-dialog--modern .field-control-row {
  gap: var(--signup-control-gap);
}
.signup-dialog--modern .field-row input:not([type="radio"]) {
  min-height: 36px;
  border-radius: 8px;
  font-size: 0.94rem;
  border-color: transparent;
  background: transparent;
  padding: 0 2px;
  box-shadow: none;
}
.signup-dialog--modern .field-row input:not([type="radio"]):focus {
  border-color: transparent;
  box-shadow: none;
  outline: none;
}
.signup-dialog--modern .field-row.is-field-error-focus,
.signup-dialog--modern .consent-block.is-field-error-focus {
  border-color: rgba(220, 38, 38, 0.38);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.signup-dialog--modern .field-control-row > input:not([type="radio"]) {
  min-height: 36px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.signup-dialog--modern .field-meta-row {
  gap: 8px;
  min-height: 0;
}
.signup-dialog--modern .field-meta-row:not(:has(.field-status:not(:empty), .field-hint:not(:empty))) {
  display: none;
}
.signup-dialog--modern .field-hint {
  min-height: 0;
  font-size: 0.8rem;
}
.signup-dialog--modern .field-hint:empty,
.signup-dialog--modern .field-error:empty {
  display: none;
}
.signup-dialog--modern .field-error {
  margin-top: 0;
  min-height: 0;
  font-size: 0.82rem;
}

.auth-dialog input:-webkit-autofill,
.auth-dialog input:-webkit-autofill:hover,
.auth-dialog input:-webkit-autofill:focus,
.auth-dialog input:-webkit-autofill:active,
.signup-dialog--modern input:-webkit-autofill,
.signup-dialog--modern input:-webkit-autofill:hover,
.signup-dialog--modern input:-webkit-autofill:focus,
.signup-dialog--modern input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--ink);
  transition: background-color 9999s ease-out 0s;
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.96);
  caret-color: var(--ink);
}

.signup-field-wide { grid-column: 1 / -1; }

#page-dashboard #research-studio .mm-info-btn,
#page-briefing #research-studio .mm-info-btn {
  display: none !important;
}

/* ── 중복확인 버튼 ── */
.signup-dialog--modern .field-check-btn {
  min-height: 36px;
  padding: 0 13px;
  min-width: 82px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--muted);
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
  white-space: nowrap;
}
.signup-dialog--modern .field-check-btn:hover:not(:disabled) {
  border-color: #5fa676;
  color: #2f6b44;
  background: rgba(95,166,118,0.06);
}
.signup-dialog--modern .field-check-btn[data-state="checked"] {
  border-color: rgba(95,166,118,0.55);
  color: #2f6b44;
  background: rgba(95,166,118,0.08);
}
.signup-dialog--modern .field-check-btn[data-state="dirty"] {
  border-color: rgba(202,138,4,0.45);
  color: #92400e;
  background: rgba(202,138,4,0.06);
}
.signup-dialog--modern .field-check-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── 필드 상태 뱃지 ── */
.signup-dialog--modern .field-status {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--surface-strong);
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.signup-dialog--modern .field-status:empty {
  display: none;
}
.signup-dialog--modern .field-status[data-state="checked"] { color: #2f6b44; background: rgba(95,166,118,0.1); border-color: rgba(95,166,118,0.3); }
.signup-dialog--modern .field-status[data-state="dirty"]   { color: #92400e; background: rgba(202,138,4,0.08); border-color: rgba(202,138,4,0.28); }
.signup-dialog--modern .field-status[data-state="error"]   { color: var(--error); background: rgba(220,38,38,0.06); border-color: rgba(220,38,38,0.2); }
.signup-dialog--modern .field-hint { min-height: 0; font-size: 0.8rem; color: var(--muted); flex: 1 1 220px; }
.signup-dialog--modern .field-hint.is-success { color: #2f6b44; }
.signup-dialog--modern .field-hint.is-error   { color: var(--error); }
.signup-dialog--modern .consent-view-btn,
.signup-dialog--modern .consent-view-btn:hover,
.signup-dialog--modern .consent-view-btn:focus-visible,
.signup-dialog--modern .consent-view-btn.is-active,
.signup-dialog--modern .eye-btn,
.signup-dialog--modern .eye-btn:hover,
.signup-dialog--modern .eye-btn:focus-visible {
  box-shadow: none;
}

/* ── 동의 블록 ── */
.auth-check-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.auth-check-row input[type="checkbox"] { width: 17px; height: 17px; margin-top: 2px; flex: 0 0 auto; }
.auth-check-row span { font-size: 0.92rem; color: var(--ink); line-height: 1.55; }

/* ── 피드백 배너 ── */
.auth-feedback {
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.87rem;
  line-height: 1.45;
}
.auth-feedback.is-success { border-color: rgba(95,166,118,0.35); background: rgba(95,166,118,0.07); color: #2f6b44; }
.auth-feedback.is-error   { border-color: rgba(220,38,38,0.2); background: rgba(220,38,38,0.05); color: #991b1b; }

/* ── 하단 액션 ── */
.auth-actions { display: flex; justify-content: flex-end; }
.auth-actions button { min-width: 180px; }
.auth-actions--sticky {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding-top: 10px;
  padding-bottom: 4px;
  background: linear-gradient(180deg, rgba(250,251,249,0), rgba(250,251,249,0.97) 30%);
}
.signup-dialog--modern .auth-actions button {
  width: 100%;
  min-height: 50px;
  border-radius: 14px;
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
#signup-submit-btn {
  background: #5fa676;
  color: #fff;
  border: none;
  box-shadow: 0 6px 20px rgba(95,166,118,0.28);
  transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
}
#signup-submit-btn:hover:not(:disabled) {
  background: #4a9261;
  box-shadow: 0 8px 24px rgba(95,166,118,0.35);
  transform: translateY(-1px);
}
#signup-submit-btn:active:not(:disabled) { transform: translateY(0); }
#signup-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }

/* ── 비밀번호 강도 바 ── */
.signup-pw-requirements {
  margin: 4px 0 2px;
  font-size: 0.75rem;
  color: #6b7280;
  line-height: 1.5;
}
.pw-strength-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.pw-strength-bar-track {
  flex: 1;
  height: 3px;
  border-radius: 99px;
  background: var(--line);
  overflow: hidden;
}
.pw-strength-bar {
  height: 100%;
  width: 100%;
  border-radius: 99px;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.4s ease, background 0.4s ease;
}
.pw-strength-bar[data-level="1"] { transform: scaleX(0.25); background: #ef4444; }
.pw-strength-bar[data-level="2"] { transform: scaleX(0.5); background: #0c6f38; }
.pw-strength-bar[data-level="3"] { transform: scaleX(0.75); background: #3b82f6; }
.pw-strength-bar[data-level="4"] { transform: scaleX(1); background: #5fa676; }
.pw-strength-label {
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--muted);
  min-width: 40px;
  text-align: right;
  transition: color 0.25s;
}
.pw-strength-label[data-level="1"] { color: #ef4444; }
.pw-strength-label[data-level="2"] { color: #0c6f38; }
.pw-strength-label[data-level="3"] { color: #2563eb; }
.pw-strength-label[data-level="4"] { color: #2f6b44; }

/* ── 다크모드 ── */
[data-theme="dark"] .signup-dialog--modern {
  background: linear-gradient(180deg, rgba(18,24,18,0.99), rgba(14,20,14,0.99));
  border-color: var(--line);
}
[data-theme="dark"] .signup-dialog--modern .auth-head {
  background: rgba(18,24,18,0.96);
}
[data-theme="dark"] .signup-dialog--modern .field-row {
  background: rgba(255,255,255,0.03);
  border-color: var(--line);
}
[data-theme="dark"] .signup-dialog--modern .field-row.is-field-error-focus,
[data-theme="dark"] .signup-dialog--modern .consent-block.is-field-error-focus {
  border-color: rgba(248, 113, 113, 0.44);
  box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.14);
}
[data-theme="dark"] .signup-dialog--modern .field-row:focus-within {
  border-color: rgba(95,166,118,0.4);
  box-shadow: 0 0 0 3px rgba(95,166,118,0.07);
}
[data-theme="dark"] .auth-dialog input:-webkit-autofill,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:hover,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:focus,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:active,
[data-theme="dark"] .signup-dialog--modern input:-webkit-autofill,
[data-theme="dark"] .signup-dialog--modern input:-webkit-autofill:hover,
[data-theme="dark"] .signup-dialog--modern input:-webkit-autofill:focus,
[data-theme="dark"] .signup-dialog--modern input:-webkit-autofill:active {
  -webkit-text-fill-color: #f5f5f5;
  box-shadow: inset 0 0 0 1000px rgba(18, 24, 18, 0.99);
  caret-color: #f5f5f5;
}
[data-theme="dark"] .auth-actions--sticky {
  background: linear-gradient(180deg, rgba(14,20,14,0), rgba(14,20,14,0.97) 30%);
}
[data-theme="dark"] #signup-submit-btn {
  background: #4a9261;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
[data-theme="dark"] #signup-submit-btn:hover:not(:disabled) {
  background: #5fa676;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}
[data-theme="dark"] .signup-dialog--modern .field-check-btn {
  border-color: var(--line);
  background: rgba(255,255,255,0.04);
  color: var(--muted);
}
[data-theme="dark"] .signup-dialog--modern .field-check-btn:hover:not(:disabled) {
  border-color: rgba(95,166,118,0.45);
  color: #7ee0a4;
  background: rgba(95,166,118,0.08);
}
[data-theme="dark"] .signup-dialog--modern .field-check-btn[data-state="checked"] {
  border-color: rgba(95,166,118,0.45);
  color: #7ee0a4;
  background: rgba(95,166,118,0.1);
}
[data-theme="dark"] .signup-dialog--modern .field-check-btn[data-state="dirty"] {
  border-color: rgba(202,138,4,0.4);
  color: #fbbf24;
  background: rgba(202,138,4,0.07);
}
[data-theme="dark"] .signup-dialog--modern .field-status { color: var(--muted); background: rgba(255,255,255,0.05); }
[data-theme="dark"] .signup-dialog--modern .field-status[data-state="checked"] { color: #7ee0a4; background: rgba(95,166,118,0.1); border-color: rgba(95,166,118,0.3); }
[data-theme="dark"] .signup-dialog--modern .field-status[data-state="dirty"]   { color: #fbbf24; background: rgba(202,138,4,0.08); border-color: rgba(202,138,4,0.28); }
[data-theme="dark"] .signup-dialog--modern .field-status[data-state="error"]   { color: #fca5a5; background: rgba(220,38,38,0.08); border-color: rgba(220,38,38,0.25); }
[data-theme="dark"] .auth-feedback { background: rgba(255,255,255,0.04); border-color: var(--line); color: var(--muted); }
[data-theme="dark"] .auth-feedback.is-success { border-color: rgba(95,166,118,0.3); background: rgba(95,166,118,0.07); color: #7ee0a4; }
[data-theme="dark"] .auth-feedback.is-error   { border-color: rgba(220,38,38,0.2); background: rgba(220,38,38,0.06); color: #fca5a5; }
[data-theme="dark"] .pw-strength-bar-track { background: rgba(255,255,255,0.08); }
[data-theme="dark"] .pw-strength-label { color: var(--muted); }

/* ── 가입 완료 성공 토스트 ── */
.signup-success-toast {
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(-16px);
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 290px;
  max-width: 420px;
  padding: 15px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(95,166,118,0.3);
  box-shadow: 0 16px 48px rgba(10,25,15,0.14), 0 2px 8px rgba(95,166,118,0.1);
  opacity: 0;
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.16,1,0.3,1);
  pointer-events: none;
}
.signup-success-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.signup-toast-icon svg { width: 36px; height: 36px; flex-shrink: 0; }
.signup-toast-body { flex: 1; min-width: 0; }
.signup-toast-title { margin: 0; font-size: 0.92rem; font-weight: 800; color: #1a3d28; letter-spacing: -0.01em; }
.signup-toast-sub   { margin: 2px 0 0; font-size: 0.8rem; color: var(--muted); }
.signup-toast-close {
  background: none; border: none; padding: 4px; cursor: pointer;
  color: var(--muted); flex-shrink: 0; border-radius: 6px; display: flex; align-items: center;
  transition: color 0.15s, background 0.15s;
}
.signup-toast-close svg { width: 14px; height: 14px; }
.signup-toast-close:hover { color: var(--ink); background: var(--accent-soft); }
[data-theme="dark"] .signup-success-toast {
  background: rgba(16,26,18,0.97);
  border-color: rgba(95,166,118,0.25);
  box-shadow: 0 16px 48px rgba(0,0,0,0.4), 0 2px 8px rgba(95,166,118,0.08);
}
[data-theme="dark"] .signup-toast-title { color: #bbf7d0; }
[data-theme="dark"] .signup-toast-sub   { color: var(--muted); }
[data-theme="dark"] .signup-toast-close { color: var(--muted); }

.markdown-body.zoom-report {
  font-size: var(--zoom-font-size, 1.18rem);
  line-height: 1.72;
}

.markdown-body.zoom-report th,
.markdown-body.zoom-report td {
  font-size: 0.98em;
}

.markdown-body.zoom-report code {
  font-size: 0.9em;
}

.chart-card {
  display: grid;
  align-content: start;
  gap: 10px;
  height: 100%;
  padding: 20px 20px 18px;
}

.chart-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-height: 78px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e4ebf4;
}

.chart-head-copy {
  display: grid;
  gap: 6px;
  align-content: start;
}

.chart-head-kicker {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0f766e;
  font-family: "Space Grotesk", sans-serif;
}

.chart-head-title {
  margin: 0;
  font-size: 1.24rem;
  line-height: 1.14;
  letter-spacing: -0.03em;
  color: #0b1110;
}

.chart-head-desc {
  margin: 0;
  max-width: 760px;
  font-size: 0.88rem;
  line-height: 1.52;
  color: #64748b;
}

.chart-head .ghost-btn {
  min-width: 108px;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border-color: rgba(148, 163, 184, 0.2);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.94));
  color: #334155;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(11, 17, 16, 0.05);
}

.chart-head .ghost-btn:hover {
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,0.98));
  border-color: rgba(100, 116, 139, 0.28);
  color: #0b1110;
  box-shadow: 0 10px 22px rgba(11, 17, 16, 0.07);
}

.chart-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, 0.94fr);
  gap: 10px;
  align-items: start;
}

.chart-control-block,
.chart-stage-card {
  border: 1px solid #dce5f0;
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.06), transparent 30%),
    linear-gradient(180deg, rgba(252,254,255,0.96), rgba(244,248,252,0.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.86),
    0 10px 24px rgba(11, 17, 16, 0.04);
}

.chart-control-block {
  padding: 12px 13px;
  display: grid;
  gap: 8px;
  align-content: start;
}

.chart-control-block--indicators {
  align-self: start;
}

.chart-control-head,
.chart-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 24px;
}

.chart-control-kicker,
.chart-stage-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.05);
  color: #51657e;
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.chart-config {
  min-height: 0;
  display: grid;
  align-content: start;
}

.tf-control {
  display: none;
}

.tf-control.active {
  display: block;
}

.tf-option-set {
  display: grid;
  gap: 8px;
}

.tf-option-label {
  font-size: 0.83rem;
  color: #51657e;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.tf-option-buttons {
  display: inline-flex;
  background: rgba(11, 17, 16, 0.05);
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
  flex-wrap: wrap;
}

.tf-option-btn {
  border: none;
  background: transparent;
  color: #6b7c96;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  width: auto;
  min-width: 0;
  white-space: nowrap;
  transition: background 0.12s, color 0.12s;
  box-shadow: none;
}

.tf-option-btn:hover {
  background: rgba(255,255,255,0.65);
  color: #334155;
  transform: none;
}

.tf-option-btn.active {
  background: #fff;
  color: #1f6ed4;
  box-shadow: 0 1px 4px rgba(15,23,42,0.12);
}

.indicator-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-content: start;
}

.indicator-row label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 999px;
  background: rgba(15,23,42,0.04);
  font-size: 0.81rem;
  line-height: 1.3;
  color: #64748b;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  min-height: 0;
  box-shadow: none;
}

.indicator-row label:hover {
  background: rgba(31,110,212,0.07);
  border-color: rgba(31,110,212,0.22);
  color: #1f6ed4;
}

.indicator-row label:has(input:checked) {
  background: linear-gradient(135deg, #eef5ff, #e3efff);
  border-color: rgba(31,110,212,0.3);
  color: #1f6ed4;
}

.indicator-row input[type="checkbox"] {
  width: 12px;
  height: 12px;
  accent-color: #1f6ed4;
  margin: 0;
  flex-shrink: 0;
}

.chart-tabs {
  display: inline-flex;
  background: rgba(11, 17, 16, 0.06);
  border-radius: 10px;
  padding: 3px;
  gap: 2px;
  flex-wrap: wrap;
}

.chart-tabs .tab-btn {
  border: none;
  background: transparent;
  color: #6b7c96;
  border-radius: 8px;
  padding: 5px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: none;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.chart-tabs .tab-btn:hover {
  background: rgba(255,255,255,0.55);
  color: #334155;
  transform: none;
}

.chart-tabs .tab-btn.active {
  background: #fff;
  color: #1f6ed4;
  box-shadow: 0 1px 4px rgba(15,23,42,0.14);
  border: none;
}

.chart-stage-card {
  padding: 12px 14px 14px;
  display: grid;
  gap: 8px;
}

.chart-wrap {
  border: 1px solid #d5dfed;
  background:
    linear-gradient(180deg, #fcfeff, #f5f9ff),
    linear-gradient(90deg, rgba(14, 58, 108, 0.02) 1px, transparent 1px),
    linear-gradient(rgba(14, 58, 108, 0.02) 1px, transparent 1px);
  background-size: auto, 18px 18px, 18px 18px;
  border-radius: 18px;
  padding: 10px;
  min-height: 0;
  height: 212px;
}

.clickable {
  cursor: zoom-in;
}

#price-chart {
  width: 100%;
  height: 100%;
}

.chart-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .chart-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .indicator-row {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  }
}

.report-panel,
.links-panel {
  padding: 20px;
}

.report-panel {
  animation: fade-up 0.5s ease-out 0.08s both;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
}

.report-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dde5f0;
}

.report-actions {
  display: flex;
  gap: 8px;
}

.report-head .ghost-btn {
  min-width: 108px;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border-color: rgba(148, 163, 184, 0.2);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.94));
  color: #334155;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(11, 17, 16, 0.05);
}

.report-head .ghost-btn:hover,
.report-actions .ghost-btn:hover {
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,0.98));
  border-color: rgba(100, 116, 139, 0.28);
  color: #0b1110;
  box-shadow: 0 10px 22px rgba(11, 17, 16, 0.07);
}

.markdown-body {
  margin: 12px 0 0;
  background: #ffffff;
  border: 1px solid #d6dee8;
  border-radius: 16px;
  padding: 24px 26px;
  line-height: 1.74;
  font-size: 1.02rem;
  overflow: auto;
  min-height: 320px;
  max-height: calc(100vh - 340px);
  overflow-wrap: anywhere;
  word-break: break-word;
  box-shadow: none;
}

.markdown-body h1 {
  margin: 0 0 0.55em;
  padding-bottom: 0.48em;
  border-bottom: 1px solid #d6dee8;
  font-size: clamp(1.48rem, 2vw, 1.82rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.markdown-body h2 {
  margin: 1.3em 0 0.65em;
  padding: 0 0 0.52em;
  border-left: 0;
  border-bottom: 1px solid #F5F5F5;
  background: transparent;
  border-radius: 0;
  font-size: 1.16rem;
  line-height: 1.34;
  letter-spacing: -0.01em;
  color: #0f172a;
}

.markdown-body h3,
.markdown-body h4 {
  margin: 1em 0 0.42em;
  font-size: 1rem;
  color: #1e293b;
}

.markdown-body strong {
  color: #0f172a;
}

.markdown-body p {
  margin: 0.52em 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#report-content blockquote,
#zoom-report-content blockquote {
  margin: 0.7em 0;
  padding: 0.65em 0.88em;
  background: #eef4ff;
  border: 1px solid #c5d9f5;
  color: #33506f;
  border-radius: 8px;
  font-size: 0.96rem;
  line-height: 1.62;
}

#report-content blockquote p,
#zoom-report-content blockquote p {
  margin: 0.5em 0;
  line-height: inherit;
}
[data-theme="dark"] #report-content blockquote,
[data-theme="dark"] #zoom-report-content blockquote {
  background: rgba(255, 255, 255, 0.04);
  border-left-color: #4ade80;
  color: #F5F5F5;
}
[data-theme="dark"] #report-content h1,
[data-theme="dark"] #zoom-report-content h1 {
  color: #F5F5F5;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] #report-content h2,
[data-theme="dark"] #zoom-report-content h2 {
  color: #F5F5F5;
  background: rgba(51, 65, 85, 0.5);
  border-left-color: #4ade80;
}
[data-theme="dark"] #report-content h3,
[data-theme="dark"] #zoom-report-content h3,
[data-theme="dark"] #report-content h4,
[data-theme="dark"] #zoom-report-content h4 {
  color: #F5F5F5;
}
[data-theme="dark"] #report-content strong,
[data-theme="dark"] #zoom-report-content strong {
  color: #F5F5F5;
}

.markdown-body code {
  background: #F5F5F5;
  border: 1px solid #dbe3ec;
  border-radius: 6px;
  padding: 1px 6px;
  font-size: 0.84em;
}

.markdown-body pre {
  background: #F5F5F5;
  border: 1px solid #dbe3ec;
  border-radius: 8px;
  padding: 10px;
  overflow-x: auto;
}

.markdown-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.9em 0;
  table-layout: fixed;
}

.markdown-body th,
.markdown-body td {
  border: 1px solid #b8dfc8;
  padding: 10px 11px;
  text-align: left;
  vertical-align: top;
  font-size: 0.98rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.markdown-body th {
  background: #F5F5F5;
  font-weight: 700;
  color: #334155;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.markdown-body hr {
  border: 0;
  border-top: 1px solid #dbe3ec;
  margin: 1.1em 0;
}

.markdown-body .report-page-break {
  border-top: 2px dashed #86d5a8;
  margin: 1.2em 0;
  padding-top: 0;
  break-after: page;
  page-break-after: always;
}

.markdown-body > :first-child {
  margin-top: 0;
}

.markdown-body > :last-child {
  margin-bottom: 0;
}

.markdown-body ul,
.markdown-body ol {
  margin: 0.5em 0 0.9em;
  padding-left: 1.18em;
}

.links-panel li {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.links-panel a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.is-disabled-link {
  color: var(--muted);
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

.links-panel {
  animation: fade-up 0.5s ease-out 0.14s both;
}

ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

li {
  margin-bottom: 7px;
  font-size: 1rem;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.hidden {
  display: none !important;
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1100px) {
  .day-score-main {
    grid-template-columns: 1fr;
  }
  .day-score-arc-wrap { width: clamp(140px, 48vw, 196px); }

  .day-score-secondary {
    gap: 10px;
  }

  .recommend-overview {
    grid-template-columns: 1fr;
  }

  .recommend-grid {
    grid-template-columns: 1fr;
  }

  .summary {
    grid-template-columns: 1fr;
  }

  .chart-config {
    grid-template-columns: 1fr;
  }

  .status-wrap {
    justify-items: start;
  }

  .auth-layout {
    grid-template-columns: 1fr;
  }
}

/* ── Mind Map simplification pass ───────────────────────────────────────── */
#page-dashboard #research-studio .mm-signal-board,
#page-briefing #research-studio .mm-signal-board,
#page-dashboard #research-studio .mm-guided-breadcrumb,
#page-briefing #research-studio .mm-guided-breadcrumb,
#page-dashboard #research-studio .mm-decision-grid,
#page-briefing #research-studio .mm-decision-grid,
#page-dashboard #research-studio .mm-header-meta,
#page-briefing #research-studio .mm-header-meta,
#page-dashboard #research-studio .mm-header-side,
#page-briefing #research-studio .mm-header-side,
#page-dashboard #research-studio .mm-fixed-item-meta,
#page-briefing #research-studio .mm-fixed-item-meta {
  display: none !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip {
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  padding: 10px 12px !important;
}

#page-dashboard #research-studio .mm-header-frame,
#page-briefing #research-studio .mm-header-frame {
  margin-top: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

#page-dashboard #research-studio .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-head,
#page-dashboard #research-studio .mm-live-head,
#page-briefing #research-studio .mm-live-head {
  margin-bottom: 8px !important;
}

#page-dashboard #research-studio .mm-depth-subtitle,
#page-briefing #research-studio .mm-depth-subtitle {
  font-size: 0.84rem !important;
  line-height: 1.55 !important;
  color: #64748b !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-depth-subtitle,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-subtitle {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item-btn {
  gap: 0 !important;
}

#page-dashboard #research-studio .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title {
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  gap: 10px !important;
  padding: 14px 16px !important;
}

#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card {
  gap: 10px !important;
  padding: 14px 16px !important;
  height: auto !important;
  min-height: auto !important;
}

#page-dashboard #research-studio .mm-live-node-badge,
#page-briefing #research-studio .mm-live-node-badge {
  min-width: 52px !important;
}

#page-dashboard #research-studio .mm-live-relations-head,
#page-briefing #research-studio .mm-live-relations-head {
  justify-content: flex-start !important;
}

#page-dashboard #research-studio .mm-stage-footer,
#page-briefing #research-studio .mm-stage-footer {
  padding: 12px 14px !important;
}

#page-dashboard #research-studio .mm-stage-grid,
#page-briefing #research-studio .mm-stage-grid,
#page-dashboard #research-studio .mm-stage-main,
#page-briefing #research-studio .mm-stage-main,
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side,
#page-dashboard #research-studio .mm-canvas-wrap,
#page-briefing #research-studio .mm-canvas-wrap {
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-stage-grid,
#page-briefing #research-studio .mm-stage-grid {
  grid-template-columns: 1fr !important;
}

#page-dashboard #research-studio .mm-detail-grid,
#page-briefing #research-studio .mm-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  gap: 10px !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos,
#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node,
#page-dashboard #research-studio .mindmap-live-relation-card,
#page-briefing #research-studio .mindmap-live-relation-card {
  box-shadow: none !important;
  filter: none !important;
}

#page-dashboard #research-studio .mindmap-cosmos::before,
#page-briefing #research-studio .mindmap-cosmos::before,
#page-dashboard #research-studio .mindmap-cosmos::after,
#page-briefing #research-studio .mindmap-cosmos::after,
#page-dashboard #research-studio .mindmap-network-node::before,
#page-briefing #research-studio .mindmap-network-node::before,
#page-dashboard #research-studio .mindmap-cosmos-glass,
#page-briefing #research-studio .mindmap-cosmos-glass {
  display: none !important;
  content: none !important;
}

#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos {
  min-height: 420px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard #research-studio .mindmap-graph-viewport,
#page-briefing #research-studio .mindmap-graph-viewport {
  min-height: 420px !important;
  inset: 10px !important;
  border-radius: 10px !important;
  overflow: auto !important;
}

#page-dashboard #research-studio .mindmap-network-layer,
#page-briefing #research-studio .mindmap-network-layer {
  padding: 0 !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node {
  border-radius: 14px !important;
  background: #ffffff !important;
  transform: translate(-50%, -50%) !important;
  padding: 14px 16px 14px 18px !important;
  gap: 4px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  overflow: hidden !important;
  transition: transform 180ms cubic-bezier(0.16,1,0.3,1), box-shadow 180ms ease, border-color 180ms ease, opacity 180ms ease !important;
}

#page-dashboard #research-studio .mindmap-network-node::after,
#page-briefing #research-studio .mindmap-network-node::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  background: #64748b !important;
  transition: width 180ms ease, background 180ms ease !important;
  display: block !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bull::after,
#page-briefing #research-studio .mindmap-network-node.is-bull::after {
  background: linear-gradient(180deg, #10b981, #059669) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bear::after,
#page-briefing #research-studio .mindmap-network-node.is-bear::after {
  background: linear-gradient(180deg, #f97316, #ea580c) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-neutral::after,
#page-briefing #research-studio .mindmap-network-node.is-neutral::after {
  background: linear-gradient(180deg, #3b82f6, #2563eb) !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover {
  transform: translate(-50%, -50%) translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06), 0 12px 24px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(71, 85, 105, 0.32) !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover::after,
#page-briefing #research-studio .mindmap-network-node:hover::after {
  width: 5px !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active {
  transform: translate(-50%, -50%) !important;
  border-color: #0f172a !important;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.08), 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active::after,
#page-briefing #research-studio .mindmap-network-node.is-active::after {
  width: 6px !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active.is-bull,
#page-briefing #research-studio .mindmap-network-node.is-active.is-bull {
  border-color: #059669 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.14), 0 16px 32px rgba(16, 185, 129, 0.18) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active.is-bear,
#page-briefing #research-studio .mindmap-network-node.is-active.is-bear {
  border-color: #ea580c !important;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.14), 0 16px 32px rgba(249, 115, 22, 0.16) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active.is-neutral,
#page-briefing #research-studio .mindmap-network-node.is-active.is-neutral {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.14), 0 16px 32px rgba(59, 130, 246, 0.18) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node.is-related {
  transform: translate(-50%, -50%) !important;
  border-color: rgba(71, 85, 105, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-dim,
#page-briefing #research-studio .mindmap-network-node.is-dim {
  opacity: 0.38 !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0,
#page-briefing #research-studio .mindmap-network-node.ring-0 {
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
  border-color: #0f172a !important;
  color: #f8fafc !important;
  padding: 16px 20px 16px 22px !important;
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.18), 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0::after,
#page-briefing #research-studio .mindmap-network-node.ring-0::after {
  background: linear-gradient(180deg, #34d399, #10b981) !important;
  width: 5px !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title {
  color: #f8fafc !important;
  font-size: 1.12rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-badge,
#page-dashboard #research-studio .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node-caption,
#page-dashboard #research-studio .mindmap-network-node-step,
#page-briefing #research-studio .mindmap-network-node-step,
#page-dashboard #research-studio .mindmap-network-node-top,
#page-briefing #research-studio .mindmap-network-node-top,
#page-dashboard #research-studio .mm-depth-subtitle,
#page-briefing #research-studio .mm-depth-subtitle {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-node-kicker,
#page-briefing #research-studio .mindmap-network-node-kicker {
  display: block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  margin-bottom: 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bull .mindmap-network-node-kicker,
#page-briefing #research-studio .mindmap-network-node.is-bull .mindmap-network-node-kicker {
  color: #059669 !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bear .mindmap-network-node-kicker,
#page-briefing #research-studio .mindmap-network-node.is-bear .mindmap-network-node-kicker {
  color: #ea580c !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-kicker,
#page-briefing #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-kicker {
  color: #2563eb !important;
}

#page-dashboard #research-studio .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node-title {
  font-size: 0.94rem !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  color: #0f172a !important;
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

#page-dashboard #research-studio .mm-live-node-topline,
#page-briefing #research-studio .mm-live-node-topline {
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}

#page-dashboard #research-studio .mm-live-node-badge,
#page-briefing #research-studio .mm-live-node-badge {
  display: none !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  gap: 8px !important;
}

@media (max-width: 1100px) {
  #page-dashboard #research-studio .mm-detail-grid,
  #page-briefing #research-studio .mm-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  body {
    font-size: 16.6px;
  }

  .signup-dialog--modern {
    --signup-grid-gap-x: 10px;
    --signup-grid-gap-y: 10px;
    --signup-field-pad-x: 11px;
    --signup-field-pad-y: 9px;
    --signup-control-gap: 7px;
  }

  .field-control-row {
    grid-template-columns: 1fr;
  }

  .field-check-btn {
    width: 100%;
    min-width: 0;
  }

  .field-meta-row {
    align-items: flex-start;
  }

  .macro-slide-card {
    width: 100%;
    border-radius: 30px;
  }

  .macro-ai-grid {
    display: block;
  }

  .macro-ai-card {
    padding: 0;
    border-radius: 0;
    gap: 8px;
  }

  .macro-slide-card--korea {
    padding: 0;
    border-radius: 30px;
  }

  .macro-korea-split {
    grid-template-columns: 1fr;
  }

  .macro-korea-panel {
    padding: 30px 24px 26px;
    gap: 16px;
    border-right: none;
    border-bottom: 1px solid rgba(11, 17, 16, 0.08);
  }

  .macro-korea-panel:last-child {
    border-bottom: none;
  }

  .macro-korea-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
  }

  .macro-korea-value {
    font-size: 2.1rem;
  }

  .macro-slide-flow {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .macro-slide-metric {
    gap: 14px;
    padding: 24px 22px 20px;
  }

  .macro-slide-value {
    font-size: clamp(1.72rem, 8vw, 2.35rem);
  }

  .macro-head {
    display: grid;
    gap: 8px;
    align-items: start;
  }

  .recommend-head {
    display: grid;
    gap: 8px;
    align-items: start;
  }

  .day-score-signals,
  .day-score-signals-4 {
    grid-template-columns: 1fr;
  }

  .recommend-free-grid {
    grid-template-columns: 1fr;
  }

  .recommend-premium-grid {
    grid-template-columns: 1fr;
  }

  .recommend-head-right {
    justify-content: flex-start;
  }

  .recommend-top {
    grid-template-columns: 1fr;
  }

  .recommend-rank-block,
  .recommend-price-block {
    justify-items: start;
  }

  .page-shell {
    padding: 10px;
    gap: 10px;
  }

  .topbar {
    padding: 14px;
    display: grid;
    gap: 12px;
  }

  .lead {
    font-size: 0.98rem;
  }

  .markdown-body {
    max-height: 62vh;
    min-height: 240px;
  }

  .alert-toggle-btn {
    right: 10px;
    width: 40px;
    height: 130px;
  }

  .reports-toggle-btn {
    bottom: calc(50% + 81px);
  }

  .alert-drawer {
    top: 10px;
    right: 10px;
    left: 10px;
    width: auto;
    bottom: 10px;
  }

  .zoom-dialog {
    width: 98vw;
    height: 94vh;
    padding: 10px;
  }

  .zoom-actions .ghost-btn {
    min-width: 48px;
    padding: 7px 8px;
  }

  .auth-dialog {
    width: 98vw;
    max-height: 94vh;
    padding: 14px;
  }

  .auth-head {
    display: grid;
  }

  .auth-form-grid {
    grid-template-columns: 1fr;
  }

  .auth-actions button {
    width: 100%;
  }
}
.site-footer {
  background: var(--bg);
  border-top: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.quick-pick-btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.quick-pick-btns--secondary {
  margin-top: 0;
  margin-bottom: 2px;
}

.quick-pick-btn {
  padding: 4px 12px;
  font-size: 0.87rem;
  border-radius: 20px;
  border: 1px solid rgba(147, 197, 253, 0.35);
  background: rgba(147, 197, 253, 0.08);
  color: #93c5fd;
  cursor: pointer;
  transition: background 0.15s;
}

.quick-pick-btn:hover {
  background: rgba(147, 197, 253, 0.2);
}

/* ── 다크모드 변수 ── */
[data-theme="dark"] {
  --bg: #0a0a0a;
  --surface: #111111;
  --surface-strong: #1a1a1a;
  --surface-elevated: #222222;
  --line: #272727;
  --line-strong: #383838;
  --ink: #f5f5f5;
  --muted: #a3a3a3;
  --accent: #f5f5f5;
  --accent-strong: #ffffff;
  --accent-soft: #1c1c1c;
  --chrome: #f5f5f5;
  --success: #4ade80;
  --warn: #00ed68;
  --error: #f87171;
  --shadow: 0 1px 3px rgba(0,0,0,0.4), 0 4px 16px rgba(0,0,0,0.3);
  --card-bg: #111111;
  --input-bg: #1a1a1a;
  --btn-ghost-bg: #1a1a1a;
  --btn-ghost-color: #f5f5f5;
  --btn-ghost-border: #383838;
  --pick-bg: rgba(245,245,245,0.06);
  --pick-border: rgba(245,245,245,0.15);
  --pick-color: #f5f5f5;
}

[data-theme="dark"] body {
  background: #0a0a0a;
  color: var(--ink);
}

[data-theme="dark"] .panel {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .topbar {
  background: #0a0a0a;
  border-bottom-color: #272727;
}

[data-theme="dark"] .auth-dialog {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .auth-head {
  border-bottom-color: var(--line);
}

[data-theme="dark"] .auth-copy,
[data-theme="dark"] .auth-note,
[data-theme="dark"] .auth-check-row span {
  color: var(--muted);
}

[data-theme="dark"] .auth-info-card,
[data-theme="dark"] .auth-check-row,
[data-theme="dark"] .auth-feedback {
  background: var(--surface-strong);
  border-color: var(--line);
}

[data-theme="dark"] .auth-info-card h4,
[data-theme="dark"] .auth-eyebrow {
  color: var(--ink);
}

[data-theme="dark"] .auth-security-list,
[data-theme="dark"] .auth-security-list li {
  color: #b6cfe8;
}

[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background: var(--input-bg);
  border-color: var(--line-strong);
  color: var(--ink);
}

[data-theme="dark"] .ghost-btn {
  background: var(--btn-ghost-bg);
  color: var(--btn-ghost-color);
  border-color: var(--btn-ghost-border);
}

[data-theme="dark"] .chart-head .ghost-btn,
[data-theme="dark"] .report-head .ghost-btn,
[data-theme="dark"] .report-actions .ghost-btn {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(17, 24, 39, 0.94));
  border-color: rgba(148, 163, 184, 0.16);
  color: #F5F5F5;
  box-shadow: none;
}

[data-theme="dark"] .chart-head .ghost-btn:hover,
[data-theme="dark"] .report-head .ghost-btn:hover,
[data-theme="dark"] .report-actions .ghost-btn:hover {
  background: linear-gradient(180deg, rgba(51, 65, 85, 0.96), rgba(30, 41, 59, 0.96));
  border-color: rgba(148, 163, 184, 0.24);
  color: #F5F5F5;
}

/* ── Dark mode: dashboard cards — neutral, no blue ── */
[data-theme="dark"] .macro-card,
[data-theme="dark"] .market-intel-category,
[data-theme="dark"] .recommend-overview-copy,
[data-theme="dark"] .recommend-premium-cta,
[data-theme="dark"] .recommend-card,
[data-theme="dark"] .recommend-item,
[data-theme="dark"] .recommend-summary,
[data-theme="dark"] .watchlist-item,
[data-theme="dark"] .watchlist-panel,
[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .quick-ticker-group,
[data-theme="dark"] .assist-note {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .saved-pane-section {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .saved-pane-title {
  color: var(--ink);
}
[data-theme="dark"] .saved-pane-item {
  background: var(--surface-strong);
  border-color: var(--line);
}
[data-theme="dark"] .saved-pane-item:hover {
  background: var(--surface-hover, rgba(255,255,255,0.06));
  border-color: var(--line-strong, rgba(255,255,255,0.15));
}
[data-theme="dark"] .saved-pane-item-ticker {
  color: var(--ink);
}
[data-theme="dark"] .saved-pane-item-date {
  color: var(--muted);
}

[data-theme="dark"] .recommend-row:hover { background: transparent; }
[data-theme="dark"] .recommend-item {
  background: transparent;
  border-bottom-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .recommend-item[aria-expanded="true"] { background: transparent; }
[data-theme="dark"] .recommend-tabs {
  width: max-content;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border: none;
  border-color: transparent;
  box-shadow: none;
}
[data-theme="dark"] #recommend-tablist,
[data-theme="dark"] #recommend-body > .recommend-tabs[role="tablist"] {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
[data-theme="dark"] .recommend-card,
[data-theme="dark"] .recommend-card-panel {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
[data-theme="dark"] .recommend-tab {
  background: rgba(11, 17, 16, 0.58);
  border-color: rgba(148, 163, 184, 0.18);
  color: #F5F5F5;
}
[data-theme="dark"] .recommend-tab.is-active {
  background: rgba(11, 17, 16, 0.92);
  border-color: rgba(226, 232, 240, 0.22);
  color: #F5F5F5;
}
[data-theme="dark"] .macro-value { color: var(--ink); }
[data-theme="dark"] .macro-name  { color: var(--muted); }
[data-theme="dark"] .macro-hint  { color: var(--muted); }
[data-theme="dark"] .macro-plain { color: #c3b8aa; }
[data-theme="dark"] .macro-change.up   { color: var(--success); }
[data-theme="dark"] .macro-change.down { color: var(--error); }
[data-theme="dark"] .day-score-panel,
[data-theme="dark"] .recommend-panel { background: transparent; border-color: #24332b; }
[data-theme="dark"] .day-score-head,
[data-theme="dark"] .recommend-head { border-bottom-color: #302920; }
[data-theme="dark"] .day-score-head h2,
[data-theme="dark"] .recommend-head h2 { color: #F5F5F5; }
[data-theme="dark"] .macro-ai-summary,
[data-theme="dark"] .day-score-narrative { background: #16211c; border-color: #24332b; }
[data-theme="dark"] .macro-ai-headline,
[data-theme="dark"] .day-score-headline { color: #F5F5F5; }
[data-theme="dark"] .macro-section-kicker { background: rgba(243, 237, 226, 0.08); color: #b9ab97; }
[data-theme="dark"] .macro-ai-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
[data-theme="dark"] .macro-ai-card.is-active {
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}
[data-theme="dark"] .macro-ai-card-kicker { color: #8da0b5; }
[data-theme="dark"] .macro-ai-card-badge {
  background: rgba(226, 232, 240, 0.08);
  color: #F5F5F5;
}
[data-theme="dark"] .macro-ai-card--good .macro-ai-card-badge {
  background: rgba(74, 222, 128, 0.08);
  color: #86efac;
}
[data-theme="dark"] .macro-ai-card--danger .macro-ai-card-badge {
  background: rgba(251, 113, 133, 0.08);
  color: #fda4af;
}
[data-theme="dark"] .macro-ai-card-title { color: #F5F5F5; }
[data-theme="dark"] .macro-ai-card-copy { color: #F5F5F5; }
[data-theme="dark"] .macro-slide-card {
  background: #101815;
  border-color: rgba(110, 168, 131, 0.18);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}
[data-theme="dark"] .macro-slide-head {
  border-bottom-color: rgba(110, 168, 131, 0.14);
  background: #121d18;
}
[data-theme="dark"] .macro-slide-kicker { color: #93a99a; }
[data-theme="dark"] .macro-slide-badge {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(110, 168, 131, 0.16);
  color: #cbd5ce;
}
[data-theme="dark"] .macro-slide-badge--good {
  background: rgba(74, 222, 128, 0.08);
  border-color: rgba(74, 222, 128, 0.18);
  color: #86efac;
}
[data-theme="dark"] .macro-slide-badge--danger {
  background: rgba(248, 113, 113, 0.08);
  border-color: rgba(248, 113, 113, 0.16);
  color: #fca5a5;
}
[data-theme="dark"] .macro-slide-title,
[data-theme="dark"] .macro-slide-value { color: #F5F5F5; }
[data-theme="dark"] .macro-slide-copy { color: #F5F5F5; }
[data-theme="dark"] .macro-slide-name { color: #F5F5F5; }
[data-theme="dark"] .macro-slide-card--korea {
  border-color: rgba(110, 168, 131, 0.3);
}
[data-theme="dark"] .macro-korea-panel {
  border-right-color: rgba(148, 163, 184, 0.1);
  border-bottom-color: rgba(148, 163, 184, 0.1);
}
[data-theme="dark"] .macro-korea-name,
[data-theme="dark"] .macro-korea-value { color: #F5F5F5; }
[data-theme="dark"] .macro-korea-flow-label { color: #93a99a; }
[data-theme="dark"] .macro-korea-change--up { color: #4ade80; }
[data-theme="dark"] .macro-korea-change--down { color: #fb7185; }
[data-theme="dark"] .macro-korea-change--flat { color: #F5F5F5; }
[data-theme="dark"] .macro-korea-flow-value--pos { color: #4ade80; }
[data-theme="dark"] .macro-korea-flow-value--neg { color: #fb7185; }
[data-theme="dark"] .macro-korea-flow-value--flat { color: #F5F5F5; }
[data-theme="dark"] .macro-carousel-btn {
  background: #101714;
  border-color: rgba(110, 168, 131, 0.18);
  color: #F5F5F5;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
[data-theme="dark"] .macro-carousel-counter { color: #93a99a; }
[data-theme="dark"] .macro-carousel-dot { background: rgba(148, 163, 184, 0.3); }
[data-theme="dark"] .macro-slide-items {
  background: transparent;
  border-color: transparent;
}
[data-theme="dark"] .macro-slide-metric {
  border-right-color: rgba(148, 163, 184, 0.1);
  border-bottom-color: rgba(148, 163, 184, 0.1);
}
[data-theme="dark"] .macro-slide-flow {
  border-top-color: rgba(148, 163, 184, 0.1);
}
[data-theme="dark"] .macro-slide-flow-label { color: #93a99a; }
[data-theme="dark"] .macro-slide-change--up { color: #4ade80; }
[data-theme="dark"] .macro-slide-change--down { color: #fb7185; }
[data-theme="dark"] .macro-slide-change--flat { color: #F5F5F5; }
[data-theme="dark"] .macro-slide-flow-value--pos { color: #4ade80; }
[data-theme="dark"] .macro-slide-flow-value--neg { color: #fb7185; }
[data-theme="dark"] .macro-slide-flow-value--flat { color: #F5F5F5; }
[data-theme="dark"] .macro-ai-summary {
  border-color: rgba(148, 163, 184, 0.14);
  background: linear-gradient(180deg, rgba(18, 24, 31, 0.82), rgba(14, 18, 24, 0.88));
}
[data-theme="dark"] .macro-ai-headline { color: #F5F5F5; }
[data-theme="dark"] .macro-focus-chip {
  background: rgba(18, 28, 22, 0.9);
  border-color: rgba(110, 168, 131, 0.18);
  color: #cce3d3;
}
[data-theme="dark"] .day-score-hero { background: #101714; }
[data-theme="dark"] .day-score-number  { color: #F5F5F5; }
[data-theme="dark"] .day-score-summary { color: #F5F5F5; }
[data-theme="dark"] .day-score-focus { color: #9ed8ae; }
[data-theme="dark"] .day-score-breakdown,
[data-theme="dark"] .signal-plain { color: #b8aa97; }
[data-theme="dark"] .day-score-narrative {
  border-color: rgba(148, 163, 184, 0.1);
  background: #16211c;
}
[data-theme="dark"] .day-score-narrative-kicker {
  background: rgba(74, 222, 128, 0.08);
  color: #9ee6b8;
}
[data-theme="dark"] .signal-detail-market { color: #a89a86; }
[data-theme="dark"] .signal-detail-row { border-top-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .signal-flow-chip,
[data-theme="dark"] .signal-breadth-chip {
  background: #171310;
  border-color: #302920;
  color: #ddd2c2;
}
[data-theme="dark"] .signal-mini-chip {
  background: #171310;
  border-color: #302920;
  color: #ddd2c2;
}
[data-theme="dark"] .signal-mini-chip strong {
  color: #c8b9a5;
}
[data-theme="dark"] .signal-mini-chip--accent {
  background: rgba(20, 83, 45, 0.28);
  border-color: rgba(110, 231, 183, 0.2);
  color: #bbf7d0;
}
[data-theme="dark"] .signal-detail-source {
  background: rgba(255,255,255,0.08);
  color: #c8b9a5;
}
[data-theme="dark"] .day-score-combo {
  background: #171310;
  border-color: #302920;
  color: #ddd2c2;
}
[data-theme="dark"] .day-score-sidecard,
[data-theme="dark"] .day-score-signal { background: #1f1a15; border-color: #302920; }
[data-theme="dark"] .day-score-meter {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.14);
}
[data-theme="dark"] .day-score-signal--compact.is-positive::before { background: #4ade80; }
[data-theme="dark"] .day-score-signal--compact.is-negative::before { background: #fb7185; }
[data-theme="dark"] .day-score-sidehead,
[data-theme="dark"] .day-score-kicker,
[data-theme="dark"] .day-score-score-cap { color: #a89a86; }
[data-theme="dark"] .day-score-orb {
  background: #121b17;
  border-color: rgba(110, 168, 131, 0.16);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}
[data-theme="dark"] .day-score-orb::after { border-color: rgba(255, 255, 255, 0.06); }
[data-theme="dark"] .signal-name { color: #a89a86; }
[data-theme="dark"] .signal-info-btn {
  background: #121916;
  border-color: rgba(110, 168, 131, 0.16);
  color: #97aa9f;
}
[data-theme="dark"] .signal-info-btn[data-tooltip]::before {
  border-left-color: rgba(110, 168, 131, 0.16);
  border-top-color: rgba(110, 168, 131, 0.16);
  background: rgba(18, 25, 22, 0.98);
}
[data-theme="dark"] .signal-info-btn[data-tooltip]::after {
  border-color: rgba(110, 168, 131, 0.16);
  background: rgba(18, 25, 22, 0.98);
  color: #d9e4ef;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
}
[data-theme="dark"] .signal-desc { color: var(--muted); }
[data-theme="dark"] .macro-combo-item.combo-good   { border-left-color: #3a9a60; }
[data-theme="dark"] .macro-combo-item.combo-warn   { border-left-color: #b07820; }
[data-theme="dark"] .macro-combo-item.combo-danger { border-left-color: #a84040; }
[data-theme="dark"] .macro-combo-item { background: #1f1a15; }
[data-theme="dark"] .combo-msg { color: var(--muted); }
[data-theme="dark"] .macro-asset-split { border-top-color: var(--line); }
[data-theme="dark"] .macro-asset-kicker { color: #a89a86; }
[data-theme="dark"] .macro-asset-col {
  background: #1f1a15;
  border-color: #302920;
}
[data-theme="dark"] .macro-asset-chip {
  background: #171310;
  border-color: #302920;
  color: var(--muted);
}
[data-theme="dark"] .macro-asset-favorable .macro-asset-label {
  background: rgba(0, 168, 77, 0.2);
  color: #7fe0a6;
}
[data-theme="dark"] .macro-asset-caution .macro-asset-label {
  background: rgba(185, 28, 28, 0.22);
  color: #f0a4a4;
}
[data-theme="dark"] .macro-asset-disclaimer { color: #7f7568; }
[data-theme="dark"] .pts-pos { color: var(--success); }
[data-theme="dark"] .pts-neg { color: var(--error); }
[data-theme="dark"] .market-intel-cat-label { color: var(--ink); }
[data-theme="dark"] .market-intel-link { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
[data-theme="dark"] .market-intel-meta { color: var(--muted); }
[data-theme="dark"] .recommend-ticker { color: var(--ink); }
[data-theme="dark"] .recommend-overline,
[data-theme="dark"] .recommend-summary-title,
[data-theme="dark"] .recommend-why-title,
[data-theme="dark"] .recommend-preview-title,
[data-theme="dark"] .recommend-premium-title { color: var(--ink); }
[data-theme="dark"] .recommend-hash-chip {
  border-color: #403527;
  background: #241f19;
  color: #e0d3c2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
[data-theme="dark"] .recommend-hash-chip:hover,
[data-theme="dark"] .recommend-hash-chip:focus-visible {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34);
}
[data-theme="dark"] .recommend-hash-chip--new {
  border-color: #2f6940;
  background: rgba(19, 55, 31, 0.88);
  color: #93d5aa;
}
[data-theme="dark"] .recommend-hash-chip--return {
  border-color: #765625;
  background: rgba(60, 41, 15, 0.84);
  color: #f1c97d;
}
[data-theme="dark"] .recommend-hash-chip--steady {
  border-color: rgba(52, 211, 153, 0.28);
  background: rgba(16, 185, 129, 0.14);
  color: #34d399;
}
[data-theme="dark"] .recommend-hash-chip--weakening {
  border-color: #784040;
  background: rgba(72, 24, 24, 0.84);
  color: #f0b1ab;
}
[data-theme="dark"] .recommend-hash-chip--insight {
  border-color: #35527d;
  background: rgba(26, 54, 93, 0.84);
  color: #c6dcff;
}
[data-theme="dark"] .recommend-hash-chip--extra {
  border-color: #1a4731;
  background: rgba(20, 60, 35, 0.80);
  color: #6ee7a0;
}
[data-theme="dark"] .recommend-hash-chip::before {
  border-right-color: rgba(255, 255, 255, 0.08);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: rgba(11, 17, 16, 0.96);
}
[data-theme="dark"] .recommend-hash-chip::after {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(11, 17, 16, 0.96);
  color: #F5F5F5;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
}
[data-theme="dark"] .recommend-premium-cta { background: transparent; border-color: #302920; }
[data-theme="dark"] .recommend-premium-btn,
[data-theme="dark"] .recommend-unlock-btn { background: #1f1a15; color: #F5F5F5; border-color: #302920; }
[data-theme="dark"] .recommend-rank-block { background: #00a84d; color: #F5F5F5; }
[data-theme="dark"] .recommend-rank-label { color: rgba(248, 250, 252, 0.68); }
[data-theme="dark"] .recommend-description,
[data-theme="dark"] .recommend-premium-copy,
[data-theme="dark"] .recommend-badge-detail,
[data-theme="dark"] .recommend-help,
[data-theme="dark"] .recommend-why-list,
[data-theme="dark"] .recommend-locked-copy,
[data-theme="dark"] .recommend-signal-label,
[data-theme="dark"] .recommend-main-point-label,
[data-theme="dark"] .recommend-brief-label { color: var(--muted); }
[data-theme="dark"] .recommend-brief-row {
  border-bottom-color: rgba(71, 85, 105, 0.7);
  background: transparent;
}
[data-theme="dark"] .recommend-brief-row:hover {
  background: transparent;
  border-bottom-color: rgba(100, 116, 139, 0.82);
}
[data-theme="dark"] .recommend-brief-row.is-primary {
  border-bottom-color: rgba(96, 165, 250, 0.34);
  background: transparent;
}
[data-theme="dark"] .recommend-brief-row strong {
  color: var(--ink);
}
[data-theme="dark"] .recommend-wow-card {
  border-color: rgba(71, 85, 105, 0.7);
  background: rgba(15, 23, 42, 0.56);
}
[data-theme="dark"] .recommend-wow-card--bull {
  border-color: rgba(74, 222, 128, 0.22);
}
[data-theme="dark"] .recommend-wow-card--bear {
  border-color: rgba(248, 113, 113, 0.2);
}
[data-theme="dark"] .recommend-wow-card-label {
  color: #9fb0c4;
}
[data-theme="dark"] .recommend-wow-card-text {
  color: #eef2f7;
}
/* ── 신규 해석 블록 다크모드 ── */
[data-theme="dark"] .rec-narrative {
  background: transparent;
}
[data-theme="dark"] .rec-position-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-position-text {
  color: #f5f5f5;
  line-height: 1.7;
}



[data-theme="dark"] .rec-risk-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-risk-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-action-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-structure-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-narrative-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-action-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-action-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-structure-header {
  color: #94a3b8;
}

[data-theme="dark"] .rec-structure-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-structure-text {
  color: #f5f5f5;
}

[data-theme="dark"] .rec-signal-label {
  color: #94a3b8;
}

[data-theme="dark"] .rec-wow-tag {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(100, 116, 139, 0.3);
  color: #94a3b8;
}
[data-theme="dark"] .rec-wow-tag--bull {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(52, 211, 153, 0.25);
  color: #6ee7b7;
}
[data-theme="dark"] .rec-wow-tag--bear {
  background: rgba(220, 38, 38, 0.1);
  border-color: rgba(248, 113, 113, 0.25);
  color: #fca5a5;
}
[data-theme="dark"] .rec-wow-tag--neutral {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(96, 165, 250, 0.25);
  color: #93c5fd;
}
[data-theme="dark"] .rec-cond {
  border-color: rgba(71, 85, 105, 0.55);
  background: transparent;
}
[data-theme="dark"] .rec-cond--bull {
  border-color: rgba(52, 211, 153, 0.2);
  background: transparent;
}
[data-theme="dark"] .rec-cond--bear {
  border-color: rgba(248, 113, 113, 0.2);
  background: transparent;
}
[data-theme="dark"] .rec-cond-label { color: #64748b; }
[data-theme="dark"] .rec-cond--bull .rec-cond-label { color: #34d399; }
[data-theme="dark"] .rec-cond--bear .rec-cond-label { color: #f87171; }
[data-theme="dark"] .rec-cond-text { color: #cbd5e1; }
[data-theme="dark"] .rec-checkpoint-box {
  border-color: rgba(96, 165, 250, 0.22);
  background: transparent;
}
[data-theme="dark"] .rec-checkpoint-icon { color: #60a5fa; }
[data-theme="dark"] .rec-checkpoint-label { color: #60a5fa; }
[data-theme="dark"] .rec-checkpoint-text { color: #bfdbfe; }
[data-theme="dark"] .rec-stat-item {
  border-color: rgba(71, 85, 105, 0.5);
  background: transparent;
}
[data-theme="dark"] .rec-stat-item--score {
  border-color: rgba(52, 211, 153, 0.2);
  background: rgba(5, 46, 22, 0.25);
}
[data-theme="dark"] .rec-stat-label { color: #64748b; }
[data-theme="dark"] .rec-stat-value { color: #e2e8f0; }
[data-theme="dark"] .rec-stat-item--score .rec-stat-value { color: #34d399; }
[data-theme="dark"] .recommend-live-price {
  background: transparent;
  color: #F5F5F5;
}
[data-theme="dark"] .recommend-live-gap {
  background: transparent;
  color: #cbbfae;
}
[data-theme="dark"] .recommend-live-gap::before {
  color: rgba(203, 191, 174, 0.45);
}
[data-theme="dark"] .recommend-live-price.price-up {
  color: #7fe0a6;
}
[data-theme="dark"] .recommend-live-price.price-down {
  color: #f0a4a4;
}
[data-theme="dark"] .recommend-live-price.price-neutral {
  color: #cbbfae;
}
[data-theme="dark"] .recommend-live-gap.price-up {
  color: #7fe0a6;
}
[data-theme="dark"] .recommend-live-gap.price-down {
  color: #f0a4a4;
}
[data-theme="dark"] .recommend-live-gap.price-neutral {
  color: #cbbfae;
}
[data-theme="dark"] .recommend-brief-strip span { background: #262018; color: #F5F5F5; }
[data-theme="dark"] .recommend-one-liner,
[data-theme="dark"] .recommend-signal-chip strong,
[data-theme="dark"] .recommend-main-point strong { color: var(--ink); }
[data-theme="dark"] .recommend-one-liner {
  background: transparent;
  border-bottom-color: rgba(71, 85, 105, 0.72);
}
[data-theme="dark"] .recommend-signal-chip,
[data-theme="dark"] .recommend-locked-state,
[data-theme="dark"] .recommend-main-point {
  background: transparent;
  border-color: rgba(71, 85, 105, 0.72);
}
[data-theme="dark"] .recommend-why--card {
  background: transparent;
  border-color: transparent;
}
[data-theme="dark"] .recommend-main-point--highlight {
  background: transparent;
  border-color: rgba(71, 85, 105, 0.72);
}
[data-theme="dark"] .recommend-wow-point {
  padding-top: 4px;
}
[data-theme="dark"] .recommend-wow-label { color: #9ad0a9; }
[data-theme="dark"] .recommend-wow-point strong { color: #e3f3e7; }
[data-theme="dark"] .recommend-action-btn {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}
[data-theme="dark"] .recommend-action-btn:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(45, 212, 191, 0.24);
}
[data-theme="dark"] .recommend-guardrail-note {
  border-color: #465062;
  background: rgba(31, 38, 48, 0.82);
}
[data-theme="dark"] .recommend-guardrail-note p { color: #F5F5F5; }
[data-theme="dark"] .recommend-locked-badge { background: #2a231b; color: #F5F5F5; }
[data-theme="dark"] .recommend-badge { background: #2a231b; color: #F5F5F5; }
[data-theme="dark"] .recommend-badge--new { background: #13261b; color: #79d39b; }
[data-theme="dark"] .recommend-badge--steady { background: #2a231b; color: #F5F5F5; }
[data-theme="dark"] .recommend-badge--return { background: #2b2215; color: #f0bf72; }
[data-theme="dark"] .recommend-badge--weakening { background: #301919; color: #f08f87; }
[data-theme="dark"] .recommend-card h3 { color: var(--ink); }
[data-theme="dark"] .analysis-kicker { color: #8fe2ac; }
[data-theme="dark"] .analysis-form {
  background: none;
}
[data-theme="dark"] .analysis-panel input,
[data-theme="dark"] .analysis-panel textarea {
  background: #171310;
  border-color: #302920;
  color: var(--ink);
  box-shadow: none;
}
[data-theme="dark"] .cp-form-row input {
  background: #171310;
  border-color: #302920;
  color: var(--ink);
  box-shadow: none;
}
[data-theme="dark"] .analysis-panel input:focus,
[data-theme="dark"] .analysis-panel textarea:focus {
  border-color: #21b458;
  box-shadow: 0 0 0 4px rgba(33, 180, 88, 0.12);
}
[data-theme="dark"] .cp-form-row input:focus {
  border-color: #21b458;
  box-shadow: 0 0 0 4px rgba(33, 180, 88, 0.12);
}
[data-theme="dark"] .cp-form-row input.is-symbol-selected {
  background: #171310;
  border-color: #302920;
  color: var(--ink);
  font-weight: inherit;
}
[data-theme="dark"] .quick-pick-btn {
  background: #1f1a15;
  border-color: #302920;
  color: #F5F5F5;
}
[data-theme="dark"] .quick-pick-btn:hover {
  background: #1d291f;
  border-color: #21b458;
  color: #8fe2ac;
}
[data-theme="dark"] .watchlist-main   { color: var(--ink); }
[data-theme="dark"] .watchlist-sub    { color: var(--muted); }
[data-theme="dark"] .watchlist-title  { color: var(--ink); }
[data-theme="dark"] .alert-meta       { color: var(--muted); }
[data-theme="dark"] .alert-log .info  { color: var(--muted); }

/* ── Dark mode: markdown report (네이비 배경 제거, 뉴트럴 다크로 통일) ── */
[data-theme="dark"] .markdown-body {
  background: rgba(20, 22, 21, 0.96);
  border-color: rgba(255, 255, 255, 0.12);
  color: #F5F5F5;
}
[data-theme="dark"] .markdown-body p { color: #F5F5F5; }
[data-theme="dark"] .markdown-body h1 { color: #F5F5F5; border-bottom-color: rgba(255, 255, 255, 0.12); }
[data-theme="dark"] .markdown-body h2 { background: rgba(255, 255, 255, 0.04); border-left-color: #4ade80; color: #F5F5F5; }
[data-theme="dark"] .markdown-body h3,
[data-theme="dark"] .markdown-body h4 { color: #F5F5F5; }
[data-theme="dark"] .markdown-body strong { color: #F5F5F5; }
[data-theme="dark"] .markdown-body blockquote { border-left-color: #4ade80; color: #F5F5F5; background: rgba(255, 255, 255, 0.03); }
[data-theme="dark"] .markdown-body th { background: rgba(255, 255, 255, 0.06); color: #F5F5F5; }
[data-theme="dark"] .markdown-body td { background: rgba(255, 255, 255, 0.02); color: #F5F5F5; }
[data-theme="dark"] .markdown-body td,
[data-theme="dark"] .markdown-body th { border-color: rgba(255, 255, 255, 0.12); }
[data-theme="dark"] .markdown-body code {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.16);
  color: #86efac;
}
[data-theme="dark"] .markdown-body pre {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: #F5F5F5;
}
[data-theme="dark"] #page-dashboard #research-studio .markdown-body td,
[data-theme="dark"] #page-briefing #research-studio .markdown-body td {
  background: rgba(255, 255, 255, 0.02) !important;
  color: #F5F5F5 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .markdown-body th,
[data-theme="dark"] #page-briefing #research-studio .markdown-body th {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #F5F5F5 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h2,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h2 {
  background: rgba(255, 255, 255, 0.04) !important;
  border-left-color: #4ade80 !important;
  color: #F5F5F5 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .markdown-body code,
[data-theme="dark"] #page-briefing #research-studio .markdown-body code {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: #86efac !important;
}
[data-theme="dark"] #page-dashboard #research-studio .markdown-body pre,
[data-theme="dark"] #page-briefing #research-studio .markdown-body pre {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: #F5F5F5 !important;
}

/* ── Dark mode: zoom report dialog (네이비 제거) ── */
[data-theme="dark"] .zoom-dialog {
  background: rgba(20, 22, 21, 0.98);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .zoom-dialog * {
  color: #F5F5F5;
}
[data-theme="dark"] .zoom-dialog h1,
[data-theme="dark"] .zoom-dialog h2,
[data-theme="dark"] .zoom-dialog h3,
[data-theme="dark"] .zoom-dialog h4,
[data-theme="dark"] .zoom-dialog h5,
[data-theme="dark"] .zoom-dialog h6 {
  color: #F5F5F5 !important;
}
[data-theme="dark"] .zoom-dialog strong {
  color: #F5F5F5 !important;
}
[data-theme="dark"] .zoom-dialog b {
  color: #F5F5F5 !important;
}
[data-theme="dark"] .zoom-head h3 { color: #F5F5F5 !important; }
[data-theme="dark"] .zoom-head {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] .zoom-actions .ghost-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  color: #F5F5F5;
}
[data-theme="dark"] .zoom-actions .ghost-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
[data-theme="dark"] .zoom-chart-container {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] #zoom-report-content {
  background: rgba(20, 22, 21, 0.98);
  color: #F5F5F5;
}
[data-theme="dark"] #zoom-report-content * {
  color: #F5F5F5;
}
[data-theme="dark"] #zoom-report-content h1,
[data-theme="dark"] #zoom-report-content h2,
[data-theme="dark"] #zoom-report-content h3,
[data-theme="dark"] #zoom-report-content h4,
[data-theme="dark"] #zoom-report-content strong {
  color: #F5F5F5 !important;
}

/* ── Dark mode: auth/signup ── */
[data-theme="dark"] .auth-eyebrow,
[data-theme="dark"] .auth-info-card h4 { color: var(--ink); }
[data-theme="dark"] .auth-security-list,
[data-theme="dark"] .auth-check-row span,
[data-theme="dark"] .auth-note,
[data-theme="dark"] .auth-copy { color: var(--muted); }
[data-theme="dark"] .auth-feedback { color: var(--error); }
[data-theme="dark"] .auth-feedback.success { color: var(--success); }
[data-theme="dark"] .auth-info-card { background: var(--surface-strong); border-color: var(--line); }

/* ── Dark mode: chart / tab controls ── */
[data-theme="dark"] .summary-card-desc,
[data-theme="dark"] .chart-head-desc { color: var(--muted); }
[data-theme="dark"] .chart-head-title { color: var(--ink); }
[data-theme="dark"] .chart-control-block,
[data-theme="dark"] .chart-stage-card {
  border-color: var(--line);
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.06), transparent 30%),
    linear-gradient(180deg, rgba(19, 24, 33, 0.94), rgba(15, 20, 30, 0.92));
}
[data-theme="dark"] .chart-control-kicker,
[data-theme="dark"] .chart-stage-kicker {
  background: rgba(255,255,255,0.06);
  color: var(--muted);
}
[data-theme="dark"] .tf-option-label { color: var(--muted); }
[data-theme="dark"] .tf-option-buttons { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .tf-option-btn { color: var(--muted); border: none; background: transparent; }
[data-theme="dark"] .tf-option-btn:hover { background: rgba(255,255,255,0.09); color: var(--ink); }
[data-theme="dark"] .tf-option-btn.active { background: rgba(96,165,250,0.18); color: #93c5fd; box-shadow: none; border: none; }
[data-theme="dark"] .indicator-row label { color: var(--muted); border-color: rgba(255,255,255,0.08); background: rgba(255,255,255,0.04); }
[data-theme="dark"] .indicator-row label:hover { background: rgba(96,165,250,0.1); border-color: rgba(96,165,250,0.25); color: #93c5fd; }
[data-theme="dark"] .indicator-row label:has(input:checked) { background: rgba(96,165,250,0.15); border-color: rgba(96,165,250,0.35); color: #93c5fd; }
[data-theme="dark"] .chart-tabs { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .chart-tabs .tab-btn { color: var(--muted); border: none; background: transparent; }
[data-theme="dark"] .chart-tabs .tab-btn:hover { background: rgba(255,255,255,0.09); color: var(--ink); }
[data-theme="dark"] .chart-tabs .tab-btn.active { background: rgba(96,165,250,0.18); color: #93c5fd; box-shadow: none; border: none; }
[data-theme="dark"] .chart-wrap { border-color: var(--line); }

/* ── Dark mode: ticker scroll / chips ── */
[data-theme="dark"] .macro-ticker-item { color: var(--muted); }
[data-theme="dark"] .macro-ticker-item .t-val { color: var(--ink); }
[data-theme="dark"] .chip-btn { color: var(--muted); border-color: var(--line); background: var(--surface); }
[data-theme="dark"] .suggest-name { color: var(--ink); }
[data-theme="dark"] .switch-row label { color: var(--muted); }

[data-theme="dark"] .ghost-btn { background: var(--btn-ghost-bg); color: var(--btn-ghost-color); border-color: var(--btn-ghost-border); }

/* ── quick-pick-btn: 기존 ghost-btn 계열로 통일 ── */
.quick-pick-btn {
  padding: 7px 14px;
  min-height: 38px;
  font-size: 0.90rem;
  font-weight: 700;
  border-radius: 999px;
  border: 1px solid #d5dee9;
  background: #f7fafc;
  color: #334155;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, transform 0.12s;
  letter-spacing: 0.01em;
  box-shadow: none;
}

.quick-pick-btn:hover {
  background: #eff6f1;
  border-color: #16a34a;
  color: #166534;
  transform: translateY(-1px);
}

/* 다크모드 토글 버튼 */
.theme-toggle-btn {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--ink);
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: background 0.15s;
  box-shadow: none !important;
  min-width: 0;
  width: auto;
  margin-top: 4px;
}

.theme-toggle-btn:hover,
.icon-btn:hover {
  transform: none;
  box-shadow: none;
}

/* ═══════════════════════════════════════════════════════
   NEW DESIGN COMPONENTS (ElevenLabs-style)
   ═══════════════════════════════════════════════════════ */

/* body override for light mode */
body {
  background: #0a0a0c;
}

/* ── Topbar ── */
.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  padding: 0;
}

.topbar-inner {
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 32px;
  height: 60px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.brand-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #00a84d;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  padding: 0;
  letter-spacing: -0.03em;
  font-family: "Space Grotesk", sans-serif;
  flex-shrink: 0;
  line-height: 1;
  transition: none;
}
.brand-btn:hover { opacity: 0.8; background: none; }
[data-theme="dark"] .brand-btn { color: #00e07a; }

.brand-logo-wordmark {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 24px;
  flex: 0 0 auto;
}

.brand-wordmark-asset,
.brand-symbol-asset {
  display: block;
  width: auto;
  height: 100%;
}

.brand-wordmark-asset--dark,
.brand-symbol-asset--dark {
  display: none;
}

[data-theme="dark"] .brand-wordmark-asset--light,
[data-theme="dark"] .brand-symbol-asset--light {
  display: none;
}

[data-theme="dark"] .brand-wordmark-asset--dark,
[data-theme="dark"] .brand-symbol-asset--dark {
  display: block;
}

/* 크레딧 아이콘 라이트/다크 토글 */
.credit-icon--dark { display: none; }
[data-theme="dark"] .credit-icon--light { display: none; }
[data-theme="dark"] .credit-icon--dark { display: inline-block; vertical-align: middle; }

/* 스튜디오 피처 카드 아이콘 라이트/다크 토글 */
.studio-feature-card-icon-img--light { display: inline-block; }
.studio-feature-card-icon-img--dark { display: none; }
[data-theme="dark"] .studio-feature-card-icon-img--light { display: none; }
[data-theme="dark"] .studio-feature-card-icon-img--dark { display: inline-block; vertical-align: middle; }

/* 시장흐름모니터 아이콘 라이트/다크 토글 */
.market-icon--dark { display: none; }
[data-theme="dark"] .market-icon--light { display: none; }
[data-theme="dark"] .market-icon--dark { display: block; }

/* 시그널 브리핑 아이콘 라이트/다크 토글 */
.signal-title-icon--dark { display: none; }
[data-theme="dark"] .signal-title-icon--light { display: none; }
[data-theme="dark"] .signal-title-icon--dark { display: block; }

/* 크레딧 아이콘 라이트/다크 토글 */
.pricing-credit-icon--light { display: inline-block; }
.pricing-credit-icon--dark { display: none; }
[data-theme="dark"] .pricing-credit-icon--light { display: none; }
[data-theme="dark"] .pricing-credit-icon--dark { display: inline-block; }

.brand-wordmark-inline {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 0.8em;
  margin: 0 0.12em;
  vertical-align: -0.11em;
}

.brand-green {
  color: #00a84d;
}
[data-theme="dark"] .brand-green {
  color: #00e07a;
}

#page-dashboard {
  position: relative;
}

.dashboard-guest-lock {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0 0 8px;
  background: none;
}

.dashboard-guest-lock-card {
  width: min(920px, 100%);
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  text-align: left;
}

.dashboard-guest-lock-copy {
  min-width: 0;
}

.dashboard-guest-lock-card p {
  margin: 0;
  max-width: none;
  font-size: 0.87rem;
  line-height: 1.4;
  color: #5b6777;
}

#dashboard-preview-login-btn.dashboard-guest-lock-btn {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  align-self: center;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  color: #166534;
  box-shadow: none !important;
  flex: 0 0 auto;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-left: 2px;
}

#dashboard-preview-login-btn.dashboard-guest-lock-btn:hover {
  background: transparent !important;
  background-image: none !important;
  color: #15803d;
  box-shadow: none;
}

[data-theme="dark"] .dashboard-guest-lock {
  background: none;
}

[data-theme="dark"] .dashboard-guest-lock-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

[data-theme="dark"] .dashboard-guest-lock-card p {
  color: #F5F5F5;
}

[data-theme="dark"] #dashboard-preview-login-btn.dashboard-guest-lock-btn {
  background: transparent !important;
  background-image: none !important;
  color: #86efac;
}

[data-theme="dark"] #dashboard-preview-login-btn.dashboard-guest-lock-btn:hover {
  background: transparent !important;
  background-image: none !important;
  color: #bbf7d0;
}

.topbar .primary-nav {
  display: flex;
  gap: 2px;
  margin: 0;
  justify-content: flex-start;
  flex-wrap: nowrap;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  /* center column of the 3-col grid */
}

.topbar-end {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: nowrap;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.topbar-end::-webkit-scrollbar,
.topbar .primary-nav::-webkit-scrollbar {
  display: none;
}

@media (max-width: 1360px) {
  .topbar-inner {
    padding: 0 20px;
    gap: 10px;
  }

  .topbar .primary-nav {
    gap: 0;
  }

  .topbar .primary-nav .nav-pill {
    padding: 8px 12px;
    font-size: 0.84rem;
  }

  .topbar-end {
    gap: 6px;
  }

  .topbar-end .btn-login,
  .topbar-end .btn-signup,
  .topbar-end .btn-ghost-sm,
  .header-user-chip {
    padding-inline: 10px;
    font-size: 0.82rem;
  }
}

.btn-login {
  display: inline-flex;
  align-items: center;
  padding: 5px 13px;
  background: var(--bg);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  font-size: 0.87rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s;
  font-family: inherit;
  box-shadow: none;
}
.btn-login:hover,
.btn-login:focus-visible { opacity: 0.7; box-shadow: none; }
.btn-login.hidden { display: none; }

.btn-signup {
  display: inline-flex;
  align-items: center;
  padding: 5px 13px;
  background: var(--ink);
  color: var(--bg);
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  font-size: 0.87rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s;
  font-family: inherit;
  box-shadow: none;
}
.btn-signup:hover,
.btn-signup:focus-visible { opacity: 0.8; box-shadow: none; }
.btn-signup.hidden { display: none; }

.icon-btn {
  background: none;
  border: none;
  box-shadow: none;           
  border-radius: 8px;         
  color: var(--ink);
  width: 36px;
  height: 36px;
  cursor: pointer;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.icon-btn:hover {
  background: var(--accent-soft);
  transform: none;            
  box-shadow: none;           
}

.status-pill--inline {
  font-size: 0.87rem;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted);
  font-family: var(--mono);
}
.status-pill--inline.hidden { display: none; }

/* ── Hero section ── */
.page-shell {
  padding: 0;
  gap: 0;
}

.hero {
  padding: 96px 24px 64px;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.hero-eyebrow {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 24px;
  font-family: "Space Grotesk", sans-serif;
}

.hero-title {
  font-size: clamp(2.6rem, 5.5vw, 4.2rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin: 0 0 20px;
  color: var(--ink);
}

.hero-desc {
  font-size: 1.08rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0 0 36px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

.hero-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.hero--showcase {
  max-width: 1220px;
  padding: 76px 24px 56px;
}

.hero--home {
  max-width: 1180px;
  padding: 78px 24px 36px;
}

.hero--landing {
  text-align: center;
}

.hero-copy--center {
  max-width: 980px;
  margin: 0 auto;
  justify-items: center;
  text-align: center;
  gap: 20px;
}

.hero-copy--center .hero-eyebrow,
.hero-copy--center .hero-title,
.hero-copy--center .hero-desc {
  margin-left: auto;
  margin-right: auto;
}

.hero-copy--center .hero-title {
  max-width: 1040px;
  font-size: clamp(3.2rem, 6.4vw, 6rem);
  line-height: 0.98;
}

.hero-copy--center .hero-desc {
  max-width: 820px;
  font-size: 1.05rem;
}

.hero-actions--center {
  justify-content: center;
}

.home-features--hero {
  padding-top: 6px;
  padding-bottom: 44px;
}

.home-showcase {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 28px;
}

.page-flow-strip {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-flow-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255,255,255,0.72);
  color: #F5F5F5;
  font-size: 0.87rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.page-flow-pill:hover {
  background: #ffffff;
  border-color: rgba(11, 17, 16, 0.14);
  color: #0b1110;
  transform: translateY(-1px);
}

.page-flow-pill.is-current {
  background: linear-gradient(135deg, #0b1110, #0b1110);
  border-color: transparent;
  color: #F5F5F5;
}

.intro-compact {
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 24px 18px;
  display: grid;
  gap: 20px;
}

.intro-compact-head {
  max-width: 760px;
  display: grid;
  gap: 12px;
}

.intro-compact-title {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #0b1110;
  font-family: "Space Grotesk", sans-serif;
}

.intro-compact-desc {
  margin: 0;
  max-width: 640px;
  color: #5b6573;
  font-size: 1rem;
  line-height: 1.72;
}

.intro-compact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.intro-compact-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.8);
  color: #334155;
  font-size: 0.87rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.intro-compact-actions {
  justify-content: flex-start;
}

.intro-service {
  max-width: 1280px;
  margin: 0 auto;
  padding: 52px 24px 28px;
  display: grid;
  gap: 26px;
}

.intro-service-head {
  max-width: 1180px;
  display: grid;
  gap: 14px;
}

.intro-service-title {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
  color: #0b1110;
  font-family: "Space Grotesk", sans-serif;
  max-width: 100%;
}

.intro-service-title-line {
  display: block;
}

.intro-service-desc {
  margin: 0;
  max-width: 900px;
  color: #667085;
  font-size: 1rem;
  line-height: 1.74;
  text-wrap: pretty;
}

.intro-service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.intro-service-pill,
.intro-service-metric {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 20px;
  background: rgba(255,255,255,0.68);
  box-shadow: 0 12px 28px rgba(11, 17, 16, 0.05);
  padding: 16px 18px;
  display: grid;
  gap: 8px;
}

.intro-service-strip--compact .intro-service-pill {
  align-content: center;
  min-height: 88px;
}

.intro-service-pill-step {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #90a09a;
  font-family: "Space Grotesk", sans-serif;
}

.intro-service-pill strong {
  color: #162033;
  font-size: 0.98rem;
  line-height: 1.34;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.intro-service-metric span {
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  font-family: "Space Grotesk", sans-serif;
}

.intro-service-metric strong {
  color: #162033;
  font-size: 1.04rem;
  line-height: 1.28;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.intro-service-metric p {
  margin: 0;
  color: #697586;
  font-size: 0.86rem;
  line-height: 1.58;
  text-wrap: pretty;
}

.product-shot--home-showcase {
  border-radius: 30px;
  padding: 20px;
  box-shadow: none;
}

.product-shot--home-hero {
  max-width: 740px;
  margin-left: auto;
}

.product-shot--hero-slider {
  overflow: hidden;
}

.hero-slider {
  display: grid;
  gap: 14px;
}

.hero-slider-stage {
  position: relative;
  min-height: 520px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(10, 10, 10, 0.08);
  background: #F5F5F5;
  box-shadow: none;
}

.hero-slider-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
}

.hero-slider-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.hero-slider-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  background: #F5F5F5;
}

.hero-slider-caption {
  display: none;
}

.hero-slider-step {
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8ba097;
  font-family: "Space Grotesk", sans-serif;
}

.hero-slider-caption strong {
  color: #0b1110;
  font-size: 1.14rem;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

.hero-slider-caption p {
  margin: 0;
  color: #64748b;
  font-size: 0.87rem;
  line-height: 1.55;
  max-width: 520px;
}

.hero-slider-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.hero-slider-dot {
  width: 34px;
  height: 6px;
  border-radius: 999px;
  border: none;
  background: rgba(148, 163, 184, 0.34);
  padding: 0;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.18s ease;
}

.hero-slider-dot:hover {
  background: rgba(34, 197, 94, 0.32);
}

.hero-slider-dot.is-active {
  background: #16a34a;
  transform: scaleX(1.06);
}

.hero-slider-meta {
  display: grid;
  gap: 5px;
  padding: 2px 4px 0;
}

.hero-slider-meta-step {
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8ba097;
  font-family: "Space Grotesk", sans-serif;
}

.hero-slider-meta strong {
  color: #0b1110;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.hero-slider-meta p {
  margin: 0;
  color: #64748b;
  font-size: 0.90rem;
  line-height: 1.5;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 36px;
  align-items: center;
}

.hero-copy {
  display: grid;
  gap: 20px;
  text-align: left;
  max-width: 760px;
}

.hero-copy--minimal {
  max-width: 700px;
  gap: 18px;
}

.hero-brand-lockup {
  display: flex;
  align-items: center;
}

.hero-brand-wordmark {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: clamp(34px, 3.4vw, 44px);
}

.hero-title--minimal {
  max-width: 12ch;
}

.hero-copy .hero-eyebrow,
.hero-copy .hero-title,
.hero-copy .hero-desc {
  margin-left: 0;
  margin-right: 0;
}

.hero-copy .hero-eyebrow {
  margin-bottom: 0;
}

.hero-copy .hero-desc {
  max-width: 640px;
  margin-bottom: 0;
}

.hero--showcase .hero-actions {
  justify-content: flex-start;
  margin-top: 10px;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hero-trust span,
.showcase-points span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid rgba(10, 10, 10, 0.1);
  background: rgba(255, 255, 255, 0.72);
  color: #2e3f54;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  backdrop-filter: blur(12px);
}

.hero-stat-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 2px;
}

.hero-stat {
  border: none;
  border-top: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 0;
  background: transparent;
  padding: 14px 0 13px;
  display: grid;
  grid-template-columns: minmax(150px, 178px) minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  position: relative;
  overflow: hidden;
}

.hero-stat:first-child {
  padding-top: 0;
  border-top: none;
}

.hero-stat::before {
  display: none;
}

.hero-stat strong {
  font-family: "Manrope", sans-serif;
  font-size: 1.02rem;
  letter-spacing: -0.03em;
  color: #111111;
  white-space: nowrap;
}

.hero-stat span {
  color: #66717d;
  font-size: 0.90rem;
  line-height: 1.45;
  max-width: none;
  white-space: nowrap;
}

.hero-stage {
  position: relative;
  padding-top: 58px;
}

.hero-stage::before {
  display: none;
}

.hero-grid--intro-minimal {
  align-items: center;
}

.product-shot--intro-hero {
  max-width: 760px;
  margin-left: auto;
}

.hero--intro .hero-copy {
  gap: 16px;
}

.hero--intro .hero-desc {
  max-width: 540px;
  font-size: 1rem;
}

.intro-summary {
  max-width: 1180px;
  margin: 0 auto;
  padding: 4px 24px 72px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.intro-summary-card {
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  padding: 20px 20px 18px;
  display: grid;
  gap: 8px;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.intro-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(16,185,129,0), rgba(16,185,129,0.42), rgba(37,99,235,0));
}

.intro-summary-card strong {
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.intro-summary-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.58;
}

.intro-flow-panel {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  padding: 28px;
  border: 1px solid rgba(10, 10, 10, 0.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,246,248,0.94));
  box-shadow:
    0 28px 64px rgba(11, 17, 16, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.92);
}

.intro-flow-panel::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 18px;
  width: 86px;
  height: 86px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.52), rgba(255,255,255,0.06)),
    radial-gradient(circle at top left, rgba(16,185,129,0.22), transparent 60%);
  border: 1px solid rgba(11, 17, 16, 0.06);
  pointer-events: none;
  opacity: 0.88;
}

.intro-flow-head {
  display: grid;
  gap: 8px;
}

.intro-flow-head strong {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.intro-flow-head p {
  margin: 0;
  max-width: 540px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.intro-flow-list {
  display: grid;
}

.intro-flow-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid rgba(11, 17, 16, 0.08);
}

.intro-flow-item:first-child {
  padding-top: 2px;
  border-top: none;
}

.intro-flow-step {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: #111111;
  color: #ffffff;
  font-size: 0.83rem;
  font-weight: 800;
  font-family: var(--mono);
  letter-spacing: 0.06em;
}

.intro-flow-body {
  display: grid;
  gap: 6px;
  align-content: start;
}

.intro-flow-body strong {
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.intro-flow-body p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.intro-flow-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.intro-flow-footer span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.045);
  border: 1px solid rgba(11, 17, 16, 0.08);
  color: #4a5565;
  font-size: 0.87rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.capability-stack {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}

.capability-stack--home {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.capability-stack--home .capability-card {
  min-height: 184px;
  align-content: start;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.capability-stack--home .capability-card:hover {
  transform: translateY(-2px);
  border-color: rgba(11, 17, 16, 0.14);
  box-shadow: 0 22px 52px rgba(11, 17, 16, 0.1);
}

.capability-stack--home .capability-card--emphasis {
  grid-column: span 2;
  min-height: 162px;
}

.capability-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,247,247,0.92));
  box-shadow: 0 20px 50px rgba(11, 17, 16, 0.06);
  padding: 22px 22px 20px;
  display: grid;
  gap: 8px;
  position: relative;
  overflow: hidden;
}

.capability-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(14,165,233,0), rgba(14,165,233,0.36), rgba(15,118,110,0.2), rgba(14,165,233,0));
}

.capability-card strong {
  font-size: 1.12rem;
  letter-spacing: -0.02em;
}

.capability-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.capability-card--emphasis {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(240,244,248,0.95));
  border-color: rgba(10, 10, 10, 0.12);
}

.product-shot {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(10, 10, 10, 0.08);
  border-radius: 28px;
  padding: 18px;
  background:
    radial-gradient(circle at top left, rgba(14,165,233,0.08), transparent 28%),
    radial-gradient(circle at top right, rgba(15,118,110,0.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.95), rgba(243,245,247,0.94));
  box-shadow:
    0 30px 70px rgba(11, 17, 16, 0.09),
    inset 0 1px 0 rgba(255,255,255,0.9);
  overflow: hidden;
}

.product-shot::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.32), transparent 28%),
    radial-gradient(circle at 85% 16%, rgba(255,255,255,0.42), transparent 18%);
}

.product-shot--compact {
  max-width: 700px;
  margin-left: auto;
}

.product-shot-chrome {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.product-shot-dots {
  display: inline-flex;
  gap: 6px;
}

.product-shot-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d5db;
}

.product-shot-dots span:nth-child(1) { background: #ef4444; }
.product-shot-dots span:nth-child(2) { background: #0c6f38; }
.product-shot-dots span:nth-child(3) { background: #10b981; }

.product-shot-chrome p {
  margin: 0 0 0 auto;
  color: #738091;
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.product-shot-ticker {
  overflow: hidden;
  border: 1px solid rgba(10, 10, 10, 0.06);
  border-radius: 16px;
  background: rgba(255,255,255,0.8);
  margin-bottom: 14px;
}

.product-shot-ticker-track {
  display: flex;
  align-items: center;
  gap: 22px;
  width: max-content;
  padding: 12px 18px;
  color: #46566b;
  font-size: 0.85rem;
  font-weight: 700;
  font-family: var(--mono);
  letter-spacing: 0.01em;
  animation: shot-scroll 24s linear infinite;
}

.product-shot:hover .product-shot-ticker-track,
.home-ribbon:hover .home-ribbon-track {
  animation-play-state: paused;
}

.product-shot-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.75fr);
  gap: 14px;
}

.product-shot-side {
  display: grid;
  gap: 14px;
}

.product-shot-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: 14px;
  margin-top: 14px;
}

.product-shot-card {
  position: relative;
  border: 1px solid rgba(10, 10, 10, 0.08);
  border-radius: 22px;
  background: rgba(255,255,255,0.78);
  padding: 16px;
  display: grid;
  gap: 12px;
  min-width: 0;
  backdrop-filter: blur(14px);
}

.product-shot-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(16,185,129,0), rgba(16,185,129,0.32), rgba(59,130,246,0.24), rgba(16,185,129,0));
}

.product-shot-card--chart {
  min-height: 288px;
}

.shot-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.shot-card-head strong {
  display: block;
  font-size: 0.98rem;
  letter-spacing: -0.02em;
  color: #101828;
}

.shot-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.06);
  color: #475467;
  font-size: 0.83rem;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: 0.03em;
  font-family: var(--mono);
}

.shot-chip--success {
  background: rgba(16, 185, 129, 0.16);
  color: #047857;
}

.shot-mini-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.shot-mini-kpis span {
  display: inline-flex;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(11, 17, 16, 0.04);
  color: #5e6a78;
  font-size: 0.87rem;
  font-weight: 700;
}

.shot-mini-kpis strong {
  color: #111827;
  font-family: var(--mono);
}

.shot-chart {
  position: relative;
  min-height: 180px;
  border-radius: 18px;
  overflow: hidden;
  padding: 14px 14px 10px;
  background:
    linear-gradient(180deg, rgba(247,250,252,0.95), rgba(239,244,248,0.95));
}

.shot-chart-gridline {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(to right, rgba(148,163,184,0.14), rgba(148,163,184,0.14) 1px, transparent 1px, transparent 56px),
    repeating-linear-gradient(to bottom, rgba(148,163,184,0.14), rgba(148,163,184,0.14) 1px, transparent 1px, transparent 44px);
}

.shot-chart svg {
  position: absolute;
  inset: 10px 12px 8px 12px;
  width: calc(100% - 24px);
  height: calc(100% - 18px);
}

.shot-line {
  fill: none;
  stroke: #2563eb;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shot-line--green {
  stroke: #0f766e;
}

.shot-axis {
  position: absolute;
  display: grid;
  gap: 34px;
  color: #8190a3;
  font-size: 0.82rem;
  font-weight: 700;
  font-family: var(--mono);
}

.shot-axis--y {
  top: 18px;
  right: 12px;
  text-align: right;
}

.shot-gauge {
  display: grid;
  gap: 10px;
}

.shot-gauge p {
  margin: 0;
  color: #66717d;
  font-size: 0.90rem;
  line-height: 1.55;
}

.shot-gauge-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(11, 17, 16, 0.08);
}

.shot-gauge-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0c6f38 0%, #10b981 100%);
}

.shot-signal-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.shot-signal-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px 10px 28px;
  border-radius: 14px;
  background: rgba(11, 17, 16, 0.04);
  color: #526071;
  font-size: 0.87rem;
  font-weight: 700;
  position: relative;
}

.shot-signal-list li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, #10b981, #2563eb);
  transform: translateY(-50%);
}

.shot-signal-list strong {
  color: #0b1110;
  font-family: var(--mono);
  font-size: 0.85rem;
}

.shot-report-lines {
  display: grid;
  gap: 10px;
}

.shot-report-lines span {
  color: #5b6774;
  font-size: 0.90rem;
  line-height: 1.6;
}

.shot-report-lines .is-strong {
  color: #121926;
  font-weight: 700;
}

.shot-macro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.shot-macro-pill {
  border-radius: 16px;
  padding: 12px;
  background: rgba(11, 17, 16, 0.04);
  display: grid;
  gap: 6px;
}

.shot-macro-pill span {
  color: #66717d;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shot-macro-pill strong {
  color: #111827;
  font-size: 0.92rem;
  font-family: var(--mono);
}

.home-ribbon {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 20px;
  overflow: hidden;
}

.home-ribbon-track {
  display: flex;
  gap: 18px;
  width: max-content;
  padding: 12px 0;
  color: #4a5565;
  font-size: 0.90rem;
  font-weight: 800;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  animation: shot-scroll 18s linear infinite;
}

.home-ribbon-track span {
  position: relative;
  padding-right: 18px;
}

.home-ribbon-track span::after {
  content: "•";
  position: absolute;
  right: 0;
  color: #b0bac7;
}

.story-section,
.showcase-board {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 28px;
}

.section-heading {
  max-width: 980px;
  margin: 0 0 20px;
  display: grid;
  gap: 10px;
}

.section-heading h2,
.showcase-copy h2 {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.section-heading p,
.showcase-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 0.98rem;
  max-width: 960px;
  text-wrap: pretty;
}

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

.story-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  padding: 22px;
  display: grid;
  gap: 10px;
}

.story-step {
  color: #7b8794;
  font-size: 0.85rem;
  font-weight: 800;
  font-family: var(--mono);
}

.story-card h3 {
  margin: 0;
  font-size: 1.08rem;
  letter-spacing: -0.02em;
}

.story-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.story-section--intro {
  padding-top: 22px;
  padding-bottom: 30px;
}

.story-section--intro .section-heading {
  max-width: 760px;
}

.intro-capture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.intro-capture-card {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 16px 36px rgba(11, 17, 16, 0.06);
  padding: 24px;
  display: grid;
  gap: 14px;
}

.intro-capture-copy {
  display: grid;
  gap: 10px;
}

.intro-capture-head {
  display: grid;
  gap: 6px;
}

.intro-capture-head h3 {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.24;
  letter-spacing: -0.02em;
  color: #0b1110;
}

.intro-capture-head p {
  margin: 0;
  color: #667085;
  font-size: 0.9rem;
  line-height: 1.6;
}

.intro-capture-shot {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 22px;
  background: rgba(248, 250, 252, 0.92);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.intro-capture-image {
  display: block;
  width: 100%;
  height: auto;
  background: #F5F5F5;
}

.intro-capture-shot .product-shot-chrome {
  padding: 12px 14px 10px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(255,255,255,0.74);
}

.intro-capture-shot .product-shot-chrome p {
  font-size: 0.83rem;
}

.intro-capture-stage {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.intro-capture-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.intro-capture-stage-head strong {
  color: #0b1110;
  font-size: 1.04rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.intro-capture-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.intro-capture-metric {
  display: grid;
  gap: 4px;
  padding: 11px 10px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255,255,255,0.8);
}

.intro-capture-metric span,
.intro-capture-summary,
.intro-capture-list-item span,
.intro-capture-intel-card p,
.intro-capture-tool-card span {
  color: #64748b;
  font-size: 0.85rem;
  line-height: 1.5;
}

.intro-capture-metric strong,
.intro-capture-list-item strong,
.intro-capture-intel-card strong,
.intro-capture-tool-card strong {
  color: #0b1110;
  font-size: 0.9rem;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.intro-capture-tabs,
.intro-capture-tool-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.intro-capture-tabs span,
.intro-capture-tool-tabs span {
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255,255,255,0.82);
  color: #5b6777;
  font-size: 0.82rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
}

.intro-capture-tabs .is-active,
.intro-capture-tool-tabs .is-active {
  color: #166534;
  border-color: rgba(22, 101, 52, 0.14);
  background: rgba(34, 197, 94, 0.1);
}

.intro-capture-list,
.intro-capture-stage--intel {
  display: grid;
  gap: 10px;
}

.intro-capture-list-item,
.intro-capture-intel-card,
.intro-capture-tool-card,
.intro-capture-input {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 18px;
  background: rgba(255,255,255,0.86);
}

.intro-capture-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 10px;
  align-items: center;
  padding: 11px 12px;
}

.intro-capture-list-item b {
  min-width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(34, 197, 94, 0.1);
  color: #166534;
  font-size: 0.85rem;
  font-weight: 800;
}

.intro-capture-intel-card {
  display: grid;
  gap: 5px;
  padding: 12px 13px;
}

.intro-capture-intel-tag {
  color: #0f766e;
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.intro-capture-input {
  min-height: 44px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  color: #0b1110;
  font-size: 0.90rem;
  font-weight: 700;
}

.intro-capture-input--muted {
  color: #64748b;
  font-weight: 600;
}

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

.intro-capture-tool-card {
  display: grid;
  gap: 5px;
  padding: 12px;
}

.intro-story-card {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 24px 24px 22px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 34px rgba(11, 17, 16, 0.06);
}

.intro-story-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(148,163,184,0), rgba(148,163,184,0.24), rgba(148,163,184,0));
}

.intro-story-card .story-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 44px;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.16);
  color: #64748b;
  letter-spacing: 0.08em;
}

.intro-story-card h3 {
  font-size: 1.12rem;
  line-height: 1.28;
  letter-spacing: -0.03em;
  color: #101828;
}

.intro-story-card p {
  font-size: 0.92rem;
  line-height: 1.66;
  color: #5f6b7a;
}

.intro-story-visual {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 88px;
  margin-top: 4px;
}

.intro-story-visual span {
  display: block;
}

.intro-story-visual--regime {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
}

.intro-story-visual--regime span {
  border-radius: 14px 14px 6px 6px;
  background: linear-gradient(180deg, rgba(14,165,233,0.2), rgba(14,165,233,0.78));
}

.intro-story-visual--regime span:nth-child(1) { height: 58px; }
.intro-story-visual--regime span:nth-child(2) { height: 78px; }
.intro-story-visual--regime span:nth-child(3) { height: 44px; }
.intro-story-visual--regime span:nth-child(4) { height: 70px; }

.intro-story-visual--briefing {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.intro-story-visual--briefing span {
  min-height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 17, 16, 0.06);
  border: 1px solid rgba(11, 17, 16, 0.08);
  color: #334155;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-family: var(--mono);
}

.intro-story-visual--checkpoint {
  grid-template-columns: 1.3fr 0.9fr 0.8fr;
}

.intro-story-visual--checkpoint span {
  min-height: 74px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.56)),
    linear-gradient(135deg, rgba(16,185,129,0.16), rgba(59,130,246,0.14));
  border: 1px solid rgba(11, 17, 16, 0.08);
}

.intro-story-visual--workspace {
  grid-template-columns: 1.2fr 0.8fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.intro-story-visual--workspace span {
  border-radius: 18px;
  min-height: 36px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255,255,255,0.68);
}

.intro-story-visual--workspace span:first-child {
  grid-row: 1 / span 2;
  min-height: 82px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.64)),
    radial-gradient(circle at top left, rgba(15,118,110,0.16), transparent 48%);
}

.intro-story-visual--newsflash {
  grid-template-columns: 1fr;
}

.intro-story-visual--newsflash span {
  min-height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(59,130,246,0.22), rgba(15,118,110,0.58));
}

.intro-story-visual--newsflash span:nth-child(1) { width: 100%; }
.intro-story-visual--newsflash span:nth-child(2) { width: 86%; }
.intro-story-visual--newsflash span:nth-child(3) { width: 92%; }
.intro-story-visual--newsflash span:nth-child(4) { width: 68%; }

.intro-story-example {
  margin-top: auto;
  padding: 14px 15px;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, 0.1);
  background: rgba(255, 255, 255, 0.86);
  color: #1f3b63;
  font-size: 0.87rem;
  line-height: 1.62;
  font-weight: 700;
}

.intro-story-card {
  display: grid;
  gap: 14px;
  align-content: start;
}

.intro-story-card--studio {
  min-height: 390px;
}

.intro-story-visual {
  position: relative;
  min-height: 122px;
  margin-top: 4px;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(249,250,251,0.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.intro-story-visual--regime,
.intro-story-visual--briefing,
.intro-story-visual--intel,
.intro-story-visual--workspace {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.intro-visual-panel,
.intro-briefing-list {
  display: grid;
  gap: 10px;
}

.intro-visual-head,
.intro-briefing-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.intro-visual-kicker {
  color: #64748b;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.intro-visual-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #0b1110;
  background: rgba(11, 17, 16, 0.06);
  border: 1px solid rgba(11, 17, 16, 0.08);
}

.intro-visual-pill--positive {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.18);
}

.intro-visual-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.intro-visual-kpis span,
.intro-visual-meta span {
  display: grid;
  gap: 4px;
  padding: 10px 10px 9px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.88);
}

.intro-visual-kpis em {
  font-style: normal;
  color: #64748b;
  font-size: 0.80rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.intro-visual-kpis strong {
  color: #0b1110;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.intro-visual-meter {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148, 163, 184, 0.18);
}

.intro-visual-meter span {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #10b981, #38bdf8);
}

.intro-visual-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.intro-visual-meta span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #334155;
  font-size: 0.82rem;
  font-weight: 700;
}

.intro-briefing-tabs span {
  flex: 1 1 0;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #F5F5F5;
  background: rgba(11, 17, 16, 0.05);
  border: 1px solid rgba(148, 163, 184, 0.18);
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-family: var(--mono);
}

.intro-briefing-tabs .is-active {
  color: #065f46;
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.18);
}

.intro-briefing-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.86);
}

.intro-briefing-list strong,
.intro-intel-card strong,
.intro-studio-pane strong,
.intro-story-subfeature strong {
  color: #0b1110;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.intro-briefing-list article span {
  color: #64748b;
  font-size: 0.85rem;
  grid-column: 1;
}

.intro-briefing-list article b {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  font-size: 0.85rem;
  font-weight: 800;
}

.intro-intel-card {
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.88);
}

.intro-intel-tag,
.intro-studio-pane span {
  color: #0f766e;
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--mono);
}

.intro-intel-card p,
.intro-studio-pane p,
.intro-story-subfeature p {
  margin: 0;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.5;
}

.intro-story-visual--workspace {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.intro-studio-pane {
  display: grid;
  gap: 6px;
  min-height: 108px;
  padding: 12px 12px 11px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.88)),
    radial-gradient(circle at top right, rgba(56,189,248,0.12), transparent 50%);
}

.intro-studio-pane--report {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.88)),
    radial-gradient(circle at top right, rgba(16,185,129,0.14), transparent 48%);
}

.intro-studio-pane--checkpoint {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.88)),
    radial-gradient(circle at top right, rgba(59,130,246,0.14), transparent 48%);
}

.intro-studio-pane--mindmap {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.88)),
    radial-gradient(circle at top right, rgba(14,165,233,0.14), transparent 48%);
}

.intro-story-subfeatures {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.72);
  overflow: hidden;
}

.intro-story-subfeature {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border-right: 1px solid rgba(148, 163, 184, 0.14);
  background: transparent;
}

.intro-story-subfeature:last-child {
  border-right: none;
}

.intro-story-example {
  margin-top: 2px;
  padding: 12px 0 0 12px;
  border-radius: 0;
  border: none;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  background: transparent;
  color: #7b8794;
  font-size: 0.85rem;
  line-height: 1.55;
  font-weight: 600;
}

.showcase-board {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 24px;
  align-items: center;
  padding-top: 2px;
  padding-bottom: 36px;
}

.showcase-copy {
  display: grid;
  gap: 14px;
}

.showcase-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.showcase-stage {
  min-width: 0;
}

/* ── Intro metrics strip ── */
.intro-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 24px;
}

.intro-metric-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px;
}

.intro-metric-card strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--ink);
  margin: 6px 0 8px;
}

.intro-metric-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

/* ── Feature cards ── */
.home-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

.feature-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 28px 24px;
  transition: border-color 0.15s, transform 0.18s ease, box-shadow 0.18s ease;
}
.feature-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(11, 17, 16, 0.06);
}

.feature-eyebrow {
  font-size: 0.83rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  margin: 0 0 14px;
  font-family: "Space Grotesk", sans-serif;
}

.feature-card h3 {
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}

.feature-card p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
  font-size: 0.93rem;
}

.intro-layers {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

.intro-layer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.intro-layer-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,247,249,0.94));
  padding: 24px 22px;
  display: grid;
  gap: 10px;
  min-height: 210px;
  align-content: start;
  transition: border-color 0.15s, transform 0.18s ease, box-shadow 0.18s ease;
}

.intro-layer-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(11, 17, 16, 0.06);
}

.intro-layer-card h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.intro-layer-card p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.62;
}

@keyframes shot-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-20%); }
}

/* ── Primary & Outline buttons ── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  background: var(--ink);
  color: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: 0.93rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s;
  font-family: inherit;
}
.btn-primary:hover { opacity: 0.8; }
.btn-primary:disabled, .btn-primary.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 0.93rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  font-family: inherit;
}
.btn-outline:hover { background: var(--accent-soft); border-color: var(--line-strong); }
.btn-outline:disabled, .btn-outline.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 0.93rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}
.btn-ghost:hover { background: var(--accent-soft); }

.btn-block {
  width: 100%;
  margin-top: 4px;
}

/* ── Danger button ── */
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 20px;
  background: transparent;
  color: var(--error);
  border: 1px solid var(--error);
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  font-family: inherit;
}
.btn-danger:hover { background: rgba(248, 113, 113, 0.1); }
.btn-danger:disabled { opacity: 0.4; cursor: not-allowed; }

/* ── Password eye toggle ── */
.input-with-eye {
  position: relative;
  display: flex;
  align-items: center;
}
.input-with-eye input {
  flex: 1;
  padding-right: 40px;
}
.eye-btn {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--muted);
  padding: 4px;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.eye-btn:hover { color: var(--ink); }
.eye-btn svg { width: 18px; height: 18px; }
.eye-btn.is-visible line { display: block; }

/* ── Back button ── */
.brand-area {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: flex-start;
}

.back-btn {
  display: none !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s, color 0.15s;
  flex-shrink: 0;
}
.back-btn:hover { background: var(--accent-soft); color: var(--ink); }
.back-btn svg { width: 18px; height: 18px; }
.back-btn.hidden { display: none !important; }

/* ── Mypage danger zone ── */
.mypage-danger-zone {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

.mypage-danger-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 14px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.mypage-danger-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.mypage-danger-desc {
  margin: 12px 0 0;
  font-size: 0.90rem;
  color: var(--muted);
}

.delete-confirm {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--error);
  border-radius: 12px;
  background: rgba(248, 113, 113, 0.05);
}

.delete-confirm-msg {
  font-size: 0.9rem;
  color: var(--ink);
  margin: 0 0 12px;
}

.delete-confirm-actions {
  display: flex;
  gap: 10px;
}

/* ── Login Modal ── */
.login-modal-dialog {
  max-width: 440px;
  width: calc(100% - 40px);
  margin: auto;
  border-radius: 20px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(198, 210, 223, 0.72);
  box-shadow: 0 28px 70px rgba(16, 24, 40, 0.18);
}

.login-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 18px 0 24px;
}

.login-tabs {
  display: flex;
  gap: 2px;
  background: transparent;
  border-radius: 10px;
  padding: 3px;
  border: 1px solid var(--line);
  box-shadow: none;
}

.login-tab {
  padding: 6px 18px;
  border: none;
  background: transparent;
  color: var(--muted);
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  font-family: inherit;
}
.login-tab.is-active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: none;
}

.login-view {
  padding: 18px 24px 24px;
}
.login-view.hidden { display: none; }

.login-modal-dialog.is-password-mode .login-modal-head {
  justify-content: flex-end;
  padding: 14px 14px 0;
}

.login-modal-dialog.is-password-mode .login-view {
  padding-top: 10px;
}

.auth-form-inner {
  display: grid;
  gap: 10px;
}

.password-view-intro {
  margin-bottom: 14px;
  padding: 0 2px;
}

.password-view-eyebrow {
  margin: 0 0 8px;
  color: #2f6b41;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.password-view-title {
  margin: 0;
  color: var(--ink);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.password-view-copy {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.password-change-dialog {
  max-width: 560px;
  border-radius: 24px;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.password-change-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(203, 213, 225, 0.72);
}

.password-change-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-content: start;
  min-height: 18px;
}

.password-change-brand-symbol {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: #f8fafc;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.password-change-brand-symbol .brand-symbol-asset {
  width: 16px !important;
  height: 17px !important;
}

.password-change-brand-wordmark {
  display: flex;
  align-items: center;
  width: 96px;
  height: 18px;
}

.password-change-brand-wordmark .brand-wordmark-asset {
  width: 100% !important;
  height: auto !important;
}

.password-change-heading {
  min-width: 0;
  padding-top: 1px;
}

.password-change-close-btn {
  margin-top: 0;
}

.password-change-body {
  padding: 18px 20px 20px;
}

.password-change-panel {
  border: 1px solid rgba(203, 213, 225, 0.76);
  border-radius: 20px;
  background: #f8fafc;
  padding: 18px;
}

.password-change-form {
  gap: 14px;
}

.password-change-field {
  gap: 8px;
}

.password-change-field label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #475569;
  letter-spacing: 0.01em;
}

.password-change-form .input-with-eye input {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.34);
  background: #fff;
  color: #0f172a;
  padding-left: 14px;
  padding-right: 42px;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.password-change-form .input-with-eye input:focus {
  outline: none;
  border-color: #111827;
  box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.08);
}

.password-change-form .eye-btn {
  right: 12px;
}

.password-change-form #change-password-btn {
  min-height: 48px;
  margin-top: 2px;
  border-radius: 14px;
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
  font-weight: 700;
}

.password-change-form #change-password-btn:hover {
  background: #111827;
  border-color: #111827;
}

.password-change-feedback {
  margin-top: 2px;
}

.login-modal-footer {
  margin-top: 14px;
  text-align: center;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.auth-inline-copy {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted);
}

.auth-inline-divider {
  margin: 0 8px;
  color: #b6c1ce;
}

.auth-inline-link {
  margin-left: 6px;
  display: inline;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #2f6b41;
  box-shadow: none;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: inherit;
  letter-spacing: 0;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  vertical-align: baseline;
  appearance: none;
}

.auth-inline-link:hover {
  color: #214f30;
  text-decoration: underline;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.auth-inline-link--muted {
  margin-left: 0;
  color: #6b7280;
}

.auth-inline-link--muted:hover {
  color: #374151;
}

.login-modal-dialog .btn-primary,
.login-modal-dialog .btn-outline {
  box-shadow: none;
  transform: none;
}

.login-modal-dialog .btn-primary:hover,
.login-modal-dialog .btn-outline:hover {
  box-shadow: none;
  transform: none;
}

.login-modal-dialog .btn-outline {
  background: var(--surface);
}

.login-modal-dialog #login-submit-btn {
  background: #00a84d;
  border-color: #00a84d;
  color: #F5F5F5;
}

.login-modal-dialog #login-submit-btn:hover {
  opacity: 1;
  background: #00853d;
  border-color: #00853d;
}

.login-modal-dialog .auth-note {
  display: none;
}

.pwd-pane.hidden { display: none; }

/* ── Pricing page ── */
.pricing-page-head {
  padding: 36px 24px 44px;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}

.pricing-page-title {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--ink);
  margin: 0 0 16px;
}

.pricing-page-sub {
  color: var(--muted);
  font-size: 1.05rem;
  margin: 0;
}

.pricing-cards-section {
  padding: 0 24px 48px;
  max-width: 1100px;
  margin: 0 auto;
}

.pricing-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pricing-card-item {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: border-color 0.15s;
}
.pricing-card-item:hover { border-color: var(--line-strong); }

.pricing-card-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
}

.pricing-card-price {
  margin: 0;
}
.pricing-card-price-amount {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.03em;
  font-family: "Space Grotesk", sans-serif;
}
.pricing-card-price-period {
  font-size: 0.85rem;
  color: var(--muted);
  margin-left: 4px;
}

.pricing-card-credits {
  font-size: 0.88rem;
  color: var(--muted);
  margin: 0;
}

.pricing-card-billing-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 6px 0 0;
  padding: 3px 8px;
  border-radius: 20px;
  background: var(--surface-alt, rgba(63,102,77,0.07));
  border: 1px solid var(--line, rgba(0,0,0,0.08));
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.01em;
}

.pricing-card-btn {
  display: block;
  width: 100%;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.15s, background 0.15s;
  text-align: center;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--surface);
  margin-top: auto;
}
.pricing-card-btn:hover { opacity: 0.8; }
.pricing-card-btn.is-outline {
  background: transparent;
  color: var(--ink);
}
.pricing-card-btn:disabled, .pricing-card-btn.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.pricing-topup-section {
  padding: 0 24px 48px;
  max-width: 1100px;
  margin: 0 auto;
}

.pricing-topup-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}

.pricing-topup-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pricing-topup-item {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pricing-note-section {
  padding: 0 24px 60px;
  max-width: 1100px;
  margin: 0 auto;
}

.pricing-note-list {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  display: grid;
  gap: 6px;
}

.pricing-loading-text {
  color: var(--muted);
  font-size: 0.9rem;
  padding: 20px 0;
}

/* ── Footer ── */
.site-footer {
  background: var(--bg);
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 24px 16px;
  display: grid;
  gap: 10px;
  background: none;
  box-shadow: none;
  border-radius: 0;
}

.footer-top {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-app-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.footer-brand-symbol {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 34px;
  flex: 0 0 auto;
}

.footer-brand-wordmark {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 22px;
  flex: 0 0 auto;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}

.footer-links::-webkit-scrollbar {
  display: none;
}

.footer-link {
  min-width: max-content;
  display: inline-flex;
  justify-content: flex-start;
  background: none;
  border: none;
  box-shadow: none;
  padding: 2px 0;
  font-size: 0.90rem;
  color: var(--muted);
  cursor: pointer;
  border-radius: 0;
  transform: none;
  transition: color 0.15s;
  font-family: inherit;
  text-decoration: none;
}

.footer-link--app {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255,255,255,0.76);
  color: #334155;
}

.footer-link--app:hover {
  background: #ffffff;
  border-color: rgba(11, 17, 16, 0.14);
}
.footer-link:hover {
  color: var(--ink);
  background: none;
  box-shadow: none;
}

.footer-disclaimer {
  margin: 0;
  font-size: 0.85rem;
  color: var(--muted);
  line-height: 1.6;
  padding: 12px 0;
  border-top: none;
  border-bottom: none;
}

.footer-copy {
  margin: 0;
  font-size: 0.85rem;
  color: var(--muted);
}

/* ── 푸터 다크 테마 (항상 어둡게) ── */
.site-footer {
  background: #0a0a0c !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
}

.footer-disclaimer,
.footer-copy {
  color: rgba(255, 255, 255, 0.28) !important;
}

.footer-link {
  color: rgba(255, 255, 255, 0.4) !important;
}

.footer-link:hover {
  color: rgba(255, 255, 255, 0.75) !important;
}

.footer-link--app {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

.footer-link--app:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

/* 푸터 로고를 다크 배경에 맞게 반전 */
.footer-brand-symbol img,
.footer-brand-wordmark img {
  filter: brightness(0) invert(1);
  opacity: 0.65;
}

@media (max-width: 760px) {
  .footer-links {
    gap: 8px;
  }
}

/* ── Intro page ── */
.intro-hero .shell-hero {
  border-radius: 16px;
}

/* ── Dark mode overrides for new components ── */
[data-theme="dark"] .topbar {
  background: #0a0a0a;
  border-bottom-color: #272727;
}

[data-theme="dark"] .hero-trust span,
[data-theme="dark"] .showcase-points span,
[data-theme="dark"] .page-flow-pill,
[data-theme="dark"] .hero-stat,
[data-theme="dark"] .intro-summary-card,
[data-theme="dark"] .intro-flow-panel,
[data-theme="dark"] .capability-card,
[data-theme="dark"] .product-shot,
[data-theme="dark"] .product-shot-card,
[data-theme="dark"] .story-card,
[data-theme="dark"] .intro-service-metric,
[data-theme="dark"] .intro-architecture-card,
[data-theme="dark"] .intro-layer-card,
[data-theme="dark"] .feature-card,
[data-theme="dark"] .pricing-card-item,
[data-theme="dark"] .pricing-topup-item {
  background: #111111;
  border-color: #272727;
}
[data-theme="dark"] .hero-stat span,
[data-theme="dark"] .intro-compact-desc,
[data-theme="dark"] .intro-service-desc,
[data-theme="dark"] .intro-service-metric p,
[data-theme="dark"] .intro-architecture-card p,
[data-theme="dark"] .intro-summary-card p,
[data-theme="dark"] .intro-flow-head p,
[data-theme="dark"] .intro-flow-body p,
[data-theme="dark"] .capability-card p,
[data-theme="dark"] .story-card p,
[data-theme="dark"] .intro-layer-card p,
[data-theme="dark"] .shot-gauge p,
[data-theme="dark"] .shot-report-lines span,
[data-theme="dark"] .shot-signal-list li,
[data-theme="dark"] .shot-mini-kpis span,
[data-theme="dark"] .shot-macro-pill span,
[data-theme="dark"] .product-shot-chrome p,
[data-theme="dark"] .home-ribbon-track {
  color: #9ca3af;
}
[data-theme="dark"] .hero-trust span,
[data-theme="dark"] .showcase-points span,
[data-theme="dark"] .page-flow-pill,
[data-theme="dark"] .intro-compact-meta span,
[data-theme="dark"] .intro-flow-footer span,
[data-theme="dark"] .shot-mini-kpis span,
[data-theme="dark"] .shot-signal-list li,
[data-theme="dark"] .shot-macro-pill,
[data-theme="dark"] .product-shot-ticker {
  background: rgba(255,255,255,0.03);
}
[data-theme="dark"] .hero-stat strong,
[data-theme="dark"] .intro-compact-title,
[data-theme="dark"] .intro-service-title,
[data-theme="dark"] .intro-service-metric strong,
[data-theme="dark"] .intro-architecture-card h3,
[data-theme="dark"] .intro-summary-card strong,
[data-theme="dark"] .intro-flow-head strong,
[data-theme="dark"] .intro-flow-body strong,
[data-theme="dark"] .capability-card strong,
[data-theme="dark"] .story-card h3,
[data-theme="dark"] .intro-layer-card h3,
[data-theme="dark"] .shot-card-head strong,
[data-theme="dark"] .shot-mini-kpis strong,
[data-theme="dark"] .shot-signal-list strong,
[data-theme="dark"] .shot-macro-pill strong,
[data-theme="dark"] .shot-report-lines .is-strong {
  color: #f5f5f5;
}

[data-theme="dark"] .page-flow-pill:hover,
[data-theme="dark"] .footer-link--app:hover {
  background: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .page-flow-pill.is-current {
  background: linear-gradient(135deg, #F5F5F5, #F5F5F5);
  color: #0b1110;
}

[data-theme="dark"] .intro-story-card {
  background: rgba(14, 20, 31, 0.84);
  border-color: rgba(71, 85, 105, 0.34);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .intro-story-card .story-step {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(71, 85, 105, 0.34);
  color: #94a3b8;
}

[data-theme="dark"] .intro-story-visual,
[data-theme="dark"] .intro-visual-kpis span,
[data-theme="dark"] .intro-visual-meta span,
[data-theme="dark"] .intro-briefing-tabs span,
[data-theme="dark"] .intro-briefing-list article,
[data-theme="dark"] .intro-intel-card,
[data-theme="dark"] .intro-studio-pane,
[data-theme="dark"] .intro-story-subfeature {
  border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .intro-story-visual {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)),
    radial-gradient(circle at top right, rgba(16,185,129,0.12), transparent 44%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="dark"] .intro-visual-pill,
[data-theme="dark"] .intro-briefing-tabs span,
[data-theme="dark"] .intro-visual-kpis span,
[data-theme="dark"] .intro-visual-meta span,
[data-theme="dark"] .intro-briefing-list article,
[data-theme="dark"] .intro-intel-card,
[data-theme="dark"] .intro-story-subfeature {
  background: rgba(255,255,255,0.04);
  color: #F5F5F5;
}

[data-theme="dark"] .intro-visual-pill--positive,
[data-theme="dark"] .intro-briefing-tabs .is-active,
[data-theme="dark"] .intro-briefing-list article b {
  background: rgba(16,185,129,0.14);
  color: #6ee7b7;
}

[data-theme="dark"] .intro-studio-pane {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    linear-gradient(135deg, rgba(16,185,129,0.12), rgba(59,130,246,0.12));
}

[data-theme="dark"] .intro-briefing-list strong,
[data-theme="dark"] .intro-intel-card strong,
[data-theme="dark"] .intro-studio-pane strong,
[data-theme="dark"] .intro-story-subfeature strong,
[data-theme="dark"] .intro-visual-kpis strong {
  color: #F5F5F5;
}

[data-theme="dark"] .intro-visual-kicker,
[data-theme="dark"] .intro-visual-kpis em,
[data-theme="dark"] .intro-briefing-list article span,
[data-theme="dark"] .intro-intel-card p,
[data-theme="dark"] .intro-studio-pane p,
[data-theme="dark"] .intro-story-subfeature p {
  color: #94a3b8;
}

[data-theme="dark"] .intro-story-example {
  background: transparent;
  border-top-color: rgba(71, 85, 105, 0.34);
  border-left-color: rgba(45, 212, 191, 0.18);
  color: #94a3b8;
}

[data-theme="dark"] .intro-story-card::before {
  background: linear-gradient(90deg, rgba(71, 85, 105, 0), rgba(71, 85, 105, 0.42), rgba(71, 85, 105, 0));
}

[data-theme="dark"] .hero-stat::before,
[data-theme="dark"] .intro-summary-card::before,
[data-theme="dark"] .capability-card::before,
[data-theme="dark"] .product-shot-card::before {
  background: linear-gradient(90deg, rgba(45,212,191,0), rgba(45,212,191,0.3), rgba(96,165,250,0.24), rgba(45,212,191,0));
}

[data-theme="dark"] .intro-flow-panel::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
    radial-gradient(circle at top left, rgba(45,212,191,0.16), transparent 60%);
  border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .product-shot {
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

[data-theme="dark"] .shot-chip {
  background: rgba(255,255,255,0.05);
  color: #F5F5F5;
  border: 1px solid rgba(255,255,255,0.08);
}

[data-theme="dark"] .shot-chip--success {
  background: rgba(16,185,129,0.18);
  color: #d1fae5;
  border-color: rgba(16,185,129,0.24);
}
[data-theme="dark"] .shot-chart {
  background: linear-gradient(180deg, rgba(19,24,31,0.95), rgba(12,17,23,0.95));
}
[data-theme="dark"] .shot-chart-gridline {
  background:
    repeating-linear-gradient(to right, rgba(148,163,184,0.1), rgba(148,163,184,0.1) 1px, transparent 1px, transparent 56px),
    repeating-linear-gradient(to bottom, rgba(148,163,184,0.1), rgba(148,163,184,0.1) 1px, transparent 1px, transparent 44px);
}
[data-theme="dark"] .feature-card:hover,
[data-theme="dark"] .intro-layer-card:hover,
[data-theme="dark"] .pricing-card-item:hover {
  border-color: #383838;
}
[data-theme="dark"] .intro-flow-item {
  border-top-color: #272727;
}
[data-theme="dark"] .intro-flow-step {
  background: #f5f5f5;
  color: #111111;
}

[data-theme="dark"] .login-tabs {
  background: transparent;
  border-color: #272727;
  box-shadow: none;
}
[data-theme="dark"] .login-tab.is-active {
  background: #111111;
  box-shadow: none;
}
[data-theme="dark"] .login-modal-footer {
  border-top-color: #272727;
}
[data-theme="dark"] .auth-feedback {
  border-color: #2c3440;
  background: #161b21;
  color: #9fb0c3;
}
[data-theme="dark"] .auth-feedback.is-success {
  border-color: rgba(52, 209, 122, 0.22);
  background: rgba(18, 52, 30, 0.48);
  color: #8fe2ac;
}
[data-theme="dark"] .auth-feedback.is-error {
  border-color: rgba(201, 118, 110, 0.24);
  background: rgba(54, 25, 25, 0.42);
  color: #d7aaa3;
}
[data-theme="dark"] .auth-inline-copy {
  color: #9ca3af;
}
[data-theme="dark"] .auth-inline-divider {
  color: #4b5563;
}
[data-theme="dark"] .auth-inline-link {
  color: #9ed8b0;
  background: transparent;
  box-shadow: none;
}
[data-theme="dark"] .auth-inline-link:hover {
  color: #c3ead0;
  background: transparent;
  box-shadow: none;
}
[data-theme="dark"] .auth-inline-link--muted {
  color: #9ca3af;
}
[data-theme="dark"] .auth-inline-link--muted:hover {
  color: #d1d5db;
}
[data-theme="dark"] .login-modal-dialog .btn-primary,
[data-theme="dark"] .login-modal-dialog .btn-outline {
  box-shadow: none;
}
[data-theme="dark"] .login-modal-dialog {
  border-color: rgba(71, 85, 105, 0.82);
  box-shadow: 0 30px 72px rgba(0, 0, 0, 0.34);
}
[data-theme="dark"] .password-view-eyebrow { color: #8ec5a0; }
[data-theme="dark"] .password-view-title { color: var(--ink); }
[data-theme="dark"] .password-view-copy { color: #aab7c7; }
[data-theme="dark"] .password-change-head {
  border-bottom-color: rgba(71, 85, 105, 0.82);
}
[data-theme="dark"] .password-change-brand-symbol {
  border-color: rgba(71, 85, 105, 0.72);
  background: rgba(15, 23, 42, 0.72);
}
[data-theme="dark"] .password-change-panel {
  border-color: rgba(71, 85, 105, 0.82);
  background: rgba(15, 23, 42, 0.56);
}
[data-theme="dark"] .password-change-field label {
  color: #cbd5e1;
}
[data-theme="dark"] .password-change-form .input-with-eye input {
  border-color: rgba(100, 116, 139, 0.72);
  background: rgba(2, 6, 23, 0.86);
  color: #e5eef8;
}
[data-theme="dark"] .password-change-form .input-with-eye input:focus {
  border-color: #cbd5e1;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, 0.12);
}
[data-theme="dark"] .password-change-form #change-password-btn {
  background: #e2e8f0;
  border-color: #e2e8f0;
  color: #0f172a;
}
[data-theme="dark"] .password-change-form #change-password-btn:hover {
  background: #cbd5e1;
  border-color: #cbd5e1;
}

@media (max-width: 640px) {
  .password-change-head {
    padding: 16px 16px 12px;
  }

  .password-change-body {
    padding: 16px;
  }

  .password-change-brand-wordmark {
    width: 88px;
    height: 16px;
  }
}
[data-theme="dark"] .login-modal-dialog #login-submit-btn {
  background: #00a84d;
  border-color: #00a84d;
  color: #F5F5F5;
}
[data-theme="dark"] .login-modal-dialog #login-submit-btn:hover {
  background: #00853d;
  border-color: #00853d;
}
[data-theme="dark"] .panel-chip-btn {
  background: rgba(20, 26, 36, 0.88);
  border-color: rgba(148, 163, 184, 0.16);
  color: #b4c0cf;
}
[data-theme="dark"] .panel-chip-btn:hover {
  background: rgba(28, 35, 47, 0.96);
  border-color: rgba(148, 163, 184, 0.26);
  color: #f3f6fb;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
}
[data-theme="dark"] .panel-chip-btn:focus-visible {
  border-color: rgba(125, 211, 252, 0.34);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.12);
}
[data-theme="dark"] .cp-refresh-btn {
  background: rgba(20, 26, 36, 0.88) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
  color: #b4c0cf !important;
}
[data-theme="dark"] .cp-refresh-btn:hover {
  background: rgba(28, 35, 47, 0.96) !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
  color: #f3f6fb !important;
}
[data-theme="dark"] .analyze-btn-row #submit-btn,
[data-theme="dark"] .analysis-cta-btn {
  background: transparent;
  border-color: #149146;
  color: #7ee0a4;
}
[data-theme="dark"] .analyze-btn-row #submit-btn:hover,
[data-theme="dark"] .analysis-cta-btn:hover {
  background: rgba(21, 153, 71, 0.12);
  border-color: #21b458;
  color: #9ae6b4;
}
[data-theme="dark"] .analyze-btn-row #submit-btn:disabled,
[data-theme="dark"] .analysis-cta-btn:disabled {
  background: linear-gradient(180deg, #435062 0%, #364253 100%);
  border-color: #4b586a;
  color: rgba(248, 250, 252, 0.72);
}

[data-theme="dark"] .analysis-inline-feedback {
  color: #8fd0a8;
}

[data-theme="dark"] .analysis-inline-feedback.is-warning {
  color: #ff8e7f;
}

[data-theme="dark"] .site-footer {
  background: var(--bg);
  border: none;
  box-shadow: none;
}

[data-theme="dark"] .footer-link--app {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .btn-login {
  background: #0a0a0a;
  color: #f5f5f5;
  border-color: #f5f5f5;
}

[data-theme="dark"] .btn-signup {
  background: #f5f5f5;
  color: #0a0a0a;
  border-color: #f5f5f5;
}

[data-theme="dark"] .btn-primary {
  background: #f5f5f5;
  color: #0a0a0a;
  border-color: #f5f5f5;
}

[data-theme="dark"] .btn-outline {
  color: #f5f5f5;
  border-color: #383838;
}
[data-theme="dark"] .btn-outline:hover {
  background: #1c1c1c;
}

[data-theme="dark"] .pricing-card-btn {
  background: #f5f5f5;
  color: #0a0a0a;
  border-color: #f5f5f5;
}
[data-theme="dark"] .pricing-card-btn.is-outline {
  background: transparent;
  color: #f5f5f5;
  border-color: #383838;
}

[data-theme="dark"] .btn-ghost {
  color: #f5f5f5;
  border-color: #383838;
}
[data-theme="dark"] .btn-ghost:hover {
  background: #1c1c1c;
}

[data-theme="dark"] .btn-ghost-sm {
  color: #f5f5f5;
  border-color: #383838;
  background: transparent;
}
[data-theme="dark"] .btn-ghost-sm:hover {
  background: #1c1c1c;
  border-color: var(--muted);
}

[data-theme="dark"] .btn-primary-sm {
  background: #f5f5f5;
  color: #0a0a0a;
}

[data-theme="dark"] .mypage-panel,
[data-theme="dark"] .mypage-col {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .mypage-field input,
[data-theme="dark"] .mypage-field select {
  background: var(--surface-strong);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .mypage-action-btn {
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .mypage-action-btn:hover { background: var(--surface-strong); }
[data-theme="dark"] .mypage-action-btn--primary { background: var(--ink); color: var(--bg); }
[data-theme="dark"] .mypage-icon-btn { border-color: var(--line); color: var(--muted); }
[data-theme="dark"] .mypage-icon-btn:hover { color: var(--ink); border-color: var(--ink); }

[data-theme="dark"] .intro-metric-card {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .footer-link {
  color: var(--muted);
  background: none;
  border-color: transparent;
}
[data-theme="dark"] .footer-link:hover {
  color: var(--ink);
  background: none;
  border-color: transparent;
}

/* ── My Page (redesigned) ── */
.mypage-layout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px 80px;
  display: grid;
  gap: 32px;
}

.mypage-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.mypage-eyebrow {
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

.mypage-heading {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0;
  line-height: 1.1;
}

.mypage-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.mypage-col {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  display: grid;
  gap: 16px;
  align-content: start;
}

.mypage-col-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.mypage-col-label {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}

.mypage-col-actions {
  display: flex;
  gap: 6px;
}

.mypage-icon-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
  color: var(--muted);
  transition: color 0.15s, border-color 0.15s;
}
.mypage-icon-btn svg { width: 15px; height: 15px; }
.mypage-icon-btn:hover { color: var(--ink); border-color: var(--ink); }

.mypage-action-btn {
  font-size: 0.85rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 7px;
  border: 1px solid var(--line);
  background: none;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.mypage-action-btn:hover { background: var(--accent-soft); border-color: var(--line-strong); }
.mypage-action-btn--primary { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.mypage-action-btn--primary:hover { opacity: 0.85; background: var(--ink); }
.mypage-action-btn--danger { color: #dc2626; border-color: #fca5a5; }
.mypage-action-btn--danger:hover { background: #fef2f2; border-color: #dc2626; }

.mypage-alert-form {
  display: grid;
  gap: 10px;
}

.mypage-field {
  display: grid;
  gap: 5px;
}
.mypage-field label {
  font-size: 0.87rem;
  font-weight: 600;
  color: var(--muted);
}
.mypage-field input,
.mypage-field select {
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
  color: var(--ink);
  font-size: 0.85rem;
  outline: none;
  transition: border-color 0.15s;
}
.mypage-field input:focus,
.mypage-field select:focus { border-color: var(--ink); }

.mypage-field-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.mypage-field-row--footer {
  grid-template-columns: 1fr auto auto;
  align-items: end;
  gap: 10px;
}

.mypage-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--muted);
  white-space: nowrap;
  padding-bottom: 7px;
}
.mypage-toggle input { accent-color: var(--ink); width: 14px; height: 14px; }

.mypage-watchlist {
  display: grid;
  gap: 8px;
}

.mypage-watchlist-label {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}

.mypage-live-quote {
  font-size: 0.87rem;
  color: var(--muted);
  margin: 0;
}

.mypage-account-row {
  padding-top: 24px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
}

.mypage-account-actions {
  display: flex;
  gap: 8px;
}

.mypage-account-note {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 0;
}

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

.btn-primary-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 8px;
  border: none;
  background: var(--accent);
  color: var(--bg);
  font-size: 0.90rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.15s;
}
.btn-primary-sm:hover { opacity: 0.85; }

.btn-ghost-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-size: 0.90rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.15s, background 0.15s;
}
.btn-ghost-sm:hover { border-color: var(--line-strong); background: var(--accent-soft); }

/* ── Responsive ── */
@media (max-width: 1120px) {
  .hero-grid,
  .showcase-board {
    grid-template-columns: 1fr;
  }
  .hero--home .hero-stage {
    order: -1;
    padding-left: 0;
  }
  .hero-stage,
  .showcase-stage {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
  }
  .page-flow-strip {
    justify-content: flex-start;
  }
  .capability-stack--home {
    grid-template-columns: 1fr;
  }
  .capability-stack--home .capability-card--emphasis {
    grid-column: auto;
  }

}
@media (max-width: 900px) {
  .product-shot-grid,
  .product-shot-bottom,
  .story-grid,
  .home-features,
  .pricing-cards,
  .pricing-topup-cards,
  .mypage-grid,
  .intro-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mypage-form-row {
    grid-template-columns: 1fr;
  }
  .hero-stat-row {
    grid-template-columns: 1fr;
  }
  .intro-service-strip,
  .intro-capture-grid,
  .intro-architecture-grid {
    grid-template-columns: 1fr;
  }
  .intro-compact-title {
    font-size: clamp(2rem, 7vw, 3rem);
  }
  .intro-flow-panel {
    padding: 24px;
  }

  .hero-stat {
    grid-template-columns: 1fr;
    gap: 5px;
    align-items: start;
  }

  .hero-stat strong,
  .hero-stat span {
    white-space: normal;
  }

  .hero--home .hero-slider-meta {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .hero--home .hero-slider-meta strong {
    white-space: normal;
  }
}
@media (max-width: 600px) {
  .product-shot-grid,
  .product-shot-bottom,
  .product-shot-side,
  .home-features,
  .pricing-cards,
  .pricing-topup-cards,
  .mypage-grid,
  .story-grid,
  .intro-capture-tool-grid,
  .intro-capture-metric-grid {
    grid-template-columns: 1fr;
  }
  .topbar .primary-nav {
    display: none;
  }
  .hero { padding: 64px 20px 48px; }
  .hero--showcase {
    padding: 52px 18px 36px;
  }
  .hero--home {
    padding-top: 50px;
  }
  .hero-grid {
    gap: 22px;
  }
  .hero-slider-stage {
    min-height: 360px;
  }
  .hero-slider-caption {
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 13px 14px;
    border-radius: 18px;
  }
  .hero-slider-caption strong {
    font-size: 1rem;
  }
  .hero-slider-caption p {
    font-size: 0.87rem;
  }
  .hero-title { font-size: 2.2rem; }
  .intro-compact {
    padding: 30px 20px 16px;
    gap: 16px;
  }
  .intro-compact-title {
    font-size: clamp(1.85rem, 9vw, 2.4rem);
  }
  .intro-service {
    padding: 28px 20px 18px;
    gap: 18px;
  }
  .intro-service-strip--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .intro-service-title {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
  }
  .hero-trust,
  .showcase-points {
    gap: 8px;
  }
  .intro-flow-panel {
    padding: 22px 18px;
    border-radius: 24px;
  }
  .intro-flow-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .product-shot {
    border-radius: 22px;
    padding: 14px;
  }
  .product-shot-card {
    border-radius: 18px;
    padding: 14px;
  }
  .shot-chart {
    min-height: 160px;
  }
  .section-heading h2,
  .showcase-copy h2 {
    font-size: 1.9rem;
  }
  .home-ribbon,
  .story-section,
  .showcase-board,
  .intro-layers {
    padding-left: 20px;
    padding-right: 20px;
  }
  .footer-copy { margin: 0; }
}

/* ── 탑바 테두리 강화 (플로팅 제거) ── */
.topbar {
  border-bottom: 1px solid var(--line-strong);
  box-shadow: 0 1px 0 var(--line);
}


/* 헤더 크레딧 칩 */
.header-credit-chip {
  display: none;
  align-items: center;
  gap: 5px;
  font-size: 0.87rem;
  font-weight: 700;
  color: #00a84d;
  background: color-mix(in srgb, #00a84d 10%, transparent);
  border: 1px solid color-mix(in srgb, #00a84d 30%, transparent);
  border-radius: 20px;
  padding: 4px 11px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.header-credit-chip:not(.hidden) { display: inline-flex; }
[data-theme="dark"] .header-credit-chip {
  color: #00e07a;
  background: color-mix(in srgb, #00e07a 10%, transparent);
  border-color: color-mix(in srgb, #00e07a 25%, transparent);
}

/* 아바타 버튼 */
.header-avatar-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--surface);
  border: none;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s;
}
.header-avatar-btn:not(.hidden):not(:empty) {
  display: inline-flex;
}
.header-avatar-btn:hover { opacity: 0.8; }

/* 다크모드 탑바 */
[data-theme="dark"] .topbar {
  border-bottom-color: var(--line-strong);
  box-shadow: 0 1px 0 #272727;
}

/* ── Premium workspace / topbar refinement ── */
.primary-nav .nav-pill {
  border: 1px solid transparent;
  border-radius: 16px;
  padding: 11px 18px;
  font-weight: 650;
  letter-spacing: -0.01em;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.primary-nav .nav-pill:hover {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.56);
  border-color: rgba(11, 17, 16, 0.06);
}

.primary-nav .nav-pill.is-active {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(11, 17, 16, 0.08);
  box-shadow:
    0 18px 40px rgba(11, 17, 16, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.topbar-end .btn-ghost-sm {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 16px;
  border-color: rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 14px 34px rgba(148, 163, 184, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  font-weight: 650;
}

.topbar-end .btn-ghost-sm:hover {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(11, 17, 16, 0.14);
}

/* ── Header Seed Chip ── */
.header-seed-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
  transition: opacity 0.15s;
  color: #111827;
}
.header-seed-chip.hidden { display: none; }
.header-seed-chip:hover { opacity: 0.7; }
.header-seed-icon { font-size: 0.88rem; line-height: 1; }
.header-seed-count {
  font-variant-numeric: tabular-nums;
  font-size: 0.88rem;
  font-weight: 700;
  color: #111827 !important;
  letter-spacing: -0.01em;
}
button.header-seed-chip,
button.header-seed-chip .header-seed-count { color: #111827 !important; }
[data-theme="dark"] button.header-seed-chip,
[data-theme="dark"] button.header-seed-chip .header-seed-count { color: #111827 !important; }

.mypage-layout {
  max-width: 1220px;
  padding: 52px 28px 96px;
  gap: 36px;
}

.mypage-header {
  align-items: flex-end;
  gap: 24px;
  padding-bottom: 28px;
}

.mypage-subcopy {
  margin: 14px 0 0;
  max-width: 620px;
  font-size: 1rem;
  line-height: 1.7;
  color: #66758a;
}

.mypage-header-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.mypage-toolbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.84);
  color: var(--ink);
  box-shadow:
    0 18px 40px rgba(11, 17, 16, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  font-size: 0.86rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.18s, background 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.mypage-toolbar-btn svg {
  width: 16px;
  height: 16px;
}

.mypage-toolbar-btn:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(11, 17, 16, 0.14);
  box-shadow:
    0 22px 44px rgba(11, 17, 16, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.mypage-cols {
  gap: 24px;
}

.mypage-col {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 28px;
  gap: 20px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(11, 17, 16, 0.05), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.98));
  box-shadow:
    0 24px 60px rgba(11, 17, 16, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.mypage-col-head {
  align-items: flex-start;
}

.mypage-col-label {
  font-size: 0.83rem;
  letter-spacing: 0.14em;
  color: #728197;
}

.mypage-col-actions {
  gap: 10px;
  flex-wrap: wrap;
}

.mypage-action-btn {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.76);
  box-shadow:
    0 14px 30px rgba(11, 17, 16, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
  font-size: 0.87rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  transition: transform 0.18s, background 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.mypage-action-btn:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(11, 17, 16, 0.14);
  box-shadow:
    0 18px 34px rgba(11, 17, 16, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.mypage-action-btn--primary {
  background: #111111;
  color: #F5F5F5;
  border-color: #111111;
  box-shadow: 0 20px 44px rgba(11, 17, 16, 0.18);
}

.mypage-action-btn--primary:hover {
  background: #050505;
  border-color: #050505;
  opacity: 1;
}

.mypage-action-btn--danger {
  color: #8f1d1d;
  border-color: rgba(185, 28, 28, 0.18);
  background: rgba(255, 255, 255, 0.78);
}

.mypage-action-btn--danger:hover {
  background: rgba(254, 242, 242, 0.96);
  border-color: rgba(185, 28, 28, 0.3);
}

.mypage-field label,
.mypage-watchlist-label {
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #728197;
}

.mypage-field input,
.mypage-field select {
  height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border-color: rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  font-size: 0.92rem;
}

.mypage-field input:focus,
.mypage-field select:focus {
  border-color: rgba(11, 17, 16, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 0 0 4px rgba(11, 17, 16, 0.05);
}

.mypage-field-row--footer {
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: 12px;
}

.mypage-toggle {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.72);
  color: #516174;
}

.mypage-watchlist {
  gap: 12px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.62);
}

.watchlist-list {
  gap: 10px;
  max-height: 220px;
}

.watchlist-item {
  padding: 14px 16px;
  border-radius: 18px;
  border-color: rgba(11, 17, 16, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.watchlist-main {
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}

.watchlist-sub,
.mypage-live-quote {
  color: #627488;
}

.watchlist-remove {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 11px;
  border-color: rgba(185, 28, 28, 0.18);
  background: rgba(254, 242, 242, 0.72);
  color: #8f1d1d;
}

.my-reports-list {
  gap: 12px;
  width: 100%;
}

.my-reports-list.is-empty {
  gap: 0;
}

.my-reports-item {
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 22px;
  border-color: rgba(11, 17, 16, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.my-reports-info {
  gap: 6px;
}

.my-reports-info strong {
  font-size: 1rem;
  color: #102033;
  letter-spacing: -0.02em;
}

.my-reports-meta {
  color: #627488;
  font-size: 0.90rem;
}

.my-reports-actions {
  gap: 8px;
}

.my-reports-actions .ghost-btn {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  font-size: 0.87rem;
  font-weight: 650;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.my-reports-actions .ghost-btn:hover {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(11, 17, 16, 0.14);
}

.my-reports-empty {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 22px;
  border: 1px dashed rgba(11, 17, 16, 0.12);
  background: rgba(255, 255, 255, 0.52);
  color: #75859a;
  text-align: center;
}

.alert-log {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
  max-height: 180px;
}

.alert-log li {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.68);
}

.mypage-account-row {
  padding-top: 0;
  border-top: none;
  gap: 14px;
}

.mypage-account-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: end;
  padding: 28px;
  border-radius: 30px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(11, 17, 16, 0.05), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
  box-shadow:
    0 26px 60px rgba(11, 17, 16, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.mypage-account-copy {
  display: grid;
  gap: 10px;
}

.mypage-account-label {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #728197;
}

.mypage-account-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.3vw, 1.65rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #101828;
}

.mypage-account-actions {
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mypage-account-note {
  max-width: 620px;
  font-size: 0.9rem;
  line-height: 1.65;
  color: #627488;
}

.delete-confirm {
  margin-top: 0;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(185, 28, 28, 0.16);
  background: linear-gradient(180deg, rgba(254, 242, 242, 0.84), rgba(255, 255, 255, 0.96));
}

.delete-confirm-msg {
  margin-bottom: 14px;
}

.delete-confirm-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

[data-theme="dark"] .primary-nav .nav-pill:hover,
[data-theme="dark"] .primary-nav .nav-pill.is-active {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .topbar-end .btn-ghost-sm,
[data-theme="dark"] .mypage-toolbar-btn,
[data-theme="dark"] .mypage-action-btn,
[data-theme="dark"] .my-reports-actions .ghost-btn,
[data-theme="dark"] .mypage-toggle,
[data-theme="dark"] .alert-log li {
  background: rgba(17, 24, 39, 0.76);
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--ink);
  box-shadow: none;
}


[data-theme="dark"] .mypage-col,
[data-theme="dark"] .mypage-account-shell,
[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .watchlist-item,
[data-theme="dark"] .mypage-watchlist,
[data-theme="dark"] .my-reports-empty {
  background: rgba(11, 17, 16, 0.76);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .mypage-subcopy,
[data-theme="dark"] .mypage-account-note,
[data-theme="dark"] .my-reports-meta,
[data-theme="dark"] .watchlist-sub,
[data-theme="dark"] .mypage-live-quote {
  color: var(--muted);
}

[data-theme="dark"] .mypage-field input,
[data-theme="dark"] .mypage-field select {
  background: rgba(11, 17, 16, 0.9);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .delete-confirm {
  background: rgba(69, 10, 10, 0.45);
  border-color: rgba(248, 113, 113, 0.2);
}

@media (max-width: 980px) {
  .mypage-cols,
  .mypage-account-shell {
    grid-template-columns: 1fr;
  }

  .mypage-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .mypage-header-actions,
  .mypage-account-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .mypage-layout {
    padding: 34px 20px 76px;
  }

  .mypage-col {
    padding: 22px;
    border-radius: 24px;
  }

  .mypage-toolbar-btn,
  .mypage-action-btn {
    width: 100%;
    justify-content: center;
  }

  .mypage-col-actions,
  .mypage-account-actions,
  .delete-confirm-actions,
  .my-reports-actions {
    width: 100%;
  }

  .mypage-col-actions,
  .mypage-account-actions,
  .delete-confirm-actions {
    flex-direction: column;
  }

  .mypage-field-row,
  .mypage-field-row--footer {
    grid-template-columns: 1fr;
  }

  .my-reports-item {
    flex-direction: column;
  }

  .my-reports-actions {
    justify-content: stretch;
  }

  .my-reports-actions .ghost-btn {
    flex: 1 1 0;
  }
}

/* ── Eleven-style mypage refinement ── */
.primary-nav .nav-pill {
  padding: 10px 18px;
  border-radius: 18px;
  border: 1px solid transparent;
  background: transparent;
  color: #161616;
  font-size: 0.98rem;
  font-weight: 560;
  letter-spacing: -0.015em;
  box-shadow: none;
}

.primary-nav .nav-pill:hover {
  background: rgba(17, 17, 17, 0.04);
  color: #111111;
  border-color: transparent;
}

.primary-nav .nav-pill.is-active {
  background: #eceae6;
  color: #111111;
  border-color: transparent;
  box-shadow: none;
}

.topbar-end .btn-ghost-sm {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid #ddd8d1;
  background: #fffdf9;
  color: #111111;
  font-size: 0.96rem;
  font-weight: 560;
  box-shadow: none;
}

.topbar-end .btn-ghost-sm:hover {
  background: #ffffff;
  border-color: #cfc9c1;
}

.mypage-layout {
  max-width: 1260px;
  padding: 56px 32px 110px;
  gap: 42px;
}

.mypage-header {
  padding-bottom: 34px;
  border-bottom: 1px solid #e5e0d8;
}

.mypage-eyebrow,
.mypage-col-label,
.mypage-field label,
.mypage-watchlist-label,
.mypage-account-label {
  color: #8b847b;
}

.mypage-heading {
  font-size: clamp(2.9rem, 6vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
  font-weight: 520;
  color: #111111;
}

.mypage-subcopy {
  margin-top: 18px;
  max-width: 540px;
  font-size: 1.02rem;
  line-height: 1.72;
  color: #6d675f;
}

.mypage-header-actions {
  align-self: flex-start;
  padding-top: 6px;
}

.mypage-toolbar-btn {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #ddd8d1;
  background: #fffdf9;
  color: #111111;
  box-shadow: none;
  font-size: 0.92rem;
  font-weight: 560;
}

.mypage-toolbar-btn:hover {
  transform: none;
  background: #ffffff;
  border-color: #cbc5bc;
  box-shadow: none;
}

.mypage-cols {
  gap: 26px;
}

.mypage-col {
  padding: 28px 26px 26px;
  border-radius: 30px;
  border: 1px solid #e3ded7;
  background: #f7f5f1;
  box-shadow: none;
}

.mypage-col-head {
  margin-bottom: 4px;
}

.mypage-col-label {
  font-size: 0.87rem;
  letter-spacing: 0.13em;
}

.mypage-action-btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #ddd8d1;
  background: #fffdf9;
  color: #111111;
  box-shadow: none;
  font-size: 0.88rem;
  font-weight: 560;
}

.mypage-action-btn:hover {
  transform: none;
  background: #ffffff;
  border-color: #cbc5bc;
  box-shadow: none;
}

.mypage-action-btn--primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
  box-shadow: none;
}

.mypage-action-btn--primary:hover {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
}

.mypage-action-btn--danger {
  background: transparent;
  color: #a63d34;
  border-color: #e7c7c3;
}

.mypage-action-btn--danger:hover {
  background: #fdf4f3;
  border-color: #ddb2ad;
}

.mypage-action-btn--danger-subtle {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 14px;
  font-size: 0.85rem;
  font-weight: 700;
}

.mypage-field input,
.mypage-field select {
  height: 44px;
  border-radius: 14px;
  border: 1px solid #ddd8d1;
  background: #fbfaf7;
  color: #111111;
  box-shadow: none;
}

.mypage-field input:focus,
.mypage-field select:focus {
  border-color: #111111;
  box-shadow: none;
}

.mypage-toggle {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid #e1dcd5;
  background: #fbfaf7;
  color: #5f5952;
}

.mypage-watchlist {
  padding: 16px;
  border-radius: 22px;
  border: 1px solid #e3ded7;
  background: #fbfaf7;
  box-shadow: none;
}

.watchlist-item {
  border-radius: 18px;
  border: 1px solid #e1dcd5;
  background: #ffffff;
  box-shadow: none;
}

.watchlist-remove {
  border-radius: 999px;
  border: 1px solid #e7c7c3;
  background: #fffdfc;
  color: #9d3a33;
}

.watchlist-remove:hover {
  background: #fdf4f3;
}

.my-reports-item {
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid #e1dcd5;
  background: #ffffff;
  box-shadow: none;
}

.my-reports-info strong {
  font-size: 1.02rem;
  font-weight: 560;
  letter-spacing: -0.025em;
  color: #111111;
}

.my-reports-meta,
.watchlist-sub,
.mypage-live-quote,
.mypage-account-note {
  color: #6e685f;
}

.my-reports-actions .ghost-btn {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid #ddd8d1;
  background: #fffdf9;
  box-shadow: none;
  font-size: 0.87rem;
  font-weight: 560;
}

.my-reports-actions .ghost-btn:hover {
  background: #ffffff;
  border-color: #cbc5bc;
}

.my-reports-empty {
  min-height: 240px;
  border-radius: 24px;
  border: 1px solid #e3ded7;
  background: #fbfaf7;
  color: #8a837a;
}

.alert-log li {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #e3ded7;
  background: #fbfaf7;
}

.mypage-account-row {
  gap: 16px;
}

.mypage-account-shell {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 30px 32px;
  border-radius: 32px;
  border: 1px solid #e3ded7;
  background: #f7f5f1;
  box-shadow: none;
}

.mypage-account-copy {
  gap: 12px;
}

.mypage-account-title {
  font-size: clamp(1.6rem, 2.8vw, 2.5rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 520;
  color: #111111;
}

.mypage-account-actions {
  gap: 12px;
}

#mypage-logout-btn {
  background: var(--surface, #ffffff);
  border: 1px solid var(--line, #F5F5F5);
  color: var(--ink, #111111);
}

#mypage-logout-btn:hover {
  background: var(--surface-dim, #F5F5F5);
  border-color: var(--line-strong, #F5F5F5);
}

[data-theme="dark"] #mypage-logout-btn {
  background: var(--surface, #1e293b);
  border-color: var(--line, #334155);
  color: var(--ink, #F5F5F5);
}

[data-theme="dark"] #mypage-logout-btn:hover {
  background: var(--surface-strong, #334155);
  border-color: var(--line-strong, #F5F5F5);
}

#delete-account-btn,
#delete-account-confirm-btn {
  color: #a63d34;
  border-color: #e7c7c3;
  background: #fffdfc;
}

#delete-account-btn:hover,
#delete-account-confirm-btn:hover {
  background: #fdf4f3;
  border-color: #ddb2ad;
}

.mypg-delete-btn {
  flex: 0 0 auto;
  align-self: center;
  min-height: 32px;
  padding: 0 10px;
  border: none;
  background: transparent;
  color: #8f1d1d;
  font-size: 0.87rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.mypg-delete-btn:hover {
  background: transparent;
  border: none;
  color: #b42318;
  text-decoration: underline;
}

#delete-account-btn.mypg-delete-btn {
  min-height: 32px;
  padding: 0 10px;
  border: none;
  background: transparent;
  color: #8f1d1d;
  box-shadow: none;
}

#delete-account-btn.mypg-delete-btn:hover {
  background: transparent;
  border: none;
  color: #b42318;
}

.delete-confirm {
  padding: 18px 20px;
  border-radius: 24px;
  border: 1px solid #ead0cc;
  background: #fbf4f3;
}

.delete-confirm-msg {
  font-size: 0.92rem;
  color: #3f2e2d;
}

[data-theme="dark"] .primary-nav .nav-pill {
  color: var(--ink);
}

[data-theme="dark"] .primary-nav .nav-pill.is-active,
[data-theme="dark"] .primary-nav .nav-pill:hover {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .topbar-end .btn-ghost-sm,
[data-theme="dark"] .mypage-toolbar-btn,
[data-theme="dark"] .mypage-action-btn,
[data-theme="dark"] .my-reports-actions .ghost-btn,
[data-theme="dark"] .watchlist-remove {
  background: rgba(20, 20, 20, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

[data-theme="dark"] .mypage-col,
[data-theme="dark"] .mypage-account-shell,
[data-theme="dark"] .mypage-watchlist,
[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .my-reports-empty,
[data-theme="dark"] .watchlist-item,
[data-theme="dark"] .alert-log li,
[data-theme="dark"] .delete-confirm {
  background: #161616;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .mypage-field input,
[data-theme="dark"] .mypage-field select,
[data-theme="dark"] .mypage-toggle {
  background: #101010;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .mypage-subcopy,
[data-theme="dark"] .my-reports-meta,
[data-theme="dark"] .watchlist-sub,
[data-theme="dark"] .mypage-live-quote,
[data-theme="dark"] .mypage-account-note {
  color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 980px) {
  .mypage-heading {
    font-size: clamp(2.4rem, 8vw, 4rem);
  }

  .mypage-account-shell {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 640px) {
  .mypage-layout {
    padding: 34px 20px 84px;
  }

  .mypage-col,
  .mypage-account-shell {
    padding: 22px;
    border-radius: 24px;
  }

  .topbar-end .btn-ghost-sm,
  .mypage-toolbar-btn,
  .mypage-action-btn {
    width: 100%;
  }
}

/* 2026-03-12 readability and layout expansion */
.hero--showcase,
.hero--home,
.intro-summary,
.home-features,
.pricing-page-head,
.pricing-cards-section,
.pricing-topup-section,
.pricing-note-section,
.mypage-layout {
  max-width: 1480px;
}

.hero--showcase {
  padding: 76px 40px 54px;
}

.hero--home {
  padding: 76px 40px 40px;
}

.hero--home .hero-grid {
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}

.hero--home .hero-copy {
  max-width: 1120px;
}

.hero--home .hero-copy--minimal {
  max-width: 700px;
}

.hero--home .hero-title {
  color: #162033;
  letter-spacing: -0.05em;
  max-width: 1080px;
  font-size: clamp(3rem, 4.45vw, 4.7rem);
}

.hero--home .hero-title--minimal {
  max-width: 11ch;
  font-size: clamp(2.8rem, 4.2vw, 4.3rem);
  line-height: 1.02;
}


.hero--home .hero-desc {
  color: #6b7280;
  max-width: 940px;
}

.hero--home .hero-stat {
  border-color: rgba(95, 166, 118, 0.18);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.hero--home .hero-stat strong {
  color: #173124;
}

.hero--home .hero-stat span {
  color: #5f6f65;
}

.hero--home .btn-primary {
  background: #ffffff;
  border-color: rgba(11, 17, 16, 0.12);
  color: #111111;
  box-shadow: none;
}

.hero--home .btn-primary:hover {
  opacity: 1;
  background: #fbfbfb;
  border-color: rgba(11, 17, 16, 0.2);
}

.hero--home .hero-stage {
  order: 2;
  padding-top: 14px;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}

.hero--home .product-shot--home-hero {
  max-width: none;
  margin-left: 0;
}

.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 58px;
}

.hero-copy {
  gap: 24px;
  max-width: 980px;
}

.hero-eyebrow {
  font-size: 0.90rem;
  margin-bottom: 18px;
}

.hero-title {
  font-size: clamp(3rem, 5vw, 4.9rem);
  text-wrap: balance;
}

.hero-desc,
.hero--intro .hero-desc,
.hero-copy--center .hero-desc {
  max-width: 920px;
  font-size: 1.18rem;
  line-height: 1.76;
  text-wrap: pretty;
}

.hero-trust span,
.showcase-points span {
  font-size: 0.98rem;
}

.hero--home .hero-trust {
  gap: 8px 10px;
}

.hero--home .hero-trust span {
  min-height: 30px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #4e7a5d;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  backdrop-filter: none;
}

.hero--home .hero-trust span::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.7);
  flex: 0 0 auto;
}

.hero--home .hero-stat-row {
  gap: 0;
}

.hero--home .hero-stat::before {
  display: none;
}

[data-theme="dark"] .hero--home .hero-eyebrow,
[data-theme="dark"] .hero--home .hero-title,
[data-theme="dark"] .hero--home .hero-desc {
  color: #F5F5F5;
}

[data-theme="dark"] .hero-title--minimal {
  color: #F5F5F5;
}

[data-theme="dark"] .hero--home .hero-desc {
  color: #F5F5F5;
}

[data-theme="dark"] .hero--home .hero-stat {
  border-color: rgba(74, 222, 128, 0.16);
  background: transparent;
  box-shadow: none;
}

[data-theme="dark"] .hero--home .hero-stat strong {
  color: #F5F5F5;
}

[data-theme="dark"] .hero--home .hero-stat span {
  color: #9ca3af;
}

[data-theme="dark"] .hero--home .hero-trust span {
  color: #b7d8c3;
}

[data-theme="dark"] .hero--home .hero-trust span::before {
  background: rgba(74, 222, 128, 0.82);
}

[data-theme="dark"] .hero--home .btn-primary {
  background: #ffffff;
  border-color: rgba(255,255,255,0.14);
  color: #111111;
  box-shadow: none;
}

[data-theme="dark"] .intro-service-title,
[data-theme="dark"] .intro-service-desc,
[data-theme="dark"] .intro-service-pill-step,
[data-theme="dark"] .intro-service-pill strong,
[data-theme="dark"] .intro-service-metric span,
[data-theme="dark"] .intro-service-metric strong,
[data-theme="dark"] .intro-service-metric p {
  color: #F5F5F5;
}

[data-theme="dark"] .intro-service-desc,
[data-theme="dark"] .intro-service-pill-step,
[data-theme="dark"] .intro-service-metric p,
[data-theme="dark"] .intro-service-metric span {
  color: #9ca3af;
}

[data-theme="dark"] #page-intro .intro-service-pill {
  background: #101512;
  border-color: rgba(167, 243, 208, 0.1);
  box-shadow: none;
}

[data-theme="dark"] #page-intro .intro-service-pill strong {
  color: #eef2ee;
}

[data-theme="dark"] #page-intro .intro-service-pill-step {
  color: #a7b6ae;
}

[data-theme="dark"] .product-shot--home-showcase {
  box-shadow: none;
}

[data-theme="dark"] .hero-slider-stage {
  background: #0d120f;
  border-color: rgba(167, 243, 208, 0.12);
  box-shadow: none;
}

[data-theme="dark"] .hero-slider-caption {
  background: transparent;
  border-color: transparent;
}

[data-theme="dark"] .hero-slider-step {
  color: #86efac;
}

[data-theme="dark"] .hero-slider-caption strong,
[data-theme="dark"] .hero-slider-meta strong {
  color: #F5F5F5;
}

[data-theme="dark"] .hero-slider-caption p,
[data-theme="dark"] .hero-slider-meta p {
  color: #F5F5F5;
}

[data-theme="dark"] .hero-slider-meta-step {
  color: #86efac;
}

[data-theme="dark"] .hero-slider-dot {
  background: rgba(148, 163, 184, 0.2);
}

[data-theme="dark"] .hero-slider-dot.is-active {
  background: #86efac;
}

[data-theme="dark"] .hero-slider-slide img {
  background: #0d120f;
}

[data-theme="dark"] .hero--home .btn-primary:hover {
  background: #f3f4f6;
  border-color: rgba(255,255,255,0.22);
}

[data-theme="dark"] .hero--home .hero-stat-row {
  border-top: 1px solid rgba(167, 243, 208, 0.1);
  padding-top: 4px;
}

[data-theme="dark"] .hero--home .hero-stat {
  border-top-color: rgba(167, 243, 208, 0.12);
}

[data-theme="dark"] .hero--home .hero-copy {
  gap: 22px;
}

[data-theme="dark"] .hero--home .hero-title {
  color: #eef2ee;
}

[data-theme="dark"] .hero--home .hero-eyebrow {
  color: #a7b6ae;
}

[data-theme="dark"] #page-intro .section-heading h2,
[data-theme="dark"] #page-intro .section-heading .shell-eyebrow,
[data-theme="dark"] #page-intro .intro-capture-head h3,
[data-theme="dark"] #page-intro .intro-architecture-card h3,
[data-theme="dark"] #page-intro .intro-story-card h3,
[data-theme="dark"] #page-intro .intro-metric-card strong,
[data-theme="dark"] #page-intro .intro-summary-card strong {
  color: #F5F5F5;
}

[data-theme="dark"] #page-intro .section-heading p,
[data-theme="dark"] #page-intro .intro-capture-head p,
[data-theme="dark"] #page-intro .intro-architecture-card p,
[data-theme="dark"] #page-intro .intro-story-card p,
[data-theme="dark"] #page-intro .intro-story-example,
[data-theme="dark"] #page-intro .intro-metric-card p,
[data-theme="dark"] #page-intro .intro-summary-card p {
  color: #F5F5F5;
}

[data-theme="dark"] #page-intro .intro-architecture-card,
[data-theme="dark"] #page-intro .intro-story-card,
[data-theme="dark"] #page-intro .intro-capture-card,
[data-theme="dark"] #page-intro .intro-metric-card,
[data-theme="dark"] #page-intro .intro-summary-card {
  background: #101512;
  border-color: rgba(167, 243, 208, 0.1);
  box-shadow: none;
}

[data-theme="dark"] #page-intro .intro-service-pill,
[data-theme="dark"] #page-intro .intro-capture-shot,
[data-theme="dark"] #page-intro .intro-capture-shot .product-shot-chrome,
[data-theme="dark"] #page-intro .intro-capture-metric,
[data-theme="dark"] #page-intro .intro-capture-tabs span,
[data-theme="dark"] #page-intro .intro-capture-tool-tabs span,
[data-theme="dark"] #page-intro .intro-capture-list-item,
[data-theme="dark"] #page-intro .intro-capture-intel-card,
[data-theme="dark"] #page-intro .intro-capture-tool-card,
[data-theme="dark"] #page-intro .intro-capture-input {
  background: #0d120f;
  border-color: rgba(167, 243, 208, 0.1);
}

[data-theme="dark"] #page-intro .intro-capture-shot .product-shot-chrome {
  background: #0f1411;
  border-bottom-color: rgba(167, 243, 208, 0.1);
}

[data-theme="dark"] #page-intro .intro-capture-stage-head strong,
[data-theme="dark"] #page-intro .intro-capture-metric strong,
[data-theme="dark"] #page-intro .intro-capture-list-item strong,
[data-theme="dark"] #page-intro .intro-capture-intel-card strong,
[data-theme="dark"] #page-intro .intro-capture-tool-card strong,
[data-theme="dark"] #page-intro .intro-capture-input {
  color: #F5F5F5;
}

[data-theme="dark"] #page-intro .intro-capture-summary,
[data-theme="dark"] #page-intro .intro-capture-metric span,
[data-theme="dark"] #page-intro .intro-capture-list-item span,
[data-theme="dark"] #page-intro .intro-capture-intel-card p,
[data-theme="dark"] #page-intro .intro-capture-tool-card span,
[data-theme="dark"] #page-intro .intro-capture-input--muted,
[data-theme="dark"] #page-intro .intro-capture-shot .product-shot-chrome p {
  color: #94a3b8;
}

[data-theme="dark"] #page-intro .intro-capture-tabs .is-active,
[data-theme="dark"] #page-intro .intro-capture-tool-tabs .is-active,
[data-theme="dark"] #page-intro .intro-capture-list-item b {
  background: rgba(134, 239, 172, 0.08);
  border-color: rgba(134, 239, 172, 0.14);
  color: #b7f3cb;
}

/* 2026-03-20 home/intro refinement */
.hero--home .hero-copy {
  gap: 18px;
}

.hero--home .hero-desc {
  max-width: 1080px;
  font-size: 1.08rem;
  line-height: 1.68;
}

.hero--home .hero-trust {
  gap: 6px 16px;
}

.hero--home .hero-trust span {
  color: #678777;
  font-size: 0.90rem;
}

.hero--home .hero-trust span::before {
  width: 4px;
  height: 4px;
}

.hero--home .hero-stat-row {
  margin-top: 4px;
}

.hero--home .hero-stat {
  grid-template-columns: minmax(136px, 152px) minmax(0, 1fr);
  gap: 14px;
  padding: 10px 0;
}

.hero--home .hero-stat strong {
  font-size: 0.95rem;
}

.hero--home .hero-stat span {
  font-size: 0.85rem;
  line-height: 1.5;
}

.hero--home .hero-slider {
  gap: 10px;
}

.hero--home .hero-slider-stage {
  min-height: 500px;
}

.hero--home .hero-slider-meta {
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  padding: 0 2px;
}

.hero--home .hero-slider-meta-step {
  min-width: 24px;
}

.hero--home .hero-slider-meta strong {
  font-size: 0.96rem;
  white-space: nowrap;
}

.hero--home .hero-slider-meta p {
  font-size: 0.87rem;
  line-height: 1.45;
}

#page-intro .intro-service-desc {
  max-width: 760px;
  font-size: 0.96rem;
  line-height: 1.66;
}

#page-intro .intro-service-strip--compact {
  gap: 8px;
}

#page-intro .intro-service-pill {
  min-height: 74px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: none;
}

#page-intro .intro-service-pill strong {
  font-size: 0.92rem;
}

#page-intro .story-section--intro .section-heading {
  max-width: 700px;
  gap: 8px;
}

#page-intro .story-section--intro .section-heading p {
  max-width: 700px;
  font-size: 0.94rem;
}

#page-intro .intro-capture-grid {
  gap: 16px;
}

#page-intro .intro-capture-card {
  padding: 18px;
  gap: 12px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: none;
}

#page-intro .intro-capture-copy {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

#page-intro .intro-capture-head {
  gap: 4px;
}

#page-intro .intro-capture-head h3 {
  font-size: 1.02rem;
}

#page-intro .intro-capture-head p {
  font-size: 0.90rem;
  line-height: 1.45;
}

#page-intro .intro-capture-shot {
  border-radius: 18px;
  background: #F5F5F5;
  box-shadow: none;
}

#page-intro .intro-capture-shot .product-shot-chrome {
  padding: 10px 12px 8px;
  background: transparent;
}

[data-theme="dark"] .hero--home .hero-copy {
  gap: 18px;
}

[data-theme="dark"] .hero--home .hero-stat span {
  color: #b5beb8;
}

[data-theme="dark"] .hero--home .hero-trust span {
  color: #a8c4b2;
}

[data-theme="dark"] .hero--home .hero-slider-meta p {
  color: #bcc8c0;
}

[data-theme="dark"] #page-intro .intro-service-pill {
  background: rgba(16, 21, 18, 0.82);
}

[data-theme="dark"] #page-intro .intro-capture-card,
[data-theme="dark"] #page-intro .intro-architecture-card,
[data-theme="dark"] #page-intro .intro-story-card,
[data-theme="dark"] #page-intro .intro-metric-card,
[data-theme="dark"] #page-intro .intro-summary-card {
  background: #0f1411;
}

[data-theme="dark"] #page-intro .intro-capture-shot,
[data-theme="dark"] #page-intro .intro-capture-shot .product-shot-chrome,
[data-theme="dark"] #page-intro .intro-capture-metric,
[data-theme="dark"] #page-intro .intro-capture-tabs span,
[data-theme="dark"] #page-intro .intro-capture-tool-tabs span,
[data-theme="dark"] #page-intro .intro-capture-list-item,
[data-theme="dark"] #page-intro .intro-capture-intel-card,
[data-theme="dark"] #page-intro .intro-capture-tool-card,
[data-theme="dark"] #page-intro .intro-capture-input {
  background: #0b100d;
}

[data-theme="dark"] #page-intro .intro-capture-shot .product-shot-chrome {
  background: transparent;
}

/* 2026-03-20 dashboard refinement step 1 */
[data-theme="dark"] .hero--home .btn-primary {
  background: #eef2ee;
  border-color: rgba(167, 243, 208, 0.16);
  color: #111111;
}

[data-theme="dark"] .hero--home .btn-primary:hover {
  background: #f6f8f6;
  border-color: rgba(167, 243, 208, 0.26);
}

#page-dashboard {
  background: #f6f8f7;
}

#page-dashboard .dashboard-shell {
  gap: 22px;
}

#page-dashboard .dashboard-shell > .dashboard-main {
  gap: 28px;
}

#page-dashboard .dashboard-stage {
  gap: 16px;
}

#page-dashboard .dashboard-stage + .dashboard-stage {
  margin-top: 4px;
}

#page-dashboard .dashboard-stage-head {
  gap: 6px;
  padding-top: 2px;
}

#page-dashboard .dashboard-stage-desc {
  max-width: 900px;
  font-size: 0.94rem;
  line-height: 1.58;
}

#page-dashboard .dashboard-stage-note {
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
  color: #5b6777;
  font-size: 0.90rem;
}

#page-dashboard .dashboard-journey {
  gap: 8px;
  padding: 8px 0 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

#page-dashboard .dashboard-journey-grid {
  gap: 8px;
}

#page-dashboard .dashboard-journey-card {
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}

#page-dashboard .research-studio-shell,
#page-dashboard .panel {
  box-shadow: none;
}

#page-dashboard .panel {
  border-color: rgba(11, 17, 16, 0.06);
  background: rgba(255, 255, 255, 0.9);
}

#page-dashboard .macro-panel::before,
#page-dashboard .day-score-panel::before,
#page-dashboard .checkpoint-panel::before,
#page-dashboard .mindmap-panel::before,
#page-dashboard .analysis-panel::before,
#page-dashboard .market-intel-panel::before,
#page-dashboard .report-panel::before,
#page-dashboard .links-panel::before {
  opacity: 0.45;
}

#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head,
#page-dashboard .report-head,
#page-dashboard .section-head {
  gap: 12px;
  padding-bottom: 14px;
}

#page-dashboard .dashboard-head-copy {
  gap: 8px;
}

#page-dashboard .dashboard-bullet-list li,
#page-dashboard .macro-updated,
#page-dashboard .panel-chip-btn {
  background: rgba(248, 250, 252, 0.82);
}

#page-dashboard .assist-note {
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.8);
}

[data-theme="dark"] #page-dashboard {
  background: #0b100d;
}

[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] #page-dashboard .research-studio-shell {
  border-color: rgba(167, 243, 208, 0.08);
  background: #0f1411;
  box-shadow: none;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-desc,
[data-theme="dark"] #page-dashboard .dashboard-head-copy p,
[data-theme="dark"] #page-dashboard .section-head p,
[data-theme="dark"] #page-dashboard .recommend-market-note,
[data-theme="dark"] #page-dashboard .assist-note,
[data-theme="dark"] #page-dashboard .eta-note {
  color: #aeb9b1;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-note,
[data-theme="dark"] #page-dashboard .dashboard-journey-card,
[data-theme="dark"] #page-dashboard .dashboard-bullet-list li,
[data-theme="dark"] #page-dashboard .macro-updated,
[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-dashboard .assist-note {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(167, 243, 208, 0.08);
  color: #c8d1cb;
}

/* 2026-03-20 home hero dark button final override */
[data-theme="dark"] #page-home .hero--home .btn-primary,
body[data-theme="dark"] #page-home .hero--home .btn-primary {
  background: #111111;
  border-color: rgba(167, 243, 208, 0.18);
  color: #F5F5F5;
  box-shadow: none;
}

[data-theme="dark"] #page-home .hero--home .btn-primary:hover,
body[data-theme="dark"] #page-home .hero--home .btn-primary:hover {
  background: #171717;
  border-color: rgba(167, 243, 208, 0.3);
  color: #ffffff;
}

/* 2026-03-20 dashboard refinement step 2 */
#page-dashboard .macro-panel,
#page-dashboard .day-score-panel {
  border-radius: 22px;
}

#page-dashboard .day-score-panel {
  background: rgba(255, 255, 255, 0.92);
}

#page-dashboard .macro-head,
#page-dashboard .day-score-head {
  column-gap: 14px;
  row-gap: 8px;
}

#page-dashboard .macro-head-right,
#page-dashboard .day-score-head-right,
#page-dashboard .recommend-head-right,
#page-dashboard .market-intel-head-right {
  gap: 6px;
}

#page-dashboard .dashboard-head-copy--macro,
#page-dashboard .dashboard-head-copy {
  gap: 6px;
}

#page-dashboard .macro-updated {
  min-height: 28px;
  padding: 0 10px;
  font-size: 0.83rem;
  color: #7b8794;
  letter-spacing: 0.01em;
}

#page-dashboard .panel-chip-btn,
#page-dashboard .ghost-btn.panel-chip-btn,
#page-dashboard .panel-toggle-btn.panel-chip-btn {
  height: 28px;
  min-width: 0;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.78);
  color: #5d6878;
  font-size: 0.83rem;
  font-weight: 700;
  backdrop-filter: none;
  transform: none;
}

#page-dashboard .panel-chip-btn:hover,
#page-dashboard .ghost-btn.panel-chip-btn:hover {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(148, 163, 184, 0.22);
  color: #1f2937;
  box-shadow: none;
  transform: none;
}

#page-dashboard .macro-ticker-scroll {
  padding-top: 2px;
  border-top: 1px solid rgba(11, 17, 16, 0.04);
  transition: border-top-color 0.16s ease, color 0.16s ease;
}

#page-dashboard .macro-ticker-scroll.is-visible:hover {
  border-top-color: rgba(95, 166, 118, 0.22);
}

#page-dashboard .macro-ticker-scroll.is-visible:focus-visible {
  outline: 2px solid rgba(95, 166, 118, 0.22);
  outline-offset: 4px;
  border-radius: 14px;
}

#page-dashboard .macro-ticker-item {
  gap: 4px;
  padding: 0 14px;
  color: #5d7467;
  font-size: 0.85rem;
}

#page-dashboard .macro-ticker-item .t-name {
  color: #879a90;
  font-size: 0.80rem;
}

#page-dashboard .macro-ticker-item .t-val {
  font-size: 0.85rem;
}

#page-dashboard .macro-ticker-item .t-chg {
  font-size: 0.83rem;
}

#page-dashboard .day-score-content,
#page-dashboard .macro-panel .panel-body,
#page-dashboard .day-score-panel .panel-body {
  gap: 12px;
}

#page-dashboard .recommend-market-note {
  font-size: 0.88rem;
  line-height: 1.52;
}

[data-theme="dark"] #page-dashboard .day-score-panel {
  background: #0f1411;
}

[data-theme="dark"] #page-dashboard .macro-updated {
  color: #93a29b;
}

[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-dashboard .ghost-btn.panel-chip-btn,
[data-theme="dark"] #page-dashboard .panel-toggle-btn.panel-chip-btn {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(167, 243, 208, 0.08);
  color: #c8d1cb;
}

[data-theme="dark"] #page-dashboard .panel-chip-btn:hover,
[data-theme="dark"] #page-dashboard .ghost-btn.panel-chip-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(167, 243, 208, 0.14);
  color: #eef2ee;
}

[data-theme="dark"] #page-dashboard .macro-ticker-scroll {
  border-top-color: rgba(167, 243, 208, 0.05);
}

[data-theme="dark"] #page-dashboard .macro-ticker-scroll.is-visible:hover {
  border-top-color: rgba(167, 243, 208, 0.16);
}

[data-theme="dark"] #page-dashboard .macro-ticker-scroll.is-visible:focus-visible {
  outline-color: rgba(167, 243, 208, 0.2);
}

[data-theme="dark"] #page-dashboard .macro-ticker-item {
  color: #9fb3a7;
}

[data-theme="dark"] #page-dashboard .macro-ticker-item .t-name {
  color: #788a81;
}

/* 2026-03-20 mobile verification pass */
@media (max-width: 640px) {
  #page-home .hero-copy {
    gap: 12px;
  }

  #page-home .hero-trust {
    gap: 4px 12px;
  }

  #page-home .hero-stat {
    gap: 4px;
    padding: 8px 0;
  }

  #page-home .hero-slider-stage {
    min-height: 340px;
  }

  #page-home .hero-slider-meta {
    gap: 4px;
  }

  #page-home .product-shot-chrome p,
  #page-intro .intro-capture-shot .product-shot-chrome p {
    font-size: 0.80rem;
    letter-spacing: 0.05em;
  }

  #page-intro .intro-capture-copy {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  #page-intro .story-step {
    display: inline-flex;
    width: fit-content;
  }

  #page-intro .intro-capture-card {
    padding: 16px;
    gap: 10px;
  }

  #page-intro .intro-capture-head p {
    font-size: 0.87rem;
    line-height: 1.42;
  }

  #page-dashboard .dashboard-stage {
    gap: 14px;
  }

  #page-dashboard .recommend-market-note,
  #page-dashboard .dashboard-stage-desc {
    font-size: 0.88rem;
    line-height: 1.5;
  }
}

@media (max-width: 420px) {
  #page-home .hero-slider-stage {
    min-height: 300px;
  }

  #page-home .product-shot-chrome p,
  #page-intro .intro-capture-shot .product-shot-chrome p {
    display: none;
  }

  #page-intro .intro-capture-card {
    padding: 14px;
  }
}

/* 2026-03-20 signal briefing tab palette */
#recommend-tablist,
#recommend-body > .recommend-tabs[role="tablist"] {
  gap: 6px;
}

.recommend-tab {
  min-height: 34px;
  padding: 0 14px;
  border-color: rgba(95, 166, 118, 0.14);
  background: rgba(240, 246, 241, 0.88);
  color: #53705f;
  font-size: 0.90rem;
  font-weight: 700;
}

.recommend-tab:hover {
  border-color: rgba(34, 197, 94, 0.22);
  background: rgba(244, 251, 245, 0.96);
  color: #21543a;
}

.recommend-tab.is-active {
  background: #1f7a45;
  color: #f8fffb;
  border-color: #1f7a45;
}

[data-theme="dark"] .recommend-tab {
  background: rgba(167, 243, 208, 0.06);
  border-color: rgba(167, 243, 208, 0.1);
  color: #bdd5c6;
}

[data-theme="dark"] .recommend-tab:hover {
  background: rgba(167, 243, 208, 0.1);
  border-color: rgba(167, 243, 208, 0.18);
  color: #eef6f0;
}

[data-theme="dark"] .recommend-tab.is-active {
  background: #2b8a57;
  border-color: #2b8a57;
  color: #f7fff9;
}
[data-theme="dark"] .recommend-tab-win-badge {
  background: rgba(52, 211, 153, 0.15);
  color: #6ee7b7;
}
[data-theme="dark"] .recommend-tab.is-active .recommend-tab-win-badge {
  background: rgba(255, 255, 255, 0.15);
  color: #a7f3d0;
}
[data-theme="dark"] .recommend-win-meta {
  background: rgba(52, 211, 153, 0.07);
  border-left-color: rgba(52, 211, 153, 0.3);
  color: #94a3b8;
}
[data-theme="dark"] .recommend-win-meta strong {
  color: #6ee7b7;
}

[data-theme="dark"] #page-intro .intro-capture-image {
  background: #0d120f;
}

[data-theme="dark"] #page-intro .intro-architecture-step,
[data-theme="dark"] #page-intro .intro-story-card .story-step,
[data-theme="dark"] #page-intro .intro-story-visual--briefing span,
[data-theme="dark"] #page-intro .intro-story-subfeature,
[data-theme="dark"] #page-intro .intro-visual-kpis span,
[data-theme="dark"] #page-intro .intro-visual-meta span {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(148, 163, 184, 0.14);
  color: #F5F5F5;
}

[data-theme="dark"] #page-intro .intro-story-visual,
[data-theme="dark"] #page-intro .intro-story-visual--workspace span,
[data-theme="dark"] #page-intro .intro-story-visual--checkpoint span,
[data-theme="dark"] #page-intro .intro-story-example {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02)),
    rgba(20, 28, 42, 0.76);
  border-color: rgba(148, 163, 184, 0.14);
  color: #F5F5F5;
  box-shadow: none;
}

[data-theme="dark"] #page-intro .intro-story-example {
  border-top: none;
  border-left-color: rgba(34, 197, 94, 0.14);
  padding-top: 0;
}

[data-theme="dark"] #page-intro .intro-story-visual,
[data-theme="dark"] #page-intro .intro-story-visual--workspace span,
[data-theme="dark"] #page-intro .intro-story-visual--checkpoint span {
  background: rgba(20, 28, 42, 0.76);
}

[data-theme="dark"] #page-intro .intro-story-card::before,
[data-theme="dark"] #page-intro .intro-summary-card::before {
  display: none;
}

/* ── Mypage activity redesign (2026-03-13) ───────────────────── */
#page-mypage {
  padding: 28px 0 80px;
}

.mypg-activity-shell {
  width: min(1540px, calc(100vw - 48px));
  margin: 0 auto;
  display: grid;
  gap: 22px;
}

.mypg-hero,
.mypg-section-card,
.mypg-summary-card {
  border: 1px solid #d7d9dd;
  background:
    radial-gradient(circle at top right, rgba(148, 163, 184, 0.1), transparent 28%),
    linear-gradient(180deg, #fbfbfc, #f1f3f5);
  box-shadow: 0 20px 44px rgba(11, 17, 16, 0.08);
}

.mypg-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 20px;
  padding: 26px 28px;
  border-radius: 30px;
}

.mypg-hero-copy {
  display: grid;
  gap: 10px;
}

.mypg-hero-kicker,
.mypg-section-kicker,
.mypg-summary-label {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7b6f5c;
  font-family: "Space Grotesk", sans-serif;
}

.mypg-hero-title {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #171411;
}

.mypg-hero-desc {
  margin: 0;
  max-width: 720px;
  color: #4b4034;
  line-height: 1.62;
}

.mypg-quick-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
}

.mypg-quick-btn {
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid #d7d9dd;
  background: rgba(255, 255, 255, 0.72);
  color: #0b1110;
  font-size: 0.88rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.35;
  box-shadow: none;
}

.mypg-quick-btn:hover {
  background: rgba(255, 255, 255, 0.94);
}

.mypg-quick-btn--outline-green {
  border-color: #159947;
  background: rgba(255, 255, 255, 0.82);
  color: #159947;
}

.mypg-quick-btn--outline-green:hover {
  background: #f4fbf6;
  border-color: #0f843f;
  color: #0f843f;
}

.mypg-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.mypg-summary-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px 20px;
  border-radius: 24px;
  align-content: start;
}

.mypg-summary-value {
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 800;
  line-height: 0.95;
  color: #171411;
  letter-spacing: -0.04em;
}

.mypg-summary-meta {
  color: #6f6150;
  line-height: 1.42;
}

.mypg-primary-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}

.mypg-main-column,
.mypg-side-column {
  display: grid;
  gap: 18px;
  align-content: start;
}

.mypg-main-column {
  min-width: 0;
}

.mypg-section-card {
  padding: 22px;
  border-radius: 28px;
}

.mypg-section-card.is-empty {
  padding-bottom: 18px;
}

.mypg-section-card--accent {
  background: linear-gradient(180deg, #F5F5F5, #eef2f7);
  border-color: #d7d9dd;
}

.mypg-section-card--accent .mypg-section-kicker,
.mypg-section-card--accent .mypg-section-title,
.mypg-section-card--accent .mypg-plan-row span,
.mypg-section-card--accent .mypg-plan-row strong {
  color: #111827;
}

.mypg-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.mypg-section-title {
  margin: 6px 0 0;
  font-size: 1.34rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #171411;
}

.mypg-section-actions,
.mypg-top-actions,
.mypg-empty-actions,
.mypg-account-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mypg-section-head .mypg-section-actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
}

.mypg-plan-stack {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.mypg-plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
}

.mypg-plan-row:last-child {
  border-bottom: none;
}

.mypg-plan-row span {
  color: #6b7280;
}

.mypg-plan-row strong {
  font-size: 1rem;
  font-family: var(--mono);
}

.mypg-activity-list,
.mypg-ledger-list {
  display: grid;
  gap: 10px;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 4px;
}

.mypg-activity-list {
  width: 100%;
}

.mypg-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mypg-activity-item,
.mypg-ledger-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #dde2e8;
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.92);
  transition: background-color 0.14s ease, border-color 0.14s ease;
}
.mypg-activity-item:hover,
.mypg-ledger-row:hover {
  background: rgba(241, 245, 249, 0.97);
  border-color: #c8d1da;
}

.mypg-activity-item strong,
.mypg-ledger-copy span {
  display: block;
  color: #171411;
  font-weight: 700;
}

.mypg-activity-item span,
.mypg-ledger-copy small {
  display: block;
  margin-top: 4px;
  color: #6b7280;
  line-height: 1.45;
}

.mypg-empty-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px dashed #F5F5F5;
  border-radius: 20px;
  background: rgba(248, 250, 252, 0.92);
  color: #4b5563;
  line-height: 1.65;
}

.mypg-empty-card strong {
  color: #171411;
  font-size: 1.02rem;
}

.mypg-ledger-row strong {
  font-size: 1rem;
  font-family: var(--mono);
}

.mypg-ledger-row strong.is-positive {
  color: #2e6b41;
}

.mypg-ledger-row strong.is-negative {
  color: #9b4e43;
}

.mypg-saved-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(90, 72, 45, 0.12);
}

.mypg-saved-stat:last-of-type {
  border-bottom: none;
  margin-bottom: 12px;
}

.mypg-saved-stat span {
  color: #6b7280;
}

.mypg-saved-stat strong {
  color: #171411;
}

.mypg-account-actions-grid .mypage-action-btn {
  flex: 1 1 calc(50% - 10px);
}

.mypg-account-copy {
  margin: 0 0 14px;
  color: #615646;
  line-height: 1.7;
}

.my-reports-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.my-reports-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.my-reports-type {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #4b5563;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.my-reports-empty p {
  margin: 0;
}

.my-reports-empty {
  min-height: 0;
  display: block;
  padding: 8px 2px 2px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #6f675d;
  text-align: left;
}

.my-reports-empty strong {
  display: block;
  margin-bottom: 6px;
  color: #171411;
}

.mypg-hero,
.mypg-summary-card,
.mypg-section-card {
  border: 1px solid #e5e7eb;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  box-shadow: 0 18px 38px rgba(28, 24, 19, 0.06);
}

.mypg-hero {
  background:
    radial-gradient(circle at top right, rgba(148, 163, 184, 0.12), transparent 24%),
    linear-gradient(180deg, #ffffff, #F5F5F5);
}

.mypg-summary-card {
  box-shadow: 0 14px 30px rgba(28, 24, 19, 0.05);
}

.mypg-section-card {
  border-radius: 26px;
}

.mypg-account-card {
  background:
    radial-gradient(circle at top right, rgba(148, 163, 184, 0.1), transparent 22%),
    linear-gradient(180deg, #ffffff, #F5F5F5);
}

/* 1:1 문의 폼 */
.inquiry-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.inquiry-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.inquiry-label {
  font-size: 0.87rem;
  font-weight: 600;
  color: var(--ink-muted, #64748b);
}
.inquiry-input,
.inquiry-textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 0.88rem;
  font-family: inherit;
  background: var(--bg);
  color: var(--ink);
  outline: none;
  resize: vertical;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.inquiry-input:focus,
.inquiry-textarea:focus {
  border-color: #22c55e;
}
.inquiry-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 4px;
}
.inquiry-item {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px 14px;
}
.inquiry-item-subject {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 4px;
}
.inquiry-item-meta {
  font-size: 0.87rem;
  color: var(--ink-muted, #64748b);
  margin-bottom: 6px;
}
.inquiry-item-message {
  font-size: 0.90rem;
  color: var(--ink);
  white-space: pre-wrap;
  word-break: break-word;
}
.inquiry-status-open {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  border: 1px solid rgba(21, 153, 71, 0.18);
  background: rgba(21, 153, 71, 0.1);
  color: #137a3b;
  font-size: 0.83rem;
  font-weight: 600;
}
.inquiry-status-resolved {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-size: 0.83rem;
  font-weight: 600;
}

.mypage-action-btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #111111;
  box-shadow: none;
  font-size: 0.88rem;
  font-weight: 560;
}

.mypage-action-btn:hover {
  transform: none;
  background: #f9fafb;
  border-color: #F5F5F5;
  box-shadow: none;
}

.mypage-action-btn--primary {
  background: linear-gradient(180deg, #1bb556 0%, #119647 100%);
  border-color: #159947;
  color: #ffffff;
  box-shadow: none;
}

.mypage-action-btn--primary:hover {
  background: linear-gradient(180deg, #18a84f 0%, #0f843f 100%);
  border-color: #0f843f;
}

.mypage-action-btn--outline-green {
  background: #ffffff;
  color: #159947;
  border-color: #159947;
}

.mypage-action-btn--outline-green:hover {
  background: #f4fbf6;
  color: #0f843f;
  border-color: #0f843f;
}

.mypage-action-btn--outline-dark {
  background: var(--surface);
  color: var(--accent);
  border-color: var(--accent);
}

.mypage-action-btn--outline-dark:hover {
  background: var(--surface-strong);
  color: var(--ink);
  border-color: var(--ink);
}

.mypage-action-btn--danger {
  background: transparent;
  color: #a63d34;
  border-color: #efc8c3;
}

.mypage-action-btn--danger:hover {
  background: #fdf4f3;
  border-color: #ddb2ad;
}

.delete-confirm {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #f1d4cf;
  background: #fffafb;
}

.delete-confirm.hidden {
  display: none;
}

.delete-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

[data-theme="dark"] .mypg-hero,
[data-theme="dark"] .mypg-summary-card,
[data-theme="dark"] .mypg-section-card {
  border-color: rgba(148, 163, 184, 0.16);
  box-shadow: 0 20px 42px rgba(2, 6, 23, 0.32);
}

[data-theme="dark"] .mypg-hero {
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(11, 17, 16, 0.78), rgba(11, 17, 16, 0.62));
}

[data-theme="dark"] .mypg-summary-card,
[data-theme="dark"] .mypg-section-card {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.82), rgba(11, 17, 16, 0.68));
}

[data-theme="dark"] .recommend-premium-btn,
[data-theme="dark"] .recommend-unlock-btn,
[data-theme="dark"] .mypg-quick-btn,
[data-theme="dark"] .mypage-action-btn,
[data-theme="dark"] .my-reports-actions .ghost-btn {
  background: #1f2937;
  color: #f3f4f6;
  border-color: #374151;
}

[data-theme="dark"] .recommend-premium-btn::before,
[data-theme="dark"] .recommend-unlock-btn::before {
  background: transparent;
  border: none;
  color: transparent;
}

[data-theme="dark"] .recommend-rank-block {
  background: #1f2937;
  color: #f3f4f6;
}

[data-theme="dark"] .mypg-hero-title,
[data-theme="dark"] .mypg-section-title,
[data-theme="dark"] .mypg-summary-value,
[data-theme="dark"] .mypg-empty-card strong,
[data-theme="dark"] .mypg-activity-item strong,
[data-theme="dark"] .mypg-ledger-copy span,
[data-theme="dark"] .mypg-saved-stat strong {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-hero-kicker,
[data-theme="dark"] .mypg-section-kicker,
[data-theme="dark"] .mypg-summary-label {
  color: #86efac;
}

[data-theme="dark"] .mypg-hero-desc,
[data-theme="dark"] .mypg-summary-meta,
[data-theme="dark"] .mypg-activity-item span,
[data-theme="dark"] .mypg-ledger-copy small,
[data-theme="dark"] .mypg-empty-card,
[data-theme="dark"] .mypg-saved-stat span {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-quick-btn,
[data-theme="dark"] .mypg-activity-item,
[data-theme="dark"] .mypg-ledger-row,
[data-theme="dark"] .mypg-empty-card,
[data-theme="dark"] .my-reports-item {
  background: rgba(11, 17, 16, 0.66);
  border-color: rgba(148, 163, 184, 0.16);
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-quick-btn {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.18);
  box-shadow: none;
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-quick-btn:hover,
[data-theme="dark"] .mypg-activity-item:hover,
[data-theme="dark"] .mypg-ledger-row:hover,
[data-theme="dark"] .my-reports-item:hover {
  background: rgba(30, 41, 59, 0.88);
}

[data-theme="dark"] .mypg-quick-btn:hover {
  background: rgba(30, 41, 59, 0.34);
  border-color: rgba(34, 197, 94, 0.24);
}

[data-theme="dark"] .mypg-quick-btn--outline-green {
  background: rgba(12, 74, 44, 0.14);
  border-color: rgba(34, 197, 94, 0.3);
  color: #86efac;
}

[data-theme="dark"] .mypg-quick-btn--outline-green:hover {
  background: rgba(12, 74, 44, 0.2);
  border-color: rgba(34, 197, 94, 0.42);
  color: #bbf7d0;
}

[data-theme="dark"] .inquiry-input,
[data-theme="dark"] .inquiry-textarea {
  background: rgba(11, 17, 16, 0.72);
  border-color: rgba(148, 163, 184, 0.16);
  color: #F5F5F5;
}
[data-theme="dark"] .inquiry-item {
  background: rgba(11, 17, 16, 0.72);
  border-color: rgba(148, 163, 184, 0.16);
}
[data-theme="dark"] .inquiry-item-subject {
  color: #F5F5F5;
}
[data-theme="dark"] .inquiry-item-message {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-plan-row {
  border-bottom-color: rgba(148, 163, 184, 0.14);
}

[data-theme="dark"] .mypg-plan-row span {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-section-card--accent {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.86), rgba(11, 17, 16, 0.72));
  border-color: rgba(34, 197, 94, 0.18);
}

[data-theme="dark"] .mypg-section-card--accent .mypg-section-kicker,
[data-theme="dark"] .mypg-section-card--accent .mypg-section-title,
[data-theme="dark"] .mypg-section-card--accent .mypg-plan-row span,
[data-theme="dark"] .mypg-section-card--accent .mypg-plan-row strong {
  color: #F5F5F5;
}

/* ── Mypage polish (2026-03-18c) ─────────────────────────────── */
.mypg-user-identity {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.56);
}

.mypg-user-name {
  font-size: 0.9rem;
  font-weight: 800;
  color: #0b1110;
}

.mypg-user-email {
  font-size: 0.87rem;
  color: #64748b;
}

.mypg-section-head {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.mypg-section-title {
  font-size: 1.24rem;
}

.mypg-section-card {
  padding: 20px;
}

.mypg-activity-item,
.mypg-ledger-row,
.my-reports-item,
.inquiry-item {
  border-radius: 16px;
}

.mypg-activity-item,
.mypg-ledger-row,
.my-reports-item {
  padding: 13px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.93));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
}

.my-reports-item {
  border: 1px solid #dde2e8;
}

.my-reports-item:hover,
.mypg-activity-item:hover,
.mypg-ledger-row:hover,
.inquiry-item:hover {
  border-color: #cfd9e6;
}

.my-reports-item strong {
  color: #0b1110;
  font-size: 0.98rem;
  line-height: 1.4;
}

.my-reports-item span,
.my-reports-item small {
  color: #64748b;
}

.mypg-history-block {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.mypg-history-title {
  margin-bottom: 10px;
  font-size: 1rem;
}

.inquiry-field {
  gap: 6px;
}

.inquiry-input,
.inquiry-textarea {
  padding: 10px 12px;
  border-radius: 12px;
}

.inquiry-list {
  display: grid;
}

.inquiry-item {
  padding: 14px 15px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.92));
  border-color: #dde2e8;
}

.inquiry-item-subject {
  font-weight: 700;
  font-size: 0.92rem;
}

.inquiry-item-meta {
  margin-bottom: 8px;
}

.inquiry-item-message {
  font-size: 0.85rem;
  line-height: 1.62;
}

[data-theme="dark"] .mypg-user-identity {
  background: rgba(11, 17, 16, 0.38);
  border-color: rgba(148, 163, 184, 0.14);
}

[data-theme="dark"] .mypg-user-name,
[data-theme="dark"] .my-reports-item strong {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-user-email,
[data-theme="dark"] .my-reports-item span,
[data-theme="dark"] .my-reports-item small {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-section-head,
[data-theme="dark"] .mypg-history-block {
  border-color: rgba(148, 163, 184, 0.14);
}

[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .inquiry-item {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.78), rgba(11, 17, 16, 0.66));
  border-color: rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

[data-theme="dark"] .inquiry-status-open {
  border-color: rgba(33, 180, 88, 0.28);
  background: rgba(21, 153, 71, 0.16);
  color: #8fe0ae;
}

[data-theme="dark"] .my-reports-item:hover,
[data-theme="dark"] .mypg-activity-item:hover,
[data-theme="dark"] .mypg-ledger-row:hover,
[data-theme="dark"] .inquiry-item:hover {
  border-color: rgba(34, 197, 94, 0.18);
}

[data-theme="dark"] .mypage-action-btn--primary {
  background: linear-gradient(180deg, #1bb556 0%, #119647 100%);
  border-color: #159947;
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-quick-btn--outline-green,
[data-theme="dark"] .mypage-action-btn--outline-green {
  background: transparent;
  border-color: #159947;
  color: #7ee0a4;
}

[data-theme="dark"] .mypage-action-btn--outline-dark {
  background: transparent;
  border-color: #f3f4f6;
  color: #f3f4f6;
}

[data-theme="dark"] .mypage-action-btn--primary:hover {
  background: linear-gradient(180deg, #21b458 0%, #119246 100%);
  border-color: #21b458;
}

[data-theme="dark"] .mypg-quick-btn--outline-green:hover,
[data-theme="dark"] .mypage-action-btn--outline-green:hover {
  background: rgba(21, 153, 71, 0.12);
  border-color: #21b458;
  color: #9ae6b4;
}

[data-theme="dark"] .mypage-action-btn--outline-dark:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: #ffffff;
  color: #ffffff;
}

[data-theme="dark"] .my-reports-empty {
  background: transparent;
  border-color: transparent;
  color: #cbbfae;
}

[data-theme="dark"] .my-reports-empty strong {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-account-copy {
  color: #cbbfae;
}

[data-theme="dark"] .delete-confirm {
  background: #261817;
  border-color: #4a2926;
}

[data-theme="dark"] .my-reports-type {
  background: #2a231b;
  color: #d4c8b8;
}

@media (max-width: 1180px) {
  .mypg-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mypg-primary-layout,
  .mypg-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .story-grid--intro {
    grid-template-columns: 1fr;
  }

  .intro-capture-card {
    padding: 20px;
    border-radius: 22px;
  }

  .intro-capture-stage {
    padding: 14px;
  }

  .intro-story-card {
    min-height: auto;
    padding: 22px 20px 20px;
    border-radius: 22px;
  }

  .intro-story-card h3 {
    font-size: 1.08rem;
  }

  .intro-visual-kpis,
  .intro-visual-meta,
  .intro-story-visual--workspace,
  .intro-story-subfeatures {
    grid-template-columns: 1fr;
  }

  .intro-story-subfeature {
    border-right: none;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  }

  .intro-story-subfeature:last-child {
    border-bottom: none;
  }

  .intro-briefing-tabs {
    flex-wrap: wrap;
  }

  .intro-briefing-tabs span {
    flex: 1 1 calc(50% - 4px);
  }

  .intro-story-example {
    font-size: 0.88rem;
  }

  .mypg-activity-shell {
    width: min(100vw - 24px, 1540px);
  }

  .mypg-summary-grid,
  .mypg-quick-links {
    grid-template-columns: 1fr;
  }

  .mypg-section-head,
  .my-reports-item,
  .mypg-activity-item,
  .mypg-ledger-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .mypg-section-actions,
  .mypg-top-actions,
  .mypg-empty-actions,
  .mypg-account-actions-grid,
  .my-reports-actions {
    width: 100%;
  }

  .mypg-section-head .mypg-section-actions {
    flex-wrap: wrap;
  }

  .mypg-account-actions-grid .mypage-action-btn,
  .mypg-empty-actions .mypage-action-btn,
  .mypg-top-actions .mypage-action-btn,
  .mypg-section-actions .mypage-action-btn,
  .my-reports-actions .ghost-btn {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
}

.shell-eyebrow {
  font-size: 0.87rem;
  letter-spacing: 0.14em;
}

.product-shot--intro-hero {
  max-width: 860px;
}

.intro-summary {
  padding: 0 40px 62px;
  gap: 18px;
}

.intro-summary-card {
  padding: 26px 26px 24px;
  gap: 10px;
}

.intro-summary-card strong {
  font-size: 1.14rem;
}

.intro-summary-card p {
  font-size: 1rem;
  line-height: 1.68;
}

.home-features {
  padding: 0 40px 68px;
  gap: 20px;
}

.feature-eyebrow {
  font-size: 0.87rem;
}

.feature-card h3 {
  font-size: 1.22rem;
}

.feature-card p {
  font-size: 1rem;
  line-height: 1.7;
}

.pricing-page-head {
  max-width: 980px;
  padding: 58px 40px 32px;
}

.pricing-page-title {
  font-size: clamp(2.4rem, 4.5vw, 4.4rem);
}

.pricing-page-sub {
  font-size: 1.18rem;
  line-height: 1.7;
}

.pricing-cards-section,
.pricing-topup-section,
.pricing-note-section {
  padding-left: 40px;
  padding-right: 40px;
}

.pricing-cards {
  gap: 22px;
}

.pricing-card-item {
  padding: 34px 28px;
  border-radius: 22px;
  gap: 18px;
}

.pricing-card-name {
  font-size: 1.12rem;
}

.pricing-card-price-amount {
  font-size: 2.25rem;
}

.pricing-card-price-period {
  font-size: 1rem;
}

.pricing-card-credits {
  font-size: 1rem;
}

.pricing-card-btn {
  padding: 12px 18px;
  font-size: 0.96rem;
}

.pricing-topup-section {
  padding-bottom: 36px;
}

.pricing-topup-title {
  font-size: 1.3rem;
  margin-bottom: 24px;
}

.pricing-topup-cards {
  gap: 18px;
}

.pricing-topup-item {
  padding: 24px 22px;
  border-radius: 18px;
  gap: 12px;
}

.pricing-note-section {
  padding-bottom: 56px;
}

.pricing-note-list,
.pricing-loading-text {
  font-size: 1rem;
  line-height: 1.7;
}

.mypage-layout {
  max-width: 1500px;
  padding: 72px 40px 124px;
  gap: 56px;
}

.mypage-header {
  padding-bottom: 42px;
}

.mypage-heading {
  font-size: clamp(3.3rem, 6vw, 5.6rem);
}

.mypage-subcopy {
  max-width: 700px;
  font-size: 1.14rem;
  line-height: 1.78;
}

.mypage-toolbar-btn {
  min-height: 52px;
  padding: 0 20px;
  font-size: 0.98rem;
}

.mypage-cols {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: 34px;
}

.mypage-col {
  padding: 32px 30px 30px;
  gap: 20px;
}

.mypage-eyebrow,
.mypage-col-label,
.mypage-field label,
.mypage-watchlist-label {
  font-size: 0.88rem;
  letter-spacing: 0.14em;
}

.mypage-col-actions {
  gap: 12px;
  flex-wrap: wrap;
}

.mypage-action-btn {
  min-height: 46px;
  padding: 0 18px;
  font-size: 0.95rem;
}

.mypage-field {
  gap: 8px;
}

.mypage-field input,
.mypage-field select {
  height: 50px;
  padding: 0 14px;
  font-size: 1rem;
}

.mypage-field-row {
  gap: 12px;
}

.mypage-field-row--footer {
  grid-template-columns: minmax(180px, 0.9fr) 1fr auto;
  align-items: center;
}

.mypage-toggle {
  min-height: 50px;
  padding: 0 16px;
  font-size: 0.92rem;
}

#add-watch-btn {
  min-width: 108px;
  white-space: nowrap;
}

.mypage-watchlist {
  padding: 18px;
}

.my-reports-item {
  padding: 18px 20px;
}

.my-reports-info strong {
  font-size: 1.12rem;
}

.my-reports-actions .ghost-btn {
  min-height: 40px;
  font-size: 0.9rem;
}

.my-reports-meta,
.watchlist-sub,
.mypage-live-quote,
.mypage-danger-note,
.delete-confirm-msg {
  font-size: 1rem;
  line-height: 1.65;
}

.my-reports-empty {
  min-height: 280px;
  font-size: 1rem;
}

.my-reports-list.is-empty .my-reports-empty {
  min-height: 104px;
  padding: 10px 2px 0;
}

.alert-log li {
  padding: 12px 14px;
  font-size: 0.98rem;
}

.mypage-account-row {
  display: grid;
  justify-items: end;
  gap: 14px;
  margin-top: -6px;
}

.mypage-danger-inline {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.mypage-danger-note {
  margin: 0;
  color: #7a736a;
}

.mypage-danger-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #e7c7c3;
  background: #fffdfc;
  color: #a63d34;
  font-size: 0.86rem;
  font-weight: 600;
  white-space: nowrap;
}

.mypage-danger-link:hover {
  background: #fdf4f3;
  border-color: #ddb2ad;
}

.delete-confirm {
  width: min(100%, 520px);
}

.delete-confirm-actions {
  justify-content: flex-end;
}

.macro-head h2,
.day-score-head h2,
.market-intel-head h2,
.recommend-head h2 {
  font-size: 1.3rem;
}

.macro-updated {
  font-size: 0.95rem;
}

.macro-name {
  font-size: 0.80rem;
}

.macro-value {
  font-size: 1rem;
}

.macro-change,
.macro-loading {
  font-size: 0.84rem;
}

.day-score-label {
  font-size: 0.80rem;
}

.day-score-summary {
  font-size: 0.87rem;
}

.signal-name {
  font-size: 0.82rem;
}

.signal-desc {
  font-size: 0.85rem;
}

.signal-pts {
  font-size: 0.83rem;
}

.market-intel-cat-label {
  font-size: 0.98rem;
}

.market-intel-link {
  font-size: 0.96rem;
  line-height: 1.5;
}

.market-intel-meta {
  font-size: 0.87rem;
}

.recommend-card h3 {
  font-size: 1.02rem;
}

.recommend-ticker {
  font-size: 1.01rem;
}

.recommend-score {
  font-size: 0.92rem;
}

.recommend-meta,
.recommend-help,
.recommend-live-price {
  font-size: 0.94rem;
}

.footer-link {
  padding: 6px 10px;
  font-size: 0.94rem;
}

.footer-disclaimer,
.footer-copy {
  font-size: 0.92rem;
}

[data-theme="dark"] .mypage-danger-note {
  color: rgba(255, 255, 255, 0.62);
}

[data-theme="dark"] .mypage-danger-link {
  background: #161616;
  border-color: rgba(231, 199, 195, 0.26);
  color: #ffaba2;
}

[data-theme="dark"] .mypage-danger-link:hover {
  background: #1b1b1b;
}

@media (max-width: 1240px) {
  .hero--showcase,
  .hero--home,
  .intro-summary,
  .home-features,
  .pricing-page-head,
  .pricing-cards-section,
  .pricing-topup-section,
  .pricing-note-section,
  .mypage-layout {
    max-width: 100%;
    padding-left: 28px;
    padding-right: 28px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .hero-stage {
    padding-top: 0;
  }

  .product-shot--intro-hero {
    margin: 0 auto;
  }

  .pricing-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-topup-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mypage-cols {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .hero--showcase,
  .hero--home,
  .intro-summary,
  .home-features,
  .pricing-page-head,
  .pricing-cards-section,
  .pricing-topup-section,
  .pricing-note-section,
  .mypage-layout {
    padding-left: 20px;
    padding-right: 20px;
  }

  .intro-summary,
  .pricing-cards,
  .pricing-topup-cards {
    grid-template-columns: 1fr;
  }

  .mypage-field-row,
  .mypage-field-row--footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .mypage-danger-inline {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  #add-watch-btn {
    width: 100%;
  }
}

/* ── Dashboard readability overhaul (2026-03-12b) ── */

/* 1. Page wrapper: breathing room */
#page-dashboard {
  padding: 28px 0 80px;
}

/* 2. Workspace: constrain max-width, center, horizontal padding */
#page-dashboard .workspace {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 32px;
}

/* 3. Panel: richer shadow + rounder corners */
#page-dashboard .panel {
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07), 0 8px 24px rgba(0, 0, 0, 0.05);
}

/* 4. Summary KPI cards: label/value visual hierarchy */
.summary-card {
  background: linear-gradient(180deg, #ffffff, #f6f9fc);
}

/* 5. AI report body: generous padding & better line-height */
#report-content {
  padding: 24px 28px;
  line-height: 1.82;
}
#report-content p {
  line-height: 1.82;
  margin-bottom: 1.1em;
}

/* 6. Analysis panel description */
.section-head p {
  line-height: 1.6;
}

/* 7. Result column: consistent gap */
.result-column {
  gap: 16px;
}

/* 8. Legal/contact/info pages: wider content column */
.legal-page {
  max-width: 900px;
}

/* 9. Dark mode KPI spans */
[data-theme="dark"] .summary-card {
  background: linear-gradient(180deg, #15120f, #1c1814);
}
[data-theme="dark"] .summary-card-head {
  border-bottom-color: #302920;
}
[data-theme="dark"] .summary-card-note {
  border-color: #302920;
  background: linear-gradient(180deg, #181410, #211b16);
  color: #d6cfbf;
}
[data-theme="dark"] .summary-metric {
  border-color: #302920;
  background: linear-gradient(180deg, #1c1814, #231d18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
[data-theme="dark"] .summary-metric-label {
  color: #9fa9b8;
}
[data-theme="dark"] .summary-metric-value {
  color: #F5F5F5;
}
[data-theme="dark"] .summary-steps-panel {
  border-color: #302920;
  background: linear-gradient(180deg, #171411, #201b16);
}
[data-theme="dark"] .summary-steps-head h4 {
  color: #d8c4a3;
}
[data-theme="dark"] .planner-steps-list li {
  border-color: #302920;
  background: rgba(37, 32, 27, 0.9);
  color: #F5F5F5;
}
[data-theme="dark"] .planner-steps-list li::before {
  background: #2b3340;
  color: #dce7f7;
}

/* Dashboard responsive */
@media (max-width: 1440px) {
  #page-dashboard .workspace {
    max-width: 100%;
    padding: 0 28px;
  }
}
@media (max-width: 768px) {
  #page-dashboard {
    padding: 16px 0 60px;
  }
  #page-dashboard .workspace {
    padding: 0 16px;
  }
  .legal-page {
    max-width: 100%;
    padding: 30px 20px 48px;
  }
  .dashboard-guest-lock {
    position: relative;
    inset: auto;
    z-index: 2;
    justify-content: center;
    align-items: stretch;
    padding: 0 16px 12px;
    background: transparent;
  }
  .dashboard-guest-lock-card {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    padding: 10px 12px;
    border-radius: 14px;
    gap: 10px;
  }
  #dashboard-preview-login-btn.dashboard-guest-lock-btn {
    width: 100%;
    min-width: 0;
  }
}

/* ── Mobile responsiveness (2026-03-12c) ── */

/*
 * Topbar: 2-row layout on small screens
 * Row 1: brand (left) + auth buttons (right)
 * Row 2: full-width nav pills
 */
@media (max-width: 620px) {
  .topbar-inner {
    height: auto;
    grid-template-columns: 1fr auto;
    padding: 10px 14px 8px;
    gap: 4px 8px;
  }
  /* topbar-end goes to row 1, right column */
  .topbar-end {
    grid-column: 2;
    grid-row: 1;
    gap: 4px;
  }
  /* nav goes to row 2, full width */
  .topbar .primary-nav {
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin-top: 4px;
    padding-bottom: 2px;
    gap: 6px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .topbar .primary-nav::-webkit-scrollbar { display: none; }
  .topbar .primary-nav .nav-pill {
    display: inline-flex;
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    min-height: 38px;
    font-size: 0.87rem;
    padding: 7px 10px;
    justify-content: center;
  }
  .topbar .primary-nav .nav-pill[data-route="mypage"].hidden {
    display: none !important;
  }
  /* Compact topbar-end items */
  .icon-btn {
    width: 32px;
    height: 32px;
    font-size: 0.88rem;
  }
  .btn-login,
  .btn-signup {
    padding: 5px 10px;
    font-size: 0.85rem;
  }
  .header-seed-chip { padding: 5px 6px; }
  .header-seed-count { font-size: 0.85rem; }
}

/* Dashboard panels: compact on mobile */
@media (max-width: 600px) {
  #page-dashboard .panel {
    border-radius: 18px;
  }
  .macro-panel,
  .day-score-panel,
  .recommend-panel,
  .market-intel-panel {
    padding: 16px;
  }
  .analysis-panel {
    padding: 12px 14px;
  }
  .card {
    padding: 14px;
  }
  /* Panel headers: wrap title + buttons on two rows */
  .day-score-head,
  .market-intel-head,
  .recommend-head {
    flex-wrap: wrap;
    gap: 6px;
  }
  .dashboard-bullet-list {
    gap: 5px 12px;
    font-size: 0.90rem;
  }
  .day-score-head-right,
  .market-intel-head-right,
  .recommend-head-right {
    flex-shrink: 0;
  }
  /* Macro head already handled at 680px */
  /* Report head: wrap h2 + action buttons */
  .report-panel {
    padding: 14px 16px;
  }
  .report-head {
    flex-wrap: wrap;
    gap: 8px;
  }
  .report-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .report-actions .ghost-btn,
  .report-head .ghost-btn {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.86rem;
    padding: 7px 10px;
  }
  /* Prevent horizontal scroll on markdown */
  .markdown-body {
    padding: 16px;
    font-size: 0.98rem;
  }
  /* Summary KPI card: compact */
  .summary-metrics {
    grid-template-columns: 1fr;
  }
  .summary-metric,
  .summary-metric--wide {
    grid-column: auto;
  }
  .summary-metric-label {
    font-size: 0.85rem;
  }
  .summary-metric-value {
    font-size: 0.96rem;
  }
  /* Links panel */
  .links-panel {
    padding: 14px 16px;
  }
  /* chart card */
  .chart-card {
    padding: 14px;
  }
}

/* ── Topbar brand button: larger (2026-03-12d) ── */
.brand-btn {
  font-size: 1.32rem;
}

.brand-logo-wordmark {
  height: 26px;
}

.hero-brand-wordmark {
  height: clamp(32px, 8vw, 46px);
}

@media (max-width: 620px) {
  .brand-logo-wordmark {
    height: 20px;
  }

  .brand-wordmark-inline {
    height: 0.76em;
    margin: 0 0.08em;
  }

  .footer-brand {
    gap: 10px;
  }

  .footer-brand-symbol {
    height: 28px;
  }

  .footer-brand-wordmark {
    height: 18px;
  }

  .hero-copy--minimal {
    gap: 14px;
  }

  .hero-brand-wordmark {
    height: 30px;
  }
}

/* ── Small text bump-up per page (2026-03-12d) ── */

/* Dashboard: small descriptive text */
.macro-name         { font-size: 0.85rem; }
.macro-change,
.macro-loading      { font-size: 0.92rem; }
.macro-updated      { font-size: 0.85rem; }
.macro-hint         { font-size: 0.87rem; }
.macro-plain        { font-size: 0.88rem; }
.macro-slide-name   { font-size: 0.87rem; }
.macro-slide-change { font-size: 1rem; }
.signal-name        { font-size: 0.87rem; }
.signal-desc        { font-size: 0.96rem; }
.signal-plain       { font-size: 0.9rem; }
.signal-pts         { font-size: 0.90rem; }
.market-intel-meta  { font-size: 0.98rem; }
.market-intel-link  { font-size: 1.05rem; }
.market-intel-cat-label { font-size: 1.06rem; }
.mi-summary-text    { font-size: 0.98rem; }
.mi-summary-bottom  { font-size: 0.92rem; }
.mi-card-label      { font-size: 0.83rem; }

/* Market condition index readability pass */
.day-score-sidecard .signal-name {
  font-size: 0.83rem;
}

.day-score-sidecard .signal-desc {
  font-size: 0.9rem;
  font-weight: 600;
  color: #334155;
  line-height: 1.55;
}
[data-theme="dark"] .day-score-sidecard .signal-desc { color: #b0bec5; }

.day-score-sidecard .signal-plain {
  font-size: 0.85rem;
  line-height: 1.56;
}
.mi-card-title      { font-size: 1.04rem; }
.mi-card-conclusion { font-size: 0.92rem; }
.mi-changes li      { font-size: 0.9rem; }
.mi-sector-name     { font-size: 0.83rem; }
.mi-sector-desc     { font-size: 0.9rem; }
.recommend-score    { font-size: 1.02rem; }
.recommend-badge-detail { font-size: 0.96rem; }
.recommend-meta,
.recommend-help,
.recommend-live-price { font-size: 1.06rem; }
.recommend-credit-note,
.recommend-premium-copy,
.recommend-locked-copy,
.recommend-signal-label,
.recommend-main-point-label { font-size: 0.92rem; }
.day-score-summary  { font-size: 0.96rem; }
.day-score-breakdown { font-size: 0.9rem; }
.assist-note        { font-size: 0.96rem; }

/* 소개 / 요금제 / 홈 pages: eyebrow + card body text */
.shell-eyebrow,
.shell-metric-card span { font-size: 0.87rem; }
.shell-body-copy,
.shell-metric-card p,
.shell-panel p      { font-size: 1.02rem; }
.contact-card-desc  { font-size: 1.02rem; }

/* 개인정보처리방침 / 이용약관 / 투자리스크고지 / 문의 */
.legal-section p    { font-size: 1.07rem; }
.legal-list li      { font-size: 1.05rem; }
.legal-note         { font-size: 0.98rem !important; }
.legal-lead         { font-size: 1.18rem; }
.contact-info-value { font-size: 1.04rem; }
.contact-info-label { font-size: 0.94rem; }

/* Footer */
.footer-link        { font-size: 0.97rem; }
.footer-disclaimer,
.footer-copy        { font-size: 0.95rem; }

/* ── Dark mode: base button fix (2026-03-12e) ── */
/* Unstyled button elements get white gradient in dark mode - override */
[data-theme="dark"] button {
  background: var(--surface-strong);
  color: var(--ink);
  box-shadow: none;
}
/* Keep specific styled buttons intact */
[data-theme="dark"] .nav-pill,
[data-theme="dark"] .icon-btn {
  background: transparent;
  color: var(--ink);
  border-color: transparent;
}
[data-theme="dark"] .btn-login,
[data-theme="dark"] .btn-signup,
[data-theme="dark"] .btn-ghost-sm,
[data-theme="dark"] .alert-toggle-fab {
  background: revert;
}
/* ghost-btn: keep dark mode variables (not revert) */
[data-theme="dark"] .ghost-btn {
  background: var(--btn-ghost-bg);
  color: var(--btn-ghost-color);
  border-color: var(--btn-ghost-border);
}
[data-theme="dark"] .topbar-end .icon-btn,
[data-theme="dark"] #theme-toggle-btn,
[data-theme="dark"] #lang-toggle-btn,
[data-theme="dark"] #header-logout-btn {
  background: rgba(17, 24, 39, 0.76);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--ink);
  box-shadow: none;
}
[data-theme="dark"] .topbar-end .icon-btn:hover,
[data-theme="dark"] #theme-toggle-btn:hover,
[data-theme="dark"] #lang-toggle-btn:hover,
[data-theme="dark"] #header-logout-btn:hover {
  background: rgba(31, 41, 55, 0.92);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--ink);
}
/* Stop-analyze button */
[data-theme="dark"] .stop-analyze-btn,
[data-theme="dark"] .analysis-secondary-btn {
  background: rgba(38, 17, 17, 0.92);
  border-color: rgba(248, 113, 113, 0.18);
  color: #fca5a5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
[data-theme="dark"] .stop-analyze-btn:hover,
[data-theme="dark"] .analysis-secondary-btn:hover {
  background: rgba(60, 24, 24, 0.96);
  border-color: rgba(248, 113, 113, 0.3);
}
/* dashboard-preview login button */
[data-theme="dark"] .btn-primary-sm {
  background: var(--ink);
  color: var(--bg);
}

/* ── Mypage redesign (2026-03-12e) ── */
.mypg-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 48px 32px 80px;
  display: grid;
  gap: 24px;
}

/* Credit bar */
.mypg-credit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 28px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06), 0 6px 20px rgba(0,0,0,0.04);
}
.mypg-credit-card {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.mypg-credit-label {
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: "Space Grotesk", sans-serif;
}
.mypg-credit-value {
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
  font-family: "Space Grotesk", sans-serif;
}
.mypg-credit-plan {
  font-size: 0.88rem;
  color: var(--muted);
  font-weight: 600;
}
.mypg-credit-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* Reports section */
.mypg-reports-section {
  display: grid;
  gap: 12px;
}
.mypg-section-label {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: "Space Grotesk", sans-serif;
  margin: 0;
}

/* Footer */
.mypg-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.mypg-delete-btn {
  background: none;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 0.90rem;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}
.mypg-delete-btn:hover {
  color: var(--error);
  border-color: rgba(220, 38, 38, 0.3);
}

/* Dark mode mypage */
[data-theme="dark"] .mypg-credit-bar {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .mypg-credit-value { color: var(--ink); }
[data-theme="dark"] .mypg-delete-btn { color: var(--muted); background: none; box-shadow: none; }
[data-theme="dark"] .mypg-delete-btn:hover { color: var(--error); border-color: rgba(248,113,113,0.3); background: none; }

/* Responsive mypage */
@media (max-width: 600px) {
  .mypg-wrap { padding: 24px 16px 60px; gap: 16px; }
  .mypg-credit-bar { flex-direction: column; align-items: flex-start; padding: 18px 20px; }
  .mypg-credit-value { font-size: 1.8rem; }
}

/* ── Dashboard alert drawer (2026-03-12e) ── */
.alert-drawer-wrap { /* panel container only */ }

/* Fixed right-side vertical tab */
.alert-toggle-fab {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-right: none;
  border-radius: 12px 0 0 12px;
  color: var(--ink);
  cursor: pointer;
  box-shadow: -4px 0 16px rgba(0,0,0,0.1);
  transition: background 0.15s, box-shadow 0.15s;
  font-family: inherit;
  z-index: 198;
}
.alert-toggle-fab span {
  writing-mode: vertical-rl;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.alert-toggle-fab:hover {
  background: var(--accent-soft);
  box-shadow: -6px 0 20px rgba(0,0,0,0.14);
}
.alert-toggle-fab[aria-expanded="true"] {
  background: var(--ink);
  color: var(--bg);
  border-color: var(--ink);
}

.alert-drawer-panel {
  position: fixed;
  top: 60px;
  right: 0;
  height: calc(100vh - 60px);
  width: 400px;
  background: var(--surface);
  border-left: none;
  border-radius: 0;
  box-shadow: -8px 0 48px rgba(0,0,0,0.14);
  z-index: 200;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.alert-drawer-panel.hidden {
  transform: translateX(100%);
  pointer-events: none;
}
.alert-drawer-panel:not(.hidden) {
  transform: translateX(0);
  pointer-events: all;
}
.alert-drawer-backdrop {
  display: none;
  position: fixed;
  inset: 60px 0 0;
  background: rgba(0,0,0,0.18);
  z-index: 199;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.alert-drawer-backdrop.open { display: block; }

.alert-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.alert-drawer-title {
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: "Space Grotesk", sans-serif;
  margin: 0;
}
.alert-drawer-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.alert-drawer-body {
  flex: 1;
  padding: 20px 24px;
  display: grid;
  gap: 14px;
  overflow-y: auto;
}

[data-theme="dark"] .alert-drawer-panel {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .alert-toggle-fab {
  background: var(--surface);
  border-color: var(--line);
  border-right: none;
  color: var(--ink);
  box-shadow: -4px 0 16px rgba(0,0,0,0.3);
}
[data-theme="dark"] .alert-toggle-fab:hover {
  background: var(--accent-soft);
}
[data-theme="dark"] .alert-toggle-fab[aria-expanded="true"] {
  background: var(--ink);
  color: var(--bg);
}

@media (max-width: 768px) {
  #header-user-chip,
  #header-logout-btn {
    display: none !important;
  }

  .alert-toggle-fab {
    right: 14px;
    top: auto;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
    transform: none;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-width: 0;
    max-width: min(calc(100vw - 28px), 132px);
    min-height: 44px;
    padding: 11px 14px;
    border-right: none;
    border-radius: 999px;
    box-shadow: 0 18px 36px rgba(11, 17, 16, 0.18);
    white-space: nowrap;
  }

  .alert-toggle-fab span {
    writing-mode: horizontal-tb;
    display: inline-block;
    font-size: 0.87rem;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }

  .alert-drawer-panel {
    top: auto;
    right: 0;
    bottom: 0;
    height: min(82vh, 760px);
    width: 100vw;
    border-top: 1px solid var(--line);
    border-left: none;
    border-radius: 26px 26px 0 0;
    box-shadow: 0 -14px 42px rgba(11, 17, 16, 0.18);
    transform: translateY(100%);
  }

  .alert-drawer-panel.hidden {
    transform: translateY(100%);
  }

  .alert-drawer-panel:not(.hidden) {
    transform: translateY(0);
  }

  .alert-drawer-head {
    position: relative;
    padding: 18px 18px 14px;
  }

  .alert-drawer-head::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 8px;
    width: 42px;
    height: 5px;
    margin-left: -21px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.45);
  }

  .alert-drawer-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .alert-drawer-body {
    padding: 14px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
    gap: 12px;
  }
}

/* ── Alert drawer redesign (2026-03-22) ── */

/* Live price strip */
.alert-live-strip {
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(11, 17, 16, 0.03);
  padding: 10px 12px;
}
[data-theme="dark"] .alert-live-strip { background: rgba(255,255,255,0.04); }
.alert-live-strip.hidden { display: none; }
.alert-live-prices { display: flex; flex-direction: column; gap: 8px; }
.alert-live-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 10px; }
.alert-live-symbol { font-size: 0.82rem; font-weight: 800; color: var(--ink); letter-spacing: 0.03em; }
.alert-live-time { grid-column: 1 / -1; font-size: 0.65rem; color: var(--muted); }
.alert-live-price-wrap { display: flex; align-items: center; gap: 6px; }
.alert-live-price { font-size: 0.98rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--ink); }
.alert-live-pct { font-size: 0.75rem; font-weight: 700; padding: 2px 7px; border-radius: 6px; font-variant-numeric: tabular-nums; }
.alert-live-pct.up   { background: rgba(22,163,74,0.12); color: #16a34a; }
.alert-live-pct.down { background: rgba(220,38,38,0.12); color: #dc2626; }
.alert-live-pct.flat { background: rgba(100,116,139,0.1); color: #64748b; }
.alert-pnl-line { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; font-size: 0.72rem; color: var(--muted); }
.alert-pnl-bar-wrap { flex: 1; height: 4px; background: rgba(15,23,42,0.08); border-radius: 999px; overflow: hidden; position: relative; }
[data-theme="dark"] .alert-pnl-bar-wrap { background: rgba(255,255,255,0.1); }
.alert-pnl-bar-fill { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border-radius: 999px; transform-origin: left center; transition: transform 0.4s; }
.alert-pnl-bar-fill.up   { background: linear-gradient(90deg, #16a34a, #4ade80); }
.alert-pnl-bar-fill.down { background: linear-gradient(90deg, #ef4444, #fca5a5); }
.alert-pnl-bar-fill.flat { background: #94a3b8; }
.alert-pnl-label { font-variant-numeric: tabular-nums; white-space: nowrap; }
.alert-pnl-label.up   { color: #16a34a; font-weight: 700; }
.alert-pnl-label.down { color: #dc2626; font-weight: 700; }

/* Form */
.alert-form-block { display: flex; flex-direction: column; gap: 10px; }
.alert-field-wrap  { display: flex; flex-direction: column; gap: 4px; }
.alert-field-label {
  font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--muted);
}
.alert-field-label--bull { color: #16a34a; }
.alert-field-label--bear { color: #dc2626; }
[data-theme="dark"] .alert-field-label--bull { color: #4ade80; }
[data-theme="dark"] .alert-field-label--bear { color: #f87171; }
.alert-input {
  width: 100%; padding: 8px 10px; border-radius: 8px;
  border: 1.5px solid var(--line); background: var(--bg); color: var(--ink);
  font-family: inherit; font-size: 0.88rem; font-variant-numeric: tabular-nums;
  transition: border-color 0.15s; box-sizing: border-box;
}
.alert-input:focus { outline: none; border-color: var(--accent); }
.alert-input--bull:focus { border-color: #16a34a; }
.alert-input--bear:focus { border-color: #dc2626; }
.alert-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.alert-price-field { display: flex; flex-direction: column; gap: 4px; }
.alert-ctrl-row { display: flex; align-items: center; gap: 8px; }
.alert-select {
  padding: 7px 8px; border-radius: 8px; border: 1.5px solid var(--line);
  background: var(--bg); color: var(--ink); font-family: inherit;
  font-size: 0.82rem; cursor: pointer; flex-shrink: 0;
}
.alert-smart-toggle { display: inline-flex; align-items: center; cursor: pointer; flex: 1; }
.alert-smart-toggle input { display: none; }
.alert-smart-pill {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 7px 10px; border-radius: 999px; border: 1.5px solid var(--line);
  background: transparent; color: var(--muted); font-size: 0.78rem; font-weight: 700;
  transition: background 0.15s, color 0.15s, border-color 0.15s; white-space: nowrap; width: 100%;
}
.alert-smart-toggle input:checked + .alert-smart-pill {
  background: linear-gradient(135deg, #eef5ff, #e3efff);
  border-color: rgba(31,110,212,0.3); color: #1f6ed4;
}
[data-theme="dark"] .alert-smart-toggle input:checked + .alert-smart-pill {
  background: rgba(96,165,250,0.15); border-color: rgba(96,165,250,0.3); color: #93c5fd;
}
.alert-add-btn {
  flex-shrink: 0; padding: 8px 14px; border-radius: 8px; border: none;
  background: var(--ink); color: var(--bg); font-family: inherit;
  font-size: 0.82rem; font-weight: 700; cursor: pointer; transition: opacity 0.15s;
}
.alert-add-btn:hover { opacity: 0.78; }

/* Smart info collapsible */
.alert-smart-info { border-radius: 10px; border: 1px solid var(--line); overflow: hidden; }
.alert-smart-summary {
  padding: 8px 12px; font-size: 0.75rem; font-weight: 700;
  color: var(--muted); cursor: pointer; user-select: none;
  letter-spacing: 0.03em;
}
.alert-smart-summary::-webkit-details-marker { display: none; }
.alert-smart-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 12px 10px; }
.alert-signal-chip {
  display: inline-flex; padding: 3px 8px; border-radius: 999px;
  border: 1px solid rgba(31,110,212,0.2); background: rgba(31,110,212,0.06);
  color: #1f6ed4; font-size: 0.7rem; font-weight: 700;
}
.alert-signal-chip--warn {
  border-color: rgba(245,158,11,0.25); background: rgba(245,158,11,0.08); color: #92400e;
}
[data-theme="dark"] .alert-signal-chip { color: #93c5fd; border-color: rgba(96,165,250,0.2); background: rgba(96,165,250,0.08); }
[data-theme="dark"] .alert-signal-chip--warn { color: #00ed68; border-color: rgba(0,237,104,0.2); background: rgba(0,237,104,0.08); }

/* Sections */
.alert-section { display: flex; flex-direction: column; gap: 6px; }
.alert-section-label {
  font-size: 0.7rem; font-weight: 800; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--muted); margin: 0;
}

/* Watchlist cards */
.watchlist-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.watchlist-card {
  border-radius: 12px; border: 1px solid var(--line); background: var(--surface);
  padding: 10px 12px; display: flex; flex-direction: column; gap: 7px;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.watchlist-card.is-error {
  border-color: rgba(220,38,38,0.4);
  background: rgba(220,38,38,0.04);
}
[data-theme="dark"] .watchlist-card.is-error {
  background: rgba(220,38,38,0.07);
}
[data-theme="dark"] .watchlist-card { background: rgba(255,255,255,0.04); }
.watchlist-card-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.watchlist-card-symbol { font-size: 0.9rem; font-weight: 800; color: var(--ink); letter-spacing: 0.03em; }
.watchlist-card-live { display: flex; align-items: center; gap: 6px; }
.watchlist-card-price { font-size: 0.9rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.watchlist-card-pct { font-size: 0.73rem; font-weight: 700; padding: 2px 6px; border-radius: 6px; font-variant-numeric: tabular-nums; }
.watchlist-card-pct.up   { background: rgba(22,163,74,0.12); color: #16a34a; }
.watchlist-card-pct.down { background: rgba(220,38,38,0.12); color: #dc2626; }
.watchlist-card-remove { border: none; background: transparent; color: var(--muted); font-size: 0.9rem; cursor: pointer; padding: 2px 4px; border-radius: 4px; line-height: 1; }
.watchlist-card-remove:hover { color: #dc2626; }
.watchlist-card-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.watchlist-level-item { display: flex; flex-direction: column; gap: 1px; }
.watchlist-level-label { font-size: 0.62rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); }
.watchlist-level-val { font-size: 0.82rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.watchlist-level-val.bull { color: #16a34a; }
.watchlist-level-val.bear { color: #dc2626; }
.watchlist-level-dist { font-size: 0.65rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.watchlist-level-dist.bull { color: #16a34a; }
.watchlist-level-dist.bear { color: #dc2626; }
.watchlist-range-bar { position: relative; height: 3px; background: rgba(15,23,42,0.07); border-radius: 999px; overflow: visible; margin-top: 2px; }
[data-theme="dark"] .watchlist-range-bar { background: rgba(255,255,255,0.08); }
.watchlist-range-fill { position: absolute; top: 0; left: 0; height: 100%; width: 100%; border-radius: 999px; transform-origin: left center; transform: scaleX(0); }
.watchlist-range-fill.up   { background: #16a34a; }
.watchlist-range-fill.down { background: #ef4444; }
.watchlist-range-dot { position: absolute; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); border: 1.5px solid var(--surface); transform: translateY(-50%) translateX(-50%); }

/* Alert log — styled timeline */
.alert-log { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; max-height: 200px; overflow-y: auto; }
.alert-log-item {
  display: flex; gap: 7px; align-items: flex-start;
  padding: 6px 8px; border-radius: 8px; font-size: 0.77rem; line-height: 1.45;
}
.alert-log-item.info  { background: rgba(31,110,212,0.06); }
.alert-log-item.warn  { background: rgba(245,158,11,0.08); }
.alert-log-item.error { background: rgba(220,38,38,0.08); }
.alert-log-dot { flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; margin-top: 5px; }
.alert-log-item.info  .alert-log-dot { background: #3b82f6; }
.alert-log-item.warn  .alert-log-dot { background: #0c6f38; }
.alert-log-item.error .alert-log-dot { background: #ef4444; }
.alert-log-time { flex-shrink: 0; font-size: 0.67rem; color: var(--muted); font-variant-numeric: tabular-nums; padding-top: 1px; }
.alert-log-msg { flex: 1; color: var(--ink); }
.alert-log-item.warn  .alert-log-msg { color: #92400e; }
.alert-log-item.error .alert-log-msg { color: #b91c1c; }
[data-theme="dark"] .alert-log-item.warn  .alert-log-msg { color: #00ed68; }
[data-theme="dark"] .alert-log-item.error .alert-log-msg { color: #f87171; }

/* ── Footer biz info + Report legal disclaimer (2026-03-12y) ── */
.footer-biz-info {
  padding: 14px 0 10px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.footer-biz-info p {
  font-size: 0.87rem;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}
.footer-email-link {
  color: var(--muted);
  text-decoration: none;
}
.footer-email-link:hover { text-decoration: underline; }
.footer-disclaimer {
  font-size: 0.87rem;
  color: var(--muted);
  line-height: 1.65;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  margin: 0;
}
.footer-disclaimer strong { color: var(--ink); }

.report-legal-disclaimer {
  margin-top: 20px;
  padding: 12px 16px;
  background: #fff8f0;
  border: 1px solid rgba(249, 115, 22, 0.3);
  border-radius: 10px;
  font-size: 0.87rem;
  color: #6b4c2a;
  line-height: 1.5;
}
.report-legal-disclaimer strong {
  display: block;
  margin-bottom: 4px;
  color: #c2410c;
  font-size: 0.87rem;
}
.report-legal-disclaimer p { margin: 0; }
[data-theme="dark"] .report-legal-disclaimer {
  background: rgba(249,115,22,0.08);
  border-left-color: #fb923c;
  color: var(--muted);
}
[data-theme="dark"] .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #report-panel .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard #report-panel .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard #research-studio .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard #research-studio .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard .report-panel .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard .report-panel .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] .zoom-dialog .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] .zoom-dialog .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] #zoom-report-content .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #zoom-report-content .report-legal-disclaimer > strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard #research-studio .research-studio-service .report-legal-disclaimer strong { color: #F5F5F5 !important; }
[data-theme="dark"] #page-dashboard #research-studio .research-studio-service .report-legal-disclaimer > strong { color: #F5F5F5 !important; }

/* Pricing page refresh */
.pricing-page-head {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pricing-page-kicker {
  margin: 0 0 12px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}

.pricing-page-title {
  max-width: none;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.pricing-page-lead {
  max-width: 760px;
  margin: 18px 0 0;
  font-size: 1.12rem;
  line-height: 1.72;
  color: var(--ink);
}

.pricing-page-sub {
  max-width: 760px;
  margin: 12px 0 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--muted);
}

.pricing-service-map-section,
.pricing-usage-section {
  display: grid;
  gap: 20px;
}

.pricing-service-map-head,
.pricing-usage-head {
  display: grid;
  gap: 10px;
}

.pricing-service-map-title,
.pricing-usage-title {
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.2;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.pricing-service-map-sub,
.pricing-usage-sub {
  max-width: 820px;
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.68;
  color: var(--muted);
}

.pricing-service-map-grid,
.pricing-usage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.pricing-usage-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-service-card,
.pricing-usage-card {
  display: grid;
  gap: 12px;
  padding: 24px 24px 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.98));
}

.pricing-service-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pricing-service-card strong,
.pricing-usage-card strong {
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.pricing-service-badge,
.pricing-usage-total {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pricing-service-copy,
.pricing-usage-card p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.68;
  color: var(--muted);
}

.pricing-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.pricing-plans-note {
  max-width: 760px;
  margin: 18px 0 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--muted);
}

.pricing-plans-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 20px;
  letter-spacing: -0.03em;
}

.pricing-unsupported-cards-note {
  margin: -8px 0 20px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(234, 88, 12, 0.08);
  border: 1px solid rgba(234, 88, 12, 0.28);
  color: #c2410c;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.45;
}

[data-theme="dark"] .pricing-unsupported-cards-note {
  background: rgba(251, 146, 60, 0.12);
  border-color: rgba(251, 146, 60, 0.35);
  color: #fdba74;
}

.pricing-topup-section {
  padding-top: 4px;
}

.pricing-topup-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}

.pricing-topup-title {
  margin-bottom: 0;
  letter-spacing: -0.03em;
}

.pricing-topup-info-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid rgba(100, 116, 139, 0.45);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #64748b;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: border-color 0.15s, background 0.15s;
}

.pricing-topup-info-btn:hover,
.pricing-topup-info-btn:focus-visible {
  border-color: rgba(100, 116, 139, 0.75);
  background: rgba(100, 116, 139, 0.08);
  outline: none;
}

.pricing-topup-info-icon {
  font-size: 0.72rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

.pricing-topup-info-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  max-width: 260px;
  padding: 9px 13px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(11, 17, 16, 0.1);
  color: #334155;
  font-size: 0.81rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s, visibility 0.18s;
  z-index: 20;
}

.pricing-topup-info-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(11, 17, 16, 0.1);
  margin-top: 0px;
}

.pricing-topup-info-tooltip::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #fff;
  margin-top: -1px;
  z-index: 1;
}

.pricing-topup-info-btn:hover .pricing-topup-info-tooltip,
.pricing-topup-info-btn:focus-visible .pricing-topup-info-tooltip,
.pricing-topup-info-btn.is-open .pricing-topup-info-tooltip {
  opacity: 1;
  visibility: visible;
}

.pricing-topup-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.pricing-card-item,
.pricing-topup-item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 30px 28px 26px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: none;
}

.pricing-card-item.is-featured {
  border-color: rgba(17, 17, 17, 0.22);
}

.pricing-card-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pricing-card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

.pricing-card-name {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.pricing-card-audience {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--muted);
}

.pricing-card-price {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin: 0;
}

.pricing-card-price-amount {
  font-size: 2.55rem;
  font-weight: 700;
  letter-spacing: -0.05em;
}

.pricing-card-price-period {
  margin-bottom: 7px;
  font-size: 0.92rem;
  color: var(--muted);
}

.pricing-card-price-usd {
  margin-bottom: 6px;
  font-size: 0.78rem;
  color: var(--muted);
  opacity: 0.65;
  font-weight: 400;
}

.pricing-card-credits {
  margin: 14px 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
}

.pricing-card-summary {
  margin: 16px 0 0;
  font-size: 0.95rem;
  line-height: 1.68;
  color: var(--muted);
}

.pricing-card-feature-list {
  margin: 18px 0 0;
  padding: 18px 0 0 18px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 9px;
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--ink);
}

.pricing-card-feature-list li {
  margin: 0;
}

.pricing-card-footer {
  margin-top: auto;
  padding-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pricing-card-footer.is-status-only {
  gap: 0;
}

.pricing-card-status {
  display: inline-flex;
  align-items: center;
}

.pricing-card-status-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.pricing-card-status-label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.14);
  flex: 0 0 auto;
}

.pricing-card-status.is-included .pricing-card-status-label::before {
  background: #94a3b8;
  box-shadow: 0 0 0 5px rgba(148, 163, 184, 0.12);
}

.pricing-card-status.is-scheduled .pricing-card-status-label {
  color: #92400e;
}
.pricing-card-status.is-scheduled .pricing-card-status-label::before {
  background: #f59e0b;
  box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.18);
}

.pricing-card-cancel-scheduled-btn {
  appearance: none;
  background: none;
  border: 1px solid rgba(202, 138, 4, 0.45);
  border-radius: 8px;
  color: #92400e;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 14px;
  cursor: pointer;
  transition: background 0.14s, border-color 0.14s;
  width: 100%;
  text-align: center;
}
.pricing-card-cancel-scheduled-btn:hover {
  background: rgba(202, 138, 4, 0.08);
  border-color: rgba(202, 138, 4, 0.7);
}
.pricing-card-action-note.is-scheduled-note {
  font-size: 0.78rem;
  color: #92400e;
  font-weight: 500;
}

.pricing-card-footer.is-scheduled {
  gap: 8px;
}

[data-theme="dark"] .pricing-card-status.is-scheduled .pricing-card-status-label {
  color: #fbbf24;
}
[data-theme="dark"] .pricing-card-cancel-scheduled-btn {
  border-color: rgba(245, 158, 11, 0.4);
  color: #fbbf24;
}
[data-theme="dark"] .pricing-card-cancel-scheduled-btn:hover {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.65);
}
[data-theme="dark"] .pricing-card-action-note.is-scheduled-note {
  color: #fbbf24;
}

.pricing-card-btn {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid #111;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  box-shadow: none;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.pricing-card-btn:hover {
  background: #262626;
  border-color: #262626;
  opacity: 1;
}

.pricing-card-btn.is-outline {
  background: transparent;
  color: var(--ink);
  border-color: var(--line-strong);
}

.pricing-card-btn.is-outline:hover {
  background: #f4f4f4;
  border-color: var(--line-strong);
}

.pricing-card-btn:disabled,
.pricing-card-btn.is-disabled {
  opacity: 1;
  cursor: default;
  background: transparent;
  color: var(--muted);
  border-color: var(--line);
}

.pricing-card-action-note {
  margin: 0;
  font-size: 0.87rem;
  line-height: 1.55;
  color: var(--muted);
}

.pricing-note-section {
  padding-top: 8px;
  width: min(1480px, calc(100vw - 48px));
  margin: 0 auto;
}

.pricing-note-list--service {
  margin-bottom: 14px;
}

.pricing-note-list {
  margin: 0;
  max-width: none;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 26px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
}

.pricing-note-list li {
  position: relative;
  margin: 0;
  padding-left: 16px;
  line-height: 1.72;
}

.pricing-note-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.28);
  transform: translateY(-50%);
}

.pricing-note-list li + li {
  margin-top: 0;
}

[data-theme="dark"] .pricing-card-item,
[data-theme="dark"] .pricing-topup-item,
[data-theme="dark"] .pricing-service-card,
[data-theme="dark"] .pricing-usage-card {
  background: #101010;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .pricing-card-item.is-featured {
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .pricing-card-badge {
  background: #f3f3f3;
  color: #111;
}

[data-theme="dark"] .pricing-service-badge,
[data-theme="dark"] .pricing-usage-total {
  background: #f3f3f3;
  color: #111;
}

[data-theme="dark"] .pricing-card-btn {
  background: #f3f3f3;
  color: #111;
  border-color: #f3f3f3;
}

[data-theme="dark"] .pricing-card-btn:hover {
  background: #dcdcdc;
  border-color: #dcdcdc;
}

[data-theme="dark"] .pricing-card-btn.is-outline,
[data-theme="dark"] .pricing-card-btn:disabled,
[data-theme="dark"] .pricing-card-btn.is-disabled {
  background: transparent;
  color: var(--muted);
  border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .pricing-card-btn.is-outline:hover {
  background: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .pricing-note-list { background: transparent; }

@media (max-width: 1240px) {
  .pricing-service-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-usage-grid {
    grid-template-columns: 1fr;
  }

  .pricing-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-topup-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .pricing-page-title {
    white-space: normal;
  }

  .pricing-page-lead {
    font-size: 1.02rem;
  }

  .pricing-page-usage,
  .pricing-service-map-sub,
  .pricing-usage-sub,
  .pricing-card-summary,
  .pricing-card-feature-list,
  .pricing-service-copy,
  .pricing-usage-card p {
    font-size: 0.9rem;
  }

  .pricing-service-map-grid,
  .pricing-cards,
  .pricing-topup-cards {
    grid-template-columns: 1fr;
  }

  .pricing-card-item,
  .pricing-topup-item {
    padding: 26px 22px 22px;
    border-radius: 24px;
  }

  .pricing-card-badge {
    top: 16px;
    right: 16px;
  }

  .pricing-note-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* Pricing page refinement */
#page-pricing {
  --pricing-green: #16a34a;
  --pricing-green-soft: #dcfce7;
  --pricing-green-line: #bbf7d0;
  --pricing-flow-panel-bg: rgba(248, 250, 252, 0.98);
  --pricing-flow-panel-border: rgba(11, 17, 16, 0.08);
  --pricing-flow-panel-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 20px 44px rgba(11, 17, 16, 0.08);
  --pricing-flow-shot-border: rgba(11, 17, 16, 0.08);
  --pricing-flow-shot-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 32px rgba(15, 23, 42, 0.10);
  --pricing-flow-node-bg: rgba(255, 255, 255, 0.98);
  --pricing-flow-node-border: rgba(11, 17, 16, 0.08);
  --pricing-flow-node-copy: #4b5563;
  --pricing-shell-width: min(1640px, calc(100vw - 12px));
  display: grid;
  gap: 24px;
  padding-bottom: 44px;
}

#page-pricing > section {
  width: var(--pricing-shell-width);
  margin: 0 auto;
}

#page-pricing .pricing-page-head,
#page-pricing .pricing-service-map-section,
#page-pricing .pricing-cards-section,
#page-pricing .pricing-topup-section,
#page-pricing .pricing-usage-section,
#page-pricing .pricing-note-section {
  position: relative;
  padding: 28px 30px;
  border: 1px solid rgba(11, 17, 16, 0.07);
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  box-shadow: 0 24px 64px rgba(11, 17, 16, 0.05);
}

#page-pricing .pricing-note-section {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-inline: 0;
}

#page-pricing .pricing-page-head {
  gap: 8px;
  padding: 24px 18px 24px;
  border: 1px solid rgba(11, 17, 16, 0.07);
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  box-shadow: 0 24px 64px rgba(11, 17, 16, 0.05);
}

#page-pricing .pricing-hero-main {
  display: block;
  width: 100%;
  margin: 0 auto;
}

#page-pricing .pricing-hero-copy {
  display: grid;
  gap: 16px;
}

#page-pricing .pricing-page-title {
  white-space: nowrap;
  max-width: none;
  font-size: clamp(1.9rem, 2.65vw, 2.8rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

#page-pricing .pricing-page-kicker {
  color: #84cc16;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

#page-pricing .pricing-page-lead,
#page-pricing .pricing-page-sub,
#page-pricing .pricing-service-map-sub,
#page-pricing .pricing-usage-sub {
  max-width: 70ch;
}

#page-pricing .pricing-page-lead {
  white-space: nowrap;
  max-width: none;
}

#page-pricing .pricing-flow-slider {
  display: grid;
  gap: 10px;
  margin-top: 0;
}

#page-pricing .pricing-flow-track {
  position: relative;
  min-height: 0;
}

#page-pricing .pricing-flow-slide {
  display: none;
}

#page-pricing .pricing-flow-slide.is-active {
  display: block;
  animation: pricingFlowFade 0.35s ease;
}

@keyframes pricingFlowFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

#page-pricing .pricing-flow-card {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 16px;
  width: 100%;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#page-pricing .pricing-flow-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  gap: 0;
  min-width: 0;
  padding: 0;
}

#page-pricing .pricing-flow-title {
  font-size: clamp(1.68rem, 2.1vw, 2.12rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  max-width: 22ch;
}

#page-pricing .pricing-flow-graph {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  min-height: 0;
  width: 100%;
  margin-inline: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#page-pricing .pricing-flow-graph--two {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

#page-pricing .pricing-flow-graph--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#page-pricing .pricing-flow-graph::before {
  content: none;
}

#page-pricing .pricing-flow-graph-rail {
  position: absolute;
  top: 50%;
  height: 2px;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0), rgba(34, 197, 94, 0.7), rgba(125, 211, 252, 0.35));
  transform: translateY(-50%);
  z-index: 0;
}

#page-pricing .pricing-flow-graph-rail--left {
  left: 32%;
  width: 17%;
}

#page-pricing .pricing-flow-graph-rail--right {
  left: 50%;
  width: 17%;
}

#page-pricing .pricing-flow-graph-rail--mid {
  left: 34%;
  width: 32%;
}

#page-pricing .pricing-flow-node {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  gap: 8px;
  grid-column: span 2;
  min-height: 120px;
  height: 120px;
  padding: 13px 16px 12px;
  border-radius: 24px;
  border: 1px solid var(--pricing-flow-node-border);
  background: var(--pricing-flow-node-bg);
  box-shadow: var(--pricing-flow-shot-shadow);
}

#page-pricing .pricing-flow-graph--two > article.pricing-flow-node:first-of-type {
  grid-column: 2 / span 3;
}

#page-pricing .pricing-flow-graph--two > article.pricing-flow-node:last-of-type {
  grid-column: 5 / span 3;
}

#page-pricing .pricing-flow-graph--three > article.pricing-flow-node {
  grid-column: auto;
}

#page-pricing .pricing-flow-node--report {
  border-color: rgba(34, 197, 94, 0.26);
}

#page-pricing .pricing-flow-node--signal {
  border-color: rgba(125, 211, 252, 0.28);
}

#page-pricing .pricing-flow-node--mindmap {
  border-color: rgba(196, 181, 253, 0.26);
}

#page-pricing .pricing-flow-node-kicker {
  color: #111111;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#page-pricing .pricing-flow-node strong {
  color: #c9a84c;
  font-size: 1.12rem;
  line-height: 1.14;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

#page-pricing .pricing-flow-node p {
  margin: 0;
  color: var(--pricing-flow-node-copy);
  font-size: 0.83rem;
  line-height: 1.42;
  white-space: nowrap;
}

#page-pricing .pricing-flow-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

#page-pricing .pricing-flow-dot {
  width: 30px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.28);
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.18s ease;
}

#page-pricing .pricing-flow-dot.is-active {
  background: #111111;
  transform: scaleX(1.08);
}

[data-theme="dark"] #page-pricing .pricing-flow-dot.is-active {
  background: #F5F5F5;
}

#page-pricing .pricing-service-map-grid,
#page-pricing .pricing-cards,
#page-pricing .pricing-topup-cards,
#page-pricing .pricing-usage-grid,
#page-pricing .pricing-note-list {
  gap: 16px;
}

#page-pricing .pricing-service-card,
#page-pricing .pricing-card-item,
#page-pricing .pricing-topup-item,
#page-pricing .pricing-usage-card {
  min-height: 100%;
  border-radius: 26px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249, 252, 250, 1));
  box-shadow: 0 14px 34px rgba(11, 17, 16, 0.04);
}

#page-pricing .pricing-service-card,
#page-pricing .pricing-usage-card {
  padding: 24px;
}

#page-pricing .pricing-card-item,
#page-pricing .pricing-topup-item {
  padding: 28px 24px 24px;
}

#page-pricing .pricing-card-item.is-featured {
  border-color: rgba(22, 163, 74, 0.28);
  box-shadow:
    0 0 0 1px rgba(22, 163, 74, 0.08),
    0 18px 40px rgba(22, 163, 74, 0.08);
}

#page-pricing .pricing-card-badge,
#page-pricing .pricing-service-badge,
#page-pricing .pricing-usage-total {
  background: rgba(220, 252, 231, 0.95);
  color: #166534;
  border: 1px solid rgba(134, 239, 172, 0.8);
}

#page-pricing .pricing-card-header {
  gap: 6px;
  margin-bottom: 18px;
}

#page-pricing .pricing-card-name {
  font-size: 1.2rem;
  line-height: 1.2;
}

#page-pricing .pricing-card-audience {
  font-size: 0.90rem;
  color: #4b5563;
}

#page-pricing .pricing-card-price {
  gap: 6px;
}

#page-pricing .pricing-card-price-amount {
  font-size: 2.4rem;
  line-height: 1;
}

#page-pricing .pricing-card-price-period,
#page-pricing .pricing-card-price-usd,
#page-pricing .pricing-card-action-note,
#page-pricing .pricing-usage-sub {
  color: #64748b;
}

#page-pricing .pricing-plans-title,
#page-pricing .pricing-topup-title,
#page-pricing .pricing-usage-title,
#page-pricing .pricing-card-name,
#page-pricing .pricing-card-credits,
#page-pricing .pricing-service-card strong,
#page-pricing .pricing-usage-card strong {
  color: #0f172a !important;
}

#page-pricing .pricing-plans-title,
#page-pricing .pricing-topup-title {
  font-size: 1.3rem;
  font-weight: 700;
}

#page-pricing .pricing-card-usage {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
  color: #1f2937;
  font-size: 0.87rem;
  font-weight: 600;
  line-height: 1.55;
}

#page-pricing .pricing-card-summary {
  margin-top: 14px;
}

#page-pricing .pricing-card-feature-list {
  margin-top: 16px;
  padding-top: 16px;
  border-top-color: rgba(148, 163, 184, 0.18);
}

#page-pricing .pricing-card-footer {
  padding-top: 20px;
  align-items: flex-start;
  gap: 12px;
}

#page-pricing .pricing-card-footer.is-status-only {
  padding-top: 22px;
}

#page-pricing .pricing-card-status-label {
  font-size: 0.84rem;
  color: #0b1110;
}

#page-pricing .pricing-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  min-width: 138px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1.5px solid var(--pricing-green-line);
  background: #ffffff;
  color: var(--pricing-green);
  box-shadow: inset 0 0 0 1px rgba(220, 252, 231, 0.7);
  font-size: 0.84rem;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition:
    background-color 160ms ease,
    color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

#page-pricing .pricing-card-btn:hover,
#page-pricing .pricing-card-btn.is-outline:hover,
#page-pricing .pricing-auth-btn:hover,
#page-pricing .purchase-btn:hover {
  background: rgba(240, 253, 244, 0.92);
  color: #166534;
  border-color: #86efac;
  box-shadow:
    inset 0 0 0 1px rgba(220, 252, 231, 0.7),
    0 10px 20px rgba(22, 163, 74, 0.08);
  transform: translateY(-1px);
}

#page-pricing .pricing-card-btn:disabled,
#page-pricing .pricing-card-btn.is-disabled {
  background: #ffffff;
  color: #94a3b8;
  border-color: rgba(203, 213, 225, 0.9);
  box-shadow: none;
  transform: none;
}

#page-pricing .pricing-card-action-note {
  font-size: 0.85rem;
  color: #64748b;
}

#page-pricing .pricing-note-list {
  grid-template-columns: 1fr;
  gap: 0;
}

#page-pricing .pricing-note-list li {
  padding: 14px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

#page-pricing .pricing-note-list li::before {
  display: none;
}

[data-theme="dark"] #page-pricing .pricing-page-head,
[data-theme="dark"] #page-pricing .pricing-service-map-section,
[data-theme="dark"] #page-pricing .pricing-cards-section,
[data-theme="dark"] #page-pricing .pricing-topup-section,
[data-theme="dark"] #page-pricing .pricing-usage-section,
[data-theme="dark"] #page-pricing .pricing-note-section {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(9, 14, 26, 0.98));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] #page-pricing .pricing-note-section {
  background: transparent;
  border: 0;
  box-shadow: none;
}

[data-theme="dark"] #page-pricing .pricing-page-head {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(9, 14, 26, 0.98));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] #page-pricing {
  --pricing-flow-panel-bg:
    radial-gradient(circle at top, rgba(34, 197, 94, 0.12), transparent 38%),
    linear-gradient(180deg, #0d131b 0%, #080d14 100%);
  --pricing-flow-panel-border: rgba(255, 255, 255, 0.08);
  --pricing-flow-panel-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 22px 46px rgba(0, 0, 0, 0.28);
  --pricing-flow-shot-border: rgba(255, 255, 255, 0.06);
  --pricing-flow-shot-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 18px 34px rgba(0, 0, 0, 0.22);
  --pricing-flow-node-bg:
    radial-gradient(circle at top left, rgba(34, 197, 94, 0.14), transparent 46%),
    linear-gradient(180deg, rgba(18, 27, 24, 0.98), rgba(11, 17, 32, 0.98));
  --pricing-flow-node-border: rgba(255, 255, 255, 0.08);
  --pricing-flow-node-copy: rgba(226, 232, 240, 0.76);
}

[data-theme="dark"] #page-pricing .pricing-service-card,
[data-theme="dark"] #page-pricing .pricing-card-item,
[data-theme="dark"] #page-pricing .pricing-topup-item,
[data-theme="dark"] #page-pricing .pricing-usage-card {
  background: linear-gradient(180deg, rgba(11, 17, 16, 0.96), rgba(11, 18, 32, 0.96));
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] #page-pricing .pricing-card-badge,
[data-theme="dark"] #page-pricing .pricing-service-badge,
[data-theme="dark"] #page-pricing .pricing-usage-total {
  background: rgba(20, 83, 45, 0.35);
  color: #bbf7d0;
  border-color: rgba(134, 239, 172, 0.28);
}

[data-theme="dark"] #page-pricing .pricing-card-usage {
  background: rgba(255, 255, 255, 0.03);
  color: #F5F5F5;
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] #page-pricing .pricing-flow-card {
  background: #0b1118;
  box-shadow: none;
}

[data-theme="dark"] #page-pricing .pricing-flow-title {
  color: #F5F5F5;
}

[data-theme="dark"] #page-pricing .pricing-flow-formula {
  color: #F5F5F5;
}

[data-theme="dark"] #page-pricing .pricing-flow-node {
  border-color: var(--pricing-flow-node-border);
}

[data-theme="dark"] #page-pricing .pricing-flow-node strong {
  color: #c9a84c;
}

[data-theme="dark"] #page-pricing .pricing-plans-title,
[data-theme="dark"] #page-pricing .pricing-topup-title,
[data-theme="dark"] #page-pricing .pricing-usage-title,
[data-theme="dark"] #page-pricing .pricing-card-name,
[data-theme="dark"] #page-pricing .pricing-card-credits,
[data-theme="dark"] #page-pricing .pricing-card-price-amount,
[data-theme="dark"] #page-pricing .pricing-service-card strong,
[data-theme="dark"] #page-pricing .pricing-usage-card strong {
  color: #F5F5F5 !important;
}


[data-theme="dark"] #page-pricing .pricing-flow-dot {
  background: rgba(255, 255, 255, 0.18);
}

[data-theme="dark"] #page-pricing .pricing-flow-dot.is-active {
  background: #22c55e;
}

[data-theme="dark"] #page-pricing .pricing-card-btn {
  background: rgba(255, 255, 255, 0.02);
  color: #bbf7d0;
  border-color: rgba(134, 239, 172, 0.3);
  box-shadow: none;
}

[data-theme="dark"] #page-pricing .pricing-card-btn:hover,
[data-theme="dark"] #page-pricing .pricing-card-btn.is-outline:hover {
  background: rgba(20, 83, 45, 0.24);
  border-color: rgba(134, 239, 172, 0.5);
}

[data-theme="dark"] #page-pricing .pricing-card-btn:disabled,
[data-theme="dark"] #page-pricing .pricing-card-btn.is-disabled {
  color: #64748b;
  border-color: rgba(71, 85, 105, 0.5);
  background: rgba(255, 255, 255, 0.02);
}

[data-theme="dark"] #page-pricing .pricing-card-status-label {
  color: #e5f7eb !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(134, 239, 172, 0.08) !important;
  border: 1px solid rgba(134, 239, 172, 0.16) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-status-label::before {
  background: #4ade80 !important;
  box-shadow: 0 0 0 5px rgba(74, 222, 128, 0.18) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-status.is-included .pricing-card-status-label {
  color: #dbe7f5 !important;
  background: rgba(148, 163, 184, 0.12) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-status.is-included .pricing-card-status-label::before {
  background: #F5F5F5 !important;
  box-shadow: 0 0 0 5px rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-pricing .pricing-note-list li {
  background: transparent;
  border-top-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 1240px) {
  #page-pricing .pricing-service-map-grid,
  #page-pricing .pricing-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #page-pricing .pricing-flow-card {
    grid-template-columns: 1fr;
  }

  #page-pricing .pricing-flow-copy {
    gap: 8px;
  }

  #page-pricing .pricing-topup-cards,
  #page-pricing .pricing-usage-grid,
  #page-pricing .pricing-note-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  #page-pricing {
    --pricing-shell-width: min(100vw - 24px, 100%);
    gap: 16px;
  }

  #page-pricing .pricing-page-head,
  #page-pricing .pricing-service-map-section,
  #page-pricing .pricing-cards-section,
  #page-pricing .pricing-topup-section,
  #page-pricing .pricing-usage-section,
  #page-pricing .pricing-note-section {
    padding: 22px 18px;
    border-radius: 24px;
  }

  #page-pricing .pricing-service-map-grid,
  #page-pricing .pricing-cards,
  #page-pricing .pricing-topup-cards,
  #page-pricing .pricing-usage-grid {
    grid-template-columns: 1fr;
  }

  #page-pricing .pricing-page-title {
    white-space: normal;
    max-width: 11ch;
  }

  #page-pricing .pricing-page-lead {
    white-space: normal;
  }

  #page-pricing .pricing-card-item,
  #page-pricing .pricing-topup-item,
  #page-pricing .pricing-service-card,
  #page-pricing .pricing-usage-card {
    padding: 22px 18px;
    border-radius: 22px;
  }

  #page-pricing .pricing-flow-track {
    min-height: 0;
  }

  #page-pricing .pricing-flow-card {
    padding: 18px 0;
    gap: 16px;
    min-height: 0;
    border-radius: 0;
  }

  #page-pricing .pricing-flow-graph {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 12px;
    padding: 18px;
  }

  #page-pricing .pricing-flow-graph-rail {
    display: none;
  }

  #page-pricing .pricing-flow-node,
  #page-pricing .pricing-flow-node--report {
    min-height: 0;
    height: auto;
    padding: 18px 16px;
  }

  #page-pricing .pricing-flow-graph--two > article.pricing-flow-node:first-of-type,
  #page-pricing .pricing-flow-graph--two > article.pricing-flow-node:last-of-type,
  #page-pricing .pricing-flow-node {
    grid-column: auto;
  }

  #page-pricing .pricing-flow-title {
    font-size: 1.34rem;
  }

  #page-pricing .pricing-flow-formula {
    font-size: 0.86rem;
  }

  #page-pricing .pricing-card-badge {
    top: 14px;
    right: 14px;
  }
}

@media (max-width: 1240px) {
  #page-pricing .pricing-page-title {
    white-space: normal;
    max-width: 12ch;
  }
}

/* ── Scroll-to-top button ── */
.scroll-top-btn {
  position: fixed;
  bottom: 28px;
  right: max(24px, calc(50vw - 690px));
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 7px 14px;
  border: 2px solid #16a34a;
  border-radius: 24px;
  background: #ffffff;
  color: #16a34a;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(22,163,74,0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 0.22s, transform 0.22s, background 0.2s, color 0.2s;
}
.scroll-top-btn.visible {
  opacity: 0.92;
  pointer-events: auto;
  transform: translateY(0);
}
.scroll-top-btn.visible:hover {
  opacity: 1;
  background: #16a34a;
  color: #ffffff;
  transform: translateY(-2px);
}
@media (max-width: 600px) {
  .scroll-top-btn {
    bottom: 16px;
    right: 14px;
    padding: 6px 10px;
    font-size: 0.84rem;
  }
}

/* ── Recommend panel sticky header (접기 버튼 항상 보이게) ── */
.recommend-panel .section-head {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(180deg, #fbfbfc 85%, rgba(251,251,252,0));
  border-bottom: none;
  padding-bottom: 10px;
  margin-bottom: -2px;
}
[data-theme="dark"] .recommend-panel .section-head {
  background: linear-gradient(180deg, #161310 85%, rgba(22,19,16,0));
  border-bottom-color: transparent;
}

/* ── Mobile UX improvements ── */

/* Scroll-to-top button: smaller on mobile */
@media (max-width: 600px) {
  .scroll-top-btn {
    bottom: 16px;
    right: 14px;
    padding: 6px 10px;
    font-size: 0.84rem;
  }
}

/* Checkpoint form: stack input + button vertically on small screens */
@media (max-width: 520px) {
  .cp-form-row {
    flex-direction: column;
  }
  .cp-submit-btn,
  .cp-form-row .analysis-secondary-btn {
    width: 100%;
    justify-content: center;
    height: 44px;
  }
  .checkpoint-panel,
  .mindmap-panel {
    padding: 12px 14px;
  }
}

/* Analysis & checkpoint panel headings: smaller on mobile */
@media (max-width: 600px) {
  .analysis-panel h2,
  .checkpoint-panel h2,
  .report-panel h2,
  .links-panel h2 {
    font-size: 1.08rem;
  }
  .section-head p {
    font-size: 0.86rem;
  }
  .analysis-kicker {
    font-size: 0.80rem;
  }
  .analysis-form {
    padding: 14px;
    border-radius: 16px;
    gap: 10px;
  }
}

/* Recommend accordion row: comfortable on mobile */
@media (max-width: 480px) {
  .recommend-row {
    padding: 13px 14px;
    gap: 10px;
  }
  .recommend-row-right {
    gap: 6px;
  }
  .recommend-live-price {
    font-size: 0.88rem !important;
  }
  .recommend-live-gap {
    font-size: 0.90rem;
  }
  .recommend-detail-inner {
    padding: 0 14px;
  }
  .recommend-item[aria-expanded="true"] .recommend-detail-inner {
    padding-bottom: 14px;
  }
}

/* Market intel AI summary: wrap label above text on very small screens */
@media (max-width: 480px) {
  .mi-summary-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

/* mi three-cards: already collapses at 860px, ensure proper padding */
@media (max-width: 600px) {
  .mi-card {
    padding: 14px 14px 12px;
  }
  .mi-card-changes {
    padding-left: 14px;
  }
}

/* Alert drawer FAB: move up to avoid conflict with TOP button on mobile */
@media (max-width: 600px) {
  .alert-toggle-fab {
    right: 12px;
    top: auto;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
    gap: 6px;
    max-width: 52px;
    min-width: 52px;
    height: 52px;
    min-height: 52px;
    padding: 0;
    border-radius: 999px;
  }

  .alert-toggle-fab span {
    display: none;
  }
}

/* Dashboard workspace: minimum comfortable padding on very small phones */
@media (max-width: 380px) {
  #page-dashboard .workspace {
    padding: 0 12px;
  }
  .macro-panel,
  .day-score-panel,
  .recommend-panel,
  .market-intel-panel,
  .analysis-panel,
  .report-panel {
    padding: 14px 12px;
  }
}

/* 대시보드 및 브리핑 페이지 공통 배경 (초록 그라데이션 완전 제거) */
#page-dashboard, #page-briefing {
  background: var(--bg) !important;
  --page-bg: var(--bg);
}

[data-theme="dark"] #page-dashboard, [data-theme="dark"] #page-briefing {
  background: var(--bg) !important;
  --page-bg: var(--bg);
}

/* ── 통합 퀵내비 가로형 레이아웃 ── */
.dash-subnav.dashboard-quicknav .dash-subnav-inner {
  display: flex !important;
  flex-direction: row !important; /* 무조건 가로로 */
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 32px !important;
  padding: 0 36px !important;
  margin: 0 auto !important;
  max-width: 1480px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-inner::-webkit-scrollbar {
  display: none;
}

.dash-subnav-pill {
  width: auto !important;
  min-width: max-content !important;
  flex-direction: row !important;
  padding: 12px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

[data-theme="dark"] #page-dashboard .dash-subnav.dashboard-quicknav {
  background: #0b1110;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

#page-dashboard .dash-subnav-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 32px;
  padding: 0 36px;
  margin: 0 auto;
  max-width: 1480px;
  min-height: 0;
  overflow: visible;
}

/* Redundant .dash-subnav-pill rules removed */

@media (max-width: 620px) {
  .dash-subnav { top: 102px; }
  .dash-subnav-inner { padding: 0 14px; min-height: 28px; gap: 14px; }
  .dash-subnav-pill { font-size: 0.83rem; }
}

.recommend-row-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 12px 0 8px;
}

.recommend-row-head[data-recommend-toggle-region] {
  cursor: pointer;
  touch-action: manipulation;
}

.recommend-row-head[data-recommend-toggle-region]:hover .rec-company-name,
.recommend-row-head[data-recommend-toggle-region]:hover .recommend-ticker,
.recommend-row-head[data-recommend-toggle-region]:hover .rec-hook-text,
.recommend-row-head[data-recommend-toggle-region]:hover .recommend-toggle-btn {
  color: #178145;
}

.recommend-toggle-btn {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 4px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: color 0.15s ease;
  box-shadow: none;
  line-height: 1;
}
.recommend-toggle-btn::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -2px);
  transition: transform 0.22s ease;
  border-radius: 1px;
}
.recommend-item[data-expanded="false"] .recommend-toggle-btn::after {
  transform: rotate(-135deg) translate(-1px, 2px);
}

.recommend-toggle-btn:hover {
  background: transparent;
  border: 0;
  color: #178145;
}


.recommend-body-collapsible {
  display: block;
  overflow: visible;
}

.recommend-body-collapsible[hidden] {
  display: none !important;
}

.recommend-item[data-expanded="false"] .recommend-body-collapsible {
  display: none;
}

.recommend-body-inner {
  min-height: 0;
  display: grid;
  gap: 12px;
  padding: 8px 0 12px;
}

/* ── Signal Briefing v2 card styles ── */
.rec-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 7px;
}

.rec-badge-main {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.83rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  letter-spacing: 0.01em;
  cursor: default;
  position: relative;
}

.rec-badge-main::before,
.rec-badge-main::after {
  position: absolute;
  left: 0;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translateX(0) translateY(4px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  z-index: 12;
}

.rec-badge-main::before {
  content: "";
  left: 18px;
  bottom: calc(100% + 6px);
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(11, 17, 16, 0.08);
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.96);
  transform: translateX(0) rotate(45deg);
  z-index: 11;
}

.rec-badge-main[data-tooltip]::after {
  content: attr(data-tooltip);
  left: 0;
  bottom: calc(100% + 12px);
  width: max-content;
  max-width: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.96);
  color: #F5F5F5;
  font-size: 0.87rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.01em;
  white-space: nowrap;
  text-align: left;
  box-shadow: 0 18px 34px rgba(11, 17, 16, 0.12);
}

.rec-badge-main[data-tooltip]:hover::before,
.rec-badge-main[data-tooltip]:hover::after,
.rec-badge-main[data-tooltip]:focus-visible::before,
.rec-badge-main[data-tooltip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
  cursor: default;
}
.rec-badge-main[data-tooltip]:hover::after,
.rec-badge-main[data-tooltip]:focus-visible::after {
  transform: translateX(0) translateY(0);
}
.rec-badge-main--new      { background: #ecfdf5; color: #059669; }
.rec-badge-main--return   { background: #eff6ff; color: #2563eb; }
.rec-badge-main--steady   { background: #ecfdf5; color: #059669; }
.rec-badge-main--weakening{ background: #dcfce7; color: #0c6f38; }

.rec-streak {
  font-size: 0.80rem;
  font-weight: 600;
  opacity: 0.72;
}

.rec-sector-chip {
  font-size: 0.81rem;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 4px;
  background: #F5F5F5;
  color: #64748b;
}

.rec-upside {
  font-size: 0.82rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  margin-left: auto;
  position: relative;
  cursor: default;
}
.rec-upside--pos { background: #ecfdf5; color: #059669; }
.rec-upside--neg { background: #fef2f2; color: #dc2626; }


.rec-head-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.rec-name-wrap {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
}

.rec-company-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0b1110;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

.rec-ticker-label {
  font-size: 0.83rem;
  font-weight: 500;
  color: #94a3b8;
  flex-shrink: 0;
}

.rec-price-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.rec-hook {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  background: rgba(16, 185, 129, 0.055);
  border-left: 3px solid #10b981;
  border-radius: 0 8px 8px 0;
  padding: 7px 10px;
  margin-bottom: 2px;
}

.rec-hook-icon {
  color: #10b981;
  font-size: 0.82rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1.5;
}

.rec-hook-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0d3a22;
  line-height: 1.55;
}

.rec-signal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.rec-signal-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rec-signal-dots {
  display: flex;
  align-items: center;
  gap: 3px;
}

.rec-sdot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #F5F5F5;
  flex-shrink: 0;
}
.rec-sdot--on { background: #10b981; }

.rec-signal-lbl {
  font-size: 0.80rem;
  font-weight: 500;
  color: #94a3b8;
}

.rec-factor-bars {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 9px 11px;
  background: #F5F5F5;
  border-radius: 10px;
  border: 1px solid #F5F5F5;
  max-width: 260px;
}

.rec-fbar {
  display: flex;
  align-items: center;
  gap: 7px;
}

.rec-fbar-name {
  font-size: 0.80rem;
  font-weight: 600;
  color: #64748b;
  width: 2.8em;
  flex-shrink: 0;
  letter-spacing: -0.01em;
}

.rec-fbar-track {
  flex: 1;
  min-width: 40px;
  height: 5px;
  border-radius: 999px;
  background: #F5F5F5;
  overflow: hidden;
}

.rec-fbar-fill {
  height: 100%;
  width: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #10b981, #34d399);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.5s ease;
}

.rec-fbar-val {
  font-size: 0.83rem;
  font-weight: 700;
  color: #059669;
  width: 26px;
  text-align: right;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

/* dark mode */
[data-theme="dark"] .rec-badge-main[data-tooltip]::before {
  border-right-color: rgba(255, 255, 255, 0.08);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: rgba(11, 17, 16, 0.96);
}
[data-theme="dark"] .rec-badge-main[data-tooltip]::after {
  background: rgba(11, 17, 16, 0.96);
  color: #F5F5F5;
  border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .rec-badge-main--new       { background: rgba(16,185,129,0.15); color: #34d399; }
[data-theme="dark"] .rec-badge-main--return    { background: rgba(37,99,235,0.15);  color: #60a5fa; }
[data-theme="dark"] .rec-badge-main--steady    { background: rgba(16,185,129,0.15); color: #34d399; }

#page-dashboard .rec-badge-main--steady { background: #ecfdf5 !important; color: #059669 !important; }
[data-theme="dark"] #page-dashboard .rec-badge-main--steady { background: rgba(16,185,129,0.15) !important; color: #34d399 !important; }
#page-dashboard .recommend-hash-chip--steady { background: #ecfdf5 !important; border-color: #b7ebcd !important; color: #047857 !important; }
[data-theme="dark"] #page-dashboard .recommend-hash-chip--steady { background: rgba(16,185,129,0.14) !important; border-color: rgba(52, 211, 153, 0.28) !important; color: #34d399 !important; }
[data-theme="dark"] .rec-badge-main--weakening { background: rgba(0,237,104,0.15);   color: #00ed68; }
[data-theme="dark"] .rec-sector-chip   { background: var(--surface-strong); color: var(--muted); }
[data-theme="dark"] .rec-upside--pos   { background: rgba(16,185,129,0.12);  color: #34d399; }
[data-theme="dark"] .rec-upside--neg   { background: rgba(220,38,38,0.12);   color: #f87171; }
[data-theme="dark"] .rec-company-name  { color: var(--ink); }
[data-theme="dark"] .rec-ticker-label  { color: var(--muted); }
[data-theme="dark"] .rec-hook          { background: transparent; border-left: 0; }
[data-theme="dark"] .rec-hook-text     { color: var(--ink); }
[data-theme="dark"] .rec-sdot          { background: var(--line); }
[data-theme="dark"] .rec-sdot--on      { background: #10b981; }
[data-theme="dark"] .rec-signal-lbl    { color: var(--muted); }
[data-theme="dark"] .rec-factor-bars   { background: var(--surface-strong); border-color: var(--line); }
[data-theme="dark"] .rec-fbar-name     { color: var(--muted); }
[data-theme="dark"] .rec-fbar-track    { background: var(--line); }
[data-theme="dark"] .rec-fbar-val      { color: #34d399; }

[data-theme="dark"] .recommend-toggle-btn {
  background: transparent;
  border: 0;
  color: #94a3b8;
}

[data-theme="dark"] .recommend-toggle-btn:hover {
  background: transparent;
  border: 0;
  color: #86efac;
}
[data-theme="dark"] .recommend-row-head[data-recommend-toggle-region]:hover .rec-company-name,
[data-theme="dark"] .recommend-row-head[data-recommend-toggle-region]:hover .recommend-ticker,
[data-theme="dark"] .recommend-row-head[data-recommend-toggle-region]:hover .rec-hook-text,
[data-theme="dark"] .recommend-row-head[data-recommend-toggle-region]:hover .recommend-toggle-btn {
  color: #86efac;
}
.mindmap-panel {
  padding: 14px 18px 14px;
  position: relative;
  overflow: hidden;
}

.mindmap-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(14, 165, 233, 0.18), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(251, 191, 36, 0.18), transparent 28%),
    radial-gradient(circle at 78% 82%, rgba(20, 184, 166, 0.16), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,0.9), rgba(244,248,255,0.94));
  pointer-events: none;
}

.mindmap-form,
.mindmap-body {
  position: relative;
  z-index: 1;
}

.mindmap-body {
  margin-top: 1rem;
}

.mindmap-stage-shell {
  display: grid;
  gap: 1rem;
}

/* ── Mindmap: 재무 흐름 탭 ── */
.mm-fin-tab-bar {
  display: flex;
  gap: 0.2rem;
  padding: 3px;
  background: rgba(15,23,42,0.05);
  border-radius: 9px;
  width: fit-content;
  border: 1px solid rgba(15,23,42,0.07);
}
html[data-theme="dark"] .mm-fin-tab-bar {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.08);
}
.mm-fin-tab {
  padding: 0.28rem 1rem;
  border-radius: 6px;
  border: none;
  background: transparent;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #64748b;
  cursor: pointer;
  transition: background 0.12s, color 0.12s, box-shadow 0.12s;
  white-space: nowrap;
  line-height: 1.5;
}
.mm-fin-tab:hover:not(.mm-fin-tab--active) {
  background: rgba(15,23,42,0.05);
  color: #334155;
}
.mm-fin-tab.mm-fin-tab--active {
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 1px 3px rgba(15,23,42,0.14), 0 0 0 0.5px rgba(15,23,42,0.06);
}
html[data-theme="dark"] .mm-fin-tab:hover:not(.mm-fin-tab--active) {
  background: rgba(255,255,255,0.07);
  color: #cbd5e1;
}
html[data-theme="dark"] .mm-fin-tab.mm-fin-tab--active {
  background: rgba(255,255,255,0.11);
  color: #f1f5f9;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 0 0 0.5px rgba(255,255,255,0.08);
}

.mm-fin-flow-wrap {
  --mm-fin-panel: rgba(255, 255, 255, 0.92);
  --mm-fin-surface: linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%);
  --mm-fin-text: #0f172a;
  --mm-fin-muted: #64748b;
  --mm-fin-soft: #94a3b8;
  --mm-fin-line: rgba(148, 163, 184, 0.18);
  --mm-fin-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
  padding: 0.35rem 0 0.1rem;
}
[data-theme="dark"] .mm-fin-flow-wrap,
html[data-theme="dark"] .mm-fin-flow-wrap {
  --mm-fin-panel: rgba(16, 22, 33, 0.95);
  --mm-fin-surface: linear-gradient(180deg, rgba(14, 20, 31, 0.98) 0%, rgba(18, 27, 42, 0.96) 100%);
  --mm-fin-text: #f8fafc;
  --mm-fin-muted: #cbd5e1;
  --mm-fin-soft: #94a3b8;
  --mm-fin-line: rgba(148, 163, 184, 0.18);
  --mm-fin-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}
.mm-fin-flow-error {
  font-size: 0.83rem;
  color: #ef4444;
  padding: 0.75rem 0.25rem;
  margin: 0;
}
html[data-theme="dark"] .mm-fin-flow-error {
  color: #f87171;
}
.mm-fin-flow-charts {
  display: grid;
  gap: 1rem;
}
.mm-fin-flow-section {
  display: grid;
  gap: 0.9rem;
  background: var(--mm-fin-panel);
  border: 1px solid var(--mm-fin-line);
  border-radius: 24px;
  padding: 1rem 1.05rem 1.1rem;
  box-shadow: var(--mm-fin-shadow);
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.mm-fin-flow-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
  flex-wrap: wrap;
}
.mm-fin-flow-head-copy {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}
.mm-fin-flow-title {
  margin: 0;
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mm-fin-soft);
}
.mm-fin-flow-meta {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--mm-fin-muted);
}
.mm-fin-flow-insight {
  margin: 0.45rem 0 0;
  padding: 0.6rem 0.75rem;
  border-radius: 12px;
  border: 1px solid var(--mm-fin-line);
  background: rgba(148, 163, 184, 0.08);
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.01em;
  color: var(--mm-fin-text, #0f172a);
  white-space: pre-line;
  word-break: keep-all;
}
.mm-fin-flow-insight.is-loading {
  opacity: 0.72;
  font-style: italic;
}
.mm-fin-flow-insight.is-error {
  opacity: 0.82;
  color: #b54747;
}
.mm-fin-flow-insight.hidden {
  display: none;
}
.mm-fin-flow-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.mm-fin-legend-item {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.38rem 0.62rem;
  border-radius: 999px;
  border: 1px solid var(--mm-fin-line);
  background: rgba(255, 255, 255, 0.55);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mm-fin-muted);
  letter-spacing: -0.01em;
}
.mm-fin-legend-dot {
  display: inline-flex;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
}
.mm-fin-flow-stage {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 22px;
  border: 1px solid var(--mm-fin-line);
  background: var(--mm-fin-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.28) transparent;
}
.mm-fin-empty {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mm-fin-muted);
}
.mm-fin-flow-board {
  position: relative;
  min-width: 100%;
}
.mm-fin-flow-svg,
.mm-fin-flow-grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.mm-fin-flow-grid {
  pointer-events: none;
}
.mm-fin-link {
  opacity: 0.92;
  filter: drop-shadow(0 8px 18px rgba(15, 23, 42, 0.16));
  transition: opacity 0.22s cubic-bezier(0.22, 1, 0.36, 1), filter 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}
.mm-fin-link.is-dim {
  opacity: 0.1;
  filter: none;
}
.mm-fin-link.is-highlight {
  opacity: 1;
  filter:
    drop-shadow(0 0 6px rgba(96, 165, 250, 0.9))
    drop-shadow(0 0 22px rgba(96, 165, 250, 0.55))
    drop-shadow(0 12px 28px rgba(96, 165, 250, 0.4));
}
.mm-fin-node {
  position: absolute;
  width: 18px;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), filter 0.22s ease;
}
.mm-fin-node.is-dim {
  opacity: 0.18;
  filter: saturate(0.5);
}
.mm-fin-node.is-related {
  opacity: 0.95;
}
.mm-fin-node.is-hovered {
  z-index: 4;
}
.mm-fin-node-bar {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.05) 100%),
    var(--mm-fin-node-color);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
  transition:
    box-shadow 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.28s ease;
}
.mm-fin-node.is-related .mm-fin-node-bar {
  box-shadow:
    0 0 0 1.5px rgba(255, 255, 255, 0.3),
    0 0 8px var(--mm-fin-node-glow, rgba(96, 165, 250, 0.3));
}
.mm-fin-node.is-hovered .mm-fin-node-bar {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.05) 100%),
    var(--mm-fin-node-color);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
}
.mm-fin-node.is-hovered .mm-fin-node-title,
.mm-fin-node.is-hovered .mm-fin-node-value {
  color: var(--mm-fin-accent, #0f172a) !important;
}
.mm-fin-node-label {
  position: absolute;
  top: 50%;
  display: grid;
  gap: 0.14rem;
  width: var(--mm-fin-label-width, 154px);
  max-width: min(220px, calc(100vw - 96px));
  transform: translateY(-50%);
}
.mm-fin-node--left .mm-fin-node-label {
  right: calc(100% + 16px);
  text-align: right;
  align-items: flex-end;
}
.mm-fin-node--right .mm-fin-node-label {
  left: calc(100% + 16px);
  text-align: left;
  align-items: flex-start;
}
.mm-fin-node--top .mm-fin-node-label {
  top: auto;
  bottom: calc(100% + 12px);
  left: 50%;
  width: min(var(--mm-fin-label-width, 176px), 176px);
  transform: translateX(-50%);
  text-align: center;
  align-items: center;
}
.mm-fin-node.is-compact .mm-fin-node-label {
  width: min(var(--mm-fin-label-width, 128px), 128px);
  gap: 0.1rem;
}
.mm-fin-node.is-compact .mm-fin-node-chip,
.mm-fin-node.is-compact .mm-fin-node-percent {
  display: none;
}
.mm-fin-node-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.3rem 0.58rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: var(--mm-fin-node-soft, rgba(148, 163, 184, 0.18));
  color: var(--mm-fin-accent, #0f172a);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.1;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.mm-fin-node-title {
  color: var(--mm-fin-text, #0f172a);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.015em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.02);
}
.mm-fin-node-value {
  color: var(--mm-fin-accent, #0f172a);
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
.mm-fin-node.is-compact .mm-fin-node-title {
  font-size: 0.82rem;
}
.mm-fin-node.is-compact .mm-fin-node-value {
  font-size: 0.84rem;
}
.mm-fin-node-percent {
  color: var(--mm-fin-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.35;
}
.mm-fin-hover-card {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 14;
  display: grid;
  gap: 0.48rem;
  max-width: 260px;
  padding: 0.88rem 0.92rem;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
  pointer-events: none;
  will-change: transform, opacity;
  contain: layout style paint;
}
.mm-fin-hover-card.hidden {
  display: none !important;
}
.mm-fin-hover-kicker {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mm-fin-soft);
}
.mm-fin-hover-title {
  font-size: 1rem;
  font-weight: 900;
  color: var(--mm-fin-text);
  line-height: 1.24;
}
.mm-fin-hover-metric {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.36rem;
  font-size: 0.96rem;
  font-weight: 800;
  color: var(--mm-fin-text);
}
.mm-fin-hover-metric-change {
  color: var(--mm-fin-accent, #60a5fa);
}
.mm-fin-hover-copy {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--mm-fin-muted);
}
.mm-fin-hover-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
}
.mm-fin-hover-links span {
  display: inline-flex;
  align-items: center;
  padding: 0.34rem 0.56rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.12);
  color: var(--mm-fin-text);
  font-size: 0.74rem;
  font-weight: 700;
}
/* --- 다크모드 컬러 가드: 어떠한 cascade 실패/테마 토글 경로에서도 검은 글씨 금지 --- */
html[data-theme="dark"] .mm-fin-flow-wrap,
[data-theme="dark"] .mm-fin-flow-wrap,
body.dark .mm-fin-flow-wrap,
body.dark-mode .mm-fin-flow-wrap,
.dark-mode .mm-fin-flow-wrap {
  --mm-fin-panel: rgba(16, 22, 33, 0.95);
  --mm-fin-surface: linear-gradient(180deg, rgba(14, 20, 31, 0.98) 0%, rgba(18, 27, 42, 0.96) 100%);
  --mm-fin-text: #f8fafc;
  --mm-fin-muted: #cbd5e1;
  --mm-fin-soft: #94a3b8;
  --mm-fin-line: rgba(148, 163, 184, 0.18);
  --mm-fin-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}
/* 1단계: wrap 내부 모든 요소에 강제 라이트 컬러 (호버/포커스/active 포함) */
html[data-theme="dark"] .mm-fin-flow-wrap,
html[data-theme="dark"] .mm-fin-flow-wrap *,
html[data-theme="dark"] .mm-fin-flow-wrap *:hover,
html[data-theme="dark"] .mm-fin-flow-wrap *:focus,
html[data-theme="dark"] .mm-fin-flow-wrap *:active,
[data-theme="dark"] .mm-fin-flow-wrap,
[data-theme="dark"] .mm-fin-flow-wrap *,
[data-theme="dark"] .mm-fin-flow-wrap *:hover,
[data-theme="dark"] .mm-fin-flow-wrap *:focus,
[data-theme="dark"] .mm-fin-flow-wrap *:active,
body.dark .mm-fin-flow-wrap,
body.dark .mm-fin-flow-wrap *,
body.dark-mode .mm-fin-flow-wrap,
body.dark-mode .mm-fin-flow-wrap *,
.dark-mode .mm-fin-flow-wrap,
.dark-mode .mm-fin-flow-wrap * {
  color: #f8fafc !important;
}
/* 2단계: 노드 제목 — 가장 높은 우선순위로 다시 못박기 (호버/포커스/active/방문 포함) */
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node .mm-fin-node-label .mm-fin-node-title,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node .mm-fin-node-label .mm-fin-node-title:hover,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node:hover .mm-fin-node-label .mm-fin-node-title,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node.is-hovered .mm-fin-node-label .mm-fin-node-title,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node.is-related .mm-fin-node-label .mm-fin-node-title,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node.is-dim .mm-fin-node-label .mm-fin-node-title,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node .mm-fin-node-label .mm-fin-node-title,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node:hover .mm-fin-node-label .mm-fin-node-title,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node.is-hovered .mm-fin-node-label .mm-fin-node-title,
body.dark .mm-fin-flow-wrap .mm-fin-node-title,
body.dark-mode .mm-fin-flow-wrap .mm-fin-node-title,
.dark-mode .mm-fin-flow-wrap .mm-fin-node-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55) !important;
}
/* 3단계: meta/legend/percent/empty muted 톤 */
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-flow-meta,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-legend-item,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-percent,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-empty,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-flow-meta,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-legend-item,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-percent,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-empty,
body.dark .mm-fin-flow-wrap .mm-fin-node-percent,
body.dark-mode .mm-fin-flow-wrap .mm-fin-node-percent,
.dark-mode .mm-fin-flow-wrap .mm-fin-node-percent {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
}
/* 4단계: value/chip — 팔레트 accent 컬러 유지 */
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-value,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-chip,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-value,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-chip,
body.dark .mm-fin-flow-wrap .mm-fin-node-value,
body.dark .mm-fin-flow-wrap .mm-fin-node-chip,
body.dark-mode .mm-fin-flow-wrap .mm-fin-node-value,
body.dark-mode .mm-fin-flow-wrap .mm-fin-node-chip,
.dark-mode .mm-fin-flow-wrap .mm-fin-node-value,
.dark-mode .mm-fin-flow-wrap .mm-fin-node-chip {
  color: var(--mm-fin-accent, #e2e8f0) !important;
  -webkit-text-fill-color: var(--mm-fin-accent, #e2e8f0) !important;
}
/* 인사이트 박스 — 다크모드에서도 검은색 금지 */
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-flow-insight,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-flow-insight,
body.dark .mm-fin-flow-wrap .mm-fin-flow-insight,
body.dark-mode .mm-fin-flow-wrap .mm-fin-flow-insight,
.dark-mode .mm-fin-flow-wrap .mm-fin-flow-insight {
  color: #e2e8f0 !important;
  -webkit-text-fill-color: #e2e8f0 !important;
  background: rgba(148, 163, 184, 0.1) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
}
/* 5단계: 호버 카드 내부 제목/지표 — 어떤 경로에서도 흰색 유지 */
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card .mm-fin-hover-title,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card .mm-fin-hover-metric,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card .mm-fin-hover-title:hover,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card .mm-fin-hover-title,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card .mm-fin-hover-metric,
body.dark .mm-fin-flow-wrap .mm-fin-hover-title,
body.dark .mm-fin-flow-wrap .mm-fin-hover-metric,
body.dark-mode .mm-fin-flow-wrap .mm-fin-hover-title,
body.dark-mode .mm-fin-flow-wrap .mm-fin-hover-metric,
.dark-mode .mm-fin-flow-wrap .mm-fin-hover-title,
.dark-mode .mm-fin-flow-wrap .mm-fin-hover-metric {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-kicker,
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-copy,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-kicker,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-copy,
body.dark .mm-fin-flow-wrap .mm-fin-hover-kicker,
body.dark .mm-fin-flow-wrap .mm-fin-hover-copy,
body.dark-mode .mm-fin-flow-wrap .mm-fin-hover-kicker,
body.dark-mode .mm-fin-flow-wrap .mm-fin-hover-copy,
.dark-mode .mm-fin-flow-wrap .mm-fin-hover-kicker,
.dark-mode .mm-fin-flow-wrap .mm-fin-hover-copy {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-metric span,
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-metric span,
body.dark .mm-fin-flow-wrap .mm-fin-hover-metric span,
body.dark-mode .mm-fin-flow-wrap .mm-fin-hover-metric span,
.dark-mode .mm-fin-flow-wrap .mm-fin-hover-metric span {
  color: #93c5fd !important;
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-legend-item {
  background: rgba(255, 255, 255, 0.04);
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-link {
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24));
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-link.is-highlight {
  filter: drop-shadow(0 12px 28px rgba(125, 211, 252, 0.22));
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-node-bar {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08),
    0 16px 30px var(--mm-fin-node-glow);
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-card {
  background: rgba(8, 15, 31, 0.82);
  border-color: rgba(148, 163, 184, 0.22);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .mm-fin-flow-wrap .mm-fin-hover-links span {
  background: rgba(148, 163, 184, 0.12);
  color: var(--mm-fin-text) !important;
}
@media (max-width: 900px) {
  .mm-fin-flow-head {
    flex-direction: column;
    align-items: stretch;
  }

  .mm-fin-flow-legend {
    justify-content: flex-start;
  }

  .mm-fin-flow-stage {
    margin-right: -0.2rem;
    padding-bottom: 0.2rem;
  }

  .mm-fin-node-label {
    width: min(var(--mm-fin-label-width, 136px), 136px);
  }

  .mm-fin-node--top .mm-fin-node-label,
  .mm-fin-node.is-compact .mm-fin-node-label {
    width: min(var(--mm-fin-label-width, 120px), 120px);
  }

  .mm-fin-node-chip,
  .mm-fin-node-percent {
    display: none;
  }

  .mm-fin-node-title {
    font-size: 0.8rem;
  }

  .mm-fin-node-value {
    font-size: 0.82rem;
  }

  .mm-fin-hover-card {
    left: 12px;
    right: 12px;
    bottom: 12px;
    max-width: none;
  }
}

/* ── Mindmap: header strip ── */
.mm-header-strip {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.mm-header-name {
  margin: 0;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0b1110;
  white-space: nowrap;
}
.mm-header-frame {
  margin: 0;
  font-size: 0.87rem;
  color: #64748b;
  line-height: 1.5;
  max-width: 600px;
}

/* ── Mindmap: insight rail (wow points) ── */
.mm-insight-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.mm-insight-card {
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,0.08);
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(8px);
  padding: 0.8rem 0.9rem 0.85rem;
  display: grid;
  gap: 0.22rem;
  box-shadow: 0 4px 18px rgba(15,23,42,0.05);
  transition: box-shadow 0.15s, border-color 0.15s, transform 0.12s;
}
.mm-insight-card:hover {
  box-shadow: 0 10px 28px rgba(15,23,42,0.09);
  transform: translateY(-1px);
  background: rgba(248,250,252,0.96);
}
.mm-insight-label {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}
.mm-insight-value {
  font-size: 1.02rem;
  font-weight: 900;
  color: #0b1110;
  line-height: 1.28;
  letter-spacing: -0.01em;
}
.mm-insight-text {
  margin: 0.1rem 0 0;
  font-size: 0.8rem;
  color: #F5F5F5;
  line-height: 1.55;
}
.mm-insight-card.mm-tone-bull { border-color: rgba(22,163,74,0.18); border-top-color: #16a34a; background: rgba(240,253,244,0.92); }
.mm-insight-card.mm-tone-bull .mm-insight-label { color: #15803d; }
.mm-insight-card.mm-tone-bull .mm-insight-value { color: #15803d; }
.mm-insight-card.mm-tone-bear { border-color: rgba(220,38,38,0.15); border-top-color: #dc2626; background: rgba(254,242,242,0.92); }
.mm-insight-card.mm-tone-bear .mm-insight-label { color: #b91c1c; }
.mm-insight-card.mm-tone-bear .mm-insight-value { color: #b91c1c; }
.mm-insight-card.mm-tone-neutral { border-top-color: #3b82f6; }
.mm-insight-card.mm-tone-neutral .mm-insight-label { color: #1d4ed8; }

/* ── Mindmap: canvas wrap ── */
.mm-canvas-wrap {
  display: grid;
  gap: 0.6rem;
}

/* ── Mindmap: guided breadcrumb ── */
.mm-guided-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  padding: 0 2px;
}
.mm-guided-label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-right: 0.2rem;
  white-space: nowrap;
}
.mm-guided-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 6px;
  border: 1px solid rgba(15,23,42,0.1);
  border-radius: 999px;
  background: rgba(255,255,255,0.7);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  color: #64748b;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
}
.mm-guided-chip:hover {
  background: rgba(15,23,42,0.05);
  color: #0b1110;
}
.mm-guided-chip.is-active {
  background: #0b1110;
  border-color: #0b1110;
  color: #F5F5F5;
}
.mm-guided-chip-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: rgba(0,0,0,0.08);
  color: #0b1110;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  flex-shrink: 0;
}
.mm-guided-chip.is-active .mm-guided-chip-num {
  background: rgba(255,255,255,0.15);
}
.mm-guided-chip-label {
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Mindmap: context strip (selected node + related) ── */
.mm-context-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.8rem;
  align-items: start;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 20px;
  background: rgba(255,255,255,0.88);
  padding: 1rem 1.1rem;
  box-shadow: 0 8px 24px rgba(15,23,42,0.05);
}
.mm-context-strip.is-bull { border-color: rgba(22,163,74,0.2); background: rgba(240,253,244,0.9); }
.mm-context-strip.is-bear { border-color: rgba(220,38,38,0.15); background: rgba(254,242,242,0.9); }
.mm-context-node {
  display: grid;
  gap: 0.3rem;
}
.mm-context-kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #94a3b8;
}
.mm-context-strip.is-bull .mm-context-kicker { color: #16a34a; }
.mm-context-strip.is-bear .mm-context-kicker { color: #dc2626; }
.mm-context-name {
  font-size: 1.12rem;
  font-weight: 800;
  color: #0b1110;
  line-height: 1.22;
  letter-spacing: -0.01em;
}
.mm-context-guide {
  display: grid;
  gap: 0.22rem;
  margin-top: 0.2rem;
  padding: 0.55rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: rgba(239, 246, 255, 0.78);
}
.mm-context-guide-kicker {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #2563eb;
}
.mm-context-guide strong {
  color: #0f172a;
  font-size: 0.88rem;
  line-height: 1.45;
}
.mm-context-guide p {
  margin: 0;
  color: #F5F5F5;
  font-size: 0.8rem;
  line-height: 1.52;
}
.mm-context-summary {
  margin: 0.1rem 0 0;
  font-size: 0.88rem;
  color: #0b1110;
  line-height: 1.6;
  font-weight: 500;
}
[data-theme="dark"] .mm-context-summary {
  color: #F5F5F5;
}
.mm-node-detail {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  color: #F5F5F5;
  line-height: 1.58;
}
.mm-related-chips {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mm-related-chip {
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 12px;
  background: rgba(248,250,252,0.85);
  padding: 0.6rem 0.75rem;
  display: grid;
  gap: 0.18rem;
  transition: background 0.12s, border-color 0.12s;
}

.mm-decision-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.8rem;
}

.mm-decision-card {
  display: grid;
  gap: 0.42rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.84);
}

.mm-decision-card.is-primary {
  border-color: rgba(37, 99, 235, 0.18);
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.92));
}

.mm-decision-label {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5b6472;
}

.mm-decision-card p {
  margin: 0;
  color: #1f2937;
  font-size: 0.9rem;
  line-height: 1.62;
}
.mm-related-chip:hover { background: rgba(241,245,249,0.95); }
.mm-related-chip.mm-tone-bull { border-color: rgba(22,163,74,0.18); border-left-color: #16a34a; }
.mm-related-chip.mm-tone-bear { border-color: rgba(220,38,38,0.15); border-left-color: #dc2626; }
.mm-related-chip-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #0b1110;
  line-height: 1.3;
}
.mm-related-chip-link {
  color: inherit;
  text-decoration: none;
}
.mm-related-chip-link:hover { text-decoration: underline; }
.mm-related-chip-copy {
  margin: 0;
  font-size: 0.78rem;
  color: #F5F5F5;
  line-height: 1.5;
}

/* ── Mindmap: depth sections ── */
.mm-depth-section {
  display: grid;
  gap: 0.9rem;
  padding: 1.05rem 1.1rem 1.1rem;
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.mm-depth-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  flex-wrap: wrap;
}

.mm-depth-copy {
  display: grid;
  gap: 0.22rem;
}

.mm-depth-kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
}

.mm-depth-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0b1110;
}

.mm-depth-subtitle {
  margin: 0;
  max-width: 620px;
  font-size: 0.82rem;
  line-height: 1.58;
  color: #64748b;
  text-align: right;
}

.mm-value-chain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.78rem;
}

.mm-insight-stack-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.78rem;
}

.mm-value-chain-card,
.mm-insight-stack-card {
  display: grid;
  gap: 0.35rem;
  min-height: 156px;
  padding: 0.92rem 0.95rem 0.95rem;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}

.mm-value-chain-card {
  align-content: start;
}

.mm-value-chain-topline {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.mm-value-chain-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: #F5F5F5;
  color: #F5F5F5;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.mm-value-chain-kicker,
.mm-insight-stack-kicker {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mm-value-chain-title,
.mm-insight-stack-title {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: #0b1110;
}

.mm-value-chain-text,
.mm-insight-stack-text {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.68;
  color: #F5F5F5;
}

.mm-value-chain-card.mm-tone-bull,
.mm-insight-stack-card.mm-tone-bull {
  border-color: rgba(22, 163, 74, 0.16);
  box-shadow: inset 0 2px 0 rgba(22, 163, 74, 0.18);
}

.mm-value-chain-card.mm-tone-bull .mm-value-chain-step,
.mm-insight-stack-card.mm-tone-bull .mm-insight-stack-kicker {
  color: #15803d;
}

.mm-value-chain-card.mm-tone-bear,
.mm-insight-stack-card.mm-tone-bear {
  border-color: rgba(220, 38, 38, 0.14);
  box-shadow: inset 0 2px 0 rgba(220, 38, 38, 0.16);
}

.mm-value-chain-card.mm-tone-bear .mm-value-chain-step,
.mm-insight-stack-card.mm-tone-bear .mm-insight-stack-kicker {
  color: #b91c1c;
}

.mm-value-chain-card.mm-tone-neutral,
.mm-insight-stack-card.mm-tone-neutral {
  border-color: rgba(15, 23, 42, 0.08);
  box-shadow: inset 0 2px 0 rgba(148, 163, 184, 0.16);
}

@media (max-width: 1200px) {
  .mm-value-chain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .mm-depth-subtitle {
    max-width: none;
    text-align: left;
  }

  .mm-insight-stack-grid,
  .mm-value-chain-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mm-value-chain-card,
  .mm-insight-stack-card {
    min-height: 0;
  }
}

[data-theme="dark"] .mm-depth-section {
  background: rgba(20, 22, 21, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .mm-depth-title,
[data-theme="dark"] .mm-value-chain-title,
[data-theme="dark"] .mm-insight-stack-title {
  color: #F5F5F5;
}

[data-theme="dark"] .mm-depth-kicker,
[data-theme="dark"] .mm-depth-subtitle,
[data-theme="dark"] .mm-value-chain-kicker,
[data-theme="dark"] .mm-insight-stack-kicker,
[data-theme="dark"] .mm-value-chain-text,
[data-theme="dark"] .mm-insight-stack-text {
  color: #F5F5F5;
}

[data-theme="dark"] .mm-value-chain-card,
[data-theme="dark"] .mm-insight-stack-card {
  background: rgba(20, 22, 21, 0.88);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="dark"] .mm-value-chain-step {
  background: rgba(255, 255, 255, 0.05);
  color: #F5F5F5;
}

/* ── Mindmap: main grid (now unused, kept for compat) ── */
.mindmap-main-grid {
  display: grid;
  gap: 0.8rem;
}

.mindmap-stage-copy {
  display: grid;
  gap: 0.85rem;
}

.mindmap-wow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.78rem;
}

.mindmap-wow-card,
.mindmap-summary-chip,
.mindmap-detail-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
}

.mindmap-wow-card {
  border-radius: 20px;
  padding: 0.86rem 0.92rem;
  display: grid;
  gap: 0.28rem;
  box-shadow: 0 18px 48px rgba(11, 17, 16, 0.08);
}

.mindmap-wow-label {
  font-size: 0.87rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}

.mindmap-wow-card strong {
  font-size: 1rem;
  line-height: 1.35;
  color: #0b1110;
}

.mindmap-wow-card p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.52;
  color: #F5F5F5;
}

.mindmap-summary-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.mindmap-summary-chip {
  border-radius: 999px;
  min-height: 34px;
  padding: 0.35rem 0.62rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  line-height: 1;
  border-color: rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.58);
  box-shadow: none;
}

.mindmap-summary-chip strong {
  font-size: 0.86rem;
  font-weight: 800;
  color: #0b1110;
}

.mindmap-subtitle {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
  color: #F5F5F5;
}

.mindmap-visual-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
}

.mindmap-visual-panel--storymap {
  grid-template-columns: 1fr;
}

.mindmap-visual-panel--stacked {
  grid-template-columns: 1fr;
  gap: 1.1rem;
}

.mindmap-cosmos {
  position: relative;
  min-height: clamp(520px, 62vh, 760px);
  border-radius: 32px;
  overflow: auto;
  background:
    radial-gradient(circle at 18% 18%, rgba(16, 185, 129, 0.12), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(14, 165, 233, 0.12), transparent 26%),
    linear-gradient(180deg, #fcfdfd 0%, #f2f7fb 100%);
  border: 1px solid rgba(148, 163, 184, 0.26);
  box-shadow:
    0 24px 54px rgba(11, 17, 16, 0.09),
    inset 0 1px 0 rgba(255,255,255,0.88);
}

.mindmap-info-stack {
  display: grid;
  gap: 1rem;
}

.mindmap-cosmos::before,
.mindmap-cosmos::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mindmap-cosmos::before {
  background:
    linear-gradient(90deg,  rgba(148,163,184,0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(148,163,184,0.045) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, rgba(0,0,0,0.14), transparent 80%);
  opacity: 0.28;
  animation: none;
}

@keyframes mm-grid-breathe {
  0%,100% { opacity: 0.38; }
  50%      { opacity: 0.18; }
}

.mindmap-cosmos::after {
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.2), rgba(255,255,255,0) 60%);
}

.mindmap-network-svg,
.mindmap-cytoscape-canvas,
.mindmap-network-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mindmap-cytoscape-canvas {
  z-index: 1;
}

.mindmap-cytoscape-canvas.hidden,
.mindmap-network-svg.hidden,
.mindmap-network-layer.hidden {
  display: none;
}

.mindmap-network-svg {
  overflow: visible;
}

.mindmap-network-orbit {
  fill: none;
  stroke: rgba(148, 163, 184, 0.12);
  stroke-width: 1.2;
}

.mindmap-network-link {
  fill: none;
  stroke-linecap: round;
  opacity: 0.36;
  transition: opacity 220ms ease;
  stroke-dashoffset: 0;
  animation: mm-link-in 0.9s ease-out both;
}

@keyframes mm-link-in {
  from { opacity: 0; stroke-dashoffset: 200; }
  to   { stroke-dashoffset: 0; }
}

.mindmap-network-link.is-highlight {
  opacity: 0.92;
  filter: url(#mm-link-glow);
  stroke-width: 2.2px;
}

.mindmap-network-layer {
  pointer-events: none;
}

.mindmap-network-node {
  position: absolute;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.94));
  color: #0b1110;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.78);
  backdrop-filter: blur(12px);
  padding: 12px 13px 12px;
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 6px;
  text-align: left;
  pointer-events: auto;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.mindmap-network-node::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top left, rgba(255,255,255,0.84), transparent 42%);
  pointer-events: none;
}

.mindmap-network-node {
  animation: mm-node-in 0.5s cubic-bezier(0.16,1,0.3,1) both;
}

@keyframes mm-node-in {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.82); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.mindmap-network-node:hover {
  transform: translate(-50%, -50%) translateY(-3px) scale(1.03);
  border-color: rgba(16, 185, 129, 0.28);
  box-shadow:
    0 28px 52px rgba(11, 17, 16, 0.13),
    0 0 0 1px rgba(255,255,255,0.82) inset;
}

.mindmap-network-node.is-active {
  transform: translate(-50%, -50%) translateY(-2px) scale(1.04);
  border-color: rgba(34, 197, 94, 0.7) !important;
  filter: url(#mm-node-glow);
  box-shadow:
    0 0 0 4px rgba(34, 197, 94, 0.18),
    0 0 32px 8px rgba(34, 197, 94, 0.25),
    0 20px 42px rgba(11, 17, 16, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

.mindmap-network-node.is-active:hover {
  filter: url(#mm-node-glow) brightness(1.05);
}

.mindmap-network-node.ring-0 {
  border-radius: 34px;
  padding: 16px 18px 16px;
  background:
    radial-gradient(circle at top left, rgba(16, 185, 129, 0.22), transparent 46%),
    radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,248,246,0.96));
}

.mindmap-network-node-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(248,250,252,0.86);
  border: 1px solid rgba(15,23,42,0.08);
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #334155;
}

.mindmap-network-node-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}

.mindmap-network-node-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0f172a, #1d4ed8);
  color: #f8fafc;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.mindmap-network-node-title {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 100%;
  font-size: 0.96rem;
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: #0b1110;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.mindmap-network-node.ring-0 .mindmap-network-node-title {
  font-size: 1.14rem;
}

.mindmap-network-node-caption {
  display: block;
  width: 100%;
  font-size: 0.76rem;
  line-height: 1.42;
  color: #475569;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.mindmap-network-node-kicker {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  margin-bottom: 4px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mindmap-network-node.is-bull .mindmap-network-node-kicker {
  color: #047857;
}

.mindmap-network-node.is-bear .mindmap-network-node-kicker {
  color: #c2410c;
}

.mindmap-network-node.is-neutral .mindmap-network-node-kicker {
  color: #1d4ed8;
}

[data-theme="dark"] .mindmap-network-node-kicker {
  color: rgba(226, 232, 240, 0.7);
}

.mindmap-network-node.is-bull {
  border-color: rgba(16, 185, 129, 0.22);
}

.mindmap-network-node.is-bear {
  border-color: rgba(251, 146, 60, 0.22);
}

.mindmap-network-node.is-neutral {
  border-color: rgba(59, 130, 246, 0.18);
}

.mindmap-network-node.is-bull .mindmap-network-node-badge {
  background: rgba(236, 253, 245, 0.96);
  color: #047857;
}

.mindmap-network-node.is-bear .mindmap-network-node-badge {
  background: rgba(255, 247, 237, 0.98);
  color: #c2410c;
}

.mindmap-network-node.is-neutral .mindmap-network-node-badge {
  background: rgba(239, 246, 255, 0.98);
  color: #1d4ed8;
}

.mindmap-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
}

.mindmap-hero-copy {
  display: grid;
  gap: 0.35rem;
}

.mindmap-hero-kicker {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-hero-title {
  margin: 0;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
  color: #0b1110;
}

.mindmap-hero-lede {
  margin: 0;
  max-width: 920px;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #F5F5F5;
}

.mindmap-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.7rem;
}

.mindmap-hero--slim {
  grid-template-columns: 1fr;
  margin-bottom: 0.6rem;
}

.mindmap-hero--slim .mindmap-hero-title {
  font-size: clamp(1.1rem, 2vw, 1.45rem);
}

.mindmap-hero--slim .mindmap-hero-lede {
  font-size: 0.88rem;
  color: #64748b;
}

.mindmap-graph-controls {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  display: flex;
  gap: 8px;
}

.mindmap-graph-controls .mindmap-graph-zoom-btn {
  min-height: 34px;
  padding: 0 14px;
  font-size: 0.87rem;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 2px 8px rgba(11, 17, 16, 0.12);
}

[data-theme="dark"] .mindmap-graph-controls .mindmap-graph-zoom-btn {
  background: rgba(30, 41, 59, 0.88);
  color: #F5F5F5;
  border-color: rgba(255, 255, 255, 0.12);
}

.mindmap-guided-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.72rem;
}

.mindmap-guided-step {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.72rem;
  align-items: start;
  padding: 0.82rem 0.88rem;
  border-radius: 22px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.08), transparent 28%),
    rgba(255, 255, 255, 0.88);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(11, 17, 16, 0.05);
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.mindmap-guided-step:hover,
.mindmap-guided-step.is-active {
  transform: translateY(-1px);
  border-color: rgba(14, 165, 233, 0.2);
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.12), transparent 30%),
    rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 38px rgba(11, 17, 16, 0.07);
}

.mindmap-guided-step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: linear-gradient(135deg, #0b1110, #0b1110);
  color: #F5F5F5;
  font-size: 0.84rem;
  font-weight: 800;
  font-family: "Space Grotesk", sans-serif;
  box-shadow: 0 10px 20px rgba(11, 17, 16, 0.12);
}

.mindmap-guided-step-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.mindmap-guided-step-kicker {
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-guided-step-copy strong {
  font-size: 0.88rem;
  line-height: 1.35;
  color: #0b1110;
}

.mindmap-guided-step-copy span:last-child {
  font-size: 0.88rem;
  line-height: 1.52;
  color: #334155;
}

.mindmap-visual-panel--mindmap {
  grid-template-columns: 1fr;
  margin: 0 -18px;
}

.mindmap-interaction-hint {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.88);
  color: #0b1110;
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: 0 10px 24px rgba(11, 17, 16, 0.05);
}

.mindmap-reading-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 0.8rem;
  align-items: start;
}

.mindmap-reading-card {
  border-radius: 26px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,250,252,0.98));
  box-shadow: 0 18px 42px rgba(11, 17, 16, 0.07);
  padding: 0.96rem 1rem;
  display: grid;
  gap: 0.72rem;
}

.mindmap-reading-head {
  display: grid;
  gap: 0.28rem;
}

.mindmap-reading-head h3 {
  margin: 0;
  font-size: 1.32rem;
  line-height: 1.14;
  color: #0b1110;
}

.mindmap-reading-section,
.mindmap-briefing-hero,
.mindmap-briefing-card {
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.9);
  padding: 0.74rem 0.82rem;
}

.mindmap-briefing-card {
  padding: 0.66rem 0.82rem;
}

.mindmap-briefing-hero {
  display: grid;
  gap: 0.35rem;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.08), transparent 26%),
    rgba(248, 250, 252, 0.94);
}

.mindmap-briefing-kicker {
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-briefing-hero strong {
  font-size: 1rem;
  line-height: 1.35;
  color: #0b1110;
}

.mindmap-briefing-hero p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.6;
  color: #F5F5F5;
}

.mindmap-glance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
}

.mindmap-glance-card {
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.08), transparent 28%),
    rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(12px);
  padding: 0.72rem 0.8rem;
  display: grid;
  gap: 0.46rem;
  box-shadow: 0 16px 38px rgba(11, 17, 16, 0.08);
}

.mindmap-canvas-glance {
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
}

.mindmap-canvas-glance-card {
  border-radius: 22px;
  border: 1px solid rgba(11, 17, 16, 0.07);
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.07), transparent 28%),
    rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  padding: 0.72rem 0.8rem;
  display: grid;
  gap: 0.46rem;
  box-shadow: 0 14px 28px rgba(11, 17, 16, 0.06);
}

.mindmap-glance-title {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-glance-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.mindmap-glance-item {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.86);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0b1110;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.mindmap-glance-item.is-link:hover {
  transform: translateY(-1px);
  border-color: rgba(14, 165, 233, 0.24);
  background: rgba(255, 255, 255, 0.96);
}

.mindmap-glance-item.is-active {
  border-color: rgba(16, 185, 129, 0.3);
  background: rgba(236, 253, 245, 0.96);
  box-shadow: 0 10px 22px rgba(16, 185, 129, 0.12);
}

.mindmap-glance-item.is-bull {
  border-color: rgba(45, 212, 191, 0.24);
  background: rgba(236, 253, 245, 0.9);
}

.mindmap-glance-item.is-neutral {
  border-color: rgba(96, 165, 250, 0.22);
  background: rgba(239, 246, 255, 0.9);
}

.mindmap-glance-item.is-bear {
  border-color: rgba(251, 146, 60, 0.22);
  background: rgba(255, 247, 237, 0.92);
}

.mindmap-expand-btn,
.mindmap-graph-zoom-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.82);
  color: #0b1110;
  font-size: 0.87rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.mindmap-expand-btn:hover,
.mindmap-graph-zoom-btn:hover {
  background: #ffffff;
  border-color: rgba(14, 165, 233, 0.24);
  transform: translateY(-1px);
}

.mindmap-canvas-top {
  position: absolute;
  left: 22px;
  right: 22px;
  top: 18px;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.mindmap-stage-label {
  display: grid;
  gap: 0.16rem;
  min-height: 48px;
  min-width: min(420px, 100%);
  padding: 0.72rem 0.92rem;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.82);
  color: #0f172a;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(14px);
}

.mindmap-stage-label span {
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-stage-label strong {
  font-size: 0.96rem;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.mindmap-stage-label p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #334155;
}

.mindmap-edge-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.mindmap-edge-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 15, 31, 0.36);
  color: rgba(226, 232, 240, 0.92);
  font-size: 0.83rem;
  font-weight: 700;
  backdrop-filter: blur(10px);
}

.mindmap-edge-chip i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.mindmap-edge-chip.is-positive {
  color: #5eead4;
}

.mindmap-edge-chip.is-neutral {
  color: #93c5fd;
}

.mindmap-edge-chip.is-negative {
  color: #fdba74;
}

.mindmap-canvas-tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mindmap-tool-btn {
  appearance: none;
  -webkit-appearance: none;
  min-width: 34px;
  height: 34px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 15, 31, 0.48);
  color: #F5F5F5;
  font-size: 0.85rem;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.mindmap-tool-btn:hover {
  background: rgba(11, 17, 16, 0.7);
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-1px);
}

.mindmap-canvas-close {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  right: 22px;
  bottom: 18px;
  z-index: 4;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 15, 31, 0.42);
  color: #F5F5F5;
  font-size: 0.87rem;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(12px);
}

.mindmap-canvas-close.hidden {
  display: none;
}

.mindmap-graph-viewport {
  position: absolute;
  inset: 104px 18px 18px;
  overflow: auto;
  cursor: default;
  touch-action: none;
  border-radius: 28px;
}

.mindmap-graph-viewport.is-cytoscape,
.mindmap-graph-viewport.is-cytoscape:active {
  cursor: default;
}

.mindmap-graph-stage {
  position: absolute;
  inset: 0;
  transform-origin: 50% 50%;
  will-change: transform;
  transition: transform 0.14s ease;
}

.mindmap-network-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.mindmap-orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(148, 163, 184, 0.18);
  pointer-events: none;
}

.mindmap-orbit--inner {
  width: 46%;
  height: 46%;
}

.mindmap-orbit--outer {
  width: 78%;
  height: 78%;
}

.mindmap-svg,
.mindmap-node-layer {
  position: absolute;
  inset: 0;
}

.mindmap-node {
  position: absolute;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(9, 14, 26, 0.72);
  color: #F5F5F5;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  cursor: pointer;
  text-align: center;
  box-shadow: 0 14px 28px rgba(2, 8, 23, 0.24);
  backdrop-filter: blur(16px);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.mindmap-node:hover,
.mindmap-node.is-active {
  transform: translate(-50%, -50%) scale(1.08);
  border-color: rgba(255,255,255,0.44);
  box-shadow: 0 20px 42px rgba(14, 165, 233, 0.22);
}

.mindmap-node.ring-0 {
  z-index: 4;
  background: radial-gradient(circle at 35% 35%, rgba(251,191,36,0.95), rgba(37,99,235,0.88));
  color: #081120;
  border-color: rgba(255,255,255,0.55);
}

.mindmap-node-pulse {
  position: absolute;
  inset: -10%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,0.14);
  animation: mindmapPulse 2.8s ease-out infinite;
}

.mindmap-node-label {
  position: relative;
  z-index: 1;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.15;
  max-width: 76%;
  letter-spacing: -0.02em;
}

.mindmap-node-metric {
  position: relative;
  z-index: 1;
  font-size: 0.82rem;
  opacity: 0.76;
  max-width: 80%;
}

.mindmap-hover-card {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 4;
  max-width: min(340px, calc(100% - 100px));
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 15, 31, 0.66);
  color: #F5F5F5;
  backdrop-filter: blur(16px);
  box-shadow: 0 22px 48px rgba(2, 8, 23, 0.24);
}

.mindmap-hover-card.hidden {
  display: none;
}

.mindmap-hover-kicker {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7dd3fc;
}

.mindmap-hover-title {
  margin-top: 4px;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.45;
  color: #F5F5F5;
}

.mindmap-hover-detail,
.mindmap-hover-meta {
  margin-top: 4px;
  font-size: 0.87rem;
  line-height: 1.55;
  color: #F5F5F5;
}

.mindmap-cosmos-glass {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  max-width: calc(100% - 200px);
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(8, 15, 31, 0.32);
  color: rgba(226, 232, 240, 0.88);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.2;
  backdrop-filter: blur(10px);
}

.mindmap-detail-card {
  border-radius: 26px;
  padding: 1.15rem;
  display: grid;
  gap: 0.7rem;
  box-shadow: 0 18px 48px rgba(11, 17, 16, 0.1);
  height: auto;
  min-height: auto;
  overflow: visible;
}

.mindmap-story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.mindmap-story-card {
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
  padding: 0.95rem 1rem;
  display: grid;
  gap: 0.38rem;
  box-shadow: 0 14px 34px rgba(11, 17, 16, 0.08);
}

.mindmap-story-kicker {
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-story-card strong {
  font-size: 1rem;
  line-height: 1.3;
  color: #0b1110;
}

.mindmap-story-card p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #F5F5F5;
}

.mindmap-detail-block {
  display: grid;
  gap: 0.8rem;
  padding-top: 0.2rem;
}

.mindmap-detail-block-title {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-related-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.mindmap-related-item {
  display: grid;
  gap: 0.28rem;
  padding: 0.66rem 0.76rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.72);
}

.mindmap-related-title {
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.4;
  color: #0b1110;
}

.mindmap-related-link {
  color: inherit;
  text-decoration: none;
}

.mindmap-related-link:hover {
  color: #0369a1;
}

.mindmap-related-node {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  background: rgba(11, 17, 16, 0.06);
  color: #0b1110;
}

.mindmap-related-copy {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #334155;
}

.mindmap-related-weight {
  font-size: 0.83rem;
  font-weight: 700;
  color: #64748b;
}

.mindmap-related-empty {
  padding: 0.9rem 1rem;
  border-radius: 18px;
  border: 1px dashed rgba(148, 163, 184, 0.26);
  color: #64748b;
  font-size: 0.87rem;
}

.mindmap-detail-kicker {
  margin: 0;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}

.mindmap-detail-card h3 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.15;
}

.mindmap-detail-summary,
.mindmap-detail-text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.58;
  color: #334155;
  overflow: visible;
  -webkit-line-clamp: unset;
  display: block;
}

.mindmap-detail-metric {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 14px;
  background: rgba(11, 17, 16, 0.06);
  padding: 0.65rem 0.8rem;
  font-weight: 700;
  color: #0b1110;
}

.mindmap-detail-takeaway {
  padding: 0.68rem 0.76rem;
  border-radius: 18px;
  border: 1px solid rgba(14, 165, 233, 0.12);
  background: linear-gradient(180deg, rgba(14, 165, 233, 0.06), rgba(255,255,255,0.42));
  font-size: 0.88rem;
  line-height: 1.52;
  color: #0b1110;
}

.mindmap-detail-takeaway-label {
  display: block;
  margin-bottom: 0.36rem;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0369a1;
}

.mindmap-primary-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 233, 0.18);
  background: rgba(255, 255, 255, 0.96);
  color: #0369a1;
  font-size: 0.85rem;
  font-weight: 800;
  text-decoration: none;
}

.mindmap-primary-link:hover {
  background: #ffffff;
  border-color: rgba(14, 165, 233, 0.3);
}

.mindmap-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mindmap-legend-item {
  border-radius: 999px;
  padding: 0.42rem 0.65rem;
  font-size: 0.85rem;
  background: rgba(15,23,42,0.06);
}

.mindmap-footnote {
  font-size: 0.85rem;
  color: #64748b;
}

.mindmap-branch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.mindmap-branch-item {
  display: grid;
  gap: 0.35rem;
  padding: 0.82rem 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(255,255,255,0.82);
}

.mindmap-branch-item strong {
  font-size: 0.88rem;
  line-height: 1.4;
  color: #0b1110;
}

.mindmap-branch-item p {
  margin: 0;
  font-size: 0.87rem;
  line-height: 1.58;
  color: #F5F5F5;
}

.mindmap-wow-card.is-bull,
.mindmap-summary-chip.is-bull,
.mindmap-legend-item.is-bull,
.mindmap-detail-card.is-bull {
  box-shadow: inset 0 0 0 1px rgba(20, 184, 166, 0.18);
}

.mindmap-wow-card.is-bear,
.mindmap-summary-chip.is-bear,
.mindmap-legend-item.is-bear,
.mindmap-detail-card.is-bear {
  box-shadow: inset 0 0 0 1px rgba(249, 115, 22, 0.18);
}

.mindmap-node.is-bull {
  background: radial-gradient(circle at 35% 35%, rgba(45, 212, 191, 0.95), rgba(8, 47, 73, 0.76));
}

.mindmap-node.is-neutral {
  background: radial-gradient(circle at 35% 35%, rgba(96, 165, 250, 0.95), rgba(11, 17, 16, 0.86));
}

.mindmap-node.is-bear {
  background: radial-gradient(circle at 35% 35%, rgba(251, 146, 60, 0.95), rgba(67, 20, 7, 0.84));
}

@keyframes mindmapPulse {
  0% { transform: scale(0.92); opacity: 0.65; }
  70% { transform: scale(1.12); opacity: 0; }
  100% { transform: scale(1.18); opacity: 0; }
}

/* ── Dark: new mindmap components ── */
[data-theme="dark"] .mm-header-name { color: #F5F5F5; }
[data-theme="dark"] .mm-header-frame { color: #94a3b8; }

[data-theme="dark"] .mm-insight-card {
  background: rgba(11, 17, 16, 0.75);
  border-color: rgba(71,85,105,0.28);
  border-top-color: rgba(71,85,105,0.5);
  backdrop-filter: blur(8px);
}
[data-theme="dark"] .mm-insight-label { color: #64748b; }
[data-theme="dark"] .mm-insight-value { color: #F5F5F5; }
[data-theme="dark"] .mm-insight-text { color: #94a3b8; }
[data-theme="dark"] .mm-insight-card.mm-tone-bull { background: rgba(20,83,45,0.25); border-color: rgba(22,163,74,0.22); border-top-color: #22c55e; }
[data-theme="dark"] .mm-insight-card.mm-tone-bull .mm-insight-label { color: #4ade80; }
[data-theme="dark"] .mm-insight-card.mm-tone-bull .mm-insight-value { color: #4ade80; }
[data-theme="dark"] .mm-insight-card.mm-tone-bear { background: rgba(127,29,29,0.2); border-color: rgba(239,68,68,0.2); border-top-color: #ef4444; }
[data-theme="dark"] .mm-insight-card.mm-tone-bear .mm-insight-label { color: #f87171; }
[data-theme="dark"] .mm-insight-card.mm-tone-bear .mm-insight-value { color: #f87171; }
[data-theme="dark"] .mm-insight-card.mm-tone-neutral { border-top-color: #60a5fa; }
[data-theme="dark"] .mm-insight-card.mm-tone-neutral .mm-insight-label { color: #60a5fa; }

[data-theme="dark"] .mm-guided-label { color: #64748b; }
[data-theme="dark"] .mm-guided-chip { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.1); color: #94a3b8; }
[data-theme="dark"] .mm-guided-chip:hover { background: rgba(255,255,255,0.09); color: #F5F5F5; }
[data-theme="dark"] .mm-guided-chip.is-active { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.25); color: #F5F5F5; }
[data-theme="dark"] .mm-guided-chip-num { background: rgba(255,255,255,0.12); color: #F5F5F5; }
[data-theme="dark"] .mm-guided-chip.is-active .mm-guided-chip-num { background: rgba(255,255,255,0.18); color: #F5F5F5; }

[data-theme="dark"] .mm-context-strip {
  background: rgba(11, 17, 16, 0.72);
  border-color: rgba(71,85,105,0.3);
}
[data-theme="dark"] .mm-context-strip.is-bull { background: rgba(20,83,45,0.2); border-color: rgba(22,163,74,0.22); }
[data-theme="dark"] .mm-context-strip.is-bear { background: rgba(127,29,29,0.18); border-color: rgba(239,68,68,0.18); }
[data-theme="dark"] .mm-context-kicker { color: #64748b; }
[data-theme="dark"] .mm-context-name { color: #F5F5F5; }
[data-theme="dark"] .mm-context-guide {
  background: rgba(30, 41, 59, 0.7);
  border-color: rgba(96, 165, 250, 0.25);
}
[data-theme="dark"] .mm-context-guide-kicker { color: #93c5fd; }
[data-theme="dark"] .mm-context-guide strong { color: #F5F5F5; }
[data-theme="dark"] .mm-context-guide p { color: #94a3b8; }
[data-theme="dark"] .mm-context-summary { color: #F5F5F5; }
[data-theme="dark"] .mm-node-detail { color: #94a3b8; }

[data-theme="dark"] .mm-related-chip { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .mm-related-chip.mm-tone-bull { border-color: rgba(22,163,74,0.22); }
[data-theme="dark"] .mm-related-chip.mm-tone-bear { border-color: rgba(239,68,68,0.18); }
[data-theme="dark"] .mm-related-chip-name { color: #F5F5F5; }
[data-theme="dark"] .mm-related-chip-copy { color: #64748b; }
[data-theme="dark"] .mm-decision-card {
  background: rgba(15, 23, 42, 0.56);
  border-color: rgba(71, 85, 105, 0.44);
}
[data-theme="dark"] .mm-decision-card.is-primary {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.88), rgba(30, 41, 59, 0.68));
  border-color: rgba(96, 165, 250, 0.28);
}
[data-theme="dark"] .mm-decision-label { color: #94a3b8; }
[data-theme="dark"] .mm-decision-card p { color: #F5F5F5; }

[data-theme="dark"] .mindmap-wow-card,
[data-theme="dark"] .mindmap-summary-chip,
[data-theme="dark"] .mindmap-detail-card,
[data-theme="dark"] .mindmap-story-card {
  background: rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
}

[data-theme="dark"] .mindmap-glance-card {
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.08), transparent 28%),
    rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
}

[data-theme="dark"] .mindmap-canvas-glance-card {
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.08), transparent 28%),
    rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
}

[data-theme="dark"] .mindmap-hero-kicker,
[data-theme="dark"] .mindmap-wow-label,
[data-theme="dark"] .mindmap-subtitle,
[data-theme="dark"] .mindmap-detail-kicker,
[data-theme="dark"] .mindmap-story-kicker,
[data-theme="dark"] .mindmap-glance-title,
[data-theme="dark"] .mindmap-detail-block-title,
[data-theme="dark"] .mindmap-footnote {
  color: #94a3b8;
}

[data-theme="dark"] .mindmap-hero-title,
[data-theme="dark"] .mindmap-wow-card strong,
[data-theme="dark"] .mindmap-summary-chip strong,
[data-theme="dark"] .mindmap-story-card strong,
[data-theme="dark"] .mindmap-detail-card h3,
[data-theme="dark"] .mindmap-detail-metric {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-hero-lede,
[data-theme="dark"] .mindmap-wow-card p,
[data-theme="dark"] .mindmap-story-card p,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-related-copy,
[data-theme="dark"] .mindmap-related-weight,
[data-theme="dark"] .mindmap-related-empty {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-detail-metric,
[data-theme="dark"] .mindmap-legend-item {
  background: rgba(255,255,255,0.06);
}

[data-theme="dark"] .mindmap-expand-btn {
  background: rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-graph-zoom-btn {
  background: rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-interaction-hint {
  background: rgba(9, 15, 29, 0.78);
  border-color: rgba(71, 85, 105, 0.42);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-guided-step {
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.08), transparent 30%),
    rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

[data-theme="dark"] .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-guided-step.is-active {
  border-color: rgba(45, 212, 191, 0.26);
  background:
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.12), transparent 32%),
    rgba(9, 15, 29, 0.9);
}

[data-theme="dark"] .mindmap-guided-step-index {
  background: linear-gradient(135deg, #16a34a, #1d4ed8);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-guided-step-kicker {
  color: #94a3b8;
}

[data-theme="dark"] .mindmap-guided-step-copy strong {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-guided-step-copy span:last-child {
  color: #F5F5F5;
}

@media (max-width: 1100px) {
  .mindmap-guided-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .cp-item-grid {
    grid-template-columns: 1fr;
  }

  .mindmap-guided-strip {
    grid-template-columns: 1fr;
  }
}

[data-theme="dark"] .mindmap-network-orbit {
  stroke: rgba(148, 163, 184, 0.12);
}

[data-theme="dark"] .mindmap-network-node {
  border-color: rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
    linear-gradient(180deg, rgba(18, 28, 44, 0.96), rgba(12, 20, 32, 0.94));
  color: #F5F5F5;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="dark"] .mindmap-network-node.ring-0 {
  background:
    radial-gradient(circle at top left, rgba(16, 185, 129, 0.14), transparent 42%),
    radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    linear-gradient(180deg, rgba(21, 32, 47, 0.96), rgba(16, 24, 37, 0.94));
  border-color: rgba(52, 211, 153, 0.22);
}

[data-theme="dark"] .mindmap-network-node::before {
  background: radial-gradient(circle at top left, rgba(255,255,255,0.14), transparent 44%);
}

[data-theme="dark"] .mindmap-network-node:hover,
[data-theme="dark"] .mindmap-network-node.is-active {
  border-color: rgba(52, 211, 153, 0.26);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.22),
    0 0 0 1px rgba(255,255,255,0.05) inset;
}

[data-theme="dark"] .mindmap-network-node-title {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-network-node-caption {
  color: #cbd5e1;
}

[data-theme="dark"] .mindmap-network-node-badge {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.08);
  color: #dbe4ee;
}

[data-theme="dark"] .mindmap-network-node-step {
  background: linear-gradient(135deg, #16a34a, #1d4ed8);
}

[data-theme="dark"] .mindmap-stage-label {
  background: rgba(9, 15, 29, 0.82);
  border-color: rgba(71, 85, 105, 0.42);
  color: #f8fafc;
}

[data-theme="dark"] .mindmap-stage-label span {
  color: #94a3b8;
}

[data-theme="dark"] .mindmap-stage-label p {
  color: #e2e8f0;
}

[data-theme="dark"] .mindmap-related-item {
  background: rgba(11, 17, 16, 0.52);
  border-color: rgba(71, 85, 105, 0.34);
}

[data-theme="dark"] .mindmap-related-node {
  background: rgba(255, 255, 255, 0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-glance-item {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(71, 85, 105, 0.4);
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-glance-item.is-active {
  background: rgba(16, 185, 129, 0.16);
  border-color: rgba(45, 212, 191, 0.34);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .mindmap-detail-takeaway {
  background: linear-gradient(180deg, rgba(14, 165, 233, 0.08), rgba(255,255,255,0.02));
  border-color: rgba(45, 212, 191, 0.14);
}

.mindmap-canvas-close,
.mindmap-cosmos-glass,
.mindmap-summary-row,
.mindmap-legend,
.mindmap-related-weight,
.mindmap-related-node {
  display: none !important;
}

.mindmap-canvas-top,
.mindmap-edge-legend,
.mindmap-canvas-tools {
  display: flex !important;
}

.mindmap-canvas-top {
  display: grid !important;
}

.mindmap-related-item {
  gap: 0.34rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
}

[data-theme="dark"] .mindmap-cosmos {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.14);
  box-shadow: none;
}

[data-theme="dark"] .mindmap-cosmos::before {
  background:
    linear-gradient(90deg, rgba(148, 163, 184, 0.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(148, 163, 184, 0.018) 1px, transparent 1px);
  opacity: 0.12;
}

[data-theme="dark"] .mindmap-reading-card,
[data-theme="dark"] .mindmap-reading-section,
[data-theme="dark"] .mindmap-briefing-card,
[data-theme="dark"] .mindmap-briefing-hero,
[data-theme="dark"] .mindmap-related-item,
[data-theme="dark"] .mindmap-branch-item {
  background: rgba(34, 44, 61, 0.7);
  border-color: rgba(148, 163, 184, 0.12);
  box-shadow: none;
}

[data-theme="dark"] .mindmap-reading-head h3,
[data-theme="dark"] .mindmap-related-title,
[data-theme="dark"] .mindmap-branch-item strong,
[data-theme="dark"] .mindmap-briefing-hero strong {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-branch-item p,
[data-theme="dark"] .mindmap-briefing-hero p,
[data-theme="dark"] .mindmap-briefing-kicker {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-glance-card,
[data-theme="dark"] .mindmap-canvas-glance-card {
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.04), transparent 28%),
    rgba(34, 44, 61, 0.76);
  border-color: rgba(148, 163, 184, 0.12);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] .mindmap-glance-item {
  background: rgba(255,255,255,0.03);
  border-color: rgba(148, 163, 184, 0.12);
  color: #F5F5F5;
}

.zoom-mindmap-container {
  --mindmap-zoom-scale: 1;
  --mindmap-zoom-base-width: 1760px;
  --mindmap-zoom-base-height: 1220px;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 0;
  border: none;
  background: transparent;
}

.mindmap-zoom-scroll {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border: none;
  border-radius: 18px;
  background: transparent;
  padding: 0;
}

.mindmap-zoom-stage {
  width: calc(var(--mindmap-zoom-base-width, 1760px) * var(--mindmap-zoom-scale, 1));
  height: calc(var(--mindmap-zoom-base-height, 1220px) * var(--mindmap-zoom-scale, 1));
  margin: 0 auto;
}

.mindmap-cosmos--zoom {
  min-height: 100%;
  height: 100%;
  border-radius: 30px;
}

.mindmap-graph-viewport--zoom {
  inset: 24px;
  border-radius: 28px;
}

.mindmap-zoom-note {
  margin: 0;
  font-size: 0.87rem;
  line-height: 1.55;
  color: #64748b;
}

[data-theme="dark"] .mindmap-zoom-scroll {
  border-color: transparent;
  background: transparent;
}

[data-theme="dark"] .mindmap-zoom-note {
  color: #94a3b8;
}

@media (max-width: 1100px) {
  .mindmap-wow-grid {
    grid-template-columns: 1fr;
  }

  .mindmap-hero,
  .mindmap-glance-grid,
  .mindmap-reading-grid,
  .mindmap-visual-panel {
    grid-template-columns: 1fr;
  }

  .mindmap-hero-actions {
    justify-content: flex-start;
  }

  .mindmap-canvas-top {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .mindmap-network-node {
    width: 144px !important;
  }

  .mindmap-network-node.ring-0 {
    width: 154px !important;
    height: 154px !important;
  }

  .mindmap-interaction-hint {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 720px) {
  .mindmap-cosmos {
    min-height: 520px;
  }

  .mindmap-canvas-top {
    left: 14px;
    right: 14px;
    top: 14px;
    gap: 8px;
  }

  .mindmap-stage-label,
  .mindmap-edge-chip,
  .mindmap-tool-btn,
  .mindmap-canvas-close {
    min-height: 30px;
    font-size: 0.80rem;
  }

  .mindmap-network-node {
    width: 126px !important;
    height: 86px !important;
    padding: 12px 10px;
    border-radius: 22px;
  }

  .mindmap-network-node.ring-0 {
    width: 136px !important;
    height: 136px !important;
    border-radius: 28px;
    padding: 16px 14px;
  }

  .mindmap-network-node-title {
    font-size: 0.9rem;
  }

  .mindmap-network-node.ring-0 .mindmap-network-node-title {
    font-size: 1.02rem;
  }

  .mindmap-cosmos-glass {
    left: 14px;
    right: 14px;
    bottom: 14px;
    transform: none;
    max-width: none;
    padding: 8px 12px;
    border-radius: 16px;
  }

  .mindmap-hover-card {
    left: 14px;
    right: 14px;
    bottom: 62px;
    max-width: none;
  }

  .mindmap-reading-card {
    padding: 0.95rem;
    border-radius: 22px;
  }

  .mindmap-graph-viewport {
    inset: 132px 12px 12px;
    border-radius: 22px;
  }

  .mindmap-zoom-scroll {
    padding: 12px;
    border-radius: 16px;
  }

  .mindmap-zoom-stage {
    width: calc(1380px * var(--mindmap-zoom-scale, 1));
    height: calc(1040px * var(--mindmap-zoom-scale, 1));
  }

  .mindmap-reading-section,
  .mindmap-briefing-hero,
  .mindmap-briefing-card {
    padding: 0.88rem 0.9rem;
    border-radius: 18px;
  }

  .mindmap-node-label {
    font-size: 0.80rem;
  }

  .mindmap-node-metric {
    font-size: 0.82rem;
  }

  .mindmap-canvas-tools,
  .mindmap-edge-legend {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mindmap-canvas-tools::-webkit-scrollbar,
  .mindmap-edge-legend::-webkit-scrollbar {
    display: none;
  }
}

/* ── Dashboard UI/UX overhaul (2026-03-17) ─────────────────────────────── */

#page-dashboard {
  padding: 10px 0 96px;
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, 0.08), transparent 24%),
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.08), transparent 22%);
}

#page-dashboard .workspace {
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 32px;
}

#page-dashboard .dashboard-shell {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#page-dashboard .dashboard-shell > .dashboard-journey {
  grid-column: 1 / -1;
  margin-bottom: -22px;
}

#page-dashboard .dashboard-shell > .result-column {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
  min-width: 0;
}

.dashboard-stage {
  grid-column: 1 / -1;
  display: grid;
  gap: 18px;
}

.dashboard-stage + .dashboard-stage {
  margin-top: 8px;
}

.dashboard-stage-head {
  display: grid;
  gap: 8px;
  max-width: 1040px;
  padding: 6px 2px 0;
}

#research-studio .dashboard-stage-head {
  max-width: none;
}

.dashboard-stage-kicker {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  font-family: "Space Grotesk", sans-serif;
}

.dashboard-stage-title {
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
  color: #0b1110;
  font-family: "Space Grotesk", sans-serif;
}

.dashboard-stage-desc {
  margin: 0;
  color: #64748b;
  font-size: 0.98rem;
  line-height: 1.68;
}

.dashboard-stage-note {
  margin: 0;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #F5F5F5;
  font-size: 0.89rem;
  line-height: 1.62;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.dashboard-stage-note::-webkit-scrollbar {
  display: none;
}

#page-dashboard .dashboard-journey {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(11, 17, 16, 0.05);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.04), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.82), rgba(248,250,252,0.78));
  box-shadow: 0 10px 24px rgba(11, 17, 16, 0.04);
}

#page-dashboard .dashboard-journey.is-collapsed {
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

#page-dashboard .dashboard-journey-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  max-width: 900px;
  flex-wrap: nowrap;
}

#page-dashboard .dashboard-journey-body {
  margin-top: 0;
  border-top: 0 !important;
  padding-top: 0 !important;
  box-shadow: none !important;
}

#page-dashboard .dashboard-journey-kicker {
  margin: 0;
  flex: 0 1 auto;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  font-family: "Space Grotesk", sans-serif;
  white-space: nowrap;
}

#page-dashboard .dashboard-journey-toggle {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #94a3b8;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  flex: 0 0 auto;
  vertical-align: middle;
}

#page-dashboard .dashboard-journey-toggle:hover,
#page-dashboard .dashboard-journey-toggle:active,
#page-dashboard .dashboard-journey-toggle:focus-visible {
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
  color: #94a3b8;
  transform: none;
}

.dashboard-journey-title {
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.56rem);
  line-height: 1.12;
  letter-spacing: -0.04em;
  color: #0b1110;
}

.dashboard-journey-desc {
  margin: 0;
  color: #64748b;
  font-size: 0.92rem;
  line-height: 1.6;
}

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

.dashboard-journey-card {
  display: grid;
  gap: 8px;
  padding: 12px 13px;
  border-radius: 18px;
  border: 1px solid rgba(11, 17, 16, 0.05);
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.04), transparent 24%),
    rgba(255, 255, 255, 0.58);
}

.dashboard-journey-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(11, 17, 16, 0.07);
  color: #F5F5F5;
  font-size: 0.80rem;
  font-weight: 800;
  font-family: "Space Grotesk", sans-serif;
  box-shadow: none;
}

.dashboard-journey-copy {
  display: grid;
  gap: 5px;
}

.dashboard-journey-copy strong {
  color: #0b1110;
  font-size: 0.9rem;
  line-height: 1.35;
}

.dashboard-journey-copy p {
  margin: 0;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.5;
}

.dashboard-journey-action {
  appearance: none;
  -webkit-appearance: none;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.9);
  color: #0b1110;
  font-size: 0.85rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.dashboard-journey-action:hover {
  transform: translateY(-1px);
  border-color: rgba(34, 197, 94, 0.24);
  background: #ffffff;
}

.opportunity-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.opportunity-grid > #section-recommend,
.opportunity-grid > #section-market-intel {
  grid-column: 1 / -1;
  height: 100%;
}

#section-recommend,
#section-market-intel {
  align-self: stretch;
}

#section-market-intel {
  min-width: 0;
}

#section-recommend .panel-body,
#section-market-intel .panel-body {
  display: grid;
  align-content: start;
  min-height: 0;
  height: auto;
}

#section-recommend .panel-body {
  margin-top: 0;
}

#section-recommend .recommend-head {
  padding-bottom: 4px;
}

#section-recommend .panel-body.is-collapsed,
#section-market-intel .panel-body.is-collapsed {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

.research-studio-shell {
  display: grid;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.06), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.78), rgba(248,250,252,0.72));
  box-shadow: 0 24px 54px rgba(11, 17, 16, 0.06);
}

.research-studio-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.research-studio-service {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 1px solid rgba(11, 17, 16, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.1), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.82));
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.research-studio-service:hover {
  transform: translateY(-2px);
  border-color: rgba(34, 197, 94, 0.22);
  box-shadow: 0 18px 32px rgba(11, 17, 16, 0.08);
}

.research-studio-service.is-active {
  border-color: rgba(22, 163, 74, 0.26);
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(244, 253, 247, 0.98), rgba(248, 250, 252, 0.88));
  box-shadow: 0 20px 38px rgba(22, 163, 74, 0.12);
}

.research-studio-service-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 24px;
  margin-top: 3px;
  border-radius: 999px;
  background: rgba(11, 17, 16, 0.06);
  color: #F5F5F5;
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-family: "Space Grotesk", sans-serif;
}

.research-studio-service-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(11, 17, 16, 0.96), rgba(30, 41, 59, 0.9));
  color: #F5F5F5;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-family: "Space Grotesk", sans-serif;
  box-shadow: 0 12px 22px rgba(11, 17, 16, 0.14);
}

.research-studio-service-copy {
  display: grid;
  gap: 6px;
}

.research-studio-service strong {
  font-size: 0.92rem;
  line-height: 1.25;
  color: #c9a84c;
  letter-spacing: -0.02em;
}

.research-studio-service p {
  margin: 0;
  color: #64748b;
  font-size: 0.87rem;
  line-height: 1.55;
}

.research-studio-service-tail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  margin-top: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #64748b;
  font-size: 0.88rem;
  transition: transform 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.research-studio-service:hover .research-studio-service-tail,
.research-studio-service.is-active .research-studio-service-tail {
  transform: translateX(2px);
  color: #166534;
  background: rgba(240, 253, 244, 0.92);
}

.research-flow-bridge {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 26%),
    rgba(255, 255, 255, 0.78);
}

.research-flow-head {
  display: grid;
  gap: 4px;
}

.research-flow-kicker {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  font-family: "Space Grotesk", sans-serif;
}

.research-flow-title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.2;
  color: #0b1110;
  letter-spacing: -0.03em;
}

.research-flow-desc {
  margin: 0;
  color: #64748b;
  font-size: 0.90rem;
  line-height: 1.55;
}

.research-flow-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.research-flow-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.86);
  color: #F5F5F5;
  font-size: 0.85rem;
  font-weight: 800;
}

.research-flow-chip.is-done {
  border-color: rgba(34, 197, 94, 0.2);
  background: rgba(240, 253, 244, 0.94);
  color: #166534;
}

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

.research-flow-note {
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(248, 250, 252, 0.72);
}

.research-flow-note span {
  font-size: 0.80rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.research-flow-note strong {
  color: #0b1110;
  font-size: 0.87rem;
  line-height: 1.5;
}

.research-flow-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 15px;
  border-radius: 18px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.8);
}

.research-flow-next-copy {
  display: grid;
  gap: 4px;
}

.research-flow-next-copy strong {
  color: #0b1110;
  font-size: 0.92rem;
  line-height: 1.4;
}

.research-flow-next-copy p {
  margin: 0;
  color: #64748b;
  font-size: 0.87rem;
  line-height: 1.55;
}

.research-flow-credit-note {
  color: #F5F5F5;
  font-size: 0.85rem;
  line-height: 1.5;
}

.research-flow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.research-flow-btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: linear-gradient(135deg, #0b1110, #0b1110);
  color: #F5F5F5;
  font-size: 0.85rem;
  font-weight: 800;
  cursor: pointer;
}

.research-flow-btn--ghost {
  background: rgba(255, 255, 255, 0.92);
  color: #0b1110;
}

.research-studio-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 2px;
}

.research-studio-tab {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.78);
  color: #64748b;
  font-size: 0.90rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.research-studio-tab::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 12px);
  transform: translateX(0) translateY(4px);
  width: max-content;
  max-width: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 34%),
    rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 34px rgba(11, 17, 16, 0.12);
  color: #F5F5F5;
  font-size: 0.87rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.01em;
  white-space: nowrap;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
  z-index: 8;
}

.research-studio-tab::before {
  content: "";
  position: absolute;
  left: 18px;
  bottom: calc(100% + 6px);
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(11, 17, 16, 0.08);
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.96);
  transform: translateX(0) rotate(45deg);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
  z-index: 7;
}

.research-studio-tab:hover {
  background: #ffffff;
  border-color: rgba(11, 17, 16, 0.14);
  color: #0b1110;
  transform: translateY(-1px);
}

.research-studio-tab:hover::after,
.research-studio-tab:hover::before,
.research-studio-tab:focus-visible::after,
.research-studio-tab:focus-visible::before {
  opacity: 1;
  visibility: visible;
}

.research-studio-tab:hover::after,
.research-studio-tab:focus-visible::after {
  transform: translateX(0) translateY(0);
}

.research-studio-tab.is-active {
  background: linear-gradient(135deg, #0b1110, #0b1110);
  border-color: transparent;
  color: #F5F5F5;
}

.research-studio-body {
  display: grid;
  gap: 18px;
}

.research-pane {
  display: none;
}

.research-pane.is-active {
  display: grid;
  gap: 20px;
}

.research-pane.is-active > .analysis-panel,
.research-pane.is-active > .checkpoint-panel,
.research-pane.is-active > .mindmap-panel {
  box-shadow: 0 18px 42px rgba(11, 17, 16, 0.06);
}

.research-pane > .panel,
.research-pane > .summary {
  grid-column: 1 / -1;
}

#section-macro {
  grid-column: 1 / -1;
  align-self: stretch;
}

#section-day-score {
  grid-column: 1 / -1;
  align-self: stretch;
}

#section-recommend,
#section-analysis,
#summary,
#report-panel,
#section-market-intel,
#links-panel {
  grid-column: 1 / -1;
}

#checkpoint-panel,
#mindmap-panel {
  grid-column: 1 / -1;
  align-self: stretch;
}

#page-dashboard .panel {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(148, 163, 184, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,253,0.98));
  box-shadow: 0 22px 54px rgba(11, 17, 16, 0.08);
}

.macro-panel::before,
.day-score-panel::before,
.recommend-panel::before,
.checkpoint-panel::before,
.mindmap-panel::before,
.analysis-panel::before,
.market-intel-panel::before,
.report-panel::before,
.links-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, rgba(14, 165, 233, 0), rgba(14, 165, 233, 0.36), rgba(15, 118, 110, 0.26), rgba(14, 165, 233, 0));
  pointer-events: none;
}

.recommend-panel::before {
  display: none;
}

.macro-head,
.day-score-head,
.recommend-head,
.market-intel-head,
.report-head,
.section-head {
  position: relative;
  z-index: 1;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
}

.recommend-head {
  border-bottom: none;
  padding-bottom: 10px;
}

.macro-head h2,
.day-score-head h2,
.recommend-head h2,
.market-intel-head h2,
.analysis-panel h2,
.checkpoint-panel h2,
.mindmap-panel h2,
.report-panel h2,
.links-panel h2 {
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.24rem, 1.9vw, 1.58rem);
  line-height: 1.16;
  letter-spacing: -0.035em;
  text-transform: none;
  color: #0b1110;
}

.dashboard-head-copy {
  display: grid;
  gap: 10px;
  max-width: 680px;
}

.recommend-head .dashboard-head-copy {
  max-width: 980px;
}

.day-score-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.day-score-head-summary {
  margin: 0;
  flex: 1 1 420px;
  min-width: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #A0A0A0;
  letter-spacing: -0.01em;
}

.macro-title-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  min-width: 0;
}

.dashboard-head-copy--macro .dashboard-bullet-list {
  flex-wrap: nowrap;
  white-space: nowrap;
}

.recommend-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.dashboard-bullet-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-bullet-list--compact {
  gap: 6px;
}

.dashboard-bullet-list li {
  padding: 7px 11px 7px 18px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(248, 250, 252, 0.95);
  color: #5b6777;
  font-size: 0.85rem;
  font-weight: 800;
}

.dashboard-bullet-list li::before {
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
}

.dashboard-bullet-list--compact li {
  padding: 6px 11px 6px 18px;
  font-size: 0.86rem;
  letter-spacing: -0.01em;
}

.macro-updated {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(11, 17, 16, 0.08);
  color: #64748b;
  font-size: 0.87rem;
  font-weight: 800;
}

.panel-chip-btn {
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255,255,255,0.9);
  color: #334155;
  font-size: 0.85rem;
  font-weight: 800;
}

.panel-chip-btn:hover {
  background: #ffffff;
  border-color: rgba(22, 163, 74, 0.22);
  color: #166534;
}

#page-dashboard .dash-subnav.dashboard-quicknav {
  position: sticky;
  top: 132px;
  align-self: start;
  margin: 0;
  z-index: 170;
  transform: none;
}

#page-dashboard .dashboard-shell > .dashboard-main {
  gap: 32px;
}

body.alert-drawer-open #page-dashboard .dash-subnav.dashboard-quicknav {
  top: 60px;
}

#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow: visible;
}

.dash-subnav-pill-label {
  position: static;
  transform: none;
  display: block;
  min-height: 0;
  max-width: 148px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  font-size: 0.87rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: #6b7f73;
  white-space: normal;
  word-break: keep-all;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  text-align: left;
  pointer-events: auto;
  opacity: 1;
  transition: color 160ms ease;
}

.dash-subnav-pill-label::after {
  display: none;
}

#page-dashboard .panel-body {
  position: relative;
  z-index: 1;
  margin-top: 8px;
}

.analysis-panel,
.checkpoint-panel,
.mindmap-panel,
.report-panel {
  padding: 26px 26px 24px;
}

.checkpoint-panel,
.mindmap-panel {
  display: flex;
  flex-direction: column;
}


.checkpoint-panel .checkpoint-form,
.mindmap-panel .checkpoint-form {
  align-content: start;
}

.checkpoint-panel .assist-note,
.mindmap-panel .assist-note {
  min-height: 0;
  display: block;
}

.recommend-panel,
.market-intel-panel,
.macro-panel,
.day-score-panel {
  padding: 24px 24px 22px;
}

.macro-panel,
.day-score-panel {
  display: flex;
  flex-direction: column;
}

.macro-panel {
  padding-top: 20px;
}

.macro-head,
.day-score-head {
  min-height: 0;
  align-content: start;
}

.macro-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 1.1fr) auto;
  align-items: center;
  column-gap: 18px;
  row-gap: 10px;
}

.macro-head-right {
  justify-self: end;
  grid-column: 3;
  grid-row: 1;
}

.dashboard-head-copy--macro {
  grid-column: 1 / 3;
  grid-row: 1;
}

.macro-ticker-scroll {
  grid-column: 1 / -1;
  grid-row: 2;
}

.day-score-head {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 16px;
  row-gap: 10px;
}

.day-score-head-right {
  justify-self: end;
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.macro-panel .panel-body,
.day-score-panel .panel-body {
  flex: 1;
}

.section-head p,
.dashboard-head-copy p {
  color: #64748b;
}

.analysis-form,
.checkpoint-form {
  gap: 8px;
}

.assist-note {
  border-radius: 16px;
  padding: 9px 12px;
  background: linear-gradient(180deg, rgba(248,250,252,0.96), rgba(243,246,250,0.96));
  font-size: 0.90rem;
  line-height: 1.5;
}

[data-theme="dark"] .macro-updated,
[data-theme="dark"] .panel-chip-btn,
[data-theme="dark"] .dashboard-bullet-list li {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #8c9499;
}

[data-theme="dark"] .panel-chip-btn:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(45, 212, 191, 0.24);
  color: #d1fae5;
}

[data-theme="dark"] #page-dashboard .panel {
  border-color: rgba(255,255,255,0.08);
  background: #0b1110 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .macro-head,
[data-theme="dark"] .day-score-head,
[data-theme="dark"] .recommend-head,
[data-theme="dark"] .market-intel-head,
[data-theme="dark"] .report-head,
[data-theme="dark"] .section-head {
  border-bottom-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .recommend-head,
[data-theme="dark"] .recommend-panel .section-head {
  border-bottom: none;
  border-bottom-color: transparent;
}

[data-theme="dark"] .macro-head h2,
[data-theme="dark"] .dashboard-stage-title,
[data-theme="dark"] .day-score-head h2,
[data-theme="dark"] .recommend-head h2,
[data-theme="dark"] .market-intel-head h2,
[data-theme="dark"] .analysis-panel h2,
[data-theme="dark"] .checkpoint-panel h2,
[data-theme="dark"] .mindmap-panel h2,
[data-theme="dark"] .report-panel h2,
[data-theme="dark"] .links-panel h2 {
  color: rgba(201, 168, 76, 0.9);
}

[data-theme="dark"] .section-head p,
[data-theme="dark"] .dashboard-stage-kicker,
[data-theme="dark"] .dashboard-stage-desc,
[data-theme="dark"] .dashboard-head-copy p {
  color: #94a3b8;
}

[data-theme="dark"] .dashboard-stage-note {
  background: transparent;
  border-color: transparent;
  color: #F5F5F5;
}

[data-theme="dark"] .dashboard-bullet-list--compact li {
  color: #dbe4ee;
}

/* 다크모드: 종목 검색 자동완성 */
[data-theme="dark"] .ticker-suggest-list {
  background: rgba(15, 23, 35, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(16px);
}

[data-theme="dark"] .ticker-suggest-item {
  color: #F5F5F5;
}

[data-theme="dark"] .ticker-suggest-item:hover,
[data-theme="dark"] .ticker-suggest-item.active {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .suggest-name {
  color: #F5F5F5;
}

[data-theme="dark"] .suggest-ticker {
  color: #94a3b8;
}

[data-theme="dark"] .research-studio-shell {
  border-color: rgba(255,255,255,0.08);
  background: #0b1110 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
}

[data-theme="dark"] .dashboard-journey {
  border-color: rgba(255,255,255,0.06);
  background: #0b1110 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

[data-theme="dark"] .dashboard-journey-kicker,
[data-theme="dark"] .dashboard-journey-desc,
[data-theme="dark"] .dashboard-journey-copy p {
  color: #94a3b8;
}

[data-theme="dark"] .dashboard-journey-toggle,
[data-theme="dark"] .dashboard-journey-toggle:hover,
[data-theme="dark"] .dashboard-journey-toggle:active,
[data-theme="dark"] .dashboard-journey-toggle:focus-visible {
  color: #94a3b8;
  background: transparent;
  border: 0;
  box-shadow: none;
}

[data-theme="dark"] .dashboard-journey-title,
[data-theme="dark"] .dashboard-journey-copy strong {
  color: #F5F5F5;
}

[data-theme="dark"] .dashboard-journey-card {
  background: rgba(255,255,255,0.02);
  border-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .dashboard-journey-step {
  background: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .dashboard-journey-action {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .dashboard-journey-action:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(45, 212, 191, 0.24);
}

[data-theme="dark"] .research-studio-service {
  background: #0b1110 !important;
  border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .research-studio-service:hover {
  border-color: rgba(45, 212, 191, 0.2);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .research-studio-service.is-active {
  border-color: rgba(45, 212, 191, 0.26);
  background: #0b1110 !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
}

[data-theme="dark"] .research-studio-service-step {
  background: rgba(255,255,255,0.06);
  color: #94a3b8;
}

[data-theme="dark"] .research-studio-service-mark {
  background: linear-gradient(135deg, #16a34a, #0f766e);
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.24);
}

[data-theme="dark"] .research-studio-service strong {
  color: #F5F5F5;
}

[data-theme="dark"] .research-studio-service p {
  color: #94a3b8;
}

[data-theme="dark"] .research-studio-service-tail {
  background: rgba(255,255,255,0.04);
  color: #94a3b8;
}

[data-theme="dark"] .research-studio-tab::after {
  border-color: rgba(255,255,255,0.08);
  background: #0b1110 !important;
  box-shadow: 0 20px 38px rgba(0, 0, 0, 0.28);
  color: #F5F5F5;
}

[data-theme="dark"] .research-studio-tab::before {
  border-color: rgba(255,255,255,0.08);
  background: rgba(10, 14, 21, 0.96);
}

[data-theme="dark"] .research-studio-service:hover .research-studio-service-tail,
[data-theme="dark"] .research-studio-service.is-active .research-studio-service-tail {
  background: rgba(16, 185, 129, 0.14);
  color: #d1fae5;
}

[data-theme="dark"] .research-flow-bridge {
  background: #0b1110 !important;
  border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .research-flow-kicker,
[data-theme="dark"] .research-flow-desc,
[data-theme="dark"] .research-flow-note span,
[data-theme="dark"] .research-flow-next-copy p,
[data-theme="dark"] .research-flow-credit-note {
  color: #94a3b8;
}

[data-theme="dark"] .research-flow-title,
[data-theme="dark"] .research-flow-note strong,
[data-theme="dark"] .research-flow-next-copy strong {
  color: #F5F5F5;
}

[data-theme="dark"] .research-flow-chip {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .research-flow-chip.is-done {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
}

[data-theme="dark"] .research-flow-note,
[data-theme="dark"] .research-flow-next {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .research-flow-btn {
  background: linear-gradient(135deg, #16a34a, #1d4ed8);
  border-color: transparent;
  color: #F5F5F5;
}

[data-theme="dark"] .research-flow-btn--ghost {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .research-studio-tab {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.08);
  color: #94a3b8;
}

[data-theme="dark"] .research-studio-tab:hover {
  background: rgba(255,255,255,0.08);
  color: #F5F5F5;
}

[data-theme="dark"] .research-studio-tab.is-active {
  background: linear-gradient(135deg, #F5F5F5, #F5F5F5);
  color: #0b1110;
}

[data-theme="dark"] .assist-note {
  background: linear-gradient(180deg, rgba(17,24,39,0.92), rgba(12,18,28,0.92));
  border-color: rgba(255,255,255,0.08);
  color: #94a3b8;
}

[data-theme="dark"] .eta-note {
  color: #94a3b8;
}

@media (max-width: 1320px) {
  #page-dashboard .dashboard-shell {
    display: flex;
    flex-direction: column;
  }

  #page-dashboard .dashboard-shell > .result-column {
    order: 2;
  }

  .result-column {
    grid-template-columns: 1fr;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav {
    order: 1;
    position: static;
    top: auto;
    margin: 0 0 14px;
    transform: none;
  }

  body.alert-drawer-open #page-dashboard .dash-subnav.dashboard-quicknav {
    top: auto;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
  }

  #page-dashboard .dash-subnav-pill {
    width: auto;
    min-width: 0;
    height: auto;
    justify-content: flex-start;
    padding: 0;
    border-radius: 0;
    gap: 0;
  }

  .dash-subnav-pill-label {
    position: static;
    right: auto;
    top: auto;
    transform: none;
    opacity: 1;
    min-height: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: auto;
  }

  .dash-subnav-pill-label::after {
    display: none;
  }

  .opportunity-grid {
    grid-template-columns: 1fr;
  }

  .research-studio-shell {
    padding: 16px;
    border-radius: 24px;
  }

  .research-studio-services {
    grid-template-columns: 1fr;
  }

  #section-macro,
  #section-day-score,
  #checkpoint-panel,
  #mindmap-panel,
  #section-recommend,
  #section-analysis,
  #summary,
  #report-panel,
  #section-market-intel,
  #links-panel {
    grid-column: 1 / -1;
  }

  .checkpoint-panel .checkpoint-form,
  .mindmap-panel .checkpoint-form,
  .checkpoint-panel .assist-note,
  .mindmap-panel .assist-note,
  .macro-head,
  .day-score-head {
    min-height: 0;
  }

  .macro-head {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
  }

  .day-score-head {
    align-items: start;
  }

  .dashboard-head-copy--macro,
  .macro-ticker-scroll,
  .macro-head-right {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
}

@media (max-width: 768px) {
  #page-dashboard .workspace {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 92px);
  }

  #page-dashboard .dash-subnav.dashboard-quicknav {
    display: none;
  }

  .dashboard-stage-head {
    gap: 6px;
  }

  .dashboard-journey {
    padding: 14px;
    border-radius: 22px;
  }

  .dashboard-journey-head {
    gap: 6px;
  }

  .dashboard-journey-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-stage-title {
    font-size: clamp(1.3rem, 6vw, 1.8rem);
  }

  .dashboard-stage-note {
    font-size: 0.85rem;
    white-space: normal;
    overflow: visible;
  }

  .research-studio-shell {
    padding: 14px;
    gap: 14px;
    border-radius: 22px;
  }

  .research-flow-note-grid {
    grid-template-columns: 1fr;
  }

  .research-flow-next {
    grid-template-columns: 1fr;
  }

  .research-studio-tabs {
    gap: 8px;
  }

  .research-studio-tab {
    min-height: 38px;
    padding: 0 14px;
    font-size: 0.85rem;
  }

  .research-studio-tab::before,
  .research-studio-tab::after {
    display: none;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    gap: 18px;
    padding: 2px 2px 6px;
    border: none;
    background: transparent;
    box-shadow: none;
    align-items: stretch;
    justify-content: flex-start;
    scrollbar-width: none;
  }

  #page-dashboard .dash-subnav-pill {
    width: auto;
    min-width: max-content;
    height: auto;
    padding: 0;
    border-radius: 0;
    gap: 0;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner::-webkit-scrollbar {
    display: none;
  }

  .dash-subnav-pill-label {
    font-size: 0.85rem;
    max-width: none;
  }
}

@media (max-width: 640px) {
  .topbar-inner {
    align-items: start;
  }

  .topbar-end {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 4px;
    max-width: 48vw;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .topbar-end::-webkit-scrollbar {
    display: none;
  }

  .header-user-chip,
  .topbar-end .btn-ghost-sm,
  .topbar-end .btn-login,
  .topbar-end .btn-signup {
    min-height: 38px;
    padding-inline: 10px;
    font-size: 0.85rem;
    flex: 0 0 auto;
  }

  .header-user-chip {
    max-width: min(42vw, 180px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .hero--home,
  .hero--showcase {
    gap: 22px;
  }

  .hero-copy {
    gap: 14px;
  }

  .hero-copy .hero-actions,
  .hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .btn,
  .hero-actions .btn-primary,
  .hero-actions .btn-secondary,
  .hero-actions .ghost-btn {
    width: 100%;
    justify-content: center;
  }

  #page-dashboard .workspace {
    padding-left: 14px;
    padding-right: 14px;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 96px);
  }

  #page-dashboard .panel {
    border-radius: 18px;
  }

  #page-dashboard .dashboard-shell {
    gap: 12px;
  }

  .macro-panel,
  .day-score-panel,
  .recommend-panel,
  .market-intel-panel,
  .analysis-panel,
  .checkpoint-panel,
  .mindmap-panel,
  .report-panel {
    padding: 16px 14px;
  }

  .dashboard-stage-head,
  .dashboard-head-copy,
  .section-head {
    max-width: 100%;
  }

  .dashboard-stage-desc,
  .section-head p,
  .dashboard-head-copy p {
    font-size: 0.9rem;
    line-height: 1.58;
  }

  .research-flow-bridge {
    padding: 14px;
    border-radius: 18px;
  }

  .research-flow-actions {
    flex-direction: column;
  }

  .research-flow-btn,
  .research-flow-btn--ghost {
    width: 100%;
    justify-content: center;
  }

  .recommend-action-row {
    grid-template-columns: 1fr;
  }

  .macro-head,
  .day-score-head,
  .recommend-head,
  .market-intel-head,
  .report-head,
  .section-head {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }

  .dashboard-head-copy--macro,
  .macro-ticker-scroll,
  .macro-head-right,
  .day-score-head-right,
  .recommend-head-right,
  .market-intel-head-right {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    justify-self: stretch;
  }

  .macro-head-right,
  .day-score-head-right,
  .recommend-head-right,
  .market-intel-head-right,
  .report-actions {
    display: grid;
    width: 100%;
    overflow: visible;
    padding-bottom: 0;
    scrollbar-width: auto;
  }

  .macro-head-right::-webkit-scrollbar,
  .day-score-head-right::-webkit-scrollbar,
  .recommend-head-right::-webkit-scrollbar,
  .market-intel-head-right::-webkit-scrollbar,
  .report-actions::-webkit-scrollbar {
    display: none;
  }

  .macro-head-right,
  .day-score-head-right,
  .recommend-head-right,
  .market-intel-head-right {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
  }

  .macro-head-right .macro-updated,
  .day-score-head-right .macro-updated,
  .recommend-head-right .macro-updated,
  .market-intel-head-right .macro-updated {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 38px;
    justify-content: center;
  }

  .report-actions {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .panel-chip-btn,
  .macro-updated,
  .report-actions .ghost-btn,
  .recommend-head-right .panel-chip-btn,
  .market-intel-head-right .panel-chip-btn,
  .day-score-head-right .panel-chip-btn,
  .macro-head-right .panel-chip-btn {
    min-height: 38px;
    font-size: 0.87rem;
    width: 100%;
    justify-content: center;
  }

  .macro-title-row,
  .day-score-title-row,
  .recommend-title-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .dashboard-head-copy--macro .dashboard-bullet-list,
  .dashboard-bullet-list {
    flex-wrap: wrap;
    white-space: normal;
    gap: 6px;
  }

  .dashboard-bullet-list li {
    font-size: 0.83rem;
    padding: 6px 10px 6px 16px;
  }

  .analysis-form,
  .checkpoint-form,
  .mindmap-form {
    gap: 10px;
  }

  .cp-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .cp-form-row .ticker-autocomplete-wrap,
  .analysis-form .ticker-autocomplete-wrap,
  .ticker-autocomplete-wrap {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  #section-analysis .analysis-form > * {
    width: 100%;
    max-width: none;
  }

  .cp-form-row input,
  .analysis-form input,
  .ticker-autocomplete-wrap input,
  #ticker,
  #cp-ticker-input,
  #mindmap-ticker-input {
    width: 100%;
    min-width: 0;
  }

  .cp-submit-btn,
  .analysis-cta-btn {
    width: 100%;
    justify-content: center;
  }

  .research-studio-shell {
    padding: 14px 12px;
    border-radius: 20px;
  }

  .research-studio-services {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
    padding: 0;
  }

  .research-studio-services::-webkit-scrollbar {
    display: none;
  }

  .research-studio-service {
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 15px 14px;
  }

  .research-studio-service-step {
    display: none;
  }

  .research-studio-service-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 0.83rem;
  }

  .research-studio-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }

  .research-studio-tabs::-webkit-scrollbar {
    display: none;
  }

  .research-studio-tab {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding-inline: 10px;
    text-align: center;
  }

  .mindmap-summary-row,
  .mindmap-legend {
    flex-wrap: wrap;
  }

  .mindmap-cosmos {
    min-height: 420px;
    border-radius: 22px;
  }

  .mindmap-canvas-glance {
    display: flex;
    gap: 10px;
    top: 14px;
    left: 14px;
    right: 14px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .mindmap-canvas-glance::-webkit-scrollbar {
    display: none;
  }

  .mindmap-canvas-glance-card {
    flex: 0 0 176px;
  }

  .mindmap-hero-actions {
    width: 100%;
    justify-content: stretch;
  }

  .mindmap-graph-zoom-btn,
  .mindmap-expand-btn {
    flex: 1 1 0;
    justify-content: center;
  }

  .mindmap-interaction-hint {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.83rem;
  }

  .mindmap-cosmos {
    min-height: 460px;
  }

  .mindmap-canvas-glance {
    top: 10px;
    left: 10px;
    right: 10px;
    gap: 8px;
  }

  .mindmap-canvas-glance-card {
    flex: 0 0 152px;
    padding: 0.6rem 0.68rem;
    border-radius: 16px;
  }

  .mindmap-glance-title {
    font-size: 0.80rem;
  }

  .mindmap-glance-item {
    min-height: 24px;
    padding: 0 8px;
    font-size: 0.83rem;
  }

  .mindmap-graph-viewport {
    inset: 110px 10px 10px;
    border-radius: 18px;
  }

  .mindmap-reading-card {
    padding: 0.9rem;
  }

  .mindmap-story-grid {
    grid-template-columns: 1fr;
  }

  .mindmap-detail-card {
    padding: 0.95rem;
    border-radius: 20px;
  }

  .quick-pick-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }

  .quick-pick-btns::-webkit-scrollbar {
    display: none;
  }

  .quick-pick-btn {
    min-height: 38px;
    white-space: nowrap;
    width: 100%;
    justify-content: center;
  }

  .analysis-eta-inline {
    width: 100%;
    margin-left: 0;
    white-space: normal;
  }

  .mypg-hero,
  .mypg-summary-card,
  .mypg-section-card {
    border-radius: 20px;
  }

  .mypg-section-actions,
  .mypg-top-actions,
  .mypg-empty-actions,
  .mypg-account-actions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .mypg-section-actions .mypage-action-btn,
  .mypg-top-actions .mypage-action-btn,
  .mypg-empty-actions .mypage-action-btn,
  .mypg-account-actions-grid .mypage-action-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  #page-home .hero-stat {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  #page-home .hero-stat strong,
  #page-home .hero-stat span {
    max-width: none;
  }

  #page-intro .intro-capture-card {
    padding: 12px;
  }

  .alert-toggle-fab {
    right: 10px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
    min-height: 40px;
    padding: 9px 12px;
    gap: 6px;
    box-shadow: 0 12px 24px rgba(11, 17, 16, 0.14);
  }

  .alert-toggle-fab span {
    font-size: 0.83rem;
  }

  .topbar-inner {
    padding: 10px 12px 8px;
  }

  .topbar-end {
    max-width: 52vw;
  }

  .topbar .primary-nav {
    gap: 5px;
  }

  .topbar .primary-nav .nav-pill {
    min-height: 36px;
    padding: 6px 9px;
    font-size: 0.85rem;
  }

  .dashboard-stage-title {
    font-size: 1.18rem;
  }

  .dashboard-stage-note {
    padding: 9px 12px;
    font-size: 0.87rem;
  }

  .macro-panel,
  .day-score-panel,
  .recommend-panel,
  .market-intel-panel,
  .analysis-panel,
  .checkpoint-panel,
  .mindmap-panel,
  .report-panel {
    padding: 14px 12px;
  }

  .panel-chip-btn,
  .macro-updated {
    padding-inline: 10px;
    font-size: 0.83rem;
  }

  .mindmap-cosmos {
    min-height: 380px;
    border-radius: 18px;
  }

  .mindmap-graph-viewport {
    inset: 102px 8px 8px;
    border-radius: 16px;
  }

  .mindmap-canvas-glance {
    top: 8px;
    left: 8px;
    right: 8px;
    gap: 6px;
  }

  .mindmap-canvas-glance-card {
    flex: 0 0 132px;
    padding: 0.54rem 0.6rem;
    border-radius: 14px;
  }

  .mindmap-glance-title {
    font-size: 0.84rem;
  }

  .mindmap-glance-item {
    min-height: 22px;
    padding: 0 7px;
    font-size: 0.80rem;
  }

  .mindmap-interaction-hint {
    min-height: 28px;
    padding: 0 9px;
    font-size: 0.80rem;
  }

  .mindmap-node-label {
    font-size: 0.83rem;
  }

  .mindmap-node-metric {
    font-size: 0.81rem;
  }

  .research-studio-tabs {
    grid-template-columns: 1fr;
  }

  /* research studio 탭은 420px 이하에서도 3열 유지 */
  #page-dashboard #research-studio .research-studio-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .quick-pick-btns,
  .macro-head-right,
  .day-score-head-right,
  .recommend-head-right,
  .market-intel-head-right {
    grid-template-columns: 1fr;
  }

  .recommend-premium-cta {
    padding: 12px;
  }

  .recommend-summary,
  .recommend-item {
    flex-basis: calc(100vw - 30px);
    border-radius: 18px;
  }

  .recommend-tab {
    font-size: 0.85rem;
  }

  .market-intel-panel {
    padding: 14px 12px;
  }

  .mi-header-keywords {
    display: none;
  }

  .summary-card,
  .chart-card,
  .chart-control-block,
  .chart-stage-card,
  .markdown-body,
  .report-legal-disclaimer {
    border-radius: 14px;
  }

  .chart-wrap {
    height: 172px;
  }
}

#page-dashboard #research-studio .dashboard-stage-note {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

#page-dashboard #research-studio .research-studio-tabs {
  gap: 18px;
  padding-bottom: 0;
}

#page-dashboard #research-studio .research-studio-tab {
  position: relative;
  min-height: 0;
  padding: 0 0 8px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6b7f73;
  transform: none !important;
  transition: color 160ms ease;
}

#page-dashboard #research-studio .research-studio-tab::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 12px);
  transform: translateX(0) translateY(4px);
  width: max-content;
  max-width: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11, 17, 16, 0.08);
  background:
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 34%),
    rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 34px rgba(11, 17, 16, 0.12);
  color: #F5F5F5;
  font-size: 0.87rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.01em;
  white-space: nowrap;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

#page-dashboard #research-studio .research-studio-tab::before {
  content: "";
  position: absolute;
  left: 18px;
  bottom: calc(100% + 6px);
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(11, 17, 16, 0.08);
  border-bottom: 1px solid rgba(11, 17, 16, 0.08);
  background: rgba(255, 255, 255, 0.96);
  transform: translateX(0) rotate(45deg);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  z-index: 7;
}

#page-dashboard #research-studio .research-studio-tab:hover {
  color: #178145;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .research-studio-tab:hover::after,
#page-dashboard #research-studio .research-studio-tab:hover::before,
#page-dashboard #research-studio .research-studio-tab:focus-visible::after,
#page-dashboard #research-studio .research-studio-tab:focus-visible::before {
  opacity: 1;
  visibility: visible;
}

#page-dashboard #research-studio .research-studio-tab:hover::after,
#page-dashboard #research-studio .research-studio-tab:focus-visible::after {
  transform: translateX(0) translateY(0);
}

#page-dashboard #research-studio .research-studio-tab.is-active {
  color: #166534;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab {
  color: #94a3b8;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab:hover {
  color: #86efac;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab.is-active {
  color: #bbf7d0;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::after {
  border-color: rgba(255, 255, 255, 0.08);
  background: #0b1110 !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
  color: #F5F5F5;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::before {
  border-right-color: rgba(255, 255, 255, 0.08);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: rgba(11, 17, 16, 0.96);
}

@media (max-width: 768px) {
  #page-dashboard #research-studio .research-pane.is-active {
    gap: 12px;
  }

  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel {
    gap: 10px;
    align-content: start;
    min-height: 0 !important;
    height: auto !important;
  }

  #page-dashboard #research-studio .section-head,
  #page-dashboard #research-studio .checkpoint-form,
  #page-dashboard #research-studio .mindmap-form,
  #page-dashboard #research-studio .assist-note,
  #page-dashboard #research-studio .eta-note,
  #page-dashboard #research-studio #mindmap-body,
  #page-dashboard #research-studio #checkpoint-body {
    min-height: 0 !important;
    height: auto !important;
  }

  #page-dashboard #research-studio .section-head {
    gap: 8px;
    padding-bottom: 10px;
  }

  #page-dashboard #research-studio #mindmap-body {
    margin-top: 0 !important;
  }

  #page-dashboard #research-studio #mindmap-body.hidden,
  #page-dashboard #research-studio #checkpoint-body.hidden {
    display: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #page-dashboard #research-studio .mindmap-cosmos {
    min-height: 320px !important;
  }

  /* research studio 모바일 공백 축소 */
  #page-dashboard #research-studio {
    gap: 10px;
  }

  #page-dashboard #research-studio .dashboard-stage-head {
    gap: 4px;
    padding-top: 0;
  }

  #page-dashboard #research-studio .research-studio-shell {
    gap: 10px;
    padding: 12px;
  }

  #page-dashboard #research-studio .research-pane.is-active {
    gap: 10px;
  }
}

@media (max-width: 420px) {
  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel {
    padding: 14px 12px;
  }

  #page-dashboard #research-studio .mindmap-cosmos {
    min-height: 280px !important;
  }
}

@media (max-width: 640px) {
  .topbar {
    position: static;
    top: auto;
    backdrop-filter: none;
  }

  #page-dashboard .dashboard-stage-grid,
  #page-dashboard .dashboard-stage-grid > .panel,
  #page-dashboard .summary-card,
  #page-dashboard .chart-card,
  #page-dashboard .report-panel,
  #page-dashboard .checkpoint-panel,
  #page-dashboard .mindmap-panel,
  #page-dashboard .analysis-panel {
    height: auto;
  }

  #page-dashboard .dashboard-stage-grid,
  #page-dashboard .dashboard-stage-grid > .panel,
  #page-dashboard .research-pane.is-active > .analysis-panel,
  #page-dashboard .research-pane.is-active > .checkpoint-panel,
  #page-dashboard .research-pane.is-active > .mindmap-panel {
    align-items: start;
    align-self: start;
  }

  .recommend-card {
    padding: 12px 0 0;
  }

  .recommend-overview {
    margin-bottom: 2px;
  }

  .recommend-card h3 {
    padding: 0 2px;
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .recommend-list {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
    padding: 2px 2px 8px;
    scrollbar-width: none;
    align-items: flex-start;
  }

  .recommend-list::-webkit-scrollbar {
    display: none;
  }

  .recommend-summary,
  .recommend-item {
    flex: 0 0 calc(100vw - 36px);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border: 1px solid #dde2e8;
    border-radius: 20px;
    height: auto;
  }

  .recommend-summary {
    padding: 14px;
  }

  .recommend-item {
    padding: 0 12px;
    border-bottom: none;
    background: #ffffff;
  }

  .recommend-item[aria-expanded="true"] {
    background: #f9fafb;
  }

  .recommend-row-head {
    padding: 14px 0 8px;
  }

  .recommend-body-inner {
    padding: 8px 0 14px;
  }

  .recommend-ticker {
    font-size: 0.94rem;
    line-height: 1.5;
  }

  .recommend-one-liner {
    font-size: 0.95rem;
    line-height: 1.62;
  }

  .recommend-price-block {
    gap: 8px;
  }

  .recommend-premium-cta {
    padding: 14px;
    border-radius: 18px;
  }

  .recommend-premium-copy {
    font-size: 0.86rem;
    line-height: 1.48;
  }

  .recommend-premium-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .recommend-premium-btn,
  .recommend-unlock-btn {
    width: 100%;
  }

  #recommend-tablist,
  #recommend-body > .recommend-tabs[role="tablist"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100% !important;
    max-width: 100%;
    overflow: visible;
    scrollbar-width: none;
    padding-bottom: 0 !important;
    gap: 8px;
  }

  #recommend-tablist::-webkit-scrollbar,
  #recommend-body > .recommend-tabs[role="tablist"]::-webkit-scrollbar {
    display: none;
  }

  .recommend-tab {
    flex: 0 0 auto;
    width: 100%;
    min-height: 36px;
    padding: 0 10px;
    white-space: nowrap;
    text-align: center;
    justify-content: center;
  }

  .market-intel-grid {
    gap: 14px;
  }

  #page-home .hero--showcase {
    gap: 12px;
  }

  #page-home .hero-stat {
    grid-template-columns: minmax(108px, 132px) minmax(0, 1fr);
    gap: 10px;
    padding: 10px 0;
  }

  #page-intro .intro-capture-card {
    padding: 14px;
    gap: 12px;
  }

  #page-intro .intro-capture-copy {
    gap: 6px;
  }

  /* 좁은 화면에서도 카드 폭은 뷰포트가 아니라 슬라이더 컨테이너 기준으로 유지 */
  .mi-card,
  .mi-sector-bar {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .market-intel-panel {
    gap: 8px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .market-intel-head {
    gap: 8px;
    padding-bottom: 8px;
  }

  .mi-title-row {
    gap: 6px;
  }

  .mi-header-keywords {
    gap: 4px;
  }

  .mi-header-keywords .mi-tag {
    font-size: 0.84rem;
    padding: 1px 6px;
  }

  .dashboard-guest-lock {
    padding-bottom: 4px;
  }

  .mi-card,
  .mi-sector-bar,
  .mi-summary-bottom {
    padding-left: 12px;
    padding-right: 12px;
  }

  .mi-card-title {
    font-size: 0.98rem;
    line-height: 1.35;
  }

  .mi-card-conclusion,
  .mi-simple,
  .mi-sector-simple,
  .mi-sector-desc,
  .mi-change-main {
    font-size: 0.90rem;
    line-height: 1.5;
  }

  .mi-change-sub,
  .mi-sector-source {
    font-size: 0.83rem;
  }


  #section-analysis textarea,
  #user_task {
    min-height: 96px;
    font-size: 0.88rem;
    line-height: 1.5;
  }

  .analysis-inline-feedback,
  .eta-note,
  .assist-note {
    font-size: 0.85rem;
    line-height: 1.45;
  }

  .dashboard-guest-lock-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 0;
  }

  .dashboard-guest-lock-card p {
    font-size: 0.87rem;
    line-height: 1.36;
  }

  #dashboard-preview-login-btn.dashboard-guest-lock-btn {
    width: auto;
    font-size: 0.85rem;
  }

  .summary-card,
  .chart-card {
    border-radius: 18px;
  }

  .summary-card-head,
  .chart-head {
    gap: 8px;
    padding-bottom: 8px;
    min-height: 0;
  }

  .summary-card-desc,
  .chart-head-desc,
  .chart-note {
    font-size: 0.87rem;
    line-height: 1.46;
  }

  .summary-metrics {
    gap: 8px;
  }

  .chart-toolbar {
    gap: 8px;
  }

  .chart-control-block,
  .chart-stage-card {
    border-radius: 16px;
    padding: 10px 11px;
    box-shadow: none;
  }

  .chart-wrap {
    border-radius: 14px;
    padding: 8px;
    height: 188px;
  }

  .chart-control-kicker,
  .chart-stage-kicker {
    min-height: 20px;
    padding: 0 8px;
    font-size: 0.84rem;
  }

  .indicator-row label {
    padding: 5px 10px;
    font-size: 0.80rem;
  }

  .chart-head {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  #chart-zoom-btn {
    width: 100%;
    justify-content: center;
  }

  .chart-tabs,
  .tf-option-buttons {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .chart-tabs::-webkit-scrollbar,
  .tf-option-buttons::-webkit-scrollbar {
    display: none;
  }

  .chart-tabs .tab-btn,
  .tf-option-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .report-actions .ghost-btn,
  .report-head .ghost-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .report-legal-disclaimer {
    padding: 12px 13px;
    border-radius: 12px;
    font-size: 0.88rem;
    line-height: 1.52;
  }

  .markdown-body {
    margin-top: 10px;
    max-height: none;
    padding: 16px 14px;
    border-radius: 12px;
    font-size: 0.94rem;
    line-height: 1.64;
    min-height: 0;
  }

  .markdown-body table[data-mobile-stack-ready="true"] {
    display: block;
    width: 100%;
    table-layout: auto;
    border-collapse: separate;
  }

  .markdown-body table[data-mobile-stack-ready="true"] thead {
    display: none;
  }

  .markdown-body table[data-mobile-stack-ready="true"] tbody,
  .markdown-body table[data-mobile-stack-ready="true"] tr {
    display: block;
  }

  .markdown-body table[data-mobile-stack-ready="true"] tr {
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid #d3deee;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
  }

  .markdown-body table[data-mobile-stack-ready="true"] tr:last-child {
    margin-bottom: 0;
  }

  .markdown-body table[data-mobile-stack-ready="true"] td,
  .markdown-body table[data-mobile-stack-ready="true"] th {
    display: grid;
    grid-template-columns: minmax(92px, 112px) minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.92rem;
  }

  .markdown-body table[data-mobile-stack-ready="true"] td + td,
  .markdown-body table[data-mobile-stack-ready="true"] th + td,
  .markdown-body table[data-mobile-stack-ready="true"] td + th,
  .markdown-body table[data-mobile-stack-ready="true"] th + th {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #F5F5F5;
  }

  .markdown-body table[data-mobile-stack-ready="true"] td::before,
  .markdown-body table[data-mobile-stack-ready="true"] th::before {
    content: attr(data-label);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #51657e;
  }

  .report-legal-disclaimer {
    padding: 14px 15px;
  }

  [data-theme="dark"] .recommend-summary,
  [data-theme="dark"] .recommend-item {
    border-color: var(--line);
  }

  [data-theme="dark"] .recommend-item {
    background: transparent;
  }

  [data-theme="dark"] .recommend-item[aria-expanded="true"] {
    background: transparent;
  }

  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] tr {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--line);
  }

  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] td + td,
  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] th + td,
  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] td + th,
  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] th + th {
    border-top-color: var(--line);
  }

  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] td::before,
  [data-theme="dark"] .markdown-body table[data-mobile-stack-ready="true"] th::before {
    color: var(--muted);
  }
}

@media (max-width: 640px) {
  #page-home .hero-slider-stage {
    min-height: 292px;
  }

  #page-home .hero-slider-slide[data-slide-index="4"] img {
    transform: scale(1.015);
    transform-origin: center top;
  }

  .zoom-modal {
    padding: 0;
  }

  .zoom-dialog.is-mindmap {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
    padding: 10px 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
  }

  .zoom-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
  }

  .zoom-head h3 {
    min-width: 0;
    font-size: 0.96rem;
    line-height: 1.3;
    word-break: keep-all;
  }

  .zoom-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
  }

  .zoom-actions .ghost-btn {
    min-width: 44px;
    min-height: 34px;
    padding: 6px 8px;
    font-size: 0.87rem;
  }

  .zoom-mindmap-container {
    gap: 8px;
  }

  .mindmap-zoom-scroll {
    border-radius: 14px;
  }

  .mindmap-cosmos--zoom {
    border-radius: 18px;
  }

  .mindmap-graph-viewport--zoom {
    inset: 12px;
    border-radius: 16px;
  }

  .mindmap-zoom-note {
    font-size: 0.83rem;
    line-height: 1.45;
  }
}

@media (max-width: 420px) {
  #page-home .hero-slider-stage {
    min-height: 264px;
  }

  #page-home .hero-slider-slide[data-slide-index="4"] img {
    transform: scale(1.03);
  }

  .zoom-head {
    grid-template-columns: 1fr;
  }

  .zoom-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .mindmap-graph-viewport--zoom {
    inset: 10px;
    border-radius: 14px;
  }
}

/* Mind map simplification override */
.mindmap-panel::before {
  display: none !important;
}

.mindmap-stage-shell {
  gap: 1rem;
}

.mindmap-hero {
  align-items: start;
}

.mindmap-guided-strip {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.mindmap-guided-step {
  padding: 0.95rem 0;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mindmap-guided-step:hover,
.mindmap-guided-step.is-active {
  transform: none;
  border-color: rgba(148, 163, 184, 0.18);
  background: transparent;
  box-shadow: none;
}

.mindmap-guided-step-index {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  font-size: 0.87rem;
  font-family: "Manrope", sans-serif;
  box-shadow: none;
}

.mindmap-summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.mindmap-summary-line {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  padding-left: 0.8rem;
  border-left: 2px solid rgba(148, 163, 184, 0.24);
}

.mindmap-summary-line strong {
  font-size: 1rem;
  line-height: 1.35;
  color: #0b1110;
}

.mindmap-summary-line p {
  margin: 0;
  font-size: 0.90rem;
  line-height: 1.55;
  color: #F5F5F5;
}

.mindmap-summary-line-label {
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-visual-panel--mindmap {
  margin: 0;
  gap: 0.7rem;
}

.mindmap-cosmos {
  min-height: clamp(520px, 68vh, 760px);
  border-radius: 24px;
  background:
    radial-gradient(circle at 16% 14%, rgba(16, 185, 129, 0.04), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(14, 165, 233, 0.04), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249, 251, 250, 0.98));
  border: 1px solid rgba(11, 17, 16, 0.08);
  box-shadow: none;
}

.mindmap-cosmos::before {
  opacity: 0.18;
}

.mindmap-cosmos::after {
  display: none;
}

.mindmap-interaction-hint {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.85rem;
  font-weight: 600;
  color: #64748b;
}

.mindmap-glance-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 0.25rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.mindmap-glance-group {
  display: grid;
  gap: 0.45rem;
}

.mindmap-glance-group-title {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-glance-group-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
}

.mindmap-glance-link {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0b1110;
  text-decoration: none;
}

.mindmap-glance-link:hover {
  color: #178145;
}

.mindmap-reading-stack {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 1.2rem;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.mindmap-reading-block {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
}

.mindmap-reading-block-title {
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.mindmap-reading-card,
.mindmap-reading-block .mindmap-reading-section,
.mindmap-briefing-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  height: auto !important;
  min-height: auto !important;
}

.mindmap-reading-head h3 {
  font-size: 1.24rem;
}

.mindmap-detail-summary,
.mindmap-detail-text {
  font-size: 0.92rem;
  line-height: 1.62;
}

.mindmap-detail-takeaway {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.mindmap-detail-takeaway-label,
.mindmap-detail-block-title {
  color: #64748b;
}

.mindmap-primary-link {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #166534;
}

.mindmap-primary-link:hover {
  background: transparent;
  border-color: transparent;
}

.mindmap-related-list {
  display: grid;
  gap: 0;
}

.mindmap-related-item {
  gap: 0.34rem;
  padding: 0.68rem 0;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 0;
  background: transparent;
}

.mindmap-related-item:last-child {
  border-bottom: 0;
}

.mindmap-related-empty {
  padding: 0.68rem 0;
  border: 0;
  border-radius: 0;
  color: #64748b;
}

.mindmap-briefing-note {
  margin: 0;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  font-size: 0.87rem;
  color: #64748b;
}

[data-theme="dark"] .mindmap-guided-strip,
[data-theme="dark"] .mindmap-reading-stack,
[data-theme="dark"] .mindmap-glance-rail,
[data-theme="dark"] .mindmap-briefing-note {
  border-color: rgba(148, 163, 184, 0.16);
}

[data-theme="dark"] .mindmap-guided-step {
  border-bottom-color: rgba(148, 163, 184, 0.16);
}

[data-theme="dark"] .mindmap-guided-step-index,
[data-theme="dark"] .mindmap-summary-line-label,
[data-theme="dark"] .mindmap-glance-group-title,
[data-theme="dark"] .mindmap-reading-block-title,
[data-theme="dark"] .mindmap-detail-takeaway-label,
[data-theme="dark"] .mindmap-detail-block-title,
[data-theme="dark"] .mindmap-briefing-note,
[data-theme="dark"] .mindmap-interaction-hint {
  color: #94a3b8;
}

[data-theme="dark"] .mindmap-summary-line {
  border-left-color: rgba(148, 163, 184, 0.18);
}

[data-theme="dark"] .mindmap-summary-line strong,
[data-theme="dark"] .mindmap-glance-link,
[data-theme="dark"] .mindmap-reading-head h3,
[data-theme="dark"] .mindmap-primary-link,
[data-theme="dark"] .mindmap-related-title {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-summary-line p,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text,
[data-theme="dark"] .mindmap-related-copy,
[data-theme="dark"] .mindmap-related-empty {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-cosmos {
  background:
    radial-gradient(ellipse at 12% 8%,  rgba(16,185,129,0.10), transparent 28%),
    radial-gradient(ellipse at 88% 14%, rgba(14,165,233,0.08), transparent 26%),
    radial-gradient(ellipse at 50% 88%, rgba(139,92,246,0.08), transparent 32%),
    linear-gradient(170deg, rgba(17,24,39,0.98) 0%, rgba(12,18,32,0.99) 100%);
  border-color: rgba(148,163,184,0.12);
  box-shadow: 0 24px 48px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="dark"] .mindmap-cosmos::before {
  opacity: 0.14;
  animation: mm-grid-breathe 9s ease-in-out infinite;
}

[data-theme="dark"] .mindmap-cosmos::after {
  background: radial-gradient(ellipse at 50% 0%, rgba(16,185,129,0.06), rgba(0,0,0,0) 60%);
}

[data-theme="dark"] .mindmap-related-item {
  background: transparent;
  border-bottom-color: rgba(148, 163, 184, 0.16);
}

@media (max-width: 1024px) {
  .mindmap-summary-strip,
  .mindmap-glance-rail,
  .mindmap-reading-stack {
    grid-template-columns: 1fr;
  }
}

/* Mind map final polish */
.mindmap-summary-strip {
  gap: 1.2rem !important;
}

.mindmap-summary-line,
[data-theme="dark"] .mindmap-summary-line {
  padding-left: 1rem !important;
  border-left-width: 1px !important;
}

.mindmap-cosmos,
[data-theme="dark"] .mindmap-cosmos {
  border-radius: 28px !important;
}

.mindmap-network-node,
[data-theme="dark"] .mindmap-network-node {
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.74) !important;
  box-shadow: 0 8px 22px rgba(11, 17, 16, 0.06) !important;
  backdrop-filter: blur(8px) !important;
}

.mindmap-network-node::before,
[data-theme="dark"] .mindmap-network-node::before {
  display: none !important;
}

.mindmap-network-node:hover {
  transform: translate(-50%, -50%) translateY(-3px) scale(1.03) !important;
  border-color: rgba(16, 185, 129, 0.32) !important;
  box-shadow: 0 18px 38px rgba(11, 17, 16, 0.11), inset 0 1px 0 rgba(255,255,255,0.84) !important;
}
[data-theme="dark"] .mindmap-network-node:hover {
  border-color: rgba(52, 211, 153, 0.36) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,0.26), 0 0 16px rgba(52,211,153,0.14) !important;
}

.mindmap-network-node.ring-0,
[data-theme="dark"] .mindmap-network-node.ring-0 {
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top left, rgba(22, 129, 69, 0.08), transparent 40%),
    rgba(255, 255, 255, 0.82) !important;
}

[data-theme="dark"] .mindmap-network-node,
[data-theme="dark"] .mindmap-network-node.ring-0 {
  background:
    radial-gradient(circle at top left, rgba(22, 129, 69, 0.08), transparent 40%),
    rgba(30, 41, 59, 0.82) !important;
}

.mindmap-network-node-badge,
[data-theme="dark"] .mindmap-network-node-badge {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  color: #7c8b9a !important;
}

.mindmap-network-node-title {
  font-size: 0.92rem !important;
  line-height: 1.28 !important;
}

.mindmap-network-node.ring-0 .mindmap-network-node-title {
  font-size: 1.06rem !important;
}

.mindmap-hero {
  gap: 1.2rem !important;
  padding-bottom: 0.2rem !important;
}

.mindmap-hero-lede {
  max-width: 780px !important;
  font-size: 0.94rem !important;
  color: #64748b !important;
}

.mindmap-expand-btn,
.mindmap-graph-zoom-btn,
[data-theme="dark"] .mindmap-expand-btn,
[data-theme="dark"] .mindmap-graph-zoom-btn {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-glance-rail {
  gap: 1.2rem !important;
}

.mindmap-glance-group-items {
  display: grid !important;
  gap: 0.3rem !important;
}

.mindmap-glance-link,
[data-theme="dark"] .mindmap-glance-link {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
}

.mindmap-reading-stack {
  gap: 1.4rem !important;
}

.mindmap-reading-block {
  gap: 0.9rem !important;
}

.mindmap-reading-head {
  gap: 0.38rem !important;
  padding-bottom: 0.1rem !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] .mindmap-reading-head {
  border-bottom-color: rgba(148, 163, 184, 0.14) !important;
}

.mindmap-reading-head h3 {
  font-size: 1.18rem !important;
  line-height: 1.24 !important;
}

.mindmap-reading-block .mindmap-reading-section {
  display: grid !important;
  gap: 0.8rem !important;
}

.mindmap-detail-summary,
.mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  color: #F5F5F5 !important;
}

[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  color: #F5F5F5 !important;
}

.mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-detail-takeaway {
  padding-top: 0.7rem !important;
  border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
}

.mindmap-primary-link,
[data-theme="dark"] .mindmap-primary-link {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

.mindmap-related-list {
  border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] .mindmap-related-list {
  border-top-color: rgba(148, 163, 184, 0.14) !important;
}

.mindmap-related-item,
[data-theme="dark"] .mindmap-related-item {
  padding: 0.78rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-related-title,
[data-theme="dark"] .mindmap-related-title {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
}

.mindmap-related-copy {
  font-size: 0.90rem !important;
  line-height: 1.58 !important;
  color: #64748b !important;
}

[data-theme="dark"] .mindmap-related-copy {
  color: #94a3b8 !important;
}

.mindmap-briefing-note {
  font-size: 0.85rem !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 768px) {
  .mindmap-hero {
    grid-template-columns: 1fr !important;
  }

  .mindmap-hero-actions {
    justify-content: flex-start !important;
  }

  .mindmap-summary-strip,
  .mindmap-glance-rail,
  .mindmap-reading-stack {
    grid-template-columns: 1fr !important;
  }

  .mindmap-cosmos {
    min-height: 360px !important;
  }

  .mindmap-network-node {
    border-radius: 20px !important;
  }

  .mm-insight-rail {
    grid-template-columns: 1fr !important;
  }

  .mm-context-strip {
    grid-template-columns: 1fr !important;
  }

  .mm-related-chips {
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  .mm-related-chip {
    flex: 1 1 calc(50% - 0.25rem);
  }
}

/* Mind map guided slider */
.mindmap-guided-shell {
  display: grid;
  gap: 0.6rem;
}

.mindmap-guided-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}

.mindmap-guided-head-title {
  font-size: 0.86rem;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0b1110;
}

.mindmap-guided-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.mindmap-guided-counter {
  font-size: 0.83rem;
  font-weight: 700;
  color: #64748b;
}

.mindmap-guided-nav {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: transparent;
  color: #0b1110;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.mindmap-guided-nav:hover {
  border-color: rgba(22, 129, 69, 0.24);
  color: #166534;
}

.mindmap-guided-single {
  display: block;
}

.mindmap-guided-step {
  width: 100%;
  min-height: 0;
  padding: 0.88rem 0.92rem 0.84rem !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(249, 250, 251, 0.96)) !important;
  box-shadow: 0 4px 14px rgba(11, 17, 16, 0.04) !important;
}

.mindmap-guided-step:hover,
.mindmap-guided-step.is-active {
  transform: none !important;
  border-color: rgba(22, 129, 69, 0.22) !important;
  background: linear-gradient(180deg, rgba(247, 251, 248, 0.98), rgba(255,255,255,1)) !important;
  box-shadow: 0 6px 16px rgba(11, 17, 16, 0.05) !important;
}

.mindmap-guided-step-index {
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: rgba(11, 17, 16, 0.06) !important;
  color: #F5F5F5 !important;
  font-size: 0.80rem !important;
  font-family: "Space Grotesk", sans-serif !important;
}

.mindmap-guided-step-copy {
  gap: 0.08rem !important;
}

.mindmap-guided-step-kicker {
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
}

.mindmap-guided-step-copy strong {
  font-size: 0.86rem !important;
  line-height: 1.28 !important;
}

.mindmap-guided-step-copy span:last-child {
  font-size: 0.83rem !important;
  line-height: 1.4 !important;
  color: #64748b !important;
}

[data-theme="dark"] .mindmap-guided-head-title,
[data-theme="dark"] .mindmap-guided-counter {
  color: #94a3b8;
}

[data-theme="dark"] .mindmap-guided-nav {
  color: #F5F5F5;
}

[data-theme="dark"] .mindmap-guided-step {
  border-color: rgba(148, 163, 184, 0.14) !important;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.76), rgba(30, 41, 59, 0.84)) !important;
}

[data-theme="dark"] .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-guided-step.is-active {
  border-color: rgba(74, 222, 128, 0.24) !important;
  background: linear-gradient(180deg, rgba(33, 49, 66, 0.92), rgba(30, 41, 59, 0.96)) !important;
}

[data-theme="dark"] .mindmap-guided-step-index {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] .mindmap-guided-step-copy span:last-child {
  color: #94a3b8 !important;
}

[data-theme="dark"] .mindmap-guided-nav {
  border-color: rgba(148, 163, 184, 0.16);
}

@media (max-width: 768px) {
  .mindmap-guided-head {
    align-items: center;
  }
}

/* Mind map readability override */
.mindmap-guided-shell {
  gap: 0.35rem !important;
}

.mindmap-guided-head {
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.mindmap-guided-head-title,
[data-theme="dark"] .mindmap-guided-head-title {
  color: #64748b;
}

.mindmap-guided-nav,
.mindmap-guided-nav:hover,
[data-theme="dark"] .mindmap-guided-nav,
[data-theme="dark"] .mindmap-guided-nav:hover {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-guided-nav[disabled] {
  opacity: 0.32;
  cursor: default;
}

.mindmap-guided-step,
.mindmap-guided-step:hover,
.mindmap-guided-step.is-active,
[data-theme="dark"] .mindmap-guided-step,
[data-theme="dark"] .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-guided-step.is-active {
  padding: 0.58rem 0 0.18rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-guided-step-copy {
  gap: 0.14rem !important;
}

.mindmap-guided-step-index,
[data-theme="dark"] .mindmap-guided-step-index {
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #94a3b8 !important;
}

.mindmap-guided-step-kicker,
[data-theme="dark"] .mindmap-guided-step-kicker {
  color: #94a3b8 !important;
}

.mindmap-guided-step-copy strong,
[data-theme="dark"] .mindmap-guided-step-copy strong {
  font-size: 0.98rem !important;
  line-height: 1.32 !important;
}

.mindmap-guided-step-copy span:last-child,
[data-theme="dark"] .mindmap-guided-step-copy span:last-child {
  font-size: 0.87rem !important;
  line-height: 1.5 !important;
}

.mindmap-summary-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem 1.4rem !important;
  padding-top: 0.15rem;
}

.mindmap-summary-line,
[data-theme="dark"] .mindmap-summary-line {
  padding-left: 0 !important;
  border-left: 0 !important;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.mindmap-summary-line-label,
[data-theme="dark"] .mindmap-summary-line-label {
  font-size: 0.82rem !important;
  color: #94a3b8 !important;
}

.mindmap-summary-line strong,
[data-theme="dark"] .mindmap-summary-line strong {
  font-size: 1.05rem !important;
  line-height: 1.34 !important;
}

.mindmap-summary-line p,
[data-theme="dark"] .mindmap-summary-line p {
  font-size: 0.86rem !important;
  line-height: 1.58 !important;
}

.mindmap-glance-rail,
.mindmap-reading-stack {
  grid-template-columns: 1fr !important;
  gap: 1.1rem !important;
}

.mindmap-glance-group {
  gap: 0.3rem !important;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.mindmap-glance-group-title,
[data-theme="dark"] .mindmap-glance-group-title {
  font-size: 0.82rem !important;
  color: #94a3b8 !important;
}

.mindmap-glance-group-items {
  gap: 0.38rem !important;
}

.mindmap-glance-link,
[data-theme="dark"] .mindmap-glance-link {
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

.mindmap-reading-stack {
  padding-top: 0.4rem !important;
}

.mindmap-reading-block {
  gap: 0.68rem !important;
}

.mindmap-reading-block + .mindmap-reading-block {
  padding-top: 0.2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.mindmap-reading-head {
  gap: 0.3rem !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.mindmap-detail-kicker,
.mindmap-reading-block-title,
.mindmap-detail-block-title,
.mindmap-detail-takeaway-label,
[data-theme="dark"] .mindmap-detail-kicker,
[data-theme="dark"] .mindmap-reading-block-title,
[data-theme="dark"] .mindmap-detail-block-title,
[data-theme="dark"] .mindmap-detail-takeaway-label {
  font-size: 0.82rem !important;
  color: #94a3b8 !important;
}

.mindmap-reading-head h3,
[data-theme="dark"] .mindmap-reading-head h3 {
  font-size: 1.12rem !important;
  line-height: 1.3 !important;
}

.mindmap-detail-summary,
.mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  font-size: 0.88rem !important;
  line-height: 1.62 !important;
}

.mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-detail-takeaway {
  padding-top: 0.55rem !important;
}

.mindmap-related-list {
  border-top: 0 !important;
}

.mindmap-related-item,
[data-theme="dark"] .mindmap-related-item {
  padding: 0.62rem 0 !important;
}

.mindmap-related-title,
[data-theme="dark"] .mindmap-related-title {
  font-size: 0.92rem !important;
  line-height: 1.44 !important;
}

.mindmap-related-copy,
[data-theme="dark"] .mindmap-related-copy {
  font-size: 0.87rem !important;
  line-height: 1.55 !important;
}

.mindmap-glance-rail {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.mindmap-reading-stack {
  grid-template-columns: minmax(0, 1.06fr) minmax(300px, 0.94fr) !important;
  gap: 1rem !important;
}

.mindmap-glance-group,
.mindmap-reading-block,
[data-theme="dark"] .mindmap-glance-group,
[data-theme="dark"] .mindmap-reading-block {
  padding-left: 0.9rem !important;
  border-left: 2px solid rgba(148, 163, 184, 0.16) !important;
}

.mindmap-network-node.is-active {
  transform: translate(-50%, -50%) translateY(-2px) scale(1.05) !important;
  border-color: #22c55e !important;
  box-shadow:
    0 0 0 4px rgba(34,197,94,0.20),
    0 0 32px 8px rgba(34,197,94,0.24),
    0 18px 40px rgba(11, 17, 16, 0.13),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
  z-index: 120 !important;
}

[data-theme="dark"] .mindmap-network-node.is-active {
  border-color: #4ade80 !important;
  box-shadow:
    0 0 0 4px rgba(74,222,128,0.22),
    0 0 40px 10px rgba(74,222,128,0.28),
    0 18px 40px rgba(0,0,0,0.32),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.mindmap-network-node.is-related {
  border-color: #86efac !important;
  box-shadow:
    0 0 0 2px rgba(134,239,172,0.22),
    0 0 18px 4px rgba(134,239,172,0.16),
    0 12px 26px rgba(11, 17, 16, 0.07) !important;
}

[data-theme="dark"] .mindmap-network-node.is-related {
  border-color: #86efac !important;
  box-shadow:
    0 0 0 2px rgba(134,239,172,0.24),
    0 0 20px 4px rgba(134,239,172,0.20),
    0 12px 26px rgba(0,0,0,0.22) !important;
}

.mindmap-network-node.is-active::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(134, 239, 172, 0.16), transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.mindmap-network-node.is-related::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(187, 247, 208, 0.12), transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.mindmap-network-node > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .mindmap-summary-strip {
    grid-template-columns: 1fr !important;
  }

  .mindmap-glance-rail,
  .mindmap-reading-stack {
    grid-template-columns: 1fr !important;
  }

  .mindmap-glance-group,
  .mindmap-reading-block,
  [data-theme="dark"] .mindmap-glance-group,
  [data-theme="dark"] .mindmap-reading-block {
    padding-left: 0.75rem !important;
  }
}

/* Mind map readability final */
.mindmap-network-link.is-highlight {
  opacity: 0.92 !important;
}

.mindmap-guided-head,
.mindmap-summary-strip,
.mindmap-glance-rail,
.mindmap-reading-stack,
.mindmap-briefing-note,
[data-theme="dark"] .mindmap-guided-head,
[data-theme="dark"] .mindmap-summary-strip,
[data-theme="dark"] .mindmap-glance-rail,
[data-theme="dark"] .mindmap-reading-stack,
[data-theme="dark"] .mindmap-briefing-note {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.mindmap-guided-shell {
  gap: 0.2rem !important;
}

.mindmap-guided-head {
  padding-bottom: 0 !important;
}

.mindmap-guided-step,
.mindmap-guided-step:hover,
.mindmap-guided-step.is-active,
[data-theme="dark"] .mindmap-guided-step,
[data-theme="dark"] .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-guided-step.is-active {
  padding: 0.3rem 0 0.1rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-guided-step-copy strong,
[data-theme="dark"] .mindmap-guided-step-copy strong {
  font-size: 1rem !important;
  line-height: 1.34 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-guided-step-copy strong {
  color: #F5F5F5 !important;
}

.mindmap-guided-step-copy span:last-child,
[data-theme="dark"] .mindmap-guided-step-copy span:last-child {
  color: #64748b !important;
}

[data-theme="dark"] .mindmap-guided-step-copy span:last-child {
  color: #94a3b8 !important;
}

.mindmap-summary-strip {
  grid-template-columns: 1fr !important;
  gap: 0.9rem !important;
}

.mindmap-summary-line,
.mindmap-summary-line:hover,
[data-theme="dark"] .mindmap-summary-line {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 0.24rem !important;
}

.mindmap-summary-line-label,
[data-theme="dark"] .mindmap-summary-line-label {
  font-size: 0.82rem !important;
  color: #94a3b8 !important;
}

.mindmap-summary-line strong,
[data-theme="dark"] .mindmap-summary-line strong {
  font-size: 1.06rem !important;
  line-height: 1.38 !important;
}

.mindmap-summary-line p,
[data-theme="dark"] .mindmap-summary-line p {
  font-size: 0.86rem !important;
  line-height: 1.58 !important;
}

.mindmap-glance-rail,
.mindmap-reading-stack {
  grid-template-columns: 1fr !important;
  gap: 0.95rem !important;
  padding-top: 0 !important;
}

.mindmap-glance-group,
.mindmap-reading-block,
[data-theme="dark"] .mindmap-glance-group,
[data-theme="dark"] .mindmap-reading-block {
  gap: 0.34rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-glance-group-title,
.mindmap-reading-block-title,
.mindmap-detail-kicker,
.mindmap-detail-block-title,
.mindmap-detail-takeaway-label,
[data-theme="dark"] .mindmap-glance-group-title,
[data-theme="dark"] .mindmap-reading-block-title,
[data-theme="dark"] .mindmap-detail-kicker,
[data-theme="dark"] .mindmap-detail-block-title,
[data-theme="dark"] .mindmap-detail-takeaway-label {
  font-size: 0.83rem !important;
  color: #94a3b8 !important;
}

.mindmap-glance-link,
[data-theme="dark"] .mindmap-glance-link {
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

.mindmap-reading-head {
  gap: 0.24rem !important;
  padding: 0 !important;
  border: 0 !important;
}

.mindmap-reading-head h3,
[data-theme="dark"] .mindmap-reading-head h3 {
  font-size: 1.14rem !important;
  line-height: 1.34 !important;
}

.mindmap-detail-summary,
.mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  font-size: 0.9rem !important;
  line-height: 1.66 !important;
}

.mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-detail-takeaway {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.mindmap-primary-link,
[data-theme="dark"] .mindmap-primary-link {
  padding-top: 0.15rem !important;
}

.mindmap-related-list,
[data-theme="dark"] .mindmap-related-list {
  border: 0 !important;
}

.mindmap-related-item,
[data-theme="dark"] .mindmap-related-item {
  padding: 0.34rem 0 0.5rem !important;
  border: 0 !important;
  background: transparent !important;
}

.mindmap-related-title,
[data-theme="dark"] .mindmap-related-title {
  font-size: 0.94rem !important;
  line-height: 1.5 !important;
}

.mindmap-related-copy,
[data-theme="dark"] .mindmap-related-copy {
  font-size: 0.90rem !important;
  line-height: 1.58 !important;
}

/* Mind map redesign final */
.mindmap-analysis-shell {
  display: grid !important;
  gap: 1.35rem !important;
  padding-top: 0.25rem !important;
}

.mindmap-story-rail {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mindmap-story-item,
.mindmap-story-item:hover,
[data-theme="dark"] .mindmap-story-item,
[data-theme="dark"] .mindmap-story-item:hover {
  display: grid !important;
  gap: 0.3rem !important;
  margin: 0 !important;
  padding: 0 0 0 0.95rem !important;
  border: 0 !important;
  border-left: 2px solid rgba(148, 163, 184, 0.18) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-story-kicker,
[data-theme="dark"] .mindmap-story-kicker {
  margin: 0 !important;
  font-size: 0.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
}

.mindmap-story-title,
[data-theme="dark"] .mindmap-story-title {
  margin: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.42 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-story-title {
  color: #F5F5F5 !important;
}

.mindmap-story-copy,
[data-theme="dark"] .mindmap-story-copy {
  margin: 0 !important;
  font-size: 0.89rem !important;
  line-height: 1.68 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] .mindmap-story-copy {
  color: #F5F5F5 !important;
}

.mindmap-glance-rail {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.1rem !important;
  padding-top: 0.1rem !important;
}

.mindmap-glance-group,
.mindmap-reading-block,
[data-theme="dark"] .mindmap-glance-group,
[data-theme="dark"] .mindmap-reading-block {
  display: grid !important;
  align-content: start !important;
  gap: 0.42rem !important;
  padding: 0 0 0 0.95rem !important;
  border: 0 !important;
  border-left: 2px solid rgba(148, 163, 184, 0.18) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-glance-group-title,
.mindmap-reading-block-title,
.mindmap-detail-kicker,
.mindmap-detail-block-title,
.mindmap-detail-takeaway-label,
[data-theme="dark"] .mindmap-glance-group-title,
[data-theme="dark"] .mindmap-reading-block-title,
[data-theme="dark"] .mindmap-detail-kicker,
[data-theme="dark"] .mindmap-detail-block-title,
[data-theme="dark"] .mindmap-detail-takeaway-label {
  margin: 0 !important;
  font-size: 0.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
}

.mindmap-glance-group-items {
  display: grid !important;
  gap: 0.34rem !important;
}

.mindmap-glance-link,
[data-theme="dark"] .mindmap-glance-link {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-glance-link {
  color: #F5F5F5 !important;
}

.mindmap-reading-stack {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr) !important;
  gap: 1.3rem !important;
  align-items: start !important;
}

.mindmap-reading-head {
  display: grid !important;
  gap: 0.35rem !important;
  padding: 0 !important;
  border: 0 !important;
}

.mindmap-reading-head h3,
[data-theme="dark"] .mindmap-reading-head h3 {
  margin: 0 !important;
  font-size: 1.34rem !important;
  line-height: 1.28 !important;
  letter-spacing: -0.02em !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-reading-head h3 {
  color: #F5F5F5 !important;
}

.mindmap-detail-summary,
.mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  margin: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.72 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text {
  color: #F5F5F5 !important;
}

.mindmap-reading-section {
  display: grid !important;
  gap: 0.85rem !important;
}

.mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-detail-takeaway {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.94rem !important;
  line-height: 1.68 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-detail-takeaway {
  color: #F5F5F5 !important;
}

.mindmap-primary-link,
[data-theme="dark"] .mindmap-primary-link {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: 0.1rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-related-list,
[data-theme="dark"] .mindmap-related-list {
  display: grid !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

.mindmap-related-item,
[data-theme="dark"] .mindmap-related-item {
  display: grid !important;
  gap: 0.2rem !important;
  margin: 0 !important;
  padding: 0 0 0.7rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: transparent !important;
}

.mindmap-related-item:last-child,
[data-theme="dark"] .mindmap-related-item:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.mindmap-related-title,
.mindmap-related-link,
[data-theme="dark"] .mindmap-related-title,
[data-theme="dark"] .mindmap-related-link {
  margin: 0 !important;
  font-size: 0.97rem !important;
  font-weight: 700 !important;
  line-height: 1.48 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-related-title,
[data-theme="dark"] .mindmap-related-link {
  color: #F5F5F5 !important;
}

.mindmap-related-copy,
[data-theme="dark"] .mindmap-related-copy {
  margin: 0 !important;
  font-size: 0.89rem !important;
  line-height: 1.62 !important;
  color: #64748b !important;
}

[data-theme="dark"] .mindmap-related-copy {
  color: #94a3b8 !important;
}

@media (max-width: 980px) {
  .mindmap-story-rail,
  .mindmap-glance-rail,
  .mindmap-reading-stack {
    grid-template-columns: 1fr !important;
  }
}

#page-dashboard #research-studio .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-head,
#page-dashboard #research-studio .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-item,
#page-dashboard #research-studio .mm-fixed-item::before,
#page-dashboard #research-studio .mm-fixed-item::after,
#page-briefing #research-studio .mm-fixed-item::before,
#page-briefing #research-studio .mm-fixed-item::after {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  height: auto !important;
  min-height: auto !important;
}

@media (max-width: 768px) {
  .mindmap-analysis-shell {
    gap: 1rem !important;
  }

  .mindmap-story-item,
  .mindmap-glance-group,
  .mindmap-reading-block,
  [data-theme="dark"] .mindmap-story-item,
  [data-theme="dark"] .mindmap-glance-group,
  [data-theme="dark"] .mindmap-reading-block {
    padding-left: 0.78rem !important;
  }

  .mindmap-reading-head h3,
  [data-theme="dark"] .mindmap-reading-head h3 {
    font-size: 1.16rem !important;
    line-height: 1.34 !important;
  }

  .mindmap-story-title,
  [data-theme="dark"] .mindmap-story-title,
  .mindmap-glance-link,
  [data-theme="dark"] .mindmap-glance-link,
  .mindmap-related-title,
  .mindmap-related-link,
  [data-theme="dark"] .mindmap-related-title,
  [data-theme="dark"] .mindmap-related-link {
    font-size: 0.94rem !important;
  }

  .mindmap-detail-summary,
  .mindmap-detail-text,
  .mindmap-detail-takeaway,
  [data-theme="dark"] .mindmap-detail-summary,
  [data-theme="dark"] .mindmap-detail-text,
  [data-theme="dark"] .mindmap-detail-takeaway {
    font-size: 0.9rem !important;
    line-height: 1.66 !important;
  }
}

/* Mind map wow redesign */
.mindmap-focus-band,
[data-theme="dark"] .mindmap-focus-band {
  display: grid !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0 0 0 1rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-focus-band-kicker,
[data-theme="dark"] .mindmap-focus-band-kicker {
  margin: 0 !important;
  font-size: 0.83rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #16a34a !important;
}

.mindmap-focus-band-title,
[data-theme="dark"] .mindmap-focus-band-title {
  margin: 0 !important;
  font-size: clamp(1.28rem, 1rem + 0.8vw, 1.86rem) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.03em !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-focus-band-title {
  color: #F5F5F5 !important;
}

.mindmap-focus-band-copy,
[data-theme="dark"] .mindmap-focus-band-copy {
  margin: 0 !important;
  max-width: 980px !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] .mindmap-focus-band-copy {
  color: #F5F5F5 !important;
}

.mindmap-main-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.2rem !important;
  align-items: start !important;
}

.mindmap-command-deck {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
  align-content: start !important;
}

.mindmap-command-deck {
  display: grid !important;
  gap: 1rem !important;
  align-content: start !important;
}

.mindmap-command-deck .mindmap-guided-shell,
.mindmap-command-deck .mindmap-story-rail,
.mindmap-command-deck .mindmap-summary-strip,
.mindmap-command-deck .mindmap-glance-rail,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-shell,
[data-theme="dark"] .mindmap-command-deck .mindmap-story-rail,
[data-theme="dark"] .mindmap-command-deck .mindmap-summary-strip,
[data-theme="dark"] .mindmap-command-deck .mindmap-glance-rail {
  margin: 0 !important;
  padding: 0 0 0 0.95rem !important;
  border: 0 !important;
  border-left: 2px solid rgba(148, 163, 184, 0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-command-deck .mindmap-guided-shell {
  gap: 0.4rem !important;
}

.mindmap-command-deck .mindmap-guided-head {
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.mindmap-command-deck .mindmap-guided-head-title,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-head-title {
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-command-deck .mindmap-guided-head-title {
  color: #F5F5F5 !important;
}

.mindmap-command-deck .mindmap-guided-counter,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-counter {
  color: #94a3b8 !important;
}

.mindmap-command-deck .mindmap-guided-step,
.mindmap-command-deck .mindmap-guided-step:hover,
.mindmap-command-deck .mindmap-guided-step.is-active,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step.is-active {
  padding: 0.18rem 0 0.08rem !important;
}

.mindmap-command-deck .mindmap-guided-step-inline {
  display: block !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
}

.mindmap-command-deck .mindmap-guided-step-inline strong {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
}

.mindmap-command-deck .mindmap-guided-step-sep {
  color: #94a3b8 !important;
  font-weight: 400 !important;
  margin: 0 0.1em !important;
}

.mindmap-command-deck .mindmap-guided-step-copy strong,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step-copy strong {
  font-size: 0.96rem !important;
  line-height: 1.45 !important;
}

.mindmap-command-deck .mindmap-guided-step-copy span:last-child,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step-copy span:last-child {
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
}

.mindmap-command-deck .mindmap-story-rail,
.mindmap-command-deck .mindmap-summary-strip,
.mindmap-command-deck .mindmap-glance-rail {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.8rem !important;
}

.mindmap-command-deck .mindmap-story-item,
.mindmap-command-deck .mindmap-summary-line,
.mindmap-command-deck .mindmap-glance-group,
[data-theme="dark"] .mindmap-command-deck .mindmap-story-item,
[data-theme="dark"] .mindmap-command-deck .mindmap-summary-line,
[data-theme="dark"] .mindmap-command-deck .mindmap-glance-group {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-command-deck .mindmap-story-title,
.mindmap-command-deck .mindmap-summary-line strong,
.mindmap-command-deck .mindmap-glance-link,
[data-theme="dark"] .mindmap-command-deck .mindmap-story-title,
[data-theme="dark"] .mindmap-command-deck .mindmap-summary-line strong,
[data-theme="dark"] .mindmap-command-deck .mindmap-glance-link {
  font-size: 0.96rem !important;
  line-height: 1.48 !important;
}

.mindmap-command-deck .mindmap-story-copy,
.mindmap-command-deck .mindmap-summary-line p,
[data-theme="dark"] .mindmap-command-deck .mindmap-story-copy,
[data-theme="dark"] .mindmap-command-deck .mindmap-summary-line p {
  font-size: 0.90rem !important;
  line-height: 1.58 !important;
}

.mindmap-visual-panel--mindmap {
  gap: 0.75rem !important;
}

.mindmap-cosmos,
[data-theme="dark"] .mindmap-cosmos {
  min-height: clamp(480px, 60vh, 720px) !important;
}

.mindmap-analysis-shell {
  gap: 1.05rem !important;
  padding-top: 0.1rem !important;
}

.mindmap-reading-stack {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr) !important;
  gap: 1.25rem !important;
}

.mindmap-reading-block,
[data-theme="dark"] .mindmap-reading-block {
  gap: 0.5rem !important;
  padding: 0 0 0 0.95rem !important;
  border: 0 !important;
  border-left: 2px solid rgba(148, 163, 184, 0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-reading-head {
  gap: 0.28rem !important;
}

.mindmap-reading-head h3,
[data-theme="dark"] .mindmap-reading-head h3 {
  font-size: 1.42rem !important;
  line-height: 1.22 !important;
}

.mindmap-detail-summary,
.mindmap-detail-text,
.mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-detail-summary,
[data-theme="dark"] .mindmap-detail-text,
[data-theme="dark"] .mindmap-detail-takeaway {
  font-size: 0.93rem !important;
  line-height: 1.7 !important;
}

.mindmap-related-list,
[data-theme="dark"] .mindmap-related-list {
  gap: 0.72rem !important;
}

.mindmap-related-item,
[data-theme="dark"] .mindmap-related-item {
  gap: 0.24rem !important;
  padding: 0 0 0.72rem !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
}

.mindmap-related-title,
.mindmap-related-link,
[data-theme="dark"] .mindmap-related-title,
[data-theme="dark"] .mindmap-related-link {
  font-size: 1rem !important;
  line-height: 1.46 !important;
}

@media (max-width: 980px) {
  .mindmap-main-grid,
  .mindmap-reading-stack {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .mindmap-focus-band,
  .mindmap-command-deck .mindmap-guided-shell,
  .mindmap-command-deck .mindmap-compact-rail,
  .mindmap-reading-block,
  [data-theme="dark"] .mindmap-focus-band,
  [data-theme="dark"] .mindmap-command-deck .mindmap-guided-shell,
  [data-theme="dark"] .mindmap-command-deck .mindmap-compact-rail,
  [data-theme="dark"] .mindmap-reading-block {
    padding-left: 0.78rem !important;
  }

  .mindmap-focus-band-title,
  [data-theme="dark"] .mindmap-focus-band-title {
    font-size: 1.24rem !important;
    line-height: 1.22 !important;
  }

  .mindmap-focus-band-copy,
  [data-theme="dark"] .mindmap-focus-band-copy {
    font-size: 0.92rem !important;
    line-height: 1.64 !important;
  }

  .mindmap-cosmos,
  [data-theme="dark"] .mindmap-cosmos {
    min-height: 380px !important;
  }

  .mindmap-command-deck {
    gap: 0.9rem !important;
  }

  .mindmap-reading-head h3,
  [data-theme="dark"] .mindmap-reading-head h3 {
    font-size: 1.18rem !important;
    line-height: 1.3 !important;
  }
}

.mindmap-command-deck .mindmap-compact-rail,
[data-theme="dark"] .mindmap-command-deck .mindmap-compact-rail {
  display: block !important;
  margin: 0 !important;
  padding: 0.65rem 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-compact-item,
.mindmap-compact-item:hover,
[data-theme="dark"] .mindmap-compact-item,
[data-theme="dark"] .mindmap-compact-item:hover {
  display: grid !important;
  gap: 0.12rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mindmap-compact-item-inline {
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}

.mindmap-compact-item + .mindmap-compact-item,
[data-theme="dark"] .mindmap-compact-item + .mindmap-compact-item {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.mindmap-compact-item-label,
[data-theme="dark"] .mindmap-compact-item-label {
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
}

.mindmap-compact-item-value,
[data-theme="dark"] .mindmap-compact-item-value {
  margin: 0 !important;
  font-size: 0.98rem !important;
  line-height: 1.46 !important;
  color: #0b1110 !important;
}

[data-theme="dark"] .mindmap-compact-item-value {
  color: #F5F5F5 !important;
}

.mindmap-compact-item-copy,
[data-theme="dark"] .mindmap-compact-item-copy {
  margin: 0 !important;
  font-size: 0.90rem !important;
  line-height: 1.58 !important;
  color: #64748b !important;
}

[data-theme="dark"] .mindmap-compact-item-copy {
  color: #94a3b8 !important;
}

.mindmap-network-node,
[data-theme="dark"] .mindmap-network-node {
  isolation: isolate !important;
}

.mindmap-network-node.is-active,
[data-theme="dark"] .mindmap-network-node.is-active {
  z-index: 120 !important;
}

.mindmap-network-node.is-related,
[data-theme="dark"] .mindmap-network-node.is-related {
  z-index: 90 !important;
}

/* Mind map typography soften */
.mindmap-focus-band,
[data-theme="dark"] .mindmap-focus-band {
  gap: 0.42rem !important;
  padding-left: 1.08rem !important;
  border-left-width: 2px !important;
}

.mindmap-focus-band-title,
[data-theme="dark"] .mindmap-focus-band-title {
  max-width: 1080px !important;
  font-size: clamp(1.42rem, 1.02rem + 1vw, 2.1rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance !important;
}

.mindmap-focus-band-copy,
[data-theme="dark"] .mindmap-focus-band-copy {
  max-width: 920px !important;
  font-size: 0.96rem !important;
  line-height: 1.7 !important;
}

.mindmap-command-deck .mindmap-guided-step-copy strong,
[data-theme="dark"] .mindmap-command-deck .mindmap-guided-step-copy strong {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
}

.mindmap-compact-item-label,
[data-theme="dark"] .mindmap-compact-item-label {
  font-size: 0.80rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
}

.mindmap-compact-item-value,
[data-theme="dark"] .mindmap-compact-item-value {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.mindmap-compact-item-copy,
[data-theme="dark"] .mindmap-compact-item-copy {
  font-size: 0.87rem !important;
  line-height: 1.6 !important;
}

.mindmap-reading-head h3,
[data-theme="dark"] .mindmap-reading-head h3 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  line-height: 1.26 !important;
  letter-spacing: -0.02em !important;
}

.mindmap-related-title,
.mindmap-related-link,
[data-theme="dark"] .mindmap-related-title,
[data-theme="dark"] .mindmap-related-link {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
}

.mindmap-network-node-title,
[data-theme="dark"] .mindmap-network-node-title {
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}

.mindmap-network-node.ring-0 .mindmap-network-node-title,
[data-theme="dark"] .mindmap-network-node.ring-0 .mindmap-network-node-title {
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  .mindmap-focus-band-title,
  [data-theme="dark"] .mindmap-focus-band-title {
    font-size: 1.28rem !important;
    line-height: 1.24 !important;
  }

  .mindmap-focus-band-copy,
  [data-theme="dark"] .mindmap-focus-band-copy {
    font-size: 0.9rem !important;
    line-height: 1.62 !important;
  }
}

/* Dashboard gradient cleanup */
#page-dashboard {
  --dash-flat-bg: #f6f7f3;
  --dash-flat-surface: transparent;
  --dash-flat-surface-soft: transparent;
  --dash-flat-surface-tint: transparent;
  --dash-flat-accent: #0b1110;
  background: var(--dash-flat-bg) !important;
  background-image: none !important;
}

#page-dashboard .panel,
#page-dashboard .dashboard-journey,
#page-dashboard .dashboard-journey-card,
#page-dashboard .dashboard-journey-action,
#page-dashboard .research-studio-shell,
#page-dashboard .research-studio-service,
#page-dashboard .research-studio-service-mark,
#page-dashboard .research-flow-bridge,
#page-dashboard .research-flow-note,
#page-dashboard .research-flow-next,
#page-dashboard .research-flow-chip,
#page-dashboard .research-flow-btn,
#page-dashboard .research-flow-btn--ghost,
#page-dashboard .macro-carousel-stage,
#page-dashboard .macro-ai-summary,
#page-dashboard .day-score-panel,
#page-dashboard .day-score-hero,
#page-dashboard .day-score-narrative,
#page-dashboard .day-score-signal--compact,
#page-dashboard .mi-summary-bottom,
#page-dashboard .mi-card,
#page-dashboard .mi-simple,
#page-dashboard .mi-sector-bar,
#page-dashboard .mi-sector-simple,
#page-dashboard .cp-form-row input.is-symbol-selected,
#page-dashboard .cp-item,
#page-dashboard .cp-item-meta,
#page-dashboard .cp-upgrade-banner,
#page-dashboard .cp-upgrade-btn,
#page-dashboard .cp-summary,
#page-dashboard .assist-note,
#page-dashboard .recommend-panel,
#page-dashboard .recommend-premium-cta,
#page-dashboard .mindmap-cosmos,
#page-dashboard .mindmap-reading-card,
#page-dashboard .mindmap-detail-takeaway,
#page-dashboard .mindmap-glance-card,
#page-dashboard .mindmap-canvas-glance-card,
#page-dashboard .mindmap-guided-step,
#page-dashboard .mindmap-related-item,
#page-dashboard .mindmap-network-node,
#page-dashboard .mindmap-network-node-badge,
#page-dashboard .mindmap-node,
#page-dashboard .research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after,
#page-dashboard .recommend-content-blur::after,
#page-dashboard .recommend-locked-grid-mask {
  background-image: none !important;
}

#page-dashboard .panel,
#page-dashboard .dashboard-journey,
#page-dashboard .research-studio-shell,
#page-dashboard .research-flow-bridge,
#page-dashboard .recommend-panel,
#page-dashboard .recommend-premium-cta,
#page-dashboard .day-score-panel,
#page-dashboard .macro-carousel-stage,
#page-dashboard .macro-ai-summary,
#page-dashboard .mi-summary-bottom,
#page-dashboard .mi-card,
#page-dashboard .mi-sector-bar,
#page-dashboard .cp-item,
#page-dashboard .cp-summary,
#page-dashboard .mindmap-cosmos,
#page-dashboard .mindmap-reading-card,
#page-dashboard .mindmap-glance-card,
#page-dashboard .mindmap-canvas-glance-card,
#page-dashboard .mindmap-guided-step,
#page-dashboard .mindmap-network-node,
#page-dashboard .mindmap-related-item {
  background-color: var(--dash-flat-surface) !important;
}

#page-dashboard .dashboard-journey-card,
#page-dashboard .dashboard-journey-action,
#page-dashboard .research-studio-service,
#page-dashboard .research-flow-note,
#page-dashboard .research-flow-next,
#page-dashboard .research-flow-chip,
#page-dashboard .research-flow-btn--ghost,
#page-dashboard .day-score-hero,
#page-dashboard .day-score-narrative,
#page-dashboard .day-score-signal--compact,
#page-dashboard .mi-simple,
#page-dashboard .mi-sector-simple,
#page-dashboard .cp-item-meta,
#page-dashboard .assist-note,
#page-dashboard .mindmap-detail-takeaway,
#page-dashboard .mindmap-network-node-badge,
#page-dashboard .research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after {
  background-color: var(--dash-flat-surface-soft) !important;
}

#page-dashboard .research-studio-service.is-active,
#page-dashboard .research-flow-chip.is-done,
#page-dashboard .cp-form-row input.is-symbol-selected,
#page-dashboard .cp-reading-card {
  background-color: var(--dash-flat-surface-tint) !important;
}

#page-dashboard .cp-uncertainty-card {
  background-color: #f8f3ea !important;
}

#page-dashboard .research-flow-btn,
#page-dashboard .research-studio-service-mark,
#page-dashboard .cp-upgrade-btn {
  background-color: var(--dash-flat-accent) !important;
  color: #F5F5F5 !important;
}

#page-dashboard .macro-carousel-dot.is-active,
#page-dashboard .day-score-bar {
  background: #2f7d57 !important;
}

#page-dashboard .dashboard-journey {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-dashboard .ds-status-banner--good {
  background: transparent !important;
  border-color: transparent !important;
}

#page-dashboard .day-score-narrative,
#page-dashboard .day-score-sidecard,
#page-dashboard .day-score-signal--compact {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(22, 163, 74, 0.16) !important;
}

[data-theme="dark"] #page-dashboard .day-score-narrative,
[data-theme="dark"] #page-dashboard .day-score-sidecard {
  background: transparent !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] #page-dashboard .day-score-signal--compact {
  background: rgba(255, 255, 255, 0.04) !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}

#page-dashboard .mindmap-node.ring-0 {
  background-color: #1d4ed8 !important;
}

#page-dashboard .mindmap-node.is-bull {
  background-color: #0f766e !important;
}

#page-dashboard .mindmap-node.is-neutral {
  background-color: #334155 !important;
}

#page-dashboard .mindmap-node.is-bear {
  background-color: #9a3412 !important;
}

#page-dashboard .cp-item:hover,
#page-dashboard .research-studio-service:hover,
#page-dashboard .dashboard-journey-action:hover,
#page-dashboard .research-studio-tab:hover,
#page-dashboard .research-flow-btn--ghost:hover {
  background-image: none !important;
}

#page-dashboard .cp-item:hover,
#page-dashboard .research-studio-service:hover {
  background-color: var(--dash-flat-surface) !important;
}

#page-dashboard .macro-panel::before,
#page-dashboard .day-score-panel::before,
#page-dashboard .recommend-panel::before,
#page-dashboard .checkpoint-panel::before,
#page-dashboard .mindmap-panel::before,
#page-dashboard .analysis-panel::before,
#page-dashboard .market-intel-panel::before,
#page-dashboard .report-panel::before,
#page-dashboard .links-panel::before,
#page-dashboard .mi-card::before,
#page-dashboard .mi-sector-bar::before,
#page-dashboard .mindmap-cosmos::before,
#page-dashboard .mindmap-cosmos::after,
#page-dashboard .mindmap-network-node::before {
  display: none !important;
  background: none !important;
}

#page-dashboard .recommend-content-blur::after {
  background: rgba(248, 250, 252, 0.28) !important;
}

[data-theme="dark"] #page-dashboard {
  --dash-flat-bg: #0a0f0d;
  --dash-flat-surface: transparent;
  --dash-flat-surface-soft: transparent;
  --dash-flat-surface-tint: transparent;
  --dash-flat-accent: #166534;
  background: var(--dash-flat-bg) !important;
  background-image: none !important;
}

[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] #page-dashboard .dashboard-journey,
[data-theme="dark"] #page-dashboard .research-studio-shell,
[data-theme="dark"] #page-dashboard .research-flow-bridge,
[data-theme="dark"] #page-dashboard .recommend-panel,
[data-theme="dark"] #page-dashboard .recommend-premium-cta,
[data-theme="dark"] #page-dashboard .day-score-panel,
[data-theme="dark"] #page-dashboard .macro-carousel-stage,
[data-theme="dark"] #page-dashboard .macro-ai-summary,
[data-theme="dark"] #page-dashboard .mi-summary-bottom,
[data-theme="dark"] #page-dashboard .mi-card,
[data-theme="dark"] #page-dashboard .mi-sector-bar,
[data-theme="dark"] #page-dashboard .cp-item,
[data-theme="dark"] #page-dashboard .cp-summary,
[data-theme="dark"] #page-dashboard .mindmap-cosmos,
[data-theme="dark"] #page-dashboard .mindmap-reading-card,
[data-theme="dark"] #page-dashboard .mindmap-glance-card,
[data-theme="dark"] #page-dashboard .mindmap-canvas-glance-card,
[data-theme="dark"] #page-dashboard .mindmap-guided-step,
[data-theme="dark"] #page-dashboard .mindmap-network-node,
[data-theme="dark"] #page-dashboard .mindmap-related-item {
  background-color: var(--dash-flat-surface) !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey-card,
[data-theme="dark"] #page-dashboard .dashboard-journey-action,
[data-theme="dark"] #page-dashboard .research-studio-service,
[data-theme="dark"] #page-dashboard .research-flow-note,
[data-theme="dark"] #page-dashboard .research-flow-next,
[data-theme="dark"] #page-dashboard .research-flow-chip,
[data-theme="dark"] #page-dashboard .research-flow-btn--ghost,
[data-theme="dark"] #page-dashboard .day-score-hero,
[data-theme="dark"] #page-dashboard .day-score-narrative,
[data-theme="dark"] #page-dashboard .day-score-signal--compact,
[data-theme="dark"] #page-dashboard .mi-simple,
[data-theme="dark"] #page-dashboard .mi-sector-simple,
[data-theme="dark"] #page-dashboard .cp-item-meta,
[data-theme="dark"] #page-dashboard .assist-note,
[data-theme="dark"] #page-dashboard .mindmap-detail-takeaway,
[data-theme="dark"] #page-dashboard .mindmap-network-node-badge,
[data-theme="dark"] #page-dashboard .research-studio-tab::after,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::after {
  background-color: var(--dash-flat-surface-soft) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-service.is-active,
[data-theme="dark"] #page-dashboard .research-flow-chip.is-done,
[data-theme="dark"] #page-dashboard .cp-reading-card,
[data-theme="dark"] #page-dashboard .cp-form-row input.is-symbol-selected {
  background-color: var(--dash-flat-surface-tint) !important;
}

[data-theme="dark"] #page-dashboard .cp-uncertainty-card {
  background-color: #392814 !important;
}

[data-theme="dark"] #page-dashboard .research-flow-btn,
[data-theme="dark"] #page-dashboard .cp-upgrade-btn {
  background-color: var(--dash-flat-accent) !important;
  color: #eff6f0 !important;
}

[data-theme="dark"] #page-dashboard .research-studio-service-mark {
  background-color: #1d4ed8 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .macro-carousel-dot.is-active,
[data-theme="dark"] #page-dashboard .day-score-bar {
  background: #34d399 !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .mindmap-node.ring-0 {
  background-color: #0f766e !important;
}

[data-theme="dark"] #page-dashboard .mindmap-node.is-bull {
  background-color: #0f766e !important;
}

[data-theme="dark"] #page-dashboard .mindmap-node.is-neutral {
  background-color: #334155 !important;
}

[data-theme="dark"] #page-dashboard .mindmap-node.is-bear {
  background-color: #9a3412 !important;
}

[data-theme="dark"] #page-dashboard .cp-item:hover,
[data-theme="dark"] #page-dashboard .research-studio-service:hover,
[data-theme="dark"] #page-dashboard .dashboard-journey-action:hover,
[data-theme="dark"] #page-dashboard .research-studio-tab:hover,
[data-theme="dark"] #page-dashboard .research-flow-btn--ghost:hover {
  background-image: none !important;
}

[data-theme="dark"] #page-dashboard .cp-item:hover,
[data-theme="dark"] #page-dashboard .research-studio-service:hover {
  background-color: var(--dash-flat-surface) !important;
}

[data-theme="dark"] #page-dashboard .recommend-content-blur::after {
  background: rgba(11, 17, 16, 0.34) !important;
}

#page-dashboard .research-service-disclaimer {
  margin-top: 14px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #64748b !important;
  font-size: 0.90rem;
  line-height: 1.6;
}

#page-dashboard .research-pane--analysis .research-service-disclaimer {
  width: min(100%, 760px);
}

#page-dashboard #checkpoint-panel .cp-form-row input,
#page-dashboard #mindmap-panel .cp-form-row input,
#page-dashboard #checkpoint-panel .cp-form-row input.is-symbol-selected,
#page-dashboard #mindmap-panel .cp-form-row input.is-symbol-selected {
  background: #fcfdfc !important;
  background-image: none !important;
  border-color: #d8e2db !important;
  color: inherit !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

#page-dashboard #checkpoint-panel .cp-form-row input:focus,
#page-dashboard #mindmap-panel .cp-form-row input:focus {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.08) !important;
}

[data-theme="dark"] #page-dashboard .research-service-disclaimer {
  color: #94a3b8 !important;
  background: transparent !important;
  border: 0 !important;
}

[data-theme="dark"] #page-dashboard #checkpoint-panel .cp-form-row input,
[data-theme="dark"] #page-dashboard #mindmap-panel .cp-form-row input,
[data-theme="dark"] #page-dashboard #checkpoint-panel .cp-form-row input.is-symbol-selected,
[data-theme="dark"] #page-dashboard #mindmap-panel .cp-form-row input.is-symbol-selected {
  background: #171310 !important;
  background-image: none !important;
  border-color: #302920 !important;
  color: #F5F5F5 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #checkpoint-panel .cp-form-row input:focus,
[data-theme="dark"] #page-dashboard #mindmap-panel .cp-form-row input:focus {
  border-color: #21b458 !important;
  box-shadow: 0 0 0 4px rgba(33, 180, 88, 0.12) !important;
}

/* Dashboard polish pass */
#page-dashboard .day-score-orb {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(22, 163, 74, 0.16) !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-hash-chip,
#page-dashboard .rec-badge-main,
#page-dashboard .rec-sector-chip,
#page-dashboard .rec-upside,
#page-dashboard .mi-header-keywords .mi-tag,
#page-dashboard .mi-keyword,
#page-dashboard .mi-tag,
#page-dashboard .mi-ai-label {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid currentColor !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-hash-chip,
#page-dashboard .rec-badge-main,
#page-dashboard .rec-sector-chip,
#page-dashboard .rec-upside,
#page-dashboard .mi-header-keywords .mi-tag,
#page-dashboard .mi-keyword,
#page-dashboard .mi-tag {
  border-radius: 999px !important;
}

#page-dashboard .recommend-hash-chip:hover,
#page-dashboard .recommend-hash-chip:focus-visible,
#page-dashboard .rec-badge-main[data-tooltip]:hover,
#page-dashboard .rec-badge-main[data-tooltip]:focus-visible {
  transform: none !important;
  box-shadow: none !important;
}

#page-dashboard .macro-updated,
#page-dashboard .recommend-premium-cta,
#page-dashboard .mi-summary-bottom,
#page-dashboard .rec-factor-bars {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-dashboard .macro-updated {
  border-color: rgba(148, 163, 184, 0.26) !important;
}

#page-dashboard .recommend-premium-cta {
  border-color: rgba(22, 163, 74, 0.14) !important;
}

#page-dashboard .mi-summary-bottom,
#page-dashboard .rec-factor-bars {
  border-top: 1px solid rgba(22, 163, 74, 0.14) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}

#page-dashboard .mi-summary-bottom {
  padding: 15px 0 0 !important;
}

#page-dashboard .rec-factor-bars {
  max-width: 220px;
  padding: 10px 0 0 !important;
  gap: 5px !important;
}

#page-dashboard .rec-fbar {
  gap: 5px;
}

#page-dashboard .rec-fbar-name {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  width: 3em;
  color: #94a3b8;
  overflow: hidden;
  text-overflow: ellipsis;
}
html[lang="en"] #page-dashboard .rec-fbar-name {
  width: 5.5em;
}

#page-dashboard .rec-fbar-track {
  height: 3px;
  background: rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard .rec-fbar-fill {
  background: linear-gradient(90deg, #059669 0%, #34d399 100%) !important;
  box-shadow: 0 0 5px rgba(52, 211, 153, 0.35);
}

#page-dashboard .rec-fbar-val {
  font-size: 0.82rem;
  font-weight: 700;
  width: 20px;
  color: #059669;
}

[data-theme="dark"] #page-dashboard .day-score-orb {
  background: #101923 !important;
  background-image: none !important;
  border-color: rgba(167, 243, 208, 0.14) !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .macro-updated {
  background: transparent !important;
  border-color: rgba(167, 243, 208, 0.1) !important;
  color: #8c9499 !important;
  font-size: 0.75rem !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-cta {
  background: transparent !important;
  border-color: rgba(167, 243, 208, 0.16) !important;
}

[data-theme="dark"] #page-dashboard .mi-summary-bottom,
[data-theme="dark"] #page-dashboard .rec-factor-bars {
  background: transparent !important;
  border-top-color: rgba(167, 243, 208, 0.16) !important;
}

[data-theme="dark"] #page-dashboard .rec-fbar-name {
  color: rgba(167, 243, 208, 0.45);
}

[data-theme="dark"] #page-dashboard .rec-fbar-track {
  background: rgba(148, 163, 184, 0.15) !important;
}

[data-theme="dark"] #page-dashboard .rec-fbar-fill {
  background: linear-gradient(90deg, #10b981 0%, #6ee7b7 100%) !important;
  box-shadow: 0 0 5px rgba(52, 211, 153, 0.3);
}

[data-theme="dark"] #page-dashboard .rec-fbar-val {
  color: #6ee7b7 !important;
}

/* Dashboard header button layout */
#page-dashboard .panel,
#page-dashboard .dashboard-journey {
  container-type: inline-size;
  container-name: dash-panel;
}

#page-dashboard .macro-head-right,
#page-dashboard .day-score-head-right,
#page-dashboard .recommend-head-right,
#page-dashboard .market-intel-head-right,
#page-dashboard .report-actions {
  justify-content: flex-end !important;
  row-gap: 8px;
  min-width: 0;
}

#page-dashboard .macro-updated,
#page-dashboard .panel-chip-btn,
#page-dashboard .report-actions .ghost-btn {
  min-width: clamp(88px, 7vw, 112px);
  padding-inline: clamp(10px, 1vw, 16px);
  font-size: clamp(0.74rem, 0.22vw + 0.7rem, 0.82rem);
  line-height: 1.2;
}

#page-dashboard .macro-updated {
  min-width: clamp(116px, 10vw, 156px);
}

@container dash-panel (max-width: 980px) {
  #page-dashboard .macro-head,
  #page-dashboard .day-score-head,
  #page-dashboard .recommend-head,
  #page-dashboard .market-intel-head,
  #page-dashboard .report-head,
  #page-dashboard .section-head {
    gap: 10px 12px !important;
  }

  #page-dashboard .macro-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right,
  #page-dashboard .report-actions {
    gap: 6px;
  }

  #page-dashboard .macro-updated,
  #page-dashboard .panel-chip-btn,
  #page-dashboard .report-actions .ghost-btn {
    min-width: 84px;
    padding-inline: 10px;
    font-size: 0.85rem;
  }

  #page-dashboard .macro-updated {
    min-width: 108px;
  }
}

@container dash-panel (max-width: 820px) {
  #page-dashboard .macro-head,
  #page-dashboard .day-score-head,
  #page-dashboard .recommend-head,
  #page-dashboard .market-intel-head,
  #page-dashboard .report-head,
  #page-dashboard .section-head {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
  }

  #page-dashboard .macro-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right,
  #page-dashboard .report-actions {
    display: grid !important;
    width: 100%;
    justify-self: stretch;
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #page-dashboard .macro-head-right .macro-updated,
  #page-dashboard .day-score-head-right .macro-updated,
  #page-dashboard .recommend-head-right .macro-updated,
  #page-dashboard .market-intel-head-right .macro-updated {
    grid-column: 1 / -1;
  }

  #page-dashboard .panel-chip-btn,
  #page-dashboard .macro-updated,
  #page-dashboard .report-actions .ghost-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }
}

@container dash-panel (max-width: 560px) {
  #page-dashboard .macro-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right,
  #page-dashboard .report-actions {
    grid-template-columns: 1fr;
  }

  #page-dashboard .macro-updated,
  #page-dashboard .panel-chip-btn,
  #page-dashboard .report-actions .ghost-btn {
    min-height: 36px;
    font-size: 0.85rem;
  }
}

/* Recommendation premium CTA refinement */
#page-dashboard .recommend-overview {
  margin-bottom: 6px;
}

#page-dashboard .recommend-premium-cta {
  display: grid !important;
  gap: 8px 14px !important;
  align-items: center !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 163, 74, 0.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-premium-cta.hidden,
#page-dashboard .recommend-premium-cta[hidden] {
  display: none !important;
}

#page-dashboard .recommend-overline {
  margin: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #5f6d64 !important;
}

#page-dashboard .recommend-premium-copy {
  margin: 0 !important;
  max-width: 62ch;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  color: #24312b !important;
}

#page-dashboard .recommend-premium-row {
  display: flex !important;
  align-items: center;
  gap: 10px 12px !important;
  flex-wrap: wrap !important;
}

#page-dashboard .recommend-credit-note {
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
  color: #6b7280 !important;
}

#page-dashboard .recommend-premium-btn,
#page-dashboard .recommend-unlock-btn {
  min-height: 38px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(22, 163, 74, 0.18) !important;
  background: transparent !important;
  color: #166534 !important;
  font-size: 0.87rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-premium-btn::before,
#page-dashboard .recommend-unlock-btn::before {
  content: none !important;
  display: none !important;
}

#page-dashboard .recommend-premium-btn:hover,
#page-dashboard .recommend-premium-btn:focus-visible,
#page-dashboard .recommend-unlock-btn:hover,
#page-dashboard .recommend-unlock-btn:focus-visible {
  background: rgba(22, 163, 74, 0.05) !important;
  border-color: rgba(22, 163, 74, 0.28) !important;
}

#page-dashboard .recommend-premium-btn.is-disabled,
#page-dashboard .recommend-unlock-btn.is-disabled {
  opacity: 0.58;
}

[data-theme="dark"] #page-dashboard .recommend-premium-cta {
  border-top-color: rgba(167, 243, 208, 0.16) !important;
}

[data-theme="dark"] #page-dashboard .recommend-overline {
  color: #8fa59b !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-copy {
  color: #d6e5dd !important;
}

[data-theme="dark"] #page-dashboard .recommend-credit-note {
  color: #8da095 !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-btn,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn {
  border-color: rgba(167, 243, 208, 0.18) !important;
  color: #b7f3d0 !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-btn:hover,
[data-theme="dark"] #page-dashboard .recommend-premium-btn:focus-visible,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn:hover,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn:focus-visible {
  background: rgba(16, 185, 129, 0.12) !important;
  border-color: rgba(167, 243, 208, 0.28) !important;
}

@container dash-panel (max-width: 720px) {
  #page-dashboard .recommend-premium-row {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 8px !important;
  }

  #page-dashboard .recommend-premium-btn,
  #page-dashboard .recommend-unlock-btn {
    width: 100% !important;
  }

  #page-dashboard .recommend-credit-note {
    white-space: normal;
  }
}

/* Market intel card refinement */
#page-dashboard .mi-simple,
#page-dashboard .mi-sector-simple {
  padding: 10px 0 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 163, 74, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #607264 !important;
}

[data-theme="dark"] #page-dashboard .mi-simple,
[data-theme="dark"] #page-dashboard .mi-sector-simple {
  border-top-color: rgba(167, 243, 208, 0.14) !important;
  color: #9fb2a7 !important;
}

/* Checkpoint refinement */
#page-dashboard .cp-body {
  gap: 16px;
}

#page-dashboard #checkpoint-panel .checkpoint-form {
  gap: 12px;
}

#page-dashboard .cp-context-row {
  gap: 10px;
  margin-bottom: 2px;
}

#page-dashboard .cp-reading-card,
#page-dashboard .cp-uncertainty-card,
#page-dashboard .cp-item,
#page-dashboard .cp-item-meta,
#page-dashboard .cp-summary,
#page-dashboard .cp-upgrade-banner {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-dashboard .cp-reading-card,
#page-dashboard .cp-uncertainty-card {
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 163, 74, 0.14) !important;
  border-radius: 0 !important;
}

#page-dashboard .cp-context-label {
  color: #6f8578 !important;
}

#page-dashboard .cp-reading-card .cp-context-label,
#page-dashboard .cp-uncertainty-card .cp-context-label {
  color: #5f7568 !important;
}

#page-dashboard .cp-context-text,
#page-dashboard .cp-uncertainty-card .cp-context-text {
  color: #24312b !important;
}

#page-dashboard .cp-list {
  gap: 12px;
}

#page-dashboard .cp-item {
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(11, 17, 16, 0.08) !important;
  border-radius: 0 !important;
  transition: border-top-color 0.18s ease !important;
}

#page-dashboard .cp-item:hover {
  transform: none !important;
  border-top-color: rgba(11, 17, 16, 0.14) !important;
}

#page-dashboard [data-cp-item][data-expanded="true"] {
  border-top-color: rgba(11, 17, 16, 0.14) !important;
}

#page-dashboard .cp-num {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: transparent !important;
  border: 1px solid rgba(22, 163, 74, 0.22) !important;
  color: #166534 !important;
  box-shadow: none !important;
}
#page-dashboard .cp-num--today {
  background: rgba(239, 68, 68, 0.07) !important;
  border-color: rgba(239, 68, 68, 0.40) !important;
  color: #c71a1a !important;
}
#page-dashboard .cp-num--days {
  background: rgba(234, 179, 8, 0.07) !important;
  border-color: rgba(234, 179, 8, 0.45) !important;
  color: #a16207 !important;
}
#page-dashboard .cp-num--event {
  background: transparent !important;
  border-color: rgba(22, 163, 74, 0.22) !important;
  color: #166534 !important;
}
[data-theme="dark"] #page-dashboard .cp-num--today {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.45) !important;
  color: #f87171 !important;
}
[data-theme="dark"] #page-dashboard .cp-num--days {
  background: rgba(0,237,104,0.10) !important;
  border-color: rgba(0,237,104,0.40) !important;
  color: #00ed68 !important;
}
[data-theme="dark"] #page-dashboard .cp-num--event {
  border-color: rgba(110, 168, 131, 0.28) !important;
  color: #86c9a1 !important;
}

#page-dashboard .cp-category-tag,
#page-dashboard .cp-cat-수급,
#page-dashboard .cp-cat-재무,
#page-dashboard .cp-cat-차트,
#page-dashboard .cp-cat-미시구조,
#page-dashboard .cp-cat-이벤트,
#page-dashboard .cp-cat-뉴스,
#page-dashboard .cp-cat-매크로,
#page-dashboard .cp-cat-리스크 {
  background: transparent !important;
}

#page-dashboard .cp-category-tag {
  padding: 4px 10px !important;
  border: 1px solid currentColor !important;
}

#page-dashboard .cp-item-headline {
  gap: 7px;
}

#page-dashboard .cp-item-title,
#page-dashboard .cp-item-meta strong {
  color: #0b1110 !important;
  line-height: 1.6;
  text-wrap: pretty;
}

#page-dashboard .cp-item-reason {
  color: #1f2937 !important;
  line-height: 1.74;
  text-wrap: pretty;
}

#page-dashboard .cp-item-meta {
  gap: 3px;
  padding: 9px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 0 !important;
}

#page-dashboard .cp-item-meta-label {
  color: #64748b !important;
}

#page-dashboard .cp-upgrade-banner,
#page-dashboard .cp-summary {
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 163, 74, 0.14) !important;
  border-radius: 0 !important;
}

#page-dashboard .cp-upgrade-text,
#page-dashboard .cp-summary {
  color: #000000 !important;
  line-height: 1.76 !important;
  letter-spacing: -0.01em;
}

#page-dashboard .cp-upgrade-btn {
  background: transparent !important;
  border: 1px solid rgba(22, 163, 74, 0.18) !important;
  color: #166534 !important;
}

[data-theme="dark"] #page-dashboard .cp-reading-card,
[data-theme="dark"] #page-dashboard .cp-uncertainty-card,
[data-theme="dark"] #page-dashboard .cp-item,
[data-theme="dark"] #page-dashboard .cp-item-meta,
[data-theme="dark"] #page-dashboard .cp-summary,
[data-theme="dark"] #page-dashboard .cp-upgrade-banner {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .cp-reading-card,
[data-theme="dark"] #page-dashboard .cp-uncertainty-card,
[data-theme="dark"] #page-dashboard .cp-item,
[data-theme="dark"] #page-dashboard .cp-summary,
[data-theme="dark"] #page-dashboard .cp-upgrade-banner {
  border-top-color: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-dashboard [data-cp-item][data-expanded="true"] {
  border-top-color: rgba(148, 163, 184, 0.2) !important;
}

[data-theme="dark"] #page-dashboard .cp-item-meta {
  border-top-color: rgba(148, 163, 184, 0.2) !important;
}

[data-theme="dark"] #page-dashboard .cp-context-label,
[data-theme="dark"] #page-dashboard .cp-reading-card .cp-context-label,
[data-theme="dark"] #page-dashboard .cp-uncertainty-card .cp-context-label,
[data-theme="dark"] #page-dashboard .cp-item-meta-label {
  color: #8fa59b !important;
}

[data-theme="dark"] #page-dashboard .cp-context-text,
[data-theme="dark"] #page-dashboard .cp-uncertainty-card .cp-context-text,
[data-theme="dark"] #page-dashboard .cp-item-title,
[data-theme="dark"] #page-dashboard .cp-item-meta strong,
[data-theme="dark"] #page-dashboard .cp-upgrade-text,
[data-theme="dark"] #page-dashboard .cp-summary {
  color: #d6e5dd !important;
}

[data-theme="dark"] #page-dashboard .cp-item-reason {
  color: #aebfcb !important;
}

[data-theme="dark"] #page-dashboard .cp-num {
  background: transparent !important;
  border-color: rgba(167, 243, 208, 0.22) !important;
  color: #b7f3d0 !important;
}

[data-theme="dark"] #page-dashboard .cp-category-tag {
  border-color: currentColor !important;
}

[data-theme="dark"] #page-dashboard .cp-upgrade-btn {
  background: transparent !important;
  border-color: rgba(167, 243, 208, 0.2) !important;
  color: #b7f3d0 !important;
}

/* Recommendation action buttons */
#page-dashboard .recommend-action-btn {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(22, 163, 74, 0.16) !important;
  background: transparent !important;
  color: #166534 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* Unlock button override */
#page-dashboard .recommend-action-btn.recommend-locked-cta {
  border: 1px dashed #F5F5F5 !important;
  background: rgba(248, 250, 252, 0.92) !important;
  color: #0b1110 !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  pointer-events: auto !important;
}

#page-dashboard .recommend-action-btn.recommend-locked-cta:hover {
  background: #ffffff !important;
  border-color: rgba(34, 197, 94, 0.24) !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] #page-dashboard .recommend-action-btn.recommend-locked-cta {
  border-color: #302920 !important;
  background: rgba(31, 26, 21, 0.92) !important;
  color: #cbbfae !important;
}

[data-theme="dark"] #page-dashboard .recommend-action-btn.recommend-locked-cta:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(45, 212, 191, 0.24) !important;
}

#page-dashboard .recommend-action-btn:hover,
#page-dashboard .recommend-action-btn:active {
  background: transparent !important;
  border-color: rgba(22, 163, 74, 0.16) !important;
  box-shadow: none !important;
  transform: none !important;
}

#page-dashboard .recommend-action-btn:focus-visible {
  outline: 2px solid rgba(22, 163, 74, 0.18);
  outline-offset: 2px;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .recommend-action-btn {
  border-color: rgba(167, 243, 208, 0.18) !important;
  background: transparent !important;
  color: #b7f3d0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .recommend-action-btn:hover,
[data-theme="dark"] #page-dashboard .recommend-action-btn:active {
  border-color: rgba(167, 243, 208, 0.18) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

[data-theme="dark"] #page-dashboard .recommend-action-btn:focus-visible {
  outline-color: rgba(167, 243, 208, 0.22);
}

/* Mind map takeaway */
#page-dashboard .mindmap-reading-card,
#page-dashboard .mindmap-reading-block,
#page-dashboard .mindmap-detail-takeaway {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .mindmap-reading-card,
[data-theme="dark"] #page-dashboard .mindmap-reading-block,
[data-theme="dark"] #page-dashboard .mindmap-detail-takeaway {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Dashboard text-fit refinement */
#page-dashboard .workspace {
  max-width: 1640px !important;
  padding-inline: clamp(18px, 2vw, 28px) !important;
}

#page-dashboard .dashboard-shell {
  gap: clamp(14px, 1.5vw, 22px) !important;
}

#page-dashboard .dashboard-shell > .dashboard-main,
#page-dashboard .dashboard-shell > .result-column,
#page-dashboard .dashboard-stage,
#page-dashboard .panel,
#page-dashboard .recommend-card,
#page-dashboard .recommend-item,
#page-dashboard .recommend-detail-inner {
  min-width: 0;
}

#page-dashboard .recommend-action-row {
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr)) !important;
}

#page-dashboard .recommend-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  height: auto;
  padding: 10px 12px;
  line-height: 1.35;
  white-space: normal;
  word-break: keep-all;
  text-align: center;
}

#page-dashboard .panel-chip-btn,
#page-dashboard .macro-updated,
#page-dashboard .report-actions .ghost-btn {
  min-height: 38px;
  height: auto;
  padding-block: 8px;
  line-height: 1.25;
}

#page-dashboard .rec-head-row,
#page-dashboard .rec-name-wrap {
  align-items: flex-start;
}

#page-dashboard .rec-company-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-width: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  line-height: 1.28;
}

#page-dashboard .rec-price-wrap {
  flex-wrap: wrap;
  justify-content: flex-end;
  row-gap: 4px;
}

#page-dashboard .recommend-inline-summary,
#page-dashboard .dashboard-head-copy p,
#page-dashboard .section-head p,
#page-dashboard .assist-note {
  overflow-wrap: anywhere;
}

@media (max-width: 1220px) {
  #page-dashboard .dashboard-shell {
    display: flex !important;
    flex-direction: column;
  }

  #page-dashboard .dashboard-shell > .result-column {
    order: 2;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav {
    order: 1;
    position: static;
    top: auto;
    margin: 0 0 14px;
  }

  body.alert-drawer-open #page-dashboard .dash-subnav.dashboard-quicknav {
    top: auto;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 16px;
  }

  #page-dashboard .dash-subnav-pill {
    width: auto;
    min-width: 0;
    padding: 0;
  }

  #page-dashboard .dash-subnav-pill-label {
    max-width: none;
  }
}

@media (max-width: 1280px) {
  #page-dashboard .workspace {
    padding-inline: clamp(16px, 1.8vw, 24px) !important;
  }

  #page-dashboard .recommend-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@container dash-panel (max-width: 980px) {
  #page-dashboard .panel-chip-btn,
  #page-dashboard .macro-updated,
  #page-dashboard .report-actions .ghost-btn {
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 760px) {
  #page-dashboard .recommend-action-row {
    grid-template-columns: 1fr !important;
  }
}

/* Research studio width alignment */
#page-dashboard #research-studio .dashboard-stage-head {
  max-width: none !important;
}

#page-dashboard #research-studio .dashboard-stage-desc,
#page-dashboard #research-studio .dashboard-stage-note {
  max-width: 1180px;
}

#page-dashboard #research-studio .research-studio-shell {
  gap: 14px !important;
  padding: 14px 0 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio .research-studio-tabs,
#page-dashboard #research-studio .research-flow-bridge {
  padding-inline: clamp(14px, 1.6vw, 20px);
}

#page-dashboard #research-studio .research-studio-body,
#page-dashboard #research-studio .research-pane,
#page-dashboard #research-studio .research-pane.is-active {
  width: 100%;
  min-width: 0;
}

#page-dashboard #research-studio .research-pane.is-active > .analysis-panel,
#page-dashboard #research-studio .research-pane.is-active > .checkpoint-panel,
#page-dashboard #research-studio .research-pane.is-active > .mindmap-panel,
#page-dashboard #research-studio .research-pane.is-active > #summary,
#page-dashboard #research-studio .research-pane.is-active > #report-panel,
#page-dashboard #research-studio .research-pane.is-active > #links-panel {
  margin-inline: 0;
}

#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel,
#page-dashboard #research-studio #summary,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel {
  width: 100%;
  max-width: none;
  min-width: 0;
}

#page-dashboard #research-studio .section-head,
#page-dashboard #research-studio .checkpoint-form,
#page-dashboard #research-studio .mindmap-form,
#page-dashboard #research-studio .research-service-disclaimer,
#page-dashboard #research-studio #checkpoint-body,
#page-dashboard #research-studio #mindmap-body {
  width: 100%;
  max-width: none;
  min-width: 0;
  justify-self: stretch;
}

#page-dashboard #research-studio #mindmap-body,
#page-dashboard #research-studio .mindmap-stage-shell,
#page-dashboard #research-studio .mindmap-hero,
#page-dashboard #research-studio .mindmap-main-grid,
#page-dashboard #research-studio .mindmap-visual-panel,
#page-dashboard #research-studio .mindmap-command-deck,
#page-dashboard #research-studio .mindmap-analysis-shell,
#page-dashboard #research-studio .mindmap-reading-stack,
#page-dashboard #research-studio .mindmap-reading-block,
#page-dashboard #research-studio .mindmap-reading-card,
#page-dashboard #research-studio .cp-body,
#page-dashboard #research-studio .cp-context-row,
#page-dashboard #research-studio .cp-list {
  width: 100%;
  max-width: none;
  min-width: 0;
}

#page-dashboard #research-studio .mindmap-main-grid,
#page-dashboard #research-studio .mindmap-reading-stack {
  grid-template-columns: 1fr !important;
}

#page-dashboard #research-studio .mindmap-command-deck,
#page-dashboard #research-studio .mindmap-analysis-shell {
  width: 100%;
  min-width: 0;
}

#page-dashboard #checkpoint-panel .cp-form-row,
#page-dashboard #mindmap-panel .cp-form-row {
  width: 100%;
}

#page-dashboard #checkpoint-panel .cp-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: stretch;
}

#page-dashboard #mindmap-panel .cp-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

#page-dashboard #checkpoint-panel .cp-form-row .ticker-autocomplete-wrap,
#page-dashboard #mindmap-panel .cp-form-row .ticker-autocomplete-wrap {
  width: 100%;
  flex: 1 1 auto;
  max-width: none;
}

#page-dashboard #checkpoint-panel .cp-submit-btn,
#page-dashboard #mindmap-panel .cp-submit-btn,
#page-dashboard #checkpoint-panel .analysis-secondary-btn {
  justify-self: end;
}

@media (max-width: 768px) {
  #page-dashboard #research-studio .research-studio-shell {
    padding: 12px 0 0 !important;
  }

  #page-dashboard #research-studio .research-studio-tabs,
  #page-dashboard #research-studio .research-flow-bridge {
    padding-inline: 12px;
  }

  #page-dashboard #checkpoint-panel .cp-form-row,
  #page-dashboard #mindmap-panel .cp-form-row {
    grid-template-columns: 1fr;
  }

  #page-dashboard #checkpoint-panel .cp-submit-btn,
  #page-dashboard #mindmap-panel .cp-submit-btn,
  #page-dashboard #checkpoint-panel .analysis-secondary-btn {
    justify-self: stretch;
  }
}

/* Dashboard stages stay stacked; research studio only gets desktop width lock */
#page-dashboard .dashboard-stage-grid--context,
#page-dashboard .dashboard-stage-grid--opportunity {
  grid-template-columns: 1fr !important;
}

#page-dashboard .dashboard-stage-grid--context > #section-macro,
#page-dashboard .dashboard-stage-grid--context > #section-day-score,
#page-dashboard .dashboard-stage-grid--opportunity > #section-recommend,
#page-dashboard .dashboard-stage-grid--opportunity > #section-market-intel {
  grid-column: 1 / -1 !important;
}

@media (min-width: 769px) {
  #page-dashboard .dashboard-main > #research-studio,
  #page-dashboard #research-studio,
  #page-dashboard #research-studio .dashboard-stage-head,
  #page-dashboard #research-studio .dashboard-stage-desc,
  #page-dashboard #research-studio .dashboard-stage-note,
  #page-dashboard #research-studio .research-studio-tabs,
  #page-dashboard #research-studio .research-flow-bridge,
  #page-dashboard #research-studio .section-head,
  #page-dashboard #research-studio .checkpoint-form,
  #page-dashboard #research-studio .mindmap-form,
  #page-dashboard #research-studio .research-studio-body,
  #page-dashboard #research-studio .research-pane,
  #page-dashboard #research-studio .research-pane.is-active,
  #page-dashboard #research-studio .research-pane.is-active > .analysis-panel,
  #page-dashboard #research-studio .research-pane.is-active > .checkpoint-panel,
  #page-dashboard #research-studio .research-pane.is-active > .mindmap-panel,
  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel,
  #page-dashboard #research-studio #checkpoint-body,
  #page-dashboard #research-studio #mindmap-body,
  #page-dashboard #research-studio .cp-body,
  #page-dashboard #research-studio .cp-list,
  #page-dashboard #research-studio .mindmap-stage-shell,
  #page-dashboard #research-studio .mindmap-main-grid,
  #page-dashboard #research-studio .mindmap-analysis-shell,
  #page-dashboard #research-studio .mindmap-reading-stack {
    inline-size: 100% !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }

  #page-dashboard #research-studio .research-studio-shell {
    padding: 14px 0 0 !important;
    box-sizing: border-box;
  }

  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel {
    box-sizing: border-box;
  }

  #page-dashboard #checkpoint-panel .cp-form-row {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
  }

  #page-dashboard #mindmap-panel .cp-form-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

/* Research disclaimers: text only, no gray surface */
#page-dashboard .assist-note.research-service-disclaimer,
#page-dashboard #research-studio .assist-note.research-service-disclaimer,
[data-theme="dark"] #page-dashboard .assist-note.research-service-disclaimer,
[data-theme="dark"] #page-dashboard #research-studio .assist-note.research-service-disclaimer {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .research-pane--analysis .assist-note.research-service-disclaimer,
[data-theme="dark"] #page-dashboard #research-studio .research-pane--analysis .assist-note.research-service-disclaimer {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Keep checkpoint and mind map ticker inputs aligned with the AI report width cap. */
@media (min-width: 769px) {
  #page-dashboard #checkpoint-panel .cp-form-row,
  #page-dashboard #mindmap-panel .cp-form-row {
    justify-content: start;
  }

  #page-dashboard #checkpoint-panel .cp-form-row {
    grid-template-columns: minmax(0, 760px) auto auto !important;
  }

  #page-dashboard #mindmap-panel .cp-form-row {
    grid-template-columns: minmax(0, 760px) auto !important;
  }

  #page-dashboard #checkpoint-panel .cp-form-row .ticker-autocomplete-wrap,
  #page-dashboard #mindmap-panel .cp-form-row .ticker-autocomplete-wrap {
    max-width: 760px !important;
  }
}

/* Disclaimer: text-only, no gray/surface box — highest priority override */
.research-service-disclaimer,
#page-dashboard .research-service-disclaimer,
#page-dashboard #research-studio .research-service-disclaimer,
#page-dashboard .assist-note.research-service-disclaimer,
#page-dashboard #research-studio .assist-note.research-service-disclaimer,
[data-theme="dark"] .research-service-disclaimer,
[data-theme="dark"] #page-dashboard .research-service-disclaimer,
[data-theme="dark"] #page-dashboard #research-studio .research-service-disclaimer,
[data-theme="dark"] #page-dashboard .assist-note.research-service-disclaimer,
[data-theme="dark"] #page-dashboard #research-studio .assist-note.research-service-disclaimer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-top: 16px !important;
}

/* Panel action buttons: minimal ghost style — no heavy background, quiet until interacted */
#page-dashboard .panel-chip-btn,
#page-dashboard .ghost-btn.panel-chip-btn,
#page-dashboard .panel-toggle-btn.panel-chip-btn,
#page-dashboard .panel-chip-btn--refresh,
#page-dashboard .panel-chip-btn--toggle {
  height: 26px !important;
  min-width: 0 !important;
  padding: 0 9px !important;
  border-radius: 7px !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid transparent !important;
  color: #8a9aaa !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease !important;
}
#page-dashboard .panel-chip-btn:hover,
#page-dashboard .ghost-btn.panel-chip-btn:hover,
#page-dashboard .panel-toggle-btn.panel-chip-btn:hover {
  background: rgba(11, 17, 16, 0.05) !important;
  border-color: rgba(11, 17, 16, 0.1) !important;
  color: #334155 !important;
  box-shadow: none !important;
  transform: none !important;
}
#page-dashboard .panel-chip-btn:active,
#page-dashboard .ghost-btn.panel-chip-btn:active {
  background: rgba(11, 17, 16, 0.09) !important;
}
[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-dashboard .ghost-btn.panel-chip-btn,
[data-theme="dark"] #page-dashboard .panel-toggle-btn.panel-chip-btn {
  background: transparent !important;
  border-color: transparent !important;
  color: #5a6a78 !important;
}
[data-theme="dark"] #page-dashboard .panel-chip-btn:hover,
[data-theme="dark"] #page-dashboard .ghost-btn.panel-chip-btn:hover,
[data-theme="dark"] #page-dashboard .panel-toggle-btn.panel-chip-btn:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #c8d4df !important;
  box-shadow: none !important;
}

/* Research Studio refresh */
#page-dashboard #research-studio {
  --studio-line: rgba(11, 17, 16, 0.08);
  --studio-line-strong: rgba(22, 163, 74, 0.18);
  --studio-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 249, 0.96));
  --studio-soft: rgba(240, 253, 244, 0.9);
  --studio-ink: #0b1110;
  --studio-muted: #64748b;
  --studio-shadow: 0 24px 60px rgba(11, 17, 16, 0.08);
}

#page-dashboard #research-studio .research-studio-shell {
  gap: 18px !important;
  padding: 18px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .research-studio-command,
#page-dashboard #research-studio .research-flow-bridge,
#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel,
#page-dashboard #research-studio #summary,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel {
  border: 1px solid var(--studio-line);
  background: var(--studio-surface);
  box-shadow: var(--studio-shadow);
}

#page-dashboard #research-studio .research-studio-command {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(18px, 2vw, 22px) clamp(18px, 2vw, 24px);
  border-radius: 26px;
  overflow: visible;
}

#page-dashboard #research-studio .research-studio-command::before {
  display: none;
}

#page-dashboard #research-studio .research-studio-command-copy,
#page-dashboard #research-studio .research-studio-command-main {
  position: relative;
  z-index: 1;
}

#page-dashboard #research-studio .research-studio-command-copy {
  display: grid;
  align-content: start;
  gap: 8px;
  max-width: 300px;
}

#page-dashboard #research-studio .research-studio-command-kicker {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #16a34a;
}

#page-dashboard #research-studio .research-studio-command-title {
  margin: 0;
  font-size: clamp(1.08rem, 1.45vw, 1.34rem);
  line-height: 1.18;
  letter-spacing: -0.03em;
  color: var(--studio-ink);
}

#page-dashboard #research-studio .research-studio-command-desc,
#page-dashboard #research-studio .dashboard-stage-desc,
#page-dashboard #research-studio .dashboard-stage-note {
  margin: 0;
  color: var(--studio-muted);
  line-height: 1.6;
}

#page-dashboard #research-studio .research-studio-command-desc {
  font-size: 0.94rem;
  max-width: 34ch;
}

#page-dashboard #research-studio .research-studio-command-main {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

#page-dashboard #research-studio .research-studio-search-wrap,
#page-dashboard #research-studio .research-studio-quick-picks,
#page-dashboard #research-studio .research-studio-launch-grid,
#page-dashboard #research-studio .research-studio-selection {
  width: 100%;
  max-width: 600px;
}

#page-dashboard #research-studio .research-studio-search-wrap input {
  min-height: 58px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1.5px solid rgba(22, 163, 74, 0.2);
  background: #ffffff;
  color: var(--studio-ink);
  font-size: 1.02rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(22, 163, 74, 0.06);
}

#page-dashboard #research-studio .research-studio-search-wrap input:focus {
  border-color: rgba(22, 163, 74, 0.3);
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
}

#page-dashboard #research-studio .research-studio-quick-picks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn {
  min-height: 32px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(22, 163, 74, 0.18);
  background: #ffffff;
  color: #166534;
  font-weight: 700;
  box-shadow: none;
}

#page-dashboard #research-studio .research-studio-launch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

#page-dashboard #research-studio .research-studio-launch-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 54px;
  padding: 0 16px;
  border-radius: 16px;
  border: 1px solid rgba(22, 163, 74, 0.42);
  background: #ffffff;
  color: #166534;
  text-align: left;
  box-shadow: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

#page-dashboard #research-studio .research-studio-launch-btn strong {
  font-size: 0.92rem;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

#page-dashboard #research-studio .research-studio-launch-btn span {
  color: #15803d;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

#page-dashboard #research-studio .research-studio-launch-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #16a34a;
  background: rgba(240, 253, 244, 0.68);
  box-shadow: 0 10px 24px rgba(22, 163, 74, 0.08);
}

#page-dashboard #research-studio .research-studio-launch-btn:disabled,
#page-dashboard #research-studio .research-studio-launch-btn.is-disabled {
  opacity: 0.55;
  cursor: default;
  box-shadow: none;
}

/* ── Studio Feature Cards ──────────────────────────────── */
#page-dashboard #research-studio .studio-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

#page-dashboard #research-studio .studio-feature-card {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 22px 18px;
  border-radius: 22px;
  border: 1.5px solid var(--studio-line);
  background: var(--studio-surface);
  box-shadow: var(--studio-shadow);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: rgba(148, 163, 184, 0.32);
  background: rgba(241, 245, 249, 0.98);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(148, 163, 184, 0.1);
}

#page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: rgba(148, 163, 184, 0.52);
  background: linear-gradient(145deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.8));
  box-shadow: 0 4px 20px rgba(148, 163, 184, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

#page-dashboard #research-studio .studio-feature-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 2px;
}

#page-dashboard #research-studio .studio-feature-card-title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}

#page-dashboard #research-studio .studio-feature-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
  transition: background 0.18s ease, color 0.18s ease;
}

#page-dashboard #research-studio .studio-feature-card.is-active .studio-feature-card-icon {
  background: rgba(22, 163, 74, 0.18);
  color: #15803d;
}

#page-dashboard #research-studio .studio-feature-card-credit {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.1);
  color: #15803d;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: background 0.18s ease;
}

#page-dashboard #research-studio .studio-feature-card.is-active .studio-feature-card-credit {
  background: rgba(22, 163, 74, 0.18);
}

#page-dashboard #research-studio .studio-feature-card-name {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  color: var(--studio-ink);
  letter-spacing: -0.025em;
  line-height: 1.2;
}

#page-dashboard #research-studio .studio-feature-card-desc {
  margin: 0;
  font-size: 0.83rem;
  line-height: 1.62;
  color: var(--studio-muted);
  flex: 1;
}

/* dark mode — CSS 변수 재정의 */
[data-theme="dark"] #page-dashboard #research-studio {
  --studio-ink: #F5F5F5;
  --studio-muted: #94a3b8;
  --studio-surface: linear-gradient(180deg, rgba(22, 32, 26, 0.98), rgba(16, 24, 20, 0.96));
  --studio-line: rgba(255, 255, 255, 0.07);
  --studio-soft: rgba(22, 163, 74, 0.08);
}

/* dark mode — feature cards */
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card {
  background: rgba(22, 32, 26, 0.7);
  border-color: rgba(255, 255, 255, 0.07);
  color: #F5F5F5;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  border-color: rgba(255, 255, 255, 0.18);
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-name {
  color: #F5F5F5;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-desc {
  color: #F5F5F5;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-icon {
  background: rgba(95, 166, 118, 0.15);
  color: #86efac;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active .studio-feature-card-icon {
  background: rgba(95, 166, 118, 0.22);
  color: #bbf7d0;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-credit {
  background: rgba(95, 166, 118, 0.15);
  color: #d6f0dc;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active .studio-feature-card-credit {
  background: rgba(95, 166, 118, 0.22);
}

#page-dashboard #research-studio .research-studio-selection {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--studio-muted);
}

#page-dashboard #research-studio .research-studio-selection.is-ready {
  color: #166534;
}

#page-dashboard #research-studio .research-studio-selection.is-pending {
  color: #F5F5F5;
}

#page-dashboard #research-studio .research-flow-bridge {
  padding: 18px 20px;
  border-radius: 20px;
}

#page-dashboard #research-studio .research-studio-tabs {
  gap: 8px !important;
  padding: 4px !important;
  border-radius: 16px;
  border: 1px solid var(--studio-line);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: none;
}

#page-dashboard #research-studio .research-studio-tab,
#page-dashboard #research-studio .research-studio-tab:hover,
#page-dashboard #research-studio .research-studio-tab.is-active {
  position: relative;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  transform: none;
}

#page-dashboard #research-studio .research-studio-tab::before,
#page-dashboard #research-studio .research-studio-tab::after {
  display: none !important;
}

#page-dashboard #research-studio .research-studio-tab {
  color: #F5F5F5;
  font-size: 0.92rem;
  font-weight: 700;
}

#page-dashboard #research-studio .research-studio-tab:hover {
  color: var(--studio-ink);
  background: rgba(248, 250, 252, 0.9);
  border-color: rgba(148, 163, 184, 0.14);
}

#page-dashboard #research-studio .research-studio-tab.is-active {
  color: #166534;
  background: rgba(240, 253, 244, 0.96);
  border-color: rgba(134, 239, 172, 0.75);
}

#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel,
#page-dashboard #research-studio #summary,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel {
  padding: clamp(20px, 2.2vw, 28px);
  border-radius: 28px;
}

#page-dashboard #research-studio .section-head,
#page-dashboard #research-studio .report-head,
#page-dashboard #research-studio .summary-card-head,
#page-dashboard #research-studio .chart-head {
  padding: 0 0 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

#page-dashboard #research-studio .section-head h2,
#page-dashboard #research-studio .report-head h2 {
  margin: 0;
  font-size: clamp(1.12rem, 1.5vw, 1.32rem);
  line-height: 1.18;
  letter-spacing: -0.03em;
  color: var(--studio-ink);
}

#page-dashboard #research-studio .analysis-kicker {
  color: #16a34a;
  font-size: 0.74rem;
  letter-spacing: 0.16em;
}

#page-dashboard #research-studio .analysis-form,
#page-dashboard #research-studio .checkpoint-form,
#page-dashboard #research-studio .mindmap-form {
  display: grid;
  gap: 14px;
}

#page-dashboard #research-studio .studio-inline-search {
  display: grid;
  gap: 8px;
  width: min(100%, 520px);
  justify-self: start;
}

#page-dashboard #research-studio .studio-inline-search--compact {
  width: min(100%, 420px);
}

#page-dashboard #research-studio .studio-inline-search-wrap input {
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(22, 163, 74, 0.18);
  background: #ffffff;
  color: var(--studio-ink);
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: none;
}

#page-dashboard #research-studio .studio-inline-search-wrap input:focus {
  outline: none;
  border-color: rgba(22, 163, 74, 0.28);
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.08);
}

#page-dashboard #research-studio .studio-inline-search-state {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
}

#page-dashboard #research-studio .studio-inline-search-state .studio-selected-ticker-label {
  flex: 0 0 auto;
}

#page-dashboard #research-studio .studio-selected-ticker-card {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(22, 163, 74, 0.14);
  background: #ffffff;
  box-shadow: none;
}

#page-dashboard #research-studio .studio-selected-ticker-card--compact {
  width: min(100%, 430px);
  justify-self: start;
}

#page-dashboard #research-studio .studio-selected-ticker-label {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}

#page-dashboard #research-studio .studio-selected-ticker-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

#page-dashboard #research-studio .studio-selected-ticker-card--compact .studio-selected-ticker-main {
  justify-content: flex-start;
}

#page-dashboard #research-studio .studio-selected-ticker-value {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.98rem;
  line-height: 1.45;
  letter-spacing: -0.02em;
  color: var(--studio-ink);
}

#page-dashboard #research-studio .studio-selected-ticker-value.is-empty {
  color: var(--studio-muted);
}

/* ── Task focus wrap ── */
.task-focus-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(100%, 520px);
}
.task-focus-label {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.4;
  color: inherit;
}
.task-focus-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.task-focus-chip {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 11px;
  border-radius: 99px;
  border: 1px solid rgba(22, 163, 74, 0.18);
  background: transparent;
  color: rgba(15, 30, 20, 0.6);
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.13s, border-color 0.13s, color 0.13s;
  white-space: nowrap;
  box-shadow: none;
}
.task-focus-chip:hover {
  background: rgba(22, 163, 74, 0.05);
  border-color: rgba(22, 163, 74, 0.25);
  color: rgba(15, 30, 20, 0.75);
}
.task-focus-chip--active {
  background: transparent;
  border-color: rgba(22, 163, 74, 0.18);
  color: rgba(15, 30, 20, 0.6);
  font-weight: 500;
}

#page-dashboard #research-studio textarea#user_task {
  min-height: unset;
  height: 38px;
  padding: 8px 14px;
  border-radius: 12px;
  border: 1px solid rgba(22, 163, 74, 0.13);
  background: rgba(22, 163, 74, 0.02);
  color: var(--studio-ink);
  font-size: 0.88rem;
  line-height: 1.5;
  resize: none;
  overflow: hidden;
  box-sizing: border-box;
  transition: border-color 0.15s, background 0.15s;
}

#page-dashboard #research-studio textarea#user_task:focus {
  outline: none;
  border-color: rgba(22, 163, 74, 0.28);
  background: #ffffff;
  box-shadow: none;
}

/* Dark mode */
[data-theme="dark"] .task-focus-chip {
  border-color: rgba(74, 222, 128, 0.15);
  color: rgba(255,255,255,0.45);
}
[data-theme="dark"] .task-focus-chip:hover {
  background: rgba(74, 222, 128, 0.07);
  border-color: rgba(74, 222, 128, 0.28);
  color: #4ade80;
}
[data-theme="dark"] .task-focus-chip--active {
  background: transparent;
  border-color: rgba(74, 222, 128, 0.15);
  color: rgba(255,255,255,0.45);
}
[data-theme="dark"] #page-dashboard #research-studio textarea#user_task {
  background: rgba(255,255,255,0.03);
  border-color: rgba(74, 222, 128, 0.12);
}
[data-theme="dark"] #page-dashboard #research-studio textarea#user_task:focus {
  background: rgba(255,255,255,0.05);
  border-color: rgba(74, 222, 128, 0.26);
}

#page-dashboard #research-studio .analyze-btn-row,
#page-dashboard #research-studio .studio-tool-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

#page-dashboard #research-studio .analysis-cta-btn,
#page-dashboard #research-studio .cp-submit-btn {
  min-height: 40px;
  padding: 0 17px;
  gap: 10px;
  border-radius: 999px;
  border: 1px solid #16a34a;
  background: #ffffff;
  color: #15803d;
  box-shadow: none;
  font-size: 0.9rem;
}

#page-dashboard #research-studio .analysis-cta-btn:hover,
#page-dashboard #research-studio .cp-submit-btn:hover {
  background: rgba(240, 253, 244, 0.68);
  box-shadow: 0 10px 22px rgba(22, 163, 74, 0.08);
}

#page-dashboard #research-studio .analysis-secondary-btn {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(22, 163, 74, 0.3);
  background: #ffffff;
  color: #166534;
  font-size: 0.86rem;
}

#page-dashboard #research-studio .cp-credit-badge {
  background: rgba(22, 163, 74, 0.1);
  color: #15803d;
}

#page-dashboard #research-studio .studio-search-focus-btn {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.82rem;
}

#page-dashboard #research-studio .analysis-inline-feedback,
#page-dashboard #research-studio .eta-note,
#page-dashboard #research-studio .assist-note {
  color: var(--studio-muted);
}

#page-dashboard #research-studio .eta-note {
  font-size: 0.79rem;
  line-height: 1.45;
}

#page-dashboard #research-studio #summary,
#page-dashboard #research-studio .summary-card,
#page-dashboard #research-studio .chart-card {
  background: transparent;
  box-shadow: none;
}

#page-dashboard #research-studio .summary-metric {
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.82);
}
[data-theme="dark"] #page-dashboard #research-studio .summary-metric {
  background: rgba(18, 24, 34, 0.82);
  border-color: rgba(148, 163, 184, 0.14);
}
[data-theme="dark"] #page-dashboard #research-studio .summary-metric-label {
  color: #98a2b3;
}
[data-theme="dark"] #page-dashboard #research-studio .summary-metric-value {
  color: #F5F5F5;
}
[data-theme="dark"] #page-dashboard #research-studio .summary-card-head {
  border-bottom-color: rgba(148, 163, 184, 0.12);
}
[data-theme="dark"] #page-dashboard #research-studio .summary-card-desc {
  color: #94a3b8;
}

#page-dashboard #research-studio #report-panel {
  gap: 0;
}

#page-dashboard #research-studio .report-actions {
  flex-wrap: wrap;
}

#page-dashboard #research-studio .report-head .ghost-btn,
#page-dashboard #research-studio .report-actions .ghost-btn {
  min-width: 0;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.88);
  color: #334155;
  box-shadow: none;
}

#page-dashboard #research-studio .markdown-body {
  margin-top: 0;
  min-height: 360px;
  max-height: none;
  padding: clamp(24px, 2.8vw, 34px);
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

#page-dashboard #research-studio .markdown-body h1 {
  border-bottom-color: rgba(22, 163, 74, 0.2);
  color: var(--studio-ink);
}

#page-dashboard #research-studio .markdown-body h2 {
  border-left-color: #16a34a;
  background: rgba(240, 253, 244, 0.88);
  color: var(--studio-ink);
}

#page-dashboard #research-studio .report-legal-disclaimer {
  margin-top: 16px;
  border-radius: 18px;
  border: 1px solid rgba(251, 191, 36, 0.2);
  background: rgba(255, 251, 235, 0.72);
}
[data-theme="dark"] #page-dashboard #research-studio .report-legal-disclaimer {
  background: rgba(249, 115, 22, 0.08);
  border-color: rgba(251, 146, 60, 0.25);
  color: #94a3b8;
}
[data-theme="dark"] #page-dashboard #research-studio .report-legal-disclaimer strong {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .cp-body {
  gap: 16px;
}

#page-dashboard #research-studio .cp-context-row {
  gap: 14px;
}

#page-dashboard #research-studio .cp-reading-card,
#page-dashboard #research-studio .cp-uncertainty-card,
#page-dashboard #research-studio .cp-item,
#page-dashboard #research-studio .cp-item-meta,
#page-dashboard #research-studio .cp-summary {
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: none;
}

#page-dashboard #research-studio .cp-reading-card {
  background: rgba(240, 253, 244, 0.82);
  border-color: rgba(134, 239, 172, 0.54);
}

#page-dashboard #research-studio .cp-uncertainty-card {
  background: rgba(255, 251, 235, 0.82);
  border-color: rgba(253, 230, 138, 0.58);
}

#page-dashboard #research-studio .cp-item {
  padding: 18px 18px 17px;
  border-radius: 22px;
}

#page-dashboard #research-studio .cp-item:hover {
  border-color: rgba(11, 17, 16, 0.12);
  background: rgba(243, 244, 246, 0.9);
}
#page-dashboard #research-studio [data-cp-item][data-expanded="true"] {
  border-color: rgba(11, 17, 16, 0.14);
  background: transparent;
}

#page-dashboard #research-studio .cp-category-tag {
  background: rgba(240, 253, 244, 0.92);
  border-color: rgba(134, 239, 172, 0.7);
}

#page-dashboard #research-studio .cp-item-title,
#page-dashboard #research-studio .cp-item-meta strong {
  color: var(--studio-ink);
}

#page-dashboard #research-studio .cp-item-reason {
  color: #1f2937;
}
#page-dashboard #research-studio .cp-summary {
  color: #111827;
}

#page-dashboard #research-studio .mindmap-stage-shell {
  gap: 18px;
}

#page-dashboard #research-studio .mm-header-strip,
#page-dashboard #research-studio .mm-context-strip {
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: none;
}

#page-dashboard #research-studio .mm-header-strip {
  padding: 18px 20px;
  border-radius: 22px;
}

#page-dashboard #research-studio .mindmap-cosmos {
  min-height: clamp(500px, 58vh, 760px);
  border-radius: 28px;
  border-color: rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, #f8fbfa 0%, #eef5f2 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

#page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.82);
  color: #334155;
}

#page-dashboard #research-studio .mm-context-strip {
  padding: 18px 20px;
  border-radius: 24px;
}

#page-dashboard #research-studio .mm-related-chip {
  background: rgba(248, 250, 252, 0.88);
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-shell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-command,
[data-theme="dark"] #page-dashboard #research-studio .research-flow-bridge,
[data-theme="dark"] #page-dashboard #research-studio .analysis-panel,
[data-theme="dark"] #page-dashboard #research-studio .checkpoint-panel,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-panel,
[data-theme="dark"] #page-dashboard #research-studio #summary,
[data-theme="dark"] #page-dashboard #research-studio #report-panel,
[data-theme="dark"] #page-dashboard #research-studio #links-panel,
[data-theme="dark"] #page-dashboard #research-studio .studio-selected-ticker-card,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body,
[data-theme="dark"] #page-dashboard #research-studio .cp-reading-card,
[data-theme="dark"] #page-dashboard #research-studio .cp-uncertainty-card,
[data-theme="dark"] #page-dashboard #research-studio .cp-item,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-meta,
[data-theme="dark"] #page-dashboard #research-studio .cp-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-launch-btn {
  background: rgba(20, 22, 21, 0.96);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-command-title,
[data-theme="dark"] #page-dashboard #research-studio .section-head h2,
[data-theme="dark"] #page-dashboard #research-studio .report-head h2,
[data-theme="dark"] #page-dashboard #research-studio .studio-selected-ticker-value,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-title,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-meta strong,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-name,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-name {
  color: #F5F5F5;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-command-desc,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-selection,
[data-theme="dark"] #page-dashboard #research-studio .studio-selected-ticker-label,
[data-theme="dark"] #page-dashboard #research-studio .studio-selected-ticker-value.is-empty,
[data-theme="dark"] #page-dashboard #research-studio .analysis-inline-feedback,
[data-theme="dark"] #page-dashboard #research-studio .eta-note,
[data-theme="dark"] #page-dashboard #research-studio .assist-note,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-reason,
[data-theme="dark"] #page-dashboard #research-studio .cp-summary {
  color: #94a3b8;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-search-wrap input,
[data-theme="dark"] #page-dashboard #research-studio .studio-inline-search-wrap input,
[data-theme="dark"] #page-dashboard #research-studio textarea#user_task,
[data-theme="dark"] #page-dashboard #research-studio .analysis-secondary-btn,
[data-theme="dark"] #page-dashboard #research-studio .report-head .ghost-btn,
[data-theme="dark"] #page-dashboard #research-studio .report-actions .ghost-btn,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tabs {
  background: #0f1715 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .analysis-cta-btn,
[data-theme="dark"] #page-dashboard #research-studio .cp-submit-btn,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-launch-btn,
[data-theme="dark"] #page-dashboard #research-studio .analysis-secondary-btn {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(74, 222, 128, 0.52);
  color: #bbf7d0;
  box-shadow: none;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-launch-btn span {
  color: #86efac;
}

[data-theme="dark"] #page-dashboard #research-studio .cp-credit-badge {
  background: rgba(74, 222, 128, 0.14);
  color: #86efac;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab.is-active {
  background: rgba(20, 83, 45, 0.72);
  border-color: rgba(134, 239, 172, 0.3);
  color: #dcfce7;
}

@media (max-width: 1080px) {
  #page-dashboard #research-studio .research-studio-command {
    grid-template-columns: 1fr;
  }

  #page-dashboard #research-studio .research-studio-command-copy,
  #page-dashboard #research-studio .research-studio-search-wrap,
  #page-dashboard #research-studio .research-studio-quick-picks,
  #page-dashboard #research-studio .research-studio-launch-grid,
  #page-dashboard #research-studio .research-studio-selection {
    width: 100%;
    max-width: none;
  }

  #page-dashboard #research-studio .research-studio-launch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  #page-dashboard #research-studio .research-studio-command,
  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel,
  #page-dashboard #research-studio #summary,
  #page-dashboard #research-studio #report-panel,
  #page-dashboard #research-studio #links-panel {
    padding: 18px;
    border-radius: 24px;
  }

  #page-dashboard #research-studio .research-studio-launch-grid {
    grid-template-columns: 1fr;
  }

  #page-dashboard #research-studio .studio-inline-search,
  #page-dashboard #research-studio .studio-selected-ticker-card--compact {
    width: 100%;
  }

  #page-dashboard #research-studio .studio-selected-ticker-main,
  #page-dashboard #research-studio .analyze-btn-row,
  #page-dashboard #research-studio .studio-tool-action-row {
    flex-direction: column;
    align-items: stretch;
  }

  #page-dashboard #research-studio .analysis-cta-btn,
  #page-dashboard #research-studio .cp-submit-btn,
  #page-dashboard #research-studio .analysis-secondary-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ════════════════════════════════════════════════════════
   FINAL UNIFIED LAYOUT: Market Briefing & Dashboard
   이 블록은 모든 스타일 충돌을 방지하기 위해 파일 최하단에서 우선순위를 강제합니다.
   ════════════════════════════════════════════════════════ */

#page-dashboard, #page-briefing {
  background: var(--bg) !important;
  padding: 24px 0 120px !important;
}

[data-theme="dark"] #page-dashboard, [data-theme="dark"] #page-briefing {
  background: var(--bg) !important;
}

#page-dashboard .workspace,
#page-briefing .workspace {
  max-width: 1480px;
  padding: 0 36px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}

.title-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 1px solid rgba(120, 146, 127, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #708677;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  cursor: help;
  position: relative;
  margin-left: 6px;
  transition: color 0.2s ease;
  vertical-align: middle;
}

.title-info-btn:hover {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(95, 166, 118, 0.4);
  color: #2f6b45;
}

.title-tooltip {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: max-content;
  max-width: min(320px, 80vw);
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 14px;
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.05);
  color: #374151;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.01em;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  white-space: normal;
  text-align: left;
}

.title-info-btn:hover .title-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

[data-theme="dark"] .title-info-btn {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #94a3b8;
}

[data-theme="dark"] .title-tooltip {
  background: rgba(30, 41, 59, 0.75);
  border-color: rgba(255, 255, 255, 0.1);
  color: #F5F5F5;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.dashboard-shell {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}

/* ── 통합 퀵내비 상단 가로 고정 & 스타일 ── */
.dash-subnav.dashboard-quicknav {
  position: sticky !important;
  top: 60px !important;
  z-index: 100 !important;
  background: inherit !important;
  border: 0 !important;
  border-bottom: 0 !important;
  padding: 0 !important;
  margin: -24px 0 0 !important;
  width: 100% !important;
  order: -1 !important;
  box-shadow: none !important;
}

.dash-subnav-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 36px !important;
  padding: 0 36px !important;
  margin: 0 auto !important;
  max-width: 1480px !important;
  min-height: 56px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.dash-subnav-pill {
  width: auto !important;
  min-width: max-content !important;
  padding: 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  color: var(--dash-muted, #667085) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.dash-subnav-pill:hover {
  color: var(--dash-accent-strong, #166534) !important;
  opacity: 1 !important;
}

/* 대시보드와 동일한 shell 그리드 - 상단 가로 배치를 위해 1열 구조로 유연하게 변경 */
#page-briefing .dashboard-shell {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* ── 이슈 1: 브리핑 빠른메뉴 — 한 줄 가로 배치, 상단 고정 ── */
/* briefing subnav: 통합 modernize CSS가 하단에서 처리 */
#page-briefing #briefing-subnav.dash-subnav.dashboard-quicknav {
  position: sticky;
  top: 60px;
  z-index: 200;
  background: rgba(247, 249, 247, 0.92);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 0;
  border-bottom: 1px solid rgba(22, 101, 52, 0.1);
  box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 2px 12px rgba(16,32,25,0.05);
  padding: 0;
  margin: -24px 0 0;
  width: 100%;
  order: -1;
}

#page-briefing #briefing-subnav .dash-subnav-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 0 36px;
  margin: 0 auto;
  max-width: 1480px;
  min-height: 52px;
  overflow-x: auto;
  scrollbar-width: none;
}

#page-briefing #briefing-subnav .dash-subnav-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0 18px;
  height: 52px;
  min-height: 0;
  width: auto;
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #64776d;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  line-height: 1.4;
  cursor: pointer;
  transition: color 0.18s ease;
  box-shadow: none;
}

#page-briefing #briefing-subnav .dash-subnav-pill::before {
  display: none;
  content: none;
}

#page-briefing #briefing-subnav .dash-subnav-pill::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: transparent;
  transition: background 0.2s ease;
}

#page-briefing #briefing-subnav .dash-subnav-pill:hover {
  background: transparent;
  color: #111111;
}

#page-briefing #briefing-subnav .dash-subnav-pill.is-active {
  background: transparent;
  color: #111111;
  font-weight: 700;
}

#page-briefing #briefing-subnav .dash-subnav-pill.is-active::after {
  background: #111111;
}

[data-theme="dark"] #page-briefing #briefing-subnav.dash-subnav.dashboard-quicknav {
  background: rgba(11, 17, 16, 0.94);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom-color: rgba(255, 255, 255, 0.07);
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 2px 12px rgba(0,0,0,0.2);
}

[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill {
  color: rgba(245, 245, 245, 0.6);
}
[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill:hover,
[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill.is-active {
  color: #F5F5F5;
}
[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill.is-active::after {
  background: #F5F5F5;
}

/* 대시보드와 동일한 main 그리드 */
#page-briefing .dashboard-main {
  display: grid;
  gap: 72px;
  min-width: 0;
}

/* ── 이슈 2: briefing journey head 레이아웃 (한 줄 정렬) ── */
#page-briefing .dashboard-journey-head {
  display: grid;
  gap: 12px;
  max-width: none;
  padding: 0;
}

.briefing-kicker-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.briefing-page-title {
  margin: 0;
  color: var(--dash-text, #102019);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 800;
}

.briefing-title-date-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap; /* 한 줄 유지 */
}

.briefing-subtitle {
  color: var(--dash-muted, #72816d);
  font-size: 1.05rem;
  font-weight: 600;
}

.briefing-page-desc {
  margin: 0;
  color: var(--dash-muted, #72816d);
  font-size: 0.98rem;
  line-height: 1.5;
  white-space: nowrap; /* 한 줄 유지 */
}

/* 마켓 인텔리전스 헤더 내 컨트롤 배치 */
.briefing-intel-header-left {
  display: grid;
  gap: 8px;
  width: 100%;
}
.briefing-intel-kicker-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.briefing-intel-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}


/* ── 이슈 2: briefing journey head 레이아웃 (라이트모드 포함) ── */
#page-briefing .dashboard-journey {
  background: transparent;
  box-shadow: none;
  border: 0 !important; /* 하단 선 제거 */
  padding-bottom: 32px;
}

/* ── 이슈 1: 다크모드에서 브리핑 journey 블록 배경 제거 ── */
[data-theme="dark"] #page-briefing .dashboard-journey {
  background: transparent;
  border: 0 !important;
  box-shadow: none;
}

/* ── 이슈 4: 리서치스튜디오 quick-pick-btn 다크모드 흰색 수정 ── */
[data-theme="dark"] #page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn {
  background: rgba(14, 24, 21, 0.88);
  border-color: rgba(95, 166, 118, 0.2);
  color: #b6d8c0;
}
[data-theme="dark"] #page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn:hover {
  background: rgba(22, 50, 32, 0.9);
  border-color: rgba(95, 166, 118, 0.4);
  color: #d1f0da;
}

/* ── 이슈 5: 리서치스튜디오 종목 검색 input 다크모드 흰색 수정 ── */
[data-theme="dark"] #page-dashboard #research-studio .research-studio-search-wrap input,
[data-theme="dark"] #page-dashboard #research-studio .studio-inline-search-wrap input {
  background: rgba(12, 18, 15, 0.92) !important;
  border-color: rgba(95, 166, 118, 0.22) !important;
  color: #F5F5F5 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .research-studio-search-wrap input:focus,
[data-theme="dark"] #page-dashboard #research-studio .studio-inline-search-wrap input:focus {
  border-color: rgba(95, 166, 118, 0.4) !important;
  box-shadow: 0 0 0 4px rgba(95, 166, 118, 0.08) !important;
}

/* 다크모드: 브리핑 페이지 기본 스타일 */
[data-theme="dark"] #page-briefing {
  background: var(--bg) !important;
  --dash-text: #e8f0eb;
  --dash-muted: #8fa899;
  --dash-line: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] #page-briefing .briefing-page-title {
  color: #e8f0eb;
}
[data-theme="dark"] #page-briefing .briefing-subtitle,
[data-theme="dark"] #page-briefing .briefing-page-desc,
[data-theme="dark"] #page-briefing .briefing-date-badge {
  color: #8fa899;
}
[data-theme="dark"] #page-briefing .dashboard-journey-toggle,
[data-theme="dark"] #page-briefing .dashboard-journey-toggle:hover,
[data-theme="dark"] #page-briefing .dashboard-journey-toggle:active {
  color: #94a3b8;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE: 마켓 브리핑
   ════════════════════════════════════════════════════════ */
@media (max-width: 1320px) {
  #page-briefing .workspace {
    max-width: 100%;
    padding: 0 24px;
  }
}
@media (max-width: 768px) {
  #page-briefing .workspace { padding: 0 16px; }
  #page-briefing .dashboard-main { gap: 48px; }
  .briefing-intel-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .briefing-title-date-row { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (max-width: 480px) {
  #page-briefing .workspace { padding: 0 12px; }
}

/* ════════════════════════════════════════════════════════
   FINAL UI SYNC: Dashboard & Briefing Unified Frame
   모든 스타일 충돌을 방지하기 위해 파일 최하단에서 최종 우선순위를 강제합니다.
   ════════════════════════════════════════════════════════ */

/* 1. 화면 폭 및 패딩 통일 (중앙 정렬 강화) */
#page-dashboard .workspace,
#page-briefing .workspace,
#page-mypage .workspace {
  max-width: 1480px !important;
  padding: 0 36px !important;
  width: 100% !important;
  margin: 0 auto !important; /* 무조건 중앙 정렬 */
  box-sizing: border-box !important;
}

.briefing-page-title {
  margin: 0 !important;
  white-space: nowrap !important;
  color: #c9a84c !important; /* 골드색 */
}

[data-theme="dark"] .briefing-page-title {
  color: #F5F5F5 !important; /* 다크모드에서 밝은 골드색 */
}

.briefing-intel-title-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.briefing-header-one-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.briefing-page-title {
  margin: 0 !important;
  white-space: nowrap !important;
}

/* 4. 공통 인포메이션 버튼 및 말풍선 스타일 */
.title-info-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.2px solid rgba(120, 146, 127, 0.25);
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #5b7568;
  font-size: 0.72rem;
  font-weight: 700;
  font-style: italic;
  font-family: serif;
  cursor: pointer; /* 물음표 커서 제거 */
  padding: 0;
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-top: 2px;
  box-shadow: none !important; /* 그림자 완전 제거 */
}

.title-info-btn:hover {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(22, 101, 52, 0.35);
  color: #166534;
  box-shadow: none !important;
}

.title-tooltip {
  position: absolute;
  top: calc(100% + 8px); /* 버튼 아래로 배치 */
  bottom: auto;
  left: 0; /* i 아이콘 왼쪽에서 시작 */
  width: max-content !important;
  max-width: 800px !important;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: none !important;
  color: #0b1110;
  font-family: 'Manrope', 'Pretendard', sans-serif !important; /* 모던 폰트 통일 */
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap !important;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px); /* 아래로 내려오는 애니메이션 */
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 999 !important;
}

/* 말풍선 꼬리표 (위로 향하게 — 툴팁이 아래에 있으므로) */
.title-tooltip::before {
  content: "";
  position: absolute;
  bottom: 100%; /* 위쪽 */
  top: auto;
  left: 8px; /* 꼬리표 위치도 왼쪽으로 조정 */
  border: 6px solid transparent;
  border-bottom-color: rgba(255, 255, 255, 0.94);
}

.title-info-btn:hover .title-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

[data-theme="dark"] .title-tooltip {
  background: rgba(15, 23, 35, 0.88);
  border-color: rgba(255, 255, 255, 0.12);
  color: #F5F5F5;
}

[data-theme="dark"] .title-tooltip::before {
  border-bottom-color: rgba(15, 23, 35, 0.88);
  border-top-color: transparent;
}

/* 2. 배경색 고정 (투명 배경 유지 및 구조 복구) */
#page-dashboard, #page-briefing, #page-mypage {
  background: #f6f7f3 !important;
  padding-top: 12px !important; /* 상단 공백 축소 */
  padding-bottom: 80px !important;
}

[data-theme="dark"] #page-dashboard, 
[data-theme="dark"] #page-briefing,
[data-theme="dark"] #page-mypage {
  background: #0b1110 !important;
}

/* ── 모든 패널, 카드 투명화 (테두리와 패딩은 유지하여 구조 보존) ── */
.panel, .card, .dashboard-journey-card, 
.chart-card, .summary-card, .market-intel-panel, .research-studio-shell, 
.recommend-panel, .recommend-card, .recommend-premium-cta, 
.studio-feature-card, .analysis-panel, .macro-panel, .day-score-panel {
  background: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important; /* 얇은 테두리로 구획만 표시 */
  border-radius: 16px !important;
}

[data-theme="dark"] .panel, [data-theme="dark"] .card, 
[data-theme="dark"] .dashboard-journey-card, 
[data-theme="dark"] .chart-card, [data-theme="dark"] .summary-card,
[data-theme="dark"] .recommend-panel, [data-theme="dark"] .recommend-card {
  border-color: rgba(255, 255, 255, 0.06) !important;
}

/* ── 공백 제거 및 정렬 수정 ── */
.dashboard-journey {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 0 !important; /* 구분선 제거 */
  padding: 0 0 8px 0 !important; /* 하단 패딩 최소화 */
  margin-bottom: 8px !important; /* 하단 마진 최소화 */
}

.dashboard-journey-head {
  display: flex !important; /* 가로 정렬 */
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important; /* 왼쪽 정렬 강제 */
  gap: 10px !important; /* 텍스트와 + 버튼 밀착 */
  padding: 0 !important;
  margin-bottom: 4px !important;
}

.dashboard-journey-kicker {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.dashboard-stage {
  gap: 12px !important; /* 내부 섹션 간격 축소 */
  margin-bottom: 16px !important; /* 섹션 간 간격 축소 */
}

/* Market Briefing 바로 밑에 시장 흐름 모니터가 붙도록 설정 */
#page-briefing .dashboard-main {
  gap: 8px !important;
}

#page-briefing #briefing-top {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 4px !important;
}

.briefing-header-one-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important; /* baseline에서 center로 변경하여 + 버튼과 정렬 */
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
}

/* 시그널 브리핑 하단 세로선(구분선) 제거 */
#section-recommend.recommend-panel {
  border-bottom: 0 !important;
  padding-bottom: 12px !important;
  margin-bottom: 8px !important;
}

/* 5. 마이페이지 현대화 스타일 (Minimal & Transparent) */
.mypg-modern-head {
  margin-bottom: 56px;
}

.mypg-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 64px;
}

.mypg-summary-card {
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: none !important;
}

.mypg-summary-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.mypg-summary-value {
  font-size: 2.4rem;
  font-weight: 800;
  color: #0b1110;
  letter-spacing: -0.03em;
}

.mypg-summary-meta {
  font-size: 0.9rem;
  font-weight: 600;
  color: #16a34a;
}

.mypg-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}

.mypg-section-panel {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mypg-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  border-bottom: 2px solid rgba(11, 17, 16, 0.08);
  padding-bottom: 16px;
}

.mypg-panel-title {
  font-size: 1.2rem;
  font-weight: 800;
  color: #0b1110;
  margin: 0;
  letter-spacing: -0.02em;
}

/* 리스트 아이템 투명화 및 정돈 */
.my-reports-item,
.mypg-activity-item,
.mypg-ledger-row {
  background: transparent !important;
  border: 0 !important;
  padding: 16px 0 !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mypg-empty-card, .my-reports-empty {
  padding: 40px 0;
  color: #94a3b8;
  font-weight: 500;
  text-align: left;
  background: transparent !important;
  border: 0 !important;
}

/* 1:1 문의 폼 현대화 */
.inquiry-form {
  display: grid;
  gap: 16px;
}

.inquiry-form input,
.inquiry-form textarea {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  font-size: 0.95rem;
  color: #1e293b;
  transition: border-bottom-color 0.2s;
}

.inquiry-form input:focus,
.inquiry-form textarea:focus {
  border-bottom-color: #16a34a !important;
  outline: none;
}

#inquiry-submit-btn {
  justify-self: start; /* 왼쪽 정렬 */
  min-height: 36px !important;
  padding: 0 20px !important;
  font-size: 0.85rem !important;
  border-radius: 8px !important;
  width: auto !important; /* 가로로 길어지지 않게 */
  background: #166534 !important;
  margin-top: 8px;
}

/* 관리자 답변 말풍선 스타일 */
.inquiry-admin-reply {
  margin-top: 16px;
  padding: 16px 20px;
  background: rgba(22, 101, 52, 0.06) !important;
  border: 1px solid rgba(22, 163, 74, 0.25) !important;
  border-radius: 4px 16px 16px 16px;
  position: relative;
}

.inquiry-reply-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 800;
  color: #166534;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.inquiry-reply-content {
  font-size: 0.92rem;
  color: #334155;
  line-height: 1.6;
}

/* 계정 설정 버튼 투명화 */
.mypg-account-actions {
  display: flex;
  gap: 24px;
  align-items: center;
}

.mypg-account-actions .panel-chip-btn,
.mypg-account-actions .mypg-delete-btn-modern {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: #64748b !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none;
  transition: color 0.2s;
  box-shadow: none !important;
}

.mypg-account-actions .panel-chip-btn:hover {
  color: #16a34a !important;
  background: transparent !important;
}

.mypg-account-actions #delete-account-btn:hover {
  color: #ef4444 !important;
  background: transparent !important;
}

/* 문의 내역 리스트 정돈 */
.inquiry-item {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.05) !important;
  padding: 24px 0 !important;
}

.mt-12 { margin-top: 12px; }

[data-theme="dark"] .mypg-summary-value { color: #F5F5F5; }
[data-theme="dark"] .mypg-panel-title { color: #F5F5F5; }
[data-theme="dark"] .mypg-panel-head { border-bottom-color: rgba(255, 255, 255, 0.1); }
[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .mypg-activity-item,
[data-theme="dark"] .mypg-ledger-row,
[data-theme="dark"] .inquiry-item {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
  color: #F5F5F5;
}

[data-theme="dark"] .inquiry-form input,
[data-theme="dark"] .inquiry-form textarea {
  color: #F5F5F5;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .inquiry-admin-reply {
  background: rgba(34, 197, 94, 0.05) !important;
  border-left-color: #22c55e !important;
}

[data-theme="dark"] .inquiry-reply-label {
  color: #4ade80;
}

[data-theme="dark"] .inquiry-reply-content {
  color: #F5F5F5;
}

[data-theme="dark"] .mypg-account-actions .panel-chip-btn,
[data-theme="dark"] .mypg-account-actions .mypg-delete-btn-modern {
  color: #94a3b8 !important;
}

[data-theme="dark"] .mypg-account-actions .panel-chip-btn:hover {
  color: #4ade80 !important;
}
[data-theme="dark"] .mypg-panel-head { border-bottom-color: rgba(255, 255, 255, 0.06); }
[data-theme="dark"] .mypg-section-panel { border-color: rgba(255, 255, 255, 0.04) !important; }

/* 다크모드 마이페이지 입력창 및 폼 요소 */
[data-theme="dark"] .inquiry-form input,
[data-theme="dark"] .inquiry-form textarea {
  background: #121916 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #F5F5F5 !important;
  border-radius: 10px;
  padding: 12px;
}

[data-theme="dark"] .inquiry-form input:focus,
[data-theme="dark"] .inquiry-form textarea:focus {
  border-color: #22c55e !important;
  outline: none;
}

[data-theme="dark"] .my-reports-item,
[data-theme="dark"] .mypg-activity-item,
[data-theme="dark"] .mypg-ledger-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .briefing-subtitle {
  color: #94a3b8;
}

[data-theme="dark"] #mypg-user-display-name {
  color: #4ade80; /* 사용자 이름 강조 */
}

@media (max-width: 900px) {
  .mypg-content-grid { grid-template-columns: 1fr; }
  .mypg-summary-grid { grid-template-columns: 1fr; }
}

/* 퀵메뉴 하단 공백 제거 */
.dash-subnav.dashboard-quicknav {
  position: sticky !important;
  top: 60px !important;
  z-index: 100 !important;
  background: inherit !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -24px 0 12px !important; /* 하단 마진 축소 */
  width: 100% !important;
  border-bottom: 1px solid rgba(11, 17, 16, 0.06) !important;
}

/* 마켓 브리핑 헤더 공백 제거 */
#page-briefing .dashboard-journey {
  background: transparent;
  box-shadow: none;
  border: 0 !important;
  padding-bottom: 0 !important; /* 하단 패딩 제거 */
  margin-bottom: 0 !important;
}

#page-briefing .dashboard-shell {
  gap: 16px !important; /* 섹션 간격 축소 */
}

/* AI Radar 섹션 헤더 가림 방지 */
.dashboard-stage-head {
  position: relative;
  z-index: 10;
}

[data-theme="dark"] .dash-subnav.dashboard-quicknav {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

.dash-subnav-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 32px !important;
  max-width: 1480px !important;
  padding: 0 36px !important;
  margin: 0 auto !important;
  min-height: 56px !important;
}

.dash-subnav-pill {
  display: flex !important;
  align-items: center !important;
  color: var(--dash-muted, #667085) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 12px 0 !important;
  cursor: pointer !important;
  position: relative !important;
}

/* 별표(*) 및 점 초기화 */
.dash-subnav-pill::before {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin-right: 8px !important;
  border-radius: 50% !important;
  background: transparent !important;
  visibility: hidden !important;
}

/* 활성화 시 중립 색상 강제 표시 */
.dash-subnav-pill.is-active {
  color: #111111 !important;
  font-weight: 700 !important;
}

.dash-subnav-pill.is-active::before {
  background: #111111 !important;
  visibility: visible !important;
  box-shadow: none !important; /* 하이라이트 제거 */
}

[data-theme="dark"] .dash-subnav-pill.is-active {
  color: #F5F5F5 !important;
}
[data-theme="dark"] .dash-subnav-pill.is-active::before {
  background: #F5F5F5 !important;
}

/* 마켓 브리핑 전용: 불필요한 요소 제거 */
#page-briefing .briefing-kicker-row {
  display: none !important;
}

/* ════════════════════════════════════════════════════════
   MODERN QUICK-NAV + JOURNEY REDESIGN
   벤치마크: Linear · Vercel · Stripe Dashboard 스타일
   - sticky nav: frosted glass tab bar
   - journey: compact always-visible horizontal step flow
   ════════════════════════════════════════════════════════ */

/* ── A. Frosted glass sticky tab nav ── */
.dash-subnav.dashboard-quicknav {
  position: sticky !important;
  top: 60px !important;
  z-index: 200 !important;
  background: #0a0d14 !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(22, 101, 52, 0.1) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 2px 12px rgba(16,32,25,0.05) !important;
  padding: 0 !important;
  margin: 0 !important;
  order: -1 !important;
  width: 100% !important;
}

[data-theme="dark"] .dash-subnav.dashboard-quicknav {
  background: rgba(11, 17, 16, 0.94) !important;
  border-bottom-color: rgba(255,255,255,0.07) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 2px 12px rgba(0,0,0,0.2) !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 36px !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  min-height: 52px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-inner::-webkit-scrollbar {
  display: none !important;
}

/* ── B. Tab pill: underline-indicator style ── */
.dash-subnav.dashboard-quicknav .dash-subnav-pill {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 18px !important;
  height: 52px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #64776d !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: color 0.18s ease !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
}

/* green dot 제거 */
.dash-subnav.dashboard-quicknav .dash-subnav-pill::before {
  display: none !important;
  content: none !important;
}

/* underline indicator */
.dash-subnav.dashboard-quicknav .dash-subnav-pill::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 18px !important;
  right: 18px !important;
  height: 2px !important;
  border-radius: 2px 2px 0 0 !important;
  background: transparent !important;
  transition: background 0.2s ease !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-pill:hover {
  color: #111111 !important;
  background: transparent !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active {
  color: #111111 !important;
  font-weight: 700 !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::after {
  background: #111111 !important;
}

[data-theme="dark"] .dash-subnav.dashboard-quicknav .dash-subnav-pill {
  color: rgba(245, 245, 245, 0.55) !important;
}

[data-theme="dark"] .dash-subnav.dashboard-quicknav .dash-subnav-pill:hover,
[data-theme="dark"] .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active {
  color: #F5F5F5 !important;
}

[data-theme="dark"] .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::after {
  background: #F5F5F5 !important;
}

/* pill-label: span 안쪽은 투명하게 */
.dash-subnav.dashboard-quicknav .dash-subnav-pill-label {
  position: static !important;
  display: inline !important;
  transform: none !important;
  opacity: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  min-height: 0 !important;
  max-width: none !important;
  line-height: inherit !important;
}

.dash-subnav.dashboard-quicknav .dash-subnav-pill-label::after {
  display: none !important;
}

/* ── C. Journey: 기본 접힘, 깔끔한 ghost 토글 ── */

/* 토글 버튼: 배경/테두리 없는 ghost style */
.dashboard-journey-toggle,
#journey-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  color: #8fa899 !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: color 0.16s ease !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.dashboard-journey-toggle:hover,
#journey-toggle-btn:hover {
  color: #166534 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] .dashboard-journey-toggle,
[data-theme="dark"] #journey-toggle-btn {
  color: #4a6657 !important;
}

[data-theme="dark"] .dashboard-journey-toggle:hover,
[data-theme="dark"] #journey-toggle-btn:hover {
  color: #86efac !important;
}

/* journey body: JS 토글에 위임 */

/* journey grid: 가로 flex 배치 */
.dashboard-journey-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
  grid-template-columns: unset !important;
}

/* journey 카드: 컴팩트 수평형, 투명 배경 */
.dashboard-journey-card {
  flex: 1 1 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(95, 166, 118, 0.1) !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: all 0.18s ease !important;
  grid-template-columns: unset !important;
  min-width: 0 !important;
}

.dashboard-journey-card:hover {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(22, 163, 74, 0.04) !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

/* 스텝 번호 배지 */
.dashboard-journey-step {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  border-radius: 50% !important;
  background: rgba(22, 163, 74, 0.1) !important;
  color: #166534 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: none !important;
}

.dashboard-journey-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.dashboard-journey-copy strong {
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: var(--dash-text, #102019) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.dashboard-journey-copy p {
  font-size: 0.78rem !important;
  color: var(--dash-muted, #6b7f73) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* journey 전체 섹션: 헤더만 보이면 최소 공간 */
.dashboard-journey {
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(95, 166, 118, 0.08) !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 10px !important;
  border-radius: 0 !important;
}

/* 펼쳐졌을 때만 하단 패딩 추가 */
.dashboard-journey:has(#journey-body:not([hidden])) {
  padding-bottom: 16px !important;
}

.dashboard-journey-head {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  max-width: none !important;
  padding: 0 !important;
  cursor: default !important;
}

.dashboard-journey-kicker {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #9aac9f !important;
  margin: 0 !important;
}

/* 다크모드 */
[data-theme="dark"] .dashboard-journey-card {
  border-color: rgba(255, 255, 255, 0.07) !important;
  background: transparent !important;
}

[data-theme="dark"] .dashboard-journey-card:hover {
  border-color: rgba(74, 222, 128, 0.16) !important;
  background: rgba(74, 222, 128, 0.04) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .dashboard-journey-step {
  background: rgba(74, 222, 128, 0.12) !important;
  color: #86efac !important;
}

[data-theme="dark"] .dashboard-journey {
  border-bottom-color: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] .dashboard-journey-kicker {
  color: #3e5a4a !important;
}

/* ── D. 브리핑 상단 헤더 ── */
#page-briefing .dashboard-journey {
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95, 166, 118, 0.08) !important;
  gap: 10px !important;
}

#page-briefing .dashboard-journey-head {
  padding-bottom: 0 !important;
}

/* ── F. 반응형 ── */
@media (max-width: 900px) {
  .dashboard-journey-grid {
    gap: 8px !important;
  }
  .dashboard-journey-card {
    padding: 10px 12px !important;
    gap: 8px !important;
  }
  .dashboard-journey-copy p {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    padding: 0 16px !important;
  }
  .dash-subnav.dashboard-quicknav .dash-subnav-pill {
    padding: 0 12px !important;
    font-size: 0.85rem !important;
  }
  .dashboard-journey-grid {
    flex-direction: column !important;
    gap: 6px !important;
  }
  .dashboard-journey-card {
    padding: 10px 14px !important;
  }
  .dashboard-journey-copy p {
    display: block !important;
  }
}

/* ════════════════════════════════════════════════════════
   PANEL HEADER CONTROLS: 업데이트 · 새로고침 · 펼치기 — 투명 처리
   흰 배경/테두리 제거, ghost 스타일로 통일
   ════════════════════════════════════════════════════════ */

.macro-updated,
.panel-chip-btn,
.panel-toggle-btn,
.ghost-btn.panel-chip-btn,
.panel-toggle-btn.panel-chip-btn,
#page-dashboard .macro-updated,
#page-dashboard .panel-chip-btn,
#page-briefing .macro-updated,
#page-briefing .panel-chip-btn {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.panel-chip-btn,
.panel-toggle-btn,
.ghost-btn.panel-chip-btn,
.panel-toggle-btn.panel-chip-btn,
#page-dashboard .panel-chip-btn,
#page-briefing .panel-chip-btn {
  color: #7a8e83 !important;
  font-weight: 600 !important;
  transition: color 0.16s ease, opacity 0.16s ease !important;
}

.panel-chip-btn:hover,
.panel-toggle-btn:hover,
.ghost-btn.panel-chip-btn:hover,
#page-dashboard .panel-chip-btn:hover,
#page-briefing .panel-chip-btn:hover {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #166534 !important;
  transform: none !important;
}

.panel-chip-btn:active,
.panel-toggle-btn:active {
  transform: none !important;
  box-shadow: none !important;
  opacity: 0.7 !important;
}

/* 업데이트 타임스탬프 */
.macro-updated,
#page-dashboard .macro-updated,
#page-briefing .macro-updated {
  color: #9aac9f !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 다크모드 */
[data-theme="dark"] .panel-chip-btn,
[data-theme="dark"] .panel-toggle-btn,
[data-theme="dark"] .ghost-btn.panel-chip-btn,
[data-theme="dark"] #page-dashboard .macro-updated,
[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-briefing .macro-updated,
[data-theme="dark"] #page-briefing .panel-chip-btn {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #5c7a69 !important;
}

[data-theme="dark"] .panel-chip-btn:hover,
[data-theme="dark"] .panel-toggle-btn:hover,
[data-theme="dark"] #page-dashboard .panel-chip-btn:hover,
[data-theme="dark"] #page-briefing .panel-chip-btn:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: #86efac !important;
}

[data-theme="dark"] .macro-updated {
  color: #4a6657 !important;
}

/* ── journey 카드 배경 투명 강제 (ID specificity override) ── */
#page-dashboard .dashboard-journey-card,
#page-briefing .dashboard-journey-card {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(95, 166, 118, 0.1) !important;
  box-shadow: none !important;
}

#page-dashboard .dashboard-journey-card:hover,
#page-briefing .dashboard-journey-card:hover {
  background: rgba(22, 163, 74, 0.04) !important;
  background-color: rgba(22, 163, 74, 0.04) !important;
  border-color: rgba(22, 163, 74, 0.2) !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey-card,
[data-theme="dark"] #page-briefing .dashboard-journey-card {
  background: transparent !important;
  background-color: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey-card:hover,
[data-theme="dark"] #page-briefing .dashboard-journey-card:hover {
  background: rgba(74, 222, 128, 0.04) !important;
  background-color: rgba(74, 222, 128, 0.04) !important;
  border-color: rgba(74, 222, 128, 0.15) !important;
}

/* ════════════════════════════════════════════════════════
   STEP 1 — PANEL FLAT REDESIGN
   벤치마크: TradingView · Linear · Stripe · Bloomberg
   흰색 카드 박스 완전 제거 → 섹션 구분은 간격·헤어라인으로
   ════════════════════════════════════════════════════════ */

/* ── 1-A. 모든 패널: 배경·그림자·테두리 제거 ── */
#page-dashboard .panel,
#page-dashboard .macro-panel,
#page-dashboard .day-score-panel,
#page-dashboard .recommend-panel,
#page-dashboard .market-intel-panel,
#page-dashboard .analysis-panel,
#page-dashboard .checkpoint-panel,
#page-dashboard .mindmap-panel,
#page-dashboard .report-panel,
#page-dashboard .links-panel,
#page-briefing .panel,
#page-briefing .macro-panel,
#page-briefing .day-score-panel,
#page-briefing .market-intel-panel {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* ── 1-B. research studio shell 도 투명화 ── */
#page-dashboard .research-studio-shell,
#page-dashboard .research-studio-command,
#page-dashboard .research-studio-service {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* ── 1-C. ::before 장식 레이어 제거 ── */
#page-dashboard .panel::before,
#page-dashboard .macro-panel::before,
#page-dashboard .day-score-panel::before,
#page-dashboard .recommend-panel::before,
#page-dashboard .market-intel-panel::before,
#page-dashboard .analysis-panel::before,
#page-dashboard .checkpoint-panel::before,
#page-dashboard .mindmap-panel::before,
#page-dashboard .report-panel::before,
#page-briefing .panel::before,
#page-briefing .macro-panel::before,
#page-briefing .day-score-panel::before,
#page-briefing .market-intel-panel::before {
  display: none !important;
}

/* ════════════════════════════════════════════════════════
   STEP 2 — SECTION SEPARATOR SYSTEM
   섹션 간 구분: 상단 hairline + 넉넉한 간격
   ════════════════════════════════════════════════════════ */

/* ── 2-A. 패널 내부 헤더 하단 구분선만 유지 ── */
#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head,
#page-dashboard .report-head,
#page-briefing .macro-head,
#page-briefing .day-score-head,
#page-briefing .market-intel-head {
  border-bottom: 1px solid rgba(11, 17, 16, 0.07) !important;
  background: transparent !important;
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}

[data-theme="dark"] #page-dashboard .macro-head,
[data-theme="dark"] #page-dashboard .day-score-head,
[data-theme="dark"] #page-dashboard .recommend-head,
[data-theme="dark"] #page-dashboard .market-intel-head,
[data-theme="dark"] #page-dashboard .report-head,
[data-theme="dark"] #page-briefing .macro-head,
[data-theme="dark"] #page-briefing .day-score-head,
[data-theme="dark"] #page-briefing .market-intel-head {
  border-bottom-color: rgba(255, 255, 255, 0.07) !important;
}

/* ── 2-B. 섹션 패딩 재설정 (박스 없이도 충분한 breathing room) ── */
#page-dashboard .macro-panel,
#page-dashboard .day-score-panel,
#page-dashboard .recommend-panel,
#page-dashboard .market-intel-panel,
#page-dashboard .analysis-panel,
#page-dashboard .checkpoint-panel,
#page-dashboard .mindmap-panel,
#page-dashboard .report-panel,
#page-dashboard .links-panel,
#page-briefing .macro-panel,
#page-briefing .day-score-panel,
#page-briefing .market-intel-panel {
  padding: 0 !important;
}

/* ── 2-C. dashboard-stage 간격 조정 ── */
#page-dashboard .dashboard-stage,
#page-briefing .dashboard-stage {
  background: transparent !important;
  padding: 0 !important;
}

/* ── 2-D. Stage head 섹션 제목 스타일 — 더 lightweight ── */
#page-dashboard .dashboard-stage-head,
#page-briefing .dashboard-stage-head {
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(11, 17, 16, 0.06) !important;
  margin-bottom: 24px !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-head,
[data-theme="dark"] #page-briefing .dashboard-stage-head {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

#page-dashboard .dashboard-stage-kicker,
#page-briefing .dashboard-stage-kicker {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #7a9e87 !important;
  margin-bottom: 4px !important;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-kicker,
[data-theme="dark"] #page-briefing .dashboard-stage-kicker {
  color: #3d6652 !important;
}

#page-dashboard .dashboard-stage-title,
#page-briefing .dashboard-stage-title {
  font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--dash-text, #0f1a14) !important;
  line-height: 1.2 !important;
}

/* ════════════════════════════════════════════════════════
   STEP 3 — PANEL HEADER TYPOGRAPHY
   섹션 제목을 카드 헤더가 아닌 콘텐츠 제목으로
   ════════════════════════════════════════════════════════ */

#page-dashboard .macro-head h2,
#page-dashboard .day-score-head h2,
#page-dashboard .recommend-head h2,
#page-dashboard .market-intel-head h2,
#page-dashboard .analysis-panel h2,
#page-dashboard .checkpoint-panel h2,
#page-dashboard .mindmap-panel h2,
#page-dashboard .report-panel h2,
#page-dashboard .links-panel h2,
#page-briefing .macro-head h2,
#page-briefing .day-score-head h2,
#page-briefing .market-intel-head h2 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #c9a84c !important;
}

[data-theme="dark"] #page-dashboard .macro-head h2,
[data-theme="dark"] #page-dashboard .day-score-head h2,
[data-theme="dark"] #page-dashboard .recommend-head h2,
[data-theme="dark"] #page-dashboard .market-intel-head h2,
[data-theme="dark"] #page-dashboard .analysis-panel h2,
[data-theme="dark"] #page-dashboard .checkpoint-panel h2,
[data-theme="dark"] #page-dashboard .mindmap-panel h2,
[data-theme="dark"] #page-dashboard .report-panel h2,
[data-theme="dark"] #page-briefing .macro-head h2,
[data-theme="dark"] #page-briefing .day-score-head h2,
[data-theme="dark"] #page-briefing .market-intel-head h2 {
  color: rgba(201, 168, 76, 0.9) !important;
}

/* ════════════════════════════════════════════════════════
   STEP 4 — RESEARCH STUDIO FLAT
   ════════════════════════════════════════════════════════ */

#page-dashboard .research-studio-shell {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  gap: 24px !important;
}

#page-dashboard .research-studio-command {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(11, 17, 16, 0.06) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-command {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

#page-dashboard .research-studio-service {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

/* ════════════════════════════════════════════════════════
   STEP 5 — TICKER / DATA CHIPS & INPUT 배경 정리
   ════════════════════════════════════════════════════════ */

/* macro ticker scroll 배경 */
#page-dashboard .macro-ticker-scroll,
#page-briefing .macro-ticker-scroll {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ── quick-pick 버튼 투명화 ── */
#page-dashboard .quick-pick-btn,
#page-briefing .quick-pick-btn {
  background: transparent !important;
  border-color: rgba(95, 166, 118, 0.18) !important;
  box-shadow: none !important;
}

#page-dashboard .quick-pick-btn:hover,
#page-briefing .quick-pick-btn:hover {
  background: rgba(22, 163, 74, 0.06) !important;
  border-color: rgba(22, 163, 74, 0.3) !important;
  box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   STEP 6 — RECOMMEND PANEL (시그널 브리핑) 헤더 정리
   ════════════════════════════════════════════════════════ */

#page-dashboard .recommend-premium-cta {
  background: transparent !important;
  border: 1px solid rgba(95, 166, 118, 0.14) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-cta {
  border-color: rgba(95, 166, 118, 0.12) !important;
  background: transparent !important;
}

/* recommend tab */
#page-dashboard .recommend-tab {
  background: transparent !important;
  box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   STEP 7 — DARK MODE PAGE BG 정리
   ════════════════════════════════════════════════════════ */

[data-theme="dark"] #page-dashboard,
[data-theme="dark"] #page-briefing {
  background: #0a0f0d !important;
}

[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] #page-dashboard .research-studio-shell,
[data-theme="dark"] #page-dashboard .research-studio-service,
[data-theme="dark"] #page-briefing .panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   STEP 3 — INNER DATA CARDS FLAT
   내부 데이터 카드: 흰 배경 제거, 경계선만으로 구조화
   ════════════════════════════════════════════════════════ */

/* macro-card: 시장 지표 개별 칸 */
#page-dashboard .macro-card,
#page-briefing .macro-card {
  background: transparent !important;
  border-color: rgba(11, 17, 16, 0.07) !important;
  box-shadow: none !important;
}

#page-dashboard .macro-card:hover,
#page-briefing .macro-card:hover {
  background: rgba(22, 163, 74, 0.03) !important;
  border-color: rgba(22, 163, 74, 0.18) !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .macro-card,
[data-theme="dark"] #page-briefing .macro-card {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] #page-dashboard .macro-card:hover {
  background: rgba(74, 222, 128, 0.04) !important;
  border-color: rgba(74, 222, 128, 0.16) !important;
}

/* day-score-hero: 시장 상태 점수 메인 박스 */
#page-dashboard .day-score-hero,
#page-briefing .day-score-hero {
  background: transparent !important;
  border-color: rgba(11, 17, 16, 0.07) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .day-score-hero,
[data-theme="dark"] #page-briefing .day-score-hero {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* day-score-narrative */
#page-dashboard .day-score-narrative,
#page-briefing .day-score-narrative {
  background: transparent !important;
  border-color: rgba(11, 17, 16, 0.07) !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .day-score-narrative {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

/* mi-card: 마켓 인텔리전스 카드 */
#page-dashboard .mi-card,
#page-briefing .mi-card {
  background: transparent !important;
  background-image: none !important;
  border-color: rgba(11, 17, 16, 0.08) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

#page-dashboard .mi-card::before,
#page-briefing .mi-card::before {
  display: none !important;
}

[data-theme="dark"] #page-dashboard .mi-card,
[data-theme="dark"] #page-briefing .mi-card {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

/* mi-sector-bar */
#page-dashboard .mi-sector-bar,
#page-briefing .mi-sector-bar {
  background: transparent !important;
  border-color: rgba(11, 17, 16, 0.07) !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard .mi-sector-bar {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

/* recommend-card (시그널 브리핑 종목 카드) */
#page-dashboard .recommend-card,
#page-dashboard .recommend-card-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ════════════════════════════════════════════════════════
   STEP 4 — ASSIST NOTE / FLOW BRIDGE 투명화
   ════════════════════════════════════════════════════════ */

#page-dashboard .assist-note,
#page-dashboard .research-flow-bridge,
#page-dashboard .research-flow-note,
#page-dashboard .research-flow-next {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .research-flow-bridge {
  border-color: rgba(11, 17, 16, 0.07) !important;
}

[data-theme="dark"] #page-dashboard .assist-note,
[data-theme="dark"] #page-dashboard .research-flow-bridge,
[data-theme="dark"] #page-dashboard .research-flow-note,
[data-theme="dark"] #page-dashboard .research-flow-next {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

/* ════════════════════════════════════════════════════════
   STEP 5 — RESEARCH STUDIO TABS & INPUT
   ════════════════════════════════════════════════════════ */

#page-dashboard .research-studio-tab {
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .research-studio-tab.is-active {
  background: rgba(22, 163, 74, 0.08) !important;
  border-color: rgba(22, 163, 74, 0.2) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-tab {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-tab.is-active {
  background: rgba(74, 222, 128, 0.1) !important;
  border-color: rgba(74, 222, 128, 0.2) !important;
}

/* ════════════════════════════════════════════════════════
   STEP 6 — SPACING RECALIBRATION
   박스가 사라진 만큼 섹션 간격으로 숨결 확보
   ════════════════════════════════════════════════════════ */

#page-dashboard .dashboard-main,
#page-briefing .dashboard-main {
  gap: 56px !important;
}

#page-dashboard .dashboard-stage-grid,
#page-briefing .dashboard-stage-grid {
  gap: 32px !important;
}

/* briefing context stack */
#page-briefing .briefing-context-stack {
  gap: 40px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP A: BUTTONS & INTERACTIVE ELEMENTS
   ghost-btn / chip-btn / studio-tab / quick-pick → transparent
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .ghost-btn,
#page-briefing .ghost-btn,
#page-dashboard .section-head-actions .ghost-btn,
#page-dashboard .checkpoint-panel .section-head .ghost-btn,
#page-dashboard .mindmap-panel .section-head .ghost-btn,
#page-dashboard .chart-head .ghost-btn,
#page-dashboard .report-head .ghost-btn {
  background: transparent !important;
  background-image: none !important;
  border-color: rgba(11,17,16,0.1) !important;
  box-shadow: none !important;
  color: #5c7267 !important;
}

#page-dashboard .ghost-btn:hover,
#page-briefing .ghost-btn:hover,
#page-dashboard .section-head-actions .ghost-btn:hover,
#page-dashboard .checkpoint-panel .section-head .ghost-btn:hover,
#page-dashboard .chart-head .ghost-btn:hover,
#page-dashboard .report-head .ghost-btn:hover {
  background: rgba(22,163,74,0.06) !important;
  background-image: none !important;
  border-color: rgba(22,163,74,0.22) !important;
  box-shadow: none !important;
  color: #166534 !important;
}

[data-theme="dark"] #page-dashboard .ghost-btn,
[data-theme="dark"] #page-briefing .ghost-btn,
[data-theme="dark"] #page-dashboard .section-head-actions .ghost-btn,
[data-theme="dark"] #page-dashboard .checkpoint-panel .section-head .ghost-btn,
[data-theme="dark"] #page-dashboard .chart-head .ghost-btn,
[data-theme="dark"] #page-dashboard .report-head .ghost-btn {
  background: transparent !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #5a7a68 !important;
}

[data-theme="dark"] #page-dashboard .ghost-btn:hover,
[data-theme="dark"] #page-briefing .ghost-btn:hover {
  background: rgba(74,222,128,0.07) !important;
  border-color: rgba(74,222,128,0.2) !important;
  color: #86efac !important;
}

/* research-flow-btn */
#page-dashboard .research-flow-btn,
#page-dashboard .research-flow-btn--ghost,
#page-dashboard .analyze-btn-row #submit-btn,
#page-dashboard .analysis-cta-btn,
#page-dashboard .analysis-secondary-btn,
#page-dashboard .stop-analyze-btn {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* chip-btn: semantic 색상은 flat tint로 */
#page-dashboard .chip-btn,
#page-briefing .chip-btn {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
#page-dashboard .chip-btn--neutral { background: rgba(99,124,200,0.08) !important; }
#page-dashboard .chip-btn--insight { background: rgba(88,144,226,0.08) !important; }
#page-dashboard .chip-btn--watch   { background: rgba(72,128,218,0.08) !important; }
#page-dashboard .chip-btn--success { background: rgba(22,163,74,0.08) !important; }
#page-dashboard .chip-btn--warning { background: rgba(217,119,6,0.08) !important; }
[data-theme="dark"] #page-dashboard .chip-btn--neutral { background: rgba(99,124,200,0.12) !important; }
[data-theme="dark"] #page-dashboard .chip-btn--insight { background: rgba(88,144,226,0.12) !important; }
[data-theme="dark"] #page-dashboard .chip-btn--watch   { background: rgba(72,128,218,0.12) !important; }
[data-theme="dark"] #page-dashboard .chip-btn--success { background: rgba(22,163,74,0.12) !important; }
[data-theme="dark"] #page-dashboard .chip-btn--warning { background: rgba(217,119,6,0.12) !important; }

/* rec-chip-btn / recommend-action-btn */
#page-dashboard .rec-chip-btn,
#page-dashboard .recommend-action-btn,
#page-dashboard .rec-quick-pick-btn {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
#page-dashboard .recommend-action-btn:hover,
#page-dashboard .rec-chip-btn:hover {
  background: rgba(22,163,74,0.06) !important;
}

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP B: DATA DISPLAY CARDS
   macro-slide / macro-asset / ds-action / recommend-grid / market-intel
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .macro-slide-card,
#page-briefing .macro-slide-card {
  background: #ffffff !important;
  border-color: rgba(11,17,16,0.07) !important;
  box-shadow: 0 4px 14px rgba(11,17,16,0.04) !important;
}
#page-dashboard .macro-slide-head,
#page-briefing .macro-slide-head { background: transparent !important; }
#page-dashboard .macro-slide-metric,
#page-briefing .macro-slide-metric {
  background: #ffffff !important;
  border-color: rgba(11,17,16,0.06) !important;
}
#page-dashboard .macro-carousel-btn,
#page-briefing .macro-carousel-btn { background: transparent !important; box-shadow: none !important; }
#page-dashboard .macro-carousel-btn:hover:not(:disabled) { background: rgba(22,163,74,0.06) !important; }
#page-dashboard .macro-narrative-chip,
#page-briefing .macro-narrative-chip { background: transparent !important; border-color: rgba(11,17,16,0.08) !important; box-shadow: none !important; }
#page-dashboard .macro-asset-card,
#page-briefing .macro-asset-card { background: transparent !important; background-image: none !important; border-color: rgba(11,17,16,0.07) !important; box-shadow: none !important; }
#page-dashboard .macro-asset-label,
#page-briefing .macro-asset-label { background: transparent !important; }
#page-dashboard .macro-month-grid-item,
#page-dashboard .macro-month-grid-item-inner { background: transparent !important; border-color: rgba(11,17,16,0.06) !important; }

#page-dashboard .ds-action-card,
#page-briefing .ds-action-card { background: transparent !important; box-shadow: none !important; }
#page-dashboard .ds-action-card--good    { border-color: rgba(22,163,74,0.2) !important; }
#page-dashboard .ds-action-card--neutral { border-color: rgba(11,17,16,0.1) !important; }
#page-dashboard .ds-action-card--danger  { border-color: rgba(220,38,38,0.2) !important; }
#page-dashboard .day-score-grid-item,
#page-briefing .day-score-grid-item { background: transparent !important; box-shadow: none !important; }
#page-dashboard .market-intel-grid-item,
#page-dashboard .market-intel-icon-card,
#page-dashboard .market-intel-quick-btn,
#page-briefing .market-intel-grid-item,
#page-briefing .market-intel-icon-card { background: transparent !important; box-shadow: none !important; }
#page-dashboard .recommend-grid-item { background: transparent !important; border-color: rgba(11,17,16,0.07) !important; box-shadow: none !important; }

[data-theme="dark"] #page-dashboard .macro-slide-card,
[data-theme="dark"] #page-briefing .macro-slide-card { background: rgba(22,32,28,0.85) !important; border-color: rgba(255,255,255,0.08) !important; }
[data-theme="dark"] #page-dashboard .macro-slide-metric,
[data-theme="dark"] #page-briefing .macro-slide-metric { background: rgba(255,255,255,0.03) !important; border-color: rgba(255,255,255,0.06) !important; }
[data-theme="dark"] #page-dashboard .macro-asset-card,
[data-theme="dark"] #page-dashboard .macro-narrative-chip,
[data-theme="dark"] #page-briefing .macro-narrative-chip,
[data-theme="dark"] #page-dashboard .macro-month-grid-item,
[data-theme="dark"] #page-dashboard .macro-month-grid-item-inner { background: transparent !important; border-color: rgba(255,255,255,0.07) !important; }
[data-theme="dark"] #page-dashboard .ds-action-card--good    { border-color: rgba(74,222,128,0.2) !important; }
[data-theme="dark"] #page-dashboard .ds-action-card--neutral { border-color: rgba(255,255,255,0.08) !important; }
[data-theme="dark"] #page-dashboard .ds-action-card--danger  { border-color: rgba(248,113,113,0.2) !important; }
[data-theme="dark"] #page-dashboard .market-intel-grid-item,
[data-theme="dark"] #page-dashboard .market-intel-icon-card,
[data-theme="dark"] #page-dashboard .recommend-grid-item { background: transparent !important; border-color: rgba(255,255,255,0.07) !important; }

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP C: CHECKPOINT & MINDMAP ITEMS
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .cp-item,
#page-dashboard .cp-hero-card { background: transparent !important; background-image: none !important; border-color: rgba(11,17,16,0.08) !important; box-shadow: none !important; }
#page-dashboard .cp-item[data-expanded="true"],
#page-dashboard [data-cp-item][data-expanded="true"] { background: transparent !important; border-color: rgba(11,17,16,0.14) !important; }
#page-dashboard .cp-num { background: transparent !important; border-color: rgba(11,17,16,0.1) !important; }
#page-dashboard .cp-form-input,
#page-dashboard .cp-form-row input { background: rgba(11,17,16,0.03) !important; border-color: rgba(11,17,16,0.1) !important; box-shadow: none !important; }
[data-theme="dark"] #page-dashboard .cp-item,
[data-theme="dark"] #page-dashboard .cp-hero-card { background: transparent !important; border-color: rgba(255,255,255,0.08) !important; }
[data-theme="dark"] #page-dashboard .cp-item[data-expanded="true"] { background: transparent !important; border-color: rgba(255,255,255,0.14) !important; }
[data-theme="dark"] #page-dashboard .cp-num { background: transparent !important; border-color: rgba(255,255,255,0.1) !important; }
[data-theme="dark"] #page-dashboard .cp-form-input,
[data-theme="dark"] #page-dashboard .cp-form-row input { background: rgba(255,255,255,0.04) !important; border-color: rgba(255,255,255,0.1) !important; }

#page-dashboard .mindmap-reading-card { background: transparent !important; background-image: none !important; border-color: rgba(11,17,16,0.08) !important; box-shadow: none !important; }
[data-theme="dark"] #page-dashboard .mindmap-reading-card { background: transparent !important; border-color: rgba(255,255,255,0.08) !important; }

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP D: RESEARCH FLOW COMPONENTS
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .research-flow-chip { background: transparent !important; border-color: rgba(11,17,16,0.1) !important; box-shadow: none !important; }
#page-dashboard .research-flow-chip.is-done { background: rgba(22,163,74,0.08) !important; border-color: rgba(22,163,74,0.2) !important; }
[data-theme="dark"] #page-dashboard .research-flow-chip { background: transparent !important; border-color: rgba(255,255,255,0.1) !important; }
[data-theme="dark"] #page-dashboard .research-flow-chip.is-done { background: rgba(74,222,128,0.1) !important; border-color: rgba(74,222,128,0.2) !important; }

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP E: SEMANTIC HASH CHIPS
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .recommend-hash-chip { background: rgba(11,17,16,0.04) !important; box-shadow: none !important; }
#page-dashboard .recommend-hash-chip--return   { background: rgba(217,119,6,0.09) !important; border-color: rgba(217,119,6,0.18) !important; color: #92400e !important; }
#page-dashboard .recommend-hash-chip--weakening { background: rgba(220,38,38,0.07) !important; border-color: rgba(220,38,38,0.15) !important; color: #991b1b !important; }
[data-theme="dark"] #page-dashboard .recommend-hash-chip { background: rgba(255,255,255,0.05) !important; }
[data-theme="dark"] #page-dashboard .recommend-hash-chip--return   { background: rgba(0,237,104,0.1) !important; border-color: rgba(0,237,104,0.2) !important; color: #00ed68 !important; }
[data-theme="dark"] #page-dashboard .recommend-hash-chip--weakening { background: rgba(248,113,113,0.1) !important; border-color: rgba(248,113,113,0.2) !important; color: #f87171 !important; }

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP F: FORM INPUTS
   ══════════════════════════════════════════════════════════════ */

#page-dashboard input[type="text"],
#page-dashboard input[type="number"],
#page-dashboard input[type="search"],
#page-dashboard select,
#page-briefing input[type="text"],
#page-briefing input[type="number"],
#page-briefing select {
  background: rgba(11,17,16,0.04) !important;
  background-image: none !important;
  border-color: rgba(11,17,16,0.12) !important;
  box-shadow: none !important;
}
#page-dashboard input:focus,
#page-briefing input:focus {
  background: rgba(11,17,16,0.03) !important;
  border-color: rgba(22,163,74,0.4) !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,0.08) !important;
}
[data-theme="dark"] #page-dashboard input[type="text"],
[data-theme="dark"] #page-dashboard input[type="number"],
[data-theme="dark"] #page-dashboard input[type="search"],
[data-theme="dark"] #page-dashboard select,
[data-theme="dark"] #page-briefing input[type="text"],
[data-theme="dark"] #page-briefing input[type="number"],
[data-theme="dark"] #page-briefing select {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
[data-theme="dark"] #page-dashboard input:focus,
[data-theme="dark"] #page-briefing input:focus {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(74,222,128,0.4) !important;
  box-shadow: 0 0 0 3px rgba(74,222,128,0.08) !important;
}

/* ══════════════════════════════════════════════════════════════
   FLAT REDESIGN — STEP G: MISC — macro-swipe / rec-toggle
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .macro-swipe-hint,
#page-briefing .macro-swipe-hint { background: transparent !important; box-shadow: none !important; }
#page-dashboard .rec-toggle::after { background: #e8ede9 !important; }
[data-theme="dark"] #page-dashboard .rec-toggle::after { background: #1a2820 !important; }

/* ══════════════════════════════════════════════════════════════
   VISUAL POLISH — section-head / panel-body spacing
   ══════════════════════════════════════════════════════════════ */

#page-dashboard .panel-body,
#page-briefing .panel-body { padding-top: 18px !important; }

#page-dashboard .macro-head,
#page-briefing .macro-head { padding: 0 0 14px !important; }

#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head,
#page-briefing .day-score-head,
#page-briefing .market-intel-head { padding: 0 0 14px !important; }

#page-dashboard .section-head,
#page-briefing .section-head {
  border-bottom: 1px solid rgba(11,17,16,0.07) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard .section-head,
[data-theme="dark"] #page-briefing .section-head { border-bottom-color: rgba(255,255,255,0.07) !important; }

/* ══════════════════════════════════════════════════════════════════════
   ██ MODERN FINANCIAL UI — COMPREHENSIVE REDESIGN
   ██ Benchmark: Koyfin · TradingView · Linear · Stripe Dashboard
   ██
   ██ STEP 1 — DESIGN TOKENS
   ██ 색상·타이포·스페이싱 시스템 재정의
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard,
#page-briefing {
  /* ── Text hierarchy ── */
  --t1: #0d1117;          /* primary — headings, key values */
  --t2: #3d4d5c;          /* secondary — labels, descriptions */
  --t3: #7a8a96;          /* muted — timestamps, hints */
  --t4: #b0bcc6;          /* placeholder / disabled */

  /* ── Brand accent (green = positive signal) ── */
  --a1: #16a34a;
  --a2: rgba(22,163,74,0.1);
  --a3: rgba(22,163,74,0.18);

  /* ── Semantic ── */
  --pos: #16a34a;   /* gain */
  --neg: #e03434;   /* loss */
  --warn: #0c6f38;  /* caution */
  --info: #2563eb;  /* neutral info */

  /* ── Hairlines ── */
  --hr:  rgba(13,17,23,0.07);   /* divider */
  --hr2: rgba(13,17,23,0.12);   /* strong divider */

  /* ── 8px spacing grid ── */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px;
  --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;

  /* ── Typography scale ── */
  --fxs:  0.72rem;   /* 10-11px — kicker, tag */
  --fsm:  0.8125rem; /* 13px — caption, timestamp */
  --fmd:  0.875rem;  /* 14px — body */
  --flg:  1rem;      /* 16px — section title */
  --fxl:  1.25rem;   /* 20px — panel title */
  --f2xl: 1.75rem;   /* 28px — score number */
  --f3xl: 2.5rem;    /* 40px — hero number */
}

[data-theme="dark"] #page-dashboard,
[data-theme="dark"] #page-briefing {
  --t1: #edf2f7;
  --t2: #7a8fa0;
  --t3: #46596a;
  --t4: #2d3d4a;
  --a1: #4ade80;
  --a2: rgba(74,222,128,0.09);
  --a3: rgba(74,222,128,0.16);
  --pos: #4ade80;
  --neg: #f87171;
  --warn: #00ed68;
  --info: #60a5fa;
  --hr:  rgba(255,255,255,0.07);
  --hr2: rgba(255,255,255,0.12);
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 2 — BASE FONT SIZE & BODY TEXT
   ██ 17.8px → 14px: 데이터 밀도 확보, 더 많은 정보를 한눈에
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard,
#page-briefing {
  font-size: 14px !important;
  font-feature-settings: "tnum" 0, "kern" 1;
  -webkit-font-smoothing: antialiased;
}

/* ── 섹션 내 일반 텍스트 ── */
#page-dashboard p,
#page-briefing p {
  font-size: var(--fmd) !important;
  line-height: 1.55 !important;
  color: var(--t2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 3 — SECTION TYPOGRAPHY HIERARCHY
   ██ Kicker → Title → Body 3단 계층
   ══════════════════════════════════════════════════════════════════════ */

/* ── kicker (AI Radar, Deep Research…) ── */
#page-dashboard .dashboard-stage-kicker,
#page-briefing .dashboard-stage-kicker {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--a1) !important;
  margin-bottom: var(--s2) !important;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-kicker,
[data-theme="dark"] #page-briefing .dashboard-stage-kicker {
  color: var(--a1) !important;
  opacity: 0.8 !important;
}

/* ── section title ── */
#page-dashboard .dashboard-stage-title,
#page-dashboard h2,
#page-briefing .dashboard-stage-title,
#page-briefing h2 {
  font-size: var(--flg) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--t1) !important;
  line-height: 1.2 !important;
}

/* ── panel sub-title (시장 흐름 모니터 etc.) ── */
#page-dashboard .macro-head h2,
#page-dashboard .day-score-head h2,
#page-dashboard .recommend-head h2,
#page-dashboard .market-intel-head h2,
#page-dashboard .analysis-panel h2,
#page-dashboard .checkpoint-panel h2,
#page-dashboard .mindmap-panel h2,
#page-dashboard .report-panel h2,
#page-briefing .macro-head h2,
#page-briefing .day-score-head h2,
#page-briefing .market-intel-head h2 {
  font-size: var(--fsm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  color: var(--t2) !important;
  line-height: 1 !important;
}

/* ── briefing page title ── */
#page-briefing .briefing-page-title {
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: var(--t1) !important;
  line-height: 1 !important;
}

#page-briefing .briefing-subtitle {
  font-size: var(--fsm) !important;
  font-weight: 500 !important;
  color: var(--t3) !important;
  letter-spacing: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 4 — MACRO GRID CARDS
   ██ 숫자가 주인공: large mono number + small label
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .macro-card,
#page-briefing .macro-card {
  border: 1px solid var(--hr) !important;
  border-radius: 8px !important;
  padding: var(--s3) var(--s4) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease !important;
}

#page-dashboard .macro-card:hover,
#page-briefing .macro-card:hover {
  border-color: var(--a3) !important;
  background: var(--a2) !important;
}

/* macro-card 내 숫자 */
#page-dashboard .macro-card .macro-value,
#page-dashboard .macro-card [class*="value"],
#page-briefing .macro-card .macro-value {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  font-family: "Space Grotesk", monospace !important;
  letter-spacing: -0.02em !important;
  color: var(--t1) !important;
  line-height: 1.1 !important;
}

/* macro-card 레이블 */
#page-dashboard .macro-card .macro-label,
#page-dashboard .macro-card [class*="label"],
#page-briefing .macro-card .macro-label {
  font-size: var(--fxs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--t3) !important;
}

/* change 색상 */
#page-dashboard .macro-change-positive,
#page-dashboard [class*="positive"],
#page-briefing .macro-change-positive { color: var(--pos) !important; }

#page-dashboard .macro-change-negative,
#page-dashboard [class*="negative"],
#page-briefing .macro-change-negative { color: var(--neg) !important; }

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 5 — DAY SCORE HERO
   ██ 투자 적합도 점수 — 숫자 대비↑
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .day-score-hero,
#page-briefing .day-score-hero {
  border: 1px solid var(--hr) !important;
  border-radius: 12px !important;
  padding: var(--s5) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .day-score-kicker {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--t3) !important;
}

/* 점수 숫자 강조 */
#page-dashboard .day-score-number,
#page-dashboard [class*="day-score-score"],
#page-dashboard [class*="score-number"] {
  font-size: var(--f3xl) !important;
  font-weight: 800 !important;
  font-family: "Space Grotesk", monospace !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--t1) !important;
}

#page-dashboard .day-score-narrative,
#page-briefing .day-score-narrative {
  border: 1px solid var(--hr) !important;
  border-radius: 8px !important;
  padding: var(--s4) !important;
  background: transparent !important;
  font-size: var(--fmd) !important;
  color: var(--t2) !important;
  line-height: 1.6 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 6 — MARKET INTEL CARDS (AI 브리핑)
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .mi-card,
#page-briefing .mi-card {
  border: 1px solid var(--hr) !important;
  border-radius: 10px !important;
  padding: var(--s4) var(--s5) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease !important;
}

#page-dashboard .mi-card:hover,
#page-briefing .mi-card:hover {
  border-color: var(--hr2) !important;
}

#page-dashboard .mi-card-label,
#page-briefing .mi-card-label {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: var(--a2) !important;
  color: var(--a1) !important;
  border: 1px solid var(--a3) !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
  box-shadow: none !important;
}

#page-dashboard .mi-card-title,
#page-briefing .mi-card-title {
  font-size: var(--fmd) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: var(--t1) !important;
  line-height: 1.35 !important;
}

#page-dashboard .mi-card-conclusion,
#page-briefing .mi-card-conclusion {
  font-size: var(--fsm) !important;
  color: var(--t2) !important;
  line-height: 1.55 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 7 — SIGNAL BRIEFING (시그널 브리핑)
   ══════════════════════════════════════════════════════════════════════ */

/* recommend-list 항목 */
#page-dashboard .recommend-list li,
#page-dashboard .recommend-row {
  border-bottom: 1px solid var(--hr) !important;
  padding: var(--s4) 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-list li:last-child,
#page-dashboard .recommend-row:last-child {
  border-bottom: 0 !important;
}

/* 종목명 */
#page-dashboard .rec-company-name {
  font-size: var(--fmd) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--t1) !important;
}

/* 티커 */
#page-dashboard .recommend-ticker {
  font-size: var(--fsm) !important;
  font-weight: 600 !important;
  font-family: "Space Grotesk", monospace !important;
  color: var(--t3) !important;
  letter-spacing: 0.04em !important;
}

/* hook 텍스트 */
#page-dashboard .rec-hook-text {
  font-size: var(--fsm) !important;
  color: var(--t2) !important;
  line-height: 1.5 !important;
}

/* recommend-tab */
#page-dashboard .recommend-tab {
  font-size: var(--fsm) !important;
  font-weight: 600 !important;
  color: var(--t3) !important;
  border-bottom: 2px solid transparent !important;
  padding: var(--s2) 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}

#page-dashboard .recommend-tab.is-active {
  color: var(--t1) !important;
  border-bottom-color: var(--a1) !important;
}

[data-theme="dark"] #page-dashboard .recommend-tab.is-active {
  color: var(--t1) !important;
  border-bottom-color: var(--a1) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 8 — RESEARCH STUDIO
   ══════════════════════════════════════════════════════════════════════ */

/* studio command kicker */
#page-dashboard .research-studio-command-kicker {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--t3) !important;
}

/* studio-service 제목 */
#page-dashboard .research-studio-service strong {
  font-size: var(--fmd) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--t1) !important;
}

#page-dashboard .research-studio-service p {
  font-size: var(--fsm) !important;
  color: var(--t2) !important;
}

/* studio tabs */
#page-dashboard .research-studio-tab {
  font-size: var(--fsm) !important;
  font-weight: 600 !important;
  color: var(--t3) !important;
  border: 1px solid var(--hr) !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: all 0.15s ease !important;
}

#page-dashboard .research-studio-tab.is-active {
  color: var(--a1) !important;
  border-color: var(--a3) !important;
  background: var(--a2) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-tab.is-active {
  color: var(--a1) !important;
  border-color: var(--a3) !important;
  background: var(--a2) !important;
}

/* ticker input */
#page-dashboard #ticker {
  font-size: var(--fmd) !important;
  font-weight: 500 !important;
  background: var(--a2) !important;
  border: 1px solid var(--hr2) !important;
  border-radius: 8px !important;
  color: var(--t1) !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
}

#page-dashboard #ticker:focus {
  border-color: var(--a3) !important;
  box-shadow: 0 0 0 3px var(--a2) !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #ticker {
  background: rgba(74,222,128,0.05) !important;
  border-color: var(--hr2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 9 — CHECKPOINT PANEL
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .cp-item {
  border: 1px solid var(--hr) !important;
  border-radius: 8px !important;
  padding: var(--s3) var(--s4) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease !important;
}

#page-dashboard .cp-item:hover {
  border-color: rgba(11, 17, 16, 0.12) !important;
  background: rgba(243, 244, 246, 0.9) !important;
}
#page-dashboard .cp-item[data-expanded="true"] {
  border-color: rgba(11, 17, 16, 0.14) !important;
  background: transparent !important;
}

#page-dashboard .cp-num {
  font-size: var(--fxs) !important;
  font-weight: 800 !important;
  font-family: "Space Grotesk", monospace !important;
  color: var(--t3) !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 20px !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 10 — BUTTONS: terminal-grade minimal
   ══════════════════════════════════════════════════════════════════════ */

/* primary CTA (분석 실행 등) */
#page-dashboard .btn-primary,
#page-dashboard [class*="submit-btn"],
#page-dashboard .analysis-cta-btn {
  font-size: var(--fsm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  background: var(--a1) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 7px !important;
  padding: 9px 18px !important;
  box-shadow: none !important;
  transition: opacity 0.15s ease !important;
}

#page-dashboard .btn-primary:hover,
#page-dashboard .analysis-cta-btn:hover {
  opacity: 0.88 !important;
  box-shadow: none !important;
}

/* ghost / secondary */
#page-dashboard .ghost-btn,
#page-dashboard .research-flow-btn,
#page-briefing .ghost-btn {
  font-size: var(--fsm) !important;
  font-weight: 600 !important;
  color: var(--t2) !important;
  background: transparent !important;
  border: 1px solid var(--hr2) !important;
  border-radius: 6px !important;
  padding: 6px 12px !important;
  box-shadow: none !important;
  transition: color 0.15s, border-color 0.15s !important;
}

#page-dashboard .ghost-btn:hover,
#page-briefing .ghost-btn:hover {
  color: var(--a1) !important;
  border-color: var(--a3) !important;
  background: var(--a2) !important;
}

/* quick-pick chips */
#page-dashboard .quick-pick-btn,
#page-briefing .quick-pick-btn {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--t2) !important;
  background: transparent !important;
  border: 1px solid var(--hr2) !important;
  border-radius: 5px !important;
  padding: 4px 10px !important;
  box-shadow: none !important;
  transition: all 0.15s ease !important;
}

#page-dashboard .quick-pick-btn:hover,
#page-briefing .quick-pick-btn:hover {
  color: var(--a1) !important;
  border-color: var(--a3) !important;
  background: var(--a2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 11 — MACRO UPDATED / TIMESTAMPS
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .macro-updated,
#page-briefing .macro-updated,
#page-dashboard [class*="updated"],
#page-briefing [class*="updated"] {
  font-size: var(--fxs) !important;
  font-weight: 500 !important;
  color: var(--t4) !important;
  font-family: "Space Grotesk", monospace !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 12 — LAYOUT SPACING SYSTEM
   ██ 8px grid 리듬, 섹션 간 여백 재조정
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .dashboard-main,
#page-briefing .dashboard-main {
  gap: var(--s8) !important; /* 64px 섹션 간격 */
}

#page-dashboard .dashboard-stage,
#page-briefing .dashboard-stage {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

#page-dashboard .dashboard-stage-head,
#page-briefing .dashboard-stage-head {
  padding-bottom: var(--s4) !important;
  margin-bottom: var(--s5) !important;
  border-bottom: 1px solid var(--hr) !important;
}

/* 패널 헤더 */
#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .recommend-head,
#page-dashboard .market-intel-head,
#page-briefing .macro-head,
#page-briefing .day-score-head,
#page-briefing .market-intel-head {
  padding: 0 0 var(--s3) !important;
  margin-bottom: var(--s4) !important;
  border-bottom: 1px solid var(--hr) !important;
  background: transparent !important;
}

#page-dashboard .panel-body,
#page-briefing .panel-body {
  padding-top: var(--s4) !important;
}

/* macro grid 카드 간격 */
#page-dashboard .macro-grid,
#page-briefing .macro-grid {
  gap: var(--s2) !important;
}

#page-dashboard .dashboard-stage-grid,
#page-briefing .dashboard-stage-grid {
  gap: var(--s6) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 13 — SIGNAL DOTS / STATUS INDICATORS
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .rec-signal-dots [class*="dot"],
#page-dashboard [class*="signal-dot"] {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 14 — DARK MODE REFINEMENT
   ══════════════════════════════════════════════════════════════════════ */

[data-theme="dark"] #page-dashboard,
[data-theme="dark"] #page-briefing {
  background: #0c0f0d !important;
}

[data-theme="dark"] #page-dashboard h2,
[data-theme="dark"] #page-briefing h2,
[data-theme="dark"] #page-dashboard .dashboard-stage-title,
[data-theme="dark"] #page-briefing .dashboard-stage-title {
  color: rgba(201, 168, 76, 0.9) !important;
}

[data-theme="dark"] #page-dashboard .macro-head h2,
[data-theme="dark"] #page-briefing .macro-head h2,
[data-theme="dark"] #page-dashboard .day-score-head h2,
[data-theme="dark"] #page-dashboard .recommend-head h2,
[data-theme="dark"] #page-dashboard .market-intel-head h2,
[data-theme="dark"] #page-briefing .market-intel-head h2 {
  color: rgba(201, 168, 76, 0.9) !important;
}

[data-theme="dark"] #page-dashboard .macro-card,
[data-theme="dark"] #page-briefing .macro-card {
  border-color: var(--hr) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .macro-card .macro-label,
[data-theme="dark"] #page-dashboard .macro-card [class*="label"],
[data-theme="dark"] #page-briefing .macro-card .macro-label {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .macro-card .macro-value,
[data-theme="dark"] #page-dashboard .macro-card [class*="value"],
[data-theme="dark"] #page-briefing .macro-card .macro-value {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .mi-card,
[data-theme="dark"] #page-briefing .mi-card {
  border-color: var(--hr) !important;
}

[data-theme="dark"] #page-dashboard .cp-item {
  border-color: var(--hr) !important;
}

[data-theme="dark"] #page-dashboard .research-studio-tab {
  border-color: var(--hr) !important;
  color: var(--t3) !important;
}

[data-theme="dark"] #page-dashboard .ghost-btn,
[data-theme="dark"] #page-briefing .ghost-btn {
  border-color: var(--hr2) !important;
  color: var(--t2) !important;
}

[data-theme="dark"] #page-dashboard .quick-pick-btn,
[data-theme="dark"] #page-briefing .quick-pick-btn {
  border-color: var(--hr) !important;
  color: var(--t2) !important;
}

[data-theme="dark"] #page-dashboard .recommend-tab {
  color: var(--t3) !important;
}

[data-theme="dark"] #page-dashboard .day-score-hero,
[data-theme="dark"] #page-briefing .day-score-hero {
  border-color: var(--hr) !important;
}

[data-theme="dark"] #page-dashboard .day-score-narrative,
[data-theme="dark"] #page-briefing .day-score-narrative {
  border-color: var(--hr) !important;
  color: var(--t2) !important;
}

[data-theme="dark"] #page-dashboard .macro-updated,
[data-theme="dark"] #page-briefing .macro-updated {
  color: var(--t4) !important;
}

[data-theme="dark"] #page-briefing .briefing-page-title {
  color: var(--t1) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 15 — PANEL CHIP BUTTONS (새로고침 · 접기)
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .panel-chip-btn,
#page-dashboard .panel-toggle-btn,
#page-briefing .panel-chip-btn,
#page-briefing .panel-toggle-btn {
  font-size: var(--fxs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  color: var(--t3) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 8px !important;
  height: auto !important;
  border-radius: 5px !important;
  transition: color 0.15s !important;
}

#page-dashboard .panel-chip-btn:hover,
#page-dashboard .panel-toggle-btn:hover,
#page-briefing .panel-chip-btn:hover {
  color: var(--a1) !important;
  background: var(--a2) !important;
}

[data-theme="dark"] #page-dashboard .panel-chip-btn,
[data-theme="dark"] #page-dashboard .panel-toggle-btn {
  color: var(--t3) !important;
}

[data-theme="dark"] #page-dashboard .panel-chip-btn:hover {
  color: var(--a1) !important;
  background: var(--a2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 16 — 5-ITEM FIX BATCH (2026-03-26)
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. 핵심 신호 흰색 배경 제거 ──────────────────────────────────────── */
#page-dashboard .day-score-signal,
#page-briefing  .day-score-signal {
  background: transparent !important;
  box-shadow: none !important;
  border-color: var(--hr2) !important;
}

#page-dashboard .day-score-signal--compact,
#page-briefing  .day-score-signal--compact {
  background: transparent !important;
  box-shadow: none !important;
  border-color: rgba(22,163,74,0.18) !important;
}

[data-theme="dark"] #page-dashboard .day-score-signal,
[data-theme="dark"] #page-briefing  .day-score-signal {
  border-color: rgba(255,255,255,0.08) !important;
}

[data-theme="dark"] #page-dashboard .day-score-signal--compact,
[data-theme="dark"] #page-briefing  .day-score-signal--compact {
  border-color: rgba(22,163,74,0.22) !important;
}

/* ── 2. 버틴/부담 자산군 흰색 배경 제거 + 2줄→1줄(flex row) ────────── */
#page-dashboard .macro-asset-lanes,
#page-briefing  .macro-asset-lanes {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  grid-template-columns: unset !important;
}

#page-dashboard .macro-asset-col,
#page-briefing  .macro-asset-col {
  flex: 1 1 0 !important;
  min-width: 200px !important;
  background: transparent !important;
  border-color: var(--hr2) !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  gap: 8px !important;
}

#page-dashboard .macro-asset-chip,
#page-briefing  .macro-asset-chip {
  background: transparent !important;
  border-color: var(--hr2) !important;
}

#page-dashboard .macro-asset-label,
#page-briefing  .macro-asset-label {
  background: transparent !important;
  font-size: var(--fxs) !important;
  letter-spacing: 0.06em !important;
}

#page-dashboard .macro-asset-favorable .macro-asset-label,
#page-briefing  .macro-asset-favorable .macro-asset-label {
  color: var(--a1) !important;
  background: var(--a2) !important;
}

#page-dashboard .macro-asset-caution .macro-asset-label,
#page-briefing  .macro-asset-caution .macro-asset-label {
  color: var(--neg) !important;
  background: rgba(224,52,52,0.08) !important;
}

[data-theme="dark"] #page-dashboard .macro-asset-col,
[data-theme="dark"] #page-briefing  .macro-asset-col {
  border-color: rgba(255,255,255,0.08) !important;
}

[data-theme="dark"] #page-dashboard .macro-asset-chip,
[data-theme="dark"] #page-briefing  .macro-asset-chip {
  border-color: rgba(255,255,255,0.08) !important;
  color: var(--t2) !important;
}

/* ── 3. 시그널 브리핑 UI 재정비 ──────────────────────────────────────── */
/* 외부 stage-head(AI Radar + "AI가 감지한 관심 종목") 제거 — 내부 recommend-head로 통합 */
#opportunity-hub > .dashboard-stage-head {
  display: none !important;
}

/* recommend-head: 타이틀 + 버튼 1줄 정렬 */
#page-dashboard #section-recommend .recommend-head,
#page-briefing  #section-recommend .recommend-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--hr) !important;
  margin-bottom: 0 !important;
}

#page-dashboard #section-recommend .recommend-head .dashboard-head-copy,
#page-briefing  #section-recommend .recommend-head .dashboard-head-copy {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#page-dashboard #section-recommend .recommend-head h2,
#page-briefing  #section-recommend .recommend-head h2 {
  font-size: var(--flg) !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

/* premium CTA 블록 → 컴팩트 인라인 스트립 */
#page-dashboard .recommend-overview,
#page-briefing  .recommend-overview {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-premium-cta,
#page-briefing  .recommend-premium-cta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--hr) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex-wrap: wrap !important;
}

#page-dashboard .recommend-premium-cta .recommend-overline,
#page-briefing  .recommend-premium-cta .recommend-overline {
  font-size: var(--fxs) !important;
  font-weight: 700 !important;
  color: var(--t3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

#page-dashboard .recommend-premium-copy,
#page-briefing  .recommend-premium-copy {
  flex: 1 1 auto !important;
  font-size: var(--fsm) !important;
  color: var(--t3) !important;
  margin: 0 !important;
  min-width: 0 !important;
}

#page-dashboard .recommend-premium-row,
#page-briefing  .recommend-premium-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

#page-dashboard .recommend-premium-btn,
#page-briefing  .recommend-premium-btn {
  font-size: var(--fsm) !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 6px !important;
  background: var(--a2) !important;
  color: var(--a1) !important;
  border: 1px solid rgba(22,163,74,0.25) !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

#page-dashboard .recommend-credit-note,
#page-briefing  .recommend-credit-note {
  font-size: 0.7rem !important;
  color: var(--t4) !important;
}

/* 종목 리스트 아이템 구분선 */
#page-dashboard .recommend-list li + li,
#page-briefing  .recommend-list li + li {
  border-top: 1px solid var(--hr) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* tab bar 간격 정리 */
#page-dashboard .recommend-tabs,
#page-briefing  .recommend-tabs {
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--hr) !important;
  gap: 4px !important;
}

/* ── 4. 추가 질문 textarea 흰색 배경 제거 ────────────────────────────── */
#page-dashboard .analysis-panel textarea,
#page-dashboard textarea#user_task {
  background: rgba(13,17,23,0.03) !important;
  border-color: var(--hr2) !important;
  color: var(--t1) !important;
}

[data-theme="dark"] #page-dashboard .analysis-panel textarea,
[data-theme="dark"] #page-dashboard textarea#user_task {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.1) !important;
}

/* ── 5. 주요 버튼 통일: 초록 테두리 + 초록 tint 배경 ────────────────── */
#page-dashboard .analysis-cta-btn,
#page-dashboard .cp-submit-btn,
#page-briefing  .analysis-cta-btn {
  background: var(--a2) !important;
  color: var(--a1) !important;
  border: 1px solid rgba(22,163,74,0.35) !important;
  box-shadow: none !important;
}

#page-dashboard .analysis-cta-btn:hover,
#page-dashboard .cp-submit-btn:hover,
#page-briefing  .analysis-cta-btn:hover {
  background: var(--a3) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

#page-dashboard .analysis-cta-btn:disabled,
#page-dashboard .cp-submit-btn:disabled {
  background: transparent !important;
  color: var(--t4) !important;
  border-color: var(--hr) !important;
  opacity: 0.55 !important;
}

/* 문의접수 버튼 (mypage) */
#inquiry-submit-btn.analysis-cta-btn {
  background: rgba(22,163,74,0.10) !important;
  color: #16a34a !important;
  border: 1px solid rgba(22,163,74,0.35) !important;
}

[data-theme="dark"] #page-dashboard .analysis-cta-btn,
[data-theme="dark"] #page-dashboard .cp-submit-btn {
  background: rgba(22,163,74,0.14) !important;
  color: #4ade80 !important;
  border-color: rgba(74,222,128,0.3) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 17 — BRIEFING / DASHBOARD SERVICE SPLIT
   ██ editorial briefing vs action dashboard
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing,
#page-dashboard {
  background-image: none !important;
}

#page-briefing {
  --service-bg: #f3f1ec;
  --service-surface: #fcfbf8;
  --service-surface-strong: #f7f4ee;
  --service-line: rgba(18, 24, 27, 0.1);
  --service-line-strong: rgba(18, 24, 27, 0.18);
  --service-text: #12181b;
  --service-muted: #66737d;
  --service-kicker: #7b857d;
  background: #f3f1ec !important;
}

#page-dashboard {
  --service-bg: #edf1ed;
  --service-surface: #fbfcfa;
  --service-surface-strong: #f4f7f3;
  --service-line: rgba(16, 27, 20, 0.1);
  --service-line-strong: rgba(16, 27, 20, 0.18);
  --service-text: #101b14;
  --service-muted: #637067;
  --service-kicker: #657166;
  background: #edf1ed !important;
}

[data-theme="dark"] #page-briefing {
  --service-bg: #111311;
  --service-surface: #151917;
  --service-surface-strong: #191d1b;
  --service-line: rgba(255, 255, 255, 0.08);
  --service-line-strong: rgba(255, 255, 255, 0.14);
  --service-text: #f2f4f0;
  --service-muted: #9aa69d;
  --service-kicker: #78857c;
  background: #111311 !important;
}

[data-theme="dark"] #page-dashboard {
  --service-bg: #0e1210;
  --service-surface: #131915;
  --service-surface-strong: #18201a;
  --service-line: rgba(255, 255, 255, 0.08);
  --service-line-strong: rgba(255, 255, 255, 0.14);
  --service-text: #f1f5f1;
  --service-muted: #97a49b;
  --service-kicker: #7a887f;
  background: #0e1210 !important;
}

#page-briefing .service-hero,
#page-dashboard .service-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.9fr) !important;
  gap: 18px !important;
  padding: 28px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 26px !important;
  background: var(--service-surface) !important;
  box-shadow: none !important;
}

#page-briefing .service-hero-main,
#page-dashboard .service-hero-main,
#page-briefing .service-hero-aside,
#page-dashboard .service-hero-aside {
  display: grid !important;
  gap: 14px !important;
}

#page-briefing .service-hero-kicker,
#page-dashboard .service-hero-kicker {
  margin: 0 !important;
  color: var(--service-kicker) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

#page-briefing .service-hero-title-row,
#page-dashboard .service-hero-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#page-briefing .service-hero-title,
#page-dashboard .service-hero-title {
  margin: 0 !important;
  color: var(--service-text) !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.06em !important;
  line-height: 0.94 !important;
}

#page-briefing .service-hero-badge,
#page-dashboard .service-hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  color: var(--service-muted) !important;
  background: var(--service-surface-strong) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

#page-briefing .service-hero-desc,
#page-dashboard .service-hero-desc {
  margin: 0 !important;
  max-width: 780px !important;
  color: var(--service-muted) !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}

#page-briefing .service-hero-note,
#page-dashboard .service-hero-note {
  display: grid !important;
  gap: 8px !important;
  padding: 18px 18px 16px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 20px !important;
  background: var(--service-surface-strong) !important;
}

#page-briefing .service-hero-note-label,
#page-dashboard .service-hero-note-label {
  color: var(--service-kicker) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#page-briefing .service-hero-note-value,
#page-dashboard .service-hero-note-value {
  margin: 0 !important;
  color: var(--service-text) !important;
  font-size: 0.93rem !important;
  line-height: 1.62 !important;
}

#page-briefing .service-hero-action-row,
#page-dashboard .service-hero-action-row {
  display: grid !important;
  gap: 12px !important;
}

#page-briefing .service-hero-link,
#page-dashboard .service-hero-link {
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid var(--service-line-strong) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--service-text) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow: none !important;
}

#page-briefing .service-hero-link:hover,
#page-dashboard .service-hero-link:hover {
  background: var(--service-surface) !important;
}

#page-briefing .dashboard-main,
#page-dashboard .dashboard-main {
  gap: 40px !important;
}

#page-briefing .dashboard-journey,
#page-dashboard .dashboard-journey {
  padding: 24px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 24px !important;
  background: var(--service-surface) !important;
  box-shadow: none !important;
}

#page-briefing .dashboard-journey-head,
#page-dashboard .dashboard-journey-head {
  position: relative !important;
  max-width: 100% !important;
  padding-right: 52px !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

#page-briefing .dashboard-journey-title,
#page-dashboard .dashboard-journey-title,
#page-briefing .briefing-page-title {
  margin: 0 !important;
  color: var(--service-text) !important;
  font-size: clamp(1.4rem, 2vw, 1.9rem) !important;
  font-weight: 750 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
}

#page-briefing .briefing-subtitle,
#page-dashboard .dashboard-journey-desc {
  margin: 0 !important;
  color: var(--service-muted) !important;
  font-size: 0.94rem !important;
  line-height: 1.64 !important;
}

#page-briefing .dashboard-journey-toggle,
#page-dashboard .dashboard-journey-toggle {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  background: var(--service-surface-strong) !important;
  color: var(--service-muted) !important;
}

#page-briefing .dashboard-journey-grid,
#page-dashboard .dashboard-journey-grid {
  margin-top: 18px !important;
  gap: 12px !important;
}

#page-briefing .dashboard-journey-card,
#page-dashboard .dashboard-journey-card {
  min-height: 112px !important;
  padding: 18px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 20px !important;
  background: var(--service-surface-strong) !important;
  box-shadow: none !important;
  transform: none !important;
}

#page-briefing .dashboard-journey-card:hover,
#page-dashboard .dashboard-journey-card:hover {
  border-color: var(--service-line-strong) !important;
  background: var(--service-surface) !important;
}

#page-briefing .dashboard-journey-step,
#page-dashboard .dashboard-journey-step {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--service-muted) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

#page-briefing .dash-subnav.dashboard-quicknav,
#page-dashboard .dash-subnav.dashboard-quicknav {
  border: 1px solid var(--service-line) !important;
  border-radius: 22px !important;
  background: #0a0d14 !important;
  box-shadow: none !important;
}

#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill {
  min-height: 44px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active {
  border-color: var(--service-line) !important;
  background: var(--service-surface-strong) !important;
}

#page-briefing .panel,
#page-briefing .briefing-intel-wrapper,
#page-dashboard .panel,
#page-dashboard .research-studio-shell {
  border: 1px solid var(--service-line) !important;
  border-radius: 26px !important;
  background: var(--service-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-briefing .panel,
#page-dashboard .panel {
  padding: 24px !important;
}

#page-briefing .briefing-intel-wrapper {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#page-briefing .briefing-intel-header,
#page-dashboard .dashboard-stage-head {
  margin-bottom: 14px !important;
}

#page-briefing .macro-head,
#page-briefing .day-score-head,
#page-briefing .market-intel-head,
#page-dashboard .recommend-head,
#page-dashboard .analysis-panel .section-head,
#page-dashboard .checkpoint-panel .section-head,
#page-dashboard .mindmap-panel .section-head {
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--service-line) !important;
}

#page-briefing .macro-head h2,
#page-briefing .day-score-head h2,
#page-briefing .market-intel-head h2,
#page-dashboard .analysis-panel h2,
#page-dashboard .checkpoint-panel h2,
#page-dashboard .mindmap-panel h2 {
  color: var(--service-text) !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

#page-briefing .macro-card,
#page-briefing .macro-asset-col,
#page-dashboard .macro-card,
#page-dashboard .macro-asset-col {
  border: 1px solid var(--service-line) !important;
  border-radius: 18px !important;
  background: var(--service-surface-strong) !important;
}

#page-briefing .macro-card,
#page-dashboard .macro-card {
  padding: 16px !important;
  min-height: 112px !important;
}

#page-briefing .macro-card .macro-label,
#page-dashboard .macro-card .macro-label {
  color: var(--service-kicker) !important;
  font-size: 0.72rem !important;
}

#page-briefing .macro-card .macro-value,
#page-dashboard .macro-card .macro-value,
#page-dashboard .macro-card [class*="value"],
#page-briefing .macro-card [class*="value"] {
  color: var(--service-text) !important;
  font-size: 1.26rem !important;
}

#page-briefing .day-score-main,
#page-dashboard .day-score-main {
  gap: 18px !important;
  align-items: stretch !important;
}

#page-briefing .day-score-hero,
#page-dashboard .day-score-hero {
  border: 1px solid var(--service-line) !important;
  border-radius: 22px !important;
  background: var(--service-surface-strong) !important;
  min-height: 100% !important;
  height: 100% !important;
}

#page-briefing .day-score-secondary,
#page-dashboard .day-score-secondary {
  height: 100% !important;
}

#page-briefing .ds-status-banner,
#page-dashboard .ds-status-banner {
  border: 1px solid var(--service-line) !important;
  border-radius: 16px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-briefing .ds-arc-track,
#page-dashboard .ds-arc-track {
  stroke: rgba(122, 134, 126, 0.2) !important;
}

#page-briefing .ds-arc-progress--good,
#page-dashboard .ds-arc-progress--good {
  stroke: #26804f !important;
}

#page-briefing .ds-arc-progress--neutral,
#page-dashboard .ds-arc-progress--neutral {
  stroke: #a36f1b !important;
}

#page-briefing .ds-arc-progress--danger,
#page-dashboard .ds-arc-progress--danger {
  stroke: #bb4b43 !important;
}

[data-theme="dark"] #page-briefing .ds-arc-progress--good,
[data-theme="dark"] #page-dashboard .ds-arc-progress--good {
  stroke: #4ade80 !important;
}

[data-theme="dark"] #page-briefing .ds-arc-progress--neutral,
[data-theme="dark"] #page-dashboard .ds-arc-progress--neutral {
  stroke: #00ed68 !important;
}

[data-theme="dark"] #page-briefing .ds-arc-progress--danger,
[data-theme="dark"] #page-dashboard .ds-arc-progress--danger {
  stroke: #f87171 !important;
}

#page-briefing .day-score-sidecard,
#page-briefing .day-score-narrative,
#page-dashboard .day-score-sidecard,
#page-dashboard .day-score-narrative,
#page-dashboard .day-score-signal,
#page-briefing .day-score-signal {
  border: 1px solid var(--service-line) !important;
  border-radius: 18px !important;
  background: var(--service-surface) !important;
  box-shadow: none !important;
}

#page-briefing .mi-three-cards,
#page-dashboard .mi-three-cards {
  gap: 14px !important;
}

#page-briefing .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-card,
#page-dashboard .mi-sector-bar {
  display: grid !important;
  gap: 14px !important;
  min-height: 100% !important;
  padding: 18px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 22px !important;
  background: var(--service-surface) !important;
  box-shadow: none !important;
}

#page-briefing .mi-card-head,
#page-briefing .mi-sector-bar-head,
#page-dashboard .mi-card-head,
#page-dashboard .mi-sector-bar-head {
  display: grid !important;
  gap: 10px !important;
}

#page-briefing .mi-card-label,
#page-dashboard .mi-card-label {
  width: fit-content !important;
  min-height: 24px !important;
  padding: 0 10px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  background: var(--service-surface-strong) !important;
  color: var(--service-kicker) !important;
}

#page-briefing .mi-card-title,
#page-dashboard .mi-card-title {
  color: var(--service-text) !important;
  font-size: 1.08rem !important;
  line-height: 1.38 !important;
}

#page-briefing .mi-card-conclusion,
#page-dashboard .mi-card-conclusion,
#page-briefing .mi-simple,
#page-dashboard .mi-simple {
  margin: 0 !important;
  color: var(--service-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
}

#page-briefing .market-intel-grid,
#page-dashboard .market-intel-grid {
  gap: 14px !important;
}

#page-dashboard .recommend-panel {
  padding: 0 !important;
  overflow: hidden !important;
}

#page-dashboard .recommend-head,
#page-briefing #section-recommend .recommend-head {
  padding: 18px 20px !important;
  background: transparent !important;
}

#page-dashboard .recommend-premium-cta,
#page-briefing .recommend-premium-cta {
  padding: 14px 20px !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard .recommend-tabs,
#page-briefing .recommend-tabs {
  padding: 10px 20px !important;
  background: transparent !important;
}

#page-dashboard .recommend-tab,
#page-briefing .recommend-tab {
  min-height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
}

#page-dashboard .recommend-tab.is-active,
#page-briefing .recommend-tab.is-active {
  border-color: var(--service-line) !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard .recommend-card-panel,
#page-briefing .recommend-card-panel {
  padding: 0 20px 20px !important;
}

#page-dashboard .recommend-card-panel h3,
#page-briefing .recommend-card-panel h3 {
  margin: 18px 0 6px !important;
  color: var(--service-text) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

#page-dashboard .recommend-heading-row,
#page-briefing .recommend-heading-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#page-dashboard .recommend-heading-badge,
#page-briefing .recommend-heading-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(22, 163, 74, 0.22) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #166534 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

#page-dashboard .recommend-list,
#page-briefing .recommend-list {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#page-dashboard .recommend-list li,
#page-briefing .recommend-list li,
#page-dashboard .recommend-item,
#page-briefing .recommend-item {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-row-head,
#page-briefing .recommend-row-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 18px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 20px !important;
  background: var(--service-surface) !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

#page-dashboard .recommend-row:hover .recommend-row-head,
#page-briefing .recommend-row:hover .recommend-row-head {
  background: rgba(247, 249, 252, 0.96) !important;
  border-color: rgba(11, 17, 16, 0.12) !important;
}

[data-theme="dark"] #page-dashboard .recommend-row:hover .recommend-row-head,
[data-theme="dark"] #page-briefing .recommend-row:hover .recommend-row-head {
  background: rgba(15, 22, 30, 0.82) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
}

#page-dashboard .recommend-top,
#page-briefing .recommend-top {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#page-dashboard .recommend-title-block,
#page-briefing .recommend-title-block {
  display: grid !important;
  gap: 8px !important;
}

#page-dashboard .recommend-title-row,
#page-briefing .recommend-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#page-dashboard .recommend-title-row--primary,
#page-briefing .recommend-title-row--primary {
  gap: 10px !important;
}

#page-dashboard .rec-company-name,
#page-briefing .rec-company-name {
  color: var(--service-text) !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
}

#page-dashboard .recommend-ticker,
#page-briefing .recommend-ticker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  background: var(--service-surface-strong) !important;
  color: var(--service-muted) !important;
  font-size: 0.76rem !important;
}

#page-dashboard .recommend-flow-chip,
#page-briefing .recommend-flow-chip {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--service-muted) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
}

#page-dashboard .recommend-market-badge,
#page-briefing .recommend-market-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(239, 246, 255, 0.92) !important;
  color: #2563eb !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

#page-dashboard .recommend-price-block,
#page-briefing .recommend-price-block {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-top: 0 !important;
}

#page-dashboard .recommend-live-price,
#page-briefing .recommend-live-price {
  color: var(--service-text) !important;
  font-size: 1.18rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.03em !important;
}

#page-dashboard .recommend-live-gap,
#page-briefing .recommend-live-gap {
  color: var(--service-muted) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
}

#page-dashboard .recommend-live-price.price-up,
#page-briefing .recommend-live-price.price-up {
  color: #16a34a !important;
}

#page-dashboard .recommend-live-price.price-down,
#page-briefing .recommend-live-price.price-down {
  color: #dc2626 !important;
}

#page-dashboard .recommend-live-price.price-neutral,
#page-briefing .recommend-live-price.price-neutral {
  color: var(--service-text) !important;
}

#page-dashboard .recommend-live-gap.price-up,
#page-briefing .recommend-live-gap.price-up {
  color: #16a34a !important;
}

#page-dashboard .recommend-live-gap.price-down,
#page-briefing .recommend-live-gap.price-down {
  color: #dc2626 !important;
}

#page-dashboard .recommend-live-gap.price-neutral,
#page-briefing .recommend-live-gap.price-neutral {
  color: var(--service-muted) !important;
}

#page-dashboard .recommend-toggle-btn,
#page-briefing .recommend-toggle-btn {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 999px !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard .recommend-body-collapsible,
#page-briefing .recommend-body-collapsible {
  margin-top: 10px !important;
}

#page-dashboard .recommend-body-inner,
#page-briefing .recommend-body-inner {
  padding: 18px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 20px !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard .recommend-one-liner,
#page-briefing .recommend-one-liner {
  color: var(--service-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .recommend-free-grid,
#page-dashboard .recommend-premium-grid,
#page-briefing .recommend-free-grid,
#page-briefing .recommend-premium-grid {
  gap: 10px !important;
}

#page-dashboard .recommend-signal-chip,
#page-dashboard .recommend-main-point,
#page-dashboard .recommend-wow-point,
#page-dashboard .recommend-why,
#page-briefing .recommend-signal-chip,
#page-briefing .recommend-main-point,
#page-briefing .recommend-wow-point,
#page-briefing .recommend-why {
  border: 1px solid var(--service-line) !important;
  border-radius: 16px !important;
  background: var(--service-surface) !important;
}

#page-dashboard .research-studio-shell {
  padding: 24px !important;
  gap: 18px !important;
}

#page-dashboard .research-studio-command,
#page-dashboard .research-pane .panel {
  border: 1px solid var(--service-line) !important;
  border-radius: 22px !important;
  background: var(--service-surface-strong) !important;
  box-shadow: none !important;
}

#page-dashboard .research-studio-command {
  padding: 20px !important;
}

#page-dashboard #research-studio .studio-feature-cards {
  gap: 12px !important;
}

#page-dashboard #research-studio .studio-feature-card {
  padding: 18px !important;
  border: 1px solid var(--service-line) !important;
  border-radius: 20px !important;
  background: var(--service-surface) !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: var(--service-line-strong) !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: var(--service-line-strong) !important;
  background: var(--service-surface-strong) !important;
}

#page-dashboard #research-studio .studio-feature-card-name,
#page-dashboard #research-studio .studio-feature-card-desc,
#page-dashboard .research-studio-command-kicker {
  color: var(--service-text) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-name,
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-desc,
[data-theme="dark"] #page-dashboard .research-studio-command-kicker {
  color: #F5F5F5 !important;
}

#page-dashboard input[type="text"],
#page-dashboard input[type="number"],
#page-dashboard input[type="search"],
#page-dashboard select,
#page-dashboard textarea,
#page-briefing input[type="text"],
#page-briefing input[type="number"],
#page-briefing select {
  border: 1px solid var(--service-line) !important;
  border-radius: 16px !important;
  background: var(--service-surface) !important;
  color: var(--service-text) !important;
  box-shadow: none !important;
}

@media (max-width: 1320px) {
  #page-briefing .service-hero,
  #page-dashboard .service-hero {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  #page-briefing .dashboard-journey-grid,
  #page-dashboard .dashboard-journey-grid {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard .recommend-row-head,
  #page-briefing .recommend-row-head {
    grid-template-columns: 1fr !important;
  }

  #page-briefing .service-hero,
  #page-dashboard .service-hero,
  #page-briefing .dashboard-journey,
  #page-dashboard .dashboard-journey,
  #page-briefing .panel,
  #page-dashboard .panel,
  #page-dashboard .research-studio-shell {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  #page-briefing .service-hero-title,
  #page-dashboard .service-hero-title {
    font-size: 1.9rem !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 18 — ENTERPRISE CLEANUP
   ██ cooler neutral background + less chrome + fewer borders
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing {
  --service-surface: #ffffff;
  --service-surface-strong: #f6f8fb;
  --service-line: rgba(15, 23, 42, 0.06);
  --service-line-strong: rgba(15, 23, 42, 0.12);
  --service-text: #0f172a;
  --service-muted: #667085;
  --service-kicker: #98a2b3;
  background: #f6f8fb !important;
}

#page-dashboard {
  --service-surface: #ffffff;
  --service-surface-strong: #f7f9fc;
  --service-line: rgba(15, 23, 42, 0.06);
  --service-line-strong: rgba(15, 23, 42, 0.12);
  --service-text: #101828;
  --service-muted: #667085;
  --service-kicker: #98a2b3;
  background: #f4f6fa !important;
}

[data-theme="dark"] #page-briefing {
  --service-surface: #12161c;
  --service-surface-strong: #171c23;
  --service-line: rgba(255, 255, 255, 0.06);
  --service-line-strong: rgba(255, 255, 255, 0.1);
  --service-text: #F5F5F5;
  --service-muted: #98a2b3;
  --service-kicker: #667085;
  background: #0b0f14 !important;
}

[data-theme="dark"] #page-dashboard {
  --service-surface: #12161c;
  --service-surface-strong: #161b22;
  --service-line: rgba(255, 255, 255, 0.06);
  --service-line-strong: rgba(255, 255, 255, 0.1);
  --service-text: #F5F5F5;
  --service-muted: #98a2b3;
  --service-kicker: #667085;
  background: #0b0f14 !important;
}

#page-briefing .service-hero,
#page-dashboard .service-hero {
  padding: 6px 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-briefing .service-hero-main,
#page-dashboard .service-hero-main {
  gap: 10px !important;
}

#page-briefing .service-hero-aside,
#page-dashboard .service-hero-aside {
  gap: 10px !important;
  align-content: start !important;
}

#page-briefing .service-hero-badge,
#page-dashboard .service-hero-badge {
  display: none !important;
}

#page-briefing .service-hero-kicker,
#page-dashboard .service-hero-kicker {
  color: var(--service-kicker) !important;
  font-weight: 700 !important;
}

#page-briefing .service-hero-title,
#page-dashboard .service-hero-title {
  font-size: clamp(2.2rem, 3vw, 3rem) !important;
  letter-spacing: -0.075em !important;
}

#page-briefing .service-hero-desc,
#page-dashboard .service-hero-desc {
  max-width: 860px !important;
  font-size: 0.96rem !important;
  line-height: 1.7 !important;
}

#page-briefing .service-hero-note,
#page-dashboard .service-hero-note {
  padding: 14px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-briefing .service-hero-note + .service-hero-note,
#page-dashboard .service-hero-note + .service-hero-note {
  border-top: 1px solid var(--service-line) !important;
}

#page-briefing .service-hero-link,
#page-dashboard .service-hero-link,
#page-briefing .panel-chip-btn,
#page-dashboard .panel-chip-btn,
#page-briefing .panel-toggle-btn,
#page-dashboard .panel-toggle-btn,
#page-briefing .ghost-btn,
#page-dashboard .ghost-btn,
#page-briefing .recommend-toggle-btn,
#page-dashboard .recommend-toggle-btn {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-briefing .service-hero-link,
#page-dashboard .service-hero-link {
  padding: 0 !important;
  min-height: auto !important;
  color: #475467 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

[data-theme="dark"] #page-briefing .service-hero-link,
[data-theme="dark"] #page-dashboard .service-hero-link {
  color: #F5F5F5 !important;
}

#page-briefing .dashboard-journey,
#page-dashboard .dashboard-journey,
#page-briefing .dash-subnav.dashboard-quicknav,
#page-dashboard .dash-subnav.dashboard-quicknav {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-briefing .dashboard-journey,
#page-dashboard .dashboard-journey {
  padding: 8px 0 0 !important;
}

#page-briefing .dashboard-journey-head,
#page-dashboard .dashboard-journey-head {
  padding-right: 34px !important;
}

#page-briefing .dashboard-journey-toggle,
#page-dashboard .dashboard-journey-toggle {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--service-kicker) !important;
}

#page-briefing .dashboard-journey-grid,
#page-dashboard .dashboard-journey-grid {
  gap: 10px !important;
}

#page-briefing .dashboard-journey-card,
#page-dashboard .dashboard-journey-card {
  min-height: 104px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--service-surface-strong) !important;
}

#page-briefing .dashboard-journey-card:hover,
#page-dashboard .dashboard-journey-card:hover {
  background: var(--service-surface) !important;
}

#page-briefing .dashboard-journey-step,
#page-dashboard .dashboard-journey-step {
  border: 0 !important;
  border-radius: 10px !important;
  background: rgba(15, 23, 42, 0.06) !important;
  color: #475467 !important;
}

[data-theme="dark"] #page-briefing .dashboard-journey-step,
[data-theme="dark"] #page-dashboard .dashboard-journey-step {
  background: rgba(255, 255, 255, 0.07) !important;
  color: #F5F5F5 !important;
}

#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-inner,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill {
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--service-kicker) !important;
}

#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active {
  background: transparent !important;
  color: var(--service-text) !important;
}

#page-briefing .panel,
#page-dashboard .panel,
#page-dashboard .research-studio-shell {
  border: 0 !important;
  border-radius: 20px !important;
  background: var(--service-surface) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 12px 24px rgba(16, 24, 40, 0.04) !important;
}

[data-theme="dark"] #page-briefing .panel,
[data-theme="dark"] #page-dashboard .panel,
[data-theme="dark"] #page-dashboard .research-studio-shell {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32), 0 12px 28px rgba(0, 0, 0, 0.24) !important;
}

#page-briefing .macro-head,
#page-briefing .day-score-head,
#page-briefing .market-intel-head,
#page-dashboard .recommend-head,
#page-dashboard .section-head,
#page-dashboard .macro-head,
#page-dashboard .day-score-head,
#page-dashboard .market-intel-head {
  border-bottom: 0 !important;
  padding-bottom: 8px !important;
}

#page-briefing .macro-card,
#page-briefing .macro-asset-col,
#page-dashboard .macro-card,
#page-dashboard .macro-asset-col,
#page-briefing .day-score-sidecard,
#page-briefing .day-score-narrative,
#page-dashboard .day-score-sidecard,
#page-dashboard .day-score-narrative,
#page-dashboard .day-score-signal,
#page-briefing .day-score-signal,
#page-briefing .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-card,
#page-dashboard .mi-sector-bar,
#page-dashboard .recommend-row-head,
#page-briefing .recommend-row-head,
#page-dashboard .recommend-body-inner,
#page-briefing .recommend-body-inner,
#page-dashboard .recommend-signal-chip,
#page-dashboard .recommend-main-point,
#page-dashboard .recommend-wow-point,
#page-dashboard .recommend-why,
#page-briefing .recommend-signal-chip,
#page-briefing .recommend-main-point,
#page-briefing .recommend-wow-point,
#page-briefing .recommend-why,
#page-dashboard #research-studio .studio-feature-card,
#page-dashboard .research-studio-command,
#page-dashboard .research-pane .panel {
  border: 0 !important;
  background: var(--service-surface-strong) !important;
  box-shadow: none !important;
}

#page-briefing .mi-card-label,
#page-dashboard .mi-card-label,
#page-dashboard .recommend-ticker,
#page-briefing .recommend-ticker,
#page-dashboard .recommend-flow-chip,
#page-briefing .recommend-flow-chip {
  border: 0 !important;
  background: rgba(15, 23, 42, 0.06) !important;
  color: #475467 !important;
}

[data-theme="dark"] #page-briefing .mi-card-label,
[data-theme="dark"] #page-dashboard .mi-card-label,
[data-theme="dark"] #page-dashboard .recommend-ticker,
[data-theme="dark"] #page-briefing .recommend-ticker,
[data-theme="dark"] #page-dashboard .recommend-flow-chip,
[data-theme="dark"] #page-briefing .recommend-flow-chip {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .recommend-market-badge,
[data-theme="dark"] #page-briefing .recommend-market-badge {
  border-color: rgba(96, 165, 250, 0.28) !important;
  background: rgba(30, 41, 59, 0.72) !important;
  color: #93c5fd !important;
}

#page-dashboard .recommend-premium-cta,
#page-briefing .recommend-premium-cta,
#page-dashboard .recommend-tabs,
#page-briefing .recommend-tabs {
  background: transparent !important;
}

#page-dashboard .recommend-tab,
#page-briefing .recommend-tab {
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--service-kicker) !important;
}

#page-dashboard .recommend-tab.is-active,
#page-briefing .recommend-tab.is-active {
  background: rgba(15, 23, 42, 0.06) !important;
  color: var(--service-text) !important;
}

[data-theme="dark"] #page-dashboard .recommend-tab.is-active,
[data-theme="dark"] #page-briefing .recommend-tab.is-active {
  background: rgba(255, 255, 255, 0.08) !important;
}

#page-dashboard .recommend-toggle-btn,
#page-briefing .recommend-toggle-btn {
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  color: var(--service-kicker) !important;
}

#page-dashboard .analysis-cta-btn,
#page-dashboard .cp-submit-btn,
#page-briefing .analysis-cta-btn {
  background: #111827 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
}

[data-theme="dark"] #page-dashboard .analysis-cta-btn,
[data-theme="dark"] #page-dashboard .cp-submit-btn,
[data-theme="dark"] #page-briefing .analysis-cta-btn {
  background: #F5F5F5 !important;
  color: #0f172a !important;
}

#page-dashboard input[type="text"],
#page-dashboard input[type="number"],
#page-dashboard input[type="search"],
#page-dashboard select,
#page-dashboard textarea,
#page-briefing input[type="text"],
#page-briefing input[type="number"],
#page-briefing select {
  border: 0 !important;
  background: var(--service-surface-strong) !important;
}

@media (max-width: 900px) {
  #page-briefing .service-hero,
  #page-dashboard .service-hero {
    padding-top: 0 !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 19 — GLOBAL NEUTRAL RESET
   ██ home / pricing / briefing / dashboard / mypage all pages
   ══════════════════════════════════════════════════════════════════════ */

:root {
  --bg: #f5f7fb !important;
  --surface: #ffffff !important;
  --surface-strong: #f7f9fc !important;
  --surface-elevated: #ffffff !important;
  --line: rgba(15, 23, 42, 0.08) !important;
  --line-strong: rgba(15, 23, 42, 0.14) !important;
  --ink: #0f172a !important;
  --muted: #667085 !important;
  --accent: #0f172a !important;
  --accent-strong: #020617 !important;
  --accent-soft: #eef2f7 !important;
  --chrome: #0f172a !important;
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 12px 24px rgba(16, 24, 40, 0.04) !important;
}

[data-theme="dark"] {
  --bg: #0b0f14 !important;
  --surface: #12161c !important;
  --surface-strong: #171c23 !important;
  --surface-elevated: #12161c !important;
  --line: rgba(255, 255, 255, 0.08) !important;
  --line-strong: rgba(255, 255, 255, 0.12) !important;
  --ink: #F5F5F5 !important;
  --muted: #98a2b3 !important;
  --accent: #F5F5F5 !important;
  --accent-strong: #ffffff !important;
  --accent-soft: #1a212b !important;
  --chrome: #F5F5F5 !important;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 28px rgba(0, 0, 0, 0.24) !important;
}

html,
body,
.page-shell,
.app-pages,
.app-page {
  background: var(--bg) !important;
  color: var(--ink) !important;
}

#page-home,
#page-intro,
#page-pricing,
#page-account,
#page-mypage,
#page-briefing,
#page-dashboard {
  background: transparent !important;
}

.topbar {
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .topbar {
  background: rgba(11, 15, 20, 0.92) !important;
  border-bottom-color: var(--line) !important;
}

.nav-pill,
.topbar-end .btn-ghost-sm,
.topbar-end .icon-btn,
.header-user-chip,
.header-seed-chip {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.nav-pill:hover,
.nav-pill.is-active,
.topbar-end .btn-ghost-sm:hover,
.topbar-end .icon-btn:hover {
  background: var(--accent-soft) !important;
}

.shell-panel,
.shell-metric-card,
.account-summary-card,
.account-kpi,
.pricing-table th,
.pricing-table td,
.mypage-col,
.mypage-account-shell,
.mypage-watchlist,
.mypage-live-quote,
.mypage-danger-note,
.mypage-toggle,
.mypage-field input,
.mypage-field select,
.hero--home .hero-stat,
.hero--home .hero-trust span,
.hero--home .hero-slider-meta,
.hero--home .product-shot--home-hero,
.hero--home .product-shot-chrome,
.intro-capture-card,
.pricing-page-head,
.pricing-cards-section,
.pricing-card,
.pricing-table-wrap {
  background: var(--surface) !important;
  background-image: none !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}

.shell-panel,
.shell-metric-card,
.account-summary-card,
.account-kpi,
.mypage-col,
.mypage-account-shell,
.pricing-card,
.intro-capture-card {
  border-radius: 20px !important;
}

.shell-panel p,
.shell-body-copy,
.shell-section-head p,
.shell-bullet-list,
.mypage-subcopy,
.mypage-account-note,
.hero--home .hero-desc,
.hero--home .hero-stat span,
.hero--home .hero-slider-meta p,
.intro-capture-head p {
  color: var(--muted) !important;
}

.hero--home,
.hero--showcase,
#page-home .hero--showcase,
#page-home .hero--home {
  background: transparent !important;
}

.hero--home .hero-copy,
.hero--home .hero-stage,
.hero--home .hero-stat-row,
.hero--home .hero-slider-stage {
  background: transparent !important;
}

.hero--home .btn-primary,
.mypage-action-btn--primary {
  background: #111827 !important;
  color: #ffffff !important;
  border: 0 !important;
}

[data-theme="dark"] .hero--home .btn-primary,
[data-theme="dark"] .mypage-action-btn--primary {
  background: #F5F5F5 !important;
  color: #0f172a !important;
}

.mypage-action-btn,
.mypage-toolbar-btn,
.mypage-icon-btn {
  background: var(--surface) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}

.mypage-action-btn:hover,
.mypage-toolbar-btn:hover,
.mypage-icon-btn:hover {
  background: var(--surface-strong) !important;
}

#page-mypage,
.mypage-layout {
  background: transparent !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 20 — TRANSPARENT SURFACE RESET
   ██ remove white wrappers and explanatory chrome
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .service-hero-aside,
#page-dashboard .service-hero-aside,
#page-briefing .dashboard-journey,
#page-dashboard .dashboard-journey {
  display: none !important;
}

#page-briefing .service-hero,
#page-dashboard .service-hero {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
}

.shell-panel,
.shell-metric-card,
.account-summary-card,
.account-kpi,
.pricing-page-head,
.pricing-cards-section,
.pricing-card,
.pricing-card-item,
.pricing-table-wrap,
.pricing-table th,
.pricing-table td,
.intro-capture-card,
.intro-capture-shot,
.product-shot--home-hero,
.product-shot-chrome,
.hero--home .hero-stat,
.hero--home .hero-trust span,
.hero--home .hero-slider-meta,
.mypage-col,
.mypage-account-shell,
.mypage-watchlist,
.mypage-live-quote,
.mypage-danger-note,
.mypage-toggle,
.mypage-field input,
.mypage-field select,
.mypage-toolbar-btn,
.mypage-action-btn,
.mypage-icon-btn,
#page-briefing .panel,
#page-dashboard .panel,
#page-dashboard .research-studio-shell,
#page-briefing .macro-card,
#page-dashboard .macro-card,
#page-briefing .macro-asset-col,
#page-dashboard .macro-asset-col,
#page-briefing .mi-card,
#page-dashboard .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-sector-bar,
#page-dashboard .recommend-row-head,
#page-dashboard .recommend-body-inner,
#page-dashboard .recommend-signal-chip,
#page-dashboard .recommend-main-point,
#page-dashboard .recommend-wow-point,
#page-dashboard .recommend-why,
#page-dashboard .research-studio-command,
#page-dashboard .research-pane .panel,
#page-dashboard #research-studio .studio-feature-card {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.shell-panel,
.shell-metric-card,
.account-summary-card,
.account-kpi,
.pricing-page-head,
.pricing-cards-section,
.pricing-card,
.pricing-card-item,
.intro-capture-card,
.mypage-col,
.mypage-account-shell,
.mypage-watchlist,
#page-briefing .panel,
#page-dashboard .panel,
#page-dashboard .research-studio-shell {
  border: 0 !important;
  border-radius: 0 !important;
}

.product-shot-chrome,
.hero--home .hero-slider-meta,
.hero--home .hero-trust span,
.mypage-toggle,
.mypage-field input,
.mypage-field select,
.mypage-toolbar-btn,
.mypage-action-btn,
.mypage-icon-btn,
#page-dashboard .recommend-tab,
#page-briefing .recommend-tab,
#page-dashboard .recommend-ticker,
#page-dashboard .recommend-flow-chip,
#page-briefing .mi-card-label,
#page-dashboard .mi-card-label {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hero--home .hero-stat-row,
.pricing-cards,
.mypage-cols,
.mypage-account-row,
#page-dashboard .dashboard-main,
#page-briefing .dashboard-main {
  gap: 24px !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 21 — SIGNAL / STUDIO CLEANUP
   ██ thinner signal bars + cleaner studio cards + outline buttons
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .signal-pts-bar-track,
#page-briefing .signal-pts-bar-track {
  height: 2px !important;
  margin: 4px 0 2px !important;
  background: rgba(148, 163, 184, 0.18) !important;
  overflow: visible !important;
}

#page-dashboard .signal-pts-bar-track::before,
#page-briefing .signal-pts-bar-track::before {
  background: rgba(148, 163, 184, 0.28) !important;
}

#page-dashboard .signal-pts-bar-fill,
#page-briefing .signal-pts-bar-fill {
  min-width: 0 !important;
  border-radius: 999px !important;
  opacity: 0.9 !important;
}

#page-dashboard .signal-pts-bar-fill.is-pos,
#page-briefing .signal-pts-bar-fill.is-pos {
  background: #16a34a !important;
}

#page-dashboard .signal-pts-bar-fill.is-neg,
#page-briefing .signal-pts-bar-fill.is-neg {
  background: #dc2626 !important;
}

#page-dashboard .signal-pts-bar-fill.is-zero,
#page-briefing .signal-pts-bar-fill.is-zero {
  width: 1px !important;
  left: calc(50% - 0.5px) !important;
  background: #94a3b8 !important;
}

#page-dashboard #research-studio .studio-feature-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding-top: 2px !important;
}

#page-dashboard #research-studio .studio-feature-card {
  gap: 8px !important;
  padding: 14px 0 12px !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active),
#page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: #16a34a !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

#page-dashboard #research-studio .studio-feature-card-head {
  margin: 0 !important;
}


#page-dashboard #research-studio .studio-feature-card-credit {
  padding: 0 !important;
  min-height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #16a34a !important;
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

#page-dashboard #research-studio .studio-feature-card-name {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

#page-dashboard #research-studio .studio-feature-card-desc {
  max-width: 30ch !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  color: var(--muted) !important;
}

#page-dashboard #research-studio .analysis-cta-btn,
#page-dashboard #research-studio .cp-submit-btn,
#page-dashboard #research-studio .analysis-secondary-btn,
#page-briefing .analysis-cta-btn,
#page-dashboard .analysis-cta-btn,
#page-dashboard .cp-submit-btn {
  background: transparent !important;
  color: #16a34a !important;
  border: 1px solid rgba(22, 163, 74, 0.5) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .analysis-cta-btn:hover,
#page-dashboard #research-studio .cp-submit-btn:hover,
#page-dashboard #research-studio .analysis-secondary-btn:hover,
#page-briefing .analysis-cta-btn:hover,
#page-dashboard .analysis-cta-btn:hover,
#page-dashboard .cp-submit-btn:hover {
  background: rgba(22, 163, 74, 0.06) !important;
  color: #15803d !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .cp-credit-badge,
#page-dashboard .cp-credit-badge,
#page-briefing .cp-credit-badge {
  margin-left: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: currentColor !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
}

#page-dashboard .recommend-hash-chip,
#page-dashboard .recommend-flow-chip,
#page-dashboard .recommend-signal-chip {
  background: transparent !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  color: var(--muted) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card,
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active),
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active {
  border-top-color: #4ade80 !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-credit,
[data-theme="dark"] #page-dashboard #research-studio .analysis-cta-btn,
[data-theme="dark"] #page-dashboard #research-studio .cp-submit-btn,
[data-theme="dark"] #page-dashboard #research-studio .analysis-secondary-btn,
[data-theme="dark"] #page-briefing .analysis-cta-btn,
[data-theme="dark"] #page-dashboard .analysis-cta-btn,
[data-theme="dark"] #page-dashboard .cp-submit-btn {
  color: #4ade80 !important;
  border-color: rgba(74, 222, 128, 0.45) !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #research-studio .analysis-cta-btn:hover,
[data-theme="dark"] #page-dashboard #research-studio .cp-submit-btn:hover,
[data-theme="dark"] #page-dashboard #research-studio .analysis-secondary-btn:hover,
[data-theme="dark"] #page-briefing .analysis-cta-btn:hover,
[data-theme="dark"] #page-dashboard .analysis-cta-btn:hover,
[data-theme="dark"] #page-dashboard .cp-submit-btn:hover {
  background: rgba(74, 222, 128, 0.08) !important;
}

@media (max-width: 900px) {
  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard #research-studio .studio-feature-card-desc {
    max-width: none !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 22 — INTEL / DIVIDER FINISH
   ██ remove last white intel surfaces + add lines only where needed
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .mi-card,
#page-dashboard .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-sector-bar,
#page-briefing .mi-simple,
#page-dashboard .mi-simple,
#page-briefing .mi-sector-simple,
#page-dashboard .mi-sector-simple,
#page-briefing .mi-card-conclusion,
#page-dashboard .mi-card-conclusion,
#page-briefing .mi-summary-bottom,
#page-dashboard .mi-summary-bottom {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#page-briefing .mi-card,
#page-dashboard .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-sector-bar {
  padding: 18px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 0 !important;
}

#page-briefing .mi-three-cards > :first-child,
#page-dashboard .mi-three-cards > :first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

#page-briefing .mi-card-head,
#page-dashboard .mi-card-head,
#page-briefing .mi-sector-bar-head,
#page-dashboard .mi-sector-bar-head {
  gap: 8px !important;
}

#page-pricing .pricing-cards,
#page-dashboard .recommend-list {
  gap: 0 !important;
}

#page-pricing .pricing-card-item {
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 0 !important;
  padding: 22px 0 !important;
}

#page-pricing .pricing-card-item:first-child {
  border-top: 0 !important;
  padding-top: 6px !important;
}

#page-pricing .pricing-card-footer,
#page-pricing .pricing-card-feature-list {
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard .recommend-list > li,
#page-dashboard .recommend-list > .recommend-item {
  padding: 16px 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard .recommend-list > li:first-child,
#page-dashboard .recommend-list > .recommend-item:first-child {
  border-top: 0 !important;
  padding-top: 4px !important;
}

#page-dashboard .recommend-body-inner {
  border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 0 !important;
  padding: 14px 0 0 !important;
}

[data-theme="dark"] #page-briefing .mi-card,
[data-theme="dark"] #page-dashboard .mi-card,
[data-theme="dark"] #page-briefing .mi-sector-bar,
[data-theme="dark"] #page-dashboard .mi-sector-bar,
[data-theme="dark"] #page-pricing .pricing-card-item,
[data-theme="dark"] #page-pricing .pricing-card-feature-list,
[data-theme="dark"] #page-pricing .pricing-card-footer,
[data-theme="dark"] #page-dashboard .recommend-list > li,
[data-theme="dark"] #page-dashboard .recommend-list > .recommend-item,
[data-theme="dark"] #page-dashboard .recommend-body-inner {
  border-top-color: rgba(148, 163, 184, 0.16) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 23 — FINAL FLAT CLEANUP
   ██ intel cards transparent + pricing/signal line separation only
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .mi-card-label,
#page-dashboard .mi-card-label {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

#page-briefing .mi-card-conclusion,
#page-dashboard .mi-card-conclusion {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#page-briefing .mi-simple,
#page-dashboard .mi-simple,
#page-briefing .mi-sector-simple,
#page-dashboard .mi-sector-simple {
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-briefing .mi-card-footer,
#page-dashboard .mi-card-footer,
#page-briefing .mi-sector-tags,
#page-dashboard .mi-sector-tags,
#page-briefing .mi-tag,
#page-dashboard .mi-tag {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-briefing .mi-card-footer,
#page-dashboard .mi-card-footer {
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
}

#page-briefing .mi-tag,
#page-dashboard .mi-tag {
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

#page-briefing .mi-source-link,
#page-dashboard .mi-source-link {
  color: var(--muted) !important;
}

#page-dashboard .recommend-card-panel {
  padding: 0 0 12px !important;
}

#page-dashboard .recommend-card-panel h3 {
  margin: 0 0 10px !important;
}

#page-dashboard .recommend-list {
  margin: 10px 0 0 !important;
  gap: 0 !important;
}

#page-dashboard .recommend-row-head {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-toggle-btn {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-body-collapsible {
  margin-top: 12px !important;
}

#page-pricing .pricing-card-item {
  background: transparent !important;
  box-shadow: none !important;
}

#page-pricing .pricing-card-usage {
  margin-top: 14px !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-pricing .pricing-card-badge {
  top: 22px !important;
  right: 0 !important;
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #16a34a !important;
  letter-spacing: 0.04em !important;
}

#page-pricing .pricing-card-btn {
  background: transparent !important;
  border-color: rgba(22, 163, 74, 0.42) !important;
  box-shadow: none !important;
}

#page-pricing .pricing-card-btn:hover,
#page-pricing .pricing-card-btn.is-outline:hover {
  background: rgba(22, 163, 74, 0.05) !important;
  border-color: rgba(22, 163, 74, 0.58) !important;
  box-shadow: none !important;
  transform: none !important;
}

#page-pricing .pricing-card-btn:disabled,
#page-pricing .pricing-card-btn.is-disabled {
  background: transparent !important;
}

[data-theme="dark"] #page-briefing .mi-simple,
[data-theme="dark"] #page-dashboard .mi-simple,
[data-theme="dark"] #page-briefing .mi-sector-simple,
[data-theme="dark"] #page-dashboard .mi-sector-simple,
[data-theme="dark"] #page-briefing .mi-card-footer,
[data-theme="dark"] #page-dashboard .mi-card-footer,
[data-theme="dark"] #page-pricing .pricing-card-usage {
  border-top-color: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-badge {
  color: #4ade80 !important;
}

[data-theme="dark"] #page-pricing .pricing-card-btn {
  background: transparent !important;
  border-color: rgba(74, 222, 128, 0.38) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-btn:hover,
[data-theme="dark"] #page-pricing .pricing-card-btn.is-outline:hover {
  background: rgba(74, 222, 128, 0.08) !important;
  border-color: rgba(74, 222, 128, 0.52) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 24 — PRICING HEADER / DASHBOARD GREEN TINT REMOVAL
   ══════════════════════════════════════════════════════════════════════ */

#page-pricing .pricing-card-header {
  padding: 16px 18px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

#page-pricing .pricing-card-item.is-featured .pricing-card-header {
  border-color: rgba(22, 163, 74, 0.18) !important;
}

#page-dashboard .recommend-premium-cta,
#page-dashboard .recommend-tabs,
#page-dashboard .recommend-tab,
#page-dashboard .recommend-tab.is-active,
#page-dashboard .recommend-premium-btn,
#page-dashboard .recommend-unlock-btn,
#page-dashboard .recommend-flow-chip,
#page-dashboard .recommend-signal-chip,
#page-dashboard .recommend-badge,
#page-dashboard .recommend-badge--new,
#page-dashboard .recommend-badge--steady,
#page-dashboard .recommend-badge--return,
#page-dashboard .recommend-badge--weakening,
#page-dashboard .recommend-brief-strip span {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-tab.is-active,
#page-dashboard .recommend-premium-btn,
#page-dashboard .recommend-unlock-btn,
#page-dashboard .recommend-flow-chip,
#page-dashboard .recommend-signal-chip,
#page-dashboard .recommend-badge,
#page-dashboard .recommend-badge--new,
#page-dashboard .recommend-badge--steady,
#page-dashboard .recommend-badge--return,
#page-dashboard .recommend-badge--weakening,
#page-dashboard .recommend-brief-strip span {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

#page-dashboard .recommend-badge,
#page-dashboard .recommend-badge--new,
#page-dashboard .recommend-badge--steady,
#page-dashboard .recommend-badge--return,
#page-dashboard .recommend-badge--weakening,
#page-dashboard .recommend-brief-strip span {
  color: var(--muted) !important;
}

#page-dashboard .recommend-premium-btn:hover,
#page-dashboard .recommend-premium-btn:focus-visible,
#page-dashboard .recommend-unlock-btn:hover,
#page-dashboard .recommend-unlock-btn:focus-visible,
#page-dashboard .recommend-tab:hover,
#page-dashboard .recommend-tab.is-active:hover {
  background: rgba(148, 163, 184, 0.06) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-header {
  background: #12161c !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-item.is-featured .pricing-card-header {
  border-color: rgba(74, 222, 128, 0.2) !important;
}

[data-theme="dark"] #page-dashboard .recommend-tab.is-active,
[data-theme="dark"] #page-dashboard .recommend-premium-btn,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn,
[data-theme="dark"] #page-dashboard .recommend-flow-chip,
[data-theme="dark"] #page-dashboard .recommend-signal-chip,
[data-theme="dark"] #page-dashboard .recommend-badge,
[data-theme="dark"] #page-dashboard .recommend-badge--new,
[data-theme="dark"] #page-dashboard .recommend-badge--steady,
[data-theme="dark"] #page-dashboard .recommend-badge--return,
[data-theme="dark"] #page-dashboard .recommend-badge--weakening,
[data-theme="dark"] #page-dashboard .recommend-brief-strip span {
  background: transparent !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

[data-theme="dark"] #page-dashboard .recommend-signal-chip strong,
[data-theme="dark"] #page-briefing .recommend-signal-chip strong {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .recommend-signal-label,
[data-theme="dark"] #page-briefing .recommend-signal-label {
  color: #98a2b3 !important;
}

[data-theme="dark"] #page-dashboard .recommend-premium-btn:hover,
[data-theme="dark"] #page-dashboard .recommend-premium-btn:focus-visible,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn:hover,
[data-theme="dark"] #page-dashboard .recommend-unlock-btn:focus-visible,
[data-theme="dark"] #page-dashboard .recommend-tab:hover,
[data-theme="dark"] #page-dashboard .recommend-tab.is-active:hover {
  background: rgba(148, 163, 184, 0.08) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 25 — RECOMMEND CTA INLINE WITH TABS
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .recommend-tabs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#page-dashboard .recommend-premium-cta {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#page-dashboard .recommend-premium-row {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
}

#page-dashboard .recommend-premium-btn,
#page-dashboard .recommend-unlock-btn {
  min-height: 36px !important;
  padding: 0 14px !important;
}

@media (max-width: 900px) {
  #page-dashboard .recommend-premium-cta {
    margin-left: 0 !important;
    width: 100% !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 26 — PRICING PLAN CARD FULL WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-pricing .pricing-cards {
  gap: 16px !important;
}

#page-pricing .pricing-card-item {
  padding: 28px 24px 24px !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 252, 0.98)) !important;
  box-shadow: 0 14px 34px rgba(11, 17, 16, 0.04) !important;
}

#page-pricing .pricing-card-item:first-child {
  padding-top: 28px !important;
}

#page-pricing .pricing-card-header {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#page-pricing .pricing-card-footer,
#page-pricing .pricing-card-feature-list,
#page-pricing .pricing-card-usage {
  border-top-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-item {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(180deg, rgba(18, 22, 28, 0.96), rgba(15, 19, 25, 0.96)) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-header {
  background: transparent !important;
  border: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 27 — SELECTIVE WHITE SURFACES FOR BRIEFING / DASHBOARD
   ██ only dense information / action blocks
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .macro-card,
#page-dashboard .macro-card,
#page-briefing .macro-asset-col,
#page-dashboard .macro-asset-col,
#page-briefing .day-score-sidecard,
#page-dashboard .day-score-sidecard,
#page-briefing .day-score-narrative,
#page-dashboard .day-score-narrative,
#page-briefing .day-score-signal,
#page-dashboard .day-score-signal,
#page-briefing .day-score-signal--compact,
#page-dashboard .day-score-signal--compact,
#page-dashboard .recommend-row-head,
#page-dashboard .recommend-body-inner,
#page-dashboard .research-studio-command,
#page-dashboard .research-pane .panel {
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

#page-dashboard .recommend-row-head,
#page-dashboard .recommend-body-inner {
  padding: 16px 18px !important;
}

#page-dashboard .recommend-body-inner {
  border-top: 0 !important;
}

#page-dashboard .research-studio-command,
#page-dashboard .research-pane .panel {
  padding: 20px !important;
}

#page-dashboard .research-studio-command {
  border-radius: 22px !important;
}

[data-theme="dark"] #page-briefing .macro-card,
[data-theme="dark"] #page-dashboard .macro-card,
[data-theme="dark"] #page-briefing .macro-asset-col,
[data-theme="dark"] #page-dashboard .macro-asset-col,
[data-theme="dark"] #page-briefing .day-score-sidecard,
[data-theme="dark"] #page-dashboard .day-score-sidecard,
[data-theme="dark"] #page-briefing .day-score-narrative,
[data-theme="dark"] #page-dashboard .day-score-narrative,
[data-theme="dark"] #page-briefing .day-score-signal,
[data-theme="dark"] #page-dashboard .day-score-signal,
[data-theme="dark"] #page-briefing .day-score-signal--compact,
[data-theme="dark"] #page-dashboard .day-score-signal--compact,
[data-theme="dark"] #page-dashboard .recommend-row-head,
[data-theme="dark"] #page-dashboard .recommend-body-inner,
[data-theme="dark"] #page-dashboard .research-studio-command,
[data-theme="dark"] #page-dashboard .research-pane .panel {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.9) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 28 — BRIEFING CARD WRAP / STUDIO GREEN REMOVAL
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-card,
#page-dashboard .mi-sector-bar {
  padding: 18px 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

#page-briefing .mi-three-cards > :first-child,
#page-dashboard .mi-three-cards > :first-child {
  padding-top: 18px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.16) !important;
}

#page-dashboard #research-studio .research-studio-command-kicker,
#page-dashboard #research-studio .studio-feature-card-credit {
  color: var(--muted) !important;
}

#page-dashboard #research-studio .research-studio-search-wrap input,
#page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn,
#page-dashboard #research-studio .studio-feature-card.is-active,
#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .research-studio-search-wrap input {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

#page-dashboard #research-studio .research-studio-search-wrap input:focus {
  border-color: rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.12) !important;
}

#page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn {
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: var(--muted) !important;
}

#page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn:hover {
  background: rgba(148, 163, 184, 0.06) !important;
  border-color: rgba(148, 163, 184, 0.32) !important;
}

#page-dashboard #research-studio .studio-feature-card.is-active,
#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-top-color: rgba(148, 163, 184, 0.24) !important;
}

[data-theme="dark"] #page-briefing .mi-card,
[data-theme="dark"] #page-briefing .mi-sector-bar,
[data-theme="dark"] #page-dashboard .mi-card,
[data-theme="dark"] #page-dashboard .mi-sector-bar {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.9) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

[data-theme="dark"] #page-briefing .mi-three-cards > :first-child,
[data-theme="dark"] #page-dashboard .mi-three-cards > :first-child {
  border-top-color: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-search-wrap input {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-search-wrap input:focus {
  border-color: rgba(148, 163, 184, 0.34) !important;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-studio-quick-picks .quick-pick-btn,
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active,
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  background: transparent !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
  color: #F5F5F5 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 29 — SIGNAL PANEL OUTER WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard .recommend-grid--tabbed {
  margin-top: 12px !important;
}

#page-dashboard .recommend-card-panel {
  padding: 18px 20px 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 22px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .recommend-card-panel h3 {
  margin: 0 0 8px !important;
}

#page-dashboard .recommend-list {
  margin-top: 14px !important;
}

/* Blur recommend-brief-row starting from 3rd (강해지는 조건, 약해지는 조건, 시장 축, 다음 확인 포인트) */
#page-dashboard .recommend-body-inner > .recommend-preview-block > .recommend-brief-stack > .recommend-brief-row:nth-child(n+3) {
  filter: blur(4px) !important;
  pointer-events: none !important;
}

[data-theme="dark"] #page-dashboard .recommend-card-panel {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 30 — STUDIO PANEL OUTER WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard #research-studio .research-pane {
  margin-top: 14px !important;
  padding: 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

#page-dashboard #research-studio .research-pane .panel {
  background: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-pane {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.9) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 31 — REMAINING SELECTIVE SECTION WRAPS
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .macro-panel,
#page-briefing .day-score-panel,
#page-briefing .market-intel-panel,
#page-dashboard .recommend-panel,
#page-dashboard .research-studio-shell {
  padding: 18px 20px 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

#page-briefing .macro-panel .panel-body,
#page-briefing .day-score-panel .panel-body,
#page-briefing .market-intel-panel .panel-body,
#page-dashboard .recommend-panel .panel-body {
  padding-top: 14px !important;
}

#page-dashboard .research-studio-shell {
  padding: 18px 20px 20px !important;
}

[data-theme="dark"] #page-briefing .macro-panel,
[data-theme="dark"] #page-briefing .day-score-panel,
[data-theme="dark"] #page-briefing .market-intel-panel,
[data-theme="dark"] #page-dashboard .recommend-panel,
[data-theme="dark"] #page-dashboard .research-studio-shell {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.88) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 32 — BRIEFING PREVIEW LOGIN BUTTON TONE
   ══════════════════════════════════════════════════════════════════════ */

#briefing-preview-login-btn.dashboard-guest-lock-btn {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  color: #166534 !important;
  box-shadow: none !important;
}

#briefing-preview-login-btn.dashboard-guest-lock-btn:hover {
  background: transparent !important;
  background-image: none !important;
  color: #15803d !important;
}

[data-theme="dark"] #briefing-preview-login-btn.dashboard-guest-lock-btn {
  background: transparent !important;
  background-image: none !important;
  color: #86efac !important;
}

[data-theme="dark"] #briefing-preview-login-btn.dashboard-guest-lock-btn:hover {
  background: transparent !important;
  background-image: none !important;
  color: #bbf7d0 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 33 — RESEARCH STUDIO OUTER SECTION WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard #research-studio {
  padding: 20px 22px 24px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04) !important;
}

#page-dashboard #research-studio .dashboard-stage-head {
  padding-top: 0 !important;
}

[data-theme="dark"] #page-dashboard #research-studio {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 38 — AUTH MODAL WRAP
   ══════════════════════════════════════════════════════════════════════ */

.auth-modal {
  background: rgba(15, 23, 42, 0.42) !important;
  backdrop-filter: blur(6px) !important;
}

.auth-dialog,
.login-modal-dialog,
.signup-dialog--modern {
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 24px 72px rgba(15, 23, 42, 0.12) !important;
}

.login-modal-head,
.signup-dialog--modern .auth-head {
  background: rgba(255, 255, 255, 0.98) !important;
}

.auth-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.auth-brand-symbol,
.auth-brand-wordmark {
  display: inline-flex;
  align-items: center;
  width: auto;
  flex: 0 0 auto;
}

.auth-brand-symbol {
  height: 18px;
}

.auth-brand-wordmark {
  height: 18px;
}

.auth-brand-symbol .brand-symbol-asset,
.auth-brand-wordmark .brand-wordmark-asset {
  width: auto;
  height: 100%;
}

[data-theme="dark"] .auth-modal {
  background: rgba(2, 6, 23, 0.62) !important;
}

[data-theme="dark"] .auth-dialog,
[data-theme="dark"] .login-modal-dialog,
[data-theme="dark"] .signup-dialog--modern {
  border-color: rgba(148, 163, 184, 0.18) !important;
  background: rgba(18, 22, 28, 0.98) !important;
  box-shadow: 0 26px 74px rgba(0, 0, 0, 0.34) !important;
}

[data-theme="dark"] .login-modal-head,
[data-theme="dark"] .signup-dialog--modern .auth-head {
  background: rgba(18, 22, 28, 0.98) !important;
}

/* Keep auth inputs stable even when browser autofill/native color-scheme kicks in. */
.auth-dialog,
.login-modal-dialog,
.signup-dialog--modern {
  color-scheme: light !important;
}

.login-modal-dialog .field-row {
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.login-modal-dialog .field-row:focus-within {
  border-color: rgba(95, 166, 118, 0.46);
  box-shadow: 0 0 0 3px rgba(95, 166, 118, 0.09);
}

.login-modal-dialog .field-row label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--ink);
}

.login-modal-dialog .field-row input:not([type="radio"]),
.login-modal-dialog .field-row textarea,
.login-modal-dialog .field-row select {
  min-height: 36px;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  caret-color: var(--ink) !important;
  appearance: none;
  -webkit-appearance: none;
  color-scheme: light !important;
}

.login-modal-dialog .field-row input:not([type="radio"]):focus,
.login-modal-dialog .field-row textarea:focus,
.login-modal-dialog .field-row select:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.auth-dialog input:-webkit-autofill,
.auth-dialog input:-webkit-autofill:hover,
.auth-dialog input:-webkit-autofill:focus,
.auth-dialog input:-webkit-autofill:active,
.login-modal-dialog input:-webkit-autofill,
.login-modal-dialog input:-webkit-autofill:hover,
.login-modal-dialog input:-webkit-autofill:focus,
.login-modal-dialog input:-webkit-autofill:active,
.auth-dialog input:autofill,
.auth-dialog input:autofill:hover,
.auth-dialog input:autofill:focus,
.login-modal-dialog input:autofill,
.login-modal-dialog input:autofill:hover,
.login-modal-dialog input:autofill:focus {
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink) !important;
  -webkit-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.02) !important;
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.02) !important;
  background: transparent !important;
  transition: background-color 9999s ease-out 0s;
}

[data-theme="dark"] .auth-dialog,
[data-theme="dark"] .login-modal-dialog,
[data-theme="dark"] .signup-dialog--modern {
  color-scheme: dark !important;
}

[data-theme="dark"] .login-modal-dialog .field-row {
  border-color: rgba(100, 116, 139, 0.42);
  background: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .login-modal-dialog .field-row:focus-within {
  border-color: rgba(95, 166, 118, 0.46);
  box-shadow: 0 0 0 3px rgba(95, 166, 118, 0.09);
}

[data-theme="dark"] .login-modal-dialog .field-row label {
  color: #f5f5f5;
}

[data-theme="dark"] .login-modal-dialog .field-row input:not([type="radio"]),
[data-theme="dark"] .login-modal-dialog .field-row textarea,
[data-theme="dark"] .login-modal-dialog .field-row select {
  color: #f5f5f5 !important;
  caret-color: #f5f5f5 !important;
  color-scheme: dark !important;
}

[data-theme="dark"] .auth-dialog input:-webkit-autofill,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:hover,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:focus,
[data-theme="dark"] .auth-dialog input:-webkit-autofill:active,
[data-theme="dark"] .login-modal-dialog input:-webkit-autofill,
[data-theme="dark"] .login-modal-dialog input:-webkit-autofill:hover,
[data-theme="dark"] .login-modal-dialog input:-webkit-autofill:focus,
[data-theme="dark"] .login-modal-dialog input:-webkit-autofill:active,
[data-theme="dark"] .auth-dialog input:autofill,
[data-theme="dark"] .auth-dialog input:autofill:hover,
[data-theme="dark"] .auth-dialog input:autofill:focus,
[data-theme="dark"] .login-modal-dialog input:autofill,
[data-theme="dark"] .login-modal-dialog input:autofill:hover,
[data-theme="dark"] .login-modal-dialog input:autofill:focus {
  -webkit-text-fill-color: #f5f5f5 !important;
  caret-color: #f5f5f5 !important;
  -webkit-box-shadow: inset 0 0 0 1000px rgba(18, 22, 28, 0.98) !important;
  box-shadow: inset 0 0 0 1000px rgba(18, 22, 28, 0.98) !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 39 — INTRO / MYPAGE SECTION WRAPS
   ══════════════════════════════════════════════════════════════════════ */

#page-intro .intro-service,
#page-intro .intro-capture-grid,
#page-mypage .mypage-layout,
#page-mypage .mypage-cols,
#page-mypage .mypage-account-shell {
  padding: 20px 22px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

#page-intro .intro-capture-grid,
#page-mypage .mypage-cols {
  gap: 18px !important;
}

[data-theme="dark"] #page-intro .intro-service,
[data-theme="dark"] #page-intro .intro-capture-grid,
[data-theme="dark"] #page-mypage .mypage-layout,
[data-theme="dark"] #page-mypage .mypage-cols,
[data-theme="dark"] #page-mypage .mypage-account-shell {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.9) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 40 — HOME SECTION WRAPS
   ══════════════════════════════════════════════════════════════════════ */

#page-home .hero-grid,
#page-home .hero-stat-row,
#page-home .hero-stage {
  padding: 20px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 28px !important;
  background: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-home .hero-grid,
[data-theme="dark"] #page-home .hero-stat-row,
[data-theme="dark"] #page-home .hero-stage {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 41 — HOME RESET / MYPAGE INDIVIDUAL WRAPS
   ══════════════════════════════════════════════════════════════════════ */

#page-home .hero-grid,
#page-home .hero-stat-row,
#page-home .hero-stage {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-mypage .mypage-col,
#page-mypage .mypage-watchlist,
#page-mypage .mypage-live-quote,
#page-mypage .mypage-danger-note,
#page-mypage .mypage-account-shell {
  padding: 18px 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

[data-theme="dark"] #page-mypage .mypage-col,
[data-theme="dark"] #page-mypage .mypage-watchlist,
[data-theme="dark"] #page-mypage .mypage-live-quote,
[data-theme="dark"] #page-mypage .mypage-danger-note,
[data-theme="dark"] #page-mypage .mypage-account-shell {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 37 — STUDIO FEATURE DISTINCTION
   ══════════════════════════════════════════════════════════════════════ */

#page-dashboard #research-studio .studio-feature-cards {
  gap: 12px !important;
}

#page-dashboard #research-studio .studio-feature-card {
  position: relative !important;
  gap: 10px !important;
  min-height: 154px !important;
  padding: 18px 18px 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .studio-feature-card::before {
  display: block !important;
  margin-bottom: 2px !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: var(--muted) !important;
}

#page-dashboard #research-studio .studio-feature-card:nth-child(1)::before { content: "01"; }
#page-dashboard #research-studio .studio-feature-card:nth-child(2)::before { content: "02"; }
#page-dashboard #research-studio .studio-feature-card:nth-child(3)::before { content: "03"; }

#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  transform: none !important;
}

#page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: rgba(22, 163, 74, 0.36) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.08) !important;
}

#page-dashboard #research-studio .studio-feature-card-name {
  font-size: 1rem !important;
  line-height: 1.22 !important;
}

#page-dashboard #research-studio .studio-feature-card-desc {
  font-size: 0.83rem !important;
  line-height: 1.58 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card {
  border-color: rgba(148, 163, 184, 0.18) !important;
  background: rgba(18, 22, 28, 0.74) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: rgba(18, 22, 28, 0.9) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: rgba(74, 222, 128, 0.34) !important;
  background: rgba(18, 22, 28, 0.98) !important;
  box-shadow: inset 0 0 0 1px rgba(74, 222, 128, 0.08) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 34 — CONSISTENT INNER GROUP WRAPS ACROSS PAGES
   ══════════════════════════════════════════════════════════════════════ */

#page-pricing .pricing-cards,
#page-pricing .pricing-topup-cards,
#page-pricing .pricing-usage-grid,
#page-briefing .market-intel-grid,
#page-dashboard .recommend-grid--tabbed,
#page-dashboard #research-studio .research-studio-body {
  padding: 18px 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

#page-pricing .pricing-cards,
#page-pricing .pricing-topup-cards,
#page-pricing .pricing-usage-grid {
  gap: 16px !important;
}

#page-briefing .market-intel-grid,
#page-dashboard .recommend-grid--tabbed,
#page-dashboard #research-studio .research-studio-body {
  margin-top: 12px !important;
}

[data-theme="dark"] #page-pricing .pricing-cards,
[data-theme="dark"] #page-pricing .pricing-topup-cards,
[data-theme="dark"] #page-pricing .pricing-usage-grid,
[data-theme="dark"] #page-briefing .market-intel-grid,
[data-theme="dark"] #page-dashboard .recommend-grid--tabbed,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-body {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.88) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 35 — PRICING SUBSCRIPTION SECTION FULL WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-pricing .pricing-cards-section {
  padding: 24px 26px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04) !important;
}

[data-theme="dark"] #page-pricing .pricing-cards-section {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 36 — MARKET INTEL SECTION FULL WRAP
   ══════════════════════════════════════════════════════════════════════ */

#page-briefing .briefing-intel-wrapper {
  padding: 14px 16px 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04) !important;
}

[data-theme="dark"] #page-briefing .briefing-intel-wrapper {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 42 — INTRO CARD ONLY / MYPAGE REAL BLOCK WRAPS
   ══════════════════════════════════════════════════════════════════════ */

#page-intro .intro-service,
#page-intro .intro-capture-grid {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-intro .intro-capture-card {
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

#page-mypage .mypg-summary-card,
#page-mypage .mypg-section-panel,
#page-mypage .mypg-account-panel {
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

#page-mypage .mypg-section-panel {
  padding: 18px 20px !important;
}

[data-theme="dark"] #page-intro .intro-capture-card {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

[data-theme="dark"] #page-mypage .mypg-summary-card,
[data-theme="dark"] #page-mypage .mypg-section-panel,
[data-theme="dark"] #page-mypage .mypg-account-panel {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(18, 22, 28, 0.92) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   ██ STEP 43 — MYPAGE LINE-BASED REFINEMENT
   ══════════════════════════════════════════════════════════════════════ */

#page-mypage .mypg-summary-grid,
#page-mypage .mypg-content-grid {
  gap: 14px !important;
}

#page-mypage .mypg-summary-card,
#page-mypage .mypg-section-panel,
#page-mypage .mypg-account-panel {
  padding: 16px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-mypage .mypg-summary-grid > :first-child,
#page-mypage .mypg-content-grid > :first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

#page-mypage .mypg-panel-head {
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
}

#page-mypage .mypg-section-panel .panel-body {
  padding-top: 14px !important;
}

[data-theme="dark"] #page-mypage .mypg-summary-card,
[data-theme="dark"] #page-mypage .mypg-section-panel,
[data-theme="dark"] #page-mypage .mypg-account-panel,
[data-theme="dark"] #page-mypage .mypg-panel-head {
  border-top-color: rgba(148, 163, 184, 0.16) !important;
  border-bottom-color: rgba(148, 163, 184, 0.12) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ── 체크포인트·마인드맵 미니 비교 차트 ──────────────────────────────────── */
.mini-chart-wrap {
  height: 220px;
  margin: 16px 0 8px;
  position: relative;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  padding: 12px 8px 8px;
  background: rgba(248, 250, 252, 0.5);
}

[data-theme="dark"] .mini-chart-wrap {
  border-color: rgba(148, 163, 184, 0.14);
  background: rgba(17, 24, 39, 0.4);
}

/* ── 카드 hover 연한 회색 효과 (시그널브리핑 종목 + 스튜디오 카드) ── */
#page-dashboard .recommend-row-head[data-recommend-toggle-region]:hover {
  background: rgba(241, 245, 249, 0.98) !important;
  transition: background-color 0.15s ease;
}
[data-theme="dark"] #page-dashboard .recommend-row-head[data-recommend-toggle-region]:hover {
  background: rgba(24, 32, 46, 0.96) !important;
  transition: background-color 0.15s ease;
}
#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  background: rgba(241, 245, 249, 0.98) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  background: rgba(24, 32, 46, 0.96) !important;
}

/* ── 차트 비교지수 배지 ── */
.chart-benchmark-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(14, 165, 233, 0.22);
  color: #0369a1;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-left: 8px;
}
.chart-benchmark-badge.hidden { display: none; }
[data-theme="dark"] .chart-benchmark-badge {
  background: rgba(56, 189, 248, 0.1);
  border-color: rgba(56, 189, 248, 0.2);
  color: #7dd3fc;
}


/* ── 시장 상태 점수: 접힌 헤더 preview ── */
.day-score-head-preview {
  display: none;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  min-width: 0;
  overflow: hidden;
}
.day-score-head-preview.is-visible {
  display: flex;
}
.dshp-score {
  font-size: 1.35rem;
  font-weight: 800;
  color: #193c2f;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.dshp-cap {
  font-size: 0.72rem;
  font-weight: 600;
  color: #7d9187;
  margin-left: 2px;
}
.dshp-label {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.dshp-label--good    { background: rgba(6,118,71,0.10); color: #067647; }
.dshp-label--neutral { background: rgba(160,122,58,0.10); color: #7a5c20; }
.dshp-label--danger  { background: rgba(180,35,24,0.10); color: #b42318; }
.dshp-sep {
  color: rgba(100,116,139,0.5);
  font-size: 0.85rem;
  flex-shrink: 0;
}
.dshp-summary {
  font-size: 0.78rem;
  color: #5a7469;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
[data-theme="dark"] .dshp-score { color: #c8d9d2; }
[data-theme="dark"] .dshp-cap   { color: #617a72; }
[data-theme="dark"] .dshp-label--good    { background: rgba(6,118,71,0.18); color: #4ade80; }
[data-theme="dark"] .dshp-label--neutral { background: rgba(0,237,104,0.18); color: #00ed68; }
[data-theme="dark"] .dshp-label--danger  { background: rgba(180,35,24,0.18); color: #f87171; }
[data-theme="dark"] .dshp-summary { color: #7d9990; }

/* ── 시장흐름 모니터: 너비 overflow 방지 ── */
#macro-body {
  overflow-x: hidden;
}

/* ── 시장흐름 모니터: 자산군 체감 해시태그 슬롯 ── */
.macro-asset-tags-slot {
  min-width: 0;
}
.macro-asset-tag-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(246, 250, 247, 0.7);
  border: 1px solid rgba(95,116,103,0.12);
  margin-bottom: 2px;
}
.mat-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #7d9187;
  margin-right: 4px;
  white-space: nowrap;
}
.mat-group {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
.mat-arrow {
  font-size: 0.7rem;
  font-weight: 800;
}
.mat-arrow--fav { color: #067647; }
.mat-arrow--cau { color: #b42318; }
.mat-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.mat-chip--fav {
  background: rgba(6,118,71,0.08);
  border: 1px solid rgba(6,118,71,0.18);
  color: #0d6b3a;
}
.mat-chip--cau {
  background: rgba(180,35,24,0.07);
  border: 1px solid rgba(180,35,24,0.16);
  color: #991b1b;
}
.mat-sep {
  display: inline-block;
  width: 1px;
  height: 16px;
  background: rgba(95,116,103,0.22);
  margin: 0 4px;
  flex-shrink: 0;
}
[data-theme="dark"] .macro-asset-tag-strip {
  background: rgba(15, 22, 18, 0.5);
  border-color: rgba(95,116,103,0.18);
}
[data-theme="dark"] .mat-kicker { color: #617a72; }
[data-theme="dark"] .mat-chip--fav {
  background: rgba(6,118,71,0.14);
  border-color: rgba(6,118,71,0.25);
  color: #4ade80;
}
[data-theme="dark"] .mat-chip--cau {
  background: rgba(180,35,24,0.14);
  border-color: rgba(180,35,24,0.25);
  color: #f87171;
}


/* ── 자산군 체감 해시태그: 배경 없이 텍스트 색상만 ── */
.macro-asset-tag-strip {
  background: none !important;
  border: none !important;
  padding: 4px 0 8px !important;
  gap: 4px !important;
}
.mat-chip--fav {
  background: none !important;
  border: none !important;
  padding: 0 3px !important;
  font-weight: 800 !important;
}
.mat-chip--cau {
  background: none !important;
  border: none !important;
  padding: 0 3px !important;
  font-weight: 800 !important;
}
[data-theme="dark"] .mat-chip--fav { color: #4ade80 !important; }
[data-theme="dark"] .mat-chip--cau { color: #f87171 !important; }

/* ── 오늘의 시장 해석: 전체 표시, 말줄임 없음 ── */
.macro-narrative-summary {
  -webkit-line-clamp: unset !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
}

/* ── 오늘의 시장 해석 레이아웃: 한 줄에 kicker + 텍스트 나란히 ── */
.macro-narrative-strip {
  padding: 10px 14px !important;
}
.macro-narrative-main {
  align-items: center !important;
}
.macro-narrative-meta {
  padding-left: 0 !important;
}

/* ── Market Intelligence Carousel ── */
.mi-car {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}
.mi-car-viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
}
.mi-car-track {
  display: flex;
  transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.mi-car-card {
  flex: 0 0 100%;
  min-width: 0;
}
.mi-car-card .mi-card,
.mi-car-card .mi-sector-bar {
  padding: 18px 22px;
  border-radius: 12px;
}
.mi-car-card .mi-card-head {
  margin-bottom: 14px;
}
.mi-car-card .mi-card-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.55;
  display: block;
  margin-bottom: 6px;
}
.mi-car-card .mi-card-title {
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}
.mi-car-card .mi-card-conclusion {
  font-size: 0.97rem;
  line-height: 1.65;
  margin-bottom: 14px;
  opacity: 0.8;
}
.mi-car-card .mi-simple {
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0 0 16px;
  padding: 10px 16px;
  border-left: 3px solid currentColor;
  opacity: 0.75;
}

/* Article list with thumbnails */
.mi-vlist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mi-vitem {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border-radius: 8px;
  padding: 6px 8px;
  margin: -6px -8px;
  transition: background 0.15s;
  cursor: pointer;
}
.mi-vitem:hover {
  background: rgba(11,17,16,0.04);
}
[data-theme="dark"] .mi-vitem:hover {
  background: rgba(255,255,255,0.05);
}
.mi-vthumb {
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: rgba(0,0,0,0.06);
}
.mi-vitem-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mi-vitem-body .mi-change-main {
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.55;
  display: block;
}
.mi-vitem-body .mi-change-main--headline {
  font-size: 0.97rem;
  font-weight: 600;
}
.mi-vitem-body .mi-change-sub {
  font-size: 0.82rem;
  opacity: 0.6;
  display: block;
  margin-top: 2px;
}

/* Arrow buttons */
.mi-car-arrow {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(11,17,16,0.1);
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(11,17,16,0.55);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  padding: 0;
  margin-top: 12px;
}
.mi-car-arrow:hover:not(:disabled) {
  background: rgba(11,17,16,0.05);
  border-color: rgba(11,17,16,0.18);
  color: rgba(11,17,16,0.8);
}
.mi-car-arrow:disabled {
  opacity: 0.28;
  cursor: default;
}

/* Dot indicators */
.mi-car-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.mi-car-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(11,17,16,0.18);
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, transform 0.2s;
}
.mi-car-dot--on {
  background: rgba(11,17,16,0.65);
  transform: scale(1.3);
}

/* Dark mode */
[data-theme="dark"] .mi-car-arrow {
  background: transparent;
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.55);
  box-shadow: none;
}
[data-theme="dark"] .mi-car-arrow:hover:not(:disabled) {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.85);
}
[data-theme="dark"] .mi-vthumb {
  background: rgba(255,255,255,0.06);
}
[data-theme="dark"] .mi-car-dot {
  background: rgba(255,255,255,0.2);
}
[data-theme="dark"] .mi-car-dot--on {
  background: rgba(255,255,255,0.7);
}

/* ── My Page Layout Refactor ── */
.mypg-head-left {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.mypg-account-actions-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mypg-summary-card[data-mypg-tab-trigger] {
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.mypg-summary-card[data-mypg-tab-trigger]:hover {
  background: rgba(241, 245, 249, 0.8) !important;
  transform: translateY(-2px);
}
[data-theme="dark"] .mypg-summary-card[data-mypg-tab-trigger]:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

.mypg-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}
.mypg-tab-nav {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}
.mypg-tab-btn {
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
}
.mypg-tab-btn:hover {
  background: rgba(148, 163, 184, 0.08);
  color: #1e293b;
}
.mypg-tab-btn.is-active {
  background: #1e293b;
  color: #ffffff;
}
[data-theme="dark"] .mypg-tab-btn.is-active {
  background: #F5F5F5;
  color: #0f172a;
}
[data-theme="dark"] .mypg-tab-btn:hover {
  color: #F5F5F5;
}

.mypg-tab-pane {
  display: none;
}
.mypg-tab-pane.is-active {
  display: block;
}

.mypg-support-panel {
  position: sticky;
  top: 80px;
}

/* Inquiry button ghost style override */
#inquiry-submit-btn.analysis-cta-btn {
  background: transparent !important;
  color: #16a34a !important;
  border: 1px solid rgba(22, 163, 74, 0.4) !important;
  box-shadow: none !important;
}
#inquiry-submit-btn.analysis-cta-btn:hover {
  background: rgba(22, 163, 74, 0.05) !important;
  border-color: rgba(22, 163, 74, 0.6) !important;
}
[data-theme="dark"] #inquiry-submit-btn.analysis-cta-btn {
  color: #4ade80 !important;
  border-color: rgba(74, 222, 128, 0.3) !important;
}

@media (max-width: 1024px) {
  .mypg-main-layout {
    grid-template-columns: 1fr;
  }
  .mypg-support-panel {
    position: static;
  }
  .mypg-account-actions-top {
    display: none;
  }
}

/* ── Tooltip Polish + Layer Fix ─────────────────────────────────────────── */
.title-info-btn,
.pricing-topup-info-icon {
  font-style: normal !important;
  font-family: inherit !important;
}

.title-info-btn,
.pricing-topup-info-btn,
.signal-info-btn[data-tooltip],
.signal-name-row[data-tooltip],
.rec-badge-main[data-tooltip],
.research-studio-tab,
#page-dashboard #research-studio .research-studio-tab {
  position: relative;
}

#page-dashboard .dashboard-stage,
#page-briefing .dashboard-stage,
#page-dashboard .dashboard-stage-head,
#page-briefing .dashboard-stage-head,
#page-dashboard .briefing-intel-title-row,
#page-briefing .briefing-intel-title-row,
#page-dashboard .briefing-header-one-line,
#page-briefing .briefing-header-one-line,
#page-mypage .mypg-modern-head,
#page-mypage .mypg-head-left,
#page-pricing .pricing-topup-header,
#page-dashboard #section-recommend,
#page-dashboard #section-recommend .recommend-head,
#page-dashboard #section-recommend .dashboard-head-copy,
#page-dashboard #research-studio .research-studio-tabs {
  position: relative;
  overflow: visible !important;
}

#page-dashboard .dashboard-stage,
#page-briefing .dashboard-stage,
#page-mypage .mypg-modern-head,
#page-pricing .pricing-topup-header,
#page-dashboard #section-recommend {
  z-index: 1;
}

.title-info-btn:hover,
.title-info-btn:focus-visible,
.pricing-topup-info-btn:hover,
.pricing-topup-info-btn:focus-visible,
.pricing-topup-info-btn.is-open,
.signal-info-btn[data-tooltip]:hover,
.signal-info-btn[data-tooltip]:focus-visible,
.signal-name-row[data-tooltip]:hover,
.signal-name-row[data-tooltip]:focus-within,
.rec-badge-main[data-tooltip]:hover,
.rec-badge-main[data-tooltip]:focus-visible,
.research-studio-tab:hover,
.research-studio-tab:focus-visible,
#page-dashboard #research-studio .research-studio-tab:hover,
#page-dashboard #research-studio .research-studio-tab:focus-visible {
  z-index: 80 !important;
}

.title-tooltip,
.pricing-topup-info-tooltip,
.signal-info-btn[data-tooltip]::after,
.signal-name-row[data-tooltip]::after,
.rec-badge-main[data-tooltip]::after,
.research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after {
  color: #425466 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08) !important;
}

.title-tooltip,
.pricing-topup-info-tooltip {
  background: rgba(252, 253, 251, 0.98) !important;
  border-color: rgba(120, 146, 127, 0.18) !important;
  width: max-content !important;
  max-width: none !important;
}

.title-tooltip,
.pricing-topup-info-tooltip,
.signal-info-btn[data-tooltip]::after,
.signal-name-row[data-tooltip]::after,
.rec-badge-main[data-tooltip]::after,
.research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after {
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

.title-tooltip::before {
  border-bottom-color: rgba(252, 253, 251, 0.98) !important;
  border-top-color: transparent !important;
}

.pricing-topup-info-tooltip {
  line-height: 1.55 !important;
}

.pricing-topup-info-tooltip::after {
  border-top-color: rgba(120, 146, 127, 0.18) !important;
}

.pricing-topup-info-tooltip::before {
  border-top-color: rgba(252, 253, 251, 0.98) !important;
}

.signal-info-btn[data-tooltip]::after {
  background: rgba(255, 255, 255, 0.99) !important;
  border-color: rgba(120, 146, 127, 0.18) !important;
  width: min(320px, calc(100vw - 40px)) !important;
  min-width: 220px !important;
  max-width: min(320px, calc(100vw - 40px)) !important;
  white-space: normal !important;
  line-height: 1.55 !important;
  color: #334155 !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16) !important;
}

.signal-info-btn[data-tooltip]::before {
  background: rgba(255, 255, 255, 0.99) !important;
  border-left-color: rgba(120, 146, 127, 0.18) !important;
  border-top-color: rgba(120, 146, 127, 0.18) !important;
}

.signal-name-row[data-tooltip]::after,
.rec-badge-main[data-tooltip]::after,
.research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 247, 0.96)) !important;
  border-color: rgba(120, 146, 127, 0.18) !important;
}

.signal-name-row[data-tooltip]::before {
  background: rgba(252, 253, 251, 0.98) !important;
  border-left-color: rgba(120, 146, 127, 0.18) !important;
  border-top-color: rgba(120, 146, 127, 0.18) !important;
}

.rec-badge-main::before,
.research-studio-tab::before,
#page-dashboard #research-studio .research-studio-tab::before {
  background: rgba(252, 253, 251, 0.98) !important;
  border-right-color: rgba(120, 146, 127, 0.18) !important;
  border-bottom-color: rgba(120, 146, 127, 0.18) !important;
}

[data-theme="dark"] .title-tooltip,
[data-theme="dark"] .pricing-topup-info-tooltip,
[data-theme="dark"] .signal-info-btn[data-tooltip]::after,
[data-theme="dark"] .signal-name-row[data-tooltip]::after,
[data-theme="dark"] .rec-badge-main[data-tooltip]::after,
[data-theme="dark"] .research-studio-tab::after,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::after {
  background: rgba(17, 24, 28, 0.96) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: #d7e3dd !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28) !important;
}

[data-theme="dark"] .title-tooltip::before,
[data-theme="dark"] .pricing-topup-info-tooltip::before {
  border-bottom-color: rgba(17, 24, 28, 0.96) !important;
  border-top-color: transparent !important;
}

[data-theme="dark"] .pricing-topup-info-tooltip::after {
  border-top-color: rgba(148, 163, 184, 0.22) !important;
}

[data-theme="dark"] .signal-info-btn[data-tooltip]::before {
  background: rgba(17, 24, 28, 0.96) !important;
  border-left-color: rgba(148, 163, 184, 0.22) !important;
  border-top-color: rgba(148, 163, 184, 0.22) !important;
}

[data-theme="dark"] .signal-name-row[data-tooltip]::before {
  background: rgba(17, 24, 28, 0.96) !important;
  border-left-color: rgba(148, 163, 184, 0.22) !important;
  border-top-color: rgba(148, 163, 184, 0.22) !important;
}

[data-theme="dark"] .rec-badge-main::before,
[data-theme="dark"] .research-studio-tab::before,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::before {
  background: rgba(17, 24, 28, 0.96) !important;
  border-right-color: rgba(148, 163, 184, 0.22) !important;
  border-bottom-color: rgba(148, 163, 184, 0.22) !important;
}

.day-score-narrative-top .day-score-breakdown {
  font-size: 0.84rem !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

@media (max-width: 900px) {
  .day-score-narrative-top {
    gap: 8px;
  }

  .day-score-breakdown {
    font-size: 0.8rem;
  }
}

/* ── Signal Briefing Layout + Mini Sparkline ───────────────────────────── */
#page-dashboard .recommend-row-head,
#page-briefing .recommend-row-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
}

#page-dashboard .rec-head-row,
#page-briefing .rec-head-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 0 !important;
}

#page-dashboard .rec-head-main,
#page-briefing .rec-head-main {
  min-width: 0 !important;
}

#page-dashboard .rec-head-main.has-chart,
#page-briefing .rec-head-main.has-chart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  align-items: center !important;
  gap: 10px !important;
}

#page-dashboard .rec-name-wrap,
#page-briefing .rec-name-wrap {
  min-width: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

#page-dashboard .rec-company-name,
#page-briefing .rec-company-name {
  max-width: none !important;
}

#page-dashboard .rec-price-wrap,
#page-briefing .rec-price-wrap {
  display: grid !important;
  justify-items: end !important;
  align-content: center !important;
  gap: 2px !important;
  text-align: right !important;
  flex-wrap: nowrap !important;
}

#page-dashboard .recommend-live-price,
#page-briefing .recommend-live-price {
  line-height: 1.1 !important;
}

#page-dashboard .recommend-live-gap,
#page-briefing .recommend-live-gap {
  font-size: 0.8rem !important;
  line-height: 1.1 !important;
}

#page-dashboard .rec-hook,
#page-briefing .rec-hook {
  margin-bottom: 0 !important;
}

#page-dashboard .rec-signal-footer,
#page-briefing .rec-signal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}

#page-dashboard .rec-signal-group,
#page-briefing .rec-signal-group {
  display: grid !important;
  grid-template-columns: 48px max-content !important;
  align-items: center !important;
  min-width: 0 !important;
  column-gap: 10px !important;
  margin-right: auto !important;
}

#page-dashboard .rec-signal-badge,
#page-briefing .rec-signal-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 48px !important;
  min-width: 48px !important;
  flex-shrink: 0 !important;
}

#page-dashboard .rec-signal-dots,
#page-briefing .rec-signal-dots {
  display: inline-flex !important;
  flex-shrink: 0 !important;
  margin-left: 0 !important;
}

#page-dashboard .rec-signal-lbl,
#page-briefing .rec-signal-lbl {
  white-space: nowrap !important;
}

#page-dashboard .recommend-toggle-btn,
#page-briefing .recommend-toggle-btn {
  margin-left: auto !important;
}

#page-dashboard .rec-mini-chart,
#page-briefing .rec-mini-chart {
  width: 96px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start !important;
  margin-left: -6px !important;
  padding: 2px 4px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.82);
  overflow: hidden;
}

#page-dashboard .rec-mini-chart-svg,
#page-briefing .rec-mini-chart-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

#page-dashboard .rec-mini-chart-line,
#page-briefing .rec-mini-chart-line {
  fill: none;
  stroke: #10b981;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#page-dashboard .rec-mini-chart-dot,
#page-briefing .rec-mini-chart-dot {
  fill: #10b981;
}

#page-dashboard .rec-mini-chart--up .rec-mini-chart-line,
#page-briefing .rec-mini-chart--up .rec-mini-chart-line {
  stroke: #10b981;
}

#page-dashboard .rec-mini-chart--up .rec-mini-chart-dot,
#page-briefing .rec-mini-chart--up .rec-mini-chart-dot {
  fill: #10b981;
}

#page-dashboard .rec-mini-chart--down .rec-mini-chart-line,
#page-briefing .rec-mini-chart--down .rec-mini-chart-line {
  stroke: #ef4444;
}

#page-dashboard .rec-mini-chart--down .rec-mini-chart-dot,
#page-briefing .rec-mini-chart--down .rec-mini-chart-dot {
  fill: #ef4444;
}

[data-theme="dark"] #page-dashboard .rec-mini-chart,
[data-theme="dark"] #page-briefing .rec-mini-chart {
  border-color: rgba(148, 163, 184, 0.16);
  background: rgba(15, 23, 42, 0.4);
}

#mi-news-modal .mi-news-dialog,
#mi-news-modal .mi-news-head,
#mi-news-modal .mi-news-modal-list,
#mi-news-modal .mi-news-modal-item,
#mi-news-modal .mi-news-modal-empty {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] #mi-news-modal .mi-news-dialog,
[data-theme="dark"] #mi-news-modal .mi-news-head,
[data-theme="dark"] #mi-news-modal .mi-news-modal-list,
[data-theme="dark"] #mi-news-modal .mi-news-modal-item,
[data-theme="dark"] #mi-news-modal .mi-news-modal-empty {
  background: #18222d !important;
}

#page-dashboard .macro-ticker-scroll.is-inline,
#page-briefing .macro-ticker-scroll.is-inline {
  display: block !important;
  cursor: default !important;
  pointer-events: none !important;
  opacity: 0.7 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

#page-dashboard .macro-ticker-scroll.is-inline .macro-ticker-track,
#page-briefing .macro-ticker-scroll.is-inline .macro-ticker-track {
  animation-duration: 58s !important;
}

#page-dashboard .macro-interpretation-wrap,
#page-briefing .macro-interpretation-wrap {
  margin-top: 4px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  max-width: none !important;
}

@media (min-width: 1100px) {
  #page-dashboard .macro-panel.has-inline-ticker .macro-head,
  #page-briefing .macro-panel.has-inline-ticker .macro-head {
    grid-template-columns: auto minmax(240px, 1fr) auto !important;
    align-items: center !important;
    column-gap: 18px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .dashboard-head-copy--macro,
  #page-briefing .macro-panel.has-inline-ticker .dashboard-head-copy--macro {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-ticker-scroll,
  #page-briefing .macro-panel.has-inline-ticker .macro-ticker-scroll {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    min-width: 280px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-head-right,
  #page-briefing .macro-panel.has-inline-ticker .macro-head-right {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
}

#page-dashboard .day-score-head .dashboard-head-copy,
#page-briefing .day-score-head .dashboard-head-copy {
  max-width: none !important;
}

#page-dashboard .day-score-head-preview,
#page-briefing .day-score-head-preview {
  width: 100% !important;
  align-items: start !important;
  gap: 10px !important;
  overflow: visible !important;
}

#page-dashboard .day-score-head-preview.is-visible,
#page-briefing .day-score-head-preview.is-visible {
  display: grid !important;
  grid-template-columns: auto auto auto minmax(0, 1fr) !important;
}

#page-dashboard .dshp-summary,
#page-briefing .dshp-summary {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

@media (max-width: 920px) {
  #page-dashboard .day-score-head-preview.is-visible,
  #page-briefing .day-score-head-preview.is-visible {
    grid-template-columns: auto auto !important;
  }

  #page-dashboard .dshp-sep,
  #page-briefing .dshp-sep {
    display: none !important;
  }

  #page-dashboard .dshp-summary,
  #page-briefing .dshp-summary {
    grid-column: 1 / -1 !important;
  }
}

#page-dashboard #research-studio .research-studio-body {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .research-pane,
#page-dashboard #research-studio .research-pane.is-active {
  margin-top: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 18px !important;
}

#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel,
#page-dashboard #research-studio .summary-card,
#page-dashboard #research-studio .chart-card,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel {
  padding: 24px 26px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06) !important;
  transition: background 0.15s, border-color 0.15s !important;
}

#page-dashboard #research-studio .analysis-form,
#page-dashboard #research-studio .checkpoint-form,
#page-dashboard #research-studio .mindmap-form {
  gap: 16px !important;
}

#page-dashboard #research-studio .studio-inline-search,
#page-dashboard #research-studio .studio-inline-search--compact {
  width: 100% !important;
  max-width: none !important;
}

#page-dashboard #research-studio .studio-inline-search-state {
  display: grid !important;
  justify-items: start !important;
  gap: 4px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 18px !important;
  background: rgba(248, 250, 252, 0.72) !important;
}

#page-dashboard #research-studio textarea#user_task {
  width: min(100%, 520px) !important;
  min-height: unset !important;
  height: 38px !important;
}

#page-dashboard #research-studio .analyze-btn-row,
#page-dashboard #research-studio .studio-tool-action-row {
  justify-content: flex-start !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .research-pane--analysis > .research-service-disclaimer {
  max-width: none !important;
  margin-top: 0 !important;
  color: #667085 !important;
  line-height: 1.72 !important;
}

#page-dashboard #research-studio #summary {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
}

#page-dashboard #research-studio #summary.hidden {
  display: none !important;
}

#page-dashboard #research-studio .studio-feature-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#page-dashboard #research-studio .studio-feature-card {
  min-height: 164px !important;
  padding: 20px 20px 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 249, 0.92)) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04) !important;
}

#page-dashboard #research-studio .studio-feature-card-head {
  align-items: center !important;
}

#page-dashboard #research-studio .studio-feature-card-credit {
  margin-left: auto !important;
}

[data-theme="dark"] #page-dashboard #research-studio .analysis-panel,
[data-theme="dark"] #page-dashboard #research-studio .checkpoint-panel,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-panel,
[data-theme="dark"] #page-dashboard #research-studio .summary-card,
[data-theme="dark"] #page-dashboard #research-studio .chart-card,
[data-theme="dark"] #page-dashboard #research-studio #report-panel,
[data-theme="dark"] #page-dashboard #research-studio #links-panel {
  border-color: rgba(255, 255, 255, 0.07) !important;
  background: rgba(20, 22, 21, 0.96) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.2) !important;
}

/* hover on result cards */
#page-dashboard #research-studio .summary-card,
#page-dashboard #research-studio .chart-card,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel,
#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel {
  transition: background 0.15s, border-color 0.15s !important;
}
#page-dashboard #research-studio .summary-card:hover,
#page-dashboard #research-studio .chart-card:hover {
  background: linear-gradient(180deg, rgba(246, 248, 250, 0.99), rgba(241, 245, 249, 0.97)) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .summary-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .chart-card:hover {
  background: rgba(24, 32, 42, 0.96) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-inline-search-state {
  background: rgba(30, 41, 59, 0.38) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .research-pane--analysis > .research-service-disclaimer {
  color: #98a2b3 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card {
  background: linear-gradient(180deg, rgba(18, 22, 28, 0.92), rgba(22, 28, 36, 0.88)) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18) !important;
}

@media (max-width: 1180px) {
  #page-dashboard #research-studio #summary {
    grid-template-columns: 1fr;
  }

  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: 1fr !important;
  }
}

#page-dashboard .dashboard-head-copy--macro,
#page-briefing .dashboard-head-copy--macro {
  max-width: min(100%, 780px) !important;
}

#page-dashboard .macro-title-row .macro-asset-tags-slot,
#page-briefing .macro-title-row .macro-asset-tags-slot {
  display: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#page-dashboard .dashboard-head-copy--macro #macro-interpretation,
#page-briefing .dashboard-head-copy--macro #macro-interpretation {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

#page-dashboard .macro-panel.is-collapsed #macro-interpretation,
#page-briefing .macro-panel.is-collapsed #macro-interpretation {
  display: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot,
#page-briefing .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot {
  display: flex !important;
}

@media (max-width: 1099px) {
  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot {
    width: 100% !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tag-strip,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tag-strip {
    padding: 0 !important;
    margin: 2px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
}

@media (min-width: 1100px) {
  #page-dashboard .macro-panel.has-inline-ticker .macro-head,
  #page-briefing .macro-panel.has-inline-ticker .macro-head {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.92fr) auto !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 8px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .dashboard-head-copy--macro,
  #page-briefing .macro-panel.has-inline-ticker .dashboard-head-copy--macro {
    display: contents !important;
    max-width: none !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    min-width: 0 !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row h2,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row h2 {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tags-slot {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tag-strip,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row .macro-asset-tag-strip {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 10px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-title-row .mat-kicker,
  #page-briefing .macro-panel.has-inline-ticker .macro-title-row .mat-kicker {
    margin-right: 0 !important;
    color: #7a8f85 !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
    max-width: none !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-strip,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-strip {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    gap: 6px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-main,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-main {
    display: block !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-kicker,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-kicker {
    display: block !important;
    min-height: 0 !important;
    margin-bottom: 4px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #6f857b !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-summary,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-summary {
    display: block !important;
    margin: 0 !important;
    max-width: none !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.72 !important;
    color: #344a41 !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-meta,
  #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-meta {
    display: none !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-ticker-scroll,
  #page-briefing .macro-panel.has-inline-ticker .macro-ticker-scroll {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    min-width: 240px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-head-right,
  #page-briefing .macro-panel.has-inline-ticker .macro-head-right {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
  }

  [data-theme="dark"] #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-kicker,
  [data-theme="dark"] #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-kicker {
    color: #9ab1a6 !important;
  }

  [data-theme="dark"] #page-dashboard .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-summary,
  [data-theme="dark"] #page-briefing .macro-panel.has-inline-ticker #macro-interpretation .macro-narrative-summary {
    color: #d4e0da !important;
  }
}

#page-dashboard #research-studio .research-studio-search-wrap,
#page-dashboard #research-studio .research-studio-quick-picks {
  max-width: 540px !important;
}

#page-dashboard #research-studio .studio-inline-search,
#page-dashboard #research-studio .studio-inline-search--compact {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
}

#page-dashboard #research-studio .studio-inline-search-state {
  display: none !important;
}

#page-dashboard #research-studio .research-service-disclaimer,
#page-dashboard #research-studio .assist-note.research-service-disclaimer {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: -0.01em !important;
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
}

@media (max-width: 1200px) {
  #page-dashboard #research-studio .research-service-disclaimer,
  #page-dashboard #research-studio .assist-note.research-service-disclaimer {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }
}

#page-dashboard #research-studio .research-studio-command,
#page-dashboard #research-studio .research-studio-command-main,
#page-dashboard #research-studio .research-studio-search-wrap,
#page-dashboard #research-studio .research-studio-quick-picks,
#page-dashboard #research-studio .dashboard-stage-note,
#page-dashboard #research-studio .studio-feature-cards,
#page-dashboard #research-studio .studio-feature-card,
#page-dashboard #research-studio .research-studio-body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio,
#page-dashboard #research-studio .research-studio-shell,
#page-dashboard #research-studio .studio-feature-cards,
#page-dashboard #research-studio .research-studio-body {
  overflow-x: clip !important;
}

#page-dashboard #research-studio .research-studio-command {
  display: grid !important;
  justify-items: start !important;
  align-content: start !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

#page-dashboard #research-studio .research-studio-command-main,
#page-dashboard #research-studio .research-studio-search-wrap,
#page-dashboard #research-studio .ticker-autocomplete-wrap {
  justify-self: stretch !important;
}

#page-dashboard #research-studio .ticker-autocomplete-wrap,
#page-dashboard #research-studio .research-studio-search-wrap {
  position: relative !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .research-studio-search-wrap input,
#page-dashboard #research-studio .dashboard-stage-note {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio .dashboard-stage-note {
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  max-width: 100% !important;
}

#page-dashboard #research-studio .ticker-suggest-list {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio .research-studio-shell,
#page-dashboard #research-studio .research-studio-body,
#page-dashboard #research-studio .research-pane,
#page-dashboard #research-studio .research-pane.is-active,
#page-dashboard #research-studio .analysis-panel,
#page-dashboard #research-studio .checkpoint-panel,
#page-dashboard #research-studio .mindmap-panel,
#page-dashboard #research-studio #summary,
#page-dashboard #research-studio #report-panel,
#page-dashboard #research-studio #links-panel,
#page-dashboard #research-studio .summary-card,
#page-dashboard #research-studio .chart-card,
#page-dashboard #research-studio .markdown-body,
#page-dashboard #research-studio .cp-body,
#page-dashboard #research-studio .mindmap-body,
#page-dashboard #research-studio .mindmap-stage-shell,
#page-dashboard #research-studio .mindmap-main-grid,
#page-dashboard #research-studio .mindmap-analysis-shell,
#page-dashboard #research-studio .mindmap-reading-stack,
#page-dashboard #research-studio .mindmap-reading-card,
#page-dashboard #research-studio .cp-list,
#page-dashboard #research-studio .cp-item,
#page-dashboard #research-studio .cp-item-meta,
#page-dashboard #research-studio .cp-summary {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio .markdown-body,
#page-dashboard #research-studio .cp-body,
#page-dashboard #research-studio .mindmap-body,
#page-dashboard #research-studio .cp-item-reason,
#page-dashboard #research-studio .cp-summary,
#page-dashboard #research-studio .studio-feature-card-desc,
#page-dashboard #research-studio .studio-feature-card-name,
#page-dashboard #research-studio .mindmap-reading-card,
#page-dashboard #research-studio .mindmap-reading-block,
#page-dashboard #research-studio .mm-insight-value,
#page-dashboard #research-studio .mm-related-chip,
#page-dashboard #research-studio .studio-selected-ticker-value {
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

#page-dashboard #research-studio #summary,
#page-dashboard #research-studio .research-pane.is-active {
  overflow-x: clip !important;
}

#page-dashboard #research-studio .studio-feature-card::before {
  content: none !important;
  display: none !important;
}

#page-dashboard #research-studio .studio-feature-card {
  gap: 12px !important;
  min-height: 172px !important;
  padding: 22px 22px 20px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(22, 163, 74, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.05) !important;
}

#page-dashboard #research-studio .studio-feature-card-head,
#page-briefing #research-studio .studio-feature-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}

#page-dashboard #research-studio .studio-feature-card-title,
#page-briefing #research-studio .studio-feature-card-title {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#page-dashboard #research-studio .studio-feature-card-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

#page-dashboard #research-studio .studio-feature-card-icon-img--light,
#page-dashboard #research-studio .studio-feature-card-icon-img--dark,
#page-briefing #research-studio .studio-feature-card-icon-img--light,
#page-briefing #research-studio .studio-feature-card-icon-img--dark {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

#page-dashboard #research-studio .studio-feature-card-credit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: rgba(22, 163, 74, 0.10) !important;
  border: 1px solid rgba(22, 163, 74, 0.16) !important;
  color: #16a34a !important;
  font-size: 0.79rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

#page-dashboard #research-studio .studio-feature-card-name {
  font-size: 1.08rem !important;
  line-height: 1.18 !important;
}

#page-dashboard #research-studio .studio-feature-card-title .studio-feature-card-name,
#page-briefing #research-studio .studio-feature-card-title .studio-feature-card-name {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  flex: 0 1 auto !important;
  align-self: center !important;
}

#page-dashboard #research-studio .studio-feature-card-desc {
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  color: #667085 !important;
}

#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background:
    radial-gradient(circle at top right, rgba(22, 163, 74, 0.10), transparent 30%),
    linear-gradient(180deg, rgba(250, 252, 251, 0.99), rgba(246, 249, 248, 0.97)) !important;
  box-shadow: 0 20px 38px rgba(15, 23, 42, 0.06) !important;
}

#page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: rgba(22, 163, 74, 0.3) !important;
  background:
    radial-gradient(circle at top right, rgba(22, 163, 74, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(244, 251, 246, 0.98)) !important;
  box-shadow: 0 20px 42px rgba(22, 163, 74, 0.08) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background:
    radial-gradient(circle at top right, rgba(22, 163, 74, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(18, 22, 28, 0.96), rgba(20, 27, 35, 0.94)) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-icon {
  background: rgba(22, 163, 74, 0.14) !important;
  color: #4ade80 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-credit {
  background: rgba(22, 163, 74, 0.14) !important;
  border-color: rgba(74, 222, 128, 0.18) !important;
  color: #4ade80 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-desc {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active) {
  border-color: rgba(74, 222, 128, 0.24) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active {
  border-color: rgba(74, 222, 128, 0.28) !important;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.24) !important;
}

#page-pricing .pricing-card-item {
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

#page-pricing .pricing-card-item.is-clickable,
#page-pricing .pricing-topup-item.is-clickable {
  cursor: pointer !important;
}

#page-pricing .pricing-card-item:hover {
  background: linear-gradient(180deg, rgba(246, 247, 249, 0.99), rgba(241, 243, 246, 0.99)) !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
}

[data-theme="dark"] #page-pricing .pricing-card-item:hover {
  background: linear-gradient(180deg, rgba(27, 32, 40, 0.98), rgba(24, 29, 37, 0.98)) !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

.title-info-btn,
.pricing-topup-info-btn {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.title-info-btn:hover,
.title-info-btn:focus-visible,
.pricing-topup-info-btn:hover,
.pricing-topup-info-btn:focus-visible,
.pricing-topup-info-btn.is-open {
  background: #F5F5F5 !important;
}

.title-tooltip,
.pricing-topup-info-tooltip,
.signal-name-row[data-tooltip]::after,
.rec-badge-main[data-tooltip]::after,
.research-studio-tab::after,
#page-dashboard #research-studio .research-studio-tab::after {
  background: #ffffff !important;
}

[data-theme="dark"] .title-info-btn,
[data-theme="dark"] .pricing-topup-info-btn {
  background: rgba(30, 41, 59, 0.96) !important;
}

[data-theme="dark"] .title-info-btn:hover,
[data-theme="dark"] .title-info-btn:focus-visible,
[data-theme="dark"] .pricing-topup-info-btn:hover,
[data-theme="dark"] .pricing-topup-info-btn:focus-visible,
[data-theme="dark"] .pricing-topup-info-btn.is-open {
  background: rgba(51, 65, 85, 0.96) !important;
}

[data-theme="dark"] .title-tooltip,
[data-theme="dark"] .pricing-topup-info-tooltip,
[data-theme="dark"] .signal-name-row[data-tooltip]::after,
[data-theme="dark"] .rec-badge-main[data-tooltip]::after,
[data-theme="dark"] .research-studio-tab::after,
[data-theme="dark"] #page-dashboard #research-studio .research-studio-tab::after {
  background: rgba(17, 24, 39, 0.98) !important;
}

@media (max-width: 860px) {
  #page-dashboard .rec-head-row,
  #page-briefing .rec-head-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #page-dashboard .rec-head-main.has-chart,
  #page-briefing .rec-head-main.has-chart {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #page-dashboard .rec-mini-chart,
  #page-briefing .rec-mini-chart {
    width: min(100%, 160px);
  }

  #page-dashboard .rec-price-wrap,
  #page-briefing .rec-price-wrap {
    justify-items: start !important;
    text-align: left !important;
  }
}

/* ── MI Card: AI Insight block ── */
.mi-card-insight {
  margin: 0 0 18px;
  padding: 14px 16px;
  background: rgba(11,17,16,0.05);
  border-radius: 8px;
}
.mi-card-insight-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  opacity: 0.5;
  margin-bottom: 6px;
}
.mi-card-insight-text {
  font-size: 0.93rem;
  line-height: 1.7;
  margin: 0;
  opacity: 0.88;
  white-space: pre-wrap;
}
/* No-image vitem: full-width text layout */
.mi-vitem--no-thumb {
  display: block;
}
.mi-vitem--no-thumb .mi-vitem-body {
  display: block;
}

/* Dark mode */
[data-theme="dark"] .mi-card-insight {
  background: rgba(255,255,255,0.05);
  border-left-color: rgba(255,255,255,0.2);
}

#page-dashboard .mi-card-summary,
#page-briefing .mi-card-summary {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

#page-dashboard .mi-card-summary-main,
#page-briefing .mi-card-summary-main,
#page-dashboard .mi-card-summary-sub,
#page-briefing .mi-card-summary-sub {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .mi-card-summary-main,
#page-briefing .mi-card-summary-main {
  color: var(--service-text, #1b3146) !important;
  font-size: 0.95rem !important;
  line-height: 1.68 !important;
  font-weight: 600 !important;
}

#page-dashboard .mi-card-summary-sub,
#page-briefing .mi-card-summary-sub {
  color: var(--service-muted, #607264) !important;
  font-size: 0.9rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .mi-card-insight,
#page-briefing .mi-card-insight {
  margin: 0 0 10px !important;
  padding: 8px 12px !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 0 8px 8px 0 !important;
}

#page-dashboard .mi-card-insight-label,
#page-briefing .mi-card-insight-label {
  margin-bottom: 4px !important;
}

#page-dashboard .mi-card-insight-text,
#page-briefing .mi-card-insight-text {
  margin: 0 !important;
  line-height: 1.58 !important;
}

#page-dashboard .mi-sector-rotation,
#page-briefing .mi-sector-rotation {
  margin-top: 8px !important;
  padding: 8px 11px !important;
  gap: 4px !important;
  width: fit-content !important;
  max-width: 100% !important;
  align-self: flex-start !important;
}

#page-dashboard .mi-rot-kicker,
#page-briefing .mi-rot-kicker {
  margin-bottom: 2px !important;
  line-height: 1.15 !important;
}

#page-dashboard .mi-rot-row,
#page-briefing .mi-rot-row {
  gap: 6px !important;
}

#page-dashboard .mi-rot-reason,
#page-briefing .mi-rot-reason {
  margin-top: 0 !important;
  line-height: 1.45 !important;
}

#page-pricing .pricing-topup-item {
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

#page-pricing .pricing-topup-item.is-clickable:hover,
#page-pricing .pricing-topup-item.is-clickable:focus-visible {
  background: linear-gradient(180deg, rgba(246, 247, 249, 0.99), rgba(241, 243, 246, 0.99)) !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
}

#page-pricing .pricing-topup-info-btn,
#page-pricing .pricing-topup-info-btn:hover,
#page-pricing .pricing-topup-info-btn:focus-visible,
#page-pricing .pricing-topup-info-btn.is-open {
  box-shadow: none !important;
  filter: none !important;
}

[data-theme="dark"] #page-pricing .pricing-topup-item.is-clickable:hover,
[data-theme="dark"] #page-pricing .pricing-topup-item.is-clickable:focus-visible {
  background: linear-gradient(180deg, rgba(27, 32, 40, 0.98), rgba(24, 29, 37, 0.98)) !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

/* ── Market Flow Monitor header refinement ─────────────────────────────── */
#page-dashboard .macro-head > #macro-asset-tags-slot,
#page-briefing .macro-head > #macro-asset-tags-slot,
#page-dashboard .macro-head > #macro-interpretation,
#page-briefing .macro-head > #macro-interpretation {
  display: none !important;
}

#page-dashboard .macro-panel.is-collapsed .macro-head > #macro-asset-tags-slot,
#page-briefing .macro-panel.is-collapsed .macro-head > #macro-asset-tags-slot,
#page-dashboard .macro-panel.is-collapsed .macro-head > #macro-interpretation,
#page-briefing .macro-panel.is-collapsed .macro-head > #macro-interpretation {
  display: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot,
#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation {
  display: block !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: min(100%, 1060px) !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-self: start !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .macro-asset-tag-strip,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .macro-asset-tag-strip {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .macro-asset-tag-strip::-webkit-scrollbar,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .macro-asset-tag-strip::-webkit-scrollbar {
  display: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-kicker,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-kicker,
#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-group,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-group,
#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-chip,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-chip {
  white-space: nowrap !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-group,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-asset-tags-slot .mat-group {
  flex-wrap: nowrap !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-strip,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-strip {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: block !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-ai-label,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-ai-label {
  width: fit-content !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-main,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-main {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  min-width: 0 !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: min(100%, 1060px) !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: #344a41 !important;
}

#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-meta,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-meta {
  display: none !important;
}

@media (min-width: 1100px) {
  #page-dashboard .macro-panel.has-inline-ticker .macro-head,
  #page-briefing .macro-panel.has-inline-ticker .macro-head {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.96fr) auto !important;
    grid-template-rows: auto auto auto !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 10px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .dashboard-head-copy--macro,
  #page-briefing .macro-panel.has-inline-ticker .dashboard-head-copy--macro {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: none !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-ticker-scroll,
  #page-briefing .macro-panel.has-inline-ticker .macro-ticker-scroll {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    min-width: 320px !important;
  }

  #page-dashboard .macro-panel.has-inline-ticker .macro-head-right,
  #page-briefing .macro-panel.has-inline-ticker .macro-head-right {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }
}

[data-theme="dark"] #page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary,
[data-theme="dark"] #page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary {
  color: #d4e0da !important;
}

@media (max-width: 820px) {
  #page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-main,
  #page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-main {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 8px !important;
  }
}

/* ── My Page refresh: support-first layout ─────────────────────────────── */
#page-mypage .mypg-main-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr) !important;
  gap: 40px !important;
  align-items: start !important;
}

#page-mypage .mypg-left-column,
#page-mypage .mypg-right-column {
  min-width: 0 !important;
}

#page-mypage .mypg-account-actions-top {
  gap: 14px !important;
}

#page-mypage #delete-account-btn.mypg-delete-btn-modern {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #16a34a !important;
  font-size: 0.81rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
}

#page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
#page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible {
  color: #15803d !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

#page-mypage .mypg-tab-nav {
  gap: 4px !important;
  margin-bottom: 22px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#page-mypage .mypg-tab-btn {
  padding: 7px 14px !important;
  border: none !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  transition: color 0.12s !important;
}

#page-mypage .mypg-tab-btn:hover,
#page-mypage .mypg-tab-btn:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  outline: none !important;
}

#page-mypage .mypg-tab-btn.is-active {
  background: transparent !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
}

#page-mypage .mypg-support-panel {
  position: sticky !important;
  top: 78px !important;
}

#page-mypage .mypg-support-stack {
  display: grid;
  gap: 18px;
}

#page-mypage .mypg-panel-head--actions {
  justify-content: flex-end !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

#page-mypage .mypg-support-composer,
#page-mypage .mypg-support-history {
  padding: 18px 20px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}

#page-mypage .mypg-support-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  color: #475467;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#page-mypage .inquiry-form {
  gap: 14px !important;
}

#page-mypage .inquiry-form input,
#page-mypage .inquiry-form textarea {
  background: rgba(248, 250, 252, 0.92) !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
}

#page-mypage .inquiry-form textarea {
  min-height: 148px !important;
  resize: vertical;
}

#page-mypage .inquiry-form input:focus,
#page-mypage .inquiry-form textarea:focus {
  border-color: rgba(22, 163, 74, 0.42) !important;
  background: #ffffff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.08) !important;
}

#page-mypage #inquiry-submit-btn.analysis-cta-btn {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: transparent !important;
  border: 1px solid rgba(22, 163, 74, 0.34) !important;
  box-shadow: none !important;
  color: #16a34a !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
}

#page-mypage #inquiry-submit-btn.analysis-cta-btn:hover,
#page-mypage #inquiry-submit-btn.analysis-cta-btn:focus-visible {
  background: rgba(22, 163, 74, 0.05) !important;
  border-color: rgba(22, 163, 74, 0.5) !important;
  box-shadow: none !important;
  outline: none !important;
}

#page-mypage .inquiry-list {
  display: grid !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

#page-mypage .mypg-info-list {
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
#page-mypage .mypg-info-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
#page-mypage .mypg-info-row dt {
  font-size: 0.78rem;
  color: #6b7280;
  font-weight: 500;
  min-width: 52px;
  flex-shrink: 0;
}
#page-mypage .mypg-info-row dd {
  margin: 0;
  font-size: 0.9rem;
  color: #0b1110;
  font-weight: 600;
  word-break: break-all;
}
#page-mypage .mypg-info-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 4px;
}
#page-mypage .mypg-delete-inline {
  display: grid;
  gap: 10px;
  margin-top: 2px;
  padding-top: 6px;
}

#page-mypage .mypg-delete-inline-note {
  margin: 0;
  color: #98a2b3;
  font-size: 0.77rem;
  line-height: 1.62;
}

#page-mypage .mypg-delete-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

#page-mypage .mypg-refund-btn {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #667085;
  font-size: 0.81rem;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: color 0.15s ease;
}

#page-mypage .mypg-refund-btn:hover {
  background: transparent;
  color: #475467;
}

[data-theme="dark"] #page-mypage .mypg-refund-btn {
  background: transparent;
  color: #98a2b3;
}

[data-theme="dark"] #page-mypage .mypg-refund-btn:hover {
  background: transparent;
  color: #F5F5F5;
}

#page-mypage .mypg-refund-inline-form {
  margin-top: 10px;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 0;
  background: transparent;
}

[data-theme="dark"] #page-mypage .mypg-refund-inline-form {
  background: transparent;
  border-top-color: rgba(148, 163, 184, 0.16);
}

#page-mypage .mypg-refund-form-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ink, #1b2d1e);
}

#page-mypage .mypg-refund-close-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: var(--muted, #607264);
  line-height: 1;
  padding: 2px 6px;
}

#page-mypage .mypg-refund-criteria {
  margin: 0 0 12px;
  font-size: 0.78rem;
  line-height: 1.6;
  color: #667085;
  background: transparent;
  border-radius: 0;
  padding: 0;
  border-left: 0;
}

[data-theme="dark"] #page-mypage .mypg-refund-criteria {
  color: #98a2b3;
  background: transparent;
}

#page-mypage .mypg-refund-form-fields .field-row label {
  font-size: 0.82rem !important;
}

#page-mypage .mypg-refund-form-fields .field-row input,
#page-mypage .mypg-refund-form-fields .field-row textarea {
  font-size: 0.85rem !important;
}

#page-mypage .inquiry-item {
  display: grid !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: none !important;
}

#page-mypage .inquiry-item-head {
  display: grid;
  gap: 8px;
}

#page-mypage .inquiry-item-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

#page-mypage .inquiry-item-subject {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

#page-mypage .inquiry-item-meta {
  color: #98a2b3 !important;
  font-size: 0.78rem !important;
}

#page-mypage .inquiry-item-message {
  font-size: 0.92rem !important;
  line-height: 1.72 !important;
  color: #475467 !important;
}

#page-mypage .inquiry-status-open,
#page-mypage .inquiry-status-resolved {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: transparent !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#page-mypage .inquiry-status-open {
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  color: #64748b !important;
}

#page-mypage .inquiry-status-resolved {
  border: 1px solid rgba(22, 163, 74, 0.22) !important;
  color: #15803d !important;
}

#page-mypage .inquiry-admin-reply {
  margin-top: 2px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 16px !important;
  background: rgba(248, 250, 252, 0.92) !important;
  box-shadow: none !important;
}

#page-mypage .inquiry-reply-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

#page-mypage .inquiry-reply-label {
  margin: 0 !important;
  color: #344054 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

#page-mypage .inquiry-reply-meta {
  color: #98a2b3;
  font-size: 0.77rem;
  white-space: nowrap;
}

#page-mypage .inquiry-reply-content {
  color: #334155 !important;
  font-size: 0.9rem !important;
  line-height: 1.72 !important;
}

[data-theme="dark"] #page-mypage .mypg-info-row dt { color: #94a3b8; }
[data-theme="dark"] #page-mypage .mypg-info-row dd { color: #F5F5F5; }
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern {
  color: #4ade80 !important;
}

[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible,
[data-theme="dark"] #page-mypage .mypg-tab-btn:hover,
[data-theme="dark"] #page-mypage .mypg-tab-btn:focus-visible,
[data-theme="dark"] #page-mypage .mypg-tab-btn.is-active {
  color: #86efac !important;
}

[data-theme="dark"] #page-mypage .mypg-tab-nav {
  border-bottom-color: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-mypage .mypg-support-composer,
[data-theme="dark"] #page-mypage .mypg-support-history,
[data-theme="dark"] #page-mypage .inquiry-item {
  background: rgba(18, 22, 28, 0.92) !important;
  border-color: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-mypage .inquiry-form input,
[data-theme="dark"] #page-mypage .inquiry-form textarea,
[data-theme="dark"] #page-mypage .inquiry-admin-reply {
  background: rgba(18, 22, 28, 0.92) !important;
  border-color: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-mypage .inquiry-form input:focus,
[data-theme="dark"] #page-mypage .inquiry-form textarea:focus {
  background: rgba(24, 28, 34, 0.96) !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.08) !important;
}

[data-theme="dark"] #page-mypage .mypg-support-history-head,
[data-theme="dark"] #page-mypage .inquiry-item-message,
[data-theme="dark"] #page-mypage .inquiry-reply-content {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-mypage .mypg-delete-inline-note {
  color: #94a3b8 !important;
}

[data-theme="dark"] #page-mypage .inquiry-item-subject,
[data-theme="dark"] #page-mypage .inquiry-reply-label {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-mypage .inquiry-item-meta,
[data-theme="dark"] #page-mypage .inquiry-reply-meta {
  color: #94a3b8 !important;
}

[data-theme="dark"] #page-mypage .inquiry-status-open {
  border-color: rgba(148, 163, 184, 0.2) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-mypage .inquiry-status-resolved {
  border-color: rgba(74, 222, 128, 0.24) !important;
  color: #86efac !important;
}

@media (max-width: 1180px) {
  #page-mypage .mypg-main-layout {
    grid-template-columns: minmax(0, 1fr) 400px !important;
    gap: 32px !important;
  }
}

@media (max-width: 1024px) {
  #page-mypage .mypg-main-layout {
    grid-template-columns: 1fr !important;
  }

  #page-mypage .mypg-support-panel {
    position: static !important;
  }
}

@media (max-width: 720px) {
  #page-mypage .mypg-tab-nav {
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  #page-mypage .inquiry-item-title-row,
  #page-mypage .inquiry-reply-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ── 0. Briefing Intel Header — 한 줄 강제 ── */
.briefing-intel-kicker-row {
  flex-wrap: nowrap !important;
  gap: 12px !important;
}
.briefing-intel-kicker-row .dashboard-stage-kicker {
  margin-bottom: 0 !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── 1a. MI vitem 이미지 세로 중앙 정렬 ── */
.mi-vitem {
  align-items: center !important;
}
.mi-vthumb {
  align-self: center;
  flex-shrink: 0;
}

/* ── 1b. 이미지 로드 실패 플레이스홀더 ── */
.mi-vthumb-placeholder {
  width: 96px;
  height: 72px;
  border-radius: 8px;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(11,17,16,0.06) 0%, rgba(11,17,16,0.04) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  opacity: 0.4;
}
[data-theme="dark"] .mi-vthumb-placeholder {
  background: linear-gradient(135deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.04) 100%);
}

/* ── 3. Sector visualization ── */
.mi-sector-viz-list {
  list-style: none;
  padding: 0;
  margin: 0 0 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mi-sector-viz-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}
.mi-sector-viz-name {
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0.8;
  min-width: 52px;
}
.mi-sector-viz-bar-track {
  height: 6px;
  border-radius: 99px;
  background: rgba(11,17,16,0.07);
  overflow: hidden;
  position: relative;
}
.mi-sector-viz-bar-fill {
  height: 100%;
  width: 100%;
  border-radius: 99px;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.5s ease;
}
.mi-sector-viz-bar-fill--up   { background: #22c55e; }
.mi-sector-viz-bar-fill--down { background: #ef4444; }
.mi-sector-viz-bar-fill--neutral { background: #94a3b8; }
.mi-sector-viz-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 99px;
  white-space: nowrap;
}
.mi-sector-viz-badge--up {
  background: rgba(34,197,94,0.12);
  color: #16a34a;
}
.mi-sector-viz-badge--down {
  background: rgba(239,68,68,0.1);
  color: #dc2626;
}
.mi-sector-viz-badge--neutral {
  background: rgba(11,17,16,0.07);
  color: rgba(11,17,16,0.55);
}
.mi-sector-viz-desc {
  grid-column: 1 / -1;
  font-size: 0.8rem;
  line-height: 1.5;
  opacity: 0.65;
  padding-left: 0;
  margin-top: -2px;
}
[data-theme="dark"] .mi-sector-viz-bar-track {
  background: rgba(255,255,255,0.08);
}
[data-theme="dark"] .mi-sector-viz-badge--up   { background: rgba(34,197,94,0.15); color: #4ade80; }
[data-theme="dark"] .mi-sector-viz-badge--down  { background: rgba(239,68,68,0.14); color: #f87171; }
[data-theme="dark"] .mi-sector-viz-badge--neutral { background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.45); }

/* ── Sector viz: driver tag (same row as badge, after it) ── */
.mi-sector-viz-driver {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 2px 6px;
  border-radius: 99px;
  background: rgba(11,17,16,0.055);
  color: rgba(11,17,16,0.5);
  white-space: nowrap;
  align-self: center;
}
[data-theme="dark"] .mi-sector-viz-driver {
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.42);
}

/* ── Sector rotation hint ── */
.mi-sector-rotation {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(11,17,16,0.03) 0%, rgba(11,17,16,0.015) 100%);
  border: 1px solid rgba(11,17,16,0.07);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mi-rot-kicker {
  display: block;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  opacity: 0.45;
  margin-bottom: 4px;
}
.mi-rot-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.mi-rot-label {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 99px;
  white-space: nowrap;
  flex-shrink: 0;
}
.mi-rot-label--favor {
  background: rgba(34,197,94,0.1);
  color: #16a34a;
}
.mi-rot-label--avoid {
  background: rgba(239,68,68,0.09);
  color: #dc2626;
}
.mi-rot-val {
  font-size: 0.82rem;
  font-weight: 600;
  opacity: 0.85;
}
.mi-rot-reason {
  font-size: 0.82rem;
  line-height: 1.55;
  opacity: 0.85;
  margin: 0 0 6px;
  font-weight: 500;
}
.mi-rot-validity {
  display: inline-block;
  margin-top: 6px;
  font-size: 0.74rem;
  opacity: 0.55;
  padding: 2px 7px;
  border-radius: 10px;
  background: rgba(0,0,0,0.05);
}
[data-theme="dark"] .mi-rot-validity {
  background: rgba(255,255,255,0.07);
}
/* key_assumption + counter_narrative */
.mi-key-assumption,
.mi-counter-narrative {
  margin: 6px 0 0;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.82rem;
  line-height: 1.6;
}
.mi-key-assumption {
  background: rgba(95, 166, 118, 0.11);
  border: 1px solid rgba(95, 166, 118, 0.25);
}
.mi-counter-narrative {
  background: rgba(200, 100, 80, 0.10);
  border: 1px solid rgba(200, 100, 80, 0.22);
}
.mi-key-assumption-label,
.mi-counter-narrative-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.6;
  margin-bottom: 3px;
}
.mi-key-assumption-text,
.mi-counter-narrative-text {
  margin: 0;
  opacity: 0.85;
}
/* next_check in each card */
.mi-card-next-check {
  margin: 8px 0 0;
  padding: 8px 12px;
  border-radius: 6px;
  background: rgba(0,0,0,0.04);
  font-size: 0.8rem;
  line-height: 1.5;
  display: flex;
  gap: 6px;
  align-items: baseline;
}
.mi-card-next-check-label {
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.55;
  white-space: nowrap;
  flex-shrink: 0;
}
.mi-card-next-check-text {
  opacity: 0.8;
}
[data-theme="dark"] .mi-card-next-check {
  background: rgba(255,255,255,0.05);
}
/* flip_signal — 약화 조건 (amber tint: "caution, this breaks the read") */
.cp-item-meta--flip {
  background: rgba(217, 119, 6, 0.08);
  border: 1px solid rgba(217, 119, 6, 0.22);
  padding-left: 8px;
  border-radius: 4px;
}
[data-theme="dark"] .cp-item-meta--flip {
  background: rgba(251, 191, 36, 0.08);
  border-left-color: rgba(251, 191, 36, 0.32);
}
/* counter_signal — 반론 근거 (red tint: "opposing view") */
.cp-item-meta--counter {
  background: rgba(200, 100, 80, 0.08);
  border: 1px solid rgba(200, 100, 80, 0.22);
  padding-left: 8px;
  border-radius: 4px;
}
[data-theme="dark"] .cp-item-meta--counter {
  background: rgba(200, 100, 80, 0.1);
}
[data-theme="dark"] .mi-sector-rotation {
  background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  border-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .mi-rot-label--favor { background: rgba(34,197,94,0.13); color: #4ade80; }
[data-theme="dark"] .mi-rot-label--avoid { background: rgba(239,68,68,0.12); color: #f87171; }

/* ── Sector viz item: 4-col grid to fit driver tag ── */
.mi-sector-viz-item {
  grid-template-columns: auto 1fr auto auto;
}
.mi-sector-viz-desc {
  grid-column: 1 / -1;
}

/* ── Market intel panel: reduce nested box padding ── */
#page-briefing #section-market-intel,
#page-dashboard #section-market-intel {
  padding: 14px 16px !important;
}
#page-briefing #market-intel-body,
#page-dashboard #market-intel-body {
  padding: 6px 0 0 !important;
}

/* ── 2. Carousel arrow never disabled (infinite loop) ── */
.mi-car-arrow:disabled {
  opacity: 0.75 !important;
  cursor: pointer !important;
}

/* ── Market Intel cleanup: label background removal + content-driven card height ── */
#page-briefing .mi-car-track,
#page-dashboard .mi-car-track {
  align-items: flex-start !important;
}

#page-briefing .mi-car-card,
#page-dashboard .mi-car-card {
  align-self: flex-start !important;
}

#page-briefing .mi-car-card .mi-card,
#page-dashboard .mi-car-card .mi-card,
#page-briefing .mi-car-card .mi-sector-bar,
#page-dashboard .mi-car-card .mi-sector-bar,
#page-briefing .mi-card,
#page-dashboard .mi-card,
#page-briefing .mi-sector-bar,
#page-dashboard .mi-sector-bar {
  min-height: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}

#page-briefing .mi-card-label,
#page-dashboard .mi-card-label,
#page-briefing .mi-car-card .mi-card-label,
#page-dashboard .mi-car-card .mi-card-label {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-briefing .mi-card-label,
[data-theme="dark"] #page-dashboard .mi-card-label,
[data-theme="dark"] #page-briefing .mi-car-card .mi-card-label,
[data-theme="dark"] #page-dashboard .mi-car-card .mi-card-label {
  background: transparent !important;
}

#page-briefing .mi-card-insight,
#page-dashboard .mi-card-insight {
  min-height: 0 !important;
  height: auto !important;
}

#page-briefing .mi-card-footer,
#page-dashboard .mi-card-footer {
  margin-top: 10px !important;
}

/* ── Alert feature removed from UI ── */
#alert-drawer-backdrop,
#alert-toggle-btn,
.alert-drawer-wrap {
  display: none !important;
}

/* ── Market flow monitor: interpretation goes below the card ── */
#page-dashboard .macro-panel.has-inline-ticker #macro-body:not(.is-collapsed):not([hidden]),
#page-briefing .macro-panel.has-inline-ticker #macro-body:not(.is-collapsed):not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-grid,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-grid {
  order: 1 !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation {
  order: 2 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 2px 0 0 !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main {
  display: block !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-kicker,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: #6f857b !important;
  font-size: 0.79rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary {
  display: block !important;
  width: 100% !important;
  max-width: min(100%, 1240px) !important;
  margin: 0 !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  color: #344a41 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.86 !important;
}

#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-meta,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-meta {
  display: none !important;
}

[data-theme="dark"] #page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-kicker,
[data-theme="dark"] #page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-kicker {
  color: #9ab1a6 !important;
}

[data-theme="dark"] #page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary,
[data-theme="dark"] #page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary {
  color: #d4e0da !important;
}

@media (max-width: 900px) {
  #page-dashboard .macro-panel.has-inline-ticker #macro-body,
  #page-briefing .macro-panel.has-inline-ticker #macro-body {
    gap: 18px !important;
  }
}

/* ── Mind map: chip cleanup + graph polish ── */
#page-dashboard #research-studio .mm-guided-breadcrumb,
#page-briefing #research-studio .mm-guided-breadcrumb {
  gap: 10px !important;
  padding: 0 !important;
}

#page-dashboard #research-studio .mm-guided-chip,
#page-briefing #research-studio .mm-guided-chip {
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #F5F5F5 !important;
  box-shadow: none !important;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-guided-chip:hover,
#page-briefing #research-studio .mm-guided-chip:hover {
  background: rgba(248, 250, 252, 0.98) !important;
  border-color: rgba(100, 116, 139, 0.28) !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #F5F5F5 !important;
  transform: translateY(-1px) !important;
}

#page-dashboard #research-studio .mm-guided-chip.is-active,
#page-briefing #research-studio .mm-guided-chip.is-active {
  background: rgba(255, 255, 255, 1) !important;
  border-color: rgba(15, 23, 42, 0.22) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.06) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip.is-active {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #F5F5F5 !important;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.16) !important;
}

#page-dashboard #research-studio .mm-guided-chip-num,
#page-briefing #research-studio .mm-guided-chip-num {
  background: rgba(226, 232, 240, 0.82) !important;
  color: #F5F5F5 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip-num,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip-num {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-guided-chip.is-active .mm-guided-chip-num,
#page-briefing #research-studio .mm-guided-chip.is-active .mm-guided-chip-num {
  background: rgba(15, 23, 42, 0.08) !important;
  color: #0f172a !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip.is-active .mm-guided-chip-num,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip.is-active .mm-guided-chip-num {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-guided-chip-label,
#page-briefing #research-studio .mm-guided-chip-label {
  max-width: none !important;
}

#page-dashboard #research-studio .mm-context-strip,
#page-briefing #research-studio .mm-context-strip {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-context-strip.is-bull,
#page-briefing #research-studio .mm-context-strip.is-bull {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}

#page-dashboard #research-studio .mm-context-strip.is-bear,
#page-briefing #research-studio .mm-context-strip.is-bear {
  border-color: rgba(220, 38, 38, 0.18) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}

#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos {
  background: #fbfcfb !important;
  border-color: rgba(148, 163, 184, 0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  background: rgba(10, 14, 20, 0.97) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

#page-dashboard #research-studio .mindmap-cosmos::before,
#page-dashboard #research-studio .mindmap-cosmos::after,
#page-briefing #research-studio .mindmap-cosmos::before,
#page-briefing #research-studio .mindmap-cosmos::after {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-orbit,
#page-briefing #research-studio .mindmap-network-orbit {
  stroke: rgba(148, 163, 184, 0.08) !important;
}

#page-dashboard #research-studio .mindmap-network-link,
#page-briefing #research-studio .mindmap-network-link {
  opacity: 0.46 !important;
  animation: none !important;
  filter: none !important;
}

#page-dashboard #research-studio .mindmap-network-link.is-highlight,
#page-briefing #research-studio .mindmap-network-link.is-highlight {
  opacity: 0.9 !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node {
  border: 1px solid rgba(22, 163, 74, 0.14) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #0f172a !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background: rgba(18, 26, 36, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #F5F5F5 !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3) !important;
}

#page-dashboard #research-studio .mindmap-network-node::before,
#page-briefing #research-studio .mindmap-network-node::before,
#page-dashboard #research-studio .mindmap-network-node.is-active::after,
#page-dashboard #research-studio .mindmap-network-node.is-related::after,
#page-briefing #research-studio .mindmap-network-node.is-active::after,
#page-briefing #research-studio .mindmap-network-node.is-related::after {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover {
  border-color: rgba(22, 163, 74, 0.28) !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.1) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(22, 163, 74, 0.46) !important;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12), 0 18px 40px rgba(15, 23, 42, 0.1) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(74, 222, 128, 0.42) !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.12), 0 18px 40px rgba(0, 0, 0, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(134, 239, 172, 0.42) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(134, 239, 172, 0.28) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22) !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0,
#page-briefing #research-studio .mindmap-network-node.ring-0 {
  background: rgba(255, 255, 255, 0.99) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.ring-0,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.ring-0 {
  background: rgba(22, 32, 44, 0.99) !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-badge {
  background: rgba(22, 163, 74, 0.08) !important;
}

#page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
#page-briefing #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  border-color: rgba(22, 163, 74, 0.2) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #166534 !important;
  box-shadow: none !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
[data-theme="dark"] #page-briefing #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  background: rgba(20, 28, 38, 0.96) !important;
  border-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

/* ── My Page: delete block + summary hover refinement ── */
#page-mypage .mypg-delete-inline {
  justify-items: start !important;
  align-items: start !important;
  text-align: left !important;
}

#page-mypage #delete-account-btn.mypg-delete-btn-modern {
  order: 1 !important;
  justify-self: start !important;
  align-self: start !important;
  color: #dc2626 !important;
  text-align: left !important;
}

#page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
#page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible {
  color: #b91c1c !important;
}

#page-mypage .mypg-delete-inline-note {
  order: 2 !important;
  max-width: none !important;
  text-align: left !important;
}

[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern {
  color: #f87171 !important;
}

[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible {
  color: #fca5a5 !important;
}

#page-mypage .mypg-summary-card[data-mypg-tab-trigger] {
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}

#page-mypage .mypg-summary-card[data-mypg-tab-trigger]:hover {
  background: rgba(241, 243, 245, 0.94) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05) !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] #page-mypage .mypg-summary-card[data-mypg-tab-trigger]:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14) !important;
}

/* ── Mind Map: neutral cards and remove circular accent ── */
#page-dashboard #research-studio .mindmap-network-orbit,
#page-briefing #research-studio .mindmap-network-orbit {
  display: none !important;
}

/* ── studio feature cards: light / dark split ── */
#page-dashboard #research-studio .studio-feature-card,
#page-briefing #research-studio .studio-feature-card {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.05) !important;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
}
#page-dashboard #research-studio .studio-feature-card:hover:not(.is-active),
#page-briefing #research-studio .studio-feature-card:hover:not(.is-active) {
  background: rgba(243, 245, 248, 0.98) !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.07) !important;
}
#page-dashboard #research-studio .studio-feature-card.is-active,
#page-briefing #research-studio .studio-feature-card.is-active {
  border-color: rgba(22, 163, 74, 0.28) !important;
  background: rgba(255, 255, 255, 0.99) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card,
[data-theme="dark"] #page-briefing #research-studio .studio-feature-card {
  border-color: rgba(255, 255, 255, 0.07) !important;
  background: rgba(20, 27, 35, 0.92) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.2) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card:hover:not(.is-active),
[data-theme="dark"] #page-briefing #research-studio .studio-feature-card:hover:not(.is-active) {
  background: rgba(30, 38, 48, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.11) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card.is-active,
[data-theme="dark"] #page-briefing #research-studio .studio-feature-card.is-active {
  background: rgba(22, 30, 40, 0.96) !important;
  border-color: rgba(74, 222, 128, 0.22) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24) !important;
}

#page-dashboard #research-studio .studio-feature-card-icon,
#page-briefing #research-studio .studio-feature-card-icon {
  background: transparent !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-icon,
[data-theme="dark"] #page-briefing #research-studio .studio-feature-card-icon {
  background: transparent !important;
}

#page-dashboard #research-studio .studio-feature-card-credit,
#page-briefing #research-studio .studio-feature-card-credit {
  background: rgba(22, 163, 74, 0.1) !important;
  border-color: rgba(22, 163, 74, 0.18) !important;
  color: #15803d !important;
}
[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-credit,
[data-theme="dark"] #page-briefing #research-studio .studio-feature-card-credit {
  background: rgba(22, 163, 74, 0.12) !important;
  border-color: rgba(74, 222, 128, 0.18) !important;
  color: #4ade80 !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-dashboard #research-studio .mm-context-strip,
#page-dashboard #research-studio .mm-insight-card,
#page-briefing #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-context-strip,
#page-briefing #research-studio .mm-insight-card {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(148, 163, 184, 0.14) !important;
  box-shadow: none !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-header-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card,
[data-theme="dark"] #page-briefing #research-studio .mm-header-strip,
[data-theme="dark"] #page-briefing #research-studio .mm-context-strip,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card {
  background: rgba(20, 22, 21, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-context-strip.is-bull,
#page-dashboard #research-studio .mm-context-strip.is-bear,
#page-briefing #research-studio .mm-context-strip.is-bull,
#page-briefing #research-studio .mm-context-strip.is-bear {
  border-color: rgba(148, 163, 184, 0.16) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip.is-bull,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip.is-bear,
[data-theme="dark"] #page-briefing #research-studio .mm-context-strip.is-bull,
[data-theme="dark"] #page-briefing #research-studio .mm-context-strip.is-bear {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(20, 22, 21, 0.92) !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-strip,
[data-theme="dark"] #page-briefing #research-studio .mm-header-strip {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
}

#page-dashboard #research-studio .mm-header-name,
#page-briefing #research-studio .mm-header-name,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-name,
[data-theme="dark"] #page-briefing #research-studio .mm-header-name {
  margin: 0 !important;
  white-space: nowrap !important;
}

#page-dashboard #research-studio .mm-header-frame,
#page-briefing #research-studio .mm-header-frame,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-frame,
[data-theme="dark"] #page-briefing #research-studio .mm-header-frame {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 980px) {
  #page-dashboard #research-studio .mm-header-strip,
  #page-briefing #research-studio .mm-header-strip,
  [data-theme="dark"] #page-dashboard #research-studio .mm-header-strip,
  [data-theme="dark"] #page-briefing #research-studio .mm-header-strip {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  #page-dashboard #research-studio .mm-header-frame,
  #page-briefing #research-studio .mm-header-frame,
  [data-theme="dark"] #page-dashboard #research-studio .mm-header-frame,
  [data-theme="dark"] #page-briefing #research-studio .mm-header-frame {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

#page-dashboard #research-studio .mm-insight-card,
#page-briefing #research-studio .mm-insight-card {
  border-top-color: rgba(148, 163, 184, 0.22) !important;
}

#page-dashboard #research-studio .mm-insight-card.mm-tone-bull,
#page-dashboard #research-studio .mm-insight-card.mm-tone-bear,
#page-dashboard #research-studio .mm-insight-card.mm-tone-neutral,
#page-briefing #research-studio .mm-insight-card.mm-tone-bull,
#page-briefing #research-studio .mm-insight-card.mm-tone-bear,
#page-briefing #research-studio .mm-insight-card.mm-tone-neutral {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(148, 163, 184, 0.14) !important;
  border-top-color: rgba(148, 163, 184, 0.22) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card.mm-tone-bull,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card.mm-tone-bear,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card.mm-tone-neutral,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card.mm-tone-bull,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card.mm-tone-bear,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card.mm-tone-neutral {
  background: rgba(20, 22, 21, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

#page-dashboard #research-studio .mm-insight-card .mm-insight-label,
#page-dashboard #research-studio .mm-insight-card .mm-insight-value,
#page-briefing #research-studio .mm-insight-card .mm-insight-label,
#page-briefing #research-studio .mm-insight-card .mm-insight-value {
  color: #334155 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card .mm-insight-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card .mm-insight-value,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card .mm-insight-label,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card .mm-insight-value {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-related-chip.mm-tone-bull,
#page-dashboard #research-studio .mm-related-chip.mm-tone-bear,
#page-dashboard #research-studio .mm-related-chip.mm-tone-neutral,
#page-briefing #research-studio .mm-related-chip.mm-tone-bull,
#page-briefing #research-studio .mm-related-chip.mm-tone-bear,
#page-briefing #research-studio .mm-related-chip.mm-tone-neutral {
  border-color: rgba(148, 163, 184, 0.14) !important;
  border-left-color: rgba(148, 163, 184, 0.22) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mm-related-chip.mm-tone-bull,
[data-theme="dark"] #page-dashboard #research-studio .mm-related-chip.mm-tone-bear,
[data-theme="dark"] #page-dashboard #research-studio .mm-related-chip.mm-tone-neutral,
[data-theme="dark"] #page-briefing #research-studio .mm-related-chip.mm-tone-bull,
[data-theme="dark"] #page-briefing #research-studio .mm-related-chip.mm-tone-bear,
[data-theme="dark"] #page-briefing #research-studio .mm-related-chip.mm-tone-neutral {
  background: rgba(20, 22, 21, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-left-color: rgba(255, 255, 255, 0.14) !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-badge {
  background: rgba(148, 163, 184, 0.12) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bull .mindmap-network-node-badge,
#page-dashboard #research-studio .mindmap-network-node.is-bear .mindmap-network-node-badge,
#page-dashboard #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node.is-bull .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node.is-bear .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-badge {
  background: rgba(148, 163, 184, 0.12) !important;
  color: #F5F5F5 !important;
}

/* ── Mind Map: ELK-based enterprise refresh ── */
#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos {
  background: linear-gradient(180deg, #fcfdfd 0%, #f6f8fb 100%) !important;
  border: 1px solid rgba(148, 163, 184, 0.15) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 16px 34px rgba(15, 23, 42, 0.05) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  background: rgba(10, 14, 20, 0.97) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 16px 34px rgba(0, 0, 0, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-graph-viewport,
#page-briefing #research-studio .mindmap-graph-viewport {
  inset: 70px 20px 20px !important;
  border-radius: 26px !important;
}

.zoom-mindmap-container .mindmap-graph-viewport--zoom {
  inset: 18px !important;
  border-radius: 28px !important;
}

#page-dashboard #research-studio .mindmap-network-svg,
#page-briefing #research-studio .mindmap-network-svg {
  overflow: hidden !important;
}

#page-dashboard #research-studio .mindmap-network-link,
#page-briefing #research-studio .mindmap-network-link {
  opacity: 0.58 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: none !important;
}

#page-dashboard #research-studio .mindmap-network-link.is-highlight,
#page-briefing #research-studio .mindmap-network-link.is-highlight {
  opacity: 0.92 !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node {
  border: 1px solid rgba(148, 163, 184, 0.2) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.995) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06) !important;
  color: #0f172a !important;
  gap: 5px !important;
  padding: 14px 16px !important;
  align-content: center !important;
  overflow: hidden !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background: rgba(18, 26, 36, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #F5F5F5 !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.3) !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover {
  transform: translate(-50%, -50%) translateY(-2px) !important;
  border-color: rgba(100, 116, 139, 0.28) !important;
  box-shadow: 0 22px 40px rgba(15, 23, 42, 0.09) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(15, 23, 42, 0.24) !important;
  box-shadow:
    0 0 0 3px rgba(15, 23, 42, 0.05),
    0 18px 36px rgba(15, 23, 42, 0.09) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(74, 222, 128, 0.38) !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.1), 0 18px 36px rgba(0, 0, 0, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(148, 163, 184, 0.24) !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2) !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0,
#page-briefing #research-studio .mindmap-network-node.ring-0 {
  border-radius: 28px !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.ring-0,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.ring-0 {
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.32) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-bull,
#page-dashboard #research-studio .mindmap-network-node.is-bear,
#page-dashboard #research-studio .mindmap-network-node.is-neutral,
#page-briefing #research-studio .mindmap-network-node.is-bull,
#page-briefing #research-studio .mindmap-network-node.is-bear,
#page-briefing #research-studio .mindmap-network-node.is-neutral {
  border-color: rgba(148, 163, 184, 0.2) !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-badge {
  min-height: 22px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  background: rgba(241, 245, 249, 0.9) !important;
  color: #64748b !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-badge,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-badge {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node-title {
  color: #0f172a !important;
  font-size: 1rem !important;
  line-height: 1.24 !important;
  letter-spacing: -0.03em !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  word-break: keep-all !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-title {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title {
  font-size: 1.34rem !important;
}

#page-dashboard #research-studio .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node-caption {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  color: #64748b !important;
  font-size: 0.76rem !important;
  line-height: 1.38 !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-caption,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-caption {
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mindmap-network-node[data-node-ring="2"] .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node[data-node-ring="2"] .mindmap-network-node-caption {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-node[data-node-kind="event"],
#page-briefing #research-studio .mindmap-network-node[data-node-kind="event"] {
  border-style: solid !important;
}

#page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
#page-briefing #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  border-color: rgba(148, 163, 184, 0.2) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #334155 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}
[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
[data-theme="dark"] #page-briefing #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  background: rgba(18, 26, 36, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #94a3b8 !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important;
}

@media (max-width: 768px) {
  html,
  body {
    overflow-x: clip;
  }

  .page-shell {
    min-height: 100dvh;
  }

  #page-dashboard,
  #page-briefing {
    overflow-x: clip !important;
  }

  #page-dashboard {
    padding: 16px 0 calc(env(safe-area-inset-bottom, 0px) + 88px) !important;
  }

  #page-dashboard .workspace,
  #page-dashboard .dashboard-shell,
  #page-dashboard .dashboard-main,
  #page-dashboard .dashboard-stage,
  #page-dashboard #opportunity-hub,
  #page-dashboard #section-recommend,
  #page-dashboard #research-studio,
  #page-dashboard .recommend-panel,
  #page-dashboard .recommend-grid,
  #page-dashboard .recommend-grid--tabbed,
  #page-dashboard .recommend-card-panel,
  #page-dashboard .research-studio-shell,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane,
  #page-dashboard .panel,
  #page-dashboard .panel-body,
  #page-dashboard .chart-card,
  #page-dashboard .summary-card,
  #page-dashboard .report-panel,
  #page-dashboard .checkpoint-panel,
  #page-dashboard .mindmap-panel,
  #page-dashboard .market-intel-grid,
  #page-dashboard .mi-three-cards,
  #page-dashboard .day-score-main,
  #page-dashboard .day-score-secondary,
  #page-dashboard .macro-grid,
  #page-dashboard .dashboard-stage-head,
  #page-dashboard .dashboard-head-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-dashboard .dashboard-shell,
  #page-dashboard .dashboard-main,
  #page-dashboard .dashboard-stage,
  #page-dashboard .panel,
  #page-dashboard .panel-body,
  #page-dashboard #research-studio,
  #page-dashboard .research-studio-shell,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane {
    overflow-x: clip !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav,
  #page-briefing .dash-subnav.dashboard-quicknav {
    top: calc(env(safe-area-inset-top, 0px) + 60px) !important;
    margin: 0 0 6px !important;
    border-radius: 18px !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner,
  #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill,
  #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill {
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  #page-dashboard .day-score-main {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard .day-score-orb {
    width: clamp(124px, 42vw, 156px) !important;
  }

  #page-dashboard .day-score-narrative-top,
  #page-dashboard .rec-signal-footer {
    flex-wrap: wrap !important;
  }

  #page-dashboard .rec-head-row,
  #page-dashboard .rec-head-main.has-chart {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard .day-score-breakdown,
  #page-dashboard .rec-signal-lbl,
  #page-dashboard .rec-name-wrap,
  #page-dashboard .recommend-inline-summary {
    white-space: normal !important;
  }

  #page-dashboard .rec-price-wrap {
    justify-items: start !important;
    text-align: left !important;
  }

  #page-dashboard .rec-mini-chart {
    width: 100% !important;
    max-width: 100% !important;
  }

  #page-dashboard #recommend-tablist,
  #page-dashboard #recommend-body > .recommend-tabs[role="tablist"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  #page-dashboard .recommend-tab {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  #page-dashboard .recommend-premium-cta {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
  }

  #page-dashboard .recommend-premium-row,
  #page-dashboard .recommend-premium-btn,
  #page-dashboard .recommend-unlock-btn {
    width: 100% !important;
  }

  #page-dashboard .recommend-grid--tabbed,
  #page-dashboard .recommend-card-panel,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane,
  #page-dashboard .market-intel-grid {
    padding: 14px !important;
  }

  #page-dashboard .recommend-row-head,
  #page-dashboard .recommend-body-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
  }

  #page-dashboard .recommend-row-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #page-dashboard #research-studio {
    padding: 16px !important;
  }

  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard #research-studio .studio-feature-card,
  #page-dashboard #research-studio .research-pane,
  #page-dashboard #research-studio .research-pane .panel,
  #page-dashboard #research-studio .research-studio-command {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .chart-wrap,
  #page-dashboard .zoom-chart-wrap,
  #page-dashboard #price-chart,
  #page-dashboard #zoom-chart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .chart-head,
  #page-dashboard .chart-toolbar {
    min-width: 0 !important;
  }

  #page-dashboard .chart-tabs,
  #page-dashboard .tf-option-buttons,
  #page-dashboard .indicator-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  #page-dashboard .markdown-body,
  #page-dashboard .cp-body,
  #page-dashboard .mindmap-body {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #page-dashboard .markdown-body {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  #page-dashboard .markdown-body pre,
  #page-dashboard .markdown-body table,
  #page-dashboard .cp-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }
}

@media (max-width: 520px) {
  #page-dashboard .recommend-head,
  #page-dashboard .market-intel-head,
  #page-dashboard .macro-head,
  #page-dashboard .day-score-head,
  #page-dashboard .report-head,
  #page-dashboard .section-head,
  #page-dashboard .briefing-intel-header-right {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .macro-head-right,
  #page-dashboard .report-actions,
  #page-dashboard .briefing-intel-header-right {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  #page-dashboard .panel-chip-btn,
  #page-dashboard .macro-updated,
  #page-dashboard .ghost-btn,
  #page-dashboard .analysis-cta-btn,
  #page-dashboard .analysis-secondary-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .recommend-grid--tabbed,
  #page-dashboard .recommend-card-panel,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane,
  #page-dashboard .market-intel-grid,
  #page-dashboard .chart-card,
  #page-dashboard .summary-card {
    padding: 12px !important;
  }
}

/* ── Final mobile-only hardening for webview layout integrity ── */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .topbar,
  .topbar-inner,
  .brand-area,
  .topbar-end,
  .primary-nav,
  .page-shell,
  .app-pages,
  .app-page {
    min-width: 0 !important;
  }

  .topbar-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 8px 10px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 12px 8px !important;
  }

  .brand-area,
  .topbar-end {
    min-width: 0 !important;
  }

  .topbar-end {
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }

  .topbar .primary-nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 0 4px !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
  }

  .topbar .primary-nav::-webkit-scrollbar {
    display: none;
  }

  .topbar .primary-nav .nav-pill,
  .topbar-end .btn-ghost-sm,
  .btn-login,
  .btn-signup,
  .icon-btn,
  .panel-chip-btn,
  .ghost-btn,
  .analysis-cta-btn,
  .analysis-secondary-btn {
    min-height: 40px !important;
  }

  .page-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  #page-home,
  #page-pricing,
  #page-mypage,
  #page-briefing,
  #page-dashboard,
  #page-refund {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #page-home,
  #page-pricing,
  #page-mypage,
  #page-briefing,
  #page-dashboard {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 80px) !important;
  }

  #page-home .hero {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 28px 14px 48px !important;
    box-sizing: border-box !important;
  }

  #page-pricing,
  #page-mypage .workspace,
  #page-briefing .workspace,
  #page-dashboard .workspace,
  #page-refund .legal-shell {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  #page-home .hero-grid,
  #page-home .hero-stat-row,
  #page-pricing .pricing-cards,
  #page-pricing .pricing-topup-cards,
  #page-pricing .pricing-usage-grid,
  #page-mypage .mypg-summary-grid,
  #page-mypage .mypg-main-layout,
  #page-dashboard .dashboard-journey-grid,
  #page-dashboard .dashboard-stage-grid,
  #page-briefing .dashboard-stage-grid,
  #page-dashboard #research-studio .studio-feature-cards,
  #page-dashboard .summary-metrics,
  #page-dashboard .chart-head,
  #page-dashboard .chart-toolbar,
  #page-dashboard .analysis-form,
  #page-dashboard .analyze-btn-row,
  #page-dashboard .checkpoint-form,
  #page-dashboard .mindmap-form,
  #page-dashboard .briefing-intel-header-right,
  #page-briefing .briefing-intel-header-right {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #page-pricing .pricing-topup-header,
  #page-mypage .mypg-modern-head,
  #page-mypage .briefing-header-one-line,
  #page-dashboard .dashboard-stage-head,
  #page-briefing .dashboard-stage-head,
  #page-dashboard .briefing-intel-title-row,
  #page-briefing .briefing-intel-title-row,
  #page-dashboard .recommend-head,
  #page-dashboard .market-intel-head,
  #page-briefing .market-intel-head,
  #page-dashboard .section-head,
  #page-dashboard .service-hero-action-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #page-pricing .pricing-topup-header > *,
  #page-mypage .mypg-modern-head > *,
  #page-mypage .briefing-header-one-line > *,
  #page-dashboard .dashboard-stage-head > *,
  #page-briefing .dashboard-stage-head > *,
  #page-dashboard .briefing-intel-title-row > *,
  #page-briefing .briefing-intel-title-row > *,
  #page-dashboard .recommend-head > *,
  #page-dashboard .market-intel-head > *,
  #page-briefing .market-intel-head > *,
  #page-dashboard .section-head > *,
  #page-dashboard .service-hero-action-row > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #page-dashboard .recommend-head-right,
  #page-dashboard .market-intel-head-right,
  #page-dashboard .day-score-head-right,
  #page-dashboard .macro-head-right,
  #page-dashboard .report-actions,
  #page-mypage .mypg-account-actions-top,
  #page-mypage .mypg-delete-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .dashboard-shell,
  #page-briefing .dashboard-shell,
  #page-mypage .dashboard-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav,
  #page-briefing .dash-subnav.dashboard-quicknav {
    position: static !important;
    top: auto !important;
    order: 0 !important;
    align-self: stretch !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border-radius: 18px !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner,
  #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-inner::-webkit-scrollbar,
  #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-inner::-webkit-scrollbar {
    display: none;
  }

  #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill,
  #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
  }

  #page-dashboard .dash-subnav-pill-label,
  #page-briefing .dash-subnav-pill-label {
    display: block !important;
    max-width: none !important;
    min-height: 0 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    text-align: left !important;
  }

  #page-dashboard .dashboard-main,
  #page-briefing .dashboard-main,
  #page-mypage .dashboard-main,
  #page-dashboard .dashboard-stage,
  #page-briefing .dashboard-stage,
  #page-dashboard #opportunity-hub,
  #page-dashboard #section-recommend,
  #page-dashboard #research-studio,
  #page-dashboard .recommend-panel,
  #page-dashboard .recommend-grid,
  #page-dashboard .recommend-grid--tabbed,
  #page-dashboard .recommend-card-panel,
  #page-dashboard .recommend-list,
  #page-dashboard .recommend-item,
  #page-dashboard .recommend-row-head,
  #page-dashboard .recommend-body-inner,
  #page-dashboard .research-studio-shell,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane,
  #page-dashboard .panel,
  #page-dashboard .panel-body,
  #page-briefing .panel,
  #page-briefing .market-intel-grid,
  #page-dashboard .market-intel-grid,
  #page-briefing .mi-car,
  #page-dashboard .mi-car,
  #page-briefing .mi-car-viewport,
  #page-dashboard .mi-car-viewport,
  #page-briefing .mi-car-track,
  #page-dashboard .mi-car-track,
  #page-briefing .mi-car-card,
  #page-dashboard .mi-car-card,
  #page-dashboard .macro-grid,
  #page-briefing .macro-grid,
  #page-dashboard .day-score-content,
  #page-briefing .day-score-content,
  #page-pricing .pricing-card-item,
  #page-pricing .pricing-topup-item,
  #page-pricing .pricing-usage-card,
  #page-mypage .mypg-summary-card,
  #page-mypage .mypg-section-panel,
  #page-mypage .mypg-left-column,
  #page-mypage .mypg-right-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    inline-size: 100% !important;
    box-sizing: border-box !important;
  }

  #page-dashboard .dashboard-main > *,
  #page-briefing .dashboard-main > *,
  #page-mypage .dashboard-main > * {
    min-width: 0 !important;
  }

  #page-dashboard .dashboard-stage-grid--context > *,
  #page-dashboard .dashboard-stage-grid--opportunity > *,
  #page-briefing .dashboard-stage-grid--context > *,
  #page-briefing .dashboard-stage-grid--opportunity > * {
    grid-column: 1 / -1 !important;
  }

  #page-dashboard .dashboard-stage-head,
  #page-briefing .dashboard-stage-head {
    max-width: none !important;
  }

  #page-dashboard .dashboard-stage-title,
  #page-briefing .dashboard-stage-title,
  #page-dashboard .dashboard-journey-title,
  #page-briefing .dashboard-journey-title,
  #page-briefing .briefing-page-title,
  #page-dashboard .recommend-head h2,
  #page-briefing .market-intel-head h2 {
    max-width: 100% !important;
    font-size: clamp(1.18rem, 5.2vw, 1.72rem) !important;
    line-height: 1.14 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  #page-dashboard .dashboard-stage-desc,
  #page-briefing .dashboard-stage-desc,
  #page-dashboard .dashboard-stage-note,
  #page-briefing .dashboard-stage-note,
  #page-dashboard .dashboard-journey-desc,
  #page-briefing .briefing-subtitle,
  #page-dashboard .recommend-inline-summary,
  #page-dashboard .day-score-breakdown,
  #page-dashboard .rec-signal-lbl,
  #page-dashboard .rec-name-wrap {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  #page-dashboard .recommend-row-head,
  #page-dashboard .rec-head-row,
  #page-dashboard .rec-head-main.has-chart,
  #page-dashboard .day-score-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #page-dashboard .recommend-row-head,
  #page-dashboard .recommend-body-inner,
  #page-dashboard .recommend-grid--tabbed,
  #page-dashboard .recommend-card-panel,
  #page-dashboard .research-studio-body,
  #page-dashboard .research-pane,
  #page-dashboard .market-intel-grid,
  #page-dashboard .chart-card,
  #page-dashboard .summary-card,
  #page-pricing .pricing-card-item,
  #page-pricing .pricing-topup-item,
  #page-pricing .pricing-usage-card,
  #page-mypage .panel-body {
    padding: 14px !important;
  }

  #page-dashboard .rec-price-wrap {
    justify-items: start !important;
    text-align: left !important;
  }

  #page-dashboard .task-focus-chips,
  #page-dashboard .quick-pick-btns,
  #page-dashboard .research-studio-quick-picks {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .ticker-autocomplete-wrap,
  #page-dashboard .research-studio-search-wrap,
  #page-dashboard .studio-inline-search-wrap,
  #page-dashboard input,
  #page-dashboard textarea,
  #page-dashboard select,
  #page-mypage .inquiry-form input,
  #page-mypage .inquiry-form textarea,
  #page-pricing select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-dashboard .chart-wrap,
  #page-dashboard .zoom-chart-wrap,
  #page-dashboard #price-chart,
  #page-dashboard #zoom-chart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  #page-home img,
  #page-pricing img,
  #page-mypage img,
  #page-briefing img,
  #page-dashboard img,
  #page-home svg,
  #page-pricing svg,
  #page-mypage svg,
  #page-briefing svg,
  #page-dashboard svg,
  #page-home canvas,
  #page-pricing canvas,
  #page-mypage canvas,
  #page-briefing canvas,
  #page-dashboard canvas,
  #page-home video,
  #page-pricing video,
  #page-mypage video,
  #page-briefing video,
  #page-dashboard video {
    display: block;
    max-width: 100% !important;
    height: auto;
  }

  #page-dashboard .mi-car-track,
  #page-briefing .mi-car-track {
    gap: 12px !important;
  }

  #page-dashboard .mi-car-card,
  #page-briefing .mi-car-card {
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }

  #page-dashboard .mi-car-arrow,
  #page-briefing .mi-car-arrow {
    display: none !important;
  }

  #page-pricing .pricing-table-wrap,
  #page-dashboard .markdown-body table,
  #page-dashboard .cp-body table,
  #page-dashboard .mindmap-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #page-pricing .pricing-table {
    min-width: 640px;
  }

  #page-mypage .mypg-tab-nav,
  #page-dashboard .chart-tabs,
  #page-dashboard .tf-option-buttons,
  #page-dashboard .indicator-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #page-mypage .mypg-tab-nav::-webkit-scrollbar,
  #page-dashboard .chart-tabs::-webkit-scrollbar,
  #page-dashboard .tf-option-buttons::-webkit-scrollbar,
  #page-dashboard .indicator-row::-webkit-scrollbar {
    display: none;
  }

  #page-mypage .mypg-tab-btn {
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }
}

@media (max-width: 520px) {
  #page-dashboard .recommend-head-right .panel-chip-btn,
  #page-dashboard .market-intel-head-right .panel-chip-btn,
  #page-dashboard .day-score-head-right .panel-chip-btn,
  #page-dashboard .macro-head-right .panel-chip-btn,
  #page-mypage .mypg-account-actions-top .panel-chip-btn,
  #page-mypage .mypg-delete-actions > * {
    width: 100% !important;
  }

  #page-dashboard #recommend-tablist,
  #page-dashboard #recommend-body > .recommend-tabs[role="tablist"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #page-dashboard .dashboard-stage-title,
  #page-briefing .dashboard-stage-title,
  #page-dashboard .dashboard-journey-title,
  #page-briefing .briefing-page-title {
    font-size: clamp(1.12rem, 6vw, 1.5rem) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE LAYOUT FIX — v20260330
   시그널 브리핑 폭 / 마켓 브리핑 오버플로우 / 전체 양쪽 폭 개선
   PC 버전 무변경 — max-width: 768px 전용
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── 1. 시그널 브리핑 카드 전체 폭 보장 ─────────────────────────── */
  /* dashboard-stage-grid--signal은 별도 column-span 규칙이 없으므로
     명시적으로 full-span 지정 */
  #page-dashboard .dashboard-stage-grid--signal,
  #page-dashboard .dashboard-stage-grid--signal > #section-recommend,
  #page-dashboard .dashboard-stage-grid--signal > .panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
    box-sizing: border-box !important;
  }

  /* ── 2. recommend-head: 2-컬럼 그리드 → 세로 스택 (원인 직격) ───── */
  /* grid-template-columns: minmax(0,1fr) auto 에서
     auto 컬럼이 overflow하면 1fr이 0px로 수축 → 텍스트 세로 출력 */
  #page-dashboard .recommend-head,
  #page-dashboard #section-recommend .recommend-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-bottom: 14px !important;
  }

  #page-dashboard .recommend-head > .dashboard-head-copy,
  #page-dashboard .recommend-head > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
  }

  #page-dashboard .recommend-head-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* 업데이트 시간 텍스트: 줄바꿈 허용, 오버플로우 방지 */
  #page-dashboard .recommend-head-right .macro-updated,
  #page-dashboard #section-recommend .macro-updated {
    font-size: 0.72rem !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* 새로고침·접기 버튼 */
  #page-dashboard .recommend-head-right .panel-chip-btn,
  #page-dashboard .recommend-head-right .ghost-btn {
    flex: 0 0 auto !important;
    min-width: fit-content !important;
  }

  /* recommend-title-row (시그널 브리핑 제목 행) */
  #page-dashboard .recommend-title-row,
  #page-dashboard .recommend-title-row.briefing-intel-title-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .recommend-head h2,
  #page-dashboard #section-recommend .recommend-head h2 {
    font-size: clamp(1rem, 4.5vw, 1.25rem) !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    min-width: 0 !important;
  }

  /* ── 3. 마켓 브리핑 페이지: 오버플로우 수정 ──────────────────────── */
  /* 핵심 원인: flex-wrap: nowrap !important + flex-shrink:0 으로 수평 오버플로우 */
  #page-briefing .briefing-intel-kicker-row {
    display: flex !important;
    flex-direction: column !important;   /* 세로 스택으로 전환 */
    flex-wrap: wrap !important;          /* nowrap !important 덮어씀 */
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  #page-briefing .briefing-intel-header-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    flex-shrink: 1 !important;           /* 0 → 1 으로 shrink 허용 */
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-briefing .briefing-intel-header-right .macro-updated {
    font-size: 0.72rem !important;
    white-space: normal !important;
    word-break: break-word !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #page-briefing .briefing-intel-header-right .panel-chip-btn,
  #page-briefing .briefing-intel-header-right .ghost-btn {
    flex: 0 0 auto !important;
  }

  /* briefing-intel-header-left / header 전체 오버플로우 방지 */
  #page-briefing .briefing-intel-header,
  #page-briefing .briefing-intel-header-left,
  #page-briefing .briefing-intel-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* briefing-intel-title-row: inline-flex → flex (폭 채우기) */
  #page-briefing .briefing-intel-title-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-briefing .briefing-intel-title {
    font-size: clamp(1.1rem, 5vw, 1.4rem) !important;
    white-space: normal !important;
    word-break: keep-all !important;
    min-width: 0 !important;
  }

  /* ── 4. 마켓 브리핑 market-intel-panel 패딩/폭 ──────────────────── */
  #page-briefing .market-intel-panel,
  #page-briefing .market-intel-panel .panel-body,
  #page-briefing .market-intel-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  /* mi-three-cards: 이미 860px에서 스크롤 슬라이더로 전환됨
     여기서는 컨테이너 폭만 보장 */
  #page-briefing .mi-three-cards,
  #page-dashboard .mi-three-cards {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* ── 5. macro-head: 다열 그리드 → 세로 스택 ─────────────────────── */
  /* macro-head에는 grid-template-columns: minmax(0,1fr) auto가 있어서
     head-right 폭이 크면 마찬가지로 수축 발생 */
  #page-briefing .macro-head,
  #page-dashboard .macro-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-briefing .macro-head-right,
  #page-dashboard .macro-head-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-briefing .macro-head-right .macro-updated,
  #page-dashboard .macro-head-right .macro-updated {
    flex: 1 1 auto !important;
    font-size: 0.72rem !important;
    white-space: normal !important;
    word-break: break-word !important;
    min-width: 0 !important;
  }

  #page-briefing .macro-ticker-scroll,
  #page-dashboard .macro-ticker-scroll {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
  }

  /* ── 6. day-score-head: 동일한 2-컬럼 그리드 문제 ───────────────── */
  #page-briefing .day-score-head,
  #page-dashboard .day-score-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-briefing .day-score-head-right,
  #page-dashboard .day-score-head-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* ── 7. market-intel-head (대시보드) ─────────────────────────────── */
  #page-dashboard .market-intel-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #page-dashboard .market-intel-head-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* ── 8. service-hero (대시보드 상단) ────────────────────────────── */
  #page-dashboard .service-hero,
  #page-briefing .service-hero {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
    gap: 12px !important;
  }

  #page-dashboard .service-hero-aside,
  #page-briefing .service-hero-aside {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* ── 9. 전체 양쪽 패딩 통일 ──────────────────────────────────────── */
  #page-dashboard .workspace,
  #page-briefing .workspace {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* ── 10. 상단 네비게이션 탭: 텍스트 가독성 보장 ────────────────── */
  .topbar .primary-nav .nav-pill {
    font-size: 0.82rem !important;
    padding: 0 10px !important;
    min-height: 36px !important;
    white-space: nowrap !important;
  }

  /* ── 11. 공통 패널 헤더 overflow 완전 차단 ───────────────────────── */
  #page-dashboard .panel,
  #page-briefing .panel {
    overflow-x: hidden !important;
  }

  /* ── 12. 제목 폰트 크기 (너무 크면 줄바꿈 발생) ────────────────── */
  #page-dashboard .dashboard-stage-title,
  #page-briefing .dashboard-stage-title {
    font-size: clamp(1.1rem, 5.5vw, 1.45rem) !important;
    word-break: keep-all !important;
  }
}

/* ── 360px 이하 초소형 화면 추가 보정 ──────────────────────────────── */
@media (max-width: 360px) {
  #page-dashboard .workspace,
  #page-briefing .workspace {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #page-dashboard .macro-panel,
  #page-dashboard .day-score-panel,
  #page-dashboard .recommend-panel,
  #page-dashboard .market-intel-panel,
  #page-briefing .panel {
    padding: 14px 12px !important;
    border-radius: 16px !important;
  }

  #page-dashboard .recommend-head h2,
  #page-briefing .briefing-intel-title {
    font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
  }
}

/* ── day-score-disclaimer ──────────────────────────────────────── */
.day-score-disclaimer {
  margin: 10px 16px 4px;
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--surface-strong, rgba(107,114,128,0.06));
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--color-text-secondary, #9ca3af);
  background: transparent;
}

/* ── Research Studio desktop hard guard ──────────────────────────────── */
#page-dashboard #research-studio,
#page-dashboard #research-studio > *,
#page-dashboard #research-studio .research-studio-shell,
#page-dashboard #research-studio .research-studio-command,
#page-dashboard #research-studio .research-studio-command-main,
#page-dashboard #research-studio .studio-feature-cards,
#page-dashboard #research-studio .research-studio-body,
#page-dashboard #research-studio .research-pane,
#page-dashboard #research-studio .research-pane > .panel {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  box-sizing: border-box !important;
}

#page-dashboard #research-studio {
  overflow-x: clip !important;
}

#page-dashboard #research-studio .research-studio-shell {
  display: block !important;
  overflow-x: clip !important;
}

#page-dashboard #research-studio .research-studio-command {
  display: block !important;
  margin: 0 !important;
  padding: 20px !important;
  overflow: hidden !important;
  contain: layout paint !important;
}

#page-dashboard #research-studio .research-studio-command-main {
  display: grid !important;
  gap: 10px !important;
  justify-items: start !important;
}

#page-dashboard #research-studio .research-studio-search-wrap,
#page-dashboard #research-studio .research-studio-search-wrap input,
#page-dashboard #research-studio .research-studio-quick-picks,
#page-dashboard #research-studio .dashboard-stage-note {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
}

#page-dashboard #research-studio .ticker-suggest-list {
  inline-size: auto !important;
  max-inline-size: 100% !important;
}

#page-dashboard #research-studio .studio-feature-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  overflow-x: clip !important;
}

@media (max-width: 1180px) {
  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ── Research Studio input / feature copy width tuning ───────────────── */
@media (min-width: 769px) {
  #page-dashboard #research-studio .research-studio-search-wrap,
  #page-dashboard #research-studio .ticker-autocomplete-wrap.research-studio-search-wrap,
  #page-briefing #research-studio .research-studio-search-wrap,
  #page-briefing #research-studio .ticker-autocomplete-wrap.research-studio-search-wrap {
    max-width: 460px !important;
  }
}

#page-dashboard #research-studio .studio-feature-card,
#page-briefing #research-studio .studio-feature-card {
  align-items: stretch !important;
}

#page-dashboard #research-studio .studio-feature-card-name,
#page-dashboard #research-studio .studio-feature-card-desc,
#page-briefing #research-studio .studio-feature-card-name,
#page-briefing #research-studio .studio-feature-card-desc {
  width: 100% !important;
  max-width: none !important;
}

#page-dashboard #research-studio .studio-feature-card-desc,
#page-briefing #research-studio .studio-feature-card-desc {
  font-size: 0.92rem !important;
  line-height: 1.68 !important;
  text-wrap: pretty;
}

/* ── Mind Map readability refresh ───────────────────────────────────────── */
#page-dashboard #research-studio .mindmap-stage-shell,
#page-briefing #research-studio .mindmap-stage-shell {
  display: grid !important;
  gap: 18px !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip,
#page-dashboard #research-studio .mm-context-strip,
#page-briefing #research-studio .mm-context-strip,
#page-dashboard #research-studio .mm-insight-card,
#page-briefing #research-studio .mm-insight-card,
#page-dashboard #research-studio .mm-glance-group,
#page-briefing #research-studio .mm-glance-group,
#page-dashboard #research-studio .mm-value-chain-card,
#page-briefing #research-studio .mm-value-chain-card,
#page-dashboard #research-studio .mm-insight-stack-card,
#page-briefing #research-studio .mm-insight-stack-card,
#page-dashboard #research-studio .mm-decision-card,
#page-briefing #research-studio .mm-decision-card,
#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-strip,
[data-theme="dark"] #page-briefing #research-studio .mm-header-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip,
[data-theme="dark"] #page-briefing #research-studio .mm-context-strip,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-glance-group,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-group,
[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-card,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-card,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-decision-card,
[data-theme="dark"] #page-briefing #research-studio .mm-decision-card,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  background: rgba(20, 22, 21, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip {
  padding: 18px 20px !important;
  border-radius: 18px !important;
}

#page-dashboard #research-studio .mm-header-name,
#page-briefing #research-studio .mm-header-name {
  font-size: 1.26rem !important;
  line-height: 1.18 !important;
  letter-spacing: -0.03em !important;
}

#page-dashboard #research-studio .mm-header-frame,
#page-briefing #research-studio .mm-header-frame {
  margin-top: 8px !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-frame,
[data-theme="dark"] #page-briefing #research-studio .mm-header-frame {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-signal-board,
#page-briefing #research-studio .mm-signal-board {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-insight-card,
#page-briefing #research-studio .mm-insight-card {
  display: grid !important;
  gap: 8px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  align-content: start !important;
}

#page-dashboard #research-studio .mm-insight-card.is-primary,
#page-briefing #research-studio .mm-insight-card.is-primary {
  border-left: 0 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card.is-primary,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card.is-primary {
  border-left: 0 !important;
}

#page-dashboard #research-studio .mm-insight-label,
#page-briefing #research-studio .mm-insight-label,
#page-dashboard #research-studio .mm-glance-group-title,
#page-briefing #research-studio .mm-glance-group-title,
#page-dashboard #research-studio .mm-value-chain-kicker,
#page-briefing #research-studio .mm-value-chain-kicker,
#page-dashboard #research-studio .mm-insight-stack-kicker,
#page-briefing #research-studio .mm-insight-stack-kicker,
#page-dashboard #research-studio .mm-decision-label,
#page-briefing #research-studio .mm-decision-label {
  margin: 0 !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-insight-value,
#page-briefing #research-studio .mm-insight-value {
  font-size: 1.02rem !important;
  line-height: 1.45 !important;
  color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-insight-value,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-value {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-insight-text,
#page-briefing #research-studio .mm-insight-text,
#page-dashboard #research-studio .mm-glance-link,
#page-briefing #research-studio .mm-glance-link,
#page-dashboard #research-studio .mm-value-chain-text,
#page-briefing #research-studio .mm-value-chain-text,
#page-dashboard #research-studio .mm-insight-stack-text,
#page-briefing #research-studio .mm-insight-stack-text,
#page-dashboard #research-studio .mm-decision-card p,
#page-briefing #research-studio .mm-decision-card p {
  margin: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.68 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-insight-text,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-text,
[data-theme="dark"] #page-dashboard #research-studio .mm-glance-link,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-link,
[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-text,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-text,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-text,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-text,
[data-theme="dark"] #page-dashboard #research-studio .mm-decision-card p,
[data-theme="dark"] #page-briefing #research-studio .mm-decision-card p {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-glance-rail,
#page-briefing #research-studio .mm-glance-rail {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-glance-group,
#page-briefing #research-studio .mm-glance-group {
  display: grid !important;
  gap: 10px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
}

#page-dashboard #research-studio .mm-glance-group-items,
#page-briefing #research-studio .mm-glance-group-items {
  display: grid !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-glance-item,
#page-briefing #research-studio .mm-glance-item {
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
}

#page-dashboard #research-studio .mm-glance-item:last-child,
#page-briefing #research-studio .mm-glance-item:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

#page-dashboard #research-studio .mm-glance-link,
#page-briefing #research-studio .mm-glance-link {
  display: block !important;
  text-decoration: none !important;
  color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-glance-link,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-link {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-canvas-wrap,
#page-briefing #research-studio .mm-canvas-wrap {
  display: grid !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos {
  border-radius: 20px !important;
  background: #fcfcfd !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  background: rgba(15, 23, 42, 0.94) !important;
}

#page-dashboard #research-studio .mindmap-network-link,
#page-briefing #research-studio .mindmap-network-link {
  opacity: 0.42 !important;
  filter: none !important;
}

#page-dashboard #research-studio .mindmap-network-link.is-highlight,
#page-briefing #research-studio .mindmap-network-link.is-highlight {
  opacity: 0.9 !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node {
  border-radius: 18px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  box-shadow: none !important;
  transform: translate(-50%, -50%) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background: rgba(15, 23, 42, 0.98) !important;
  border-color: rgba(148, 163, 184, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover,
#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active,
#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node.is-related {
  box-shadow: none !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover {
  transform: translate(-50%, -50%) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-badge,
#page-dashboard #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn,
#page-briefing #research-studio .mindmap-graph-controls .mindmap-graph-zoom-btn {
  box-shadow: none !important;
}

#page-dashboard #research-studio .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node-title {
  font-size: 0.98rem !important;
}

#page-dashboard #research-studio .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node-caption {
  font-size: 0.75rem !important;
}

#page-dashboard #research-studio .mm-guided-breadcrumb,
#page-briefing #research-studio .mm-guided-breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

#page-dashboard #research-studio .mm-guided-label,
#page-briefing #research-studio .mm-guided-label {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-guided-chip,
#page-briefing #research-studio .mm-guided-chip {
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  background: #ffffff !important;
  box-shadow: none !important;
  padding: 8px 12px !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip {
  background: rgba(15, 23, 42, 0.94) !important;
}

#page-dashboard #research-studio .mm-guided-chip.is-active,
#page-briefing #research-studio .mm-guided-chip.is-active {
  border-color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-guided-chip.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-chip.is-active {
  border-color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-context-strip,
#page-briefing #research-studio .mm-context-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) !important;
  gap: 16px !important;
  padding: 18px 20px !important;
  border-radius: 18px !important;
}

#page-dashboard #research-studio .mm-context-guide,
#page-briefing #research-studio .mm-context-guide {
  display: grid !important;
  gap: 2px !important;
  padding: 8px 12px !important;
  border-left: 2px solid rgba(15, 23, 42, 0.16) !important;
  background: transparent !important;
}

#page-dashboard #research-studio .mm-related-chips,
#page-briefing #research-studio .mm-related-chips {
  display: grid !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-related-chip,
#page-briefing #research-studio .mm-related-chip {
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-decision-grid,
#page-briefing #research-studio .mm-decision-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-decision-card,
#page-briefing #research-studio .mm-decision-card,
#page-dashboard #research-studio .mm-value-chain-card,
#page-briefing #research-studio .mm-value-chain-card,
#page-dashboard #research-studio .mm-insight-stack-card,
#page-briefing #research-studio .mm-insight-stack-card {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
}

#page-dashboard #research-studio .mm-decision-card.is-primary,
#page-briefing #research-studio .mm-decision-card.is-primary,
#page-dashboard #research-studio .mm-value-chain-card.is-primary,
#page-briefing #research-studio .mm-value-chain-card.is-primary {
  border-left: 0 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-decision-card.is-primary,
[data-theme="dark"] #page-briefing #research-studio .mm-decision-card.is-primary,
[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-card.is-primary,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-card.is-primary {
  border-left: 0 !important;
}

#page-dashboard #research-studio .mm-insight-card:hover,
#page-briefing #research-studio .mm-insight-card:hover,
#page-dashboard #research-studio .mm-decision-card:hover,
#page-briefing #research-studio .mm-decision-card:hover,
#page-dashboard #research-studio .mm-value-chain-card:hover,
#page-briefing #research-studio .mm-value-chain-card:hover,
#page-dashboard #research-studio .mm-insight-stack-card:hover,
#page-briefing #research-studio .mm-insight-stack-card:hover,
#page-dashboard #research-studio .mm-glance-group:hover,
#page-briefing #research-studio .mm-glance-group:hover,
#page-dashboard #research-studio .mm-related-chip:hover,
#page-briefing #research-studio .mm-related-chip:hover,
#page-dashboard #research-studio .mm-header-strip:hover,
#page-briefing #research-studio .mm-header-strip:hover,
#page-dashboard #research-studio .mm-context-strip:hover,
#page-briefing #research-studio .mm-context-strip:hover {
  background: #f3f4f6 !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-insight-card:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-decision-card:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-decision-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-card:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-card:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-glance-group:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-group:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-related-chip:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-related-chip:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-strip:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-header-strip:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-context-strip:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-context-strip:hover {
  background: rgba(51, 65, 85, 0.34) !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
}

#page-dashboard #research-studio .mm-value-chain-layout,
#page-briefing #research-studio .mm-value-chain-layout {
  display: grid !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-value-chain-split,
#page-briefing #research-studio .mm-value-chain-split,
#page-dashboard #research-studio .mm-insight-stack-grid,
#page-briefing #research-studio .mm-insight-stack-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-value-chain-topline,
#page-briefing #research-studio .mm-value-chain-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-value-chain-step,
#page-briefing #research-studio .mm-value-chain-step {
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-value-chain-title,
#page-briefing #research-studio .mm-value-chain-title,
#page-dashboard #research-studio .mm-insight-stack-title,
#page-briefing #research-studio .mm-insight-stack-title {
  font-size: 1rem !important;
  line-height: 1.48 !important;
  color: #0f172a !important;
}

#page-dashboard #research-studio .mm-value-chain-support,
#page-briefing #research-studio .mm-value-chain-support {
  margin: 0 !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.12) !important;
  font-size: 0.84rem !important;
  line-height: 1.58 !important;
  color: #64748b !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-support,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-support {
  color: #94a3b8 !important;
  border-top-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-title,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-title,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-title {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-stage-grid,
#page-briefing #research-studio .mm-stage-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
  gap: 18px !important;
  align-items: start !important;
}
#page-dashboard #research-studio .mm-stage-grid.hidden,
#page-briefing #research-studio .mm-stage-grid.hidden {
  display: none !important;
}

#page-dashboard #research-studio .mm-stage-main,
#page-briefing #research-studio .mm-stage-main,
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  display: grid !important;
  gap: 14px !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mm-header-copy,
#page-briefing #research-studio .mm-header-copy,
#page-dashboard #research-studio .mm-header-side,
#page-briefing #research-studio .mm-header-side {
  display: grid !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-header-meta,
#page-briefing #research-studio .mm-header-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-header-chip,
#page-briefing #research-studio .mm-header-chip {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  background: #F5F5F5 !important;
  color: #334155 !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

#page-dashboard #research-studio .mm-header-chip.is-live,
#page-briefing #research-studio .mm-header-chip.is-live {
  background: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-chip,
[data-theme="dark"] #page-briefing #research-studio .mm-header-chip {
  background: rgba(15, 23, 42, 0.8) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-header-side-label,
#page-briefing #research-studio .mm-header-side-label {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

#page-dashboard #research-studio .mm-header-side-copy,
#page-briefing #research-studio .mm-header-side-copy {
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
  color: #64748b !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-side-label,
[data-theme="dark"] #page-briefing #research-studio .mm-header-side-label {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-side-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-header-side-copy {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-fixed-section,
#page-briefing #research-studio .mm-fixed-section,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card,
#page-dashboard #research-studio .mm-live-relations,
#page-briefing #research-studio .mm-live-relations,
#page-dashboard #research-studio .mm-stage-footer,
#page-briefing #research-studio .mm-stage-footer {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-section,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-section,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-panel,
[data-theme="dark"] #page-briefing #research-studio .mm-live-panel,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-footer,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-footer {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
}

#page-dashboard #research-studio .mm-fixed-section,
#page-briefing #research-studio .mm-fixed-section,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .mm-stage-footer,
#page-briefing #research-studio .mm-stage-footer {
  padding: 16px 18px !important;
}

#page-dashboard #research-studio .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-head,
#page-dashboard #research-studio .mm-live-head,
#page-briefing #research-studio .mm-live-head {
  display: grid !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}

#page-dashboard #research-studio .mm-live-node-block-label,
#page-briefing #research-studio .mm-live-node-block-label,
#page-dashboard #research-studio .mm-live-relations-head,
#page-briefing #research-studio .mm-live-relations-head {
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-stage-note,
#page-briefing #research-studio .mm-stage-note {
  margin: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.66 !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-stage-note,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-note {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-value-chain-grid,
#page-briefing #research-studio .mm-value-chain-grid,
#page-dashboard #research-studio .mm-glance-rail,
#page-briefing #research-studio .mm-glance-rail,
#page-dashboard #research-studio .mm-live-relations-grid,
#page-briefing #research-studio .mm-live-relations-grid {
  display: grid !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-fixed-section--glance,
#page-briefing #research-studio .mm-fixed-section--glance {
  padding: 14px 16px !important;
}

#page-dashboard #research-studio .mm-fixed-section--glance .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-section--glance .mm-fixed-head {
  margin-bottom: 10px !important;
}

#page-dashboard #research-studio .mm-fixed-section--glance .mm-glance-rail,
#page-briefing #research-studio .mm-fixed-section--glance .mm-glance-rail {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#page-dashboard #research-studio .mm-value-chain-card,
#page-briefing #research-studio .mm-value-chain-card,
#page-dashboard #research-studio .mm-insight-stack-card,
#page-briefing #research-studio .mm-insight-stack-card,
#page-dashboard #research-studio .mm-live-relation-card,
#page-briefing #research-studio .mm-live-relation-card,
#page-dashboard #research-studio .mm-glance-link,
#page-briefing #research-studio .mm-glance-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  text-align: left !important;
  font: inherit !important;
  color: inherit !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}

#page-dashboard #research-studio button.mm-value-chain-card,
#page-briefing #research-studio button.mm-value-chain-card,
#page-dashboard #research-studio button.mm-insight-stack-card,
#page-briefing #research-studio button.mm-insight-stack-card,
#page-dashboard #research-studio button.mm-live-relation-card,
#page-briefing #research-studio button.mm-live-relation-card,
#page-dashboard #research-studio button.mm-glance-link,
#page-briefing #research-studio button.mm-glance-link {
  background-color: transparent !important;
}

#page-dashboard #research-studio .mm-value-chain-card,
#page-briefing #research-studio .mm-value-chain-card {
  display: grid !important;
  gap: 8px !important;
  padding: 14px 14px 14px 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  background: #ffffff !important;
}

#page-dashboard #research-studio .mm-value-chain-card.is-focusable,
#page-briefing #research-studio .mm-value-chain-card.is-focusable,
#page-dashboard #research-studio .mm-insight-stack-card.is-focusable,
#page-briefing #research-studio .mm-insight-stack-card.is-focusable,
#page-dashboard #research-studio .mm-live-relation-card,
#page-briefing #research-studio .mm-live-relation-card,
#page-dashboard #research-studio .mm-glance-link,
#page-briefing #research-studio .mm-glance-link {
  cursor: pointer !important;
}

#page-dashboard #research-studio .mm-value-chain-card.is-active,
#page-briefing #research-studio .mm-value-chain-card.is-active,
#page-dashboard #research-studio .mm-insight-stack-card.is-active,
#page-briefing #research-studio .mm-insight-stack-card.is-active,
#page-dashboard #research-studio .mm-glance-link.is-active,
#page-briefing #research-studio .mm-glance-link.is-active {
  border-color: #0f172a !important;
  background: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-card,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-card,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-glance-link,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-link {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-card.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-card.is-active,
[data-theme="dark"] #page-dashboard #research-studio .mm-insight-stack-card.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-insight-stack-card.is-active,
[data-theme="dark"] #page-dashboard #research-studio .mm-glance-link.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-glance-link.is-active {
  border-color: #F5F5F5 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

#page-dashboard #research-studio .mm-value-chain-topline,
#page-briefing #research-studio .mm-value-chain-topline {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-value-chain-step,
#page-briefing #research-studio .mm-value-chain-step {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: #F5F5F5 !important;
  color: #334155 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  display: grid !important;
  gap: 12px !important;
  padding: 16px 18px !important;
}

#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card {
  display: grid !important;
  gap: 12px !important;
  padding: 16px 18px !important;
}

#page-dashboard #research-studio .mm-live-node-topline,
#page-briefing #research-studio .mm-live-node-topline {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mm-live-node-badge,
#page-briefing #research-studio .mm-live-node-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 64px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.2) !important;
  background: #F5F5F5 !important;
  color: #334155 !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
}

#page-dashboard #research-studio .mm-fixed-list,
#page-briefing #research-studio .mm-fixed-list {
  display: grid !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-item {
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
}

#page-dashboard #research-studio .mm-fixed-item.is-active,
#page-briefing #research-studio .mm-fixed-item.is-active {
  border-color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-active {
  border-color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn {
  background: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn {
  background: rgba(255, 255, 255, 0.05) !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  padding: 12px 14px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  font: inherit !important;
  color: inherit !important;
  display: grid !important;
  gap: 4px !important;
  cursor: pointer !important;
}

#page-dashboard #research-studio .mm-fixed-item-meta,
#page-briefing #research-studio .mm-fixed-item-meta {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 24px !important;
}

#page-dashboard #research-studio .mm-fixed-item-step,
#page-briefing #research-studio .mm-fixed-item-step {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 22px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: #eef2f7 !important;
  color: #334155 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
}

#page-dashboard #research-studio .mm-fixed-item-caption,
#page-briefing #research-studio .mm-fixed-item-caption {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title {
  color: #0f172a !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail,
#page-briefing #research-studio .mm-fixed-item-detail {
  padding: 0 14px 12px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.12) !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail p,
#page-briefing #research-studio .mm-fixed-item-detail p {
  margin: 10px 0 0 !important;
  color: #F5F5F5 !important;
  font-size: 0.88rem !important;
  line-height: 1.62 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-step,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-step {
  background: rgba(30, 41, 59, 0.94) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-detail,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-detail {
  border-top-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-detail p,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-detail p,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-caption,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-caption {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-live-node-copy,
#page-briefing #research-studio .mm-live-node-copy {
  display: grid !important;
  gap: 4px !important;
}

#page-dashboard #research-studio .mm-live-node-kicker,
#page-briefing #research-studio .mm-live-node-kicker,
#page-dashboard #research-studio .mm-live-node-guide,
#page-briefing #research-studio .mm-live-node-guide {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
}

#page-dashboard #research-studio .mm-live-node-title,
#page-briefing #research-studio .mm-live-node-title {
  color: #0f172a !important;
  font-size: 1.08rem !important;
  line-height: 1.35 !important;
}

#page-dashboard #research-studio .mm-live-node-summary,
#page-briefing #research-studio .mm-live-node-summary,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p,
#page-dashboard #research-studio .mm-live-relation-copy,
#page-briefing #research-studio .mm-live-relation-copy {
  margin: 0 !important;
  color: #F5F5F5 !important;
  font-size: 0.94rem !important;
  line-height: 1.7 !important;
}

#page-dashboard #research-studio .mm-live-node-block,
#page-briefing #research-studio .mm-live-node-block {
  display: grid !important;
  gap: 6px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
}

#page-dashboard #research-studio .mm-live-node-block-primary,
#page-briefing #research-studio .mm-live-node-block-primary {
  padding: 12px 14px 14px !important;
  border-top: none !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.98)) !important;
  box-shadow: inset 0 0 0 1px rgba(125, 211, 252, 0.22) !important;
}

#page-dashboard #research-studio .mm-live-node-block-primary p,
#page-briefing #research-studio .mm-live-node-block-primary p {
  font-size: 0.98rem !important;
  line-height: 1.76 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-primary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-primary {
  background: transparent !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-live-relations,
#page-briefing #research-studio .mm-live-relations {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 16px !important;
}

#page-dashboard #research-studio .mm-live-relations-head,
#page-briefing #research-studio .mm-live-relations-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-live-relation-card,
#page-briefing #research-studio .mm-live-relation-card {
  display: grid !important;
  gap: 4px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: #ffffff !important;
}

#page-dashboard #research-studio .mm-live-relation-name,
#page-briefing #research-studio .mm-live-relation-name {
  color: #0f172a !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

#page-dashboard #research-studio .mm-stage-footer,
#page-briefing #research-studio .mm-stage-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-value-chain-step,
[data-theme="dark"] #page-briefing #research-studio .mm-value-chain-step,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-badge,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-badge {
  background: rgba(30, 41, 59, 0.92) !important;
  color: #F5F5F5 !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-title,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-name {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-kicker,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-kicker,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-guide,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-guide,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations-head,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations-head {
  color: #F5F5F5 !important;
}

/* Final flattening for fixed-frame column */
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-fixed-section,
#page-briefing #research-studio .mm-fixed-section {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

#page-dashboard #research-studio .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-head {
  margin-bottom: 6px !important;
}

#page-dashboard #research-studio .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-item {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 0 !important;
}

#page-dashboard #research-studio .mm-fixed-item:last-child,
#page-briefing #research-studio .mm-fixed-item:last-child {
  border-bottom: 0 !important;
}

#page-dashboard #research-studio .mm-fixed-item.is-active,
#page-briefing #research-studio .mm-fixed-item.is-active,
#page-dashboard #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item.is-linked .mm-fixed-item-btn {
  background: transparent !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item-btn {
  padding: 10px 0 !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail,
#page-briefing #research-studio .mm-fixed-item-detail {
  padding: 0 0 10px !important;
  border-top: 0 !important;
}

#page-dashboard #research-studio .mm-fixed-item-step,
#page-briefing #research-studio .mm-fixed-item-step {
  min-width: 30px !important;
  height: 20px !important;
  padding: 0 6px !important;
  background: transparent !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard #research-studio .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title {
  font-size: 0.88rem !important;
}

#page-dashboard #research-studio .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node-caption {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

@media (max-width: 1480px) {
  #page-dashboard #research-studio .mm-stage-grid,
  #page-briefing #research-studio .mm-stage-grid,
  #page-dashboard #research-studio .mm-header-strip,
  #page-briefing #research-studio .mm-header-strip,
  #page-dashboard #research-studio .mm-glance-rail,
  #page-briefing #research-studio .mm-glance-rail,
  #page-dashboard #research-studio .mm-decision-grid,
  #page-briefing #research-studio .mm-decision-grid,
  #page-dashboard #research-studio .mm-insight-stack-grid,
  #page-briefing #research-studio .mm-insight-stack-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1100px) {
  #page-dashboard #research-studio .mm-signal-board,
  #page-briefing #research-studio .mm-signal-board,
  #page-dashboard #research-studio .mm-stage-grid,
  #page-briefing #research-studio .mm-stage-grid,
  #page-dashboard #research-studio .mm-header-strip,
  #page-briefing #research-studio .mm-header-strip,
  #page-dashboard #research-studio .mm-glance-rail,
  #page-briefing #research-studio .mm-glance-rail,
  #page-dashboard #research-studio .mm-context-strip,
  #page-briefing #research-studio .mm-context-strip,
  #page-dashboard #research-studio .mm-decision-grid,
  #page-briefing #research-studio .mm-decision-grid,
  #page-dashboard #research-studio .mm-value-chain-split,
  #page-briefing #research-studio .mm-value-chain-split,
  #page-dashboard #research-studio .mm-insight-stack-grid,
  #page-briefing #research-studio .mm-insight-stack-grid {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard #research-studio .mm-stage-footer,
  #page-briefing #research-studio .mm-stage-footer,
  #page-dashboard #research-studio .mm-live-relations-head,
  #page-briefing #research-studio .mm-live-relations-head {
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    display: grid !important;
  }

  #page-dashboard #research-studio .mm-fixed-section--glance .mm-glance-rail,
  #page-briefing #research-studio .mm-fixed-section--glance .mm-glance-rail {
    grid-template-columns: 1fr !important;
  }
}

/* ── Mobile-only final pass: Market Briefing webview hardening ───────────── */
@media (max-width: 768px) {
  /* Step 1. Normalize the outer mobile frame so both sides stay even. */
  #page-briefing {
    padding-top: 10px !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 76px) !important;
  }

  #page-briefing .workspace {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Step 2. Force every briefing-stage wrapper to stay inside the viewport. */
  #page-briefing .dashboard-shell,
  #page-briefing .dashboard-main,
  #page-briefing .dashboard-stage,
  #page-briefing .briefing-context-stack,
  #page-briefing .briefing-intel-wrapper,
  #page-briefing .panel,
  #page-briefing .panel-body,
  #page-briefing .market-intel-panel,
  #page-briefing .market-intel-grid,
  #page-briefing .mi-three-cards,
  #page-briefing .mi-card,
  #page-briefing .mi-sector-bar,
  #page-briefing .mi-summary-bottom {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-briefing .dashboard-main {
    gap: 18px !important;
  }

  #page-briefing .dashboard-stage {
    gap: 0 !important;
  }

  /* Step 3. Reduce nested mobile padding so the right edge is not visually shorter. */
  #page-briefing .macro-panel,
  #page-briefing .day-score-panel,
  #page-briefing .briefing-intel-wrapper {
    padding: 14px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  #page-briefing .macro-panel .panel-body,
  #page-briefing .day-score-panel .panel-body {
    padding-top: 12px !important;
  }

  /* Step 4. Flatten the Market Intelligence nesting on mobile to a single card shell. */
  #page-briefing .briefing-intel-wrapper {
    display: grid !important;
    gap: 12px !important;
  }

  #page-briefing #section-market-intel,
  #page-briefing .market-intel-panel,
  #page-briefing #market-intel-body {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #page-briefing .market-intel-grid {
    padding: 0 !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }

  /* Step 5. Make header controls stack cleanly in the mobile webview. */
  #page-briefing .briefing-header-one-line,
  #page-briefing .briefing-intel-title-row {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  #page-briefing .briefing-intel-kicker-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px !important;
  }

  #page-briefing .briefing-intel-header-right,
  #page-briefing .macro-head-right,
  #page-briefing .day-score-head-right {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  #page-briefing .briefing-intel-header-right .macro-updated,
  #page-briefing .macro-head-right .macro-updated,
  #page-briefing .day-score-head-right .macro-updated {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    font-size: 0.72rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #page-briefing .briefing-page-title,
  #page-briefing .briefing-intel-title {
    white-space: normal !important;
  }

  /* Step 6. Keep the Market Intelligence slider fully visible and evenly padded. */
  #page-briefing .mi-three-cards {
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    scroll-padding-inline: 0 !important;
  }

  #page-briefing .mi-three-cards > * {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #page-briefing .mi-card,
  #page-briefing .mi-sector-bar {
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  #page-briefing .mi-card-head,
  #page-briefing .mi-sector-bar-head {
    gap: 8px !important;
  }

  #page-briefing .mi-card-title {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  #page-briefing .mi-card-conclusion,
  #page-briefing .mi-simple,
  #page-briefing .mi-summary-text {
    font-size: 0.9rem !important;
    line-height: 1.66 !important;
  }

  #page-briefing .mi-summary-bottom {
    padding: 14px 16px !important;
  }

  /* Step 7. Article rows inside cards should wrap instead of forcing hidden overflow. */
  #page-briefing .mi-vitem {
    gap: 10px !important;
    padding: 4px 0 !important;
    margin: 0 !important;
  }

  #page-briefing .mi-vthumb {
    width: 82px !important;
    height: 62px !important;
  }

  #page-briefing .mi-vitem-body,
  #page-briefing .mi-change-main,
  #page-briefing .mi-change-sub {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  /* Step 8. Mobile tooltip width should never push the page sideways. */
  #page-briefing .title-tooltip {
    max-width: min(260px, calc(100vw - 40px)) !important;
    white-space: normal !important;
  }
}

/* ── Mobile-only final pass: Research Studio result views ─────────────────── */
@media (max-width: 768px) {
  /* Step 1. Studio shell and tab cards must collapse into one clean column. */
  #page-dashboard #research-studio,
  #page-dashboard #research-studio .research-studio-shell,
  #page-dashboard #research-studio .research-studio-body,
  #page-dashboard #research-studio .research-pane,
  #page-dashboard #research-studio .research-pane.is-active,
  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel,
  #page-dashboard #research-studio #summary,
  #page-dashboard #research-studio #report-panel,
  #page-dashboard #research-studio #links-panel,
  #page-dashboard #research-studio .summary-card,
  #page-dashboard #research-studio .chart-card,
  #page-dashboard #research-studio .markdown-body,
  #page-dashboard #research-studio .cp-body,
  #page-dashboard #research-studio .mindmap-body,
  #page-dashboard #research-studio .mindmap-stage-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-dashboard #research-studio .research-studio-shell {
    padding: 0 !important;
    gap: 14px !important;
    overflow-x: hidden !important;
  }

  #page-dashboard #research-studio .research-studio-command {
    padding: 14px !important;
    border-radius: 20px !important;
  }

  #page-dashboard #research-studio .studio-feature-cards {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #page-dashboard #research-studio .studio-feature-card {
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  #page-dashboard #research-studio .research-pane.is-active {
    gap: 14px !important;
  }

  /* Step 2. Every result panel should use mobile-safe padding and no hidden side overflow. */
  #page-dashboard #research-studio .analysis-panel,
  #page-dashboard #research-studio .checkpoint-panel,
  #page-dashboard #research-studio .mindmap-panel,
  #page-dashboard #research-studio .summary-card,
  #page-dashboard #research-studio .chart-card,
  #page-dashboard #research-studio #report-panel,
  #page-dashboard #research-studio #links-panel {
    padding: 14px !important;
    border-radius: 20px !important;
    overflow-x: hidden !important;
  }

  #page-dashboard #research-studio #summary {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  #page-dashboard #research-studio .summary-card-head {
    min-height: 0 !important;
    padding-bottom: 12px !important;
  }

  /* Step 3. Input + action rows stack to full-width touch targets on mobile. */
  #page-dashboard #research-studio .studio-inline-search,
  #page-dashboard #research-studio .studio-inline-search--compact {
    width: 100% !important;
    max-width: 100% !important;
  }

  #page-dashboard #research-studio .analyze-btn-row,
  #page-dashboard #research-studio .studio-tool-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  #page-dashboard #research-studio .analysis-cta-btn,
  #page-dashboard #research-studio .analysis-secondary-btn,
  #page-dashboard #research-studio .cp-submit-btn,
  #page-dashboard #research-studio .stop-analyze-btn,
  #page-dashboard #research-studio #save-checkpoint-btn,
  #page-dashboard #research-studio #save-mindmap-btn {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  #page-dashboard #research-studio .analysis-inline-feedback,
  #page-dashboard #research-studio .eta-note {
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Step 4. Report results must remain readable with long markdown, tables, and code blocks. */
  #page-dashboard #research-studio .report-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  #page-dashboard #research-studio .report-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #page-dashboard #research-studio .report-head .ghost-btn,
  #page-dashboard #research-studio .report-actions .ghost-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 10px !important;
  }

  #page-dashboard #research-studio .markdown-body {
    min-height: 0 !important;
    padding: 14px 12px !important;
    border-radius: 18px !important;
    font-size: 0.92rem !important;
    line-height: 1.66 !important;
    overflow-wrap: anywhere !important;
  }

  #page-dashboard #research-studio .markdown-body h1,
  #page-dashboard #research-studio .markdown-body h2,
  #page-dashboard #research-studio .markdown-body h3,
  #page-dashboard #research-studio .markdown-body h4,
  #page-dashboard #research-studio .markdown-body p,
  #page-dashboard #research-studio .markdown-body li {
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }

  #page-dashboard #research-studio .markdown-body pre,
  #page-dashboard #research-studio .markdown-body table,
  #page-dashboard #research-studio .cp-body table,
  #page-dashboard #research-studio .mindmap-body table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Step 5. Checkpoint cards need mobile-safe wrapping after execution. */
  #page-dashboard #research-studio .cp-body {
    gap: 12px !important;
  }

  #page-dashboard #research-studio .cp-lead-strip,
  #page-dashboard #research-studio .cp-hero-card,
  #page-dashboard #research-studio .cp-item,
  #page-dashboard #research-studio .cp-summary,
  #page-dashboard #research-studio .cp-reading-card,
  #page-dashboard #research-studio .cp-uncertainty-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  #page-dashboard #research-studio .cp-item {
    gap: 10px !important;
  }

  #page-dashboard #research-studio .cp-item-header {
    gap: 8px !important;
  }

  #page-dashboard #research-studio .cp-item-headline,
  #page-dashboard #research-studio .cp-item-title,
  #page-dashboard #research-studio .cp-item-reason,
  #page-dashboard #research-studio .cp-item-watch,
  #page-dashboard #research-studio .cp-item-timing,
  #page-dashboard #research-studio .cp-summary,
  #page-dashboard #research-studio .cp-hero-title,
  #page-dashboard #research-studio .cp-hero-reason {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  #page-dashboard #research-studio .cp-item-toggle {
    width: 28px !important;
    height: 28px !important;
  }

  /* Step 6. Mind map result should fit as a mobile reading flow, not a desktop canvas. */
  #page-dashboard #research-studio .mindmap-stage-shell {
    gap: 12px !important;
  }

  #page-dashboard #research-studio .mindmap-cosmos {
    min-height: 380px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  #page-dashboard #research-studio .mindmap-graph-viewport {
    inset: 10px !important;
    border-radius: 16px !important;
  }

  #page-dashboard #research-studio .mindmap-network-node {
    max-width: min(150px, calc(100vw - 88px)) !important;
    padding: 10px 12px !important;
  }

  #page-dashboard #research-studio .mindmap-network-node-title {
    font-size: 0.88rem !important;
  }

  #page-dashboard #research-studio .mindmap-network-node-caption {
    font-size: 0.7rem !important;
  }

  #page-dashboard #research-studio .mm-guided-breadcrumb {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
  }

  #page-dashboard #research-studio .mm-guided-breadcrumb::-webkit-scrollbar {
    display: none;
  }

  #page-dashboard #research-studio .mm-guided-chip {
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  #page-dashboard #research-studio .mm-header-strip,
  #page-dashboard #research-studio .mm-context-strip,
  #page-dashboard #research-studio .mm-related-chip,
  #page-dashboard #research-studio .mm-decision-card,
  #page-dashboard #research-studio .mm-value-chain-card,
  #page-dashboard #research-studio .mm-insight-stack-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  /* Step 7. Zoom modal must work as a full-screen mobile reader. */
  .zoom-modal {
    padding: 0 !important;
  }

  .zoom-dialog,
  .zoom-dialog.is-mindmap {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 10px calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
  }

  .zoom-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .zoom-actions {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .zoom-actions .ghost-btn {
    min-width: 0 !important;
    min-height: 38px !important;
  }

  .zoom-chart-container {
    padding: 8px !important;
    border-radius: 14px !important;
  }

  #zoom-report-content {
    padding: 14px 12px !important;
    border-radius: 14px !important;
    min-height: 0 !important;
  }

  .zoom-mindmap-container,
  .mindmap-zoom-scroll,
  .mindmap-cosmos--zoom {
    border-radius: 16px !important;
  }
}

@media (max-width: 520px) {
  #page-dashboard #research-studio .report-actions {
    grid-template-columns: 1fr !important;
  }

  #page-dashboard #research-studio .cp-item-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
  }

  #page-dashboard #research-studio .mindmap-cosmos {
    min-height: 340px !important;
  }
}

/* Keep refresh/collapse controls visually neutral on hover. */
#page-dashboard .panel-chip-btn--refresh:hover,
#page-dashboard .panel-chip-btn--toggle:hover,
#page-dashboard .panel-toggle-btn:hover,
#page-dashboard .dashboard-journey-toggle:hover,
#page-briefing .panel-chip-btn--refresh:hover,
#page-briefing .panel-chip-btn--toggle:hover,
#page-briefing .panel-toggle-btn:hover,
#page-briefing .dashboard-journey-toggle:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  transform: none !important;
}

[data-theme="dark"] #page-dashboard .panel-chip-btn--refresh:hover,
[data-theme="dark"] #page-dashboard .panel-chip-btn--toggle:hover,
[data-theme="dark"] #page-dashboard .panel-toggle-btn:hover,
[data-theme="dark"] #page-dashboard .dashboard-journey-toggle:hover,
[data-theme="dark"] #page-briefing .panel-chip-btn--refresh:hover,
[data-theme="dark"] #page-briefing .panel-chip-btn--toggle:hover,
[data-theme="dark"] #page-briefing .panel-toggle-btn:hover,
[data-theme="dark"] #page-briefing .dashboard-journey-toggle:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ── Final Mind Map overrides ───────────────────────────────────────────── */
#page-dashboard #research-studio .mindmap-cosmos,
#page-briefing #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  min-height: clamp(460px, 56vh, 680px) !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 1)) !important;
  border-color: rgba(71, 85, 105, 0.42) !important;
}

#page-dashboard #research-studio .mindmap-cosmos::before,
#page-dashboard #research-studio .mindmap-cosmos::after,
#page-briefing #research-studio .mindmap-cosmos::before,
#page-briefing #research-studio .mindmap-cosmos::after,
#page-dashboard #research-studio .mindmap-network-node::before,
#page-briefing #research-studio .mindmap-network-node::before,
#page-dashboard #research-studio .mindmap-cosmos-glass,
#page-briefing #research-studio .mindmap-cosmos-glass {
  display: none !important;
  content: none !important;
}

#page-dashboard #research-studio .mindmap-graph-viewport,
#page-briefing #research-studio .mindmap-graph-viewport {
  inset: 14px !important;
  min-height: clamp(420px, 50vh, 620px) !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98) 42%, rgba(241, 245, 249, 0.98) 100%) !important;
  overflow: hidden !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-viewport,
[data-theme="dark"] #page-briefing #research-studio .mindmap-graph-viewport {
  background:
    radial-gradient(circle at 50% 28%, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.98) 48%, rgba(2, 6, 23, 1) 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.28) !important;
}

#page-dashboard #research-studio .mindmap-network-link,
#page-briefing #research-studio .mindmap-network-link {
  opacity: 0.28 !important;
  filter: drop-shadow(0 0 6px rgba(71, 85, 105, 0.14)) !important;
  animation: mindmapLinkPulse 3.8s ease-in-out infinite !important;
  transition: opacity 0.22s ease, filter 0.22s ease !important;
}

#page-dashboard #research-studio .mindmap-network-link.is-highlight,
#page-briefing #research-studio .mindmap-network-link.is-highlight {
  opacity: 0.96 !important;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.28)) !important;
  animation-duration: 2.1s !important;
}

#page-dashboard #research-studio .mindmap-network-node,
#page-briefing #research-studio .mindmap-network-node,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94) 48%, rgba(241, 245, 249, 0.98) 100%) !important;
  color: #0f172a !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  border-radius: 18px !important;
  box-shadow:
    0 20px 34px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  padding: 9px 12px !important;
  gap: 0 !important;
  transform: translate(-50%, -50%) !important;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, opacity 0.22s ease !important;
  animation: mindmapNodeFloat 6.4s ease-in-out infinite !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node:hover,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node:hover,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-related {
  transform: translate(-50%, -50%) translateY(-3px) scale(1.02) !important;
}

#page-dashboard #research-studio .mindmap-network-node-badge,
#page-dashboard #research-studio .mindmap-network-node-caption,
#page-briefing #research-studio .mindmap-network-node-badge,
#page-briefing #research-studio .mindmap-network-node-caption,
#page-dashboard #research-studio .mm-depth-subtitle,
#page-briefing #research-studio .mm-depth-subtitle {
  display: none !important;
}

#page-dashboard #research-studio .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-title {
  display: block !important;
  color: #0f172a !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-title {
  color: #F5F5F5 !important;
  text-shadow: 0 1px 2px rgba(2, 6, 23, 0.78) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title,
#page-briefing #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title {
  font-size: 1.06rem !important;
  letter-spacing: -0.03em !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.ring-0,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.ring-0 {
  background:
    radial-gradient(circle at 18% 18%, rgba(30, 64, 175, 0.3), rgba(15, 23, 42, 0.98) 58%, rgba(2, 6, 23, 1) 100%) !important;
  border-color: rgba(96, 165, 250, 0.46) !important;
  box-shadow:
    0 0 0 3px rgba(96, 165, 250, 0.12),
    0 22px 42px rgba(30, 64, 175, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.ring-0 .mindmap-network-node-title {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-guided-flow,
#page-briefing #research-studio .mm-guided-flow {
  display: grid !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)) !important;
  box-shadow: 0 16px 28px rgba(15, 23, 42, 0.05) !important;
}

#page-dashboard #research-studio .mm-guided-flow-head,
#page-briefing #research-studio .mm-guided-flow-head {
  display: grid !important;
  gap: 4px !important;
}

#page-dashboard #research-studio .mm-guided-reason-card,
#page-briefing #research-studio .mm-guided-reason-card {
  display: grid !important;
  gap: 6px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: radial-gradient(circle at top left, rgba(224, 242, 254, 0.68), rgba(255, 255, 255, 0.96) 62%) !important;
}

#page-dashboard #research-studio .mm-guided-reason-kicker,
#page-briefing #research-studio .mm-guided-reason-kicker {
  margin: 0 !important;
  color: #0f766e !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

#page-dashboard #research-studio .mm-guided-reason-copy,
#page-briefing #research-studio .mm-guided-reason-copy,
#page-dashboard #research-studio .mm-guided-reason-next,
#page-briefing #research-studio .mm-guided-reason-next {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 0.92rem !important;
  line-height: 1.62 !important;
}

#page-dashboard #research-studio .mm-guided-reason-next,
#page-briefing #research-studio .mm-guided-reason-next {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-guided-chip.is-done,
#page-briefing #research-studio .mm-guided-chip.is-done {
  border-color: rgba(16, 185, 129, 0.24) !important;
  background: rgba(236, 253, 245, 0.96) !important;
}

#page-dashboard #research-studio .mm-guided-chip.is-next,
#page-briefing #research-studio .mm-guided-chip.is-next {
  border-color: rgba(59, 130, 246, 0.2) !important;
  background: rgba(239, 246, 255, 0.96) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-guided-active,
#page-briefing #research-studio .mindmap-network-node.is-guided-active {
  box-shadow:
    0 0 0 4px rgba(16, 185, 129, 0.12),
    0 24px 42px rgba(5, 150, 105, 0.16) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-guided-next,
#page-briefing #research-studio .mindmap-network-node.is-guided-next {
  box-shadow:
    0 0 0 3px rgba(59, 130, 246, 0.08),
    0 18px 34px rgba(59, 130, 246, 0.1) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-guided-done,
#page-briefing #research-studio .mindmap-network-node.is-guided-done {
  opacity: 0.9 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-guided-flow,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-flow {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.92)) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
  box-shadow: 0 18px 30px rgba(2, 6, 23, 0.28) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-guided-reason-card,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-reason-card {
  background: radial-gradient(circle at top left, rgba(8, 145, 178, 0.18), rgba(15, 23, 42, 0.92) 64%) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-guided-reason-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-reason-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-reason-next,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-reason-next {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-stage-grid,
#page-briefing #research-studio .mm-stage-grid {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

/* 탭 전환 시 hidden 클래스가 display:grid !important 보다 우선하도록 명시적 오버라이드 */
#page-dashboard #research-studio .mm-stage-grid.hidden,
#page-briefing #research-studio .mm-stage-grid.hidden {
  display: none !important;
}

#page-dashboard #research-studio .mm-detail-grid,
#page-briefing #research-studio .mm-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  gap: 10px !important;
  height: auto !important;
}

#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  order: 1 !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  order: 2 !important;
}

#page-dashboard #research-studio .mm-stage-side--top,
#page-briefing #research-studio .mm-stage-side--top {
  display: grid !important;
  gap: 14px !important;
}

#page-dashboard #research-studio .mm-stage-side-head,
#page-briefing #research-studio .mm-stage-side-head {
  display: grid !important;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mm-stage-side-note,
#page-briefing #research-studio .mm-stage-side-note {
  margin: 0 !important;
  font-size: 0.84rem !important;
  line-height: 1.6 !important;
  color: #64748b !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-depth-title,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-head .mm-depth-title,
[data-theme="dark"] #page-briefing #research-studio .mm-live-head .mm-depth-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-head .mm-depth-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-head .mm-depth-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-depth-kicker,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-kicker,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-frame-label,
[data-theme="dark"] #page-briefing #research-studio .mm-header-frame-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side-note,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side-note,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-briefing-note,
[data-theme="dark"] #page-briefing #research-studio .mindmap-briefing-note {
  color: #94a3b8 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-graph-meta,
[data-theme="dark"] #page-briefing #research-studio .mm-graph-meta {
  border-bottom: 1px solid rgba(51, 65, 85, 0.6) !important;
  padding-bottom: 8px !important;
}

#page-dashboard #research-studio .mm-stage-side-body,
#page-briefing #research-studio .mm-stage-side-body {
  display: grid !important;
}

#page-dashboard #research-studio .mm-header-frame-block,
#page-briefing #research-studio .mm-header-frame-block {
  display: grid !important;
  gap: 2px !important;
}

#page-dashboard #research-studio .mm-graph-meta,
#page-briefing #research-studio .mm-graph-meta {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 6px !important;
}

#page-dashboard #research-studio .mm-header-frame-label,
#page-briefing #research-studio .mm-header-frame-label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  letter-spacing: 0.01em !important;
}

#page-dashboard #research-studio .mm-header-meta-stack,
#page-briefing #research-studio .mm-header-meta-stack {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#page-dashboard #research-studio .mm-header-score-row,
#page-briefing #research-studio .mm-header-score-row {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(168px, 1fr) !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding-bottom: 2px !important;
  scrollbar-width: thin !important;
}

#page-dashboard #research-studio .mm-header-score-card,
#page-briefing #research-studio .mm-header-score-card {
  display: grid !important;
  gap: 8px !important;
  padding: 12px 13px !important;
  min-height: 118px !important;
  height: auto !important;
  overflow: visible !important;
  align-content: start !important;
  border-radius: 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-card,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-card {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(20, 22, 21, 0.92) !important;
}

#page-dashboard #research-studio .mm-header-score-top,
#page-briefing #research-studio .mm-header-score-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-header-score-band,
#page-briefing #research-studio .mm-header-score-band {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.06) !important;
  color: #334155 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-band,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-band {
  background: rgba(148, 163, 184, 0.12) !important;
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-header-score-main,
#page-briefing #research-studio .mm-header-score-main {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
}

#page-dashboard #research-studio .mm-header-score-value,
#page-briefing #research-studio .mm-header-score-value {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-value,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-value {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-header-score-unit,
#page-briefing #research-studio .mm-header-score-unit {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-unit,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-unit {
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-header-score-meter,
#page-briefing #research-studio .mm-header-score-meter {
  position: relative !important;
  height: 2px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(148, 163, 184, 0.18) !important;
  margin: 2px 0 0 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-meter,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-meter {
  background: rgba(71, 85, 105, 0.44) !important;
}

#page-dashboard #research-studio .mm-header-score-fill,
#page-briefing #research-studio .mm-header-score-fill {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  opacity: 0.92 !important;
  min-width: 0 !important;
  background: #94a3b8 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-fill,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-fill {
  background: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-header-score-fill.is-pos,
#page-briefing #research-studio .mm-header-score-fill.is-pos {
  background: #16a34a !important;
}

#page-dashboard #research-studio .mm-header-score-fill.is-neg,
#page-briefing #research-studio .mm-header-score-fill.is-neg {
  background: #dc2626 !important;
}

#page-dashboard #research-studio .mm-header-score-fill.is-neutral,
#page-briefing #research-studio .mm-header-score-fill.is-neutral {
  background: #A0A0A0 !important;
}

#page-dashboard #research-studio .mm-header-score-summary,
#page-briefing #research-studio .mm-header-score-summary {
  margin: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  color: #F5F5F5 !important;
  min-height: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-summary {
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-fixed-split,
#page-briefing #research-studio .mm-fixed-split {
  display: block !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-section,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-section {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-list,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  gap: 12px !important;
  padding: 4px 2px 10px !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
}

#page-dashboard #research-studio .mm-fixed-list--read-path,
#page-briefing #research-studio .mm-fixed-list--read-path {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  grid-template-columns: none !important;
  gap: 12px !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-item {
  border-radius: 16px !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)) !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  min-width: 240px !important;
  max-width: 320px !important;
  height: auto !important;
  scroll-snap-align: start !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item-btn,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-item-btn {
  height: auto !important;
  padding: 12px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item.is-active,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-item.is-active {
  border-color: rgba(100, 116, 139, 0.28) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 249, 0.96)) !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item-title,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-item-title {
  font-size: 0.92rem !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  max-width: none !important;
}

#page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item-summary,
#page-briefing #research-studio .mm-stage-side--top .mm-fixed-item-summary {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  max-height: none !important;
}

#page-dashboard #research-studio .mm-fixed-item-topline,
#page-briefing #research-studio .mm-fixed-item-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

#page-dashboard #research-studio .mm-fixed-item-pill,
#page-briefing #research-studio .mm-fixed-item-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 24px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #F5F5F5 !important;
  color: #334155 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

#page-dashboard #research-studio .mm-fixed-item-arrow,
#page-briefing #research-studio .mm-fixed-item-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #F5F5F5 !important;
  color: #64748b !important;
  font-size: 0.84rem !important;
}

#page-dashboard #research-studio .mm-fixed-item-copy,
#page-briefing #research-studio .mm-fixed-item-copy {
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-fixed-item-title-row,
#page-briefing #research-studio .mm-fixed-item-title-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin-top: 6px !important;
}

#page-dashboard #research-studio .mm-fixed-item-title-row .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title-row .mm-fixed-item-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

#page-dashboard #research-studio .mm-info-btn,
#page-briefing #research-studio .mm-info-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  background: transparent !important;
  color: #F5F5F5 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: default !important;
  flex: 0 0 auto !important;
  margin-top: 1px !important;
}

#page-dashboard #research-studio .mm-info-btn::after,
#page-briefing #research-studio .mm-info-btn::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  transform: translateY(-6px);
  width: min(280px, calc(100vw - 48px));
  padding: 0;
  background: transparent;
  color: #F5F5F5;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.01em;
  white-space: normal;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  z-index: 40;
  box-shadow: none;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.88);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

#page-dashboard #research-studio .mm-info-btn::before,
#page-briefing #research-studio .mm-info-btn::before {
  display: none !important;
}

#page-dashboard #research-studio .mm-info-btn:hover::after,
#page-dashboard #research-studio .mm-info-btn:hover::before,
#page-dashboard #research-studio .mm-info-btn:focus-visible::after,
#page-dashboard #research-studio .mm-info-btn:focus-visible::before,
#page-briefing #research-studio .mm-info-btn:hover::after,
#page-briefing #research-studio .mm-info-btn:hover::before,
#page-briefing #research-studio .mm-info-btn:focus-visible::after,
#page-briefing #research-studio .mm-info-btn:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}

#page-dashboard #research-studio .mm-side-tabbar,
#page-briefing #research-studio .mm-side-tabbar {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 4px !important;
}

#page-dashboard #research-studio .mm-side-tab,
#page-briefing #research-studio .mm-side-tab {
  appearance: none !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  border-radius: 16px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 249, 0.9)) !important;
  color: #0f172a !important;
  font: inherit !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  text-align: left !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease !important;
}

#page-dashboard #research-studio .mm-side-tab-label,
#page-briefing #research-studio .mm-side-tab-label {
  display: inline !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #0f172a !important;
}

#page-dashboard #research-studio .mm-side-tab-copy,
#page-briefing #research-studio .mm-side-tab-copy {
  display: inline !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-side-tab-copy::before,
#page-briefing #research-studio .mm-side-tab-copy::before {
  content: "·" !important;
  margin-right: 6px !important;
  color: rgba(100, 116, 139, 0.75) !important;
}

#page-dashboard #research-studio .mm-side-tab:hover,
#page-briefing #research-studio .mm-side-tab:hover,
#page-dashboard #research-studio .mm-side-tab.is-active,
#page-briefing #research-studio .mm-side-tab.is-active {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.96)) !important;
  border-color: rgba(100, 116, 139, 0.28) !important;
  transform: translateY(-1px) !important;
}

#page-dashboard #research-studio .mm-side-tab.is-active,
#page-briefing #research-studio .mm-side-tab.is-active {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

#page-dashboard #research-studio .mm-side-tab.is-active .mm-side-tab-label,
#page-briefing #research-studio .mm-side-tab.is-active .mm-side-tab-label {
  color: #0f172a !important;
}

#page-dashboard #research-studio .mm-side-tab.is-active .mm-side-tab-copy,
#page-briefing #research-studio .mm-side-tab.is-active .mm-side-tab-copy {
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-fixed-section,
#page-briefing #research-studio .mm-fixed-section,
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  background: #F5F5F5 !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  box-shadow: none !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-section,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-section,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side {
  background: rgba(15, 23, 42, 0.78) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side-note,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side-note {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.94)) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item.is-active {
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-summary {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn,
[data-theme="dark"] #page-briefing #research-studio .mm-info-btn {
  border-color: rgba(148, 163, 184, 0.24) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn::after,
[data-theme="dark"] #page-briefing #research-studio .mm-info-btn::after {
  color: #F5F5F5 !important;
  text-shadow: 0 1px 2px rgba(2, 6, 23, 0.92) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.92)) !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab-label,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab-label {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab-copy {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab.is-active {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(51, 65, 85, 0.92)) !important;
  border-color: rgba(148, 163, 184, 0.3) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-side-tab.is-active .mm-side-tab-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-side-tab.is-active .mm-side-tab-copy {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-pill,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-pill {
  background: rgba(51, 65, 85, 0.92) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-arrow,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-arrow {
  background: rgba(30, 41, 59, 0.96) !important;
  color: #F5F5F5 !important;
}

#page-dashboard #research-studio .mm-fixed-head,
#page-briefing #research-studio .mm-fixed-head {
  margin-bottom: 6px !important;
}

#page-dashboard #research-studio .mm-fixed-list,
#page-briefing #research-studio .mm-fixed-list {
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail,
#page-briefing #research-studio .mm-fixed-item-detail {
  display: none !important;
}

#page-dashboard #research-studio .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-item {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

#page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
#page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn {
  overflow: visible !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item {
  background: rgba(15, 23, 42, 0.92) !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item-btn {
  padding: 10px 12px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 14px !important;
  text-align: left !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn:hover,
#page-briefing #research-studio .mm-fixed-item-btn:hover,
#page-dashboard #research-studio .mm-fixed-item.is-active .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item.is-active .mm-fixed-item-btn {
  background: transparent !important;
}

#page-dashboard #research-studio .mm-fixed-item:hover,
#page-briefing #research-studio .mm-fixed-item:hover {
  border-color: rgba(100, 116, 139, 0.26) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)) !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn:hover .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-btn:hover .mm-fixed-item-title,
#page-dashboard #research-studio .mm-fixed-item.is-active .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item.is-active .mm-fixed-item-title {
  color: #0f172a !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-active {
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.96)) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-btn:hover .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-btn:hover .mm-fixed-item-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-active .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-active .mm-fixed-item-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-copy {
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail,
#page-briefing #research-studio .mm-fixed-item-detail {
  padding: 12px 14px !important;
  border-top: 0 !important;
  background: #f3f4f6 !important;
  border-radius: 10px !important;
  min-height: 100% !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail-kicker,
#page-briefing #research-studio .mm-fixed-item-detail-kicker {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 0.76rem !important;
  color: #64748b !important;
}

#page-dashboard #research-studio .mm-fixed-item-detail-title,
#page-briefing #research-studio .mm-fixed-item-detail-title {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  color: #0f172a !important;
}

#page-dashboard #research-studio .mm-fixed-item-summary,
#page-briefing #research-studio .mm-fixed-item-summary {
  margin: 2px 0 0 !important;
  color: #F5F5F5 !important;
  font-size: 0.86rem !important;
  line-height: 1.56 !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  padding: 18px 20px !important;
  background: linear-gradient(180deg, #F5F5F5 0%, #F5F5F5 100%) !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  box-shadow: none !important;
  border-radius: 18px !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-panel,
[data-theme="dark"] #page-briefing #research-studio .mm-live-panel {
  background: rgba(15, 23, 42, 0.78) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

#page-dashboard #research-studio .mm-live-head,
#page-briefing #research-studio .mm-live-head {
  margin-bottom: 4px !important;
}

#page-dashboard #research-studio .mm-live-node-summary,
#page-briefing #research-studio .mm-live-node-summary,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p {
  font-size: 0.93rem !important;
  line-height: 1.65 !important;
  white-space: normal !important;
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
  text-overflow: clip !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

#page-dashboard #research-studio .mm-live-node-block,
#page-briefing #research-studio .mm-live-node-block {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card,
#page-dashboard #research-studio .mm-live-relations,
#page-briefing #research-studio .mm-live-relations {
  border-radius: 14px !important;
  box-shadow: none !important;
  background: #ffffff !important;
  overflow: visible !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations {
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-title,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-label {
  color: #94a3b8 !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-hovered,
#page-briefing #research-studio .mindmap-network-node.is-hovered {
  border-color: rgba(14, 165, 233, 0.4) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.99), rgba(224, 242, 254, 0.96) 55%, rgba(239, 246, 255, 0.98) 100%) !important;
  box-shadow:
    0 0 0 4px rgba(56, 189, 248, 0.12),
    0 24px 44px rgba(14, 116, 144, 0.16),
    0 0 18px rgba(56, 189, 248, 0.16) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-graph-related,
#page-briefing #research-studio .mindmap-network-node.is-graph-related {
  border-color: rgba(99, 102, 241, 0.28) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.98), rgba(238, 242, 255, 0.96) 55%, rgba(248, 250, 252, 0.98) 100%) !important;
  box-shadow:
    0 18px 34px rgba(79, 70, 229, 0.1),
    0 0 0 3px rgba(99, 102, 241, 0.08) !important;
}

#page-dashboard #research-studio .mindmap-network-link.is-hovered,
#page-briefing #research-studio .mindmap-network-link.is-hovered {
  opacity: 1 !important;
  stroke: #38bdf8 !important;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.32)) !important;
}

#page-dashboard #research-studio .mindmap-network-node:hover,
#page-briefing #research-studio .mindmap-network-node:hover {
  border-color: rgba(37, 99, 235, 0.24) !important;
  box-shadow:
    0 24px 44px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(59, 130, 246, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-active,
#page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(8, 145, 178, 0.48) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 1), rgba(236, 253, 245, 0.98) 52%, rgba(224, 242, 254, 0.98) 100%) !important;
  box-shadow:
    0 0 0 4px rgba(34, 211, 238, 0.12),
    0 26px 48px rgba(14, 116, 144, 0.18),
    0 0 24px rgba(34, 211, 238, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
}

#page-dashboard #research-studio .mindmap-network-node.is-related,
#page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(59, 130, 246, 0.3) !important;
  background:
    radial-gradient(circle at 22% 22%, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.96) 56%, rgba(241, 245, 249, 0.98) 100%) !important;
  box-shadow:
    0 18px 34px rgba(37, 99, 235, 0.1),
    0 0 0 3px rgba(59, 130, 246, 0.08) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background:
    radial-gradient(circle at 18% 18%, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.96) 58%, rgba(2, 6, 23, 0.98) 100%) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  box-shadow:
    0 20px 36px rgba(2, 6, 23, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(103, 232, 249, 0.48) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(15, 118, 110, 0.26), rgba(15, 23, 42, 0.98) 56%, rgba(2, 6, 23, 1) 100%) !important;
  box-shadow:
    0 0 0 4px rgba(34, 211, 238, 0.14),
    0 26px 52px rgba(2, 132, 199, 0.26),
    0 0 22px rgba(34, 211, 238, 0.18) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-related {
  border-color: rgba(96, 165, 250, 0.34) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(30, 64, 175, 0.18), rgba(15, 23, 42, 0.96) 58%, rgba(2, 6, 23, 0.98) 100%) !important;
  box-shadow:
    0 18px 34px rgba(30, 64, 175, 0.2),
    0 0 0 3px rgba(96, 165, 250, 0.1) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-hovered,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-hovered {
  border-color: rgba(56, 189, 248, 0.42) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(8, 145, 178, 0.22), rgba(15, 23, 42, 0.98) 60%, rgba(2, 6, 23, 1) 100%) !important;
}

@keyframes mindmapNodeFloat {
  0%, 100% { transform: translate(-50%, -50%); }
  50% { transform: translate(-50%, -51.5%); }
}

@keyframes mindmapLinkPulse {
  0%, 100% { opacity: 0.28; }
  50% { opacity: 0.44; }
}

#page-dashboard #research-studio .mm-live-relation-card:hover,
#page-briefing #research-studio .mm-live-relation-card:hover {
  background: #F5F5F5 !important;
  border-color: rgba(148, 163, 184, 0.28) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card {
  background: rgba(15, 23, 42, 0.88) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card:focus-visible,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card:focus-visible {
  background: rgba(30, 41, 59, 0.96) !important;
  border-color: rgba(96, 165, 250, 0.34) !important;
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.14) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-name {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-copy {
  color: #F5F5F5 !important;
}

@media (max-width: 1100px) {
  #page-dashboard #research-studio .mm-graph-meta,
  #page-briefing #research-studio .mm-graph-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #page-dashboard #research-studio .mm-stage-side-head,
  #page-briefing #research-studio .mm-stage-side-head {
    grid-template-columns: 1fr !important;
  }
  #page-dashboard #research-studio .mm-fixed-split,
  #page-briefing #research-studio .mm-fixed-split {
    grid-template-columns: 1fr !important;
  }
  #page-dashboard #research-studio .mm-side-tabbar,
  #page-briefing #research-studio .mm-side-tabbar {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 1380px) {
  #page-dashboard #research-studio .mm-detail-grid,
  #page-briefing #research-studio .mm-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  #page-dashboard #research-studio .mm-stage-side,
  #page-briefing #research-studio .mm-stage-side,
    #page-dashboard #research-studio .mm-live-panel,
    #page-briefing #research-studio .mm-live-panel {
    height: 100% !important;
  }
}

/* ── 2026-03-31 briefing polish ─────────────────────────────────────────── */
#page-briefing .dashboard-head-copy,
#page-briefing .dashboard-head-copy--macro,
#page-briefing .day-score-head .dashboard-head-copy {
  width: 100% !important;
  max-width: none !important;
}

#page-briefing .macro-interpretation-wrap,
#page-briefing .day-score-content,
#page-briefing .day-score-main,
#page-briefing .day-score-secondary {
  width: 100% !important;
  max-width: none !important;
}

#page-briefing .day-score-narrative {
  align-self: start !important;
  padding: 12px 14px !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}

#page-briefing .day-score-narrative-top {
  align-items: flex-start !important;
  gap: 8px !important;
}

#page-briefing .day-score-breakdown {
  font-size: 0.82rem !important;
  line-height: 1.36 !important;
}

#page-briefing .day-score-headline {
  font-size: 0.94rem !important;
  line-height: 1.52 !important;
}

#page-briefing .macro-grid {
  grid-template-columns: repeat(auto-fit, minmax(188px, 1fr)) !important;
}

#page-briefing .macro-card,
#page-briefing .day-score-signal {
  min-width: 0 !important;
}

#page-briefing .macro-card .macro-label,
#page-briefing .macro-card .macro-value,
#page-briefing .day-score-summary,
#page-briefing .day-score-breakdown,
#page-briefing .day-score-headline {
  max-width: none !important;
}

#page-briefing #section-day-score .ds-delta-badge--info,
#page-briefing #section-day-score .signal-info-btn {
  box-shadow: none !important;
}

#page-briefing #section-day-score .ds-delta-badge--info[data-tooltip]::after,
#page-briefing #section-day-score .signal-info-btn[data-tooltip]::after {
  box-shadow: none !important;
}

#page-briefing .briefing-intel-title-row {
  align-items: center !important;
  gap: 8px !important;
}

#page-briefing .mi-header-context,
#page-dashboard .mi-header-context {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#page-briefing .title-info-btn--chip,
#page-dashboard .title-info-btn--chip {
  width: auto !important;
  height: 28px !important;
  padding: 0 10px 0 12px !important;
  border-radius: 999px !important;
  border-color: rgba(120, 146, 127, 0.18) !important;
  background: rgba(248, 250, 252, 0.92) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #F5F5F5 !important;
  font-style: normal !important;
  font-family: inherit !important;
  gap: 7px !important;
  margin: 0 !important;
}

#page-briefing .mi-header-info-label,
#page-dashboard .mi-header-info-label {
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.01em;
}

#page-briefing .mi-header-info-mark,
#page-dashboard .mi-header-info-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid rgba(120, 146, 127, 0.18);
  color: #708677;
  font-size: 0.68rem;
  font-weight: 500;
  font-style: italic;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
}

#page-briefing .title-tooltip--brief,
#page-dashboard .title-tooltip--brief {
  width: min(280px, calc(100vw - 48px)) !important;
  max-width: min(280px, calc(100vw - 48px)) !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.2) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #334155 !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  text-wrap: pretty;
  transition: none !important;
  transform: none !important;
}

#page-briefing .title-tooltip--brief::before,
#page-dashboard .title-tooltip--brief::before {
  box-shadow: none !important;
}

[data-theme="dark"] #page-briefing .title-info-btn--chip,
[data-theme="dark"] #page-dashboard .title-info-btn--chip {
  background: rgba(15, 23, 42, 0.88) !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-briefing .mi-header-info-mark,
[data-theme="dark"] #page-dashboard .mi-header-info-mark {
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-briefing .title-tooltip--brief,
[data-theme="dark"] #page-dashboard .title-tooltip--brief {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
  color: #F5F5F5 !important;
}

#page-briefing .mi-car-viewport,
#page-dashboard .mi-car-viewport {
  min-height: 320px;
}

@media (max-width: 768px) {
  #page-briefing .mi-header-context {
    width: 100%;
  }

  #page-briefing .title-info-btn--chip {
    height: 30px !important;
  }

  #page-briefing .mi-car-viewport,
  #page-dashboard .mi-car-viewport {
    min-height: 260px;
  }
}

/* ── 2026-03-31 briefing polish follow-up ─────────────────────────────── */
#page-briefing #section-day-score .ds-delta-badge--info,
#page-briefing #section-day-score .ds-delta-badge--info.ds-delta--flat,
#page-briefing #section-day-score .signal-info-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#page-briefing #section-day-score .ds-delta-badge--info:hover,
#page-briefing #section-day-score .ds-delta-badge--info:focus-visible,
#page-briefing #section-day-score .signal-info-btn:hover,
#page-briefing #section-day-score .signal-info-btn:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

#page-briefing .title-info-btn--chip,
#page-dashboard .title-info-btn--chip {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  padding: 0 !important;
  gap: 6px !important;
}

#page-briefing .title-info-btn--chip:hover,
#page-briefing .title-info-btn--chip:focus-visible,
#page-dashboard .title-info-btn--chip:hover,
#page-dashboard .title-info-btn--chip:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#page-briefing .mi-header-info-mark,
#page-dashboard .mi-header-info-mark {
  background: transparent !important;
  background-color: transparent !important;
}

#page-briefing .title-tooltip--brief,
#page-dashboard .title-tooltip--brief {
  left: 0 !important;
  right: auto !important;
  width: min(680px, calc(100vw - 32px)) !important;
  max-width: min(680px, calc(100vw - 32px)) !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  line-height: 1.42 !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body,
#page-dashboard .macro-panel.has-inline-ticker #macro-body {
  gap: 14px !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation,
#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip {
  width: 100% !important;
  max-width: min(100%, 1060px) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-strip {
  display: block !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  min-width: 0 !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-ai-label,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-ai-label {
  margin: 0 !important;
  align-self: start !important;
  justify-self: start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

#page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary,
#page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-summary,
#page-briefing .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary,
#page-dashboard .macro-panel.has-inline-ticker .macro-head > #macro-interpretation .macro-narrative-summary {
  width: 100% !important;
  max-width: min(100%, 1060px) !important;
  font-size: 0.94rem !important;
  line-height: 1.58 !important;
  letter-spacing: -0.01em !important;
}

#page-briefing .macro-panel.has-inline-ticker .macro-carousel-controls,
#page-dashboard .macro-panel.has-inline-ticker .macro-carousel-controls {
  width: min(100%, 1060px) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

@media (max-width: 820px) {
  #page-briefing .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main,
  #page-dashboard .macro-panel.has-inline-ticker #macro-body > #macro-interpretation .macro-narrative-main {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 8px !important;
  }
}

#page-briefing .macro-slide-head,
#page-dashboard .macro-slide-head {
  grid-template-columns: minmax(0, 1fr) !important;
}

#page-briefing .macro-slide-title,
#page-dashboard .macro-slide-title,
#page-briefing .macro-slide-copy,
#page-dashboard .macro-slide-copy {
  width: 100% !important;
  max-width: none !important;
}

#page-briefing .macro-slide-copy,
#page-dashboard .macro-slide-copy {
  font-size: 0.92rem !important;
  line-height: 1.56 !important;
}

@media (max-width: 768px) {
  #page-briefing .title-tooltip--brief,
  #page-dashboard .title-tooltip--brief {
    width: min(420px, calc(100vw - 24px)) !important;
    max-width: min(420px, calc(100vw - 24px)) !important;
  }
}

#page-dashboard .day-score-narrative-top,
#page-briefing .day-score-narrative-top {
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

#page-dashboard .day-score-summary,
#page-briefing .day-score-summary,
#page-dashboard .day-score-breakdown,
#page-briefing .day-score-breakdown,
#page-dashboard .day-score-headline,
#page-briefing .day-score-headline,
#page-dashboard .day-score-focus,
#page-briefing .day-score-focus {
  width: 100% !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  text-wrap: pretty !important;
}

#page-dashboard .day-score-breakdown,
#page-briefing .day-score-breakdown,
#page-dashboard .day-score-headline,
#page-briefing .day-score-headline {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  max-width: 100% !important;
}

/* ── 추천 코드 입력 패널 ─────────────────────────────────────── */
.mypg-referral-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mypg-referral-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.mypg-referral-input {
  flex: 1;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.mypg-referral-input:focus {
  outline: none !important;
  border-bottom-color: rgba(15, 23, 42, 0.4) !important;
}

.mypg-referral-btn {
  flex-shrink: 0;
  height: 32px;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 600;
}

.mypg-referral-used {
  font-size: 12px;
  color: var(--color-muted, #6b7280);
  margin: 0 0 4px;
}

.mypg-referral-used.visible { display: block; }

[data-theme="dark"] .mypg-referral-input {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

[data-theme="dark"] .mypg-referral-input:focus {
  border-bottom-color: rgba(255, 255, 255, 0.35) !important;
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE: 마켓 브리핑 모바일 오버라이드
   하단 !important 패딩이 모바일 padding을 막아 가로 스크롤 발생 → 여기서 최종 override
   ════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  #page-briefing .workspace {
    padding: 0 10px !important;
  }
  #page-briefing {
    overflow-x: hidden;
  }
  #page-briefing .macro-panel,
  #page-briefing .day-score-panel,
  #page-briefing .briefing-intel-wrapper {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* 제목 white-space: nowrap 이 모바일에서 가로 넘침 유발 */
  #page-briefing .briefing-page-title,
  #page-briefing .briefing-subtitle {
    white-space: normal !important;
  }
  /* 헤더 한줄 배치가 모바일에서 넘칠 수 있음 */
  #page-briefing .briefing-header-one-line {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  /* 브리핑 인텔 헤더 버튼 줄 */
  #page-briefing .briefing-intel-header-right {
    flex-wrap: wrap;
    gap: 6px;
  }
}
@media (max-width: 480px) {
  #page-briefing .workspace {
    padding: 0 8px !important;
  }
  #page-briefing .macro-panel,
  #page-briefing .day-score-panel,
  #page-briefing .briefing-intel-wrapper {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MYPAGE REDESIGN — v20260406
   탭 제거 / 스크롤형 단일 페이지 / 2열 레이아웃
   ═══════════════════════════════════════════════════════════════════ */

/* 페이지 컨테이너 */
#page-mypage.app-page {
  display: block;
  padding: 28px 0 80px;
}

.mypg-page {
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 36px 60px;
  box-sizing: border-box;
}

/* ── 프로필 헤더 ── */
.mypg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0 22px;
  border-bottom: 1px solid #F5F5F5;
  margin-bottom: 28px;
}

.mypg-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-right: auto;
  min-width: 0;
}

.mypg-brand-symbol,
.mypg-brand-wordmark {
  display: inline-flex;
  align-items: center;
  width: auto;
  flex: 0 0 auto;
}

.mypg-brand-symbol {
  height: 20px;
}

.mypg-brand-wordmark {
  height: 18px;
}

.mypg-brand-symbol .brand-symbol-asset,
.mypg-brand-wordmark .brand-wordmark-asset {
  width: auto;
  height: 100%;
}

.mypg-identity {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 14px;
  background: #F5F5F5;
  border: 1px solid #e8ecf2;
  border-radius: 12px;
}
.mypg-identity.hidden { display: none; }

.mypg-avatar {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}

.mypg-identity-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.mypg-identity-name {
  font-size: 0.94rem;
  font-weight: 700;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.01em;
}

.mypg-identity-email {
  font-size: 0.80rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mypg-display-name-sr {
  display: none;
}

.mypg-logout-btn {
  flex-shrink: 0;
}

/* ── 요약 통계 바 ── */
.mypg-stats-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}

.mypg-stat {
  background: #fff;
  border: 1px solid #e8ecf2;
  border-radius: 14px;
  padding: 20px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: box-shadow 0.18s, border-color 0.18s;
}
.mypg-stat:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  border-color: #F5F5F5;
}

.mypg-stat::before {
  display: none;
}
.mypg-stat:nth-child(1)::before { background: linear-gradient(180deg, #3b82f6, #60a5fa); }
.mypg-stat:nth-child(2)::before { background: linear-gradient(180deg, #8b5cf6, #a78bfa); }
.mypg-stat:nth-child(3)::before { background: linear-gradient(180deg, #0c6f38, #0c6f38); }
.mypg-stat:nth-child(4)::before { background: linear-gradient(180deg, #10b981, #34d399); }

.mypg-stat-label {
  font-size: 0.72rem;
  color: #94a3b8;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mypg-stat-value {
  font-size: 1.55rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
  word-break: break-all;
  letter-spacing: -0.02em;
}

/* ── 2열 레이아웃 ── */
.mypg-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  gap: 24px;
  align-items: stretch;
}

.mypg-col-main,
.mypg-col-aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

/* ── 카드 공통 ── */
.mypg-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 28px 0;
  box-shadow: none;
}
.mypg-card + .mypg-card {
  border-top: 1px solid #f1f5f9;
}

.mypg-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 16px;
}

.mypg-card-title {
  font-size: 0.68rem;
  font-weight: 700;
  color: #94a3b8;
  margin: 0;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.mypg-card-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #F5F5F5;
}

/* ── 내 정보 ── */
#page-mypage .mypg-info-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

#page-mypage .mypg-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #F5F5F5;
}
#page-mypage .mypg-info-row:last-child { border-bottom: none; }

#page-mypage .mypg-info-row dt {
  font-size: 0.80rem;
  color: #94a3b8;
  font-weight: 500;
  flex-shrink: 0;
  letter-spacing: 0.01em;
}

#page-mypage .mypg-info-row dd {
  font-size: 0.88rem;
  color: #1e293b;
  font-weight: 600;
  text-align: right;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#page-mypage .mypg-nickname-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
}

#page-mypage .mypg-nickname-copy {
  margin: 0 0 10px;
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.5;
}

#page-mypage .mypg-nickname-label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #64748b;
}

#page-mypage .mypg-nickname-row {
  display: flex;
  gap: 10px;
  align-items: center;
}

#page-mypage .mypg-nickname-row input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  padding: 11px 13px;
  background: #fff;
  color: #0f172a;
}

#page-mypage .mypg-nickname-row input:focus {
  outline: none;
  border-color: #0f172a;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

#page-mypage .mypg-nickname-row .panel-chip-btn {
  flex-shrink: 0;
}

#page-mypage .mypg-nickname-feedback {
  margin-top: 10px;
}

/* ── 활동 리스트 (최근 본 종목) ── */
#page-mypage .mypg-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#page-mypage .mypg-activity-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #F5F5F5;
  border: 1px solid #F5F5F5;
  transition: background 0.14s, border-color 0.14s;
}
#page-mypage .mypg-activity-item:hover {
  background: #F5F5F5;
  border-color: #F5F5F5;
}

#page-mypage .mypg-activity-item strong {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1e293b;
  display: block;
  letter-spacing: -0.01em;
}

#page-mypage .mypg-activity-item span {
  font-size: 0.76rem;
  color: #94a3b8;
  display: block;
  margin-top: 2px;
}

/* ── 크레딧 내역 ── */
#page-mypage .mypg-ledger-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#page-mypage .mypg-card--ledger {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

#page-mypage .mypg-card--ledger .mypg-card-header {
  flex-shrink: 0;
}

#page-mypage .mypg-card--ledger .mypg-ledger-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

#page-mypage .mypg-ledger-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #F5F5F5;
  border: 1px solid #F5F5F5;
}

#page-mypage .mypg-ledger-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

#page-mypage .mypg-ledger-badge {
  display: none;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 100px;
  background: #e0f2fe;
  color: #0369a1;
}
#page-mypage .mypg-ledger-badge.is-negative {
  background: #fee2e2;
  color: #b91c1c;
}
#page-mypage .mypg-ledger-badge.is-positive {
  background: #dcfce7;
  color: #15803d;
}

#page-mypage .mypg-ledger-card .is-positive { color: #15803d; font-weight: 700; font-size: 0.9rem; }
#page-mypage .mypg-ledger-card .is-negative { color: #dc2626; font-weight: 700; font-size: 0.9rem; }

#page-mypage .mypg-ledger-copy {
  flex: 1;
  min-width: 0;
  text-align: right;
}
#page-mypage .mypg-ledger-copy span {
  font-size: 0.82rem;
  color: #334155;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#page-mypage .mypg-ledger-copy small {
  font-size: 0.75rem;
  color: #94a3b8;
  display: block;
}

/* ── 저장된 리포트 목록 ── */
#page-mypage .my-reports-list {
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}

/* ── 빈 상태 ── */
#page-mypage .mypg-empty-card,
#page-mypage .my-reports-empty {
  padding: 20px 0;
  font-size: 0.88rem;
  color: #94a3b8;
  text-align: center;
  display: block;
}

/* ── 1:1 문의 ── */
#page-mypage .mypg-inquiry-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#page-mypage .mypg-inquiry-form input,
#page-mypage .mypg-inquiry-form textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #F5F5F5;
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  background: #fff;
  color: #1e293b;
  resize: vertical;
  box-sizing: border-box;
}
#page-mypage .mypg-inquiry-form input:focus,
#page-mypage .mypg-inquiry-form textarea:focus {
  outline: none;
  border-color: #94a3b8;
}

.mypg-inquiry-history {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #F5F5F5;
}

.mypg-inquiry-history-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #94a3b8;
  margin: 0 0 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ── 플랜 배지 ── */
.mypg-plan-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
  background: #F5F5F5;
  color: #64748b;
  letter-spacing: 0.02em;
}
.mypg-plan-badge--paid {
  background: linear-gradient(135deg, #eff6ff, #e0f2fe);
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
[data-theme="dark"] .mypg-plan-badge {
  background: rgba(255,255,255,0.07);
  color: #64748b;
}
[data-theme="dark"] .mypg-plan-badge--paid {
  background: rgba(59,130,246,0.12);
  color: #60a5fa;
  border-color: rgba(59,130,246,0.25);
}
.mypg-plan-scheduled {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.74rem;
  color: #b45309;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.92), rgba(255, 237, 213, 0.88));
  border: 1px solid rgba(245, 158, 11, 0.28);
  letter-spacing: 0.01em;
}
.mypg-plan-scheduled::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #f59e0b;
  box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.14);
  flex: 0 0 auto;
}
[data-theme="dark"] .mypg-plan-scheduled {
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.24);
}

/* ── 계정 관리 카드 (환불/탈퇴) ── */
.mypg-account-danger-card {
  border-color: #F5F5F5;
}

.mypg-danger-note {
  font-size: 0.79rem;
  color: #94a3b8;
  line-height: 1.55;
  margin: 0 0 14px;
}

.mypg-danger-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

#page-mypage .mypg-refund-btn {
  font-size: 0.82rem;
  padding: 6px 14px;
  border-radius: 6px;
  border: 1px solid #F5F5F5;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.14s, color 0.14s;
}
#page-mypage .mypg-refund-btn:hover { border-color: #94a3b8; color: #334155; }

#page-mypage .mypg-cancel-sub-btn {
  border-color: rgba(217, 119, 6, 0.22);
  color: #b45309;
  background: rgba(255, 247, 237, 0.92);
}
#page-mypage .mypg-cancel-sub-btn:hover {
  border-color: rgba(217, 119, 6, 0.42);
  color: #92400e;
  background: #ffedd5;
}

#page-mypage #delete-account-btn.mypg-delete-btn-modern {
  font-size: 0.82rem;
  padding: 6px 14px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: #dc2626;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.14s, background 0.14s;
}
#page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
#page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible {
  color: #b91c1c;
  background: #fef2f2;
}

/* ── 다크 모드 ── */
[data-theme="dark"] .mypg-header {
  border-bottom-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .mypg-identity {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
}
[data-theme="dark"] .mypg-avatar {
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
}
[data-theme="dark"] .mypg-identity-name {
  color: #F5F5F5;
}
[data-theme="dark"] .mypg-identity-email {
  color: #64748b;
}
[data-theme="dark"] .mypg-stat {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.07);
  box-shadow: none;
}
[data-theme="dark"] .mypg-stat:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
[data-theme="dark"] .mypg-stat-label {
  color: #F5F5F5;
}
[data-theme="dark"] .mypg-stat-value {
  color: #F5F5F5;
}
[data-theme="dark"] .mypg-card {
  background: transparent;
  border: none;
  box-shadow: none;
}
[data-theme="dark"] .mypg-card + .mypg-card {
  border-top: 1px solid rgba(255,255,255,0.06);
}
[data-theme="dark"] .mypg-card-title {
  color: #F5F5F5;
}
[data-theme="dark"] .mypg-card-footer {
  border-top-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] #page-mypage .mypg-info-row {
  border-bottom-color: rgba(255,255,255,0.05);
}
[data-theme="dark"] #page-mypage .mypg-info-row dt {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-info-row dd {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-nickname-panel {
  border-top-color: rgba(255,255,255,0.08);
}
[data-theme="dark"] #page-mypage .mypg-nickname-copy,
[data-theme="dark"] #page-mypage .mypg-nickname-label {
  color: #cbd5e1;
}
[data-theme="dark"] #page-mypage .mypg-nickname-row input {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.12);
  color: #f8fafc;
}
[data-theme="dark"] #page-mypage .mypg-nickname-row input:focus {
  border-color: rgba(248,250,252,0.7);
  box-shadow: 0 0 0 3px rgba(248,250,252,0.08);
}
[data-theme="dark"] #page-mypage .mypg-activity-item {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.05);
}
[data-theme="dark"] #page-mypage .mypg-activity-item:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.09);
}
[data-theme="dark"] #page-mypage .mypg-activity-item strong {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-activity-item span {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-ledger-card {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.05);
}
[data-theme="dark"] #page-mypage .mypg-ledger-copy span {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-ledger-copy small {
  color: #F5F5F5;
}
[data-theme="dark"] .mypg-inquiry-history {
  border-top-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .mypg-inquiry-history-label {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-inquiry-form input,
[data-theme="dark"] #page-mypage .mypg-inquiry-form textarea {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-inquiry-form input:focus,
[data-theme="dark"] #page-mypage .mypg-inquiry-form textarea:focus {
  border-color: rgba(255,255,255,0.18);
}
[data-theme="dark"] .mypg-danger-note {
  color: #F5F5F5;
}
[data-theme="dark"] #page-mypage .mypg-refund-btn {
  border-color: rgba(255,255,255,0.08);
  color: #64748b;
}
[data-theme="dark"] #page-mypage .mypg-refund-btn:hover {
  border-color: rgba(255,255,255,0.14);
  color: #94a3b8;
}
[data-theme="dark"] #page-mypage .mypg-cancel-sub-btn {
  border-color: rgba(245, 158, 11, 0.28);
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.1);
}
[data-theme="dark"] #page-mypage .mypg-cancel-sub-btn:hover {
  border-color: rgba(245, 158, 11, 0.42);
  color: #fde68a;
  background: rgba(245, 158, 11, 0.16);
}
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern {
  color: #f87171;
}
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:hover,
[data-theme="dark"] #page-mypage #delete-account-btn.mypg-delete-btn-modern:focus-visible {
  color: #fca5a5;
  background: rgba(239,68,68,0.08);
}
[data-theme="dark"] #page-mypage .mypg-empty-card,
[data-theme="dark"] #page-mypage .my-reports-empty {
  color: #F5F5F5;
}

/* ── 반응형 ── */
@media (max-width: 960px) {
  .mypg-layout {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 18px;
  }
}

@media (max-width: 860px) {
  .mypg-layout {
    grid-template-columns: 1fr;
  }
  .mypg-col-aside {
    order: -1;
  }
}

@media (max-width: 640px) {
  .mypg-page {
    padding: 16px 18px 60px;
  }
  .mypg-brand-symbol {
    height: 18px;
  }
  .mypg-brand-wordmark {
    height: 16px;
  }
  .mypg-stats-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 20px;
  }
  .mypg-stat {
    padding: 16px 16px 14px;
  }
  .mypg-stat-value {
    font-size: 1.25rem;
  }
  .mypg-layout {
    gap: 14px;
  }
  .mypg-card {
    padding: 20px 0;
  }
  .mypg-identity {
    padding: 8px 12px;
  }
}

@media (max-width: 400px) {
  .mypg-stats-bar {
    grid-template-columns: 1fr 1fr;
  }
  .mypg-danger-actions {
    flex-direction: column;
  }
}

/* Mind Map / Checkpoint text should never clip in research studio cards */
#page-dashboard #research-studio .mm-header-frame-block,
#page-briefing #research-studio .mm-header-frame-block,
#page-dashboard #research-studio .mm-graph-meta,
#page-briefing #research-studio .mm-graph-meta,
#page-dashboard #research-studio .mm-stage-side-body,
#page-briefing #research-studio .mm-stage-side-body,
#page-dashboard #research-studio .mm-fixed-list,
#page-briefing #research-studio .mm-fixed-list,
#page-dashboard #research-studio .mm-live-relations-grid,
#page-briefing #research-studio .mm-live-relations-grid,
#page-dashboard #research-studio .mm-live-node-copy,
#page-briefing #research-studio .mm-live-node-copy,
#page-dashboard #research-studio .cp-item-content,
#page-briefing #research-studio .cp-item-content,
#page-dashboard #research-studio .cp-item-detail,
#page-briefing #research-studio .cp-item-detail,
#page-dashboard #research-studio .cp-item-grid,
#page-briefing #research-studio .cp-item-grid,
#page-dashboard #research-studio .cp-item-meta,
#page-briefing #research-studio .cp-item-meta {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-header-frame,
#page-briefing #research-studio .mm-header-frame,
#page-dashboard #research-studio .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title,
#page-dashboard #research-studio .mm-fixed-item-copy,
#page-briefing #research-studio .mm-fixed-item-copy,
#page-dashboard #research-studio .mm-fixed-item-detail-title,
#page-briefing #research-studio .mm-fixed-item-detail-title,
#page-dashboard #research-studio .mm-fixed-item-summary,
#page-briefing #research-studio .mm-fixed-item-summary,
#page-dashboard #research-studio .mm-live-node-title,
#page-briefing #research-studio .mm-live-node-title,
#page-dashboard #research-studio .mm-live-node-summary,
#page-briefing #research-studio .mm-live-node-summary,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p,
#page-dashboard #research-studio .mm-live-relation-name,
#page-briefing #research-studio .mm-live-relation-name,
#page-dashboard #research-studio .mm-live-relation-copy,
#page-briefing #research-studio .mm-live-relation-copy,
#page-dashboard #research-studio .mm-depth-title,
#page-briefing #research-studio .mm-depth-title,
#page-dashboard #research-studio .mm-depth-subtitle,
#page-briefing #research-studio .mm-depth-subtitle,
#page-dashboard #research-studio .cp-item-title,
#page-briefing #research-studio .cp-item-title,
#page-dashboard #research-studio .cp-reason-preview,
#page-briefing #research-studio .cp-reason-preview,
#page-dashboard #research-studio .cp-item-reason,
#page-briefing #research-studio .cp-item-reason,
#page-dashboard #research-studio .cp-item-meta strong,
#page-briefing #research-studio .cp-item-meta strong,
#page-dashboard #research-studio .cp-summary,
#page-briefing #research-studio .cp-summary {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  word-break: keep-all !important;
  color: inherit !important;
  overflow-wrap: anywhere !important;
}

#page-dashboard #research-studio .mm-header-strip,
#page-briefing #research-studio .mm-header-strip {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}

#page-dashboard #research-studio .mm-fixed-item,
#page-briefing #research-studio .mm-fixed-item,
#page-dashboard #research-studio .mm-live-relation-card,
#page-briefing #research-studio .mm-live-relation-card,
#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .cp-item,
#page-briefing #research-studio .cp-item {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: stretch !important;
}

#page-dashboard #research-studio .mm-fixed-item-btn,
#page-briefing #research-studio .mm-fixed-item-btn {
  height: auto !important;
  min-height: 0 !important;
  align-content: start !important;
  gap: 8px !important;
}

#page-dashboard #research-studio .mm-fixed-item-title-row,
#page-briefing #research-studio .mm-fixed-item-title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 8px !important;
  width: 100% !important;
}

#page-dashboard #research-studio .mm-fixed-item-title-row .mm-fixed-item-title,
#page-briefing #research-studio .mm-fixed-item-title-row .mm-fixed-item-title {
  max-width: none !important;
}

#page-dashboard #research-studio .mm-live-relations-grid,
#page-briefing #research-studio .mm-live-relations-grid,
#page-dashboard #research-studio .cp-item-grid,
#page-briefing #research-studio .cp-item-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

@media (max-width: 980px) {
  #page-dashboard #research-studio .mm-live-relations-grid,
  #page-briefing #research-studio .mm-live-relations-grid,
  #page-dashboard #research-studio .cp-item-grid,
  #page-briefing #research-studio .cp-item-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   HOME HERO FINAL PASS
   Keep the minimal copy, but restore a full-width premium split layout.
   ══════════════════════════════════════════════════════════════════════ */

#page-home .hero--home {
  max-width: 1480px !important;
  padding: 84px 40px 44px !important;
}

#page-home .hero-grid {
  grid-template-columns: 1fr !important;
  gap: 28px !important;
  align-items: start !important;
}

#page-home .hero-copy,
#page-home .hero-copy--minimal {
  width: 100% !important;
  max-width: 1160px !important;
  align-self: start !important;
}

#page-home .hero-copy--minimal {
  gap: 18px !important;
}

#page-home .hero-copy--minimal .hero-eyebrow {
  margin: 0 !important;
  color: #6b7280 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.16em !important;
}

#page-home .hero-brand-wordmark {
  height: clamp(42px, 3vw, 56px) !important;
}

#page-home .hero-title--minimal {
  max-width: none !important;
  font-size: clamp(2.4rem, 4.1vw, 5.15rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.065em !important;
  white-space: nowrap !important;
  color: #9f6a00 !important;
}

#page-home .hero-desc--minimal {
  max-width: 62rem !important;
  margin: 0 !important;
  color: #5f6b7a !important;
  font-size: 1.08rem !important;
  line-height: 1.74 !important;
}

#page-home .hero-actions {
  width: auto !important;
  align-items: flex-start !important;
}

#page-home .hero-actions .btn-primary {
  width: auto !important;
  min-width: 168px;
  justify-content: center !important;
}

#page-home .hero-trust--minimal {
  gap: 10px 14px !important;
  max-width: 64rem !important;
}

#page-home .hero-trust--minimal span {
  font-size: 0.92rem !important;
}

#page-home .hero-stage {
  order: 2 !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 8px !important;
  justify-self: stretch !important;
}

#page-home .product-shot--home-hero,
#page-home .hero-slider,
#page-home .hero-slider-stage {
  width: 100% !important;
  max-width: none !important;
}

[data-theme="dark"] #page-home .hero-copy--minimal .hero-eyebrow {
  color: #94a3b8 !important;
}

[data-theme="dark"] #page-home .hero-desc--minimal {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-home .hero-trust--minimal span {
  color: #b7d8c3 !important;
}

[data-theme="dark"] #page-home .hero-title--minimal {
  color: #e0b347 !important;
}

@media (max-width: 1240px) {
  #page-home .hero--home {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  #page-home .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }

  #page-home .hero-copy,
  #page-home .hero-copy--minimal {
    max-width: 100% !important;
  }

  #page-home .hero-title--minimal {
    max-width: none !important;
    font-size: clamp(2rem, 4.8vw, 4rem) !important;
    white-space: nowrap !important;
  }

  #page-home .hero-desc--minimal,
  #page-home .hero-trust--minimal {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  #page-home .hero--home {
    padding-top: 64px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #page-home .hero-copy--minimal {
    gap: 14px !important;
  }

  #page-home .hero-brand-wordmark {
    height: 30px !important;
  }

  #page-home .hero-title--minimal {
    max-width: none !important;
    font-size: clamp(1.5rem, 7.4vw, 2.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.05em !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  #page-home .hero-desc--minimal {
    font-size: 0.98rem !important;
    line-height: 1.66 !important;
  }

  #page-home .hero-trust--minimal {
    gap: 8px 10px !important;
  }

  #page-home .hero-trust--minimal span {
    font-size: 0.86rem !important;
  }

  #page-home .hero-actions,
  #page-home .hero-actions .btn-primary {
    width: 100% !important;
  }
}

/* Pricing CTA brand icon */
#page-pricing .pricing-card-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#page-pricing .pricing-card-btn-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

#page-pricing .pricing-card-btn-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 21px;
  flex: 0 0 auto;
  line-height: 0;
}

#page-pricing .pricing-card-btn-label {
  display: inline-block;
}

@media (max-width: 768px) {
  #page-pricing .pricing-card-btn-logo,
  #page-dashboard .btn-brand-mark,
  #page-dashboard .credit-chip-mark {
    position: relative;
    overflow: hidden;
  }

  #page-pricing .pricing-card-btn-logo > .brand-symbol-asset,
  #page-dashboard .btn-brand-mark > .brand-symbol-asset,
  #page-dashboard .credit-chip-mark > .brand-symbol-asset {
    width: auto;
    height: 100%;
    flex: 0 0 auto;
  }

  #page-pricing .pricing-card-btn-logo > .brand-symbol-asset--light,
  #page-dashboard .btn-brand-mark > .brand-symbol-asset--light,
  #page-dashboard .credit-chip-mark > .brand-symbol-asset--light {
    display: block !important;
  }

  #page-pricing .pricing-card-btn-logo > .brand-symbol-asset--dark,
  #page-dashboard .btn-brand-mark > .brand-symbol-asset--dark,
  #page-dashboard .credit-chip-mark > .brand-symbol-asset--dark {
    display: none !important;
  }

  [data-theme="dark"] #page-pricing .pricing-card-btn-logo > .brand-symbol-asset--light,
  [data-theme="dark"] #page-dashboard .btn-brand-mark > .brand-symbol-asset--light,
  [data-theme="dark"] #page-dashboard .credit-chip-mark > .brand-symbol-asset--light {
    display: none !important;
  }

  [data-theme="dark"] #page-pricing .pricing-card-btn-logo > .brand-symbol-asset--dark,
  [data-theme="dark"] #page-dashboard .btn-brand-mark > .brand-symbol-asset--dark,
  [data-theme="dark"] #page-dashboard .credit-chip-mark > .brand-symbol-asset--dark {
    display: block !important;
  }
}

@media (max-width: 768px) {
  #page-briefing {
    padding: 20px 0 110px !important;
  }

  #page-briefing .workspace {
    padding: 0 18px calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
  }

  #page-briefing .macro-panel,
  #page-briefing .day-score-panel,
  #page-briefing .briefing-intel-wrapper {
    padding: 20px 18px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 640px) {
  #page-briefing .workspace {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* ══════════════════════════════════════════
   NVC — NVIDIA-style Homepage Carousel
   ══════════════════════════════════════════ */

/* 홈 페이지일 때 page-shell 여백 제거 */
.page-shell:has(#page-home:not(.hidden)) {
  min-height: 0;
}

#page-home.app-page {
  background: #0c0c0e !important;
  padding: 0;
  gap: 0;
}

.nvc {
  position: relative;
  width: 100%;
  overflow: hidden; /* 폭 초과 방지 */
  background: #0c0c0e;
}

/* ── Slide track ── */
.nvc-track { position: relative; }

.nvc-slide { display: none; }

.nvc-slide.is-active {
  display: block;
  animation: nvc-fade-in 0.45s ease;
}

@keyframes nvc-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* 슬라이드: topbar 폭(1520px)에 맞추고 내부에서 2열 */
.nvc-slide-inner {
  display: grid;
  grid-template-areas:
    "head"
    "visual"
    "body";
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: stretch;
  min-height: 860px;
  max-width: 1520px;
  margin: 0 auto;
  padding: 34px 32px 28px;
  box-sizing: border-box;
  width: 100%;
  cursor: pointer;
  overflow: hidden;
  gap: 22px;
}

/* ── Copy column ── */
.nvc-copy-top {
  grid-area: head;
  display: grid;
  gap: 14px;
}

.nvc-copy-bottom {
  grid-area: body;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding: 4px 10px 16px 0;
}

.nvc-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.nvc-platform-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: rgba(201, 168, 76, 0.9);
}

/* 금색 tagline */
.nvc-gold-tagline {
  flex: 0 0 auto;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #c9a84c;
  display: block;
  white-space: nowrap;
  line-height: 1.15;
}

.nvc-step {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.18);
  font-variant-numeric: tabular-nums;
  display: block;
}

.nvc-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(2.5rem, 4vw, 4.2rem);
  font-weight: 800;
  line-height: 1.02;
  color: #ffffff;
  margin: 0;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.nvc-desc {
  flex: 1 1 auto;
  max-width: 78ch;
  font-size: 1.08rem;
  line-height: 1.96;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}

.nvc-slide[data-nvc-index="0"] .nvc-heading-row {
  justify-content: flex-start;
}

.nvc-slide[data-nvc-index="0"] .nvc-copy-bottom {
  gap: 0;
}

.nvc-actions {
  flex: 0 0 auto;
  margin-top: 4px;
}

/* 초록 CTA 버튼 */
.nvc-cta-green {
  min-width: 184px;
  min-height: 48px;
  background: rgba(145, 201, 103, 0.18) !important;
  color: #b7ea90 !important;
  border: 1px solid rgba(145, 201, 103, 0.34) !important;
  box-shadow: none !important;
  transform: none !important;
}
.nvc-cta-green:hover {
  background: rgba(145, 201, 103, 0.26) !important;
  opacity: 1 !important;
}

/* ── Visual column — 이미지 원본 전체 표시 ── */
.nvc-visual {
  grid-area: visual;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: min(100%, 1428px);
  margin: 0 auto;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  background:
    radial-gradient(circle at top, rgba(36, 43, 58, 0.45), rgba(12, 12, 14, 0.9)),
    #11141a;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 32px 80px rgba(0, 0, 0, 0.36);
}

.nvc-visual img {
  width: 90%;
  height: 90%;
  display: block;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nvc-visual--calendar {
  padding: 22px 28px;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
  background:
    linear-gradient(180deg, rgba(18, 20, 26, 0.98), rgba(12, 14, 18, 0.98)),
    #0f1218;
}

.nvc-calendar-card {
  width: min(100%, 410px);
  max-height: 100%;
  border-radius: 22px;
  background: #11141b;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.02),
    0 24px 48px rgba(0, 0, 0, 0.3);
  padding: 16px 16px 10px;
  color: #f5f7fb;
}

.nvc-calendar-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.nvc-calendar-head strong {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.nvc-calendar-legend {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.68);
}

.nvc-calendar-legend span::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  margin-right: 5px;
  vertical-align: middle;
}

.nvc-calendar-legend .is-high::before { background: #fb7185; }
.nvc-calendar-legend .is-medium::before { background: #fbbf24; }
.nvc-calendar-legend .is-low::before { background: #64748b; }

.nvc-calendar-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
}

.nvc-calendar-tabs span {
  padding: 9px 13px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.82rem;
  font-weight: 700;
}

.nvc-calendar-tabs .is-active {
  background: #ffffff;
  color: #111827;
}

.nvc-calendar-scroll {
  max-height: 630px;
  overflow: auto;
  padding-right: 4px;
}

.nvc-calendar-scroll::-webkit-scrollbar {
  width: 6px;
}

.nvc-calendar-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
}

.nvc-calendar-day {
  margin-top: 8px;
  padding: 10px 0 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  font-size: 0.94rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.82);
}

.nvc-calendar-day:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}

.nvc-calendar-today {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #111827;
  font-size: 0.72rem;
  font-weight: 800;
}

.nvc-calendar-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.nvc-calendar-time {
  font-size: 0.84rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.66);
}

.nvc-calendar-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.nvc-calendar-copy strong {
  font-size: 0.94rem;
  line-height: 1.34;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.nvc-calendar-copy span {
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
}

.nvc-calendar-copy b {
  color: #ffffff;
  font-weight: 800;
}

.nvc-calendar-copy em {
  color: #f87171;
  font-style: normal;
  font-weight: 800;
}

.nvc-calendar-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.nvc-calendar-badge.is-done {
  background: rgba(34, 197, 94, 0.16);
  color: #86efac;
}

.nvc-calendar-badge.is-pending {
  background: rgba(148, 163, 184, 0.14);
  color: #F5F5F5;
}

.nvc-slide[data-nvc-index="5"] .nvc-copy-bottom {
  gap: 0;
}

/* ── Tab navigation — NVIDIA 3단 ── */
.nvc-nav {
  background: #0a0a0c;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 18px 0 24px;
}

.nvc-nav-inner {
  display: flex;
  align-items: stretch;
  max-width: 1520px;
  margin: 0 auto;
  gap: 14px;
  padding: 0 32px 8px;
  box-sizing: border-box;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

.nvc-nav-inner::-webkit-scrollbar {
  height: 8px;
}

.nvc-nav-inner::-webkit-scrollbar-track {
  background: transparent;
}

.nvc-nav-inner::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
}

.nvc-nav-tab {
  position: relative;
  flex: 0 0 calc((100% - 28px) / 3);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 420px;
  min-height: 158px;
  padding: 0 92px 0 0;
  background: linear-gradient(180deg, rgba(19, 22, 28, 0.94), rgba(10, 12, 16, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  scroll-snap-align: start;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 18px 42px rgba(0, 0, 0, 0.22);
  transition:
    background 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease;
}
.nvc-nav-tab:hover,
.nvc-nav-tab.is-active {
  background: linear-gradient(180deg, rgba(24, 28, 34, 0.98), rgba(13, 15, 20, 1));
  border-color: rgba(118, 185, 0, 0.34);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 22px 48px rgba(0, 0, 0, 0.28);
}

/* Progress bar — 탭 최상단 */
.nvc-nav-bar {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.nvc-nav-fill {
  position: absolute;
  inset: 0;
  background: #d1fae5;
  transform-origin: left center;
  transform: scaleX(0);
  animation: nvc-bar var(--nvc-duration, 5000ms) linear forwards;
  animation-play-state: paused;
}

@keyframes nvc-bar {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.nvc-nav-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 42px;
  height: 42px;
  display: block;
  pointer-events: none;
}

.nvc-nav-icon-base,
.nvc-nav-icon-fill {
  position: absolute;
  inset: 0;
  display: block;
  -webkit-mask: url("/static/brand/symbol-light.svg") center / contain no-repeat;
  mask: url("/static/brand/symbol-light.svg") center / contain no-repeat;
}

.nvc-nav-icon-base {
  background: rgba(255, 255, 255, 0.14);
}

.nvc-nav-icon-fill {
  background: #d1fae5;
  clip-path: inset(0 100% 0 0);
  animation: nvc-icon-fill var(--nvc-duration, 5000ms) linear forwards;
  animation-play-state: paused;
}

@keyframes nvc-icon-fill {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

/* 탭 본문 */
.nvc-nav-tab > :not(.nvc-nav-bar):not(.nvc-nav-icon) {
  padding-left: 22px;
  padding-right: 22px;
}

.nvc-nav-cat {
  display: block;
  margin-top: 15px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
  transition: color 0.2s;
}
.nvc-nav-tab.is-active .nvc-nav-cat { color: #F5F5F5; }

.nvc-nav-title {
  display: block;
  margin-top: 7px;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.88);
  transition: color 0.2s;
}
.nvc-nav-tab.is-active .nvc-nav-title,
.nvc-nav-tab:hover .nvc-nav-title { color: #ffffff; }

.nvc-nav-desc {
  display: block;
  margin-top: auto;
  padding-top: 10px;
  padding-bottom: 18px;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -0.018em;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
  transition: color 0.2s;
}
.nvc-nav-tab.is-active .nvc-nav-desc { color: rgba(255, 255, 255, 0.84); }
.nvc-nav-tab:hover .nvc-nav-desc { color: rgba(255, 255, 255, 0.8); }

/* ── Responsive ── */
@media (max-width: 1200px) {
  .nvc-slide-inner {
    min-height: 780px;
  }

  .nvc-title {
    font-size: clamp(2.1rem, 3.4vw, 3.3rem);
  }

  .nvc-platform-title,
  .nvc-gold-tagline {
    font-size: 0.9rem;
  }

  .nvc-nav-inner { gap: 12px; }

  .nvc-nav-tab {
    flex-basis: calc((100% - 24px) / 3);
    min-width: 360px;
    padding-right: 86px;
  }
}

@media (max-width: 900px) {
  .nvc-slide-inner {
    min-height: auto;
    padding: 24px 20px 20px;
    gap: 18px;
  }
  .nvc-heading-row,
  .nvc-copy-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .nvc-title {
    white-space: normal;
    font-size: clamp(1.9rem, 6vw, 2.7rem);
  }
  .nvc-platform-title,
  .nvc-gold-tagline {
    font-size: 0.86rem;
    white-space: normal;
  }
  .nvc-copy-bottom {
    padding: 0 0 6px;
  }
  .nvc-visual {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  .nvc-visual--calendar {
    padding: 18px;
  }
  .nvc-calendar-card {
    width: 100%;
  }
  .nvc-nav {
    padding: 14px 0 18px;
  }
  .nvc-nav-inner {
    gap: 14px;
    padding: 0 20px 8px;
  }
  .nvc-nav-tab {
    flex-basis: calc((100% - 14px) / 2);
    min-width: 264px;
    min-height: 152px;
    border-radius: 18px;
    padding-right: 76px;
  }
  .nvc-nav-tab > :not(.nvc-nav-bar):not(.nvc-nav-icon) {
    padding-left: 18px;
    padding-right: 18px;
  }
  .nvc-nav-icon {
    top: 18px;
    right: 18px;
    width: 36px;
    height: 36px;
  }
  .nvc-nav-cat { font-size: 0.6rem; }
  .nvc-nav-title { font-size: 0.98rem; }
  .nvc-nav-desc {
    display: block;
    font-size: 0.88rem;
    line-height: 1.62;
    padding-bottom: 18px;
    white-space: normal;
  }
}

@media (max-width: 560px) {
  .nvc-slide-inner {
    padding: 18px 16px 16px;
  }
  .nvc-visual {
    aspect-ratio: 16 / 9;
    border-radius: 18px;
  }
  .nvc-calendar-item {
    grid-template-columns: 46px minmax(0, 1fr);
  }
  .nvc-calendar-badge {
    grid-column: 2;
    justify-self: start;
  }
  .nvc-cta-green {
    width: 100%;
  }
  .nvc-nav-inner {
    gap: 12px;
    padding: 0 16px 8px;
  }
  .nvc-nav-tab {
    flex-basis: 86%;
    min-width: 86%;
    min-height: 146px;
    border-radius: 16px;
    padding-right: 70px;
  }
  .nvc-nav-icon {
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
  }
  .nvc-nav-title { font-size: 0.94rem; }
  .nvc-nav-desc {
    font-size: 0.84rem;
    line-height: 1.58;
    white-space: normal;
  }
}

/* ── 홈 화면일 때 body/shell 흰 배경 완전 제거 ── */
html:has(body.is-home-page),
body:has(#page-home:not(.hidden)),
body.is-home-page {
  background: #0a0a0c !important;
}
.app-pages:has(#page-home:not(.hidden)),
.page-shell:has(#page-home:not(.hidden)) {
  background: #0a0a0c;
}
body.is-home-page .site-footer {
  background: #0a0a0c !important;
}

/* ── 홈 화면 전용 탑바 화이트 ── */
body.is-home-page .topbar {
  background: #ffffff !important;
  border-bottom-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.is-home-page .nav-pill,
body.is-home-page .topbar-end .btn-ghost-sm,
body.is-home-page .topbar-end .icon-btn,
body.is-home-page .cal-text-btn,
body.is-home-page .header-user-chip,
body.is-home-page .brand-btn {
  color: #111827 !important;
}


body.is-home-page .nav-pill:hover,
body.is-home-page .nav-pill.is-active,
body.is-home-page .topbar-end .btn-ghost-sm:hover,
body.is-home-page .topbar-end .icon-btn:hover,
body.is-home-page .cal-text-btn:hover,
body.is-home-page .cal-text-btn.is-active {
  background: rgba(17, 24, 39, 0.06) !important;
}

[data-theme="dark"] body.is-home-page .topbar,
[data-theme="dark"] body.is-home-page .nav-pill,
[data-theme="dark"] body.is-home-page .topbar-end .btn-ghost-sm,
[data-theme="dark"] body.is-home-page .topbar-end .icon-btn,
[data-theme="dark"] body.is-home-page .cal-text-btn,
[data-theme="dark"] body.is-home-page .header-user-chip,
[data-theme="dark"] body.is-home-page .brand-btn,
[data-theme="dark"] body.is-home-page #theme-toggle-btn,
[data-theme="dark"] body.is-home-page #lang-toggle-btn,
[data-theme="dark"] body.is-home-page #header-logout-btn {
  background: #ffffff !important;
  color: #111827 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.is-home-page .topbar-end .btn-login,
[data-theme="dark"] body.is-home-page .topbar-end .btn-login {
  background: #ffffff !important;
  color: #111827 !important;
  border-color: rgba(15, 23, 42, 0.16) !important;
  box-shadow: none !important;
}

body.is-home-page .topbar-end .btn-signup,
[data-theme="dark"] body.is-home-page .topbar-end .btn-signup {
  background: #111827 !important;
  color: #ffffff !important;
  border-color: #111827 !important;
  box-shadow: none !important;
}

body.is-home-page .cal-text-btn,
[data-theme="dark"] body.is-home-page .cal-text-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: transparent !important;
}

/* ── 마이페이지 추천 사용 조합 ── */
#page-mypage .mypg-usage-guide .pricing-usage-head {
  margin-bottom: 16px;
}

#page-mypage .mypg-usage-guide .pricing-usage-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 900px) {
  #page-mypage .mypg-usage-guide .pricing-usage-grid {
    grid-template-columns: 1fr;
  }
}

[data-theme="dark"] #page-mypage .mypg-usage-guide .pricing-usage-card {
  background: #101010;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] #page-mypage .mypg-usage-guide .pricing-usage-total {
  background: #f3f3f3;
  color: #111;
}

[data-theme="dark"] #page-briefing .macro-head h2 {
  color: rgba(201, 168, 76, 0.9) !important;
}

/* ── 전역 탑바 화이트 고정 ── */
.topbar,
[data-theme="dark"] .topbar {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.nav-pill,
.topbar-end .btn-ghost-sm,
.topbar-end .icon-btn,
.cal-text-btn,
.header-user-chip,
.header-seed-chip,
.brand-btn,
#theme-toggle-btn,
#lang-toggle-btn,
#header-logout-btn,
[data-theme="dark"] .nav-pill,
[data-theme="dark"] .topbar-end .btn-ghost-sm,
[data-theme="dark"] .topbar-end .icon-btn,
[data-theme="dark"] .cal-text-btn,
[data-theme="dark"] .header-user-chip,
[data-theme="dark"] .header-seed-chip,
[data-theme="dark"] .brand-btn,
[data-theme="dark"] #theme-toggle-btn,
[data-theme="dark"] #lang-toggle-btn,
[data-theme="dark"] #header-logout-btn {
  background: transparent !important;
  color: #111827 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.nav-pill:hover,
.nav-pill.is-active,
.topbar-end .btn-ghost-sm:hover,
.topbar-end .icon-btn:hover,
.cal-text-btn:hover,
.cal-text-btn.is-active,
[data-theme="dark"] .nav-pill:hover,
[data-theme="dark"] .nav-pill.is-active,
[data-theme="dark"] .topbar-end .btn-ghost-sm:hover,
[data-theme="dark"] .topbar-end .icon-btn:hover,
[data-theme="dark"] .cal-text-btn:hover,
[data-theme="dark"] .cal-text-btn.is-active {
  background: rgba(15, 23, 42, 0.06) !important;
}

.topbar-end .btn-login,
[data-theme="dark"] .topbar-end .btn-login {
  background: #ffffff !important;
  color: #111827 !important;
  border-color: rgba(15, 23, 42, 0.16) !important;
  box-shadow: none !important;
}

.topbar-end .btn-signup,
[data-theme="dark"] .topbar-end .btn-signup {
  background: #111827 !important;
  color: #ffffff !important;
  border-color: #111827 !important;
  box-shadow: none !important;
}

[data-theme="dark"] .brand-wordmark-asset--light,
[data-theme="dark"] .brand-symbol-asset--light {
  display: block !important;
}

[data-theme="dark"] .brand-wordmark-asset--dark,
[data-theme="dark"] .brand-symbol-asset--dark {
  display: none !important;
}

/* ── Briefing / Dashboard guest-lock CTA tone unify ── */
#dashboard-preview-login-btn.dashboard-guest-lock-btn,
#briefing-preview-login-btn.dashboard-guest-lock-btn {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
  font-size: 0.88rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #84cc16 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

#dashboard-preview-login-btn.dashboard-guest-lock-btn:hover,
#briefing-preview-login-btn.dashboard-guest-lock-btn:hover {
  color: #65a30d !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] #dashboard-preview-login-btn.dashboard-guest-lock-btn,
[data-theme="dark"] #briefing-preview-login-btn.dashboard-guest-lock-btn {
  color: #84cc16 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #dashboard-preview-login-btn.dashboard-guest-lock-btn:hover,
[data-theme="dark"] #briefing-preview-login-btn.dashboard-guest-lock-btn:hover {
  color: #a3e635 !important;
  background: transparent !important;
  background-image: none !important;
}

/* ── Readability pass: dark-mode contrast + small-text scale-up ───────── */
#page-dashboard .recommend-card-panel h3,
#page-briefing .recommend-card-panel h3 {
  font-size: 1.08rem !important;
}

#page-dashboard .recommend-heading-badge,
#page-briefing .recommend-heading-badge {
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 0.84rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
}

[data-theme="dark"] #page-dashboard .recommend-heading-badge,
[data-theme="dark"] #page-briefing .recommend-heading-badge {
  border-color: rgba(74, 222, 128, 0.34) !important;
  background: transparent !important;
  color: #dcfce7 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 10px 22px rgba(0, 0, 0, 0.16) !important;
}

#page-dashboard .recommend-inline-summary,
#page-briefing .recommend-inline-summary {
  font-size: 0.98rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .recommend-badge-detail,
#page-briefing .recommend-badge-detail {
  font-size: 0.96rem !important;
}

#page-dashboard .recommend-one-liner,
#page-briefing .recommend-one-liner {
  font-size: 1.14rem !important;
  line-height: 1.72 !important;
  font-weight: 500 !important;
}

#page-dashboard .recommend-brief-label,
#page-briefing .recommend-brief-label {
  font-size: 0.84rem !important;
}

#page-dashboard .recommend-brief-row strong,
#page-briefing .recommend-brief-row strong {
  font-size: 1.01rem !important;
  line-height: 1.68 !important;
  font-weight: 500 !important;
}

#page-dashboard .recommend-brief-text,
#page-briefing .recommend-brief-text {
  margin: 0 !important;
  color: #1f2937 !important;
  font-size: 1.01rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
}

#page-dashboard .recommend-main-point strong,
#page-briefing .recommend-main-point strong {
  font-weight: 500 !important;
}

[data-theme="dark"] #page-dashboard .recommend-inline-summary,
[data-theme="dark"] #page-briefing .recommend-inline-summary,
[data-theme="dark"] #page-dashboard .recommend-badge-detail,
[data-theme="dark"] #page-briefing .recommend-badge-detail {
  color: #d8e2ee !important;
}

[data-theme="dark"] #page-dashboard .recommend-one-liner,
[data-theme="dark"] #page-briefing .recommend-one-liner,
[data-theme="dark"] #page-dashboard .recommend-brief-row strong,
[data-theme="dark"] #page-briefing .recommend-brief-row strong {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .recommend-brief-text,
[data-theme="dark"] #page-briefing .recommend-brief-text {
  color: #F5F5F5 !important;
  font-weight: 400 !important;
}

[data-theme="dark"] #page-dashboard .recommend-brief-label,
[data-theme="dark"] #page-briefing .recommend-brief-label {
  color: #b7c6d8 !important;
}

[data-theme="dark"] #page-dashboard .recommend-brief-row,
[data-theme="dark"] #page-briefing .recommend-brief-row {
  border-bottom-color: rgba(100, 116, 139, 0.78) !important;
  background: transparent !important;
}

[data-theme="dark"] #page-dashboard .recommend-brief-row:hover,
[data-theme="dark"] #page-briefing .recommend-brief-row:hover {
  background: transparent !important;
  border-bottom-color: rgba(148, 163, 184, 0.9) !important;
}

#page-dashboard .dashboard-stage-kicker,
#page-briefing .dashboard-stage-kicker,
#page-dashboard .dashboard-journey-step,
#page-briefing .dashboard-journey-step {
  font-size: 0.88rem !important;
}

#page-dashboard .dashboard-journey-desc,
#page-briefing .briefing-subtitle {
  font-size: 1rem !important;
  line-height: 1.72 !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey-desc,
[data-theme="dark"] #page-briefing .briefing-subtitle,
[data-theme="dark"] #page-dashboard .dashboard-stage-kicker,
[data-theme="dark"] #page-briefing .dashboard-stage-kicker {
  color: #c8d4e3 !important;
}

#page-dashboard .cp-context-label,
#page-briefing .cp-context-label,
#page-dashboard .cp-item-meta-label,
#page-briefing .cp-item-meta-label,
#page-dashboard .cp-reason-preview,
#page-briefing .cp-reason-preview,
#page-dashboard .cp-item-reason,
#page-briefing .cp-item-reason,
#page-dashboard .cp-item-title,
#page-briefing .cp-item-title {
  letter-spacing: normal !important;
}

#page-dashboard .cp-context-label,
#page-briefing .cp-context-label {
  font-size: 0.88rem !important;
}

#page-dashboard .cp-context-text,
#page-briefing .cp-context-text {
  font-size: 0.96rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .cp-reason-preview,
#page-briefing .cp-reason-preview {
  font-size: 0.92rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .cp-item-title,
#page-briefing .cp-item-title {
  font-size: 1.04rem !important;
  line-height: 1.58 !important;
}

#page-dashboard .cp-item-reason,
#page-briefing .cp-item-reason,
#page-dashboard .cp-item-meta strong,
#page-briefing .cp-item-meta strong {
  font-size: 0.96rem !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}

#page-dashboard .cp-item-meta-label,
#page-briefing .cp-item-meta-label {
  font-size: 0.88rem !important;
}

[data-theme="dark"] #page-dashboard .cp-reason-preview,
[data-theme="dark"] #page-briefing .cp-reason-preview {
  color: #a8b8ca !important;
}

[data-theme="dark"] #page-dashboard .cp-item-reason,
[data-theme="dark"] #page-briefing .cp-item-reason,
[data-theme="dark"] #page-dashboard .cp-item-meta strong,
[data-theme="dark"] #page-briefing .cp-item-meta strong,
[data-theme="dark"] #page-dashboard .cp-context-text,
[data-theme="dark"] #page-briefing .cp-context-text {
  color: #e2ebf5 !important;
}

[data-theme="dark"] #page-dashboard .cp-item-meta-label,
[data-theme="dark"] #page-briefing .cp-item-meta-label,
[data-theme="dark"] #page-dashboard .cp-context-label,
[data-theme="dark"] #page-briefing .cp-context-label {
  color: #b6c5d8 !important;
}

#page-dashboard #research-studio .mm-live-node-block-label,
#page-briefing #research-studio .mm-live-node-block-label,
#page-dashboard #research-studio .mm-live-relations-head,
#page-briefing #research-studio .mm-live-relations-head {
  font-size: 0.84rem !important;
}

#page-dashboard #research-studio .mm-live-node-title,
#page-briefing #research-studio .mm-live-node-title,
#page-dashboard #research-studio .mm-live-relation-name,
#page-briefing #research-studio .mm-live-relation-name {
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
}

#page-dashboard #research-studio .mm-live-node-summary,
#page-briefing #research-studio .mm-live-node-summary,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p,
#page-dashboard #research-studio .mm-live-relation-copy,
#page-briefing #research-studio .mm-live-relation-copy {
  font-size: 1rem !important;
  line-height: 1.74 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-copy {
  color: #dbe6f2 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations-head,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations-head {
  color: #b9c8d9 !important;
}

#page-pricing .pricing-page-kicker,
#page-pricing .pricing-flow-node-kicker {
  font-size: 0.84rem !important;
}

#page-pricing .pricing-flow-node p,
#page-pricing .pricing-card-action-note,
#page-pricing .pricing-card-audience,
#page-pricing .pricing-card-usage,
#page-pricing .pricing-note-list li {
  font-size: 0.96rem !important;
  line-height: 1.68 !important;
}

#page-pricing .pricing-card-btn,
#page-pricing .pricing-topup-info-tooltip,
#page-pricing .pricing-loading-text {
  font-size: 0.94rem !important;
}

[data-theme="dark"] #page-pricing .pricing-page-lead,
[data-theme="dark"] #page-pricing .pricing-page-sub,
[data-theme="dark"] #page-pricing .pricing-service-map-sub,
[data-theme="dark"] #page-pricing .pricing-usage-sub,
[data-theme="dark"] #page-pricing .pricing-card-action-note,
[data-theme="dark"] #page-pricing .pricing-card-audience,
[data-theme="dark"] #page-pricing .pricing-card-usage,
[data-theme="dark"] #page-pricing .pricing-note-list li,
[data-theme="dark"] #page-pricing .pricing-flow-node p,
[data-theme="dark"] #page-pricing .pricing-loading-text,
[data-theme="dark"] #page-pricing .pricing-topup-info-tooltip {
  color: #d6e1ed !important;
}

[data-theme="dark"] #page-pricing .pricing-page-kicker,
[data-theme="dark"] #page-pricing .pricing-flow-node-kicker {
  color: #bef264 !important;
}

#page-mypage .mypg-danger-note,
#page-mypage .mypg-ledger-copy span,
#page-mypage .mypg-ledger-copy small {
  line-height: 1.65 !important;
}

[data-theme="dark"] #page-mypage .mypg-ledger-copy span,
[data-theme="dark"] #page-mypage .mypg-danger-note {
  color: #e2ebf5 !important;
}

#page-home .nvc-platform-title {
  font-size: 1.18rem !important;
  line-height: 1.32 !important;
  color: #c9a84c !important;
}

#page-home .nvc-step,
#page-home .nvc-nav-cat {
  font-size: 0.76rem !important;
}

#page-home .nvc-nav-title {
  font-size: 1.16rem !important;
  line-height: 1.45 !important;
}

#page-home .nvc-nav-desc {
  font-size: 0.98rem !important;
  line-height: 1.68 !important;
}

[data-theme="dark"] #page-home .nvc-platform-title {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-home .nvc-nav-cat {
  color: rgba(226, 232, 240, 0.66) !important;
}

[data-theme="dark"] #page-home .nvc-nav-desc {
  color: rgba(226, 232, 240, 0.84) !important;
}

#page-dashboard .day-score-hero,
#page-briefing .day-score-hero,
#page-dashboard .day-score-main,
#page-briefing .day-score-main,
#page-dashboard .day-score-secondary,
#page-briefing .day-score-secondary,
#page-dashboard .day-score-sidecard,
#page-briefing .day-score-sidecard,
#page-dashboard .day-score-narrative,
#page-briefing .day-score-narrative {
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard .day-score-summary,
#page-briefing .day-score-summary {
  max-width: 44ch !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

#page-dashboard .day-score-headline,
#page-briefing .day-score-headline {
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

#page-dashboard .day-score-breakdown,
#page-briefing .day-score-breakdown {
  font-size: 0.94rem !important;
  line-height: 1.56 !important;
}

[data-theme="dark"] #page-dashboard .day-score-summary,
[data-theme="dark"] #page-briefing .day-score-summary,
[data-theme="dark"] #page-dashboard .day-score-headline,
[data-theme="dark"] #page-briefing .day-score-headline,
[data-theme="dark"] #page-dashboard .day-score-breakdown,
[data-theme="dark"] #page-briefing .day-score-breakdown,
[data-theme="dark"] #page-dashboard .day-score-focus,
[data-theme="dark"] #page-briefing .day-score-focus {
  color: #dfe9f3 !important;
}

/* ── Briefing / Dashboard readability uplift ─────────────────────────── */
#page-dashboard .dashboard-stage-desc,
#page-briefing .dashboard-stage-desc,
#page-dashboard .dashboard-head-copy p,
#page-briefing .dashboard-head-copy p,
#page-dashboard .recommend-market-note,
#page-briefing .recommend-market-note,
#page-dashboard .assist-note,
#page-briefing .assist-note,
#page-dashboard .eta-note,
#page-briefing .eta-note,
#page-dashboard .macro-updated,
#page-briefing .macro-updated,
#page-dashboard .service-hero-note-value,
#page-briefing .service-hero-note-value,
#page-dashboard .briefing-subtitle,
#page-briefing .briefing-subtitle {
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
}

#page-dashboard .service-hero-note-label,
#page-briefing .service-hero-note-label,
#page-dashboard .dashboard-stage-kicker,
#page-briefing .dashboard-stage-kicker,
#page-dashboard .recommend-heading-badge,
#page-briefing .recommend-heading-badge,
#page-dashboard .recommend-brief-label,
#page-briefing .recommend-brief-label,
#page-dashboard .cp-context-label,
#page-briefing .cp-context-label,
#page-dashboard .cp-item-meta-label,
#page-briefing .cp-item-meta-label,
#page-dashboard #research-studio .mm-live-node-block-label,
#page-briefing #research-studio .mm-live-node-block-label,
#page-dashboard #research-studio .mm-live-relations-head,
#page-briefing #research-studio .mm-live-relations-head {
  font-size: 0.94rem !important;
  line-height: 1.55 !important;
  letter-spacing: -0.01em !important;
}

#page-dashboard .mi-card-label,
#page-briefing .mi-card-label {
  min-height: 28px !important;
  padding: 2px 12px !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
}

#page-dashboard .mi-card-title,
#page-briefing .mi-card-title {
  font-size: 1.22rem !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

#page-dashboard .mi-card-conclusion,
#page-briefing .mi-card-conclusion,
#page-dashboard .mi-simple,
#page-briefing .mi-simple {
  font-size: 1.04rem !important;
  line-height: 1.8 !important;
}

#page-dashboard .mi-card-summary-main,
#page-briefing .mi-card-summary-main {
  font-size: 1.06rem !important;
  line-height: 1.76 !important;
  font-weight: 700 !important;
}

#page-dashboard .mi-card-summary-sub,
#page-briefing .mi-card-summary-sub,
#page-dashboard .mi-card-insight-text,
#page-briefing .mi-card-insight-text,
#page-dashboard .mi-summary-text,
#page-briefing .mi-summary-text,
#page-dashboard .market-intel-meta,
#page-briefing .market-intel-meta {
  font-size: 1rem !important;
  line-height: 1.76 !important;
}

#page-dashboard .day-score-summary,
#page-briefing .day-score-summary {
  font-size: 1.06rem !important;
  line-height: 1.78 !important;
}

#page-dashboard .day-score-headline,
#page-briefing .day-score-headline {
  font-size: 1.14rem !important;
  line-height: 1.72 !important;
}

#page-dashboard .day-score-breakdown,
#page-briefing .day-score-breakdown {
  font-size: 1rem !important;
  line-height: 1.76 !important;
}

[data-theme="dark"] #page-dashboard .dashboard-stage-desc,
[data-theme="dark"] #page-briefing .dashboard-stage-desc,
[data-theme="dark"] #page-dashboard .dashboard-head-copy p,
[data-theme="dark"] #page-briefing .dashboard-head-copy p,
[data-theme="dark"] #page-dashboard .recommend-market-note,
[data-theme="dark"] #page-briefing .recommend-market-note,
[data-theme="dark"] #page-dashboard .assist-note,
[data-theme="dark"] #page-briefing .assist-note,
[data-theme="dark"] #page-dashboard .eta-note,
[data-theme="dark"] #page-briefing .eta-note,
[data-theme="dark"] #page-dashboard .macro-updated,
[data-theme="dark"] #page-briefing .macro-updated,
[data-theme="dark"] #page-dashboard .service-hero-note-value,
[data-theme="dark"] #page-briefing .service-hero-note-value,
[data-theme="dark"] #page-dashboard .mi-card-conclusion,
[data-theme="dark"] #page-briefing .mi-card-conclusion,
[data-theme="dark"] #page-dashboard .mi-simple,
[data-theme="dark"] #page-briefing .mi-simple,
[data-theme="dark"] #page-dashboard .mi-card-summary-sub,
[data-theme="dark"] #page-briefing .mi-card-summary-sub,
[data-theme="dark"] #page-dashboard .mi-card-insight-text,
[data-theme="dark"] #page-briefing .mi-card-insight-text,
[data-theme="dark"] #page-dashboard .mi-summary-text,
[data-theme="dark"] #page-briefing .mi-summary-text,
[data-theme="dark"] #page-dashboard .market-intel-meta,
[data-theme="dark"] #page-briefing .market-intel-meta,
[data-theme="dark"] #page-dashboard .briefing-subtitle,
[data-theme="dark"] #page-briefing .briefing-subtitle {
  color: #dbe7f3 !important;
}

[data-theme="dark"] #page-dashboard .service-hero-note-label,
[data-theme="dark"] #page-briefing .service-hero-note-label,
[data-theme="dark"] #page-dashboard .dashboard-stage-kicker,
[data-theme="dark"] #page-briefing .dashboard-stage-kicker,
[data-theme="dark"] #page-dashboard .recommend-brief-label,
[data-theme="dark"] #page-briefing .recommend-brief-label,
[data-theme="dark"] #page-dashboard .cp-context-label,
[data-theme="dark"] #page-briefing .cp-context-label,
[data-theme="dark"] #page-dashboard .cp-item-meta-label,
[data-theme="dark"] #page-briefing .cp-item-meta-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations-head,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations-head,
[data-theme="dark"] #page-dashboard .mi-card-label,
[data-theme="dark"] #page-briefing .mi-card-label {
  color: #c6d5e6 !important;
}

[data-theme="dark"] #page-dashboard .mi-card-title,
[data-theme="dark"] #page-briefing .mi-card-title,
[data-theme="dark"] #page-dashboard .mi-card-summary-main,
[data-theme="dark"] #page-briefing .mi-card-summary-main,
[data-theme="dark"] #page-dashboard .day-score-headline,
[data-theme="dark"] #page-briefing .day-score-headline {
  color: #f7fbff !important;
}

/* Hide 업데이트: text */
#recommend-updated {
  display: none !important;
}

/* ── Global bold text color to gold ── */
h1, h2, h3, h4, h5, h6, strong, b {
  color: #c9a84c !important;
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] strong,
[data-theme="dark"] b {
  color: #F5F5F5 !important;
}

/* Override global bold text for pricing service cards */
#page-pricing .pricing-service-card strong,
#page-pricing .pricing-usage-card strong {
  color: #0f172a !important;
}

[data-theme="dark"] #page-pricing .pricing-service-card strong,
[data-theme="dark"] #page-pricing .pricing-usage-card strong {
  color: #F5F5F5 !important;
}

/* Override global bold text for pricing flow title */
html:not([data-theme="dark"]) #page-pricing .pricing-flow-copy .pricing-flow-title,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-title,
#page-pricing .pricing-flow-copy .pricing-flow-title,
#page-pricing .pricing-flow-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-pricing .pricing-flow-copy .pricing-flow-title,
[data-theme="dark"] #page-pricing .pricing-flow-title {
  color: #F5F5F5 !important;
}

/* Override global bold text for dashboard recommend-head h2 (시그널 브리핑) */
#page-dashboard .recommend-head h2 {
  color: #c9a84c !important;
}

/* Research Studio result text must follow the active theme, not global heading/bold overrides. */
[data-theme="light"] #page-dashboard #research-studio .markdown-body,
[data-theme="light"] #page-briefing #research-studio .markdown-body,
[data-theme="light"] #page-dashboard #research-studio .markdown-body p,
[data-theme="light"] #page-briefing #research-studio .markdown-body p,
[data-theme="light"] #page-dashboard #research-studio .markdown-body li,
[data-theme="light"] #page-briefing #research-studio .markdown-body li,
[data-theme="light"] #page-dashboard #research-studio .markdown-body td,
[data-theme="light"] #page-briefing #research-studio .markdown-body td,
[data-theme="light"] #page-dashboard #research-studio .markdown-body th,
[data-theme="light"] #page-briefing #research-studio .markdown-body th,
[data-theme="light"] #page-dashboard #research-studio .markdown-body h1,
[data-theme="light"] #page-briefing #research-studio .markdown-body h1,
[data-theme="light"] #page-dashboard #research-studio .markdown-body h2,
[data-theme="light"] #page-briefing #research-studio .markdown-body h2,
[data-theme="light"] #page-dashboard #research-studio .markdown-body h3,
[data-theme="light"] #page-briefing #research-studio .markdown-body h3,
[data-theme="light"] #page-dashboard #research-studio .markdown-body h4,
[data-theme="light"] #page-briefing #research-studio .markdown-body h4,
[data-theme="light"] #page-dashboard #research-studio .markdown-body strong,
[data-theme="light"] #page-briefing #research-studio .markdown-body strong,
[data-theme="light"] #page-dashboard #research-studio .markdown-body b,
[data-theme="light"] #page-briefing #research-studio .markdown-body b,
[data-theme="light"] #page-dashboard #research-studio .cp-item-title,
[data-theme="light"] #page-briefing #research-studio .cp-item-title,
[data-theme="light"] #page-dashboard #research-studio .cp-reason-preview,
[data-theme="light"] #page-briefing #research-studio .cp-reason-preview,
[data-theme="light"] #page-dashboard #research-studio .cp-item-reason,
[data-theme="light"] #page-briefing #research-studio .cp-item-reason,
[data-theme="light"] #page-dashboard #research-studio .cp-item-meta strong,
[data-theme="light"] #page-briefing #research-studio .cp-item-meta strong,
[data-theme="light"] #page-dashboard #research-studio .cp-summary,
[data-theme="light"] #page-briefing #research-studio .cp-summary,
[data-theme="light"] #page-dashboard #research-studio .cp-context-text,
[data-theme="light"] #page-briefing #research-studio .cp-context-text,
[data-theme="light"] #page-dashboard #research-studio .mm-header-frame,
[data-theme="light"] #page-briefing #research-studio .mm-header-frame,
[data-theme="light"] #page-dashboard #research-studio .mm-fixed-item-title,
[data-theme="light"] #page-briefing #research-studio .mm-fixed-item-title,
[data-theme="light"] #page-dashboard #research-studio .mm-fixed-item-copy,
[data-theme="light"] #page-briefing #research-studio .mm-fixed-item-copy,
[data-theme="light"] #page-dashboard #research-studio .mm-fixed-item-detail-title,
[data-theme="light"] #page-briefing #research-studio .mm-fixed-item-detail-title,
[data-theme="light"] #page-dashboard #research-studio .mm-fixed-item-summary,
[data-theme="light"] #page-briefing #research-studio .mm-fixed-item-summary,
[data-theme="light"] #page-dashboard #research-studio .mm-live-node-title,
[data-theme="light"] #page-briefing #research-studio .mm-live-node-title,
[data-theme="light"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="light"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="light"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="light"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="light"] #page-dashboard #research-studio .mm-live-relation-name,
[data-theme="light"] #page-briefing #research-studio .mm-live-relation-name,
[data-theme="light"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="light"] #page-briefing #research-studio .mm-live-relation-copy,
[data-theme="light"] #page-dashboard #research-studio .mm-depth-title,
[data-theme="light"] #page-briefing #research-studio .mm-depth-title,
[data-theme="light"] #page-dashboard #research-studio .mm-depth-subtitle,
[data-theme="light"] #page-briefing #research-studio .mm-depth-subtitle {
  color: #111827 !important;
}

[data-theme="light"] #page-dashboard #research-studio .markdown-body blockquote,
[data-theme="light"] #page-briefing #research-studio .markdown-body blockquote {
  color: #33506f !important;
}

[data-theme="dark"] #page-dashboard #research-studio .markdown-body,
[data-theme="dark"] #page-briefing #research-studio .markdown-body,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body p,
[data-theme="dark"] #page-briefing #research-studio .markdown-body p,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body li,
[data-theme="dark"] #page-briefing #research-studio .markdown-body li,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body td,
[data-theme="dark"] #page-briefing #research-studio .markdown-body td,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body th,
[data-theme="dark"] #page-briefing #research-studio .markdown-body th,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h1,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h1,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h2,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h2,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h3,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h3,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h4,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h4,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body strong,
[data-theme="dark"] #page-briefing #research-studio .markdown-body strong,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body b,
[data-theme="dark"] #page-briefing #research-studio .markdown-body b,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-title,
[data-theme="dark"] #page-briefing #research-studio .cp-item-title,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-meta strong,
[data-theme="dark"] #page-briefing #research-studio .cp-item-meta strong,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-detail-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-detail-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-title,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-dashboard #research-studio .mm-depth-title,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .cp-reason-preview,
[data-theme="dark"] #page-briefing #research-studio .cp-reason-preview,
[data-theme="dark"] #page-dashboard #research-studio .cp-item-reason,
[data-theme="dark"] #page-briefing #research-studio .cp-item-reason,
[data-theme="dark"] #page-dashboard #research-studio .cp-summary,
[data-theme="dark"] #page-briefing #research-studio .cp-summary,
[data-theme="dark"] #page-dashboard #research-studio .cp-context-text,
[data-theme="dark"] #page-briefing #research-studio .cp-context-text,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-frame,
[data-theme="dark"] #page-briefing #research-studio .mm-header-frame,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-depth-subtitle,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-subtitle {
  color: #dbe6f2 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .markdown-body blockquote,
[data-theme="dark"] #page-briefing #research-studio .markdown-body blockquote {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard .recommend-head h2 {
  color: #c9a84c !important;
}

/* Override global bold text for dashboard-journey-copy strong (그다음 시그널 브리핑) */
#page-dashboard .dashboard-journey-copy strong {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-dashboard .dashboard-journey-copy strong {
  color: #c9a84c !important;
}

/* Override global bold text for dash-subnav-pill-label (시그널 브리핑 in navigation) - same as AI-powered stock analysis platform */
#page-dashboard .dash-subnav-pill-label {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-pricing .dash-subnav-pill {
  color: #c9a84c !important;
}

/* Override for briefing page navigation pills (빠른 시작 메뉴 밑에 시그널 브리핑) - same as AI-powered stock analysis platform */
#page-briefing #briefing-subnav .dash-subnav-pill {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill {
  color: #c9a84c !important;
}

/* Override for mypage - change all gold text to white/dark */
#page-mypage h1,
#page-mypage h2,
#page-mypage h3,
#page-mypage h4,
#page-mypage h5,
#page-mypage h6,
#page-mypage strong,
#page-mypage b {
  color: #0f172a !important;
}

[data-theme="dark"] #page-mypage h1,
[data-theme="dark"] #page-mypage h2,
[data-theme="dark"] #page-mypage h3,
[data-theme="dark"] #page-mypage h4,
[data-theme="dark"] #page-mypage h5,
[data-theme="dark"] #page-mypage h6,
[data-theme="dark"] #page-mypage strong,
[data-theme="dark"] #page-mypage b {
  color: #F5F5F5 !important;
}

/* Override for mypage watchlist - remove border */
#page-mypage .mypage-watchlist {
  border: 0 !important;
}

[data-theme="dark"] #page-mypage .mypage-watchlist {
  border: 0 !important;
}

/* Override for pricing page - use darker gold (#c9a84c) in dark mode for all bold text */
[data-theme="dark"] #page-pricing h1,
[data-theme="dark"] #page-pricing h2,
[data-theme="dark"] #page-pricing h3,
[data-theme="dark"] #page-pricing h4,
[data-theme="dark"] #page-pricing h5,
[data-theme="dark"] #page-pricing h6,
[data-theme="dark"] #page-pricing > :not(.pricing-flow-graph) strong,
[data-theme="dark"] #page-pricing b {
  color: #c9a84c !important;
}

/* Override for dashboard signal briefing h2 - use gold color in dark mode (more specific selector) */
[data-theme="dark"] #page-dashboard #section-recommend .recommend-head h2 {
  color: #c9a84c !important;
}

/* Override for market intelligence card titles - use gold color in both light and dark modes */
#page-dashboard .mi-card-title,
#page-briefing .mi-card-title {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-dashboard .mi-card-title,
[data-theme="dark"] #page-briefing .mi-card-title {
  color: #c9a84c !important;
}

/* Override for home page nvc-step and nvc-nav elements - use gold color in both light and dark modes */
#page-home .nvc-step,
#page-home .nvc-nav-cat {
  color: #c9a84c !important;
}

[data-theme="dark"] #page-home .nvc-step,
[data-theme="dark"] #page-home .nvc-nav-cat {
  color: #c9a84c !important;
}

/* Override for home page card height and text overflow */
#page-home .nvc-nav-tab {
  min-height: 170px !important;
}

#page-home .nvc-nav-desc {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal !important;
}

/* Override for homepage economic calendar text (경제 일정) - white in dark, dark in light */
#page-home .nvc-calendar-head strong,
#page-home .nvc-calendar-copy strong,
#page-home .nvc-calendar-copy b {
  color: #0f172a !important;
}

[data-theme="dark"] #page-home .nvc-calendar-head strong,
[data-theme="dark"] #page-home .nvc-calendar-copy strong,
[data-theme="dark"] #page-home .nvc-calendar-copy b {
  color: #F5F5F5 !important;
}

#page-home .nvc-calendar-tabs span {
  background: rgba(15, 23, 42, 0.08) !important;
  color: #0f172a !important;
}

[data-theme="dark"] #page-home .nvc-calendar-tabs span {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #F5F5F5 !important;
}

#page-home .nvc-calendar-tabs .is-active {
  background: #111827 !important;
  color: #ffffff !important;
}

[data-theme="dark"] #page-home .nvc-calendar-tabs .is-active {
  background: #ffffff !important;
  color: #111827 !important;
}

#page-home .nvc-calendar-day {
  color: #0f172a !important;
}

[data-theme="dark"] #page-home .nvc-calendar-day {
  color: #F5F5F5 !important;
}

#page-home .nvc-calendar-time {
  color: #0f172a !important;
}

[data-theme="dark"] #page-home .nvc-calendar-time {
  color: #F5F5F5 !important;
}

/* 라이트 모드에서도 페이지 양옆 배경을 검은색으로 설정 */
#page-dashboard,
#page-briefing,
#page-pricing,
#page-mypage {
  background: transparent !important;
}

/* 라이트 모드에서 해당 페이지들의 황금색 글씨를 검은색으로 변경 (마이페이지 제외) */
html:not([data-theme="dark"]) #page-dashboard h1,
html:not([data-theme="dark"]) #page-dashboard h2,
html:not([data-theme="dark"]) #page-dashboard h3,
html:not([data-theme="dark"]) #page-dashboard h4,
html:not([data-theme="dark"]) #page-dashboard h5,
html:not([data-theme="dark"]) #page-dashboard h6,
html:not([data-theme="dark"]) #page-dashboard strong,
html:not([data-theme="dark"]) #page-dashboard b,
html:not([data-theme="dark"]) #page-briefing h1,
html:not([data-theme="dark"]) #page-briefing h2,
html:not([data-theme="dark"]) #page-briefing h3,
html:not([data-theme="dark"]) #page-briefing h4,
html:not([data-theme="dark"]) #page-briefing h5,
html:not([data-theme="dark"]) #page-briefing h6,
html:not([data-theme="dark"]) #page-briefing strong,
html:not([data-theme="dark"]) #page-briefing b,
html:not([data-theme="dark"]) #page-pricing h1,
html:not([data-theme="dark"]) #page-pricing h2,
html:not([data-theme="dark"]) #page-pricing h3,
html:not([data-theme="dark"]) #page-pricing h4,
html:not([data-theme="dark"]) #page-pricing h5,
html:not([data-theme="dark"]) #page-pricing h6,
html:not([data-theme="dark"]) #page-pricing .pricing-card-name strong,
html:not([data-theme="dark"]) #page-pricing .pricing-card-credits strong,
html:not([data-theme="dark"]) #page-pricing .pricing-service-card strong,
html:not([data-theme="dark"]) #page-pricing .pricing-usage-card strong {
  color: #0a0a0a !important;
}

/* Light mode: pricing flow node strong - black color */
html:not([data-theme="dark"]) #page-pricing .pricing-flow-node strong {
  color: #0a0a0a !important;
}

/* FINAL OVERRIDE: Pricing flow node strong - black in light mode, gold in dark mode */
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--report strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--signal strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--checkpoint strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--mindmap strong {
  color: #0a0a0a !important;
}
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--report strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--signal strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--checkpoint strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--mindmap strong {
  color: #c9a84c !important;
}

/* Final override: briefing/dashboard/pricing step text */
#page-briefing .dashboard-journey-step,
#page-dashboard .dashboard-journey-step,
#page-pricing .pricing-flow-node-kicker {
  color: #111111 !important;
}

[data-theme="dark"] #page-briefing .dashboard-journey-step,
[data-theme="dark"] #page-dashboard .dashboard-journey-step,
[data-theme="dark"] #page-pricing .pricing-flow-node-kicker {
  color: #F5F5F5 !important;
}

/* 라이트 모드에서 빠른시작 메뉴와 글로벌 시장 밑 텍스트를 검은색으로 변경 */
html:not([data-theme="dark"]) #page-dashboard .dashboard-journey-copy strong,
html:not([data-theme="dark"]) #page-briefing .dashboard-journey-copy strong,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav-pill-label,
html:not([data-theme="dark"]) #page-briefing .dash-subnav-pill-label,
html:not([data-theme="dark"]) #page-briefing #briefing-subnav .dash-subnav-pill {
  color: #0a0a0a !important;
}

/* 다크모드에서 빠른시작 메뉴 텍스트는 황금색 유지 */
[data-theme="dark"] #page-dashboard .dashboard-journey-copy strong,
[data-theme="dark"] #page-briefing .dashboard-journey-copy strong,
[data-theme="dark"] #page-dashboard .dash-subnav-pill-label,
[data-theme="dark"] #page-briefing .dash-subnav-pill-label,
[data-theme="dark"] #page-briefing #briefing-subnav .dash-subnav-pill {
  color: #c9a84c !important;
}

/* 라이트 모드에서 시그널 브리핑 국내/해외 종목 제목을 검은색으로 유지 */
:not([data-theme="dark"]) .recommend-card h3 {
  color: #1f1914 !important;
}

/* 다크모드에서 시그널 브리핑 제목을 흰색으로 설정 */
[data-theme="dark"] .recommend-card h3 {
  color: white !important;
}

/* 더 구체적인 선택자로 다크모드 제목 흰색 적용 */
[data-theme="dark"] #page-dashboard .recommend-card-panel h3,

/* FINAL OVERRIDE: Pricing flow title - white color in both modes */
#page-pricing .pricing-flow-card .pricing-flow-copy .pricing-flow-title,
#page-pricing .pricing-flow-copy .pricing-flow-title,
#page-pricing .pricing-flow-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-pricing .pricing-flow-card .pricing-flow-copy .pricing-flow-title,
[data-theme="dark"] #page-pricing .pricing-flow-copy .pricing-flow-title,
[data-theme="dark"] #page-pricing .pricing-flow-title {
  color: #F5F5F5 !important;
}
[data-theme="dark"] #page-briefing .recommend-card-panel h3 {
  color: white !important;
}

/* FINAL FINAL OVERRIDE: briefing/dashboard/pricing accent */
#page-briefing .dash-subnav-pill-label,
#page-dashboard .dash-subnav-pill-label,
#page-briefing .dashboard-journey-step,
#page-dashboard .dashboard-journey-step,
#page-briefing .dashboard-journey-copy strong,
#page-dashboard .dashboard-journey-copy strong,
#page-briefing .macro-head h2,
#page-dashboard .macro-head h2,
#page-briefing .day-score-head h2,
#page-dashboard .day-score-head h2,
#page-briefing .market-intel-head h2,
#page-dashboard .market-intel-head h2,
#page-dashboard .recommend-head h2,
#page-dashboard .analysis-panel h2,
#page-dashboard .checkpoint-panel h2,
#page-dashboard .mindmap-panel h2,
#page-briefing .briefing-page-title,
#page-briefing .dashboard-stage-title,
#page-dashboard .dashboard-stage-title,
#page-briefing .mi-card-title,
#page-dashboard .mi-card-title,
#page-pricing .pricing-page-kicker,
#page-pricing .pricing-flow-node-kicker,
#page-pricing .pricing-flow-node strong {
  color: #111111 !important;
}

[data-theme="dark"] #page-briefing .dash-subnav-pill-label,
[data-theme="dark"] #page-dashboard .dash-subnav-pill-label,
[data-theme="dark"] #page-briefing .dashboard-journey-step,
[data-theme="dark"] #page-dashboard .dashboard-journey-step,
[data-theme="dark"] #page-briefing .dashboard-journey-copy strong,
[data-theme="dark"] #page-dashboard .dashboard-journey-copy strong,
[data-theme="dark"] #page-briefing .macro-head h2,
[data-theme="dark"] #page-dashboard .macro-head h2,
[data-theme="dark"] #page-briefing .day-score-head h2,
[data-theme="dark"] #page-dashboard .day-score-head h2,
[data-theme="dark"] #page-briefing .market-intel-head h2,
[data-theme="dark"] #page-dashboard .market-intel-head h2,
[data-theme="dark"] #page-dashboard .recommend-head h2,
[data-theme="dark"] #page-dashboard .analysis-panel h2,
[data-theme="dark"] #page-dashboard .checkpoint-panel h2,
[data-theme="dark"] #page-dashboard .mindmap-panel h2,
[data-theme="dark"] #page-briefing .briefing-page-title,
[data-theme="dark"] #page-briefing .dashboard-stage-title,
[data-theme="dark"] #page-dashboard .dashboard-stage-title,
[data-theme="dark"] #page-briefing .mi-card-title,
[data-theme="dark"] #page-dashboard .mi-card-title,
[data-theme="dark"] #page-pricing .pricing-page-kicker,
[data-theme="dark"] #page-pricing .pricing-flow-node-kicker,
[data-theme="dark"] #page-pricing .pricing-flow-node strong {
  color: #F5F5F5 !important;
}

/* ABSOLUTE FINAL OVERRIDE: match or exceed earlier gold/black selectors */
#page-dashboard #section-recommend .recommend-head h2,
#page-briefing #section-recommend .recommend-head h2,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--report strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--signal strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--checkpoint strong,
html:not([data-theme="dark"]) #page-pricing .pricing-flow-graph .pricing-flow-node--mindmap strong {
  color: #111111 !important;
}

html[data-theme="dark"] #page-dashboard .ds-status-title,
html[data-theme="dark"] #page-briefing .ds-status-title {
  color: #F5F5F5 !important;
}

[data-theme="dark"] #page-dashboard #section-recommend .recommend-head h2,
[data-theme="dark"] #page-briefing #section-recommend .recommend-head h2,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--report strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--signal strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--checkpoint strong,
[data-theme="dark"] #page-pricing .pricing-flow-graph .pricing-flow-node--mindmap strong {
  color: #F5F5F5 !important;
}

/* Fast-start menu labels stay white in both themes */
#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill,
#page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill-label,
#page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill-label,
[data-theme="dark"] #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill,
[data-theme="dark"] #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill,
[data-theme="dark"] #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill-label,
[data-theme="dark"] #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill-label {
  color: #ffffff !important;
}

/* Final theme icon lock: keep only one icon visible per theme */
.brand-wordmark-asset--light,
.brand-symbol-asset--light {
  display: block !important;
}

.brand-wordmark-asset--dark,
.brand-symbol-asset--dark {
  display: none !important;
}

[data-theme="dark"] .brand-wordmark-asset--light,
[data-theme="dark"] .brand-symbol-asset--light {
  display: none !important;
}

[data-theme="dark"] .brand-wordmark-asset--dark,
[data-theme="dark"] .brand-symbol-asset--dark {
  display: block !important;
}

.market-icon--light,
.credit-icon--light,
.pricing-credit-icon--light {
  display: inline-block !important;
}

.market-icon--dark,
.credit-icon--dark,
.pricing-credit-icon--dark {
  display: none !important;
}

[data-theme="dark"] .market-icon--light,
[data-theme="dark"] .credit-icon--light,
[data-theme="dark"] .pricing-credit-icon--light {
  display: none !important;
}

[data-theme="dark"] .market-icon--dark,
[data-theme="dark"] .credit-icon--dark,
[data-theme="dark"] .pricing-credit-icon--dark {
  display: inline-block !important;
}

/* 시그널 브리핑 아이콘 라이트/다크 토글 */
.signal-title-icon--dark { display: none !important; }
[data-theme="dark"] .signal-title-icon--light { display: none !important; }
[data-theme="dark"] .signal-title-icon--dark { display: inline-block !important; }

/* 마켓 인텔리전스 아이콘 라이트/다크 토글 */
.market-intel-title-icon--dark { display: none !important; }
[data-theme="dark"] .market-intel-title-icon--light { display: none !important; }
[data-theme="dark"] .market-intel-title-icon--dark { display: inline-block !important; }

/* Final quicknav lock: briefing/dashboard light mode uses black text with green underline */
html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill,
html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill-label,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill-label {
  color: #111111 !important;
}

html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill:hover,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill:hover,
html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active {
  color: #111111 !important;
}

html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::after,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::after,
html:not([data-theme="dark"]) #page-briefing .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::before,
html:not([data-theme="dark"]) #page-dashboard .dash-subnav.dashboard-quicknav .dash-subnav-pill.is-active::before {
  background: #16a34a !important;
}

.cp-credit-badge,
#page-dashboard #research-studio .studio-feature-card-credit,
#page-briefing #research-studio .studio-feature-card-credit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.cp-credit-badge-count,
#page-dashboard #research-studio .studio-feature-card-credit-count,
#page-briefing #research-studio .studio-feature-card-credit-count {
  position: relative !important;
  z-index: 1 !important;
  color: currentColor !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}

.cp-credit-badge .credit-icon--light,
.cp-credit-badge .credit-icon--dark {
  margin-left: 1px !important;
}

#page-dashboard #research-studio .studio-feature-card-credit .credit-icon--light,
#page-dashboard #research-studio .studio-feature-card-credit .credit-icon--dark,
#page-briefing #research-studio .studio-feature-card-credit .credit-icon--light,
#page-briefing #research-studio .studio-feature-card-credit .credit-icon--dark {
  margin-left: 2px !important;
}

/* FINAL THEME GUARD: keep this block last so later rules cannot overwrite result text colors. */
html {
  --orjang-theme-text-primary: #0f172a;
  --orjang-theme-text-secondary: #334155;
  --orjang-theme-text-tertiary: #64748b;
}

html[data-theme="dark"] {
  --orjang-theme-text-primary: #f5f5f5;
  --orjang-theme-text-secondary: #dbe6f2;
  --orjang-theme-text-tertiary: #b6c5d8;
}

html #page-home h1,
html #page-home h2,
html #page-home h3,
html #page-home h4,
html #page-home h5,
html #page-home h6,
html #page-home strong,
html #page-home b,
html #page-dashboard h1,
html #page-dashboard h2,
html #page-dashboard h3,
html #page-dashboard h4,
html #page-dashboard h5,
html #page-dashboard h6,
html #page-dashboard strong,
html #page-dashboard b,
html #page-briefing h1,
html #page-briefing h2,
html #page-briefing h3,
html #page-briefing h4,
html #page-briefing h5,
html #page-briefing h6,
html #page-briefing strong,
html #page-briefing b,
html #page-pricing h1,
html #page-pricing h2,
html #page-pricing h3,
html #page-pricing h4,
html #page-pricing h5,
html #page-pricing h6,
html #page-pricing strong,
html #page-pricing b,
html #page-mypage h1,
html #page-mypage h2,
html #page-mypage h3,
html #page-mypage h4,
html #page-mypage h5,
html #page-mypage h6,
html #page-mypage strong,
html #page-mypage b {
  color: var(--orjang-theme-text-primary) !important;
}

html #report-content,
html #report-content p,
html #report-content li,
html #report-content td,
html #report-content th,
html #report-content h1,
html #report-content h2,
html #report-content h3,
html #report-content h4,
html #report-content strong,
html #report-content b,
html #zoom-report-content,
html #zoom-report-content p,
html #zoom-report-content li,
html #zoom-report-content td,
html #zoom-report-content th,
html #zoom-report-content h1,
html #zoom-report-content h2,
html #zoom-report-content h3,
html #zoom-report-content h4,
html #zoom-report-content strong,
html #zoom-report-content b,
html #page-dashboard #research-studio .markdown-body,
html #page-briefing #research-studio .markdown-body,
html #page-dashboard #research-studio .markdown-body p,
html #page-briefing #research-studio .markdown-body p,
html #page-dashboard #research-studio .markdown-body li,
html #page-briefing #research-studio .markdown-body li,
html #page-dashboard #research-studio .markdown-body td,
html #page-briefing #research-studio .markdown-body td,
html #page-dashboard #research-studio .markdown-body th,
html #page-briefing #research-studio .markdown-body th,
html #page-dashboard #research-studio .markdown-body h1,
html #page-briefing #research-studio .markdown-body h1,
html #page-dashboard #research-studio .markdown-body h2,
html #page-briefing #research-studio .markdown-body h2,
html #page-dashboard #research-studio .markdown-body h3,
html #page-briefing #research-studio .markdown-body h3,
html #page-dashboard #research-studio .markdown-body h4,
html #page-briefing #research-studio .markdown-body h4,
html #page-dashboard #research-studio .markdown-body strong,
html #page-briefing #research-studio .markdown-body strong,
html #page-dashboard #research-studio .markdown-body b,
html #page-briefing #research-studio .markdown-body b,
html #page-dashboard #research-studio #summary h1,
html #page-dashboard #research-studio #summary h2,
html #page-dashboard #research-studio #summary h3,
html #page-dashboard #research-studio #summary h4,
html #page-dashboard #research-studio #summary strong,
html #page-dashboard #research-studio #summary b,
html #page-dashboard #research-studio .summary-card-head h1,
html #page-dashboard #research-studio .summary-card-head h2,
html #page-dashboard #research-studio .summary-card-head h3,
html #page-dashboard #research-studio .summary-card-head h4,
html #page-dashboard #research-studio .summary-card-head strong,
html #page-dashboard #research-studio .summary-metric-value,
html #page-dashboard #research-studio .cp-hero-title,
html #page-briefing #research-studio .cp-hero-title,
html #page-dashboard #research-studio .cp-hero-reason,
html #page-briefing #research-studio .cp-hero-reason,
html #page-dashboard #research-studio .cp-item-title,
html #page-briefing #research-studio .cp-item-title,
html #page-dashboard #research-studio .cp-reason-preview,
html #page-briefing #research-studio .cp-reason-preview,
html #page-dashboard #research-studio .cp-item-reason,
html #page-briefing #research-studio .cp-item-reason,
html #page-dashboard #research-studio .cp-item-meta strong,
html #page-briefing #research-studio .cp-item-meta strong,
html #page-dashboard #research-studio .cp-summary,
html #page-briefing #research-studio .cp-summary,
html #page-dashboard #research-studio .cp-context-text,
html #page-briefing #research-studio .cp-context-text,
html #page-dashboard #research-studio .mm-header-name,
html #page-briefing #research-studio .mm-header-name,
html #page-dashboard #research-studio .mm-header-frame,
html #page-briefing #research-studio .mm-header-frame,
html #page-dashboard #research-studio .mm-header-score-value,
html #page-briefing #research-studio .mm-header-score-value,
html #page-dashboard #research-studio .mm-header-score-unit,
html #page-briefing #research-studio .mm-header-score-unit,
html #page-dashboard #research-studio .mm-header-score-summary,
html #page-briefing #research-studio .mm-header-score-summary,
html #page-dashboard #research-studio .mm-fixed-item-title,
html #page-briefing #research-studio .mm-fixed-item-title,
html #page-dashboard #research-studio .mm-fixed-item-detail-title,
html #page-briefing #research-studio .mm-fixed-item-detail-title,
html #page-dashboard #research-studio .mm-fixed-item-summary,
html #page-briefing #research-studio .mm-fixed-item-summary,
html #page-dashboard #research-studio .mm-live-node-title,
html #page-briefing #research-studio .mm-live-node-title,
html #page-dashboard #research-studio .mm-live-node-summary,
html #page-briefing #research-studio .mm-live-node-summary,
html #page-dashboard #research-studio .mm-live-node-block p,
html #page-briefing #research-studio .mm-live-node-block p,
html #page-dashboard #research-studio .mm-live-relation-name,
html #page-briefing #research-studio .mm-live-relation-name,
html #page-dashboard #research-studio .mm-live-relation-copy,
html #page-briefing #research-studio .mm-live-relation-copy,
html #page-dashboard #research-studio .mm-depth-title,
html #page-briefing #research-studio .mm-depth-title,
html #page-dashboard #research-studio .mm-depth-subtitle,
html #page-briefing #research-studio .mm-depth-subtitle,
html #page-dashboard #research-studio .mm-glance-group-title,
html #page-briefing #research-studio .mm-glance-group-title,
html #page-dashboard #research-studio .mm-glance-link,
html #page-briefing #research-studio .mm-glance-link {
  color: var(--orjang-theme-text-primary) !important;
}

html #report-content blockquote,
html #report-content blockquote p,
html #zoom-report-content blockquote,
html #zoom-report-content blockquote p,
html #page-dashboard #research-studio .summary-card-desc,
html #page-dashboard #research-studio .summary-metric-label,
html #page-dashboard .macro-slide-kicker,
html #page-briefing .macro-slide-kicker,
html #page-dashboard .macro-korea-flow-label,
html #page-briefing .macro-korea-flow-label,
html #page-dashboard #research-studio .cp-context-label,
html #page-briefing #research-studio .cp-context-label,
html #page-dashboard #research-studio .cp-item-meta-label,
html #page-briefing #research-studio .cp-item-meta-label,
html #page-dashboard #research-studio .mm-live-node-block-label,
html #page-briefing #research-studio .mm-live-node-block-label,
html #page-dashboard #research-studio .mm-live-relations-head,
html #page-briefing #research-studio .mm-live-relations-head,
html #page-dashboard #research-studio .mm-depth-kicker,
html #page-briefing #research-studio .mm-depth-kicker,
html #page-dashboard #research-studio .mm-header-frame-label,
html #page-briefing #research-studio .mm-header-frame-label,
html #page-dashboard #research-studio .mm-header-score-band,
html #page-briefing #research-studio .mm-header-score-band,
html #page-dashboard #research-studio .mm-header-frame-label,
html #page-briefing #research-studio .mm-header-frame-label {
  color: var(--orjang-theme-text-secondary) !important;
}

html #page-dashboard .macro-slide-title,
html #page-briefing .macro-slide-title,
html #page-dashboard .macro-slide-copy,
html #page-briefing .macro-slide-copy,
html #page-dashboard .macro-slide-name,
html #page-briefing .macro-slide-name,
html #page-dashboard .macro-slide-value,
html #page-briefing .macro-slide-value,
html #page-dashboard .macro-korea-name,
html #page-briefing .macro-korea-name,
html #page-dashboard .macro-korea-value,
html #page-briefing .macro-korea-value,
html #page-dashboard .macro-korea-change--flat,
html #page-briefing .macro-korea-change--flat,
html #page-dashboard .macro-korea-flow-value--flat,
html #page-briefing .macro-korea-flow-value--flat {
  color: var(--orjang-theme-text-primary) !important;
}

html[data-theme="dark"] #page-dashboard .macro-slide-badge,
html[data-theme="dark"] #page-briefing .macro-slide-badge {
  color: var(--orjang-theme-text-primary) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

html[data-theme="dark"] #page-dashboard .macro-slide-badge--good,
html[data-theme="dark"] #page-briefing .macro-slide-badge--good {
  color: #86efac !important;
  border-color: rgba(74, 222, 128, 0.22) !important;
  background: rgba(74, 222, 128, 0.10) !important;
}

html[data-theme="dark"] #page-dashboard .macro-slide-badge--danger,
html[data-theme="dark"] #page-briefing .macro-slide-badge--danger {
  color: #fda4af !important;
  border-color: rgba(251, 113, 133, 0.22) !important;
  background: rgba(251, 113, 133, 0.10) !important;
}

/* FINAL TOOLTIP GUARD: light/dark info buttons and speech bubbles must stay legible. */
html:not([data-theme="dark"]) #page-dashboard #research-studio .mm-info-btn,
html:not([data-theme="dark"]) #page-briefing #research-studio .mm-info-btn,
html:not([data-theme="dark"]) .ds-delta-badge--info,
html:not([data-theme="dark"]) .signal-info-btn,
html:not([data-theme="dark"]) #page-briefing .mi-header-info-mark,
html:not([data-theme="dark"]) #page-dashboard .mi-header-info-mark {
  background: #ffffff !important;
  color: #334155 !important;
  border-color: rgba(148, 163, 184, 0.38) !important;
  text-shadow: none !important;
}

html:not([data-theme="dark"]) #page-dashboard #research-studio .mm-info-btn::after,
html:not([data-theme="dark"]) #page-briefing #research-studio .mm-info-btn::after,
html:not([data-theme="dark"]) .ds-delta-badge--info[data-tooltip]::after,
html:not([data-theme="dark"]) .signal-info-btn[data-tooltip]::after,
html:not([data-theme="dark"]) #page-briefing .title-tooltip--brief,
html:not([data-theme="dark"]) #page-dashboard .title-tooltip--brief {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12) !important;
  text-shadow: none !important;
}

html:not([data-theme="dark"]) .ds-delta-badge--info[data-tooltip]::before,
html:not([data-theme="dark"]) .signal-info-btn[data-tooltip]::before,
html:not([data-theme="dark"]) #page-briefing .title-tooltip--brief::before,
html:not([data-theme="dark"]) #page-dashboard .title-tooltip--brief::before {
  background: #ffffff !important;
  border-left-color: rgba(148, 163, 184, 0.24) !important;
  border-top-color: rgba(148, 163, 184, 0.24) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn,
html[data-theme="dark"] #page-briefing #research-studio .mm-info-btn,
html[data-theme="dark"] .ds-delta-badge--info,
html[data-theme="dark"] .signal-info-btn,
html[data-theme="dark"] #page-briefing .mi-header-info-mark,
html[data-theme="dark"] #page-dashboard .mi-header-info-mark {
  background: #0f172a !important;
  color: #f5f5f5 !important;
  border-color: rgba(148, 163, 184, 0.28) !important;
  text-shadow: none !important;
}

html[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn::after,
html[data-theme="dark"] #page-briefing #research-studio .mm-info-btn::after,
html[data-theme="dark"] .ds-delta-badge--info[data-tooltip]::after,
html[data-theme="dark"] .signal-info-btn[data-tooltip]::after,
html[data-theme="dark"] #page-briefing .title-tooltip--brief,
html[data-theme="dark"] #page-dashboard .title-tooltip--brief {
  background: #0f172a !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow: 0 18px 36px rgba(2, 6, 23, 0.42) !important;
  text-shadow: none !important;
}

html[data-theme="dark"] .ds-delta-badge--info[data-tooltip]::before,
html[data-theme="dark"] .signal-info-btn[data-tooltip]::before,
html[data-theme="dark"] #page-briefing .title-tooltip--brief::before,
html[data-theme="dark"] #page-dashboard .title-tooltip--brief::before {
  background: #0f172a !important;
  border-left-color: rgba(148, 163, 184, 0.18) !important;
  border-top-color: rgba(148, 163, 184, 0.18) !important;
  box-shadow: none !important;
}

/* Keep only the evidence-trail panel text synced to theme mode. */
html:not([data-theme="dark"]) #page-dashboard #links-panel,
html:not([data-theme="dark"]) #page-dashboard #links-panel h2,
html:not([data-theme="dark"]) #page-dashboard #links-panel li,
html:not([data-theme="dark"]) #page-dashboard #links-panel a,
html:not([data-theme="dark"]) #page-dashboard #links-panel a:visited,
html:not([data-theme="dark"]) #page-dashboard #links-panel li::marker {
  color: #111111 !important;
}

html[data-theme="dark"] #page-dashboard #links-panel,
html[data-theme="dark"] #page-dashboard #links-panel h2,
html[data-theme="dark"] #page-dashboard #links-panel li,
html[data-theme="dark"] #page-dashboard #links-panel a,
html[data-theme="dark"] #page-dashboard #links-panel a:visited,
html[data-theme="dark"] #page-dashboard #links-panel li::marker {
  color: #f5f5f5 !important;
}

html #page-dashboard #links-panel a {
  text-decoration-color: currentColor !important;
}

/* Final mobile/theme guard: keep requested colors and widths stable without redesigning the UI. */
html:not([data-theme="dark"]) #page-briefing .title-info-btn--chip,
html:not([data-theme="dark"]) #page-dashboard .title-info-btn--chip,
html:not([data-theme="dark"]) #page-briefing .mi-header-info-label,
html:not([data-theme="dark"]) #page-dashboard .mi-header-info-label,
html:not([data-theme="dark"]) .mi-key-assumption-label,
html:not([data-theme="dark"]) .mi-counter-narrative-label,
html:not([data-theme="dark"]) .mi-key-assumption-text,
html:not([data-theme="dark"]) .mi-counter-narrative-text {
  color: #0f172a !important;
}

html[data-theme="dark"] #page-briefing .title-info-btn--chip,
html[data-theme="dark"] #page-dashboard .title-info-btn--chip,
html[data-theme="dark"] #page-briefing .mi-header-info-label,
html[data-theme="dark"] #page-dashboard .mi-header-info-label,
html[data-theme="dark"] .mi-key-assumption-label,
html[data-theme="dark"] .mi-counter-narrative-label,
html[data-theme="dark"] .mi-key-assumption-text,
html[data-theme="dark"] .mi-counter-narrative-text {
  color: #f5f5f5 !important;
}

@media (max-width: 768px) {
  #page-briefing {
    overflow-x: hidden !important;
  }

  #page-briefing .workspace,
  #page-briefing .dashboard-shell,
  #page-briefing .dashboard-main,
  #page-briefing .dashboard-stage,
  #page-briefing .briefing-context-stack,
  #page-briefing .briefing-intel-wrapper,
  #page-briefing .briefing-intel-header,
  #page-briefing .briefing-intel-header-left,
  #page-briefing .briefing-intel-header-right,
  #page-briefing .briefing-intel-kicker-row,
  #page-briefing .briefing-intel-title-row,
  #page-briefing .mi-header-context,
  #page-briefing .panel,
  #page-briefing .panel-body,
  #page-briefing .market-intel-panel,
  #page-briefing .market-intel-grid,
  #page-briefing .mi-three-cards,
  #page-briefing .mi-car,
  #page-briefing .mi-car-viewport,
  #page-briefing .mi-car-card,
  #page-briefing .mi-card,
  #page-briefing .mi-sector-bar,
  #page-briefing #briefing-subnav,
  #page-briefing #briefing-subnav .dash-subnav-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-briefing .workspace,
  #page-briefing #briefing-subnav .dash-subnav-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #page-briefing #briefing-subnav {
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }

  #page-mypage {
    overflow-x: hidden !important;
  }

  #page-mypage .mypg-page,
  #page-mypage .mypg-layout,
  #page-mypage .mypg-col-main,
  #page-mypage .mypg-col-aside,
  #page-mypage .mypg-card,
  #page-mypage .mypg-header,
  #page-mypage .mypg-stats-bar,
  #page-mypage .mypg-referral-row,
  #page-mypage .mypg-danger-actions,
  #page-mypage .mypg-card-header,
  #page-mypage .mypg-info-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #page-mypage .mypg-page {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #page-mypage .mypg-header,
  #page-mypage .mypg-referral-row,
  #page-mypage .mypg-danger-actions {
    flex-wrap: wrap !important;
  }

  #page-mypage .mypg-brand-lockup,
  #page-mypage .mypg-brand-wordmark,
  #page-mypage .mypg-identity-body,
  #page-mypage .mypg-identity-email,
  #page-mypage .mypg-info-row dd {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  html:not([data-theme="dark"]) #page-dashboard #research-studio .studio-feature-card-icon-img--light,
  html:not([data-theme="dark"]) #page-briefing #research-studio .studio-feature-card-icon-img--light {
    display: inline-block !important;
  }

  html:not([data-theme="dark"]) #page-dashboard #research-studio .studio-feature-card-icon-img--dark,
  html:not([data-theme="dark"]) #page-briefing #research-studio .studio-feature-card-icon-img--dark {
    display: none !important;
  }

  html[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-icon-img--light,
  html[data-theme="dark"] #page-briefing #research-studio .studio-feature-card-icon-img--light {
    display: none !important;
  }

  html[data-theme="dark"] #page-dashboard #research-studio .studio-feature-card-icon-img--dark,
  html[data-theme="dark"] #page-briefing #research-studio .studio-feature-card-icon-img--dark {
    display: inline-block !important;
  }
}

/* Final responsive guard: prevent topbar and narrow-width layouts from breaking */
.topbar .primary-nav .nav-pill {
  white-space: nowrap;
  word-break: keep-all;
}

@media (max-width: 1120px) {
  .topbar,
  .topbar-inner,
  .brand-area,
  .topbar-end,
  .topbar .primary-nav,
  .page-shell,
  .app-pages,
  .app-page {
    min-width: 0 !important;
  }

  .topbar-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 8px 12px !important;
    padding: 10px 18px 8px !important;
  }

  .brand-area,
  .brand-btn,
  .topbar-end {
    min-width: 0 !important;
  }

  .brand-logo-wordmark {
    height: 22px !important;
    max-width: min(200px, 34vw) !important;
  }

  .brand-wordmark-asset {
    width: 100% !important;
    height: auto !important;
  }

  .topbar-end {
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    max-width: min(48vw, 420px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    scrollbar-width: none !important;
    padding-bottom: 2px !important;
  }

  .topbar-end::-webkit-scrollbar,
  .topbar .primary-nav::-webkit-scrollbar {
    display: none;
  }

  .topbar .primary-nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 0 4px !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
  }

  .topbar .primary-nav .nav-pill,
  .topbar-end .btn-ghost-sm,
  .topbar-end .btn-login,
  .topbar-end .btn-signup,
  .header-user-chip {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
  }

  .topbar .primary-nav .nav-pill {
    width: auto !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-size: 0.88rem !important;
    line-height: 1.1 !important;
    justify-content: center !important;
  }

  .topbar-end .icon-btn,
  .topbar-end .cal-text-btn,
  #lang-toggle-btn {
    flex: 0 0 auto !important;
  }

  .topbar-end .btn-ghost-sm,
  .topbar-end .btn-login,
  .topbar-end .btn-signup,
  .header-user-chip {
    min-height: 36px !important;
    padding-inline: 10px !important;
    font-size: 0.84rem !important;
  }
}

@media (max-width: 720px) {
  .topbar-inner {
    padding: 10px 14px 8px !important;
    gap: 6px 8px !important;
  }

  .brand-logo-wordmark {
    height: 20px !important;
    max-width: min(170px, 42vw) !important;
  }

  .topbar-end {
    gap: 4px !important;
    max-width: 56vw !important;
  }

  .topbar .primary-nav {
    gap: 6px !important;
  }

  .topbar .primary-nav .nav-pill {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 0.84rem !important;
  }

  .topbar-end .btn-ghost-sm,
  .topbar-end .btn-login,
  .topbar-end .btn-signup,
  .header-user-chip {
    min-height: 34px !important;
    padding-inline: 9px !important;
    font-size: 0.82rem !important;
  }
}

@media (max-width: 560px) {
  #page-home,
  #page-home .nvc,
  #page-home .nvc-track,
  #page-home .nvc-slide-inner,
  #page-home .nvc-nav,
  #page-home .nvc-nav-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .topbar-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .brand-logo-wordmark {
    max-width: min(160px, 44vw) !important;
  }

  .topbar-end {
    max-width: 58vw !important;
  }

  .topbar .primary-nav .nav-pill {
    min-height: 35px !important;
    padding: 6px 10px !important;
    font-size: 0.82rem !important;
  }

  #page-home .nvc-nav-tab {
    flex: 0 0 min(88vw, 320px) !important;
    min-width: min(88vw, 320px) !important;
    max-width: min(88vw, 320px) !important;
  }
}

@media (max-width: 460px) {
  .topbar-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .brand-area {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .topbar-end {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
  }

  .topbar .primary-nav {
    grid-row: 3 !important;
  }

  .brand-logo-wordmark {
    height: 18px !important;
    max-width: min(138px, 38vw) !important;
  }

  .topbar .primary-nav .nav-pill {
    font-size: 0.8rem !important;
  }

  .topbar-end .btn-ghost-sm,
  .topbar-end .btn-login,
  .topbar-end .btn-signup,
  .header-user-chip {
    font-size: 0.8rem !important;
  }

  #page-home .nvc-nav-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #page-home .nvc-nav-tab {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* ── Mindmap 카드 동적 높이: 텍스트 길이에 따라 자동 확장 ── */
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item,
html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
html body #page-dashboard #research-studio .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-item-btn {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
html body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
html body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item {
  min-height: 72px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
html body #page-dashboard #research-studio .mm-fixed-item-title,
html body #page-briefing #research-studio .mm-fixed-item-title,
html body #page-dashboard #research-studio .mm-live-node-title,
html body #page-briefing #research-studio .mm-live-node-title,
html body #page-dashboard #research-studio .mm-live-node-summary,
html body #page-briefing #research-studio .mm-live-node-summary,
html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-summary,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-summary {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

/* ── Credit Confirm Modal ─────────────────────────────────────── */
.credit-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 16px;
}
.credit-confirm-overlay.hidden {
  display: none !important;
}
.credit-confirm-dialog {
  background: #ffffff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 18px;
  padding: 28px 24px 24px;
  max-width: 380px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.credit-confirm-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}
.credit-confirm-logo-asset {
  display: block;
}
.credit-confirm-logo-asset--light {
  display: block;
}
.credit-confirm-logo-asset--dark {
  display: none;
}
[data-theme="dark"] .credit-confirm-logo-asset--light {
  display: none;
}
[data-theme="dark"] .credit-confirm-logo-asset--dark {
  display: block;
}
.credit-confirm-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--surface, #f8fafc);
  border: 1px solid var(--line, #e2e8f0);
  margin: 0 auto 4px;
  color: var(--accent, #2563eb);
}
.credit-confirm-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink, #0f172a);
  margin: 0;
  text-align: center;
  line-height: 1.35;
}
.credit-confirm-desc {
  font-size: 0.875rem;
  color: var(--ink-sub, #475569);
  margin: 0;
  text-align: center;
  line-height: 1.55;
}
.credit-confirm-benefit {
  font-size: 0.82rem;
  color: var(--accent, #2563eb);
  margin: 0;
  text-align: center;
  font-weight: 500;
}
.credit-confirm-benefit:empty {
  display: none;
}
.credit-confirm-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--surface, #f1f5f9);
  border-radius: 40px;
  padding: 8px 20px;
  margin: 4px auto 0;
  border: 1px solid var(--line, #e2e8f0);
  width: fit-content;
}
.credit-confirm-amount {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--ink, #0f172a);
  line-height: 1;
}
.credit-confirm-unit {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ink-sub, #64748b);
  text-transform: uppercase;
}
.credit-confirm-note {
  font-size: 0.78rem;
  color: var(--ink-muted, #94a3b8);
  margin: 0;
  text-align: center;
  line-height: 1.5;
}
.credit-confirm-note:empty {
  display: none;
}
.credit-confirm-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.credit-confirm-cancel {
  flex: 1;
  padding: 11px 16px;
  border-radius: 10px;
  border: 1px solid var(--line, #cbd5e1);
  background: transparent;
  color: var(--ink-sub, #475569);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.credit-confirm-cancel:hover {
  background: var(--surface, #f1f5f9);
  border-color: var(--ink-muted, #94a3b8);
}
.credit-confirm-ok {
  flex: 2;
  padding: 11px 16px;
  border-radius: 10px;
  border: none;
  background: #00a84d;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
}
.credit-confirm-ok:hover {
  background: #008c40;
}
.credit-confirm-ok:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* dark mode */
[data-theme="dark"] .credit-confirm-dialog {
  background: #0a0a0a;
  border-color: #2e3f5c;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .credit-confirm-icon {
  background: #0d1829;
  border-color: #2e3f5c;
  color: #60a5fa;
}
[data-theme="dark"] .credit-confirm-title {
  color: #f1f5f9;
}
[data-theme="dark"] .credit-confirm-desc {
  color: #94a3b8;
}
[data-theme="dark"] .credit-confirm-benefit {
  color: #60a5fa;
}
[data-theme="dark"] .credit-confirm-badge {
  background: #0d1829;
  border-color: #2e3f5c;
}
[data-theme="dark"] .credit-confirm-amount {
  color: #f1f5f9;
}
[data-theme="dark"] .credit-confirm-unit {
  color: #64748b;
}
[data-theme="dark"] .credit-confirm-note {
  color: #475569;
}
[data-theme="dark"] .credit-confirm-cancel {
  border-color: #2e3f5c;
  color: #94a3b8;
}
[data-theme="dark"] .credit-confirm-cancel:hover {
  background: #0d1829;
}
[data-theme="dark"] .credit-confirm-ok {
  background: #00e07a;
}
[data-theme="dark"] .credit-confirm-ok:hover {
  background: #00c068;
}

/* ── STEP 99: Checkpoint & Mindmap — 텍스트 자르지 않고 전체 표시 ──────────
   LLM 응답이 길어도 모든 카드가 동적으로 높이 확장되도록 최종 강제 적용.
   백엔드 truncation 제거와 함께 CSS에서도 overflow/height 제한 완전 해제.
   ─────────────────────────────────────────────────────────────────────── */

/* ① 체크포인트: 모든 텍스트 컨테이너 */
html body #page-dashboard #research-studio .cp-item,
html body #page-briefing #research-studio .cp-item,
html body #page-dashboard #research-studio .cp-item-content,
html body #page-briefing #research-studio .cp-item-content,
html body #page-dashboard #research-studio .cp-reading-card,
html body #page-briefing #research-studio .cp-reading-card,
html body #page-dashboard #research-studio .cp-uncertainty-card,
html body #page-briefing #research-studio .cp-uncertainty-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .cp-reason-preview,
html body #page-briefing #research-studio .cp-reason-preview,
html body #page-dashboard #research-studio .cp-item-reason,
html body #page-briefing #research-studio .cp-item-reason,
html body #page-dashboard #research-studio .cp-context-text,
html body #page-briefing #research-studio .cp-context-text,
html body #page-dashboard #research-studio .cp-item-title,
html body #page-briefing #research-studio .cp-item-title,
html body #page-dashboard #research-studio .cp-item-meta strong,
html body #page-briefing #research-studio .cp-item-meta strong {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

/* ② 마인드맵: fixed-item (카드 목록), live-node-card (선택 패널) */
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-fixed-item-title,
html body #page-briefing #research-studio .mm-fixed-item-title,
html body #page-dashboard #research-studio .mm-fixed-item-summary,
html body #page-briefing #research-studio .mm-fixed-item-summary,
html body #page-dashboard #research-studio .mm-fixed-item-detail p,
html body #page-briefing #research-studio .mm-fixed-item-detail p {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

html body #page-dashboard #research-studio .mm-value-chain-text,
html body #page-briefing #research-studio .mm-value-chain-text,
html body #page-dashboard #research-studio .mm-insight-stack-text,
html body #page-briefing #research-studio .mm-insight-stack-text,
html body #page-dashboard #research-studio .mm-value-chain-card,
html body #page-briefing #research-studio .mm-value-chain-card,
html body #page-dashboard #research-studio .mm-insight-stack-card,
html body #page-briefing #research-studio .mm-insight-stack-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-value-chain-text,
html body #page-briefing #research-studio .mm-value-chain-text,
html body #page-dashboard #research-studio .mm-insight-stack-text,
html body #page-briefing #research-studio .mm-insight-stack-text {
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

/* ③ 마인드맵: live-node-card (선택 패널), live-node-block (블록 내부) */
html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-live-node-block,
html body #page-briefing #research-studio .mm-live-node-block {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-live-node-summary,
html body #page-briefing #research-studio .mm-live-node-summary,
html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p,
html body #page-dashboard #research-studio .mm-live-node-title,
html body #page-briefing #research-studio .mm-live-node-title {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

/* Force rec-signal-value text color in dark mode - highest priority */
[data-theme="dark"] .rec-signal-value {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .rec-signal-insight {
  color: #f5f5f5 !important;
}

[data-theme="dark"] .rec-signal-label {
  color: #94a3b8 !important;
}

/* Read-path cards: vertical stacked layout so long text is never clipped.
   Overrides earlier horizontal-scroll widths (which were sized for a row). */
html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  gap: 12px !important;
  padding-right: 0 !important;
  scroll-padding-right: 0 !important;
}
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  margin-right: 0 !important;
}
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item:last-child,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item:last-child {
  margin-right: 0 !important;
}

/* === 2026-04-17 Layout + tooltip fixes === */

/* 1) mm-detail-grid: force single column so read-path cards stack above, live panel below */
html body #page-dashboard #research-studio .mm-detail-grid,
html body #page-briefing #research-studio .mm-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

/* 2) Also collapse parent mm-stage-grid (graph + details stack vertically as well) */
html body #page-dashboard #research-studio .mm-stage-grid,
html body #page-briefing #research-studio .mm-stage-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* 3) Ensure read-path card parents don't clip the tooltip bubble */
html body #page-dashboard #research-studio .mm-stage-side,
html body #page-briefing #research-studio .mm-stage-side,
html body #page-dashboard #research-studio .mm-stage-side-body,
html body #page-briefing #research-studio .mm-stage-side-body,
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item {
  overflow: visible !important;
}

/* 4) Info-button tooltip: anchor at i-button's left edge, extend rightward, appear below.
      Replace the invisible text-only tooltip with a real speech bubble. */
html body #page-dashboard #research-studio .mm-info-btn::after,
html body #page-briefing #research-studio .mm-info-btn::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  right: auto;
  top: calc(100% + 10px);
  bottom: auto;
  transform: translateY(-4px);
  width: max-content;
  max-width: min(320px, 92vw);
  padding: 10px 12px;
  background: #0f172a;
  color: #F5F5F5;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.4);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.01em;
  white-space: normal;
  text-align: left;
  text-shadow: none;
  opacity: 0;
  pointer-events: none;
  z-index: 60;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

/* Restore pointer on the caret: show small arrow above bubble pointing up to the i-button */
html body #page-dashboard #research-studio .mm-info-btn::before,
html body #page-briefing #research-studio .mm-info-btn::before {
  content: "";
  display: block !important;
  position: absolute;
  left: 6px;
  top: calc(100% + 4px);
  width: 10px;
  height: 10px;
  background: #0f172a;
  border-top: 1px solid rgba(148, 163, 184, 0.28);
  border-left: 1px solid rgba(148, 163, 184, 0.28);
  transform: rotate(45deg) translateY(-2px);
  opacity: 0;
  pointer-events: none;
  z-index: 61;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

html body #page-dashboard #research-studio .mm-info-btn:hover::after,
html body #page-briefing #research-studio .mm-info-btn:hover::after,
html body #page-dashboard #research-studio .mm-info-btn:focus-visible::after,
html body #page-briefing #research-studio .mm-info-btn:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}
html body #page-dashboard #research-studio .mm-info-btn:hover::before,
html body #page-briefing #research-studio .mm-info-btn:hover::before,
html body #page-dashboard #research-studio .mm-info-btn:focus-visible::before,
html body #page-briefing #research-studio .mm-info-btn:focus-visible::before {
  opacity: 1;
  transform: rotate(45deg) translateY(0);
}

/* Light theme: dark-text bubble */
html:not([data-theme="dark"]) body #page-dashboard #research-studio .mm-info-btn::after,
html:not([data-theme="dark"]) body #page-briefing #research-studio .mm-info-btn::after {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
}
html:not([data-theme="dark"]) body #page-dashboard #research-studio .mm-info-btn::before,
html:not([data-theme="dark"]) body #page-briefing #research-studio .mm-info-btn::before {
  background: #ffffff;
  border-top-color: rgba(15, 23, 42, 0.14);
  border-left-color: rgba(15, 23, 42, 0.14);
}

/* 2026-04-18: compact read-path cards and strip dark navy fills from the mind map UI. */
html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path {
  flex-direction: row !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  gap: 14px !important;
  padding-right: 48px !important;
  scroll-padding-right: 48px !important;
  scroll-snap-type: x proximity !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item {
  width: clamp(260px, 21vw, 320px) !important;
  min-width: clamp(260px, 21vw, 320px) !important;
  max-width: clamp(260px, 21vw, 320px) !important;
  margin-right: 0 !important;
  scroll-snap-align: start !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
  width: clamp(280px, 24vw, 360px) !important;
  min-width: clamp(280px, 24vw, 360px) !important;
  max-width: clamp(280px, 24vw, 360px) !important;
}

@media (max-width: 900px) {
  html body #page-dashboard #research-studio .mm-fixed-list--read-path,
  html body #page-briefing #research-studio .mm-fixed-list--read-path {
    padding-right: 32px !important;
    scroll-padding-right: 32px !important;
  }

  html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
  html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item {
    width: min(248px, calc(100vw - 108px)) !important;
    min-width: min(248px, calc(100vw - 108px)) !important;
    max-width: min(248px, calc(100vw - 108px)) !important;
  }

  html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
  html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
    width: min(280px, calc(100vw - 96px)) !important;
    min-width: min(280px, calc(100vw - 96px)) !important;
    max-width: min(280px, calc(100vw - 96px)) !important;
  }
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-viewport,
[data-theme="dark"] #page-briefing #research-studio .mindmap-graph-viewport,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side-body,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side-body,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-panel,
[data-theme="dark"] #page-briefing #research-studio .mm-live-panel,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-detail,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-detail,
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-flow,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-flow,
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-reason-card,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-reason-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-card,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-card {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-briefing #research-studio .mindmap-cosmos,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-graph-viewport,
[data-theme="dark"] #page-briefing #research-studio .mindmap-graph-viewport {
  border-color: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-panel,
[data-theme="dark"] #page-briefing #research-studio .mm-live-panel,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relations,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relations,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-detail,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-detail,
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-flow,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-flow,
[data-theme="dark"] #page-dashboard #research-studio .mm-guided-reason-card,
[data-theme="dark"] #page-briefing #research-studio .mm-guided-reason-card,
[data-theme="dark"] #page-dashboard #research-studio .mm-header-score-card,
[data-theme="dark"] #page-briefing #research-studio .mm-header-score-card {
  border-color: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node {
  background: #0f172a !important;
  background-image: none !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.ring-0,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.ring-0 {
  background: linear-gradient(135deg, #064e3b, #0f172a) !important;
  background-image: linear-gradient(135deg, #064e3b, #0f172a) !important;
  border-color: rgba(52, 211, 153, 0.36) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.45), 0 16px 38px rgba(16, 185, 129, 0.12) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node:hover,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node:hover,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-hovered,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-hovered,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-related,
[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-graph-related,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-graph-related {
  background: #111c33 !important;
  background-image: none !important;
  border-color: rgba(148, 163, 184, 0.36) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45), 0 12px 28px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active {
  background: #0f172a !important;
  background-image: none !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 0 0 2px rgba(226, 232, 240, 0.14), 0 16px 32px rgba(15, 23, 42, 0.55) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active.is-bull,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active.is-bull {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2), 0 16px 32px rgba(16, 185, 129, 0.24) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active.is-bear,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active.is-bear {
  border-color: #f97316 !important;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.22), 0 16px 32px rgba(249, 115, 22, 0.2) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-active.is-neutral,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-active.is-neutral {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.22), 0 16px 32px rgba(59, 130, 246, 0.22) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-kicker,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-kicker {
  color: rgba(148, 163, 184, 0.88) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-bull .mindmap-network-node-kicker,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-bull .mindmap-network-node-kicker {
  color: #34d399 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-bear .mindmap-network-node-kicker,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-bear .mindmap-network-node-kicker {
  color: #fb923c !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-kicker,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node.is-neutral .mindmap-network-node-kicker {
  color: #60a5fa !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-briefing #research-studio .mindmap-network-node-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-title,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-title,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-summary,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block p,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-name,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-live-relation-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-depth-title,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-title {
  color: #e5e7eb !important;
  text-shadow: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-copy,
[data-theme="dark"] #page-dashboard #research-studio .mm-stage-side-note,
[data-theme="dark"] #page-briefing #research-studio .mm-stage-side-note,
[data-theme="dark"] #page-dashboard #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-briefing #research-studio .mm-live-node-block-label,
[data-theme="dark"] #page-dashboard #research-studio .mm-depth-kicker,
[data-theme="dark"] #page-briefing #research-studio .mm-depth-kicker {
  color: #94a3b8 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-btn,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-btn,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item-btn:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item-btn:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-active .mm-fixed-item-btn,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-active .mm-fixed-item-btn,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item:hover,
[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-item.is-active,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-item.is-active {
  background: transparent !important;
  background-image: none !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-nav-btn,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-nav-btn {
  background: transparent !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  box-shadow: none !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-fixed-nav-btn:hover,
[data-theme="dark"] #page-briefing #research-studio .mm-fixed-nav-btn:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn::after,
[data-theme="dark"] #page-briefing #research-studio .mm-info-btn::after {
  background: rgba(248, 250, 252, 0.92);
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.18);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

[data-theme="dark"] #page-dashboard #research-studio .mm-info-btn::before,
[data-theme="dark"] #page-briefing #research-studio .mm-info-btn::before {
  background: rgba(248, 250, 252, 0.92);
  border-top-color: rgba(148, 163, 184, 0.18);
  border-left-color: rgba(148, 163, 184, 0.18);
}

/* 2026-04-18 final: read-path cards — i inline with title, tight vertical rhythm, narrow width so 2.5–3 cards fit. */
html body #page-dashboard #research-studio .mm-fixed-list--read-path,
html body #page-briefing #research-studio .mm-fixed-list--read-path {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  gap: 12px !important;
  padding-right: 32px !important;
  scroll-padding-right: 32px !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
  width: clamp(220px, 18vw, 260px) !important;
  min-width: clamp(220px, 18vw, 260px) !important;
  max-width: clamp(220px, 18vw, 260px) !important;
  flex: 0 0 auto !important;
  height: auto !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-btn {
  display: grid !important;
  align-content: start !important;
  gap: 4px !important;
  padding: 10px 12px !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-copy,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-copy {
  font-size: 0.7rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row .mm-fixed-item-title,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row .mm-fixed-item-title {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 0.92rem !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row .mm-info-btn,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-title-row .mm-info-btn {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  font-size: 0.66rem !important;
  align-self: center !important;
}

html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item-summary,
html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item-summary {
  margin: 2px 0 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 900px) {
  html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item,
  html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item,
  html body #page-dashboard #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy,
  html body #page-briefing #research-studio .mm-fixed-list--read-path .mm-fixed-item.is-roomy {
    width: min(210px, calc(100vw - 80px)) !important;
    min-width: min(210px, calc(100vw - 80px)) !important;
    max-width: min(210px, calc(100vw - 80px)) !important;
  }
}

/* 2026-04-18 final: strip navy fills from mindmap surfaces + payment dialog (both themes). */
html body #page-dashboard #research-studio .mindmap-cosmos,
html body #page-briefing #research-studio .mindmap-cosmos,
html body #page-dashboard #research-studio .mindmap-graph-viewport,
html body #page-briefing #research-studio .mindmap-graph-viewport,
html body #page-dashboard #research-studio .mindmap-network-node,
html body #page-briefing #research-studio .mindmap-network-node,
html body #page-dashboard #research-studio .mm-stage-grid,
html body #page-briefing #research-studio .mm-stage-grid,
html body #page-dashboard #research-studio .mm-stage-side,
html body #page-briefing #research-studio .mm-stage-side,
html body #page-dashboard #research-studio .mm-stage-side-body,
html body #page-briefing #research-studio .mm-stage-side-body,
html body #page-dashboard #research-studio .mm-detail-grid,
html body #page-briefing #research-studio .mm-detail-grid,
html body #page-dashboard #research-studio .mm-live-panel,
html body #page-briefing #research-studio .mm-live-panel,
html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card,
html body #page-dashboard #research-studio .mm-live-relations,
html body #page-briefing #research-studio .mm-live-relations,
html body #page-dashboard #research-studio .mm-live-relation-card,
html body #page-briefing #research-studio .mm-live-relation-card,
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-item-btn,
html body #page-dashboard #research-studio .mm-fixed-item-detail,
html body #page-briefing #research-studio .mm-fixed-item-detail,
html body #page-dashboard #research-studio .mm-fixed-nav-btn,
html body #page-briefing #research-studio .mm-fixed-nav-btn,
html body #page-dashboard #research-studio .mm-guided-flow,
html body #page-briefing #research-studio .mm-guided-flow,
html body #page-dashboard #research-studio .mm-guided-reason-card,
html body #page-briefing #research-studio .mm-guided-reason-card,
html body #page-dashboard #research-studio .mm-header-score-card,
html body #page-briefing #research-studio .mm-header-score-card,
html body #page-dashboard #research-studio .mm-fin-flow-wrap,
html body #page-briefing #research-studio .mm-fin-flow-wrap,
html body #page-dashboard #research-studio .mm-fin-node,
html body #page-briefing #research-studio .mm-fin-node,
html body #page-dashboard #research-studio .mm-depth-card,
html body #page-briefing #research-studio .mm-depth-card,
html body #page-dashboard #research-studio .mm-insight-stack-card,
html body #page-briefing #research-studio .mm-insight-stack-card,
html body #page-dashboard #research-studio .mm-glance-card,
html body #page-briefing #research-studio .mm-glance-card,
html body #page-dashboard #research-studio .mm-decision-card,
html body #page-briefing #research-studio .mm-decision-card,
html body #page-dashboard #research-studio .mm-header-strip,
html body #page-briefing #research-studio .mm-header-strip {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Mindmap nav buttons stay visible via border only (no navy fill in dark) */
html body #page-dashboard #research-studio .mm-fixed-nav-btn,
html body #page-briefing #research-studio .mm-fixed-nav-btn,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-nav-btn,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-nav-btn {
  border: 1px solid rgba(148, 163, 184, 0.28) !important;
}

/* Payment dialog (credit-confirm): strip navy fills */
.credit-confirm-icon,
.credit-confirm-badge,
[data-theme="dark"] .credit-confirm-icon,
[data-theme="dark"] .credit-confirm-badge,
[data-theme="dark"] .credit-confirm-cancel,
[data-theme="dark"] .credit-confirm-cancel:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

[data-theme="dark"] .credit-confirm-dialog {
  border: 1px solid rgba(148, 163, 184, 0.28) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* ── Dark mode: remove navy backgrounds in AI report & mindmap panels ── */
[data-theme="dark"] .markdown-body,
[data-theme="dark"] #report-content,
[data-theme="dark"] .zoom-chart-container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
/* zoom-dialog / zoom-report-content must stay opaque — transparent made content overlap */
[data-theme="dark"] .zoom-dialog:not(.is-mindmap) {
  background: #141615 !important;
  background-image: none !important;
}
[data-theme="dark"] #zoom-report-content {
  background: #141615 !important;
  background-image: none !important;
}

[data-theme="dark"] .markdown-body h2,
[data-theme="dark"] .markdown-body blockquote,
[data-theme="dark"] .markdown-body th,
[data-theme="dark"] .markdown-body td,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body td,
[data-theme="dark"] #page-briefing #research-studio .markdown-body td,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body th,
[data-theme="dark"] #page-briefing #research-studio .markdown-body th,
[data-theme="dark"] #page-dashboard #research-studio .markdown-body h2,
[data-theme="dark"] #page-briefing #research-studio .markdown-body h2,
[data-theme="dark"] #report-content blockquote,
[data-theme="dark"] #zoom-report-content blockquote {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

[data-theme="dark"] .mindmap-wow-card,
[data-theme="dark"] .mindmap-summary-chip,
[data-theme="dark"] .mindmap-detail-card,
[data-theme="dark"] .mindmap-story-card,
[data-theme="dark"] .mindmap-glance-card,
[data-theme="dark"] .mindmap-canvas-glance-card,
[data-theme="dark"] .mindmap-expand-btn,
[data-theme="dark"] .mindmap-graph-zoom-btn,
[data-theme="dark"] .mindmap-interaction-hint,
[data-theme="dark"] .mindmap-guided-step,
[data-theme="dark"] .mindmap-guided-step:hover,
[data-theme="dark"] .mindmap-guided-step.is-active,
[data-theme="dark"] .mindmap-related-item,
[data-theme="dark"] .mindmap-glance-item,
[data-theme="dark"] .mindmap-detail-takeaway,
[data-theme="dark"] .mindmap-network-node,
[data-theme="dark"] .mindmap-network-node.ring-0,
[data-theme="dark"] .mm-decision-card,
[data-theme="dark"] .mm-decision-card.is-primary,
[data-theme="dark"] .mm-context-guide,
[data-theme="dark"] .mm-fixed-nav-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* ── Mindmap fixed-item card: info "i" button to top, card width fits content ── */
.mm-fixed-item .mm-fixed-item-title-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
}
.mm-fixed-item .mm-fixed-item-title-row .mm-info-btn {
  order: -1 !important;
  align-self: flex-end !important;
  margin: 0 0 2px auto !important;
  flex: 0 0 auto !important;
}
.mm-fixed-item .mm-fixed-item-title-row .mm-fixed-item-title {
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* Card width fits its content instead of a fixed 240px so adjacent cards peek in */
.mm-fixed-list .mm-fixed-item,
.mm-fixed-list--read-path .mm-fixed-item,
.mm-stage-side--top .mm-fixed-item,
.mm-stage-side--bottom .mm-fixed-item {
  width: auto !important;
  min-width: 168px !important;
  max-width: 260px !important;
  flex: 0 0 auto !important;
}
.mm-fixed-item .mm-fixed-item-btn {
  width: 100% !important;
}
.mm-fixed-item .mm-fixed-item-title {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
.mm-fixed-item .mm-fixed-item-summary {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* ── Mindmap live node panel ("실전 해석" etc.): prevent any text clipping ── */
.mm-live-panel,
.mm-live-node-card,
.mm-live-node-summary,
.mm-live-node-block,
.mm-live-node-block-primary,
.mm-live-node-block-extra,
.mm-live-node-block p,
.mm-live-node-block-label,
.mm-live-node-block > *,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card,
#page-dashboard #research-studio .mm-live-node-block,
#page-briefing #research-studio .mm-live-node-block,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p {
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* Make sure stage containers can grow to fit all blocks including "실전 해석" */
#page-dashboard #research-studio .mm-stage-grid,
#page-briefing #research-studio .mm-stage-grid,
#page-dashboard #research-studio .mm-stage-main,
#page-briefing #research-studio .mm-stage-main,
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side,
#page-dashboard #research-studio .mm-stage-side-body,
#page-briefing #research-studio .mm-stage-side-body {
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

/* Final mindmap live-panel guard: grid row sizing was still clipping long copies like "실전 해석".
   Force the right-side detail rail into a simple vertical flow so each block expands by content height. */
#page-dashboard #research-studio .mm-stage-side,
#page-briefing #research-studio .mm-stage-side,
#page-dashboard #research-studio .mm-stage-side-body,
#page-briefing #research-studio .mm-stage-side-body,
#page-dashboard #research-studio .mm-live-panel,
#page-briefing #research-studio .mm-live-panel,
#page-dashboard #research-studio .mm-live-node-card,
#page-briefing #research-studio .mm-live-node-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  contain: none !important;
  grid-auto-rows: auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#page-dashboard #research-studio .mm-live-node-block,
#page-briefing #research-studio .mm-live-node-block,
#page-dashboard #research-studio .mm-live-node-block p,
#page-briefing #research-studio .mm-live-node-block p,
#page-dashboard #research-studio .mm-live-node-summary,
#page-briefing #research-studio .mm-live-node-summary {
  contain: none !important;
  flex: 0 0 auto !important;
  align-self: auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* FINAL OVERRIDE: 다크모드에서 ds-status-title(방어 우선 날 등)이 strong 전역 규칙에
   걸려 검정색으로 나오는 문제 방지. tone별 색상을 유지하면서 강한 선택자로 승리. */
html[data-theme="dark"] #page-dashboard .ds-status-banner .ds-status-title,
html[data-theme="dark"] #page-briefing  .ds-status-banner .ds-status-title {
  color: #F5F5F5 !important;
}
html[data-theme="dark"] #page-dashboard .ds-status-banner--good .ds-status-title,
html[data-theme="dark"] #page-briefing  .ds-status-banner--good .ds-status-title {
  color: #86efac !important;
}
html[data-theme="dark"] #page-dashboard .ds-status-banner--neutral .ds-status-title,
html[data-theme="dark"] #page-briefing  .ds-status-banner--neutral .ds-status-title {
  color: #fbbf24 !important;
}
html[data-theme="dark"] #page-dashboard .ds-status-banner--danger .ds-status-title,
html[data-theme="dark"] #page-briefing  .ds-status-banner--danger .ds-status-title {
  color: #fca5a5 !important;
}

/* Final read-path cleanup: remove lingering navy fills behind and inside the cards. */
html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-section--read-path,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-section--read-path,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-nav-wrap,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-nav-wrap,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-list--read-path,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-list--read-path,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
html[data-theme="dark"] body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item.is-active,
html[data-theme="dark"] body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item.is-active,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item-btn,
html[data-theme="dark"] body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item,
html[data-theme="dark"] body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-stage-side--top .mm-fixed-item.is-active,
html[data-theme="dark"] body #page-briefing #research-studio .mm-stage-side--top .mm-fixed-item.is-active {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

/* 2026-04-19 mindmap polish: reconnect edges, remove navy lower cards, intensify active glow. */
html body #page-dashboard #research-studio .mindmap-network-svg,
html body #page-briefing #research-studio .mindmap-network-svg {
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mindmap-cosmos,
html body #page-briefing #research-studio .mindmap-cosmos {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.86), rgba(255, 255, 255, 0.66)) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow:
    0 24px 54px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
  backdrop-filter: blur(12px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-cosmos,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-cosmos {
  background: linear-gradient(180deg, rgba(5, 12, 24, 0.92), rgba(9, 16, 28, 0.78)) !important;
  border-color: rgba(148, 163, 184, 0.16) !important;
  box-shadow:
    0 28px 56px rgba(2, 6, 23, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

html body #page-dashboard #research-studio .mindmap-network-link,
html body #page-briefing #research-studio .mindmap-network-link {
  opacity: 0.42 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: drop-shadow(0 0 8px rgba(71, 85, 105, 0.14)) !important;
}

html body #page-dashboard #research-studio .mindmap-network-link.is-highlight,
html body #page-briefing #research-studio .mindmap-network-link.is-highlight {
  opacity: 0.98 !important;
  filter: drop-shadow(0 0 16px rgba(34, 211, 238, 0.3)) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node,
html body #page-briefing #research-studio .mindmap-network-node {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
  padding: 12px 14px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.94)) !important;
  border: 1px solid rgba(148, 163, 184, 0.2) !important;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(10, 16, 29, 0.92)) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  box-shadow:
    0 18px 40px rgba(2, 6, 23, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node:hover,
html body #page-briefing #research-studio .mindmap-network-node:hover {
  transform: translate(-50%, -50%) translateY(-3px) scale(1.03) !important;
  border-color: rgba(59, 130, 246, 0.34) !important;
  box-shadow:
    0 24px 46px rgba(15, 23, 42, 0.14),
    0 0 0 1px rgba(59, 130, 246, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node:hover,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node:hover {
  border-color: rgba(96, 165, 250, 0.42) !important;
  box-shadow:
    0 24px 48px rgba(2, 6, 23, 0.54),
    0 0 0 1px rgba(96, 165, 250, 0.12),
    0 0 18px rgba(34, 211, 238, 0.1) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node.is-active,
html body #page-briefing #research-studio .mindmap-network-node.is-active {
  transform: translate(-50%, -50%) translateY(-3px) scale(1.045) !important;
  border-color: rgba(34, 211, 238, 0.72) !important;
  background: radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 1), rgba(236, 253, 245, 0.98) 46%, rgba(224, 242, 254, 0.98) 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.84),
    0 0 0 6px rgba(45, 212, 191, 0.18),
    0 0 40px rgba(34, 211, 238, 0.28),
    0 28px 54px rgba(14, 116, 144, 0.2) !important;
  filter: saturate(1.08) brightness(1.03) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node.is-active.is-bull,
html body #page-briefing #research-studio .mindmap-network-node.is-active.is-bull {
  border-color: rgba(16, 185, 129, 0.78) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.84),
    0 0 0 6px rgba(16, 185, 129, 0.18),
    0 0 38px rgba(16, 185, 129, 0.24),
    0 28px 54px rgba(5, 150, 105, 0.18) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node.is-active.is-bear,
html body #page-briefing #research-studio .mindmap-network-node.is-active.is-bear {
  border-color: rgba(249, 115, 22, 0.82) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.84),
    0 0 0 6px rgba(249, 115, 22, 0.16),
    0 0 38px rgba(251, 146, 60, 0.22),
    0 28px 54px rgba(194, 65, 12, 0.16) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-active,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-active {
  border-color: rgba(103, 232, 249, 0.68) !important;
  background: radial-gradient(circle at 18% 18%, rgba(15, 118, 110, 0.22), rgba(15, 23, 42, 0.98) 52%, rgba(2, 6, 23, 1) 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 0 5px rgba(34, 211, 238, 0.18),
    0 0 46px rgba(34, 211, 238, 0.22),
    0 28px 58px rgba(2, 132, 199, 0.24) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-active.is-bull,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-active.is-bull {
  border-color: rgba(52, 211, 153, 0.72) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 0 5px rgba(16, 185, 129, 0.18),
    0 0 44px rgba(52, 211, 153, 0.18),
    0 28px 58px rgba(6, 95, 70, 0.28) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-active.is-bear,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-active.is-bear {
  border-color: rgba(251, 146, 60, 0.76) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 0 5px rgba(249, 115, 22, 0.18),
    0 0 44px rgba(251, 146, 60, 0.16),
    0 28px 58px rgba(154, 52, 18, 0.28) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node-title,
html body #page-briefing #research-studio .mindmap-network-node-title {
  line-height: 1.34 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

html body #page-dashboard #research-studio .mindmap-glance-item,
html body #page-briefing #research-studio .mindmap-glance-item {
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html body #page-dashboard #research-studio .mindmap-glance-item.is-active,
html body #page-briefing #research-studio .mindmap-glance-item.is-active {
  box-shadow:
    0 0 0 4px rgba(45, 212, 191, 0.12),
    0 12px 28px rgba(14, 116, 144, 0.12) !important;
}

html body #page-dashboard #research-studio .mm-stage-side--top,
html body #page-briefing #research-studio .mm-stage-side--top,
html body #page-dashboard #research-studio .mm-stage-side--top .mm-stage-side-body,
html body #page-briefing #research-studio .mm-stage-side--top .mm-stage-side-body,
html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item,
html body #page-dashboard #research-studio .mm-fixed-item-btn,
html body #page-briefing #research-studio .mm-fixed-item-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body #page-dashboard #research-studio .mm-fixed-item,
html body #page-briefing #research-studio .mm-fixed-item {
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  box-shadow: none !important;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.22s ease !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-item,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-item {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

html body #page-dashboard #research-studio .mm-fixed-item:hover,
html body #page-briefing #research-studio .mm-fixed-item:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(96, 165, 250, 0.38) !important;
  box-shadow:
    0 10px 24px rgba(37, 99, 235, 0.08),
    0 0 0 1px rgba(96, 165, 250, 0.06) !important;
}

html body #page-dashboard #research-studio .mm-fixed-item.is-active,
html body #page-briefing #research-studio .mm-fixed-item.is-active,
html body #page-dashboard #research-studio .mm-fixed-item.is-linked,
html body #page-briefing #research-studio .mm-fixed-item.is-linked {
  border-color: rgba(45, 212, 191, 0.56) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.72),
    0 0 0 5px rgba(45, 212, 191, 0.14),
    0 18px 38px rgba(14, 116, 144, 0.14) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-item.is-active,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-item.is-active,
html[data-theme="dark"] body #page-dashboard #research-studio .mm-fixed-item.is-linked,
html[data-theme="dark"] body #page-briefing #research-studio .mm-fixed-item.is-linked {
  border-color: rgba(103, 232, 249, 0.46) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 5px rgba(34, 211, 238, 0.14),
    0 20px 40px rgba(2, 132, 199, 0.18) !important;
}

/* 2026-04-19 final mindmap cleanup: remove top search card, neutralize navy fills,
   remove left color bars, keep header summary on one line, and make node glow brighter. */
html body #page-dashboard #research-studio .mindmap-workbench,
html body #page-briefing #research-studio .mindmap-workbench {
  display: none !important;
}

html body #page-dashboard #research-studio .mindmap-canvas-top,
html body #page-briefing #research-studio .mindmap-canvas-top {
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

html body #page-dashboard #research-studio .mindmap-stage-label,
html body #page-briefing #research-studio .mindmap-stage-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: min(760px, calc(100% - 180px)) !important;
}

html body #page-dashboard #research-studio .mindmap-stage-label p,
html body #page-briefing #research-studio .mindmap-stage-label p {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body #page-dashboard #research-studio .mindmap-cosmos,
html body #page-briefing #research-studio .mindmap-cosmos,
html body #page-dashboard #research-studio .mindmap-graph-viewport,
html body #page-briefing #research-studio .mindmap-graph-viewport {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-cosmos,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-cosmos {
  border-color: rgba(148, 163, 184, 0.14) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-graph-viewport,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-graph-viewport {
  background: rgba(3, 7, 18, 0.22) !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.06) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node::after,
html body #page-briefing #research-studio .mindmap-network-node::after,
html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node::after,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node::after {
  display: none !important;
  content: none !important;
}

html body #page-dashboard #research-studio .mindmap-network-node,
html body #page-briefing #research-studio .mindmap-network-node {
  padding: 12px 14px !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(10, 15, 26, 0.94)) !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node:hover,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node:hover,
html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-hovered,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-hovered,
html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-graph-related,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-graph-related {
  background: linear-gradient(180deg, rgba(20, 28, 45, 0.98), rgba(10, 15, 26, 0.96)) !important;
  border-color: rgba(125, 211, 252, 0.3) !important;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.32),
    0 0 18px rgba(56, 189, 248, 0.08) !important;
}

html body #page-dashboard #research-studio .mindmap-network-node.is-active,
html body #page-briefing #research-studio .mindmap-network-node.is-active {
  transform: translate(-50%, -50%) scale(1.02) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.9),
    0 0 0 6px rgba(45, 212, 191, 0.18),
    0 0 42px rgba(45, 212, 191, 0.2),
    0 22px 42px rgba(14, 116, 144, 0.18) !important;
}

html[data-theme="dark"] body #page-dashboard #research-studio .mindmap-network-node.is-active,
html[data-theme="dark"] body #page-briefing #research-studio .mindmap-network-node.is-active {
  transform: translate(-50%, -50%) scale(1.03) !important;
  background: linear-gradient(180deg, rgba(18, 28, 45, 0.98), rgba(10, 15, 26, 0.98)) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08),
    0 0 0 6px rgba(34, 211, 238, 0.22),
    0 0 52px rgba(34, 211, 238, 0.28),
    0 24px 46px rgba(0, 0, 0, 0.42) !important;
}

html body #page-dashboard #research-studio .mindmap-network-link,
html body #page-briefing #research-studio .mindmap-network-link {
  opacity: 0.4 !important;
  filter: drop-shadow(0 0 10px rgba(71, 85, 105, 0.08)) !important;
}

html body #page-dashboard #research-studio .mindmap-network-link.is-highlight,
html body #page-briefing #research-studio .mindmap-network-link.is-highlight,
html body #page-dashboard #research-studio .mindmap-network-link.is-hovered,
html body #page-briefing #research-studio .mindmap-network-link.is-hovered {
  opacity: 0.96 !important;
  filter: drop-shadow(0 0 14px rgba(34, 211, 238, 0.22)) !important;
}

/* 2026-04-21 final: hide canvas stage summary and let result cards grow with content. */
html body #page-dashboard #research-studio .mindmap-stage-label,
html body #page-briefing #research-studio .mindmap-stage-label {
  display: none !important;
}

html body #page-dashboard #research-studio .mindmap-canvas-top,
html body #page-briefing #research-studio .mindmap-canvas-top {
  justify-content: flex-end !important;
}

html body #page-dashboard #research-studio .mm-detail-grid,
html body #page-briefing #research-studio .mm-detail-grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-stage-side,
html body #page-briefing #research-studio .mm-stage-side,
html body #page-dashboard #research-studio .mm-stage-side-body,
html body #page-briefing #research-studio .mm-stage-side-body,
html body #page-dashboard #research-studio .mm-live-panel,
html body #page-briefing #research-studio .mm-live-panel {
  width: fit-content !important;
  min-width: min(100%, 44rem) !important;
  max-width: min(100%, 1100px) !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-live-node-card,
html body #page-briefing #research-studio .mm-live-node-card,
html body #page-dashboard #research-studio .mm-live-relations,
html body #page-briefing #research-studio .mm-live-relations {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-live-node-summary,
html body #page-briefing #research-studio .mm-live-node-summary,
html body #page-dashboard #research-studio .mm-live-node-block,
html body #page-briefing #research-studio .mm-live-node-block,
html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p {
  width: auto !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
}

@media (max-width: 1024px) {
  html body #page-dashboard #research-studio .mm-stage-side,
  html body #page-briefing #research-studio .mm-stage-side,
  html body #page-dashboard #research-studio .mm-stage-side-body,
  html body #page-briefing #research-studio .mm-stage-side-body,
  html body #page-dashboard #research-studio .mm-live-panel,
  html body #page-briefing #research-studio .mm-live-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* 2026-04-23 final: live node section labels/body must never clip in dark mode or desktop detail rail. */
html body #page-dashboard #research-studio .mm-live-node-block,
html body #page-briefing #research-studio .mm-live-node-block {
  display: grid !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body #page-dashboard #research-studio .mm-live-node-block-label,
html body #page-briefing #research-studio .mm-live-node-block-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 3px !important;
  padding: 1px 0 0 !important;
  line-height: 1.45 !important;
  min-height: 1.45em !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

html body #page-dashboard #research-studio .mm-live-node-block p,
html body #page-briefing #research-studio .mm-live-node-block p {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* =============================================================================
   Paper Trading Page — Enterprise Grade
   ============================================================================= */

#page-paper-trading {
  background: var(--bg);
  min-height: 100vh;
  padding: 28px 0 80px;
}

.pt-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 28px;
  box-sizing: border-box;
}

/* ─── Header ─── */
.pt-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.pt-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pt-page-kicker {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 4px;
}
.pt-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 3px;
  letter-spacing: -0.3px;
}

.pt-subtitle {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

/* ─── Summary bar ─── */
.pt-summary-bar {
  display: flex;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 12px;
}

.pt-summary-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 14px 20px;
  background: var(--surface);
}

.pt-summary-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pt-summary-value {
  font-family: var(--mono);
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.5px;
  line-height: 1.2;
}

.pt-summary-value.is-up   { color: var(--success); }
.pt-summary-value.is-down { color: var(--error); }

/* ─── Stats row ─── */
.pt-stats-row {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-bottom: 20px;
  overflow-x: auto;
  gap: 0;
}

.pt-stat-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 20px;
  white-space: nowrap;
  flex-shrink: 0;
}

.pt-stat-item:first-child { padding-left: 0; }

.pt-stat-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.pt-stat-val {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.pt-stat-val.is-up   { color: var(--success); }
.pt-stat-val.is-down { color: var(--error); }
.pt-stat-val.pt-stat-warn { color: #f59e0b; }

.pt-stat-hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  font-size: 9px;
  font-weight: 700;
  border-radius: 50%;
  border: 1px solid var(--muted);
  color: var(--muted);
  cursor: default;
  vertical-align: middle;
  margin-left: 3px;
  line-height: 1;
}

.pt-stat-divider {
  width: 1px;
  height: 32px;
  background: var(--line);
  flex-shrink: 0;
}

/* ─── Chart row ─── */
.pt-chart-row {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 16px;
  margin-bottom: 20px;
}

.pt-chart-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

.pt-chart-head {
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pt-chart-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.pt-chart-legend {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pt-chart-legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--muted);
}

.pt-chart-legend-dot {
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background: #22c55e;
  flex-shrink: 0;
}

.pt-chart-legend-dot--benchmark {
  background: #3b82f6;
  border-top: 1px dashed #3b82f6;
  height: 0;
  border-radius: 0;
}

.pt-equity-chart-area {
  height: 180px;
  width: 100%;
}

.pt-alloc-chart-area {
  height: 180px;
  width: 100%;
}

/* ─── Main layout ─── */
.pt-layout {
  display: grid;
  grid-template-columns: 264px 1fr;
  gap: 16px;
  align-items: start;
}

/* ─── Order panel ─── */
.pt-order-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: visible;
  position: sticky;
  top: 68px;
}

.pt-order-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  gap: 4px;
}

.pt-order-tab {
  padding: 10px 0;
  font-size: 13px;
  font-weight: 600;
  background: none;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: var(--muted);
  transition: color 0.15s;
  letter-spacing: 0.2px;
}

.pt-order-tab.is-active[data-side="buy"] {
  color: var(--success);
  font-weight: 700;
}

.pt-order-tab.is-active[data-side="sell"] {
  color: var(--error);
  font-weight: 700;
}

.pt-order-tab:hover:not(.is-active) { color: var(--ink); }

.pt-order-body {
  padding: 4px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pt-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  position: relative;
}

.pt-field-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pt-input {
  padding: 9px 12px;
  font-size: 14px;
  font-family: var(--mono);
  font-weight: 600;
  color: var(--ink);
  background: var(--surface-strong);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
  width: 100%;
  box-sizing: border-box;
}

.pt-input:focus {
  border-color: var(--ink);
  background: var(--surface);
}

.pt-input::placeholder { color: var(--muted); font-weight: 400; font-size: 13px; }
.pt-input:disabled { opacity: 0.35; cursor: not-allowed; }

.pt-cash-input { margin-top: 4px; font-size: 13px; }

/* Suggest dropdown */
.pt-suggest {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  right: 0;
  background: var(--surface-elevated);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  z-index: 200;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.06);
}

.pt-suggest-item {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background 0.08s;
}

.pt-suggest-item:hover { background: var(--accent-soft); }

.pt-suggest-mkt {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;
  letter-spacing: 0.3px;
  flex-shrink: 0;
}

.pt-suggest-mkt--kr {
  background: rgba(22, 163, 74, 0.12);
  color: var(--success);
}

.pt-suggest-mkt--us {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

.pt-suggest-ticker {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 12px;
  color: var(--ink);
  min-width: 60px;
}

.pt-suggest-name {
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Price strip */
/* ── Step-by-step order flow ─────────────────────────────────────────── */

.pt-step {
  position: relative;
  padding: 14px 0 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pt-step + .pt-step {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.pt-step-hd {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pt-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -0.3px;
  flex-shrink: 0;
}

.pt-step-lbl {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

/* Locked step — dims content, prevents interaction */
.pt-step--locked {
  opacity: 0.38;
  pointer-events: none;
  user-select: none;
}
.pt-step--locked .pt-step-num {
  background: var(--line);
}

/* ── Market toggle ─────────────────────────────────────────────────────── */

.pt-market-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.pt-market-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 8px;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.pt-market-btn:hover {
  border-color: var(--accent);
  background: var(--surface-strong);
}
.pt-market-btn.is-active {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
}

.pt-market-flag {
  font-size: 18px;
  line-height: 1;
}
.pt-market-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}
.pt-market-sub {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.4px;
}

[data-theme="dark"] .pt-market-btn {
  background: rgba(255,255,255,0.03);
}
[data-theme="dark"] .pt-market-btn.is-active {
  background: color-mix(in srgb, var(--accent) 12%, rgba(255,255,255,0.04));
}

/* ── Price strip ─────────────────────────────────────────────────────── */

.pt-price-strip {
  padding: 10px 12px;
  background: var(--surface-strong);
  border-radius: 6px;
  border: 1px solid var(--line);
}

.pt-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.pt-price-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pt-price-right {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.pt-price-value {
  font-family: var(--mono);
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
}

.pt-price-change {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0,0,0,0.05);
}
.pt-price-change.is-up   { color: var(--success); background: rgba(34,197,94,0.10); }
.pt-price-change.is-down { color: var(--error);   background: rgba(239,68,68,0.10); }

.pt-price-est {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--mono);
}

.pt-available-cash {
  font-size: 11px;
  color: var(--muted);
  padding: 6px 0 0;
  font-family: var(--mono);
}

/* Submit button */
.pt-submit-btn {
  padding: 12px 0;
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 7px;
  cursor: pointer;
  width: 100%;
  transition: opacity 0.15s;
  letter-spacing: 0.2px;
}

.pt-submit-btn:hover { opacity: 0.88; }
.pt-submit-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.pt-submit-btn--buy  { background: var(--success); color: #fff; }
.pt-submit-btn--sell { background: var(--error);   color: #fff; }

/* Feedback */
.pt-order-feedback {
  font-size: 12px;
  padding: 9px 12px;
  border-radius: 6px;
  margin: 0;
  line-height: 1.4;
}

.pt-order-feedback.is-error {
  background: rgba(220, 38, 38, 0.07);
  color: var(--error);
  border: 1px solid rgba(220, 38, 38, 0.18);
}

.pt-order-feedback.is-success {
  background: rgba(22, 163, 74, 0.07);
  color: var(--success);
  border: 1px solid rgba(22, 163, 74, 0.18);
}

/* Inline sell confirmation */
.pt-sell-confirm {
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.22);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pt-sell-confirm-desc {
  margin: 0;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.5;
}
.pt-sell-confirm-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.pt-sell-confirm-actions .pt-ghost-btn {
  flex: 1;
}
.pt-sell-confirm-actions .pt-danger-btn {
  flex: 2;
}

/* ─── Content tabs ─── */
.pt-content-tabs {
  display: flex;
  background: transparent;
  gap: 2px;
  padding: 0 2px;
  margin-bottom: 2px;
}

.pt-content-tab {
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--muted);
  transition: color 0.12s;
  letter-spacing: 0;
}

.pt-content-tab.is-active {
  color: var(--ink);
  font-weight: 700;
}

.pt-content-tab:hover:not(.is-active) { color: var(--ink); }

/* ─── Main column & tab panels ─── */
.pt-main-col { min-width: 0; }

.pt-tab-panel {
  background: transparent;
  overflow: hidden;
}

/* ─── Tables ─── */
.pt-table-wrap { overflow-x: auto; }

.pt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.pt-table th {
  padding: 9px 16px;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  background: var(--surface-strong);
  border-bottom: 1px solid var(--line);
}

.pt-table th.pt-num { text-align: right; }

.pt-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
  color: var(--ink);
  vertical-align: middle;
}

.pt-table tr:last-child td { border-bottom: none; }

.pt-table .pt-num { text-align: right; }
.pt-table .pt-mono { font-family: var(--mono); }

.pt-ticker-cell {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 13px;
}

.pt-muted-cell { color: var(--muted); font-size: 12px; }
.pt-action-cell { text-align: right; padding-right: 12px; }

.pt-table .is-up   { color: var(--success); }
.pt-table .is-down { color: var(--error); }

/* Badges */
.pt-badge-buy, .pt-badge-sell {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.pt-badge-buy  { background: rgba(22, 163, 74, 0.1);   color: var(--success); }
.pt-badge-sell { background: rgba(220, 38, 38, 0.08);  color: var(--error); }

/* Quick sell button */
.pt-cancel-order-btn {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid var(--error);
  color: var(--error);
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.pt-cancel-order-btn:hover {
  background: var(--error);
  color: #fff;
}

.pt-sell-all-btn {
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--error);
  background: rgba(220, 38, 38, 0.07);
  border: 1px solid rgba(220, 38, 38, 0.2);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.12s;
  white-space: nowrap;
}

.pt-sell-all-btn:hover {
  background: rgba(220, 38, 38, 0.14);
}

/* Empty state */
.pt-empty-row td {
  text-align: center;
  color: var(--muted);
  padding: 36px 16px;
  font-size: 13px;
}

/* ─── Buttons ─── */
.pt-ghost-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  background: none;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}

.pt-ghost-btn:hover { color: var(--ink); border-color: var(--ink); }

.pt-reset-btn {
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  background: none;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
  flex-shrink: 0;
}

.pt-reset-btn:hover { color: var(--error); border-color: var(--error); }

/* ─── Reset modal ─── */
.pt-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.48);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 16px;
  backdrop-filter: blur(2px);
}

.pt-modal-backdrop.hidden { display: none; }

.pt-modal {
  background: var(--surface);
  border-radius: 12px;
  padding: 28px;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 12px 48px rgba(0,0,0,0.2);
  border: 1px solid var(--line);
}

.pt-modal-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 10px;
}

.pt-modal-desc {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 22px;
  line-height: 1.55;
}

.pt-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.pt-danger-btn {
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 700;
  background: var(--error);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: opacity 0.15s;
}

.pt-danger-btn:hover { opacity: 0.88; }

/* ─── Positions toolbar ─── */
.pt-positions-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-strong);
}

.pt-position-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  font-family: var(--mono);
}

.pt-position-count.is-near-limit { color: var(--warn); }
.pt-position-count.is-at-limit   { color: var(--error); font-weight: 700; }

/* ─── Error banner ─── */
.pt-error-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff3f3;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 12px;
  font-size: 13px;
  color: #b91c1c;
}
.pt-error-banner.hidden { display: none; }
.pt-error-banner-icon {
  font-size: 14px;
  font-weight: 800;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fca5a5;
  color: #b91c1c;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
}
.pt-error-banner-msg { flex: 1; }
.pt-error-retry-btn {
  background: #b91c1c;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
}
.pt-error-retry-btn:hover { background: #991b1b; }
.pt-error-close-btn {
  background: none;
  border: none;
  color: #b91c1c;
  cursor: pointer;
  font-size: 14px;
  padding: 0 2px;
  flex-shrink: 0;
  opacity: 0.7;
}
.pt-error-close-btn:hover { opacity: 1; }
[data-theme="dark"] .pt-error-banner {
  background: rgba(185,28,28,0.12);
  border-color: rgba(252,165,165,0.3);
  color: #fca5a5;
}
[data-theme="dark"] .pt-error-banner-icon { background: rgba(252,165,165,0.2); color: #fca5a5; }
[data-theme="dark"] .pt-error-retry-btn   { background: #991b1b; }
[data-theme="dark"] .pt-error-close-btn   { color: #fca5a5; }

/* ─── Refresh spinner ─── */
#pt-refresh-icon.is-spinning {
  animation: pt-spin 0.7s linear infinite;
  transform-origin: center;
}
@keyframes pt-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ─── Summary loading pulse ─── */
.pt-pulse {
  color: transparent !important;
  background: linear-gradient(90deg, var(--line) 25%, var(--bg-2, #e8e8e8) 50%, var(--line) 75%);
  background-size: 200% 100%;
  animation: pt-shimmer 1.2s ease infinite;
  border-radius: 4px;
  min-width: 60px;
  display: inline-block;
}
@keyframes pt-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ─── Table loading row ─── */
.pt-loading-row td {
  text-align: center;
  padding: 28px 0 !important;
}
.pt-loading-dots {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}
.pt-loading-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--muted);
  animation: pt-bounce 1.1s ease infinite;
}
.pt-loading-dots span:nth-child(2) { animation-delay: 0.18s; }
.pt-loading-dots span:nth-child(3) { animation-delay: 0.36s; }
@keyframes pt-bounce {
  0%, 80%, 100% { transform: scale(0.7); opacity: 0.4; }
  40%           { transform: scale(1);   opacity: 1; }
}

/* ─── Points stat ─── */
.pt-stat-item--points {
  position: relative;
  overflow: visible;
}
.pt-stat-item--points .pt-stat-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #c8a93a;
}
.pt-points-val { color: #c8a93a; font-weight: 700; }
.pt-stat-cap {
  font-size: 10px;
  color: var(--muted);
  font-family: var(--mono);
  letter-spacing: 0.2px;
}
.pt-stat-cap.is-capped { color: var(--error); font-weight: 600; }

/* ─── Panel notice ─── */
.pt-panel-notice {
  font-size: 11px;
  color: var(--muted);
  padding: 6px 12px;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

/* ─── Points toast ─── */
.pt-points-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  background: #1a2620;
  border: 1px solid rgba(200,169,58,0.5);
  color: #f0d96b;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
  z-index: 9000;
  white-space: nowrap;
  animation: pt-toast-in 0.25s ease;
}
.pt-points-toast.hidden { display: none; }
.pt-points-toast-icon { font-size: 16px; flex-shrink: 0; }
@keyframes pt-toast-in {
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
[data-theme="dark"] .pt-points-toast {
  background: #1f2c23;
  border-color: rgba(200,169,58,0.45);
}

/* ─── Dark theme ─── */
[data-theme="dark"] .pt-summary-item,
[data-theme="dark"] .pt-stats-row,
[data-theme="dark"] .pt-chart-card,
[data-theme="dark"] .pt-order-panel,

[data-theme="dark"] .pt-summary-bar {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .pt-chart-head {
  background: rgba(255,255,255,0.02);
  border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .pt-table th {
  background: rgba(255,255,255,0.02);
  border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .pt-table td { border-color: rgba(255,255,255,0.05); }

[data-theme="dark"] .pt-stat-divider {
  background: rgba(255,255,255,0.08);
}

[data-theme="dark"] .pt-input {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.1);
}

[data-theme="dark"] .pt-input:focus {
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.08);
}

[data-theme="dark"] .pt-price-strip {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .pt-suggest {
  background: #141a18;
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 4px 24px rgba(0,0,0,0.5);
}

[data-theme="dark"] .pt-suggest-item:hover {
  background: rgba(255,255,255,0.06);
}

[data-theme="dark"] .pt-modal {
  background: #171e1b;
  border-color: rgba(255,255,255,0.1);
}


/* ─── Responsive ─── */
@media (max-width: 1100px) {
  .pt-chart-row { grid-template-columns: 1fr 260px; }
}

@media (max-width: 960px) {
  .pt-layout { grid-template-columns: 1fr; }
  .pt-order-panel { position: static; }
  .pt-chart-row { grid-template-columns: 1fr; }
  .pt-alloc-chart-area { height: 160px; }
  .pt-equity-chart-area { height: 160px; }
}

@media (max-width: 680px) {
  .pt-page { padding: 0 16px; }
  .pt-summary-bar { flex-wrap: wrap; }
  .pt-summary-item { flex: 0 0 calc(50% - 1px); }
  .pt-stats-row { gap: 0; }
  .pt-header { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) {
  .pt-summary-item { flex: 0 0 100%; }
}

/* ─── Live price indicator ─── */
.pt-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success);
  display: inline-block;
  flex-shrink: 0;
  align-self: center;
  animation: pt-live-pulse 2.4s ease-in-out infinite;
}
.pt-live-dot.hidden { display: none; }
@keyframes pt-live-pulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%       { opacity: 0.3; transform: scale(0.75); }
}

/* ─── Last refreshed timestamp ─── */
.pt-last-refreshed {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--mono);
  align-self: center;
}

/* ─── Summary bar position count warning ─── */
.pt-summary-value.pt-summary-warn { color: var(--warn, #d97706); }

/* ─── Market hours notice ─── */
.pt-market-hours {
  font-size: 11px;
  color: var(--muted);
  background: var(--surface-strong);
  border-radius: 6px;
  padding: 6px 10px;
  margin: 0 0 8px;
  line-height: 1.5;
}

/* ─── Onboarding empty row ─── */
.pt-onboard-row td { padding: 24px 16px !important; }
.pt-onboard-msg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
.pt-onboard-msg strong { font-size: 14px; color: var(--ink); }
.pt-onboard-msg span   { font-size: 12px; color: var(--muted); max-width: 340px; line-height: 1.5; }

/* ─── Suggest item focused (keyboard nav) ─── */
.pt-suggest-item.is-focused {
  background: var(--accent-soft);
  outline: none;
}

/* ─── Mobile feedback text wrap ─── */
.pt-order-feedback {
  white-space: normal;
  word-break: break-word;
}

/* ─── Points help button ─── */
.pt-points-help-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: currentColor;
  font-size: 12px;
  font-weight: 500;
  font-style: italic;
  font-family: Georgia, "Times New Roman", serif;
  cursor: pointer;
  vertical-align: middle;
  line-height: 1;
  padding: 0;
  margin: 0;
  box-shadow: none;
  opacity: 0.78;
  transform: translateY(-1px);
  transition: color 0.15s ease, opacity 0.15s ease;
}
.pt-points-help-btn:hover,
.pt-points-help-btn:focus-visible,
.pt-points-help-btn.is-open {
  background: transparent;
  color: currentColor;
  opacity: 1;
  box-shadow: none;
}
.pt-points-help-btn:focus-visible {
  outline: 1px solid rgba(120, 146, 127, 0.28);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ─── Points info popover ─── */
.pt-points-popover {
  --pt-popover-bg: rgba(255, 255, 255, 0.98);
  --pt-popover-border: rgba(148, 163, 184, 0.18);
  position: fixed;
  top: 0;
  left: 0;
  width: min(340px, calc(100vw - 32px));
  max-width: min(340px, calc(100vw - 32px));
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--pt-popover-bg);
  border: 1px solid var(--pt-popover-border);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: 1300;
  font-size: 12px;
  line-height: 1.48;
  color: #334155;
  pointer-events: auto;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.pt-points-popover.hidden { display: none; }
.pt-points-popover::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--pt-popover-arrow-left, 20px);
  width: 12px;
  height: 12px;
  background: var(--pt-popover-bg);
  border-left: 1px solid var(--pt-popover-border);
  border-top: 1px solid var(--pt-popover-border);
  transform: translate(-50%, -58%) rotate(45deg);
}
.pt-points-popover[data-placement="top"]::before {
  top: auto;
  bottom: 0;
  transform: translate(-50%, 58%) rotate(225deg);
}
.pt-popover-title {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.pt-popover-list {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}
.pt-popover-list strong { color: #c8a93a; }
.pt-popover-cap {
  font-size: 11px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin: 0;
}
.pt-popover-cap strong { color: var(--ink); }

[data-theme="dark"] .pt-points-popover {
  --pt-popover-bg: rgba(15, 23, 42, 0.98);
  --pt-popover-border: rgba(148, 163, 184, 0.18);
  color: #e2e8f0;
}
[data-theme="dark"] .pt-popover-title {
  color: #f8fafc;
}

/* ─── Sell modal PnL line ─── */
.pt-modal-pnl { font-size: 13px; font-weight: 600; }
.pt-modal-pnl.is-up   { color: var(--success); }
.pt-modal-pnl.is-down { color: var(--error); }

/* ─── Summary item position count ─── */
.pt-summary-item--count strong { font-family: var(--mono); font-size: 15px; }

/* ─── Points history ─── */
.pt-points-history-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 16px 0;
  border-bottom: 1px solid var(--line);
}

.pt-ph-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.pt-ph-badge--trade     { background: rgba(22,163,74,0.1);   color: var(--success); }
.pt-ph-badge--bonus     { background: rgba(200,169,58,0.15); color: #b8952a; }
.pt-ph-badge--streak    { background: rgba(59,130,246,0.1);  color: #2563eb; }
.pt-ph-badge--milestone { background: rgba(139,92,246,0.1);  color: #7c3aed; }

[data-theme="dark"] .pt-ph-badge--bonus     { color: #e0b84a; }
[data-theme="dark"] .pt-ph-badge--streak    { color: #60a5fa; }
[data-theme="dark"] .pt-ph-badge--milestone { color: #a78bfa; }

.pt-ph-note  { font-size: 12px; color: var(--muted); max-width: 200px; }
.pt-ph-points {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 13px;
  color: #c8a93a;
}

.pt-points-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  font-size: 12px;
  color: var(--muted);
  border-top: 1px solid var(--line);
}
.pt-points-total-row.hidden { display: none; }

.pt-ghost-btn--sm {
  font-size: 11px;
  padding: 4px 10px;
}

/* ── 홈 챌린지 이벤트 배너 ── */
.home-challenge-banner {
  margin: 24px auto 0;
  max-width: 900px;
  padding: 0 16px 32px;
}
.home-challenge-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px;
  padding: 16px 22px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.15s;
}
.home-challenge-inner:hover {
  border-color: rgba(255,255,255,0.15);
}
[data-theme="light"] .home-challenge-inner {
  background: rgba(0,0,0,0.02);
  border-color: rgba(0,0,0,0.08);
}
[data-theme="light"] .home-challenge-inner:hover {
  border-color: rgba(0,0,0,0.14);
}
.home-challenge-sim-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.06);
  border-radius: 10px;
  color: rgba(255,255,255,0.7);
}
[data-theme="light"] .home-challenge-sim-icon {
  background: rgba(0,0,0,0.05);
  color: rgba(0,0,0,0.5);
}
.home-challenge-copy { flex: 1; }
.home-challenge-title {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  margin: 0 0 3px;
  letter-spacing: -0.01em;
}
[data-theme="light"] .home-challenge-title { color: rgba(0,0,0,0.85); }
.home-challenge-desc {
  font-size: 12.5px;
  color: rgba(255,255,255,0.45);
  margin: 0;
  line-height: 1.5;
}
[data-theme="light"] .home-challenge-desc { color: rgba(0,0,0,0.45); }
.home-challenge-cta {
  flex-shrink: 0;
  background: transparent;
  color: rgba(255,255,255,0.7);
  font-size: 12.5px;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.15);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.home-challenge-cta:hover {
  border-color: rgba(255,255,255,0.3);
  color: rgba(255,255,255,0.95);
  background: rgba(255,255,255,0.06);
}
[data-theme="light"] .home-challenge-cta {
  color: rgba(0,0,0,0.6);
  border-color: rgba(0,0,0,0.15);
}
[data-theme="light"] .home-challenge-cta:hover {
  border-color: rgba(0,0,0,0.3);
  color: rgba(0,0,0,0.85);
  background: rgba(0,0,0,0.04);
}
@media (max-width: 600px) {
  .home-challenge-inner { flex-wrap: wrap; }
  .home-challenge-cta { width: 100%; text-align: center; }
}

/* ── pt-content-tab 리워드샵 강조 ── */
.pt-content-tab--reward {
  position: relative;
}
.pt-content-tab--reward::after {
  content: "NEW";
  position: absolute;
  top: -6px;
  right: -4px;
  background: #ef4444;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.03em;
  padding: 1px 4px;
  border-radius: 4px;
}
.pt-content-tab--reward.is-active::after { display: none; }

/* ── 리워드샵 패널 ── */
.pt-reward-header {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2, rgba(255,255,255,0.03));
  border-radius: 10px 10px 0 0;
  margin-bottom: 12px;
}
.pt-reward-balance-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-shrink: 0;
}
.pt-reward-balance-label { font-size: 11px; color: var(--muted); }
.pt-reward-balance-val {
  font-size: 22px;
  font-weight: 800;
  color: #22c55e;
  font-family: var(--mono);
}
.pt-reward-progress-wrap {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pt-reward-progress-label { font-size: 11px; color: var(--muted); }
.pt-reward-progress-bar-bg {
  height: 8px;
  border-radius: 4px;
  background: var(--line);
  overflow: hidden;
}
.pt-reward-progress-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #22c55e, #86efac);
  transition: width 0.6s ease;
}
.pt-reward-progress-text { font-size: 12px; color: var(--ink); font-weight: 500; }

/* ── 리워드 카드 그리드 ── */
.pt-reward-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  padding: 0 4px 16px;
}
.pt-reward-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 16px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--surface-1, rgba(255,255,255,0.02));
  text-align: center;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
  position: relative;
  overflow: hidden;
}
.pt-reward-card--locked {
  opacity: 0.55;
  filter: grayscale(0.3);
}
.pt-reward-card--unlocked {
  border-color: rgba(34,197,94,0.4);
  box-shadow: 0 0 0 1px rgba(34,197,94,0.15), 0 4px 16px rgba(34,197,94,0.08);
}
.pt-reward-card--unlocked::before {
  content: "교환 가능";
  position: absolute;
  top: 8px;
  right: 8px;
  background: #22c55e;
  color: #000;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 10px;
}
.pt-reward-card--unlocked:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(34,197,94,0.12); }
.pt-reward-icon { font-size: 32px; line-height: 1; }
.pt-reward-info { display: flex; flex-direction: column; gap: 2px; }
.pt-reward-name { font-size: 13px; font-weight: 700; color: var(--ink); }
.pt-reward-partner { font-size: 11px; color: var(--muted); }
.pt-reward-cost {
  font-size: 13px;
  font-weight: 700;
  color: #c8a93a;
  font-family: var(--mono);
}
.pt-reward-btn {
  margin-top: 4px;
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  background: rgba(34,197,94,0.12);
  color: #22c55e;
  transition: background 0.15s;
  width: 100%;
}
.pt-reward-btn:disabled {
  background: var(--line);
  color: var(--muted);
  cursor: not-allowed;
}
.pt-reward-btn:not(:disabled):hover { background: rgba(34,197,94,0.22); }
.pt-reward-notice {
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  padding: 8px 16px 16px;
}

/* ── 리워드샵 독립 섹션 ── */
.pt-reward-section {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.pt-reward-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 32px;
  margin-bottom: 20px;
}
.pt-reward-section-title-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
}
.pt-reward-section-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
}
.pt-reward-section .pt-reward-balance-block { flex-direction: row; align-items: baseline; gap: 6px; }
.pt-reward-section .pt-reward-balance-label { font-size: 12px; color: var(--muted); }
.pt-reward-section .pt-reward-balance-val { font-size: 16px; font-weight: 800; color: var(--ink); font-family: var(--mono); }
.pt-reward-section .pt-reward-progress-wrap { flex: 1; min-width: 180px; flex-direction: row; align-items: center; gap: 10px; }
.pt-reward-section .pt-reward-progress-bar-bg { flex: 1; height: 5px; }
.pt-reward-section .pt-reward-progress-text { font-size: 11px; white-space: nowrap; flex-shrink: 0; }
.pt-reward-policy-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.pt-reward-policy-item {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.5);
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
}
[data-theme="dark"] .pt-reward-policy-item {
  background: rgba(255,255,255,0.02);
}
.pt-reward-section .pt-reward-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  padding: 0;
  gap: 14px;
}
.pt-reward-section .pt-reward-card {
  padding: 0 0 16px;
  gap: 10px;
  overflow: hidden;
  border-radius: 12px;
}
.pt-reward-img {
  width: 100%;
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  border-radius: 10px 10px 0 0;
}
.pt-reward-img--cafe { background: #fef3c7; }
.pt-reward-img--food { background: #ffedd5; }
.pt-reward-img--pro  { background: #fef9c3; }
[data-theme="dark"] .pt-reward-img--cafe { background: rgba(254,243,199,0.08); }
[data-theme="dark"] .pt-reward-img--food { background: rgba(255,237,213,0.08); }
[data-theme="dark"] .pt-reward-img--pro  { background: rgba(254,249,195,0.08); }
.pt-reward-section .pt-reward-info,
.pt-reward-section .pt-reward-cost,
.pt-reward-section .pt-reward-btn { padding: 0 14px; width: 100%; box-sizing: border-box; }
.pt-reward-section .pt-reward-cost { font-size: 12px; color: var(--muted); font-family: inherit; font-weight: 600; }

/* ── 교환 요청 배너 ── */
.pt-modal--redeem { max-width: 400px; }
.pt-redeem-banner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 0 16px;
  padding: 18px 20px;
  border: 1px solid rgba(34,197,94,0.22);
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,0.14), transparent 34%),
    linear-gradient(135deg, rgba(17,24,39,0.04), rgba(17,24,39,0.015));
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}
[data-theme="dark"] .pt-redeem-banner {
  background:
    radial-gradient(circle at top right, rgba(34,197,94,0.18), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}
.pt-redeem-banner.hidden { display: none; }
.pt-redeem-banner-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.pt-redeem-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.pt-redeem-banner-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #16a34a;
}
.pt-redeem-banner-title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
}
.pt-redeem-banner-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.pt-redeem-form { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.pt-redeem-form--banner {
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.56);
}
[data-theme="dark"] .pt-redeem-form--banner {
  background: rgba(255,255,255,0.02);
}
.pt-redeem-note { font-size: 12px; color: var(--muted); margin: 0; }
.pt-redeem-email-locked {
  font-size: 14px;
  font-weight: 500;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.03);
  color: var(--text);
  word-break: break-all;
}
[data-theme="dark"] .pt-redeem-email-locked {
  background: rgba(255,255,255,0.04);
}
.pt-redeem-banner-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
@media (max-width: 640px) {
  .pt-redeem-banner {
    padding: 16px;
  }
  .pt-redeem-banner-actions {
    flex-direction: column-reverse;
  }
  .pt-redeem-banner-actions .pt-ghost-btn,
  .pt-redeem-banner-actions .pt-submit-btn {
    width: 100%;
  }
}

/* ── 씨앗 팝오버 리워드 힌트 ── */
.pt-popover-rewards {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}
.pt-popover-rewards span {
  font-size: 11px;
  background: rgba(34,197,94,0.1);
  color: #22c55e;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}
[data-theme="light"] .pt-popover-rewards span {
  background: rgba(22,163,74,0.1);
  color: #15803d;
}

/* ── NEW 뱃지 — 첫 방문 후 숨김 ── */
.pt-content-tab--reward-seen::after { display: none !important; }

/* ── 교환 차감 이벤트 스타일 ── */
.pt-ph-badge--redeem {
  background: rgba(239,68,68,0.1);
  color: #ef4444;
}
[data-theme="dark"] .pt-ph-badge--redeem { color: #fca5a5; }

.pt-ph-points--deduct {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 13px;
  color: #ef4444;
}
[data-theme="dark"] .pt-ph-points--deduct { color: #fca5a5; }

/* ── 리워드샵 인라인 오류 배너 ── */
.pt-redeem-error {
  margin: 8px 0 0;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(239,68,68,0.08);
  border: 1px solid rgba(239,68,68,0.25);
  color: #ef4444;
  font-size: 13px;
  font-weight: 500;
}
.pt-redeem-error.hidden { display: none; }
[data-theme="light"] .pt-redeem-error { color: #b91c1c; }

/* ── 리워드 카드 텍스트 아이콘 (emoji 대체) ── */
.pt-reward-icon { display: none; }
.pt-reward-icon-text {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--muted);
  background: var(--line);
  border-radius: 6px;
  padding: 4px 8px;
  align-self: center;
}

/* ── 챌린지 섹션 ── */
/* ─── Rewards details (collapsible) ─── */
.pt-rewards-details {
  margin-bottom: 16px;
}
.pt-rewards-details[open] .pt-rewards-chevron {
  transform: rotate(180deg);
}
.pt-rewards-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.pt-rewards-summary::-webkit-details-marker { display: none; }
.pt-rewards-summary-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--muted);
  text-transform: uppercase;
}
.pt-rewards-seed-preview {
  font-size: 12px;
  color: var(--muted);
}
.pt-rewards-chevron {
  color: var(--muted);
  transition: transform 0.2s;
  margin-left: auto;
}

.pt-incentive-overview {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(17,24,39,0.03), rgba(17,24,39,0.01));
  margin: 6px 0 14px;
}
[data-theme="dark"] .pt-incentive-overview {
  background: linear-gradient(135deg, rgba(255,255,255,0.025), rgba(255,255,255,0.01));
}
.pt-incentive-overview-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pt-incentive-program-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.pt-incentive-program-desc {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}
.pt-incentive-policy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pt-incentive-policy-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 84px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.48);
}
[data-theme="dark"] .pt-incentive-policy-card {
  background: rgba(255,255,255,0.02);
}
.pt-incentive-policy-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}
.pt-incentive-policy-value {
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink);
}

.pt-challenge-row {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 12px;
  margin-bottom: 16px;
  padding-top: 8px;
}
@media (max-width: 768px) {
  .pt-challenge-row { grid-template-columns: 1fr; }
  .pt-incentive-policy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .pt-incentive-overview { padding: 14px; }
  .pt-incentive-policy-grid { grid-template-columns: 1fr; }
}

/* 출석 체크 카드 */
.pt-checkin-card {
  background: var(--surface-1, rgba(255,255,255,0.02));
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pt-checkin-top { display: flex; flex-direction: column; gap: 8px; }
.pt-checkin-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pt-checkin-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pt-checkin-streak-badge {
  font-size: 11px;
  font-weight: 700;
  color: #22c55e;
  background: rgba(34,197,94,0.1);
  padding: 2px 8px;
  border-radius: 10px;
}
[data-theme="light"] .pt-checkin-streak-badge { background: rgba(22,163,74,0.1); color: #15803d; }

.pt-checkin-week {
  display: flex;
  gap: 6px;
}
.pt-week-dot {
  flex: 1;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  padding: 6px 2px 4px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: transparent;
  transition: background 0.2s, color 0.2s;
  cursor: default;
  user-select: none;
}
.pt-week-dot.is-filled {
  background: rgba(34,197,94,0.15);
  border-color: rgba(34,197,94,0.4);
  color: #22c55e;
  font-weight: 700;
}
[data-theme="light"] .pt-week-dot.is-filled {
  background: rgba(22,163,74,0.1);
  border-color: rgba(22,163,74,0.3);
  color: #15803d;
}

.pt-checkin-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pt-checkin-desc {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
  margin: 0;
  flex: 1;
}
.pt-checkin-btn {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  background: #22c55e;
  color: #000;
  transition: background 0.15s, opacity 0.15s;
  white-space: nowrap;
}
.pt-checkin-btn:hover:not(:disabled) { background: #16a34a; }
.pt-checkin-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.pt-checkin-btn.is-done { background: var(--line); color: var(--muted); }
[data-theme="light"] .pt-checkin-btn.is-done { color: #6b7280; }

/* 월간 챌린지 카드 */
.pt-missions-card {
  background: var(--surface-1, rgba(255,255,255,0.02));
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pt-missions-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pt-missions-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pt-missions-deadline {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 8px;
  background: rgba(239,68,68,0.1);
  color: #ef4444;
}
[data-theme="light"] .pt-missions-deadline { color: #b91c1c; }

.pt-missions-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pt-mission-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: transparent;
  transition: border-color 0.2s;
}
.pt-mission-item.is-done {
  border-color: rgba(34,197,94,0.3);
  background: rgba(34,197,94,0.04);
}
.pt-mission-check {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.5px solid var(--muted);
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
}
.pt-mission-check.is-checked {
  background: #22c55e;
  border-color: #22c55e;
}
.pt-mission-check.is-checked::after {
  content: "";
  position: absolute;
  top: 2px; left: 4px;
  width: 5px; height: 8px;
  border: 1.5px solid #000;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
.pt-mission-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.pt-mission-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pt-mission-desc {
  font-size: 11px;
  color: var(--muted);
}
.pt-mission-reward {
  font-size: 12px;
  font-weight: 700;
  color: #c8a93a;
  font-family: var(--mono);
  white-space: nowrap;
  flex-shrink: 0;
}
.pt-mission-status {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 36px;
  text-align: right;
}
.pt-mission-status.is-done { color: #22c55e; }
[data-theme="light"] .pt-mission-status.is-done { color: #15803d; }

.pt-missions-bonus-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px dashed var(--line);
  font-size: 12px;
}
.pt-missions-bonus-row.hidden { display: none; }
.pt-missions-bonus-label { flex: 1; color: var(--muted); }
.pt-missions-bonus-val { font-weight: 700; color: #c8a93a; font-family: var(--mono); }

/* 씨앗 잔액 단위 텍스트 */
.pt-reward-balance-val { font-size: 20px; }
.pt-stat-val.pt-points-val { font-family: var(--mono); }

/* ── Challenge subnav pill ─────────────────────────────────────────────────── */

/* ── Paper Trading Minimal Refresh (2026-04-30) ───────────────────────── */
.pt-content-tab--reward::after {
  content: none;
}

.pt-reward-section {
  margin-top: 40px;
  padding-top: 32px;
}

.pt-reward-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 24px;
  align-items: end;
  margin-bottom: 24px;
}

.pt-reward-section-title-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pt-reward-section-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.pt-reward-section-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 18px;
}

.pt-reward-section-title {
  font-size: 20px;
}

.pt-reward-section-desc {
  margin: 0;
  max-width: 720px;
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
}

.pt-reward-section .pt-reward-balance-block {
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
}

.pt-reward-section .pt-reward-balance-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pt-reward-section .pt-reward-balance-val {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  font-family: inherit;
}

.pt-reward-section .pt-reward-progress-wrap {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  min-width: 220px;
}

.pt-reward-section .pt-reward-progress-bar-bg,
.pt-reward-section .pt-reward-progress-bar-fill {
  display: none;
}

.pt-reward-section .pt-reward-progress-text {
  font-size: 12px;
  line-height: 1.6;
  white-space: normal;
  text-align: right;
  color: var(--muted);
}

.pt-reward-policy-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 20px;
}

.pt-reward-policy-item {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: auto;
  padding: 0 0 12px;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
}

.pt-reward-policy-item span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}

.pt-reward-policy-item strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.pt-reward-section .pt-reward-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.pt-reward-section .pt-reward-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.pt-reward-section .pt-reward-card--locked,
.pt-reward-section .pt-reward-card--unlocked {
  opacity: 1;
  filter: none;
  box-shadow: none;
}

.pt-reward-section .pt-reward-card--unlocked::before {
  content: none;
}

.pt-reward-section .pt-reward-info {
  width: auto;
  padding: 0;
  gap: 4px;
  text-align: left;
}

.pt-reward-name {
  font-size: 15px;
  font-weight: 600;
}

.pt-reward-partner {
  font-size: 12px;
}

.pt-reward-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
}

.pt-reward-section .pt-reward-cost {
  width: auto;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  font-family: inherit;
}

.pt-reward-status {
  font-size: 12px;
  color: var(--muted);
}

.pt-reward-section .pt-reward-btn {
  width: auto;
  min-width: 84px;
  margin-top: 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  transition: none;
}

.pt-reward-section .pt-reward-btn:not(:disabled):hover,
.pt-checkin-btn:hover:not(:disabled) {
  background: transparent;
}

.pt-reward-section .pt-reward-btn:disabled {
  background: transparent;
  color: var(--muted);
  border-color: var(--line);
}

.pt-reward-notice {
  padding: 14px 0 0;
  font-size: 12px;
  line-height: 1.6;
  text-align: left;
}

.pt-redeem-banner {
  gap: 16px;
  margin: 0 0 18px;
  padding: 18px 0 0;
  border: none;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-theme="dark"] .pt-redeem-banner {
  background: transparent;
  box-shadow: none;
}

.pt-redeem-banner-head {
  justify-content: flex-start;
}

.pt-redeem-banner-kicker {
  color: var(--muted);
}

.pt-redeem-banner-title {
  font-weight: 700;
}

.pt-redeem-form--banner {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

[data-theme="dark"] .pt-redeem-form--banner {
  background: transparent;
}

.pt-redeem-email-locked {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 13px;
  color: var(--ink);
}

.pt-redeem-note {
  line-height: 1.6;
}

.pt-redeem-banner-actions {
  justify-content: flex-start;
}

.pt-redeem-error {
  margin: 0 0 12px;
  padding: 0 0 10px;
  border: none;
  border-bottom: 1px solid rgba(239,68,68,0.25);
  border-radius: 0;
  background: transparent;
}

.pt-popover-rewards span {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
}

[data-theme="light"] .pt-popover-rewards span {
  background: transparent;
  color: var(--muted);
}

.pt-incentive-overview {
  gap: 16px;
  padding: 18px 0 16px;
  border: none;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  margin: 10px 0 18px;
}

[data-theme="dark"] .pt-incentive-overview {
  background: transparent;
}

.pt-incentive-policy-card {
  min-height: auto;
  padding: 0 0 12px;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

[data-theme="dark"] .pt-incentive-policy-card {
  background: transparent;
}

.pt-challenge-row {
  grid-template-columns: minmax(260px, 320px) 1fr;
  gap: 18px;
  padding-top: 0;
}

.pt-checkin-card,
.pt-missions-card {
  padding: 18px;
  border-radius: 14px;
  background: transparent;
}

.pt-checkin-streak-badge {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
}

[data-theme="light"] .pt-checkin-streak-badge {
  background: transparent;
  color: var(--ink);
}

.pt-week-dot {
  padding: 7px 2px 5px;
  border-radius: 999px;
}

.pt-week-dot.is-filled {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}

[data-theme="light"] .pt-week-dot.is-filled {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}

.pt-checkin-bottom {
  align-items: flex-end;
  gap: 12px;
}

.pt-checkin-btn {
  padding: 9px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-weight: 600;
  transition: none;
}

.pt-checkin-btn.is-done {
  background: transparent;
  color: var(--muted);
}

[data-theme="light"] .pt-checkin-btn.is-done {
  color: var(--muted);
}

.pt-missions-deadline {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
}

[data-theme="light"] .pt-missions-deadline {
  color: var(--muted);
}

.pt-mission-item {
  padding: 12px 0;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.pt-mission-item.is-done {
  border-color: var(--line);
  background: transparent;
}

.pt-mission-check {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  transition: none;
}

.pt-mission-check.is-checked {
  background: transparent;
  border-color: var(--ink);
}

.pt-mission-check.is-checked::after {
  inset: 3px;
  width: auto;
  height: auto;
  border: none;
  border-radius: 999px;
  background: var(--ink);
  transform: none;
}

.pt-mission-reward {
  color: var(--muted);
  font-family: inherit;
  font-weight: 600;
}

.pt-mission-status.is-done {
  color: var(--ink);
}

[data-theme="light"] .pt-mission-status.is-done {
  color: var(--ink);
}

.pt-missions-bonus-row {
  padding: 12px 0 0;
  border: none;
  border-top: 1px solid var(--line);
  border-radius: 0;
}

.pt-missions-bonus-val {
  color: var(--ink);
  font-family: inherit;
  font-weight: 600;
}

@media (max-width: 768px) {
  .pt-reward-policy-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pt-reward-section-head {
    grid-template-columns: 1fr;
  }

  .pt-reward-section .pt-reward-progress-wrap {
    justify-content: flex-start;
    min-width: 0;
  }

  .pt-reward-section .pt-reward-progress-text {
    text-align: left;
  }

  .pt-reward-section .pt-reward-card {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .pt-reward-meta {
    align-items: flex-start;
    text-align: left;
  }

  .pt-reward-section .pt-reward-btn {
    width: 100%;
  }

  .pt-redeem-banner {
    padding-top: 16px;
  }
}
