:root {
  --lux-bg-0: #020713;
  --lux-bg-1: #061428;
  --lux-bg-2: #0a2b5d;
  --lux-card-bg-top: rgba(255, 255, 255, 0.145);
  --lux-card-bg-mid: rgba(255, 255, 255, 0.075);
  --lux-card-bg-bottom: rgba(2, 10, 28, 0.48);
  --lux-card-border: rgba(178, 222, 255, 0.38);
  --lux-card-border-strong: rgba(200, 235, 255, 0.58);
  --lux-card-inner-dark: rgba(0, 0, 0, 0.38);
  --lux-glow-blue: rgba(74, 176, 255, 0.46);
  --lux-glow-cyan: rgba(120, 220, 255, 0.34);
  --lux-glow-violet: rgba(126, 92, 255, 0.42);
  --lux-gold: #d8b56d;
  --lux-gold-light: #f3d9a2;
  --lux-gold-shadow: rgba(216, 181, 109, 0.32);
  --lux-text-main: #ffffff;
  --lux-text-strong: #f8fbff;
  --lux-text-soft: #e6efff;
  --lux-text-muted: #b6c5df;
  --lux-text-faint: #8fa4c4;
  --lux-text-link: #7ed3ff;
  --gs-bg-deep: #020817;
  --gs-bg-navy: #071a3d;
  --gs-bg-blue: #0f3f8f;
  --gs-glass-bg: rgba(255, 255, 255, 0.055);
  --gs-glass-bg-strong: rgba(255, 255, 255, 0.09);
  --gs-glass-border: rgba(160, 210, 255, 0.22);
  --gs-glass-border-soft: rgba(255, 255, 255, 0.12);
  --gs-glow-blue: rgba(74, 176, 255, 0.42);
  --gs-glow-cyan: rgba(100, 220, 255, 0.28);
  --gs-glow-violet: rgba(132, 96, 255, 0.34);
  --gs-gold: #d8b56d;
  --gs-gold-soft: rgba(216, 181, 109, 0.32);
  --gs-text-main: #f8fbff;
  --gs-text-soft: #dbe8ff;
  --gs-text-muted: #9badd0;
  --text-primary: #fff;
  --text-secondary: #e6efff;
  --text-muted: #9badd0;
  --text-link: #68c8ff;
}

/* Stock workspace: one research function at a time. */
.stock-workspace__shell {
  display: grid;
  grid-template-columns: minmax(210px, 248px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.stock-workspace__content { min-width: 0; }
.stock-workspace__nav {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(110, 188, 246, .25);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(8, 28, 62, .92), rgba(3, 13, 32, .94));
  box-shadow: 0 18px 46px rgba(0, 0, 0, .22);
}
.stock-workspace__nav--desktop { position: sticky; top: 96px; }
.stock-workspace__nav--mobile { display: none; }
.stock-workspace__nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: rgba(214, 231, 250, .78);
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.stock-workspace__nav-item > span:first-child { width: 18px; color: #7ed3ff; font-size: 18px; text-align: center; }
.stock-workspace__nav-item:hover { border-color: rgba(126, 211, 255, .26); background: rgba(72, 143, 213, .12); color: #f8fbff; }
.stock-workspace__nav-item[aria-selected="true"] { border-color: rgba(126, 211, 255, .54); background: linear-gradient(90deg, rgba(31, 112, 184, .42), rgba(17, 61, 116, .28)); color: #fff5d7; }
.stock-workspace__nav-item:focus-visible { outline: 3px solid #f4cf75; outline-offset: 3px; }
.stock-workspace__nav-label--mobile { display: none; }
.stock-workspace__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 18px;
  margin: 0 0 14px;
  padding: 4px 4px 0;
}
.stock-workspace__title > p { margin: 3px 0 0; color: rgba(236, 246, 255, .9); font-size: clamp(19px, 2.4vw, 25px); font-weight: 900; }
.stock-workspace__view-label { align-self: end; margin: 0; padding: 8px 11px; border: 1px solid rgba(244, 207, 117, .3); border-radius: 999px; color: #fff1c6; background: rgba(80, 54, 12, .24); font-size: 13px; font-weight: 800; }
.stock-workspace__truth-strip {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(126, 211, 255, .22);
  border-radius: 13px;
  background: rgba(6, 20, 40, .72);
}
.stock-workspace__truth-strip > div { min-width: 0; padding: 10px 13px; border-right: 1px solid rgba(126, 211, 255, .16); }
.stock-workspace__truth-strip > div:last-child { border-right: 0; }
.stock-workspace__truth-strip dt { color: rgba(155, 173, 208, .9); font-size: 12px; }
.stock-workspace__truth-strip dd { margin: 3px 0 0; overflow-wrap: anywhere; color: #f8fbff; font-size: 14px; font-weight: 800; }
.stock-workspace__panel { min-width: 0; }
.stock-workspace__panel[hidden] { display: none !important; }

@media (max-width: 900px) {
  .stock-workspace { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .stock-page .brand-footer { padding-bottom: calc(108px + env(safe-area-inset-bottom)); }
  .stock-page #app { position: relative; z-index: 2; }
  .stock-workspace__shell { display: block; }
  .stock-workspace__nav--desktop { display: none; }
  .stock-workspace__nav--mobile {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 6px max(6px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));
    border-width: 1px 0 0;
    border-radius: 0;
    background: rgba(3, 12, 28, .96);
    backdrop-filter: blur(16px);
  }
  .stock-workspace__nav--mobile .stock-workspace__nav-item { display: grid; min-width: 0; min-height: 58px; justify-items: center; gap: 3px; padding: 5px 2px; border-radius: 10px; font-size: 11px; line-height: 1.1; text-align: center; }
  .stock-workspace__nav--mobile .stock-workspace__nav-item > span:first-child { width: auto; font-size: 16px; }
  .stock-workspace__nav-label--desktop { display: none; }
  .stock-workspace__nav-label--mobile { display: inline; }
  .stock-workspace__header { grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 12px; padding-inline: 0; }
  .stock-workspace__title > p { font-size: 18px; }
  .stock-workspace__view-label { margin-top: 4px; font-size: 12px; }
  .stock-workspace__truth-strip { grid-template-columns: 1fr; }
  .stock-workspace__truth-strip > div { display: flex; justify-content: space-between; gap: 12px; border-right: 0; border-bottom: 1px solid rgba(126, 211, 255, .16); }
  .stock-workspace__truth-strip > div:last-child { border-bottom: 0; }
  .stock-workspace__truth-strip dd { margin: 0; text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
  .stock-workspace__nav-item { transition: none; }
}

/* Public daily-research cards: visible only when the API returns today's complete pair. */
.mi-research-cards { margin: 0 0 22px; padding: 20px; border: 1px solid rgba(255, 214, 118, .34); border-radius: 16px; background: linear-gradient(145deg, rgba(75, 8, 21, .92), rgba(22, 7, 13, .96)); box-shadow: 0 16px 42px rgba(0, 0, 0, .28); }
.mi-research-cards[hidden] { display: none; }
.mi-research-cards__head { margin-bottom: 14px; }
.mi-research-cards__head h2 { margin: 4px 0 0; color: #fff1cc; font-size: clamp(20px, 3vw, 28px); }
.mi-research-cards__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mi-hero .mi-post-close-summary { display: grid; gap: 12px; max-width: min(780px, 100%); margin: 26px 0 0; padding: 0; border: 0; background: transparent; }
.mi-post-close-summary[hidden] { display: none; }
.mi-post-close-summary__head { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.mi-post-close-summary__head h2 { margin: 0; color: #f8fafc; font-size: clamp(24px, 2.2vw, 32px); }
.mi-post-close-summary__head .sa-eyebrow { margin: 0; }
.mi-post-close-summary__lead { margin: 0; color: rgba(248, 250, 252, .96); font-size: 20px; font-weight: 700; line-height: 1.7; }
.mi-post-close-summary__points { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: rgba(241, 245, 249, .94); font-size: 18px; }
.mi-post-close-summary__points li { padding-left: 18px; position: relative; line-height: 1.65; }
.mi-post-close-summary__points li::before { content: ''; position: absolute; left: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: #7dd3fc; }
.mi-post-close-summary__meta { color: #bfdbfe; font-size: 15px; font-weight: 700; }
.mi-research-card { min-width: 0; padding: 15px; border: 1px solid rgba(255, 225, 158, .26); border-radius: 12px; background: rgba(12, 8, 11, .64); }
.mi-research-card__label { display: inline-block; margin: 0 0 7px; padding: 4px 9px; border-radius: 999px; color: #4c1708; background: #e6bd63; font-size: 13px; font-weight: 800; }
.mi-research-card h3 { margin: 0; color: #fff5d9; font-size: 19px; line-height: 1.38; }
.mi-research-card__summary { min-height: 3.2em; margin: 9px 0 12px; color: rgba(255, 245, 222, .86); line-height: 1.65; }
.mi-research-card__image { display: block; width: 100%; height: auto; border-radius: 9px; border: 1px solid rgba(255, 225, 158, .18); background: #13080d; }
.mi-research-card__cutoff, .mi-research-card__disclaimer { margin: 10px 0 0; color: rgba(255, 237, 198, .68); font-size: 12px; line-height: 1.55; }
.mi-research-card__sources { margin: 8px 0 0; padding-left: 18px; }
.mi-research-card__sources a { color: #f3ca73; font-size: 12px; overflow-wrap: anywhere; }
.home-daily-card-link { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; margin-top: 12px; padding: 11px 14px; border: 1px solid rgba(230, 189, 99, .32); border-radius: 10px; color: #fff1cc; background: rgba(75, 8, 21, .48); text-decoration: none; }
.home-daily-card-link strong { color: #f3ca73; }
.home-daily-card-link span { color: rgba(255, 245, 222, .74); font-size: 13px; }
.home-daily-card-link:hover { border-color: rgba(243, 202, 115, .72); }

@media (max-width: 680px) {
  .mi-research-cards { margin-bottom: 16px; padding: 14px; }
  .mi-hero .mi-post-close-summary { gap: 10px; margin-top: 20px; }
  .mi-post-close-summary__head h2 { font-size: 24px; }
  .mi-post-close-summary__lead { font-size: 18px; }
  .mi-post-close-summary__points { gap: 8px; font-size: 16px; }
  .mi-research-cards__grid { grid-template-columns: 1fr; }
  .mi-research-card { padding: 12px; }
}

/* P74/P75 Research Radar MVP and quality layer */
.radar-page {
  color: #f5efe3;
}

.radar-main {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 64px;
}

.radar-hero,
.radar-meta,
.radar-state,
.radar-premium-note,
.radar-card {
  border: 1px solid rgba(190, 216, 255, 0.22);
  background:
    linear-gradient(145deg, rgba(21, 35, 58, 0.72), rgba(7, 12, 22, 0.82)),
    rgba(8, 14, 24, 0.76);
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px);
}

.radar-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 52px);
  border-radius: 32px;
}

.radar-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -45% 40%;
  height: 240px;
  background: radial-gradient(circle, rgba(216, 181, 109, 0.28), transparent 62%);
  pointer-events: none;
}

.radar-hero h1 {
  margin: 8px 0 12px;
  font-size: clamp(2.2rem, 6vw, 4.6rem);
  letter-spacing: 0.16em;
  color: #f4d69a;
  text-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.radar-hero p {
  max-width: 760px;
  color: rgba(245, 239, 227, 0.82);
  line-height: 1.8;
}

.radar-disclaimer,
.radar-api-note {
  color: rgba(222, 231, 246, 0.72);
  font-size: 0.92rem;
}

.radar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
  padding: 14px;
  border-radius: 20px;
}

.radar-meta span {
  border: 1px solid rgba(216, 181, 109, 0.22);
  border-radius: 999px;
  padding: 8px 12px;
  color: rgba(245, 239, 227, 0.84);
  background: rgba(255, 255, 255, 0.05);
}

.radar-tabs-wrap {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 18px;
  align-items: start;
}

.radar-category {
  display: contents;
}

.radar-tab {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  border: 1px solid rgba(190, 216, 255, 0.18);
  border-radius: 18px;
  padding: 14px 16px;
  color: rgba(245, 239, 227, 0.76);
  background: rgba(8, 14, 24, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  cursor: pointer;
}

.radar-category.is-active .radar-tab,
.radar-tab:hover {
  color: #fff7e7;
  border-color: rgba(216, 181, 109, 0.48);
  background: linear-gradient(145deg, rgba(68, 50, 29, 0.72), rgba(20, 31, 51, 0.82));
}

.radar-tab b {
  min-width: 30px;
  border-radius: 999px;
  padding: 4px 8px;
  color: #1a1309;
  background: linear-gradient(180deg, #f5d69b, #b98b4e);
}

.radar-panel {
  grid-column: 2;
  grid-row: 1 / span 5;
}

.radar-description {
  margin: 0 0 14px;
  color: rgba(222, 231, 246, 0.74);
  line-height: 1.7;
}

.radar-condition {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  border: 1px solid rgba(216, 181, 109, 0.22);
  border-radius: 18px;
  padding: 12px 14px;
  color: rgba(245, 239, 227, 0.82);
  background: rgba(216, 181, 109, 0.07);
  line-height: 1.65;
}

.radar-condition strong {
  color: #f4d69a;
}

.radar-premium-chip {
  border-radius: 999px;
  padding: 3px 8px;
  color: #1a1309;
  background: linear-gradient(180deg, #f5d69b, #b98b4e);
  font-size: 0.78rem;
  font-weight: 800;
}

.radar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.radar-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-radius: 24px;
  padding: 18px;
}

.radar-card__top,
.radar-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.radar-card__top a {
  display: grid;
  gap: 3px;
  text-decoration: none;
  color: inherit;
}

.radar-card__top strong {
  font-size: 1.08rem;
  color: #fff7e7;
}

.radar-card__top span,
.radar-card__rank,
.radar-card__badges {
  color: rgba(222, 231, 246, 0.68);
}

.radar-card__top b {
  color: #f4d69a;
  font-size: 1.35rem;
}

.radar-card__reason {
  color: rgba(245, 239, 227, 0.84);
  line-height: 1.6;
}

.radar-card__badges,
.radar-also {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.radar-card__badges span,
.radar-also span,
.radar-also b {
  border-radius: 999px;
  padding: 5px 9px;
  color: rgba(245, 239, 227, 0.78);
  background: rgba(255, 255, 255, 0.06);
}

.radar-strength {
  color: #1a1309 !important;
  background: linear-gradient(180deg, #f5d69b, #b98b4e) !important;
  font-weight: 800;
}

.radar-evidence {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.radar-evidence li {
  position: relative;
  padding-left: 16px;
  color: rgba(222, 231, 246, 0.76);
  font-size: 0.92rem;
  line-height: 1.55;
}

.radar-evidence li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f4d69a;
  box-shadow: 0 0 10px rgba(244, 214, 154, 0.42);
}

.radar-also {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 10px;
}

.radar-also span {
  color: rgba(222, 231, 246, 0.62);
  background: transparent;
  padding-left: 0;
}

.radar-also b {
  color: #bfe3ff;
  font-size: 0.78rem;
}

.radar-card__meta span {
  border-radius: 999px;
  padding: 6px 10px;
  color: rgba(245, 239, 227, 0.78);
  background: rgba(255, 255, 255, 0.06);
}

.radar-card__link {
  margin-top: auto;
  text-decoration: none;
  color: #f4d69a;
}

.radar-state,
.radar-premium-note {
  margin-top: 18px;
  border-radius: 24px;
  padding: 24px;
}

.radar-state.is-error {
  border-color: rgba(255, 122, 122, 0.38);
}

.radar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.radar-page .js-premium-gate {
  position: relative;
}

@media (max-width: 760px) {
  .radar-main {
    width: min(100% - 20px, 1180px);
    padding-top: 24px;
  }

  .radar-tabs-wrap,
  .radar-grid {
    display: block;
  }

  .radar-panel {
    grid-column: auto;
    grid-row: auto;
    margin-bottom: 16px;
  }

  .radar-card {
    margin-bottom: 12px;
  }

  .radar-card__top,
  .radar-card__meta {
    align-items: flex-start;
  }

  .radar-condition,
  .radar-card__top,
  .radar-card__meta {
    flex-direction: column;
  }
}

html { background: var(--gs-bg-deep); }

body.michelle-theme,
body.michelle-theme.home-page,
body.michelle-theme.p19-rank-page,
body.michelle-theme.stock-analysis-page,
body.michelle-theme.member-center-page {
  min-height: 100vh;
  color: var(--gs-text-main);
  background:
    radial-gradient(circle at 82% 18%, rgba(46, 115, 255, 0.3), transparent 34%),
    radial-gradient(circle at 8% 44%, rgba(38, 121, 214, 0.2), transparent 36%),
    linear-gradient(135deg, #020817 0%, #06142e 42%, #0b2f75 100%) !important;
  background-attachment: fixed;
}

.brand-tagline,
.gs-brand__tagline { color: var(--gs-gold) !important; }

.gs-glass-card,
.home-entry-card,
.p30-home-panel,
.market-card,
.p19-full-rank-card,
.p64-ranking-changes,
.p19-rk-board,
.watchlist-card,
.member-card,
.sa-summary,
.sa-chart-card,
.sa-highlights-panel,
.sa-structure-panel,
.sa-risk-compact-panel,
.sa-accordion,
.sa-credibility-footer {
  position: relative;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.035)),
    linear-gradient(rgba(6, 18, 45, 0.86), rgba(6, 18, 45, 0.86)) !important;
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  border: 1px solid var(--gs-glass-border) !important;
  border-radius: 16px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -1px 0 rgba(0, 0, 0, 0.28),
    0 14px 32px rgba(0, 0, 0, 0.24),
    0 0 0 1px rgba(80, 170, 255, 0.06);
}

.home-entry-card::before,
.p30-home-panel::before,
.p19-full-rank-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), transparent 26%),
    radial-gradient(circle at 18% 0%, rgba(120, 210, 255, 0.18), transparent 28%);
  opacity: 0.7;
}

.home-entry-card > *,
.p30-home-panel > *,
.p19-full-rank-card > * { position: relative; z-index: 1; }

.home-entry-card,
.p19-full-rank-card {
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.home-entry-card:hover,
.p19-full-rank-card:hover {
  transform: translateY(-2px);
  border-color: rgba(180, 225, 255, 0.38) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    0 18px 38px rgba(0, 0, 0, 0.32),
    0 0 18px rgba(68, 166, 255, 0.16);
}

.search-submit,
.home-hero-search button,
.sa-search button,
.p19-rank-search button,
.sl-register-link,
.member-primary-action,
.watchlist-primary-action {
  min-height: 44px;
  position: relative;
  border: 1px solid rgba(185, 220, 255, 0.55) !important;
  border-radius: 14px;
  color: #fff !important;
  font-weight: 800;
  background: linear-gradient(135deg, #46b4ff 0%, #3a70ff 46%, #8458ff 100%) !important;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.58),
    inset 0 -3px 6px rgba(18, 38, 120, 0.48),
    0 8px 18px rgba(18, 80, 220, 0.34),
    0 0 18px rgba(102, 180, 255, 0.28);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.search-submit:hover,
.home-hero-search button:hover,
.sa-search button:hover,
.p19-rank-search button:hover,
.sl-register-link:hover,
.member-primary-action:hover,
.watchlist-primary-action:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.search-submit:active,
.home-hero-search button:active,
.sa-search button:active,
.p19-rank-search button:active,
.sl-register-link:active,
.member-primary-action:active,
.watchlist-primary-action:active {
  transform: translateY(1px) scale(0.985);
  filter: brightness(0.88);
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.48), 0 3px 8px rgba(0, 0, 0, 0.26);
}

.home-hero-search,
.search-shell {
  position: relative;
  border: 1px solid rgba(170, 215, 255, 0.28) !important;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)), linear-gradient(rgba(2, 10, 30, 0.72), rgba(2, 10, 30, 0.72)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -2px 6px rgba(0,0,0,0.32), 0 12px 28px rgba(0,0,0,0.24);
  padding: 6px;
}

.home-hero-search form { margin: 0; }
.home-hero-search input { min-width: 0; background: transparent !important; border: 0 !important; }

.home-entry-section { width: min(1120px, calc(100% - 32px)); margin: 8px auto 72px; }
.home-entry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-entry-card { min-height: 190px; padding: 24px; color: var(--gs-text-main); text-decoration: none; display: flex; flex-direction: column; justify-content: space-between; }
.home-entry-card__icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--gs-gold-soft); border-radius: 12px; color: var(--gs-gold); font-weight: 900; }
.home-entry-card h2 { margin: 22px 0 8px; font-size: 1.35rem; color: #fff; }
.home-entry-card p { margin: 0; color: var(--gs-text-soft); line-height: 1.65; }
.home-entry-card > b { align-self: flex-end; color: #8ed7ff; }
.home-entry-grid.is-three-entry { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-entry-card--market-overview { grid-column: 1 / -1; min-height: 210px; }
.home-entry-card__copy { display: grid; gap: 8px; }
.home-entry-card__label,
.home-entry-card__meta { color: var(--gs-text-muted); font-size: .78rem; line-height: 1.45; }
.home-entry-card__label { color: #efd291; font-weight: 800; letter-spacing: .05em; }
.home-entry-card__availability { color: #f3ca73; font-size: .8rem; font-weight: 800; line-height: 1.45; }
.home-entry-card__action { margin-top: 18px; color: #8ed7ff; font-size: .92rem; }

.p19-rk-meta:empty { display: none; }
.p19-rk-last-updated {
  margin-top: 10px !important;
  color: rgba(214, 232, 249, .7) !important;
  font-size: .78rem !important;
  font-weight: 700;
  letter-spacing: .02em;
}
.p19-full-rank-card { display: flex !important; flex-direction: column; gap: 16px; overflow: hidden; }
.p19-rk-tags,
.p19-full-rank-card > footer { display: none !important; }
.p58-ranking-reasons ul { margin-bottom: 0; }
.p71-ranking-risk { border-left: 2px solid #d8b56d; padding-left: 12px; }
.p71-ranking-risk strong { color: #efd291; }
.p71-ranking-risk p { margin: 4px 0 0; color: var(--gs-text-soft); }
.p71-ranking-link { margin-top: auto; color: #86d5ff; font-weight: 800; }

/* P-RANKING-UX: one-glance desktop rows and mobile mini cards. */
.p19-full-rank-grid {
  display: grid;
  gap: 8px;
}

.p80-compact-rank-row {
  display: grid !important;
  grid-template-columns: minmax(190px, 1.35fr) minmax(96px, .55fr) minmax(140px, .8fr) minmax(210px, 1.35fr) minmax(120px, .7fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  min-height: 68px;
  padding: 12px 16px;
  overflow: hidden;
}

.p80-minimal-rank-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  min-height: 62px;
}

.p80-ranking-card { position: relative; min-width: 0; container-type: inline-size; }
.p80-ranking-card .p80-minimal-rank-row { padding-right: 48px; }
.p80-ranking-card .p80-tracking-row { padding-right: 48px; }
.p80-ranking-watchlist-add {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  display: inline-grid;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(134, 213, 255, .48);
  border-radius: 50%;
  background: rgba(11, 35, 67, .94);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .24);
  color: #9fddff;
  cursor: pointer;
  font-size: 0;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.p80-ranking-watchlist-add::after { content: '＋'; font-size: 18px; font-weight: 800; line-height: 1; }
.p80-ranking-watchlist-add:hover { transform: translateY(-1px); border-color: #f3d9a2; color: #f3d9a2; }
.p80-ranking-watchlist-add:focus-visible { outline: 3px solid rgba(134, 213, 255, .92); outline-offset: 2px; }
.p80-ranking-watchlist-add.is-added { border-color: rgba(141, 227, 178, .72); background: rgba(33, 105, 76, .88); color: #b8f4ce; cursor: default; }
.p80-ranking-watchlist-add.is-added::after { content: '✓'; font-size: 15px; }
.p80-ranking-watchlist-add.is-loading::after { content: '…'; font-size: 16px; }
.p80-ranking-watchlist-add.is-error { border-color: rgba(250, 126, 126, .72); color: #ffb1b1; }
.p80-ranking-watchlist-add.is-error::after { content: '!'; font-size: 16px; }

.p80-tracking-row { grid-template-columns: minmax(190px, 1.3fr) minmax(354px, 2.4fr) minmax(128px, .9fr); }
.p80-tracking-metrics { display: grid; grid-template-columns: repeat(3, minmax(118px, 1fr)); gap: 14px; min-width: 0; }
.p80-ranking-tracking-status { display: grid; gap: 3px; min-width: 0; }
.p80-ranking-tracking-status span { color: var(--gs-text-muted); font-size: 11px; font-weight: 700; }
.p80-ranking-tracking-status.is-current strong { color: #8de3b2; }
.p80-ranking-tracking-status.is-off-list strong { color: #d4b879; }

@media (max-width: 1420px) {
  .p80-tracking-row {
    grid-template-columns: minmax(170px, 1.25fr) minmax(264px, 2.16fr);
  }
  .p80-tracking-metrics { grid-template-columns: repeat(3, minmax(88px, 1fr)); }
  .p80-tracking-row .p80-ranking-tracking-status {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    text-align: right;
  }
}

@container (max-width: 820px) {
  .p80-tracking-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); }
  .p80-tracking-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .p80-tracking-row .p80-ranking-tracking-status {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    padding-right: 48px;
    text-align: left;
  }
}

.p80-minimal-rank-row .p80-ranking-identity strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.p80-compact-rank-row[href] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}
.p80-compact-rank-row[href]:focus-visible {
  outline: 3px solid rgba(134, 213, 255, .9);
  outline-offset: 2px;
}

.p80-ranking-identity,
.p80-ranking-score,
.p80-ranking-foreign,
.p80-ranking-confidence,
.p80-ranking-observation,
.p80-ranking-risk,
.p80-ranking-action {
  min-width: 0;
}

.p80-ranking-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.p80-ranking-identity b,
.p80-ranking-score strong {
  color: #f3d9a2;
}

.p80-ranking-identity strong,
.p80-ranking-observation strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p80-ranking-score,
.p80-ranking-foreign,
.p80-ranking-confidence,
.p80-ranking-observation,
.p80-ranking-risk {
  display: grid;
  gap: 3px;
}

.p80-compact-rank-row span {
  color: var(--gs-text-muted);
  font-size: 11px;
  font-weight: 700;
}

.p80-compact-rank-row strong {
  overflow-wrap: anywhere;
}

.p80-ranking-foreign strong {
  color: #93e0b7;
}

.p80-ranking-confidence strong,
.p80-ranking-risk strong {
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid rgba(216, 181, 109, .25);
  border-radius: 999px;
  background: rgba(216, 181, 109, .08);
  font-size: 12px;
}

.p80-ranking-action .p71-ranking-link {
  white-space: nowrap;
  text-decoration: none;
}

@media (max-width: 640px) {
  .p19-full-rank-grid { gap: 10px; }

  .p80-compact-rank-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    min-width: 0;
    min-height: 0;
    padding: 14px;
    border-radius: 14px;
  }

  .p80-ranking-identity { grid-column: 1; }
  .p80-ranking-score { grid-column: 2; grid-row: 1; text-align: right; }
  .p80-ranking-foreign { grid-column: 1; grid-row: 2; display: flex; align-items: center; gap: 6px; }
  .p80-compact-rank-row span { font-size: 13px; line-height: 1.45; }
  .p80-compact-rank-row strong { font-size: 16px; line-height: 1.45; }
  .p80-compact-rank-row .p80-ranking-tracking-status span { font-size: 13px; }
  .p80-tracking-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "identity"
      "metrics"
      "status";
    gap: 12px;
  }
  .p80-tracking-identity { grid-area: identity; }
  .p80-tracking-metrics { grid-area: metrics; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
  .p80-tracking-metrics .p80-ranking-score { grid-column: auto; grid-row: auto; text-align: left; }
  .p80-tracking-metrics .p80-ranking-score:last-child { grid-column: 1 / -1; }
  .p80-tracking-row .p80-ranking-tracking-status { grid-column: 1 / -1; grid-area: status; grid-row: auto; text-align: left; }
  .p80-ranking-confidence,
  .p80-ranking-risk { display: flex; align-items: center; gap: 6px; }
  .p80-ranking-observation { grid-column: 1 / -1; }
  .p80-ranking-observation strong { white-space: normal; }
  .p80-ranking-action { grid-column: 2; grid-row: 2; justify-self: end; }
}

.sa-credibility-footer { margin-top: 28px; }
.sa-bottom-risk-detail { margin-top: 18px; padding: 18px; border: 1px solid var(--gs-glass-border-soft); border-radius: 14px; }
.sa-credibility-legal { line-height: 1.75; }

.brand-footer { gap: 6px; padding-inline: 20px; }
.gs-footer-disclaimer { width: min(920px, 100%); margin: 10px auto 0; color: var(--gs-text-muted); font-size: 0.82rem; line-height: 1.65; text-align: center; }

@media (max-width: 900px) {
  .home-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  body.michelle-theme { background-attachment: scroll; overflow-x: hidden; }
  .home-entry-section { width: min(100% - 24px, 390px); margin-bottom: 48px; }
  .home-entry-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-entry-grid.is-three-entry { grid-template-columns: 1fr; }
  .home-entry-card { min-height: 158px; padding: 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 10px 22px rgba(0,0,0,.22); }
  .home-entry-card--market-overview { grid-column: auto; min-height: 190px; }
  .home-hero-search { width: 100%; max-width: 100%; box-sizing: border-box; }
  .home-hero-search form { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .home-hero-search button { min-width: 78px; }
  .p19-full-rank-card { margin-inline: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(0,0,0,.22); }
  .p19-full-rank-head { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .brand-footer { overflow-wrap: anywhere; }
}

/* Public editorial cards: only published same-date cards are rendered by JavaScript. */
.mi-editorial-cards { margin: 0 0 22px; padding: 20px; border: 1px solid rgba(119, 196, 255, .36); border-radius: 16px; background: linear-gradient(145deg, rgba(7, 34, 69, .94), rgba(8, 17, 42, .97)); box-shadow: 0 16px 42px rgba(0, 0, 0, .28); }
.mi-editorial-cards[hidden] { display: none; }
.mi-editorial-cards__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mi-editorial-card { overflow: hidden; border: 1px solid rgba(124, 188, 244, .3); border-radius: 12px; padding: 14px; background: rgba(4, 15, 37, .52); }
.mi-editorial-card h3 { margin: 0 0 8px; color: #fff1cc; font-size: 22px; }
.home-editorial-cards { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 14px; }
.home-editorial-brief { display: grid; grid-template-columns: 108px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-width: 0; padding: 14px 16px; border: 1px solid rgba(119, 196, 255, .34); border-left: 3px solid #e6bd63; border-radius: 12px; color: #edf6ff; background: linear-gradient(100deg, rgba(38, 28, 23, .72), rgba(7, 29, 61, .70)); text-decoration: none; }
.home-editorial-brief:hover { border-color: rgba(185, 224, 255, .66); border-left-color: #ffe09a; }
.home-editorial-brief__slot { color: #f3ca73; font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.home-editorial-brief__copy { display: grid; gap: 4px; min-width: 0; }
.home-editorial-brief strong { overflow: hidden; color: #fff1cc; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.home-editorial-brief small { overflow: hidden; color: rgba(233, 244, 255, .78); font-size: 13px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.home-editorial-brief__meta { color: #8fd7ff; font-size: 12px; font-weight: 700; text-align: right; white-space: nowrap; }
@media (max-width: 680px) { .mi-editorial-cards__grid { grid-template-columns: 1fr; } .home-editorial-brief { grid-template-columns: 1fr; gap: 6px; padding: 13px 14px; } .home-editorial-brief__meta { text-align: left; } .home-editorial-brief strong, .home-editorial-brief small { white-space: normal; } }

/* Public daily cards: one exact selected date is requested at a time. */
.daily-cards-main { width: min(1460px, calc(100% - 40px)); margin: 30px auto 48px; }
.daily-cards-hero, .daily-cards-content { border: 1px solid rgba(119, 196, 255, .36); border-radius: 16px; background: linear-gradient(145deg, rgba(7, 34, 69, .94), rgba(8, 17, 42, .97)); box-shadow: 0 16px 42px rgba(0, 0, 0, .28); }
.daily-cards-hero { padding: 26px; }
.daily-cards-hero h1 { margin: 0 0 8px; color: #fff1cc; }
.daily-cards-hero > p:not(.sa-eyebrow) { margin: 0; color: rgba(233, 244, 255, .78); }
.daily-cards-tabs { display: flex; gap: 9px; margin-top: 20px; overflow-x: auto; }
.daily-cards-tab { flex: 0 0 auto; border: 1px solid rgba(119, 196, 255, .34); border-radius: 999px; padding: 9px 16px; color: #ddecff; background: rgba(4, 15, 37, .52); font: inherit; cursor: pointer; }
.daily-cards-tab[aria-selected="true"] { border-color: #f3ca73; color: #fff1cc; background: rgba(105, 66, 18, .62); }
.daily-cards-content { min-height: 170px; margin-top: 18px; padding: 20px; }
.daily-cards-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.daily-cards-card { overflow: hidden; border: 1px solid rgba(124, 188, 244, .3); border-radius: 12px; padding: 16px; background: rgba(4, 15, 37, .52); }
.daily-cards-card__label { margin: 0 0 8px; color: #f3ca73; font-weight: 700; }
.daily-cards-card h2 { margin: 0 0 10px; color: #fff1cc; font-size: 22px; }
.daily-cards-card__body { margin: 0 0 14px; color: rgba(233, 244, 255, .84); line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.daily-cards-card__image { display: block; width: 100%; height: auto; border-radius: 8px; }
.daily-cards-card__meta, .daily-cards-notice { margin: 14px 0 0; color: #8fd7ff; }
.daily-cards-notice { text-align: center; }
@media (max-width: 760px) { .daily-cards-main { width: min(100% - 24px, 1460px); margin-top: 18px; } .daily-cards-hero, .daily-cards-content { padding: 16px; } .daily-cards-grid { grid-template-columns: 1fr; } }

/* P71-J: unmistakable brand lockup on a leather notebook desktop. */
body.michelle-theme.home-page {
  position: relative;
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 3%, rgba(107,61,35,.46), transparent 20%),
    radial-gradient(circle at 94% 3%, rgba(92,52,31,.42), transparent 20%),
    radial-gradient(circle at 50% 34%, rgba(28,70,118,.38), transparent 40%),
    linear-gradient(135deg, #030711 0%, #071427 38%, #0b223f 100%) !important;
}

body.michelle-theme.home-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(38deg, rgba(255,255,255,.032) 0, rgba(255,255,255,.032) 1px, transparent 1px, transparent 5px),
    repeating-linear-gradient(128deg, rgba(0,0,0,.17) 0, rgba(0,0,0,.17) 1px, transparent 1px, transparent 8px),
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.065), transparent 48%);
  opacity: .78;
}

body.michelle-theme.home-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(86,45,24,.54), transparent 17%),
    linear-gradient(225deg, rgba(86,45,24,.46), transparent 17%),
    linear-gradient(315deg, rgba(58,30,18,.34), transparent 15%),
    linear-gradient(45deg, rgba(58,30,18,.32), transparent 15%),
    radial-gradient(circle at 50% 56%, transparent 0%, rgba(0,0,0,.38) 100%);
  opacity: .94;
}

.home-page .p19-home,
.home-page .p30-home-minimal,
.home-page .p30-home-main,
.home-page .p30-home-landing,
.home-page .home-entry-section {
  background: transparent !important;
}

.home-page .p30-home-panel.home-brand-hero {
  width: min(900px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  padding: clamp(44px, 6vh, 72px) 20px 18px !important;
  overflow: visible;
  isolation: auto;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none !important;
  text-align: center;
}

.home-page .p30-home-panel.home-brand-hero::before,
.home-page .p30-home-panel.home-brand-hero::after { display: none; }

.home-brand-lockup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 auto;
}

.home-brand-emblem {
  width: clamp(72px, 6vw, 88px);
  height: clamp(72px, 6vw, 88px);
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(216,181,109,.42);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.04)), linear-gradient(145deg, rgba(52,124,210,.72), rgba(12,28,58,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46), inset 0 -4px 8px rgba(0,0,0,.42), 0 14px 30px rgba(0,0,0,.38), 0 0 22px rgba(216,181,109,.18);
}

.home-brand-logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 26%;
  transform: scale(1.65);
  transform-origin: 50% 28%;
  filter: saturate(1.08) contrast(1.04);
}

.home-brand-text { text-align: left; }

.home-brand-text h1 {
  margin: 0;
  color: #f3d9a2 !important;
  font-size: clamp(64px, 7vw, 82px) !important;
  line-height: .95;
  font-weight: 900;
  letter-spacing: .08em;
  text-shadow: 0 2px 0 rgba(85,55,28,.48), 0 8px 22px rgba(0,0,0,.46), 0 0 18px rgba(216,181,109,.24);
}

.home-brand-text span {
  display: block;
  margin-top: 7px;
  color: rgba(243,217,162,.90);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 750;
  letter-spacing: .10em;
}

.home-brand-subtitle {
  margin: 18px auto 0;
  color: #f0dcc0 !important;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 650;
  letter-spacing: .18em;
  text-shadow: 0 3px 12px rgba(0,0,0,.46);
}

.home-page .home-hero-search {
  width: min(580px, 100%);
  min-height: 48px;
  margin-top: 22px;
  padding: 3px;
  opacity: .90;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 -2px 6px rgba(0,0,0,.38), 0 10px 22px rgba(0,0,0,.24), 0 0 16px rgba(80,160,255,.12) !important;
}

.home-page .home-hero-search form { min-height: 44px; }
.home-page .home-hero-search input { min-height: 44px; }
.home-page .home-hero-search button { min-width: 96px; min-height: 38px; height: 38px; }

.home-page .p30-home-landing { margin-bottom: 0; }
.home-page .home-entry-grid { margin-top: clamp(36px, 5vh, 56px); }

.home-page .sl-brand.brand-lockup { gap: 10px; }

.home-header-emblem {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(216,181,109,.28);
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 6px 14px rgba(0,0,0,.24);
}

.home-header-emblem .brand-logo {
  width: 100% !important;
  height: 100% !important;
  min-width: 0;
  max-width: none;
  object-fit: cover;
  object-position: 50% 26%;
  transform: scale(1.65);
  transform-origin: 50% 28%;
}

.home-page .sl-brand .brand-name {
  color: #f3d9a2 !important;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: .04em;
}

.home-page .sl-brand .brand-tagline {
  display: block;
  color: rgba(243,217,162,.82) !important;
  font-size: 13px;
  letter-spacing: .06em;
}

@media (max-width: 640px) {
  .home-page .p30-home-panel.home-brand-hero { padding-top: 34px !important; }
  .home-brand-lockup { flex-direction: column; gap: 10px; }
  .home-brand-emblem { width: 72px; height: 72px; border-radius: 17px; }
  .home-brand-text { text-align: center; }
  .home-brand-text h1 { font-size: 52px !important; }
  .home-brand-text span { text-align: center; font-size: 15px; }
  .home-brand-subtitle { padding: 0 18px; font-size: 15px; letter-spacing: .10em; line-height: 1.65; }
  .home-page .home-hero-search { width: min(100%, 340px); }
  .home-page .home-entry-grid { margin-top: 36px; }
  .home-header-emblem { width: 42px; height: 42px; flex-basis: 42px; }
  .home-page .sl-brand .brand-name { font-size: 22px; }
  .home-page .sl-brand .brand-tagline { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-entry-card,
  .p19-full-rank-card,
  .search-submit { transition: none; scroll-behavior: auto; }
}

/* P71-G: readable hierarchy and compact stock HERO. */
body.michelle-theme {
  --text-primary: var(--lux-text-main);
  --text-secondary: var(--lux-text-soft);
  --text-muted: var(--lux-text-muted);
  --text-link: var(--lux-text-link);
  color: var(--lux-text-main);
}

body.michelle-theme h1,
body.michelle-theme h2,
body.michelle-theme h3 { color: var(--lux-text-strong); }

body.michelle-theme small,
body.michelle-theme .muted,
body.michelle-theme .meta-text { color: var(--lux-text-muted); }

.home-entry-card p,
.p19-full-rank-card p,
.mi-card p,
.mi-signal-card p,
.p59-summary p,
.p59-watch-card p,
.p67-card p,
.sa-summary p,
.sa-chart-card p,
.sa-accordion p { color: var(--lux-text-soft); }

.home-entry-card h2,
.p19-full-rank-card h3,
.mi-card h2,
.mi-card h3,
.p59-watch-card h3,
.p67-card h2,
.sa-accordion h2,
.sa-accordion h3 { color: var(--lux-text-strong); font-weight: 800; }

.home-entry-card,
.p19-full-rank-card,
.p64-ranking-change-column,
.mi-card,
.mi-signal-card,
.p59-summary,
.p59-watch-card,
.p67-card,
.sa-summary,
.sa-chart-card,
.sa-highlights-panel,
.sa-structure-panel,
.sa-risk-compact-panel,
.sa-accordion,
.sa-credibility-footer,
.stock-hero-panel,
.stock-score-focus,
.stock-mini-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.085) 36%, rgba(4,12,34,0.58) 100%) !important;
  border-color: rgba(178,222,255,0.42) !important;
  border-radius: 18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.40),
    inset 0 -1px 0 rgba(0,0,0,0.48),
    inset 0 0 0 1px rgba(120,210,255,0.14),
    0 18px 36px rgba(0,0,0,0.40),
    0 0 22px rgba(74,176,255,0.18) !important;
}

.stock-hero-panel,
.stock-score-focus,
.stock-mini-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
}

.stock-hero-panel::before,
.stock-score-focus::before,
.stock-mini-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(118deg, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0.10) 18%, transparent 39%, transparent 100%),
    radial-gradient(circle at 16% 0%, rgba(130,220,255,0.24), transparent 34%);
  opacity: 0.78;
}

.stock-hero-panel::after,
.stock-score-focus::after,
.stock-mini-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(155,220,255,0.28), inset 0 0 18px rgba(80,170,255,0.14);
}

.stock-hero-panel > *,
.stock-score-focus > *,
.stock-mini-card > * { position: relative; z-index: 1; }

.home-entry-card::before,
.p19-full-rank-card::before,
.p64-ranking-change-column::before,
.mi-card::before,
.mi-signal-card::before,
.p59-watch-card::before,
.p67-card::before,
.sa-summary::before,
.sa-chart-card::before,
.sa-accordion::before { opacity: 0.78; }

.home-entry-card::after,
.p19-full-rank-card::after,
.p64-ranking-change-column::after,
.mi-card::after,
.mi-signal-card::after,
.p59-watch-card::after,
.p67-card::after,
.sa-summary::after,
.sa-chart-card::after,
.sa-accordion::after {
  box-shadow: inset 0 0 0 1px rgba(155,220,255,0.28), inset 0 0 18px rgba(80,170,255,0.14);
}

.stock-analysis-page .stock-hero-clean {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  padding: clamp(18px, 2.4vw, 26px) !important;
  min-height: 0;
}

.stock-analysis-page .stock-hero-main {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 230px) minmax(260px, 1.2fr);
  gap: 16px;
  align-items: stretch;
}

.stock-analysis-page .stock-identity,
.stock-analysis-page .stock-hero-summary {
  min-width: 0;
  padding: 20px 22px;
}

.stock-analysis-page .stock-hero-kicker {
  margin: 0 0 8px;
  color: var(--lux-gold-light);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
}

.stock-analysis-page .stock-identity h1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 3vw, 38px) !important;
  line-height: 1.1;
}

.stock-analysis-page .stock-identity h1 span {
  color: var(--lux-text-muted);
  font-size: .55em;
  letter-spacing: .05em;
}

.stock-analysis-page .stock-sector {
  margin: 8px 0 0;
  color: var(--lux-text-muted);
  font-weight: 700;
}

.stock-analysis-page .stock-identity .sa-price-row {
  margin-top: 20px;
  gap: 10px;
}

.stock-analysis-page .stock-identity .sa-price-row strong {
  color: #fff;
  font-size: clamp(24px, 3vw, 36px) !important;
}

.stock-analysis-page .stock-score-focus {
  display: flex;
  min-height: 148px;
  padding: 20px;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.stock-analysis-page .stock-score-focus .score-label {
  color: var(--lux-text-soft);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}

.stock-analysis-page .stock-score-focus > strong {
  display: block;
  margin: 8px 0 6px;
  color: #fff;
  font-size: clamp(48px, 5vw, 76px) !important;
  line-height: 1;
  text-shadow: 0 0 14px rgba(120,200,255,0.42), 0 3px 12px rgba(0,0,0,0.38);
}

.stock-analysis-page .stock-score-focus small {
  color: var(--lux-text-soft);
  font-size: 13px;
  font-weight: 800;
}

.stock-analysis-page .stock-hero-summary {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stock-analysis-page .stock-hero-summary h2 {
  margin: 0 0 10px;
  font-size: 17px;
}

.stock-analysis-page .stock-hero-summary p {
  margin: 0;
  color: var(--lux-text-soft);
  font-size: 15px;
  line-height: 1.7;
}

.stock-analysis-page .stock-risk-level {
  align-self: flex-start;
  margin-top: 12px;
  color: #fde68a;
  font-size: 13px;
  font-weight: 800;
}

.stock-analysis-page .stock-hero-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.stock-analysis-page .stock-mini-card {
  min-height: 92px;
  padding: 15px 17px;
}

.stock-analysis-page .stock-mini-card > span {
  display: block;
  margin-bottom: 8px;
  color: var(--lux-text-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
}

.stock-analysis-page .stock-mini-card strong {
  color: #fff;
  font-size: 24px;
}

.stock-analysis-page .stock-mini-card small,
.stock-analysis-page .stock-mini-card p,
.stock-analysis-page .stock-mini-card li {
  color: var(--lux-text-soft);
  font-size: 13px;
  line-height: 1.55;
}

.stock-analysis-page .stock-mini-card ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
}

.stock-analysis-page .stock-hero-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.stock-analysis-page .sa-view-switch-wrap {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 8px 10px;
  border: 1px solid rgba(178,222,255,.30);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(4,12,34,.52));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -2px 6px rgba(0,0,0,.32), 0 10px 22px rgba(0,0,0,.24);
}

.stock-analysis-page .sa-view-switch {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(2, minmax(112px, 1fr));
  border-radius: 12px;
}

.stock-analysis-page .sa-view-switch button {
  position: relative;
  z-index: 2;
  min-height: 44px !important;
  color: var(--lux-text-soft) !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 800;
}

.stock-analysis-page .sa-view-switch button.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, #3478ff, #745cff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -3px 6px rgba(11,28,105,.55), 0 7px 15px rgba(32,88,220,.34) !important;
  text-shadow: 0 0 10px rgba(120,200,255,.36);
}

.stock-analysis-page .sa-view-switch-wrap > p {
  color: var(--lux-text-soft);
  font-size: 14px;
}

.home-entry-arrow {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(180,222,255,.32);
  border-radius: 12px;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.05) 30%), linear-gradient(135deg, #2874d8, #644ee7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52), inset 0 -3px 6px rgba(7,22,78,.55), 0 7px 16px rgba(10,48,145,.30);
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.home-entry-card:hover .home-entry-arrow { transform: translateY(-2px); filter: brightness(1.08); }
.home-entry-card:active .home-entry-arrow { transform: translateY(1px) scale(.985); filter: brightness(.86); box-shadow: inset 0 4px 8px rgba(0,0,0,.48), 0 2px 6px rgba(0,0,0,.24); }

@media (max-width: 760px) {
  .stock-analysis-page .stock-hero-main,
  .stock-analysis-page .stock-hero-support { grid-template-columns: 1fr; }
  .stock-analysis-page .stock-score-focus { min-height: auto; }
  .stock-analysis-page .stock-score-focus > strong { font-size: 52px !important; }
  .stock-analysis-page .stock-hero-actions { grid-column: auto; justify-content: stretch; }
  .stock-analysis-page .stock-hero-actions .sa-watch-btn { flex: 1; }
  .stock-analysis-page .sa-view-switch-wrap { grid-template-columns: 1fr; }
  .stock-analysis-page .sa-view-switch-wrap > p { margin: 0; font-size: 13px; }
  .stock-analysis-page .sa-view-switch button { min-height: 44px !important; }
}

/* P71-H + P71-I: homepage breathing room and black-gold entry cards. */
body.michelle-theme.home-page::before {
  background:
    radial-gradient(circle at 78% 16%, rgba(78,138,225,.10), transparent 30%),
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.035) 42%, transparent 58%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(45deg, rgba(0,0,0,.035) 0, rgba(0,0,0,.035) 1px, transparent 1px, transparent 9px);
  opacity: .56;
}

.home-page .p30-home-main {
  display: block;
  min-height: auto;
  padding-top: clamp(36px, 5vw, 64px);
  padding-bottom: clamp(56px, 7vw, 92px);
}

.home-page .p30-home-landing {
  margin-bottom: clamp(36px, 5vw, 58px);
}

.home-page .p30-home-panel {
  padding: clamp(26px, 3.4vw, 40px) !important;
}

.home-page .home-hero-search {
  width: min(560px, 100%);
  margin: 24px auto 0;
  padding: 4px;
}

.home-page .home-hero-search form {
  min-height: 48px;
  align-items: center;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-page .home-hero-search input,
.home-page .home-hero-search button {
  min-height: 48px;
}

.home-page .home-entry-section {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.home-page .home-entry-grid {
  gap: 18px;
  align-items: stretch;
}

.home-page .home-entry-card {
  min-height: 142px;
  padding: 20px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 16px;
  border-radius: 18px;
  color: #f8fbff;
  background:
    linear-gradient(145deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.075) 34%, rgba(5,14,34,.62) 100%),
    radial-gradient(circle at 18% 0%, rgba(216,181,109,.12), transparent 34%),
    linear-gradient(rgba(5,14,34,.56), rgba(5,14,34,.56)) !important;
  border: 1px solid rgba(178,222,255,.40) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(120,210,255,.13),
    0 18px 36px rgba(0,0,0,.40),
    0 0 18px rgba(74,176,255,.16) !important;
}

.home-page .home-entry-card__icon {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 50%;
  color: #f3d9a2;
  font-size: 24px;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.42), transparent 32%),
    linear-gradient(145deg, rgba(216,181,109,.88), rgba(80,150,220,.34) 58%, rgba(8,18,42,.72));
  border: 1px solid rgba(243,217,162,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -3px 6px rgba(0,0,0,.34),
    0 8px 18px rgba(0,0,0,.28),
    0 0 14px rgba(216,181,109,.16);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.home-page .home-entry-card h2 {
  margin: 0 0 7px;
  color: #fff;
  font-weight: 850;
  letter-spacing: .03em;
  text-shadow: 0 1px 2px rgba(0,0,0,.42), 0 0 10px rgba(216,181,109,.12);
}

.home-page .home-entry-card p {
  color: #dce9ff;
  line-height: 1.58;
}

.home-page .home-entry-arrow {
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  align-self: flex-end;
  margin-left: auto;
  border-radius: 50%;
  color: #f3d9a2 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.045)),
    linear-gradient(rgba(6,18,42,.64), rgba(6,18,42,.64));
  border: 1px solid rgba(216,181,109,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -2px 5px rgba(0,0,0,.38),
    0 6px 14px rgba(0,0,0,.24),
    0 0 10px rgba(216,181,109,.12);
}

.home-page .home-entry-card:hover {
  transform: translateY(-3px);
  border-color: rgba(210,238,255,.56) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.19) 0%, rgba(255,255,255,.09) 34%, rgba(5,14,34,.60) 100%),
    radial-gradient(circle at 18% 0%, rgba(216,181,109,.18), transparent 36%),
    linear-gradient(rgba(5,14,34,.58), rgba(5,14,34,.58)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(120,210,255,.18),
    0 24px 46px rgba(0,0,0,.42),
    0 0 24px rgba(74,176,255,.20),
    0 0 16px rgba(216,181,109,.10) !important;
}

.home-page .home-entry-card:hover .home-entry-arrow {
  color: #fff !important;
  border-color: rgba(243,217,162,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.44), inset 0 -2px 5px rgba(0,0,0,.38), 0 8px 16px rgba(0,0,0,.28), 0 0 16px rgba(216,181,109,.24);
}

.home-page .home-entry-card:active {
  transform: translateY(1px) scale(.985);
  filter: brightness(.88);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.54), inset 0 0 0 1px rgba(100,200,255,.24), 0 4px 10px rgba(0,0,0,.28) !important;
}

.home-page .home-entry-card:active .home-entry-arrow {
  transform: translateY(1px) scale(.96);
  filter: brightness(.86);
  box-shadow: inset 0 3px 8px rgba(0,0,0,.52), 0 2px 5px rgba(0,0,0,.22);
}

@media (max-width: 900px) {
  .home-page .home-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .home-page .p30-home-main { padding-top: 24px; padding-bottom: 56px; }
  .home-page .p30-home-landing { margin-bottom: 32px; }
  .home-page .home-hero-search { width: 100%; }
  .home-page .home-hero-search form { grid-template-columns: minmax(0, 1fr) auto; }
  .home-page .home-hero-search button { width: auto; min-width: 76px; }
  .home-page .home-entry-section { width: min(100% - 24px, 390px); }
  .home-page .home-entry-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-page .home-entry-card { min-height: 128px; padding: 18px; }
}

/* P71-F: real DOM selector coverage and material depth. */
body.michelle-theme,
body.michelle-theme.home-page,
body.michelle-theme.p19-rank-page,
body.michelle-theme.stock-analysis-page,
body.michelle-theme.member-center-page {
  isolation: isolate;
  color: var(--lux-text-main);
  background:
    radial-gradient(circle at 84% 18%, rgba(45, 115, 255, 0.30), transparent 30%),
    radial-gradient(circle at 8% 40%, rgba(35, 132, 210, 0.18), transparent 34%),
    linear-gradient(135deg, var(--lux-bg-0) 0%, var(--lux-bg-1) 42%, var(--lux-bg-2) 100%) !important;
}

body.michelle-theme::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.035) 42%, transparent 58%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.018) 0, rgba(255,255,255,0.018) 1px, transparent 1px, transparent 7px);
  opacity: 0.48;
}

body.michelle-theme > * {
  position: relative;
  z-index: 1;
}

.lux-glass-card,
.home-entry-card,
.p30-home-panel,
.p19-full-rank-card,
.p64-ranking-changes,
.p64-ranking-change-column,
.mi-hero,
.mi-temperature-card,
.mi-card,
.mi-signal-card,
.mi-index-pill,
.rk-hero,
.p59-summary,
.p61-watchlist-alerts,
.rk-table-card,
.p59-watch-card,
.p67-login-state,
.p67-member-hero,
.p67-card,
.sa-summary,
.sa-chart-card,
.sa-highlights-panel,
.sa-structure-panel,
.sa-chip-flow-panel,
.sa-risk-compact-panel,
.sa-decision-brief,
.sa-accordion,
.sa-credibility-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(145deg, var(--lux-card-bg-top) 0%, var(--lux-card-bg-mid) 38%, var(--lux-card-bg-bottom) 100%) !important;
  border: 1px solid var(--lux-card-border) !important;
  border-radius: 16px;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.34),
    inset 0 -1px 0 rgba(0,0,0,0.42),
    inset 0 0 0 1px rgba(120,210,255,0.12),
    0 18px 36px rgba(0,0,0,0.38),
    0 0 20px rgba(74,176,255,0.16) !important;
}

.home-entry-card::before,
.p30-home-panel::before,
.p19-full-rank-card::before,
.p64-ranking-changes::before,
.p64-ranking-change-column::before,
.mi-hero::before,
.mi-temperature-card::before,
.mi-card::before,
.mi-signal-card::before,
.mi-index-pill::before,
.rk-hero::before,
.p59-summary::before,
.p61-watchlist-alerts::before,
.rk-table-card::before,
.p59-watch-card::before,
.p67-login-state::before,
.p67-member-hero::before,
.p67-card::before,
.sa-summary::before,
.sa-chart-card::before,
.sa-highlights-panel::before,
.sa-structure-panel::before,
.sa-chip-flow-panel::before,
.sa-risk-compact-panel::before,
.sa-decision-brief::before,
.sa-accordion::before,
.sa-credibility-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(118deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.08) 18%, transparent 38%, transparent 100%),
    radial-gradient(circle at 16% 0%, rgba(130,220,255,0.22), transparent 34%);
  opacity: 0.72;
}

.home-entry-card::after,
.p30-home-panel::after,
.p19-full-rank-card::after,
.p64-ranking-changes::after,
.p64-ranking-change-column::after,
.mi-hero::after,
.mi-temperature-card::after,
.mi-card::after,
.mi-signal-card::after,
.mi-index-pill::after,
.rk-hero::after,
.p59-summary::after,
.p61-watchlist-alerts::after,
.rk-table-card::after,
.p59-watch-card::after,
.p67-login-state::after,
.p67-member-hero::after,
.p67-card::after,
.sa-summary::after,
.sa-chart-card::after,
.sa-highlights-panel::after,
.sa-structure-panel::after,
.sa-chip-flow-panel::after,
.sa-risk-compact-panel::after,
.sa-decision-brief::after,
.sa-accordion::after,
.sa-credibility-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(155,220,255,0.24), inset 0 0 14px rgba(80,170,255,0.12);
}

.home-entry-card > *,
.p30-home-panel > *,
.p19-full-rank-card > *,
.p64-ranking-changes > *,
.p64-ranking-change-column > *,
.mi-hero > *,
.mi-temperature-card > *,
.mi-card > *,
.mi-signal-card > *,
.mi-index-pill > *,
.rk-hero > *,
.p59-summary > *,
.p61-watchlist-alerts > *,
.rk-table-card > *,
.p59-watch-card > *,
.p67-login-state > *,
.p67-member-hero > *,
.p67-card > *,
.sa-summary > *,
.sa-chart-card > *,
.sa-highlights-panel > *,
.sa-structure-panel > *,
.sa-chip-flow-panel > *,
.sa-risk-compact-panel > *,
.sa-decision-brief > *,
.sa-accordion > *,
.sa-credibility-footer > * {
  position: relative;
  z-index: 1;
}

.home-entry-card,
.p19-full-rank-card,
.p64-ranking-change-column,
.mi-treasure-entry,
.p59-watch-card,
.p67-quick-links a {
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

.home-entry-card:hover,
.p19-full-rank-card:hover,
.p64-ranking-change-column:hover,
.mi-treasure-entry:hover,
.p59-watch-card:hover,
.p67-quick-links a:hover {
  transform: translateY(-3px);
  border-color: var(--lux-card-border-strong) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.42),
    inset 0 -1px 0 rgba(0,0,0,0.46),
    inset 0 0 0 1px rgba(120,210,255,0.18),
    0 24px 46px rgba(0,0,0,0.42),
    0 0 24px rgba(74,176,255,0.22) !important;
}

.lux-btn-primary,
.search-submit,
.home-hero-search button,
.sa-search button,
.sl-login-link,
.sl-register-link,
.sa-watch-btn,
.wl-add-form button,
.wl-toolbar button,
.p59-controls button,
.p69-alert-actions button,
.member-primary-action,
.watchlist-primary-action {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 44px;
  border: 1px solid rgba(230,245,255,0.64) !important;
  border-radius: 14px;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .04em;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.28), rgba(255,255,255,0.04) 28%),
    linear-gradient(135deg, #42b8ff 0%, #3478ff 46%, #8b64ff 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -4px 8px rgba(11,28,105,0.62),
    inset 0 0 0 1px rgba(255,255,255,0.18),
    0 10px 22px rgba(22,84,220,0.42),
    0 0 24px rgba(132,96,255,0.36) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.38);
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.lux-btn-primary:hover,
.search-submit:hover,
.home-hero-search button:hover,
.sa-search button:hover,
.sl-login-link:hover,
.sl-register-link:hover,
.sa-watch-btn:hover,
.wl-add-form button:hover,
.wl-toolbar button:hover,
.p59-controls button:hover,
.p69-alert-actions button:hover,
.member-primary-action:hover,
.watchlist-primary-action:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), inset 0 -4px 8px rgba(11,28,105,0.62), 0 14px 28px rgba(22,84,220,0.50), 0 0 32px rgba(132,96,255,0.44) !important;
}

.lux-btn-primary:active,
.search-submit:active,
.home-hero-search button:active,
.sa-search button:active,
.sl-login-link:active,
.sl-register-link:active,
.sa-watch-btn:active,
.wl-add-form button:active,
.wl-toolbar button:active,
.p59-controls button:active,
.p69-alert-actions button:active,
.member-primary-action:active,
.watchlist-primary-action:active {
  transform: translateY(1px) scale(.985);
  filter: brightness(.86);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.58), inset 0 0 0 1px rgba(100,200,255,0.28), 0 3px 8px rgba(0,0,0,0.28) !important;
}

.p19-rk-tabs button,
.sa-tabs button,
.sa-view-switch button,
.p67-quick-links a,
.quick-action-card,
.quick-action-button,
.quick-action-grid a,
.quick-action-grid button,
.mi-treasure-entry {
  min-height: 54px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(180,222,255,0.30) !important;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.055) 42%, rgba(4,12,34,0.48)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), inset 0 -3px 6px rgba(0,0,0,0.34), 0 10px 20px rgba(0,0,0,0.26), 0 0 14px rgba(74,176,255,0.13) !important;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.p67-quick-links a,
.quick-action-card,
.quick-action-button,
.quick-action-grid a,
.quick-action-grid button { min-height: 74px; }

.p19-rk-tabs button:hover,
.sa-tabs button:hover,
.sa-view-switch button:hover,
.p67-quick-links a:hover,
.quick-action-card:hover,
.quick-action-button:hover,
.quick-action-grid a:hover,
.quick-action-grid button:hover,
.mi-treasure-entry:hover {
  transform: translateY(-2px);
  border-color: rgba(210,238,255,0.52) !important;
}

.p19-rk-tabs button:active,
.sa-tabs button:active,
.sa-view-switch button:active,
.p67-quick-links a:active,
.quick-action-card:active,
.quick-action-button:active,
.quick-action-grid a:active,
.quick-action-grid button:active,
.mi-treasure-entry:active {
  transform: translateY(1px) scale(.98);
  filter: brightness(.86);
  box-shadow: inset 0 4px 8px rgba(0,0,0,.46), 0 3px 8px rgba(0,0,0,.22) !important;
}

.home-hero-search,
.hero-search,
.search-shell,
.stock-search-box,
.sa-search,
.gs-header__search {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04)),
    linear-gradient(rgba(2,10,30,0.58), rgba(2,10,30,0.58)) !important;
  border: 1px solid rgba(170,215,255,0.36) !important;
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.34), inset 0 -3px 8px rgba(0,0,0,0.42), inset 0 0 0 1px rgba(120,210,255,0.12), 0 14px 30px rgba(0,0,0,0.30), 0 0 24px rgba(80,160,255,0.18) !important;
}

.home-entry-card__icon:hover,
.brand-tagline,
.p67-eyebrow { color: var(--lux-gold-light) !important; text-shadow: 0 0 10px var(--lux-gold-shadow); }

@media (max-width: 520px) {
  .home-entry-card,
  .p19-full-rank-card,
  .p64-ranking-change-column,
  .mi-card,
  .mi-signal-card,
  .p59-watch-card,
  .p67-card,
  .sa-summary,
  .sa-chart-card,
  .sa-accordion {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.30), inset 0 -1px 0 rgba(0,0,0,.38), inset 0 0 0 1px rgba(120,210,255,.10), 0 12px 24px rgba(0,0,0,.30), 0 0 14px rgba(74,176,255,.12) !important;
  }
}

/* 股勢力 3 秒體檢：五項公開資料的雷達摘要與判讀提示。 */
.stock-health-report { min-width: 0; }
.stock-health-report__head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0 0 14px; }
.stock-health-report__head p { margin: 0; color: var(--lux-text-strong); font-size: 17px; font-weight: 900; }
.stock-health-report__head small { color: var(--lux-text-muted); font-size: 12px; text-align: right; }
.stock-health-report__sources { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 62%; }
.stock-health-report__sources-title { align-self: center; color: var(--lux-text-muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.stock-health-report__source { padding: 4px 8px; border: 1px solid rgba(126, 211, 255, .22); border-radius: 999px; background: rgba(10, 42, 80, .5); color: #c9e9ff; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.25; white-space: nowrap; }
.stock-health-report__main { display: grid; grid-template-columns: minmax(260px, .92fr) minmax(280px, 1.08fr); gap: 18px; align-items: stretch; }
.stock-health-report__radar { min-height: 300px; border: 1px solid rgba(126, 211, 255, .24); border-radius: 16px; background: radial-gradient(circle at 50% 44%, rgba(31, 112, 184, .22), rgba(5, 15, 34, .36) 66%); }
.stock-health-report__summary { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid rgba(216, 181, 109, .34); border-radius: 16px; background: linear-gradient(145deg, rgba(12, 38, 76, .84), rgba(5, 15, 34, .9)); }
.stock-health-report__summary > span { color: var(--lux-gold-light); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.stock-health-report__summary h3 { margin: 8px 0 0; color: var(--lux-text-strong); font-size: clamp(21px, 2.4vw, 29px); line-height: 1.2; }
.stock-health-report__summary > strong { margin-top: 8px; color: #fff1c6; font-size: 30px; line-height: 1; }
.stock-health-report__summary > p { margin: 13px 0 0; color: rgba(226, 232, 240, .88); line-height: 1.55; }
.stock-health-report__bulbs { display: grid; gap: 8px; margin-top: auto; padding-top: 16px; }
.stock-health-report__bulbs p { margin: 0; padding: 10px 12px; border-left: 3px solid #f4cf75; border-radius: 0 10px 10px 0; background: rgba(104, 76, 24, .22); color: #f9e4af; font-size: 13px; line-height: 1.55; }
.stock-health-report__dimensions { display: grid; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.stock-health-report__dimensions li { display: grid; grid-template-columns: minmax(142px, .8fr) minmax(120px, 1.2fr) minmax(230px, 1.6fr); align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid rgba(148, 163, 184, .17); border-radius: 12px; background: rgba(10, 27, 55, .5); }
.stock-health-report__dimensions li > div { display: flex; justify-content: space-between; gap: 10px; color: var(--lux-text-strong); }
.stock-health-report__dimensions li > div span { color: #f3d9a2; font-size: 14px; font-weight: 900; }
.stock-health-report__dimensions small { color: var(--lux-text-muted); font-size: 12px; line-height: 1.45; }
.stock-health-report__meter { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: rgba(148, 163, 184, .2); }
.stock-health-report__meter::before { display: block; width: var(--health-score); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d8b56d, #7ed3ff); content: ''; }
.stock-health-report__notice { margin: 13px 0 0; color: var(--lux-text-faint); font-size: 12px; line-height: 1.5; }
.stock-health-report--unavailable > p { margin: 0; padding: 14px; border: 1px dashed rgba(148, 163, 184, .4); border-radius: 12px; color: var(--lux-text-muted); background: rgba(10, 27, 55, .36); }
@media (max-width: 700px) {
  .stock-health-report__head { display: block; }
  .stock-health-report__head small { display: block; margin-top: 5px; text-align: left; }
  .stock-health-report__sources { justify-content: flex-start; max-width: none; margin-top: 8px; }
  .stock-health-report__main, .stock-health-report__dimensions li { grid-template-columns: 1fr; }
  .stock-health-report__radar { min-height: 280px; }
  .stock-health-report__summary { padding: 17px; }
  .stock-health-report__dimensions li { gap: 8px; }
}

/* Market overview: Hero owns the verified index, breadth and temperature. */
.market-intel-page .mi-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  align-items: stretch;
}

.mi-hero-index {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 14px;
  max-width: 490px;
  margin-top: 24px;
  padding: 15px 17px;
  border: 1px solid rgba(141, 210, 255, .28);
  border-radius: 14px;
  background: rgba(3, 19, 45, .54);
}

.mi-hero-index span,
.mi-hero-index small,
.mi-market-dashboard__head span,
.mi-temperature-summary span {
  color: rgba(210, 225, 246, .7);
  font-size: 13px;
  font-weight: 700;
}

.mi-hero-index strong { color: #f8fbff; font-size: 26px; line-height: 1.1; }
.mi-hero-index b { color: #ff9393; font-size: 15px; }
.mi-hero-index small { grid-column: 1 / -1; }
.mi-hero-trend { max-width: 780px; margin: 18px 0 0; color: rgba(238, 246, 255, .9); font-size: 17px; line-height: 1.65; }
.mi-hero-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 780px; margin-top: 14px; }
.mi-hero-fact { display: grid; gap: 4px; min-width: 0; padding: 10px 12px; border-left: 2px solid rgba(132, 218, 255, .55); background: rgba(3, 19, 45, .36); }
.mi-hero-fact span { color: rgba(210, 225, 246, .7); font-size: 12px; font-weight: 700; }
.mi-hero-fact strong { color: #f8fbff; font-size: 16px; }
.mi-hero-fact small { overflow: hidden; color: rgba(225, 239, 255, .72); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }

.mi-market-dashboard {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 18px;
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(113, 210, 187, .28);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(5, 38, 52, .92), rgba(6, 20, 42, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 18px 36px rgba(0, 0, 0, .25);
}

.mi-market-dashboard__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.mi-market-dashboard__head strong { color: #dbeafe; font-size: 15px; }
.mi-breadth-layout { display: grid; grid-template-columns: minmax(196px, .8fr) minmax(220px, .9fr) minmax(220px, .9fr); gap: 30px; align-items: center; }

.mi-breadth-donut {
  --mi-breadth-up: 0%;
  --mi-breadth-down: 0%;
  position: relative;
  display: grid;
  width: 196px;
  height: 196px;
  place-content: center;
  border-radius: 50%;
  background: conic-gradient(#ff6469 0 var(--mi-breadth-up), #5ce097 var(--mi-breadth-up) var(--mi-breadth-down), #e6c76b var(--mi-breadth-down) 100%);
  text-align: center;
}

.mi-breadth-donut::before {
  position: absolute;
  inset: 13px;
  border-radius: 50%;
  background: #092135;
  box-shadow: inset 0 0 0 1px rgba(191, 235, 255, .12);
  content: '';
}

.mi-breadth-donut strong,
.mi-breadth-donut span { position: relative; z-index: 1; }
.mi-breadth-donut strong { color: #fff; font-size: 37px; line-height: 1.1; }
.mi-breadth-donut span { margin-top: 3px; color: rgba(226, 241, 255, .78); font-size: 13px; font-weight: 700; }
.mi-breadth-list { display: grid; gap: 14px; margin: 0; }
.mi-breadth-list div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(183, 221, 245, .12); }
.mi-breadth-list div:last-child { padding-bottom: 0; border-bottom: 0; }
.mi-breadth-list dt { color: rgba(226, 241, 255, .76); font-weight: 700; }
.mi-breadth-list dt::before { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; content: ''; }
.mi-breadth-list dd { margin: 0; color: #f8fbff; font-size: 24px; font-weight: 800; }
.mi-breadth-list .is-up dt::before { background: #ff6469; }
.mi-breadth-list .is-down dt::before { background: #5ce097; }
.mi-breadth-list .is-flat dt::before { background: #e6c76b; }
.mi-breadth-ratio { display: grid; align-content: center; gap: 7px; min-height: 142px; padding: 22px 24px; border: 1px solid rgba(183, 221, 245, .16); border-radius: 14px; background: rgba(3, 15, 32, .34); }
.mi-breadth-ratio > span, .mi-breadth-ratio small { color: rgba(226, 241, 255, .76); font-size: 13px; font-weight: 700; }
.mi-breadth-ratio strong { color: #f4cf75; font-size: clamp(38px, 4vw, 58px); letter-spacing: -.05em; line-height: 1; }
.mi-market-dashboard.is-unavailable { min-height: 280px; }
.mi-market-dashboard.is-unavailable .mi-breadth-layout { grid-template-columns: minmax(140px, .55fr) minmax(190px, .75fr) minmax(280px, 1.2fr); }
.mi-market-dashboard.is-unavailable .mi-breadth-ratio { min-height: 120px; }

.mi-temperature-summary { display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: 8px 12px; padding-top: 16px; border-top: 1px solid rgba(183, 221, 245, .16); }
.mi-temperature-summary strong { color: #f4cf75; font-size: 24px; }
.mi-temperature-summary b { color: rgba(225, 239, 255, .88); font-size: 15px; }

.mi-grid--compact { justify-items: start; }
.mi-strong-sector-card--compact { width: min(100%, 760px); padding: 18px 20px; }
.mi-strong-sector-card--compact .mi-card-head { margin-bottom: 8px; }
.mi-strong-sector-list { display: grid; gap: 4px; }
.mi-strong-sector-row { display: grid; grid-template-columns: minmax(130px, 180px) minmax(80px, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(183, 221, 245, .12); }
.mi-strong-sector-row:last-child { border-bottom: 0; }
.mi-strong-sector-row > div:first-child { display: grid; gap: 3px; min-width: 0; }
.mi-strong-sector-row strong { color: #f8fbff; font-size: 15px; }
.mi-strong-sector-row small { color: rgba(202, 224, 244, .66); font-size: 12px; }
.mi-strong-sector-row b { min-width: 62px; text-align: right; font-size: 15px; }
.mi-strong-sector-row b.is-up { color: #ff9393; }
.mi-strong-sector-bar { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(103, 230, 161, .14); }
.mi-strong-sector-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #50dd96, #9af2c3); box-shadow: 0 0 10px rgba(80, 221, 150, .55); }

@media (max-width: 900px) {
  .market-intel-page .mi-hero { grid-template-columns: 1fr; }
  .mi-market-dashboard { min-height: 0; }
}

@media (max-width: 560px) {
  .mi-hero-facts { grid-template-columns: 1fr; }
  .mi-strong-sector-card--compact { width: 100%; }
  .mi-hero-index { grid-template-columns: 1fr; gap: 6px; }
  .mi-breadth-layout, .mi-market-dashboard.is-unavailable .mi-breadth-layout { grid-template-columns: 1fr; justify-items: center; }
  .mi-breadth-list { width: min(100%, 280px); }
  .mi-breadth-ratio { width: min(100%, 320px); min-height: 0; }
  .mi-temperature-summary { grid-template-columns: 1fr; gap: 4px; }
  .mi-strong-sector-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; }
  .mi-strong-sector-bar { grid-column: 1 / -1; grid-row: 2; }
}

/* Market workspace: one focused research view at a time. */
.mi-workspace {
  display: grid;
  grid-template-columns: minmax(210px, 248px) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.mi-workspace__content { min-width: 0; }
.mi-workspace-nav {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(141, 210, 255, .2);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(7, 24, 48, .95), rgba(4, 14, 32, .95));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 32px rgba(0, 0, 0, .2);
}

.mi-workspace-nav--desktop { position: sticky; top: 96px; }
.mi-workspace-nav--mobile { display: none; }
.mi-workspace-nav__item {
  display: flex;
  align-items: center;
  min-height: 52px;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(220, 235, 251, .78);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 780;
  text-align: left;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.mi-workspace-nav__item > span { width: 18px; color: #80d7ff; font-size: 18px; text-align: center; }
.mi-workspace-nav__item:hover { border-color: rgba(141, 210, 255, .28); background: rgba(82, 151, 222, .12); color: #f8fbff; }
.mi-workspace-nav__item:active { transform: translateY(1px); }
.mi-workspace-nav__item[aria-selected="true"] {
  border-color: rgba(114, 197, 255, .48);
  color: #fff6d8;
  background: linear-gradient(100deg, rgba(47, 127, 205, .52), rgba(16, 67, 121, .38));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .11), 0 8px 16px rgba(0, 0, 0, .15);
}

.mi-workspace-nav__item:focus-visible { outline: 3px solid #f4cf75; outline-offset: 3px; }
.mi-workspace__header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 4px 4px 0; }
.mi-workspace__header[hidden] { display: none; }
.mi-workspace__header h1 { margin: 4px 0 0; }
.mi-workspace__view-label { flex: 0 0 auto; margin: 0 0 4px; padding: 8px 11px; border: 1px solid rgba(244, 207, 117, .3); border-radius: 999px; color: #fff1c6; background: rgba(80, 54, 12, .24); font-size: 13px; font-weight: 800; }
.mi-search-status { margin: 0 0 14px; padding: 10px 12px; border: 1px solid rgba(255, 132, 132, .42); border-radius: 12px; color: #ffe1e1; background: rgba(111, 23, 31, .4); line-height: 1.5; }
.mi-workspace-panel[hidden] { display: none !important; }
.mi-panel-heading { max-width: 680px; margin: 8px 0 18px; }
.mi-panel-heading .sa-eyebrow { margin-bottom: 6px; }
.mi-panel-heading h2 { margin: 0; color: #f8fbff; font-size: clamp(26px, 3.4vw, 36px); }
.mi-panel-heading > p:last-child { margin: 8px 0 0; color: rgba(220, 235, 251, .74); line-height: 1.65; }
.market-intel-page .mi-workspace-panel > .mi-hero { display: block; min-height: 0; padding: clamp(24px, 4vw, 40px); }
.mi-workspace-panel > .mi-hero .mi-hero__content { max-width: 780px; }
.mi-overview-index-trends { margin-top: 26px; }
.mi-workspace-panel .mi-data-cards { margin: 0; }
.mi-workspace-panel .mi-market-dashboard { width: min(100%, 1080px); min-height: 400px; }
.mi-workspace-panel .mi-market-dashboard.is-unavailable { min-height: 280px; }
.mi-workspace-panel .mi-strong-sector-card--compact { width: min(100%, 760px); }

@media (max-width: 760px) {
  .mi-workspace { display: block; padding-bottom: 84px; }
  .mi-workspace-nav--desktop { display: none; }
  .mi-workspace-nav--mobile {
    position: fixed;
    z-index: 40;
    right: max(8px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    left: max(8px, env(safe-area-inset-left));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    padding: 5px;
    border-radius: 16px;
    background: rgba(3, 13, 30, .97);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .1);
    backdrop-filter: blur(16px);
  }

  .mi-workspace-nav--mobile .mi-workspace-nav__item { display: grid; min-width: 0; min-height: 58px; justify-items: center; gap: 3px; padding: 6px 2px; border-radius: 11px; font-size: 11px; line-height: 1.1; text-align: center; }
  .mi-workspace-nav--mobile .mi-workspace-nav__item > span { font-size: 16px; }
  .mi-workspace__header { align-items: start; margin-bottom: 12px; padding-inline: 0; }
  .mi-workspace__header h1 { font-size: clamp(29px, 9vw, 38px); }
  .mi-workspace__view-label { margin-top: 5px; font-size: 12px; }
  .market-intel-page .mi-workspace-panel > .mi-hero { padding: 20px; }
  .mi-panel-heading { margin-top: 0; }
  .mi-workspace-panel .mi-market-dashboard { min-height: 0; }
  .market-intel-page .mi-main { padding-bottom: 96px; }
}

@media (prefers-reduced-motion: reduce) {
  .mi-workspace-nav__item { transition: none; }
}

/* REBUILD-STOCKPAGE-CLASSIC1 */
.sa-classic-page {
  position: relative;
  width: min(100% - 32px, 1320px);
  margin: 0 auto;
  padding: 68px 0 48px;
  color: #e5edf6;
}

.sa-classic-hero {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(12, 17, 24, 0.96), rgba(20, 23, 31, 0.92)),
    radial-gradient(circle at 20% 0%, rgba(212, 175, 55, 0.12), transparent 35%);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26);
}

.sa-stock-identity-bar {
  gap: 12px;
  padding: 16px 18px;
}

.sa-classic-hero__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 14px;
  align-items: stretch;
}

.sa-classic-identity h1 {
  margin: 2px 0 6px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
}

.sa-classic-identity p {
  margin: 0 0 10px;
  color: rgba(226, 232, 240, 0.76);
}

.sa-identity-quote-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  margin-bottom: 10px;
}

.sa-identity-quote-row strong {
  color: #f8fafc;
  font-size: clamp(22px, 2.4vw, 32px);
}

.sa-identity-quote-row span.is-up {
  color: #f87171;
}

.sa-identity-quote-row span.is-down {
  color: #4ade80;
}

.sa-identity-quote-row small {
  color: rgba(226, 232, 240, 0.62);
}

.sa-classic-score {
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 112px;
  padding: 16px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 8px;
  background: rgba(7, 12, 18, 0.72);
}

.sa-classic-score span,
.sa-metric-card span,
.sa-module-card span {
  color: rgba(226, 232, 240, 0.68);
  font-size: 13px;
}

.sa-classic-score strong {
  color: #f8d36b;
  font-size: 42px;
  line-height: 1;
}

.sa-classic-score small,
.sa-metric-card small {
  color: rgba(226, 232, 240, 0.7);
}

.stock-search {
  display: flex;
  width: min(100%, 440px);
  gap: 8px;
}

.sa-stock-search-rail {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: 18px;
  right: 0;
  z-index: 5;
  width: min(420px, 46vw);
  margin: 0;
}

.sa-stock-search-rail .stock-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
}

.stock-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 8px;
  background: rgba(7, 12, 18, 0.74);
  color: #f8fafc;
  padding: 12px 14px;
}

.stock-search button,
.sa-hero-actions a,
.sa-hero-actions button {
  border: 1px solid rgba(212, 175, 55, 0.36);
  border-radius: 8px;
  background: rgba(212, 175, 55, 0.12);
  color: #f8e7a1;
  padding: 11px 14px;
  cursor: pointer;
}

.sa-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.sa-hero-meta-row,
.sa-data-status,
.sa-structure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.sa-metric-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.58);
}

.sa-metric-card strong {
  display: block;
  margin-top: 4px;
  color: #f8fafc;
  font-size: 18px;
}

.sa-metric-card.is-up strong {
  color: #f87171;
}

.sa-metric-card.is-down strong {
  color: #4ade80;
}

.sa-classic-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.9fr);
  gap: 18px;
  margin-top: 18px;
}

.sa-dashboard-grid,
.sa-chart-area {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.sa-first-screen-dashboard {
  grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1fr) minmax(360px, 1.25fr);
  align-items: start;
}

.sa-fundamental-area {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sa-interpretation-area,
.sa-data-detail-area {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stock-analysis-page .sa-summary-v2.sa-stock-identity-bar {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  gap: 12px !important;
  padding: 16px 18px !important;
}

.stock-analysis-page .sa-stock-identity-bar .sa-classic-hero__main {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.stock-analysis-page .sa-stock-identity-bar .sa-classic-score {
  min-height: 108px !important;
  padding: 14px !important;
}

.stock-analysis-page .sa-stock-identity-bar .sa-classic-score strong {
  font-size: clamp(34px, 4vw, 44px) !important;
}

.stock-analysis-page .sa-stock-identity-bar .sa-hero-meta-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sa-classic-primary,
.sa-classic-sidebar {
  display: grid;
  align-content: start;
  gap: 18px;
}

.sa-classic-panel {
  padding: 20px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(8, 13, 20, 0.86);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.sa-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.sa-section-head h2 {
  margin: 0;
  font-size: 22px;
}

.sa-classic-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sa-classic-list li {
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.44);
  color: rgba(226, 232, 240, 0.88);
}

.sa-score-layout {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 16px;
}

.sa-score-big {
  padding: 18px;
  border-radius: 8px;
  background: rgba(212, 175, 55, 0.10);
}

.sa-score-big strong {
  display: block;
  color: #f8d36b;
  font-size: 44px;
}

.sa-score-breakdown {
  display: grid;
  gap: 10px;
}

.sa-score-breakdown article {
  display: grid;
  grid-template-columns: 64px 54px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.sa-score-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
}

.sa-score-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d4af37, #f8d36b);
}

.sa-reason-grid {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.sa-reason-grid p {
  margin: 0;
  color: rgba(226, 232, 240, 0.82);
}

.signal-quality-head,
.sa-module-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.signal-quality-pill {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(96, 165, 250, 0.14);
  color: #bfdbfe;
  font-size: 12px;
}

.sa-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sa-module-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.48);
}

.sa-module-card p {
  color: rgba(226, 232, 240, 0.78);
}

.sa-module-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(226, 232, 240, 0.8);
}

/* Research snapshot: one factual evidence line per dimension, with optional details. */
.sa-research-snapshot-panel { min-width: 0; }
.sa-research-snapshot__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.sa-research-snapshot__intro p { margin: 0; color: rgba(226, 232, 240, .9); font-weight: 800; }
.sa-research-snapshot__intro small { flex: 0 0 auto; color: rgba(191, 219, 254, .74); }
.sa-research-snapshot__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); display: grid; gap: 12px; }
.sa-research-snapshot__card { display: flex; flex-direction: column; min-width: 0; min-height: 176px; padding: 16px; border: 1px solid rgba(148, 163, 184, .18); border-radius: 14px; background: linear-gradient(145deg, rgba(17, 30, 54, .7), rgba(8, 16, 34, .76)); }
.sa-research-snapshot__card.is-ready { border-left: 3px solid rgba(74, 222, 128, .82); }
.sa-research-snapshot__card.is-caution { border-left: 3px solid rgba(251, 191, 36, .9); }
.sa-research-snapshot__card.is-pending { border-left: 3px solid rgba(148, 163, 184, .72); }
.sa-research-snapshot__card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sa-research-snapshot__card-head h3 { margin: 0; color: #f8fafc; font-size: 18px; }
.sa-research-snapshot__status { flex: 0 0 auto; padding: 4px 8px; border: 1px solid rgba(125, 211, 252, .3); border-radius: 999px; color: #bae6fd; font-size: 12px; font-weight: 800; }
.is-caution .sa-research-snapshot__status { border-color: rgba(251, 191, 36, .38); color: #fde68a; }
.is-pending .sa-research-snapshot__status { border-color: rgba(148, 163, 184, .35); color: rgba(226, 232, 240, .74); }
.sa-research-snapshot__score { margin-top: 14px; }
.sa-research-snapshot__meter { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: rgba(148, 163, 184, .18); }
.sa-research-snapshot__meter::before { display: block; width: var(--research-score, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #38bdf8, #34d399); content: ''; }
.is-caution .sa-research-snapshot__meter::before { background: linear-gradient(90deg, #f59e0b, #facc15); }
.sa-research-snapshot__evidence { min-height: 2.9em; margin: 15px 0 10px; color: rgba(226, 232, 240, .88); font-size: 15px; line-height: 1.45; }
.sa-research-snapshot__toggle { align-self: flex-start; margin-top: auto; padding: 0; border: 0; background: transparent; color: #7dd3fc; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.sa-research-snapshot__toggle:hover, .sa-research-snapshot__toggle:focus-visible { color: #e0f2fe; text-decoration: underline; }
.sa-research-snapshot__detail { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(148, 163, 184, .15); }
.sa-research-snapshot__detail p, .sa-research-snapshot__detail small { display: block; margin: 0 0 5px; color: rgba(203, 213, 225, .78); font-size: 13px; line-height: 1.5; }
.sa-research-snapshot__detail-title { color: #e2e8f0 !important; font-weight: 800; }
.sa-research-snapshot__basis { display: grid; gap: 4px; margin: 0 0 7px; padding-left: 18px; color: rgba(203, 213, 225, .88); font-size: 13px; line-height: 1.5; }
.sa-research-snapshot__basis li { overflow-wrap: anywhere; }

@media (max-width: 980px) {
  .sa-research-snapshot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .sa-research-snapshot__intro { display: block; }
  .sa-research-snapshot__intro small { display: block; margin-top: 6px; }
  .sa-research-snapshot__grid { grid-template-columns: 1fr; }
  .sa-research-snapshot__card { min-height: 0; }
}

.sa-source-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.sa-source-list article {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.42);
}

.sa-source-list span {
  color: rgba(226, 232, 240, 0.72);
  font-size: 13px;
}

.sa-profile-grid,
.sa-fundamental-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sa-profile-field,
.sa-fundamental-field {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.46);
}

.sa-profile-field span,
.sa-fundamental-field span {
  display: block;
  color: rgba(226, 232, 240, 0.62);
  font-size: 12px;
}

.sa-profile-field strong,
.sa-fundamental-field strong {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: #f8fafc;
  font-size: 17px;
}

.sa-fundamental-note {
  margin: 12px 0 0;
  color: rgba(226, 232, 240, 0.76);
}

.sa-fundamental-status {
  display: block;
  margin-top: 8px;
  color: rgba(226, 232, 240, 0.58);
}

.sa-factor-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sa-factor-column {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.46);
}

.sa-factor-column h3 {
  margin: 0 0 10px;
  color: #f8fafc;
  font-size: 17px;
}

.sa-factor-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sa-factor-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: rgba(226, 232, 240, 0.84);
  line-height: 1.55;
}

.sa-factor-marker {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}

.sa-factor-list.is-bullish .sa-factor-marker {
  background: rgba(74, 222, 128, 0.14);
  color: #86efac;
}

.sa-factor-list.is-bearish .sa-factor-marker {
  background: rgba(250, 204, 21, 0.14);
  color: #fde68a;
}

.sa-kline-toolbar,
.sa-smart-toolbar,
.sa-kline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}

.sa-kline-toolbar button {
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.6);
  color: #dbe7f3;
  padding: 8px 10px;
  cursor: pointer;
}

.sa-kline-toolbar button.is-active {
  border-color: rgba(212, 175, 55, 0.6);
  color: #f8d36b;
}

.sa-smart-toolbar label,
.sa-kline-legend span {
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(15, 23, 42, 0.62);
  color: rgba(226, 232, 240, 0.82);
  font-size: 13px;
}

.sa-smart-toolbar input {
  margin-right: 6px;
}

.sa-smart-line-status,
.sa-drawing-note,
.sa-chart-readout {
  margin: 8px 0 12px;
  color: rgba(226, 232, 240, 0.78);
}

.sa-smart-line-status.is-active {
  color: #86efac;
}

.sa-smart-line-status.is-empty {
  color: #facc15;
}

.sa-price-chart,
.sa-volume-chart {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 8px;
}

.sa-volume-chart {
  margin-top: 10px;
}

.public-market-temperature {
  width: min(100% - 32px, 1320px);
  margin: 14px auto 0;
  border-radius: 8px;
}

.sa-classic-loading {
  padding: 36px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(8, 13, 20, 0.86);
}

.sa-classic-loading.is-error {
  color: #fecaca;
}

@media (max-width: 980px) {
  .sa-classic-hero__main,
  .sa-classic-grid,
  .sa-score-layout,
  .sa-first-screen-dashboard,
  .sa-fundamental-area,
  .sa-interpretation-area,
  .sa-data-detail-area {
    grid-template-columns: 1fr;
  }

  .sa-hero-meta-row,
  .sa-data-status,
  .sa-structure-grid,
  .sa-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stock-analysis-page .sa-stock-identity-bar .sa-classic-hero__main,
  .stock-analysis-page .sa-stock-identity-bar .sa-hero-meta-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .sa-classic-page {
    width: min(100% - 20px, 390px);
    padding-top: 18px;
  }

  .sa-classic-hero,
  .sa-classic-panel {
    padding: 14px;
  }

  .sa-classic-identity h1 {
    font-size: 28px;
  }

  .sa-classic-score strong {
    font-size: 36px;
  }

  .sa-stock-identity-bar {
    gap: 10px;
    padding: 14px;
  }

  .stock-search,
  .sa-hero-actions {
    display: grid;
    width: 100%;
  }

  .sa-stock-search-rail {
    position: static;
    width: 100%;
    margin: 0 0 10px;
    justify-content: stretch;
  }

  .sa-stock-search-rail .stock-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  .sa-stock-search-rail .stock-search input {
    padding: 10px 11px;
  }

  .sa-stock-search-rail .stock-search button {
    padding: 10px 11px;
    white-space: nowrap;
  }

  .sa-hero-meta-row,
  .sa-data-status,
  .sa-structure-grid,
  .sa-module-grid,
  .sa-profile-grid,
  .sa-fundamental-grid,
  .sa-factor-columns {
    grid-template-columns: 1fr;
  }

  .sa-score-breakdown article {
    grid-template-columns: 56px 48px minmax(0, 1fr);
  }
}

/* P75-H｜Unified high-contrast dark luxury header */
.sl-header,
.sa-header,
.gs-header,
.brand-header,
.p19-header {
  position: sticky !important;
  top: 0;
  z-index: 1000 !important;
  background:
    linear-gradient(180deg, rgba(7, 13, 26, 0.96), rgba(5, 11, 23, 0.90)) !important;
  border-bottom: 1px solid rgba(232, 188, 94, 0.26) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.42),
    inset 0 -1px 0 rgba(255, 230, 160, 0.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
}

.sl-header__inner,
.sa-header__inner,
.gs-header__inner {
  width: min(1440px, calc(100% - 40px)) !important;
  min-height: 68px !important;
  margin: 0 auto !important;
  gap: clamp(12px, 1.6vw, 22px) !important;
  align-items: center !important;
}

.sl-nav,
.sa-nav,
.gs-nav {
  min-width: 0;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(8px, 1.25vw, 18px) !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.sl-nav::-webkit-scrollbar,
.sa-nav::-webkit-scrollbar,
.gs-nav::-webkit-scrollbar {
  display: none;
}

.sl-nav a,
.sa-nav a,
.gs-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 68px !important;
  padding: 0 5px !important;
  border: 0 !important;
  color: rgba(255, 238, 196, 0.90) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.78),
    0 0 8px rgba(255, 200, 90, 0.10) !important;
  transition: color 160ms ease, text-shadow 160ms ease, background-color 160ms ease !important;
}

.sl-nav a::after,
.sa-nav a::after,
.gs-nav a::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 8px;
  height: 3px;
  border-radius: 999px;
  background: transparent !important;
  box-shadow: none;
  opacity: 0;
  transform: scaleX(0.55);
  transition: opacity 160ms ease, transform 160ms ease !important;
}

.sl-nav a:hover,
.sa-nav a:hover,
.gs-nav a:hover {
  color: #fff4c6 !important;
  background: rgba(255, 220, 135, 0.045) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.86),
    0 0 12px rgba(255, 210, 110, 0.24) !important;
}

.sl-nav a.is-active,
.sa-nav a.is-active,
.gs-nav a.is-active {
  color: #ffd978 !important;
  background: rgba(255, 214, 120, 0.06) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.86),
    0 0 12px rgba(255, 205, 90, 0.30) !important;
}

.sl-nav a.is-active::after,
.sa-nav a.is-active::after,
.gs-nav a.is-active::after {
  background: linear-gradient(90deg, rgba(255, 210, 110, 0), #ffd978, rgba(255, 210, 110, 0)) !important;
  box-shadow: 0 0 14px rgba(255, 205, 90, 0.45);
  opacity: 1;
  transform: scaleX(1);
}

.sl-header .site-brand-wordmark .site-brand-main,
.sa-header .site-brand-wordmark .site-brand-main,
.gs-header .site-brand-wordmark .site-brand-main {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.88),
    0 0 10px rgba(255, 205, 90, 0.24) !important;
}

.sl-header .site-brand-wordmark .site-brand-sub,
.sa-header .site-brand-wordmark .site-brand-sub,
.gs-header .site-brand-wordmark .site-brand-sub {
  color: rgba(255, 226, 165, 0.86) !important;
}

.sa-search,
.gs-header__search {
  width: min(360px, 28vw) !important;
  min-width: 260px;
}

.gs-header__search {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 12px;
}

.sa-search input,
.gs-header__search input {
  width: 100% !important;
  min-height: 40px !important;
  color: #fff6dc !important;
  background: rgba(3, 10, 24, 0.76) !important;
  border: 1px solid rgba(232, 188, 94, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.gs-header__search button {
  min-height: 32px;
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  color: #1b1407;
  background: linear-gradient(180deg, #ffe9a6, #d4a72f);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.sa-search input::placeholder,
.gs-header__search input::placeholder {
  color: rgba(220, 228, 242, 0.60) !important;
}

.sa-search input:focus,
.gs-header__search input:focus {
  border-color: rgba(255, 217, 120, 0.58) !important;
  box-shadow:
    0 0 0 3px rgba(255, 205, 90, 0.10),
    0 0 14px rgba(255, 205, 90, 0.12) !important;
}

@media (max-width: 1240px) {
  .sa-search,
  .gs-header__search {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .sl-header__inner,
  .sa-header__inner,
  .gs-header__inner {
    width: calc(100% - 24px) !important;
    min-height: 58px !important;
    padding: 8px 0 7px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px 10px !important;
  }

  .sl-nav,
  .sa-nav,
  .gs-nav {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    padding-bottom: 1px;
  }

  .sa-nav { overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: 4px; }
  .sa-nav a { flex: 0 0 auto; scroll-snap-align: start; }

  .sl-nav a,
  .sa-nav a,
  .gs-nav a {
    min-height: 38px !important;
    padding: 0 9px !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
  }

  .sl-nav a::after,
  .sa-nav a::after,
  .gs-nav a::after {
    bottom: 1px;
    left: 8px;
    right: 8px;
    height: 2px;
  }

  .sl-header-actions,
  .p30-home-auth {
    justify-self: end;
  }
}

/* =========================================================
   P73-B｜Feedback, support, Premium interest and admin inbox
   ========================================================= */
.brand-footer-links {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 16px;
  margin: 8px 0;
}

.brand-footer-links a {
  color: #f4d88a;
  text-decoration: none;
  font-weight: 800;
}

.p73b-main {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto;
  padding: 54px 0 64px;
}

.p73b-hero,
.p73b-form,
.p73b-interest-panel,
.p73b-admin-toolbar,
.p73b-admin-item {
  border: 1px solid rgba(216, 181, 109, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
    rgba(8, 16, 36, 0.58);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.p73b-hero {
  padding: clamp(26px, 5vw, 54px);
  margin-bottom: 18px;
}

.p73b-hero h1 {
  margin: 0 0 12px;
  color: #fff6da;
  font-size: clamp(34px, 6vw, 64px);
  line-height: 1.05;
}

.p73b-hero p,
.p73b-form-notice,
.p73b-legal {
  color: rgba(226, 237, 255, 0.78);
  line-height: 1.75;
}

.p73b-form,
.p73b-interest-panel,
.p73b-admin-toolbar,
.p73b-admin-item {
  padding: 22px;
}

.p73b-form {
  display: grid;
  gap: 16px;
}

.p73b-form label,
.p73b-admin-toolbar label,
.p73b-admin-item label {
  display: grid;
  gap: 8px;
  color: rgba(232, 240, 255, 0.88);
  font-weight: 800;
}

.p73b-form input,
.p73b-form select,
.p73b-form textarea,
.p73b-admin-toolbar select,
.p73b-admin-item select,
.p73b-admin-item textarea {
  width: 100%;
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(170, 218, 255, 0.22);
  color: #eef6ff;
  background: rgba(3, 10, 24, 0.62);
  padding: 10px 12px;
  box-sizing: border-box;
}

.p73b-form textarea,
.p73b-admin-item textarea {
  min-height: 132px;
  resize: vertical;
}

.p73b-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.p73b-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.p73b-check-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(216, 181, 109, 0.18);
}

.p73b-check-grid input {
  width: auto;
  min-height: auto;
}

.p73b-admin-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto 1fr;
  gap: 14px;
  align-items: end;
  margin-bottom: 18px;
}

.p73b-admin-list {
  display: grid;
  gap: 14px;
}

.p73b-admin-item header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.p73b-admin-item header strong,
.p73b-admin-item dt {
  color: #f4d88a;
}

.p73b-admin-item header span,
.p73b-admin-item dd {
  color: rgba(226, 237, 255, 0.76);
}

.p73b-admin-item dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

.p73b-admin-item dt,
.p73b-admin-item dd {
  margin: 0;
}

.p73b-admin-item p {
  color: rgba(238, 246, 255, 0.9);
  line-height: 1.7;
}

.p73b-admin-item button {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(216, 181, 109, 0.34);
  color: #101318;
  font-weight: 900;
  background: linear-gradient(90deg, #d8b56d, #f4d88a);
  cursor: pointer;
}

.p73b-empty {
  color: rgba(226, 237, 255, 0.78);
}

@media (max-width: 760px) {
  .p73b-main {
    width: min(100% - 24px, 1080px);
    padding-top: 34px;
  }

  .p73b-check-grid,
  .p73b-admin-toolbar,
  .p73b-admin-item dl {
    grid-template-columns: 1fr;
  }

  .p73b-admin-item header {
    flex-direction: column;
  }
}

/* =========================================================
   P71-O2｜Logo premium refinement final override
   Must stay after P71-O safe-fit rules.
   ========================================================= */
.home-page .site-logo,
.home-page .site-brand-logo,
.home-page .gs-site-logo,
.home-page .gs-brand-logo,
.home-page .brand-logo-frame,
.home-page .brand-logo-box,
.home-page .home-header-emblem,
.home-page .header-brand-emblem,
.home-page .header-logo-emblem {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .site-logo img,
.home-page .site-brand-logo img,
.home-page .gs-site-logo img,
.home-page .gs-brand-logo img,
.home-page .brand-logo-frame img,
.home-page .brand-logo-box img,
.home-page .home-header-emblem img,
.home-page .header-brand-emblem img,
.home-page .header-logo-emblem img,
.home-page img.site-logo,
.home-page img.site-brand-logo,
.home-page img.gs-site-logo,
.home-page img.gs-brand-logo,
.home-page img.brand-logo,
.home-page img.header-brand-logo {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow:
    0 0 10px rgba(216, 181, 109, 0.22),
    0 4px 12px rgba(0, 0, 0, 0.22) !important;
  filter:
    drop-shadow(0 0 6px rgba(216, 181, 109, 0.20))
    drop-shadow(0 4px 8px rgba(0, 0, 0, 0.24));
  transform: none !important;
}

.home-page .home-brand-emblem,
.home-page .home-hero-emblem,
.home-page .home-main-emblem,
.home-page .home-logo-emblem,
.home-page .hero-brand-emblem,
.home-page .hero-logo-emblem,
.home-page .home-brand-mark {
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .home-brand-emblem img,
.home-page .home-hero-emblem img,
.home-page .home-main-emblem img,
.home-page .home-logo-emblem img,
.home-page .hero-brand-emblem img,
.home-page .hero-logo-emblem img,
.home-page .home-brand-mark img,
.home-page img.home-brand-logo,
.home-page img.home-hero-logo,
.home-page img.hero-brand-logo {
  width: 104px !important;
  height: 104px !important;
  max-width: 104px !important;
  max-height: 104px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  filter:
    drop-shadow(0 0 14px rgba(216, 181, 109, 0.22))
    drop-shadow(0 10px 24px rgba(0, 0, 0, 0.36));
}

@media (max-width: 640px) {
  .home-page .site-logo,
  .home-page .site-brand-logo,
  .home-page .gs-site-logo,
  .home-page .gs-brand-logo,
  .home-page .brand-logo-frame,
  .home-page .brand-logo-box,
  .home-page .home-header-emblem,
  .home-page .header-brand-emblem,
  .home-page .header-logo-emblem {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .home-page .site-logo img,
  .home-page .site-brand-logo img,
  .home-page .gs-site-logo img,
  .home-page .gs-brand-logo img,
  .home-page .brand-logo-frame img,
  .home-page .brand-logo-box img,
  .home-page .home-header-emblem img,
  .home-page .header-brand-emblem img,
  .home-page .header-logo-emblem img,
  .home-page img.site-logo,
  .home-page img.site-brand-logo,
  .home-page img.gs-site-logo,
  .home-page img.gs-brand-logo,
  .home-page img.brand-logo,
  .home-page img.header-brand-logo {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .home-page .home-brand-emblem,
  .home-page .home-hero-emblem,
  .home-page .home-main-emblem,
  .home-page .home-logo-emblem,
  .home-page .hero-brand-emblem,
  .home-page .hero-logo-emblem,
  .home-page .home-brand-mark {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
  }

  .home-page .home-brand-emblem img,
  .home-page .home-hero-emblem img,
  .home-page .home-main-emblem img,
  .home-page .home-logo-emblem img,
  .home-page .hero-brand-emblem img,
  .home-page .hero-logo-emblem img,
  .home-page .home-brand-mark img,
  .home-page img.home-brand-logo,
  .home-page img.home-hero-logo,
  .home-page img.hero-brand-logo {
    width: 76px !important;
    height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
  }
}

/* =========================================================
   P71-O2｜Logo premium refinement
   移除正方形盒子，改為無框品牌標誌
   ========================================================= */
.home-page .site-logo,
.home-page .site-brand-logo,
.home-page .gs-site-logo,
.home-page .gs-brand-logo,
.home-page .brand-logo-frame,
.home-page .brand-logo-box,
.home-page .home-header-emblem,
.home-page .header-brand-emblem,
.home-page .header-logo-emblem {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .site-logo img,
.home-page .site-brand-logo img,
.home-page .gs-site-logo img,
.home-page .gs-brand-logo img,
.home-page .brand-logo-frame img,
.home-page .brand-logo-box img,
.home-page .home-header-emblem img,
.home-page .header-brand-emblem img,
.home-page .header-logo-emblem img,
.home-page img.site-logo,
.home-page img.site-brand-logo,
.home-page img.gs-site-logo,
.home-page img.gs-brand-logo,
.home-page img.brand-logo,
.home-page img.header-brand-logo {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow:
    0 0 10px rgba(216, 181, 109, 0.22),
    0 4px 12px rgba(0, 0, 0, 0.22) !important;
  filter:
    drop-shadow(0 0 6px rgba(216, 181, 109, 0.20))
    drop-shadow(0 4px 8px rgba(0, 0, 0, 0.24));
  transform: none !important;
}

.home-page .home-brand-emblem,
.home-page .home-hero-emblem,
.home-page .home-main-emblem,
.home-page .home-logo-emblem,
.home-page .hero-brand-emblem,
.home-page .hero-logo-emblem,
.home-page .home-brand-mark {
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .home-brand-emblem img,
.home-page .home-hero-emblem img,
.home-page .home-main-emblem img,
.home-page .home-logo-emblem img,
.home-page .hero-brand-emblem img,
.home-page .hero-logo-emblem img,
.home-page .home-brand-mark img,
.home-page img.home-brand-logo,
.home-page img.home-hero-logo,
.home-page img.hero-brand-logo {
  width: 104px !important;
  height: 104px !important;
  max-width: 104px !important;
  max-height: 104px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  filter:
    drop-shadow(0 0 14px rgba(216, 181, 109, 0.22))
    drop-shadow(0 10px 24px rgba(0, 0, 0, 0.36));
}

@media (max-width: 640px) {
  .home-page .site-logo,
  .home-page .site-brand-logo,
  .home-page .gs-site-logo,
  .home-page .gs-brand-logo,
  .home-page .brand-logo-frame,
  .home-page .brand-logo-box,
  .home-page .home-header-emblem,
  .home-page .header-brand-emblem,
  .home-page .header-logo-emblem {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .home-page .site-logo img,
  .home-page .site-brand-logo img,
  .home-page .gs-site-logo img,
  .home-page .gs-brand-logo img,
  .home-page .brand-logo-frame img,
  .home-page .brand-logo-box img,
  .home-page .home-header-emblem img,
  .home-page .header-brand-emblem img,
  .home-page .header-logo-emblem img,
  .home-page img.site-logo,
  .home-page img.site-brand-logo,
  .home-page img.gs-site-logo,
  .home-page img.gs-brand-logo,
  .home-page img.brand-logo,
  .home-page img.header-brand-logo {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .home-page .home-brand-emblem,
  .home-page .home-hero-emblem,
  .home-page .home-main-emblem,
  .home-page .home-logo-emblem,
  .home-page .hero-brand-emblem,
  .home-page .hero-logo-emblem,
  .home-page .home-brand-mark {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
  }

  .home-page .home-brand-emblem img,
  .home-page .home-hero-emblem img,
  .home-page .home-main-emblem img,
  .home-page .home-logo-emblem img,
  .home-page .hero-brand-emblem img,
  .home-page .hero-logo-emblem img,
  .home-page .home-brand-mark img,
  .home-page img.home-brand-logo,
  .home-page img.home-hero-logo,
  .home-page img.hero-brand-logo {
    width: 76px !important;
    height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
  }
}

/* P73-A｜Premium paywall prepared but controlled by feature flag */
.gs-premium-locked {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(216, 181, 109, 0.34);
}

.gs-premium-locked .gs-premium-blur {
  filter: blur(4px);
  opacity: 0.58;
  user-select: none;
  pointer-events: none;
}

.gs-premium-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 20%, rgba(216, 181, 109, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(5, 10, 24, 0.36), rgba(5, 10, 24, 0.86));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.gs-premium-overlay-card {
  max-width: 360px;
  padding: 20px;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.045)),
    rgba(8, 16, 36, 0.72);
  border: 1px solid rgba(216, 181, 109, 0.46);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 18px 38px rgba(0, 0, 0, 0.34),
    0 0 22px rgba(216, 181, 109, 0.14);
}

.gs-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  color: #f4d88a;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.gs-premium-title {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
}

.gs-premium-copy {
  margin: 0 0 14px;
  color: rgba(226, 237, 255, 0.78);
  font-size: 13px;
  line-height: 1.65;
}

.gs-premium-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #101318;
  font-weight: 900;
  text-decoration: none;
  background: linear-gradient(90deg, #d8b56d, #f4d88a);
  box-shadow: 0 8px 22px rgba(216, 181, 109, 0.22);
}

.gs-premium-secondary-btn {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(216, 181, 109, 0.34);
  color: rgba(232, 240, 255, 0.88);
  background: rgba(255, 255, 255, 0.06);
  cursor: pointer;
}

.gs-premium-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(2, 6, 16, 0.66);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.gs-premium-modal__card {
  width: min(420px, 100%);
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(216, 181, 109, 0.42);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.045)),
    rgba(8, 16, 36, 0.9);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.gs-premium-modal__actions,
.premium-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.sa-premium-nav,
.gs-nav a[href="/premium"] {
  color: #f4d88a !important;
  border-color: rgba(216, 181, 109, 0.34);
}

.premium-main {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 72px 0 56px;
}

.premium-hero,
.premium-feature-grid article,
.premium-trial-note {
  border: 1px solid rgba(216, 181, 109, 0.24);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
    rgba(8, 16, 36, 0.56);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.premium-hero {
  padding: clamp(28px, 6vw, 64px);
  border-radius: 30px;
}

.premium-kicker {
  margin: 0 0 10px;
  color: #f4d88a;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.premium-hero h1 {
  margin: 0 0 14px;
  color: #fff6da;
  font-size: clamp(34px, 7vw, 72px);
  line-height: 1.02;
}

.premium-hero p,
.premium-trial-note p,
.premium-feature-grid p,
.premium-actions span {
  color: rgba(226, 237, 255, 0.78);
  line-height: 1.75;
}

.premium-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.premium-feature-grid article,
.premium-trial-note {
  padding: 22px;
  border-radius: 22px;
}

.premium-feature-grid span {
  color: #f4d88a;
  font-weight: 900;
}

.premium-feature-grid h2,
.premium-trial-note h2 {
  margin: 8px 0;
  color: #ffffff;
  font-size: 18px;
}

.js-premium-gate:not(.gs-premium-locked) {
  position: relative;
}

.gs-premium-mini-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 0 7px;
  border-radius: 999px;
  color: #101318;
  background: linear-gradient(90deg, #d8b56d, #f4d88a);
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 820px) {
  .premium-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .premium-main {
    width: min(100% - 24px, 1120px);
    padding-top: 36px;
  }

  .premium-feature-grid {
    grid-template-columns: 1fr;
  }

  .gs-premium-modal {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-entry-card,
  .p19-full-rank-card,
  .p64-ranking-change-column,
  .p59-watch-card,
  .p67-quick-links a,
  button,
  a { transition-duration: .01ms !important; }
}

/* P71-J final cascade guard: keep the branded leather desk above legacy theme layers. */
body.michelle-theme.home-page {
  background:
    radial-gradient(ellipse 58% 44% at 0% 0%, rgba(107, 61, 35, .52), transparent 72%),
    radial-gradient(ellipse 54% 42% at 100% 0%, rgba(93, 50, 30, .48), transparent 72%),
    radial-gradient(ellipse 76% 62% at 50% 31%, rgba(15, 53, 91, .42), transparent 78%),
    linear-gradient(145deg, #160d0a 0%, #07111f 31%, #06162a 66%, #160d0b 100%) !important;
}

body.michelle-theme.home-page::before {
  background:
    repeating-linear-gradient(38deg, rgba(255,255,255,.022) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(128deg, rgba(0,0,0,.07) 0 1px, transparent 1px 9px),
    radial-gradient(circle at 23% 18%, rgba(210,153,91,.10), transparent 30%),
    radial-gradient(circle at 78% 64%, rgba(45,115,180,.09), transparent 38%) !important;
  opacity: .78;
}

body.michelle-theme.home-page::after {
  background:
    radial-gradient(ellipse 39% 33% at 0% 0%, rgba(116,67,39,.55), transparent 74%),
    radial-gradient(ellipse 36% 31% at 100% 0%, rgba(104,57,34,.49), transparent 74%),
    radial-gradient(ellipse 35% 28% at 0% 100%, rgba(79,42,27,.34), transparent 76%),
    radial-gradient(ellipse 35% 28% at 100% 100%, rgba(79,42,27,.32), transparent 76%),
    radial-gradient(ellipse at center, transparent 42%, rgba(0,0,0,.48) 100%) !important;
  opacity: .94;
}

.home-page .home-hero-search {
  padding: 3px !important;
}

.home-page .home-hero-search form {
  min-height: 44px !important;
}

.home-page .home-hero-search input {
  min-height: 42px !important;
}

.home-page .home-hero-search button {
  height: 38px !important;
  min-height: 38px !important;
}

/* P71-K: visible navy leather notebook resting on a wood desktop. */
body.michelle-theme.home-page {
  background:
    radial-gradient(ellipse 70% 54% at 50% 8%, rgba(104, 59, 32, .30), transparent 72%),
    linear-gradient(145deg, #25150d 0%, #100b09 38%, #080b10 100%) !important;
}

body.michelle-theme.home-page::before,
body.michelle-theme.home-page::after {
  content: none !important;
}

.home-page .home-leather-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  min-height: calc(100vh - 86px);
  background:
    radial-gradient(circle at 50% 20%, rgba(74, 42, 22, .28), transparent 42%),
    linear-gradient(135deg, #180f0b 0%, #080b10 44%, #06080d 100%) !important;
}

.home-leather-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.home-content-layer {
  position: relative;
  z-index: 2;
  min-height: inherit;
  padding-block: clamp(38px, 6vh, 76px) clamp(52px, 7vh, 92px);
}

.home-leather-panel {
  position: absolute;
  left: clamp(18px, 4vw, 72px);
  right: clamp(18px, 4vw, 72px);
  top: 34px;
  bottom: 30px;
  z-index: 0;
  overflow: hidden;
  border: 1px solid rgba(203, 164, 104, .21);
  border-radius: 30px;
  outline: 1px solid rgba(216, 181, 109, .07);
  background:
    radial-gradient(circle at 48% 24%, rgba(55, 108, 150, .38), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 22%),
    linear-gradient(225deg, rgba(255,255,255,.035), transparent 24%),
    linear-gradient(135deg, #0c263e 0%, #071a2b 46%, #03101b 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -22px 44px rgba(0,0,0,.38),
    inset 0 0 90px rgba(0,0,0,.28),
    0 26px 72px rgba(0,0,0,.56);
}

.home-leather-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    repeating-linear-gradient(34deg, rgba(255,255,255,.05) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(124deg, rgba(0,0,0,.24) 0 1px, transparent 1px 7px),
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.075), transparent 48%);
  opacity: .82;
  mix-blend-mode: soft-light;
}

.home-leather-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.12) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(0,0,0,.18) 0 1px, transparent 1px);
  background-size: 9px 9px, 13px 13px;
  background-position: 0 0, 4px 7px;
  opacity: .13;
}

.home-leather-panel-stitch {
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px dashed rgba(216, 181, 109, .22);
  border-radius: 22px;
}

.home-wood-corner {
  position: absolute;
  z-index: 1;
  width: clamp(220px, 26vw, 420px);
  height: clamp(120px, 16vw, 230px);
  opacity: .88;
  filter: saturate(.95) contrast(1.08);
}

.home-wood-corner--left {
  top: -58px;
  left: -72px;
  transform: rotate(-13deg);
  border-radius: 0 0 28px;
  background:
    repeating-linear-gradient(100deg, rgba(255,228,180,.10) 0 2px, transparent 2px 11px),
    repeating-linear-gradient(12deg, rgba(0,0,0,.18) 0 2px, transparent 2px 16px),
    linear-gradient(135deg, rgba(126,72,38,.96), rgba(42,21,12,.82));
  box-shadow: 14px 18px 38px rgba(0,0,0,.50), inset -10px -12px 26px rgba(0,0,0,.34);
}

.home-wood-corner--right {
  top: -62px;
  right: -76px;
  transform: rotate(14deg);
  border-radius: 0 0 0 28px;
  background:
    repeating-linear-gradient(84deg, rgba(255,228,180,.10) 0 2px, transparent 2px 11px),
    repeating-linear-gradient(-12deg, rgba(0,0,0,.18) 0 2px, transparent 2px 16px),
    linear-gradient(225deg, rgba(126,72,38,.96), rgba(42,21,12,.82));
  box-shadow: -14px 18px 38px rgba(0,0,0,.50), inset 10px -12px 26px rgba(0,0,0,.34);
}

.home-leather-stage .home-brand-hero,
.home-leather-stage .home-entry-grid,
.home-leather-stage .p30-home-landing,
.home-leather-stage .home-entry-section {
  background: transparent !important;
}

.home-leather-stage .home-entry-grid {
  margin-top: clamp(34px, 5vh, 54px);
}

.home-leather-stage .home-hero-search {
  width: min(100%, 540px);
  margin-top: 20px;
}

@media (max-width: 640px) {
  .home-page .home-leather-stage { min-height: calc(100vh - 74px); }
  .home-content-layer { padding-block: 32px 54px; }
  .home-leather-panel { left: 10px; right: 10px; top: 22px; bottom: 20px; border-radius: 22px; }
  .home-leather-panel-stitch { inset: 12px; border-radius: 16px; }
  .home-wood-corner { width: 168px; height: 108px; opacity: .62; }
  .home-wood-corner--left { top: -42px; left: -46px; }
  .home-wood-corner--right { top: -44px; right: -48px; }
}

/* P71-L: one complete diagonal notebook background asset. */
.home-page .home-leather-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: calc(100vh - 86px);
  background-color: #050b14 !important;
  background-image:
    linear-gradient(rgba(2, 7, 17, .03), rgba(2, 7, 17, .08)),
    url("/assets/backgrounds/stocklab-home-notebook-bg.png") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

.home-leather-bg,
.home-leather-panel,
.home-leather-panel-stitch,
.home-wood-corner,
.home-wood-corner--left,
.home-wood-corner--right,
.home-leather-corner,
.home-leather-corner--left,
.home-leather-corner--right {
  display: none !important;
}

.home-page .home-content-layer {
  position: relative;
  z-index: 2;
  min-height: inherit;
  padding-block: clamp(42px, 5vh, 66px) clamp(50px, 7vh, 88px);
}

.home-page .home-brand-hero {
  padding-top: 0;
  padding-bottom: 16px;
  background: transparent !important;
}

.home-page .home-entry-grid {
  margin-top: clamp(28px, 4vh, 44px);
  background: transparent !important;
}

@media (max-width: 640px) {
  .home-page .home-leather-stage {
    min-height: calc(100vh - 74px);
    background-size: auto 100% !important;
    background-position: center top !important;
  }
  .home-page .home-content-layer { padding-block: 34px 54px; }
}

/* P71-M｜Real premium notebook background image */
.home-leather-stage,
.home-page,
.home-luxury-shell,
body.michelle-theme.home-page,
.home-page .home-leather-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  background-color: #05080d !important;
  background-image:
    linear-gradient(
      180deg,
      rgba(2, 7, 17, 0.12) 0%,
      rgba(2, 7, 17, 0.02) 34%,
      rgba(2, 7, 17, 0.18) 100%
    ),
    url("/assets/backgrounds/stocklab-home-notebook-bg.png") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* P-HOME-P0: the page root must keep native document scrolling.
   P71-M's decorative clipping remains on the leather wrappers only. */
body.michelle-theme.home-page {
  overflow-x: clip;
  overflow-y: visible;
}

.home-leather-bg,
.home-leather-panel,
.home-leather-panel-stitch,
.home-wood-corner,
.home-wood-corner--left,
.home-wood-corner--right,
.home-leather-corner,
.home-leather-corner--left,
.home-leather-corner--right {
  display: none !important;
}

.home-brand-hero,
.p30-home-panel,
.p30-home-landing,
.home-entry-section,
.home-entry-grid,
.p30-home-main {
  background: transparent !important;
}

/* P71-N｜Inner page quiet leather background */
body.gs-inner-page,
.gs-inner-shell,
.ranking-page,
.market-page,
.watchlist-page,
.member-page,
.stock-page,
.admin-page,
body.michelle-theme.p19-rank-page.gs-inner-page,
body.michelle-theme.stock-analysis-page.gs-inner-page,
body.michelle-theme.member-center-page.gs-inner-page {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% 8%, rgba(56, 118, 190, 0.20), transparent 30%),
    radial-gradient(circle at 12% 18%, rgba(216, 181, 109, 0.08), transparent 28%),
    linear-gradient(135deg, #020713 0%, #061326 46%, #081d35 100%) !important;
  color: var(--lux-text-main, #ffffff);
}

body.gs-inner-page::before,
.gs-inner-shell::before,
.ranking-page::before,
.market-page::before,
.watchlist-page::before,
.member-page::before,
.stock-page::before,
.admin-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      38deg,
      rgba(255, 255, 255, 0.018) 0px,
      rgba(255, 255, 255, 0.018) 1px,
      transparent 1px,
      transparent 6px
    ),
    repeating-linear-gradient(
      128deg,
      rgba(0, 0, 0, 0.10) 0px,
      rgba(0, 0, 0, 0.10) 1px,
      transparent 1px,
      transparent 9px
    ),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.045), transparent 36%);
  opacity: 0.58;
}

body.gs-inner-page::after,
.gs-inner-shell::after,
.ranking-page::after,
.market-page::after,
.watchlist-page::after,
.member-page::after,
.stock-page::after,
.admin-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 24%, transparent 0%, rgba(0, 0, 0, 0.18) 78%),
    linear-gradient(180deg, rgba(0,0,0,0.18), transparent 24%, rgba(0,0,0,0.24));
}

body.gs-inner-page > *,
.gs-inner-shell > *,
.ranking-page > *,
.market-page > *,
.watchlist-page > *,
.member-page > *,
.stock-page > *,
.admin-page > * {
  position: relative;
  z-index: 1;
}

.gs-inner-shell .page-title,
.ranking-page .page-title,
.market-page .page-title,
.watchlist-page .page-title,
.member-page .page-title,
.stock-page .page-title,
.admin-page .page-title,
.p19-rk-hero h1,
.mi-hero h1,
.p67-member-hero h1,
.p67-login-state h1,
.p59-watch-hero h1,
.stock-analysis-page .stock-identity h1,
.admin-page .an-hero h1,
.p70-hero h1 {
  position: relative;
}

.gs-inner-shell .page-title::before,
.ranking-page .page-title::before,
.market-page .page-title::before,
.watchlist-page .page-title::before,
.member-page .page-title::before,
.stock-page .page-title::before,
.admin-page .page-title::before,
.p19-rk-hero h1::before,
.mi-hero h1::before,
.p67-member-hero h1::before,
.p67-login-state h1::before,
.p59-watch-hero h1::before,
.stock-analysis-page .stock-identity h1::before,
.admin-page .an-hero h1::before,
.p70-hero h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: -18px;
  width: 160px;
  height: 2px;
  background: linear-gradient(90deg, rgba(216,181,109,0.66), rgba(126,200,255,0));
  border-radius: 999px;
}

.page-shell,
.content-shell,
.main-panel,
.ranking-container,
.stock-container,
.member-container,
.gs-inner-page .p19-rk-board,
.gs-inner-page .mi-hero,
.gs-inner-page .p67-member-hero,
.gs-inner-page .p67-login-state,
.gs-inner-page .p59-watch-hero,
.gs-inner-page .stock-hero-clean,
.gs-inner-page .an-hero,
.gs-inner-page .p70-hero {
  background: rgba(5, 12, 28, 0.38) !important;
}

.ranking-card,
.stock-card,
.market-card,
.watchlist-card,
.member-card,
.admin-card,
.gs-inner-page .p19-full-rank-card,
.gs-inner-page .p64-ranking-changes,
.gs-inner-page .mi-card,
.gs-inner-page .mi-signal-card,
.gs-inner-page .p59-watch-card,
.gs-inner-page .p61-watchlist-alerts,
.gs-inner-page .p67-card,
.gs-inner-page .sa-summary,
.gs-inner-page .sa-chart-card,
.gs-inner-page .sa-highlights-panel,
.gs-inner-page .sa-structure-panel,
.gs-inner-page .sa-risk-compact-panel,
.gs-inner-page .sa-accordion,
.gs-inner-page .an-card,
.gs-inner-page .p70-member-list > *,
.gs-inner-page .p70-search {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.115) 0%,
      rgba(255, 255, 255, 0.052) 38%,
      rgba(4, 12, 30, 0.62) 100%
    ),
    rgba(4, 12, 30, 0.42) !important;
  border-color: rgba(160, 210, 255, 0.30) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -1px 0 rgba(0, 0, 0, 0.42),
    0 14px 32px rgba(0, 0, 0, 0.34),
    0 0 14px rgba(74, 176, 255, 0.10) !important;
}

.member-page,
.watchlist-page,
body.gs-inner-page.member-page,
body.gs-inner-page.watchlist-page {
  background:
    radial-gradient(circle at 84% 8%, rgba(74, 176, 255, 0.18), transparent 30%),
    radial-gradient(circle at 10% 12%, rgba(216, 181, 109, 0.10), transparent 28%),
    linear-gradient(135deg, #020713 0%, #061326 48%, #081d35 100%) !important;
}

.admin-page,
body.admin-page {
  background:
    radial-gradient(circle at 88% 6%, rgba(74, 176, 255, 0.12), transparent 28%),
    linear-gradient(135deg, #020713 0%, #07101d 48%, #061426 100%) !important;
}

.gs-inner-page .home-leather-stage,
.gs-inner-page.home-page {
  background-image: none !important;
}

@media (max-width: 640px) {
  body.gs-inner-page,
  .gs-inner-shell,
  .ranking-page,
  .market-page,
  .watchlist-page,
  .member-page,
  .stock-page,
  .admin-page {
    overflow-x: hidden;
    background-attachment: scroll !important;
  }

  .ranking-card,
  .stock-card,
  .market-card,
  .watchlist-card,
  .member-card,
  .admin-card,
  .gs-inner-page .p19-full-rank-card,
  .gs-inner-page .mi-card,
  .gs-inner-page .p59-watch-card,
  .gs-inner-page .p67-card,
  .gs-inner-page .an-card {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.22),
      0 10px 22px rgba(0,0,0,0.28) !important;
  }
}

/* P71-N-2｜Inner page background visibility calibration */
body.gs-inner-page,
.gs-inner-shell,
.ranking-page,
.market-page,
.watchlist-page,
.member-page,
.stock-page,
body.michelle-theme.p19-rank-page.gs-inner-page,
body.michelle-theme.stock-analysis-page.gs-inner-page,
body.michelle-theme.member-center-page.gs-inner-page {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% 6%, rgba(74, 156, 235, 0.30), transparent 34%),
    radial-gradient(circle at 12% 14%, rgba(216, 181, 109, 0.13), transparent 30%),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.055), transparent 34%),
    linear-gradient(135deg, #031026 0%, #082044 46%, #061528 100%) !important;
  color: var(--lux-text-main, #ffffff);
}

.gs-inner-shell::before,
.ranking-page::before,
.market-page::before,
.watchlist-page::before,
.member-page::before,
.stock-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      38deg,
      rgba(255, 255, 255, 0.035) 0px,
      rgba(255, 255, 255, 0.035) 1px,
      transparent 1px,
      transparent 6px
    ),
    repeating-linear-gradient(
      128deg,
      rgba(0, 0, 0, 0.16) 0px,
      rgba(0, 0, 0, 0.16) 1px,
      transparent 1px,
      transparent 9px
    ),
    radial-gradient(circle at 50% 6%, rgba(255, 255, 255, 0.06), transparent 42%);
  opacity: 0.72;
}

.gs-inner-shell::after,
.ranking-page::after,
.market-page::after,
.watchlist-page::after,
.member-page::after,
.stock-page::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 22%, transparent 0%, rgba(0, 0, 0, 0.12) 76%),
    linear-gradient(180deg, rgba(0,0,0,0.10), transparent 28%, rgba(0,0,0,0.18));
}

.gs-inner-shell > *,
.ranking-page > *,
.market-page > *,
.watchlist-page > *,
.member-page > *,
.stock-page > * {
  position: relative;
  z-index: 1;
}

.page-shell,
.content-shell,
.main-panel,
.ranking-container,
.stock-container,
.member-container,
.watchlist-container,
.market-container,
.gs-inner-page .p19-rk-board,
.gs-inner-page .mi-hero,
.gs-inner-page .p67-member-hero,
.gs-inner-page .p67-login-state,
.gs-inner-page .p59-watch-hero,
.gs-inner-page .stock-hero-clean,
.gs-inner-page .an-hero,
.gs-inner-page .p70-hero {
  background: rgba(5, 12, 28, 0.34) !important;
}

.ranking-card,
.stock-card,
.market-card,
.watchlist-card,
.member-card,
.gs-inner-page .p19-full-rank-card,
.gs-inner-page .p64-ranking-changes,
.gs-inner-page .mi-card,
.gs-inner-page .mi-signal-card,
.gs-inner-page .p59-watch-card,
.gs-inner-page .p61-watchlist-alerts,
.gs-inner-page .p67-card,
.gs-inner-page .sa-summary,
.gs-inner-page .sa-chart-card,
.gs-inner-page .sa-highlights-panel,
.gs-inner-page .sa-structure-panel,
.gs-inner-page .sa-risk-compact-panel,
.gs-inner-page .sa-accordion {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.13) 0%,
      rgba(255, 255, 255, 0.062) 38%,
      rgba(4, 12, 30, 0.58) 100%
    ),
    rgba(4, 12, 30, 0.38) !important;
  border-color: rgba(170, 218, 255, 0.34) !important;
}

.admin-page,
body.admin-page {
  background:
    radial-gradient(circle at 88% 6%, rgba(74, 176, 255, 0.16), transparent 28%),
    linear-gradient(135deg, #020713 0%, #07101d 48%, #061426 100%) !important;
}

.admin-page::before,
body.admin-page::before {
  opacity: 0.38;
}

@media (max-width: 640px) {
  .gs-inner-shell::before,
  .ranking-page::before,
  .market-page::before,
  .watchlist-page::before,
  .member-page::before,
  .stock-page::before {
    opacity: 0.62;
  }

  .ranking-card,
  .stock-card,
  .market-card,
  .watchlist-card,
  .member-card,
  .gs-inner-page .p19-full-rank-card,
  .gs-inner-page .mi-card,
  .gs-inner-page .p59-watch-card,
  .gs-inner-page .p67-card {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.22),
      0 10px 22px rgba(0,0,0,0.28) !important;
  }
}

/* =========================================================
   P71-O｜Logo safe fit fix
   Header logo / homepage hero logo must render complete artwork.
   ========================================================= */
.home-page .site-brand,
.home-page .brand-lockup,
.home-page .gs-brand,
.home-page .gs-brand-lockup,
.home-page .home-brand-lockup,
.home-page .home-brand-identity,
.home-page .home-hero-brand,
.home-page .home-brand-hero {
  overflow: visible !important;
}

.home-page .site-logo,
.home-page .site-brand-logo,
.home-page .gs-site-logo,
.home-page .gs-brand-logo,
.home-page .brand-logo-frame,
.home-page .brand-logo-box,
.home-page .home-header-emblem,
.home-page .header-brand-emblem,
.home-page .header-logo-emblem {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035)),
    rgba(6, 14, 32, 0.46) !important;
  border: 1px solid rgba(216, 181, 109, 0.36) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    0 8px 20px rgba(0,0,0,0.28) !important;
}

.home-page .site-logo img,
.home-page .site-brand-logo img,
.home-page .gs-site-logo img,
.home-page .gs-brand-logo img,
.home-page .brand-logo-frame img,
.home-page .brand-logo-box img,
.home-page .home-header-emblem img,
.home-page .header-brand-emblem img,
.home-page .header-logo-emblem img,
.home-page img.site-logo,
.home-page img.site-brand-logo,
.home-page img.gs-site-logo,
.home-page img.gs-brand-logo,
.home-page img.brand-logo,
.home-page img.header-brand-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 10px !important;
  transform: none !important;
}

.home-page .site-logo,
.home-page .site-brand-logo,
.home-page .gs-site-logo,
.home-page .gs-brand-logo,
.home-page .brand-logo-frame,
.home-page .brand-logo-box,
.home-page .home-header-emblem,
.home-page .header-brand-emblem,
.home-page .header-logo-emblem {
  background-size: contain, auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.home-page .home-brand-emblem,
.home-page .home-hero-emblem,
.home-page .home-main-emblem,
.home-page .home-logo-emblem,
.home-page .hero-brand-emblem,
.home-page .hero-logo-emblem,
.home-page .home-brand-mark {
  width: 118px !important;
  height: 118px !important;
  min-width: 118px !important;
  min-height: 118px !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.035)),
    rgba(6, 14, 32, 0.38) !important;
  border: 1px solid rgba(216, 181, 109, 0.40) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.26),
    0 18px 38px rgba(0,0,0,0.32),
    0 0 24px rgba(90, 160, 255, 0.13) !important;
}

.home-page .home-brand-emblem img,
.home-page .home-hero-emblem img,
.home-page .home-main-emblem img,
.home-page .home-logo-emblem img,
.home-page .hero-brand-emblem img,
.home-page .hero-logo-emblem img,
.home-page .home-brand-mark img,
.home-page img.home-brand-logo,
.home-page img.home-hero-logo,
.home-page img.hero-brand-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
  transform: none !important;
}

.home-page .home-brand-emblem,
.home-page .home-hero-emblem,
.home-page .home-main-emblem,
.home-page .home-logo-emblem,
.home-page .hero-brand-emblem,
.home-page .hero-logo-emblem,
.home-page .home-brand-mark {
  background-size: contain, auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.home-page .home-brand-hero .home-brand-emblem,
.home-page .home-brand-hero .home-hero-emblem,
.home-page .home-brand-hero .home-main-emblem,
.home-page .home-brand-hero .home-logo-emblem,
.home-page .home-brand-hero .hero-brand-emblem,
.home-page .home-brand-hero .hero-logo-emblem,
.home-page .home-brand-hero .home-brand-mark {
  overflow: visible !important;
}

@media (max-width: 640px) {
  .home-page .site-logo,
  .home-page .site-brand-logo,
  .home-page .gs-site-logo,
  .home-page .gs-brand-logo,
  .home-page .brand-logo-frame,
  .home-page .brand-logo-box,
  .home-page .home-header-emblem,
  .home-page .header-brand-emblem,
  .home-page .header-logo-emblem {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 5px !important;
    border-radius: 14px !important;
  }

  .home-page .home-brand-emblem,
  .home-page .home-hero-emblem,
  .home-page .home-main-emblem,
  .home-page .home-logo-emblem,
  .home-page .hero-brand-emblem,
  .home-page .hero-logo-emblem,
  .home-page .home-brand-mark {
    width: 86px !important;
    height: 86px !important;
    min-width: 86px !important;
    min-height: 86px !important;
    padding: 9px !important;
    border-radius: 22px !important;
  }

  .home-page .home-brand-emblem img,
  .home-page .home-hero-emblem img,
  .home-page .home-main-emblem img,
  .home-page .home-logo-emblem img,
  .home-page .hero-brand-emblem img,
  .home-page .hero-logo-emblem img,
  .home-page .home-brand-mark img,
  .home-page img.home-brand-logo,
  .home-page img.home-hero-logo,
  .home-page img.hero-brand-logo {
    border-radius: 14px !important;
  }
}

/* =========================================================
   P71-O2｜Logo premium refinement final override
   Must stay after P71-O safe-fit rules.
   ========================================================= */
.home-page .site-logo,
.home-page .site-brand-logo,
.home-page .gs-site-logo,
.home-page .gs-brand-logo,
.home-page .brand-logo-frame,
.home-page .brand-logo-box,
.home-page .home-header-emblem,
.home-page .header-brand-emblem,
.home-page .header-logo-emblem {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .site-logo img,
.home-page .site-brand-logo img,
.home-page .gs-site-logo img,
.home-page .gs-brand-logo img,
.home-page .brand-logo-frame img,
.home-page .brand-logo-box img,
.home-page .home-header-emblem img,
.home-page .header-brand-emblem img,
.home-page .header-logo-emblem img,
.home-page img.site-logo,
.home-page img.site-brand-logo,
.home-page img.gs-site-logo,
.home-page img.gs-brand-logo,
.home-page img.brand-logo,
.home-page img.header-brand-logo {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow:
    0 0 10px rgba(216, 181, 109, 0.22),
    0 4px 12px rgba(0, 0, 0, 0.22) !important;
  filter:
    drop-shadow(0 0 6px rgba(216, 181, 109, 0.20))
    drop-shadow(0 4px 8px rgba(0, 0, 0, 0.24));
  transform: none !important;
}

.home-page .home-brand-emblem,
.home-page .home-hero-emblem,
.home-page .home-main-emblem,
.home-page .home-logo-emblem,
.home-page .hero-brand-emblem,
.home-page .hero-logo-emblem,
.home-page .home-brand-mark {
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-page .home-brand-emblem img,
.home-page .home-hero-emblem img,
.home-page .home-main-emblem img,
.home-page .home-logo-emblem img,
.home-page .hero-brand-emblem img,
.home-page .hero-logo-emblem img,
.home-page .home-brand-mark img,
.home-page img.home-brand-logo,
.home-page img.home-hero-logo,
.home-page img.hero-brand-logo {
  width: 104px !important;
  height: 104px !important;
  max-width: 104px !important;
  max-height: 104px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  filter:
    drop-shadow(0 0 14px rgba(216, 181, 109, 0.22))
    drop-shadow(0 10px 24px rgba(0, 0, 0, 0.36));
}

@media (max-width: 640px) {
  .home-page .site-logo,
  .home-page .site-brand-logo,
  .home-page .gs-site-logo,
  .home-page .gs-brand-logo,
  .home-page .brand-logo-frame,
  .home-page .brand-logo-box,
  .home-page .home-header-emblem,
  .home-page .header-brand-emblem,
  .home-page .header-logo-emblem {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .home-page .site-logo img,
  .home-page .site-brand-logo img,
  .home-page .gs-site-logo img,
  .home-page .gs-brand-logo img,
  .home-page .brand-logo-frame img,
  .home-page .brand-logo-box img,
  .home-page .home-header-emblem img,
  .home-page .header-brand-emblem img,
  .home-page .header-logo-emblem img,
  .home-page img.site-logo,
  .home-page img.site-brand-logo,
  .home-page img.gs-site-logo,
  .home-page img.gs-brand-logo,
  .home-page img.brand-logo,
  .home-page img.header-brand-logo {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .home-page .home-brand-emblem,
  .home-page .home-hero-emblem,
  .home-page .home-main-emblem,
  .home-page .home-logo-emblem,
  .home-page .hero-brand-emblem,
  .home-page .hero-logo-emblem,
  .home-page .home-brand-mark {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .home-page .home-brand-emblem img,
  .home-page .home-hero-emblem img,
  .home-page .home-main-emblem img,
  .home-page .home-logo-emblem img,
  .home-page .hero-brand-emblem img,
  .home-page .hero-logo-emblem img,
  .home-page .home-brand-mark img,
  .home-page img.home-brand-logo,
  .home-page img.home-hero-logo,
  .home-page img.hero-brand-logo {
    width: 76px !important;
    height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
    border-radius: 0 !important;
  }
}

/* P75-L2｜Final header wordmark override */
.site-brand-wordmark,
.brand-header .site-brand-wordmark,
.home-page .site-brand-wordmark {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  min-width: max-content !important;
  padding: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.site-brand-wordmark .site-brand-main {
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap;
  background: linear-gradient(180deg, #fff4c2 0%, #f6d36f 34%, #b77a22 58%, #fff0a6 78%, #7c4b13 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 4px rgba(0, 0, 0, 0.52),
    0 0 10px rgba(245, 195, 80, 0.16) !important;
}

.site-brand-wordmark .site-brand-sub {
  display: inline !important;
  margin: 0 !important;
  color: rgba(255, 226, 155, 0.86) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.16em !important;
  white-space: nowrap;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.55),
    0 0 8px rgba(245, 195, 80, 0.12) !important;
}

header .site-brand-wordmark img,
.home-page .home-header-emblem {
  display: none !important;
}

@media (max-width: 520px) {
  .site-brand-wordmark,
  .brand-header .site-brand-wordmark,
  .home-page .site-brand-wordmark {
    gap: 0 !important;
  }

  .site-brand-wordmark .site-brand-main {
    font-size: 19px !important;
    letter-spacing: 0.06em !important;
  }

  .site-brand-wordmark .site-brand-sub {
    display: none !important;
  }
}

/* P75-L3｜Premium metallic homepage hero wordmark */
.home-page .home-brand-lockup {
  position: relative !important;
  isolation: isolate !important;
  display: inline-flex !important;
  justify-content: center !important;
  text-align: center !important;
}

.home-page .home-brand-lockup::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 44%;
  width: min(720px, 90vw);
  height: 250px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background:
    radial-gradient(
      ellipse at center,
      rgba(255, 207, 104, 0.20) 0%,
      rgba(227, 157, 51, 0.10) 34%,
      rgba(5, 12, 24, 0) 70%
    );
  filter: blur(22px);
}

.home-page .home-brand-text {
  position: relative;
  z-index: 1;
  text-align: center !important;
}

.home-page .home-brand-text .home-brand-main {
  position: relative;
  display: inline-block;
  margin: 0;
  color: transparent !important;
  font-size: clamp(68px, 7.2vw, 94px) !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: 0.06em !important;
  background:
    linear-gradient(
      180deg,
      #fffbe4 0%,
      #ffe797 12%,
      #f7c85a 28%,
      #b87922 46%,
      #fff1aa 58%,
      #d69a31 72%,
      #7b4310 100%
    ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-stroke: 1px rgba(255, 240, 170, 0.38);
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.42),
    0 3px 0 rgba(126, 75, 18, 0.55),
    0 8px 12px rgba(0, 0, 0, 0.72),
    0 0 10px rgba(255, 205, 90, 0.30),
    0 0 28px rgba(255, 190, 70, 0.18) !important;
  filter:
    drop-shadow(0 10px 14px rgba(0, 0, 0, 0.70))
    drop-shadow(0 0 16px rgba(245, 185, 70, 0.20));
}

.home-page .home-brand-text .home-brand-main::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  color: transparent;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.16) 0,
      rgba(255, 255, 255, 0.16) 1px,
      rgba(255, 255, 255, 0.02) 2px,
      rgba(0, 0, 0, 0.10) 3px
    );
  -webkit-background-clip: text;
  background-clip: text;
  mix-blend-mode: soft-light;
  opacity: 0.32;
}

.home-page .home-brand-text .home-brand-sub {
  position: relative;
  display: block !important;
  width: max-content;
  margin: 12px auto 0 !important;
  color: transparent !important;
  font-size: clamp(18px, 1.55vw, 23px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.22em !important;
  background:
    linear-gradient(
      180deg,
      #fff3bd 0%,
      #e6bc5c 42%,
      #a76a1b 72%,
      #fff0ad 100%
    ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.30),
    0 3px 6px rgba(0, 0, 0, 0.66),
    0 0 12px rgba(245, 190, 70, 0.20) !important;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.48));
}

@media (max-width: 520px) {
  .home-page .home-brand-lockup::before {
    width: 96vw;
    height: 190px;
    opacity: 0.82;
    filter: blur(18px);
  }

  .home-page .home-brand-text .home-brand-main {
    font-size: clamp(58px, 18vw, 74px) !important;
    letter-spacing: 0.02em !important;
    -webkit-text-stroke-width: 0.6px;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.38),
      0 2px 0 rgba(126, 75, 18, 0.50),
      0 7px 11px rgba(0, 0, 0, 0.68),
      0 0 9px rgba(255, 205, 90, 0.25),
      0 0 22px rgba(255, 190, 70, 0.15) !important;
  }

  .home-page .home-brand-text .home-brand-sub {
    margin-top: 10px !important;
    font-size: 18px !important;
    letter-spacing: 0.18em !important;
  }
}

/* P75-L4｜Metal power homepage hero */
.home-page .home-brand-lockup::before {
  content: none !important;
}

.home-page .home-brand-text {
  position: relative !important;
  isolation: isolate !important;
  text-align: center !important;
}

.home-page .home-brand-text::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 42%;
  z-index: -1;
  width: min(760px, 88vw);
  height: 280px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background:
    radial-gradient(
      ellipse at center,
      rgba(252, 218, 130, 0.26) 0%,
      rgba(225, 174, 70, 0.15) 32%,
      rgba(0, 0, 0, 0) 70%
    );
  filter: blur(24px);
}

.home-page .home-brand-text .home-brand-main {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0;
  color: transparent !important;
  font-size: clamp(96px, 10.5vw, 150px) !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: 0.035em !important;
  background:
    linear-gradient(
      135deg,
      #fff8d8 0%,
      #fce8b2 10%,
      #e1b65e 25%,
      #b8860b 43%,
      #f7d681 57%,
      #e9c47a 72%,
      #8a6415 100%
    ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-stroke: 1.2px rgba(255, 235, 165, 0.55);
  text-shadow:
    0 -1px 1px rgba(255, 255, 255, 0.72),
    0 0 12px rgba(233, 196, 122, 0.58),
    0 0 30px rgba(212, 175, 55, 0.26),
    1px 1px 0 #b8860b,
    2px 2px 0 #a07304,
    3px 3px 0 #886000,
    4px 4px 0 #704e00,
    5px 5px 0 #583d00,
    5px 7px 10px rgba(0, 0, 0, 0.76),
    5px 12px 20px rgba(0, 0, 0, 0.46) !important;
  filter:
    drop-shadow(0 0 10px rgba(252, 215, 120, 0.35))
    drop-shadow(0 8px 10px rgba(0, 0, 0, 0.75));
}

.home-page .home-brand-text .home-brand-main::after {
  content: none !important;
}

.home-page .home-brand-text .home-brand-sub {
  display: block !important;
  width: max-content;
  margin: 14px auto 0 !important;
  color: transparent !important;
  font-size: clamp(24px, 2.7vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.28em !important;
  background:
    linear-gradient(
      135deg,
      #fff3bd 0%,
      #e6bc5c 32%,
      #a76a1b 58%,
      #fff0ad 82%,
      #8a6415 100%
    ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  text-shadow:
    0 -1px 1px rgba(255, 255, 255, 0.42),
    0 0 8px rgba(233, 196, 122, 0.42),
    1px 1px 0 #b8860b,
    2px 2px 3px rgba(0, 0, 0, 0.65),
    0 5px 12px rgba(0, 0, 0, 0.55) !important;
  filter:
    drop-shadow(0 0 7px rgba(245, 190, 80, 0.22))
    drop-shadow(0 5px 7px rgba(0, 0, 0, 0.62));
}

@media (max-width: 520px) {
  .home-page .home-brand-text::before {
    width: 94vw;
    height: 190px;
    filter: blur(18px);
  }

  .home-page .home-brand-text .home-brand-main {
    font-size: clamp(62px, 18vw, 78px) !important;
    letter-spacing: 0.015em !important;
    -webkit-text-stroke-width: 0.75px;
    text-shadow:
      0 -1px 1px rgba(255, 255, 255, 0.64),
      0 0 9px rgba(233, 196, 122, 0.45),
      1px 1px 0 #b8860b,
      2px 2px 0 #8a6415,
      3px 3px 0 #583d00,
      4px 6px 10px rgba(0, 0, 0, 0.70) !important;
    filter:
      drop-shadow(0 0 8px rgba(252, 215, 120, 0.28))
      drop-shadow(0 6px 8px rgba(0, 0, 0, 0.68));
  }

  .home-page .home-brand-text .home-brand-sub {
    margin-top: 9px !important;
    font-size: 18px !important;
    letter-spacing: 0.20em !important;
  }
}
/* P75-QA-R1｜Public-test UX blockers */
.home-hero-search input,
.search-shell input,
.p19-search input {
  color: #fff4c6 !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  caret-color: #ffd978;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.72);
}

.home-hero-search input::placeholder,
.search-shell input::placeholder,
.p19-search input::placeholder {
  color: rgba(255, 232, 180, 0.62) !important;
  font-weight: 600;
}

.home-hero-search input:focus,
.search-shell input:focus,
.p19-search input:focus,
.home-hero-search input.is-focus-pulse {
  outline: none !important;
  color: #fff8d8 !important;
  box-shadow:
    0 0 0 2px rgba(255, 217, 120, 0.36),
    0 0 18px rgba(255, 210, 100, 0.20) !important;
}

.sa-kline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin: 10px 0 12px;
  color: rgba(238, 246, 255, 0.86);
  font-size: 13px;
  line-height: 1.55;
}

.sa-kline-legend span,
.sa-kline-legend small {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 5px 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.56);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sa-kline-legend .is-up { color: #ffb4b4; }
.sa-kline-legend .is-down { color: #9afac4; }
.sa-kline-legend .is-period { color: #ffe6a3; }

/* PATCH-BETA-UX1: compact watchlist first screen and explicit market-temperature states. */
.watchlist-page .rk-hero {
  min-height: unset;
  padding: 28px 32px;
  margin-bottom: 20px;
}

.watchlist-page .rk-hero .sa-eyebrow {
  margin-bottom: 8px;
}

.watchlist-page .rk-hero h1 {
  margin-bottom: 8px;
}

.watchlist-page .rk-hero p {
  max-width: 720px;
  margin-bottom: 8px;
}

.watchlist-page .page-hero-brand-mark {
  display: none !important;
}

.watchlist-page .p59-summary {
  margin-top: 0;
}

.watchlist-page .wl-toolbar,
.watchlist-page .p59-hero-login {
  margin-top: 14px;
}

.public-market-temperature.is-stale {
  border-color: rgba(255, 217, 120, 0.48) !important;
}

.public-market-temperature.is-stale small {
  color: rgba(255, 232, 180, 0.92);
}

.public-market-temperature.is-error,
.public-market-temperature.is-rate_limited {
  border-color: rgba(255, 160, 122, 0.46) !important;
}

/* Market data cards: verified index and institutional observations. */
.mi-data-cards { display: grid; gap: 18px; margin: 18px 0; }
.mi-index-cards__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.mi-index-cards__grid--has-unavailable { grid-template-columns: 1fr; }
.mi-index-card { min-width: 0; padding: 24px; border: 1px solid rgba(170, 190, 220, .2); border-radius: 16px; background: rgba(7, 18, 38, .72); }
.mi-index-card--chart { display: grid; gap: 22px; }
.mi-index-card--primary { grid-column: 1 / -1; padding: 30px 32px; background: linear-gradient(135deg, rgba(11, 37, 74, .95), rgba(7, 18, 38, .88)); box-shadow: inset 0 1px 0 rgba(178, 222, 255, .12), 0 18px 36px rgba(0, 0, 0, .2); }
.mi-index-card__header { display: grid; grid-template-columns: auto minmax(190px, 1fr) auto; gap: 18px; align-items: center; min-width: 0; }
.mi-index-card__marker { font-size: 28px; font-weight: 800; }
.mi-index-card__quote { display: grid; gap: 4px; min-width: 0; }
.mi-index-card__quote > span { color: rgba(225, 235, 248, .74); font-size: 16px; }
.mi-index-card__quote strong { color: #f8fbff; font-size: clamp(29px, 3vw, 43px); letter-spacing: -.035em; line-height: 1; }
.mi-index-card__quote b { font-size: 18px; }
.mi-index-card__quote small { color: rgba(213, 225, 242, .72); font-size: 13px; white-space: nowrap; }
.mi-index-card--primary .mi-index-card__quote strong { font-size: clamp(46px, 5vw, 70px); }
.mi-index-card__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding-left: 18px; border-left: 1px solid rgba(170, 190, 220, .18); }
.mi-index-card__metrics div { display: grid; gap: 4px; min-width: 0; }
.mi-index-card__metrics dt { color: rgba(213, 225, 242, .64); font-size: 12px; }
.mi-index-card__metrics dd { margin: 0; color: #f8fbff; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mi-index-card__metrics dd.is-up { color: #ff6b6b; }
.mi-index-card__metrics dd.is-down { color: #2fd17c; }
.mi-index-card.is-up .mi-index-card__marker, .mi-index-card.is-up .mi-index-card__quote b, .mi-institutional-card.is-up .mi-institutional-card__total strong, .mi-institutional-card__detail.is-up { color: #ff5c5c; }
.mi-index-card.is-down .mi-index-card__marker, .mi-index-card.is-down .mi-index-card__quote b, .mi-institutional-card.is-down .mi-institutional-card__total strong, .mi-institutional-card__detail.is-down { color: #2fd17c; }
.mi-trend-chart { display: grid; gap: 10px; min-width: 0; }
.mi-trend-chart__caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(213, 225, 242, .7); font-size: 13px; }
.mi-trend-chart__caption span:first-child { color: #bfe9ff; font-weight: 800; }
.mi-trend-chart__body { display: grid; grid-template-columns: 72px minmax(0, 1fr) 72px; grid-template-rows: minmax(360px, auto) auto; column-gap: 12px; row-gap: 8px; align-items: stretch; }
.mi-index-card--chart .mi-trend-chart svg { width: 100%; min-height: 360px; }
.mi-trend-chart svg { display: block; grid-column: 2; grid-row: 1; overflow: visible; }
.mi-trend-chart__axis { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; color: rgba(213, 225, 242, .78); font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1; }
.mi-trend-chart__left-axis { grid-column: 1; grid-row: 1; align-items: flex-end; text-align: right; }
.mi-trend-chart__right-axis { grid-column: 3; grid-row: 1; align-items: flex-start; }
.mi-trend-chart__right-axis .is-up { color: #ff6b6b; }
.mi-trend-chart__right-axis .is-down { color: #2fd17c; }
.mi-trend-chart__time-axis { display: flex; grid-column: 2; grid-row: 2; justify-content: space-between; color: rgba(213, 225, 242, .72); font-size: 12px; font-variant-numeric: tabular-nums; }
.mi-trend-chart__grid-line { stroke: rgba(181, 208, 236, .16); stroke-width: 1; }
.mi-trend-chart__grid-line--vertical { stroke: rgba(181, 208, 236, .1); }
.mi-trend-chart__area { fill: rgba(112, 203, 255, .10); }
.mi-trend-chart__baseline { stroke: rgba(240, 246, 255, .78); stroke-width: 3; stroke-dasharray: 14 12; }
.mi-trend-chart__line { fill: none; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.mi-trend-chart__latest { stroke: rgba(248, 251, 255, .94); stroke-width: 4; }
.mi-trend-chart__baseline-note { margin: 0; color: rgba(213, 225, 242, .7); font-size: 12px; font-variant-numeric: tabular-nums; }
.mi-trend-chart--unavailable { display: grid; min-height: 112px; place-items: center; border: 1px dashed rgba(170, 190, 220, .24); border-radius: 12px; background: rgba(2, 10, 24, .22); color: rgba(213, 225, 242, .72); }
.mi-trend-chart--unavailable p { margin: 0; padding: 24px; text-align: center; }
.mi-hero-fact[hidden] { display: none; }
.mi-data-card { position: relative; border: 1px solid rgba(170, 190, 220, .2); border-radius: 16px; background: rgba(7, 18, 38, .72); box-shadow: 0 14px 30px rgba(0, 0, 0, .14); }
.mi-institutional-card { overflow: hidden; }
.mi-institutional-card__total { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 22px 26px; border-bottom: 1px solid rgba(170, 190, 220, .16); }
.mi-institutional-card__total > span { color: #f8fbff; font-size: clamp(21px, 2.7vw, 31px); }
.mi-institutional-card__total strong { color: #f8fbff; font-size: clamp(34px, 4.2vw, 52px); letter-spacing: -.04em; line-height: 1; }
.mi-institutional-card strong small { margin-left: 5px; color: rgba(213, 225, 242, .72); font-size: .45em; font-weight: 500; letter-spacing: 0; }
.mi-institutional-card__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mi-institutional-card__detail { display: grid; gap: 5px; padding: 18px 26px 22px; border-right: 1px solid rgba(170, 190, 220, .16); }
.mi-institutional-card__detail:last-child { border-right: 0; }
.mi-institutional-card__detail > span { color: rgba(225, 235, 248, .74); font-size: 17px; }
.mi-institutional-card__detail strong { font-size: clamp(25px, 3vw, 37px); letter-spacing: -.03em; }
.mi-card-unavailable { margin: 0; padding: 28px; color: rgba(213, 225, 242, .72); text-align: center; }
@media (max-width: 980px) { .mi-index-cards__grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .mi-index-card, .mi-index-card--primary { padding: 18px; } .mi-index-card__header { grid-template-columns: auto minmax(0, 1fr); gap: 12px; } .mi-index-card__metrics { grid-column: 1 / -1; padding: 14px 0 0; border-top: 1px solid rgba(170, 190, 220, .18); border-left: 0; } .mi-index-card--primary .mi-index-card__quote strong { font-size: clamp(42px, 12vw, 56px); } .mi-trend-chart__caption { align-items: flex-start; flex-direction: column; gap: 3px; } .mi-trend-chart__body { grid-template-columns: 51px minmax(0, 1fr) 51px; grid-template-rows: minmax(282px, auto) auto; column-gap: 7px; } .mi-index-card--chart .mi-trend-chart svg { min-height: 282px; } .mi-trend-chart__axis, .mi-trend-chart__time-axis { font-size: 10px; } .mi-trend-chart__baseline { stroke-width: 4; } .mi-trend-chart__line { stroke-width: 8; } .mi-institutional-card__total { align-items: flex-start; flex-direction: column; gap: 10px; padding: 18px; } .mi-institutional-card__details { grid-template-columns: 1fr; } .mi-institutional-card__detail { padding: 14px 18px; border-right: 0; border-bottom: 1px solid rgba(170, 190, 220, .16); } .mi-institutional-card__detail:last-child { border-bottom: 0; } }

/* P77-SIGNAL-QUALITY */
.signal-quality-card strong,
.signal-quality-badge strong,
.signal-quality-pill {
  color: #ffe6a6;
}

.signal-quality-card small,
.signal-quality-badge small {
  display: block;
  color: rgba(218, 231, 246, 0.72);
  font-size: 12px;
  line-height: 1.45;
}

.signal-quality-card p {
  margin-top: 6px;
}

.signal-quality-badge {
  display: grid;
  gap: 3px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 217, 120, 0.28);
  border-radius: 12px;
  background: rgba(8, 14, 24, 0.42);
}

.signal-quality-badge span {
  color: rgba(255, 244, 214, 0.88);
  font-size: 13px;
  font-weight: 800;
}

.signal-quality-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(255, 217, 120, 0.28);
  border-radius: 999px;
  background: rgba(255, 217, 120, 0.10);
  font-size: 12px;
  font-weight: 800;
}

.is-tier-A {
  border-color: rgba(109, 229, 189, 0.44) !important;
}

.is-tier-B {
  border-color: rgba(170, 215, 255, 0.38) !important;
}

.is-tier-C {
  border-color: rgba(255, 217, 120, 0.42) !important;
}

.is-tier-D,
.is-tier-E {
  border-color: rgba(255, 160, 122, 0.44) !important;
}

@media (max-width: 520px) {
  .watchlist-page .rk-hero {
    padding: 20px 16px;
    margin-bottom: 14px;
  }

  .watchlist-page .rk-hero h1 {
    font-size: clamp(28px, 9vw, 36px);
  }

  .watchlist-page .rk-hero p {
    font-size: 14px;
    line-height: 1.6;
  }

  .watchlist-page .wl-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .watchlist-page .wl-toolbar button,
  .watchlist-page .p59-hero-login {
    width: 100%;
    min-width: 0;
  }
}

.p75qa-auth-grid {
  align-items: stretch;
}

.p75qa-auth-input {
  width: 100%;
  height: 42px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 217, 120, 0.22);
  background: rgba(5, 12, 24, 0.72);
  color: #fff4c6;
  font-weight: 700;
  box-sizing: border-box;
}

.p75qa-auth-button,
.p75qa-social-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  width: 100%;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 217, 120, 0.28);
  background: linear-gradient(180deg, rgba(255, 224, 154, 0.95), rgba(178, 119, 39, 0.92));
  color: #1b1207;
  font-weight: 900;
  text-decoration: none;
}

.p75qa-social-button.is-disabled,
.p75qa-social-button:disabled {
  cursor: not-allowed;
  border-color: rgba(148, 163, 184, 0.24);
  background: rgba(15, 23, 42, 0.72);
  color: rgba(226, 232, 240, 0.72);
}

.p75qa-social-pending {
  margin: 0 0 12px;
  color: rgba(255, 232, 180, 0.78);
  line-height: 1.7;
}

.sa-smart-line-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 30px;
  margin: 8px 0 4px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 217, 120, 0.22);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.72);
  color: rgba(255, 244, 214, 0.86);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.sa-smart-line-status.is-active {
  border-color: rgba(109, 229, 189, 0.40);
  background: rgba(16, 185, 129, 0.12);
  color: rgba(219, 255, 241, 0.95);
}

.sa-smart-line-status.is-empty {
  border-color: rgba(255, 217, 120, 0.24);
  background: rgba(255, 217, 120, 0.08);
}

/* HOTFIX-SITE-CHROME-RESTORE1 */
.stock-app-shell,
.stock-page #app {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.stock-page .gs-header,
.stock-page .brand-header {
  position: sticky;
  top: 0;
  z-index: 50;
}

.stock-hero-clean {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: start;
}

.sa-hero-main {
  min-width: 0;
}

.sa-hero-metrics,
.sa-score-grid,
.sa-data-grid,
.sa-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.sa-metric-card,
.sa-metric-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255, 217, 120, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.58);
}

.sa-metric-card span,
.sa-metric-grid article span {
  display: block;
  color: rgba(226, 232, 240, 0.70);
  font-size: 12px;
  font-weight: 800;
}

.sa-metric-card strong,
.sa-metric-grid article strong {
  display: block;
  margin-top: 6px;
  color: rgba(255, 244, 214, 0.95);
  font-size: 20px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.sa-metric-card.is-up strong {
  color: #ffb4b4;
}

.sa-metric-card.is-down strong {
  color: #9afac4;
}

.sa-factor-list,
.signal-quality-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.sa-factor-list span {
  padding: 5px 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  color: rgba(226, 232, 240, 0.82);
  font-size: 12px;
  font-weight: 800;
}

.sa-clean-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sa-clean-list li {
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.48);
  color: rgba(226, 232, 240, 0.86);
  line-height: 1.6;
}

.sa-muted {
  color: rgba(226, 232, 240, 0.70);
}

.sa-chart-panel,
.sa-chart-panel .sa-price-chart,
.sa-chart-panel .sa-volume-chart {
  max-width: 100%;
  overflow: hidden;
}

.sa-chart-panel table {
  max-width: 100%;
}

/* Stock UX recovery: factual evidence, compact dated charts, and readable factors. */
.sa-first-screen-dashboard .sa-research-factors-panel { grid-column: span 2; }
.sa-research-factors-panel .sa-factor-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.sa-research-factors-panel .sa-factor-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
.sa-research-factors-panel .sa-factor-list li { grid-template-columns: 14px minmax(0, 1fr); align-items: start; min-width: 0; padding: 12px 14px; border: 1px solid rgba(148, 163, 184, .15); border-radius: 12px; background: rgba(15, 23, 42, .32); }
.sa-research-factors-panel .sa-factor-marker { width: 10px; height: 10px; margin-top: .55em; padding: 0; border: 0; border-radius: 999px; }
.sa-research-factors-panel .sa-factor-list li > span:last-child { min-width: 0; padding: 0; border: 0; color: rgba(226, 232, 240, .84); line-height: 1.55; white-space: nowrap; }
.sa-research-factors-panel .sa-factor-column-heading { margin-bottom: 12px; }
.sa-research-factors-panel .sa-factor-column-heading h3 { margin-bottom: 7px; }
.sa-research-factors-panel .sa-factor-column-tone { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 13px; font-weight: 800; }
.sa-research-factors-panel .sa-factor-column-tone span { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; }
.sa-research-factors-panel .is-bullish .sa-factor-marker, .sa-research-factors-panel .sa-factor-column-tone.is-bullish span { background: #f87171; }
.sa-research-factors-panel .is-bearish .sa-factor-marker, .sa-research-factors-panel .sa-factor-column-tone.is-bearish span { background: #4ade80; }
.sa-research-factors-panel .sa-factor-column-tone.is-bullish { color: #fca5a5; }
.sa-research-factors-panel .sa-factor-column-tone.is-bearish { color: #86efac; }
.sa-factor-mobile-toggle { display: none; }

.sa-research-risk-dashboard { grid-template-columns: minmax(0, 2fr) minmax(280px, .9fr); align-items: start; }
.sa-research-risk-dashboard .sa-research-factors-panel { grid-column: span 2; }
.sa-chip-visual-panel { padding: 18px; }
.sa-chip-visual-panel .sa-chip-visual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.sa-chip-card, .sa-selection-evidence-list article { min-width: 0; padding: 16px; border: 1px solid rgba(148, 163, 184, .20); border-radius: 14px; background: linear-gradient(145deg, rgba(17, 30, 54, .66), rgba(8, 16, 34, .70)); }
.sa-chip-card { display: flex; flex-direction: column; min-height: 262px; }
.sa-chip-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sa-chip-card__head span, .sa-chip-card__head small, .sa-chip-chart figcaption, .sa-selection-evidence-list small { color: rgba(226, 232, 240, .68); font-size: 13px; }
.sa-chip-card__head span, .sa-chip-card__head strong { display: block; }
.sa-chip-card__head strong { margin-top: 5px; color: #f8fafc; font-size: clamp(18px, 1.5vw, 23px); line-height: 1.25; }
.sa-chip-card__head small { max-width: 46%; text-align: right; line-height: 1.45; }
.sa-chip-card__insight { min-height: 3.15em; margin: 9px 0 0; color: rgba(241, 245, 249, .90); font-size: 14px; line-height: 1.58; }
.sa-chip-card__date { display: block; margin-top: auto; padding-top: 9px; color: rgba(186, 230, 253, .72); font-size: 12px; }
.sa-history-card { min-width: 0; border: 1px solid rgba(148, 163, 184, .20); border-radius: 12px; background: rgba(15, 23, 42, .48); }
.sa-history-supplement { margin-top: 20px; }
.sa-history-supplement__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sa-history-supplement .sa-chip-foreign-card { grid-column: auto; }
.sa-history-card__toggle { width: 100%; display: flex; align-items: center; gap: 12px; padding: 13px; border: 0; border-radius: 12px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.sa-history-card__toggle:hover { background: rgba(125, 211, 252, .06); }
.sa-history-card__title { flex: 1 1 auto; color: rgba(226, 232, 240, .72); font-size: 13px; font-weight: 800; }
.sa-history-card__summary { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.sa-history-card__summary strong { color: #f8fafc; font-size: 19px; }
.sa-history-card__summary small { color: rgba(226, 232, 240, .66); font-size: 12px; }
.sa-history-card__summary small.is-up { color: #fb7185; }
.sa-history-card__summary small.is-down { color: #4ade80; }
.sa-history-card__summary em { color: rgba(226, 232, 240, .52); font-size: 12px; font-style: normal; }
.sa-history-card__chevron { flex: 0 0 auto; color: #7dd3fc; font-size: 12px; font-weight: 800; }
.sa-history-card__detail { padding: 0 13px 13px; border-top: 1px solid rgba(148, 163, 184, .14); }
.sa-history-card__unavailable { margin: 12px 0 0; color: rgba(226, 232, 240, .68); font-size: 13px; }
.sa-history-chart { margin: 11px 0 0; }
.sa-history-chart svg { display: block; width: 100%; height: 126px; overflow: visible; }
.sa-history-chart-area { fill: rgba(148, 163, 184, .16); }
.sa-history-chart-line { fill: none; stroke: #7dd3fc; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.sa-history-chart-dot { fill: #fbbf24; stroke: #0f172a; stroke-width: 3; }
.sa-monthly-revenue-chart { padding-top: 13px; }
.sa-monthly-revenue-chart__selected { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.sa-monthly-revenue-chart__selected > div { min-width: 0; padding: 10px 11px; border: 1px solid rgba(148, 163, 184, .18); border-radius: 10px; background: rgba(15, 23, 42, .62); }
.sa-monthly-revenue-chart__selected span, .sa-monthly-revenue-chart__selected strong { display: block; }
.sa-monthly-revenue-chart__selected span { color: rgba(226, 232, 240, .62); font-size: 11px; }
.sa-monthly-revenue-chart__selected strong { margin-top: 4px; color: #f8fafc; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.sa-monthly-revenue-chart .is-up { color: #fb7185; }
.sa-monthly-revenue-chart .is-down { color: #4ade80; }
.sa-monthly-revenue-chart__legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 6px; color: rgba(226, 232, 240, .68); font-size: 11px; }
.sa-monthly-revenue-chart__legend span { display: inline-flex; align-items: center; gap: 6px; }
.sa-monthly-revenue-chart__legend span::before { width: 18px; height: 3px; border-radius: 999px; background: #38bdf8; content: ''; }
.sa-monthly-revenue-chart__legend .is-yoy::before { background: #fbbf24; }
.sa-monthly-revenue-chart__scroller { max-width: 100%; overflow-x: auto; overflow-y: hidden; border: 1px solid rgba(148, 163, 184, .16); border-radius: 11px; background: rgba(2, 6, 23, .35); scrollbar-color: rgba(125, 211, 252, .60) rgba(15, 23, 42, .72); scrollbar-width: thin; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.sa-monthly-revenue-chart__scroller:focus-visible { outline: 2px solid #7dd3fc; outline-offset: 2px; }
.sa-monthly-revenue-chart__figure { min-width: 0; margin: 0; padding: 5px 8px 1px; }
.sa-monthly-revenue-chart__canvas { display: block; width: 100%; height: auto; min-height: 210px; overflow: visible; }
.sa-monthly-revenue-chart__baseline { stroke: rgba(148, 163, 184, .38); stroke-width: 1.5; }
.sa-monthly-revenue-chart__zero-line { stroke: rgba(251, 191, 36, .25); stroke-width: 1; stroke-dasharray: 5 5; }
.sa-monthly-revenue-chart__month { cursor: pointer; outline: none; }
.sa-monthly-revenue-chart__month:focus-visible .sa-monthly-revenue-chart__hit-area, .sa-monthly-revenue-chart__month.is-selected .sa-monthly-revenue-chart__hit-area { fill: rgba(125, 211, 252, .10); stroke: rgba(125, 211, 252, .44); stroke-width: 1; }
.sa-monthly-revenue-chart__hit-area { fill: transparent; }
.sa-monthly-revenue-chart__bar { fill: #38bdf8; opacity: .72; transition: opacity .15s ease, fill .15s ease; }
.sa-monthly-revenue-chart__month:hover .sa-monthly-revenue-chart__bar, .sa-monthly-revenue-chart__month:focus-visible .sa-monthly-revenue-chart__bar, .sa-monthly-revenue-chart__month.is-selected .sa-monthly-revenue-chart__bar { fill: #7dd3fc; opacity: 1; }
.sa-monthly-revenue-chart__bar.is-negative { fill: #4ade80; }
.sa-monthly-revenue-chart__month-label { fill: rgba(226, 232, 240, .72); font-size: 10px; font-weight: 700; pointer-events: none; }
.sa-monthly-revenue-chart__month.is-selected .sa-monthly-revenue-chart__month-label { fill: #f8fafc; }
.sa-monthly-revenue-chart__yoy-line { fill: none; stroke: #fbbf24; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.sa-monthly-revenue-chart__yoy-point { stroke: #0f172a; stroke-width: 2; pointer-events: none; }
.sa-monthly-revenue-chart__yoy-point.is-up { fill: #fb7185; }
.sa-monthly-revenue-chart__yoy-point.is-down { fill: #4ade80; }
.sa-monthly-revenue-chart__yoy-point.is-flat { fill: #fbbf24; }
.sa-monthly-revenue-chart__year line { stroke: rgba(148, 163, 184, .25); stroke-width: 1; }
.sa-monthly-revenue-chart__year text { fill: rgba(186, 230, 253, .72); font-size: 11px; font-weight: 800; }
.sa-monthly-revenue-chart__details { margin-top: 11px; border-top: 1px solid rgba(148, 163, 184, .14); }
.sa-monthly-revenue-chart__details > summary { width: max-content; padding: 11px 2px 3px; color: #7dd3fc; font-size: 12px; font-weight: 800; cursor: pointer; }
.sa-monthly-revenue-chart__table-wrap { margin-top: 8px; overflow-x: auto; border: 1px solid rgba(148, 163, 184, .16); border-radius: 10px; }
.sa-monthly-revenue-chart__table-wrap table { width: 100%; min-width: 500px; border-collapse: collapse; color: rgba(241, 245, 249, .88); font-size: 12px; }
.sa-monthly-revenue-chart__table-wrap th, .sa-monthly-revenue-chart__table-wrap td { padding: 8px 10px; border-bottom: 1px solid rgba(148, 163, 184, .12); text-align: right; white-space: nowrap; }
.sa-monthly-revenue-chart__table-wrap th:first-child { text-align: left; }
.sa-monthly-revenue-chart__table-wrap thead th { background: rgba(15, 23, 42, .82); color: rgba(186, 230, 253, .78); font-weight: 800; }
.sa-monthly-revenue-chart__table-wrap tbody tr:last-child > * { border-bottom: 0; }
.sa-pb-history-panel { margin-top: 20px; }
.sa-pb-history-panel__summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.sa-pb-history-panel__summary > div { min-width: 148px; padding: 11px 13px; border: 1px solid rgba(148, 163, 184, .20); border-radius: 10px; background: rgba(15, 23, 42, .48); }
.sa-pb-history-panel__summary span, .sa-pb-history-panel__summary small { display: block; color: rgba(226, 232, 240, .62); font-size: 12px; }
.sa-pb-history-panel__summary strong { display: block; margin-top: 3px; color: #f8fafc; font-size: 21px; }
.sa-pb-history-panel__position { flex: 1 1 100%; min-width: 0 !important; }
.sa-pb-history-panel__position strong { font-size: 16px; }
.sa-pb-history-panel__position p { margin: 5px 0 0; color: rgba(226, 232, 240, .78); font-size: 13px; line-height: 1.55; }
.sa-pb-history-panel__position.is-bottom { border-color: rgba(74, 222, 128, .45); background: rgba(74, 222, 128, .08); }
.sa-pb-history-panel__position.is-middle { border-color: rgba(250, 204, 21, .45); background: rgba(250, 204, 21, .08); }
.sa-pb-history-panel__position.is-top { border-color: rgba(251, 113, 133, .45); background: rgba(251, 113, 133, .08); }
.sa-pb-history-river { margin: 0; padding: 10px; border: 1px solid rgba(148, 163, 184, .20); border-radius: 12px; background: rgba(15, 23, 42, .48); }
.sa-pb-history-river svg { display: block; width: 100%; height: 230px; overflow: visible; }
.sa-pb-history-river__zone.is-top { fill: rgba(244, 63, 94, .16); }
.sa-pb-history-river__zone.is-middle { fill: rgba(250, 204, 21, .12); }
.sa-pb-history-river__zone.is-bottom { fill: rgba(74, 222, 128, .15); }
.sa-pb-history-river__boundary { stroke: rgba(250, 204, 21, .72); stroke-width: 1.5; }
.sa-pb-history-river__area { fill: rgba(125, 211, 252, .22); }
.sa-pb-history-river__line { fill: none; stroke: #7dd3fc; stroke-width: 6; stroke-linejoin: round; stroke-linecap: round; }
.sa-pb-history-river__latest { fill: #fbbf24; stroke: #0f172a; stroke-width: 3; }
.sa-pb-history-river__label, .sa-pb-history-river__axis { fill: rgba(241, 245, 249, .72); font-size: 12px; font-weight: 800; }
.sa-pb-history-panel__interpretation { margin-top: 12px; border: 1px solid rgba(125, 211, 252, .28); border-radius: 10px; background: rgba(14, 116, 144, .10); }
.sa-pb-history-panel__interpretation summary { padding: 12px 14px; color: #bae6fd; font-weight: 800; cursor: pointer; }
.sa-pb-history-panel__interpretation-body { display: grid; gap: 9px; padding: 0 14px 14px; }
.sa-pb-history-panel__interpretation-body article { padding: 10px 12px; border-left: 3px solid rgba(148, 163, 184, .6); border-radius: 0 8px 8px 0; background: rgba(15, 23, 42, .38); }
.sa-pb-history-panel__interpretation-body article.is-bottom { border-left-color: #4ade80; }
.sa-pb-history-panel__interpretation-body article.is-middle { border-left-color: #facc15; }
.sa-pb-history-panel__interpretation-body article.is-top { border-left-color: #fb7185; }
.sa-pb-history-panel__interpretation-body strong { color: #f8fafc; }
.sa-pb-history-panel__interpretation-body p { margin: 5px 0 0; color: rgba(226, 232, 240, .78); font-size: 14px; line-height: 1.6; }
.sa-pb-history-panel__note { color: rgba(226, 232, 240, .58) !important; font-size: 12px !important; }
.sa-revenue-bar { fill: rgba(251, 113, 133, .62); }
.sa-revenue-bar.is-latest { fill: #ef4444; }
.sa-chip-chart { margin: 8px 0 0; }
.sa-chip-chart svg { display: block; width: 100%; height: 92px; overflow: visible; }
.sa-chip-chart text { fill: rgba(226, 232, 240, .82); font-size: 12px; }
.sa-chip-chart .sa-chip-chart-date { fill: rgba(226, 232, 240, .56); font-size: 11px; }
.sa-chip-chart-zero { stroke: rgba(148, 163, 184, .42); stroke-width: 1; }
.sa-chip-chart rect.is-positive { fill: #f87171; }
.sa-chip-chart rect.is-negative { fill: #4ade80; }
.sa-chip-chart-line { fill: none; stroke: #fbbf24; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.sa-chip-chart-dot { fill: #fbbf24; stroke: #0f172a; stroke-width: 2; }
.sa-chip-chart-line.is-short { stroke: #a78bfa; }
.sa-chip-chart-line.is-lending { stroke: #38bdf8; }
.sa-chip-chart-dot.is-short { fill: #a78bfa; }
.sa-chip-chart-dot.is-lending { fill: #38bdf8; }
.sa-chip-chart-line.is-price { stroke: #fbbf24; }
.sa-chip-chart-dot.is-price { fill: #fbbf24; }
.sa-chip-relation-chart svg { height: 108px; }
.sa-chip-chart-unavailable { margin: 16px 0 4px; color: rgba(226, 232, 240, .68); }
.sa-hero-research-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.sa-hero-research-comparison > .sa-section { min-width: 0; }
.sa-hero-summary-factors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.sa-hero-summary-factors > .sa-section { min-width: 0; }
.sa-selection-evidence-list { display: grid; gap: 10px; }
.sa-selection-evidence-list article { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px 16px; }
.sa-selection-evidence-category { padding: 5px 9px; border-radius: 999px; color: #bae6fd; background: rgba(56, 189, 248, .12); font-size: 13px; font-weight: 700; }
.sa-selection-evidence-list strong, .sa-selection-evidence-list p, .sa-selection-evidence-list small { display: block; }
.sa-selection-evidence-list strong { color: #f8fafc; font-size: 16px; }
.sa-selection-evidence-list p { margin: 5px 0; color: rgba(226, 232, 240, .78); }

.stock-analysis-page .sa-stock-identity-bar { position: relative !important; display: block !important; min-height: 178px !important; padding-right: 292px !important; }
.sa-observation-score-gauge { position: absolute !important; top: 24px; right: 26px; display: grid; grid-template-columns: 106px minmax(0, 1fr); gap: 12px; align-items: center; min-width: 248px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.sa-observation-score-gauge svg { width: 106px; height: 106px; transform: rotate(-90deg); }
.sa-observation-score-gauge__track, .sa-observation-score-gauge__value { fill: none; stroke-width: 10; }
.sa-observation-score-gauge__track { stroke: rgba(148, 163, 184, .24); }
.sa-observation-score-gauge__value { stroke: #f3ca73; stroke-linecap: round; transition: stroke-dashoffset .32s ease; }
.sa-observation-score-gauge__copy { display: grid; gap: 4px; min-width: 0; }
.sa-observation-score-gauge__copy span { color: #bae6fd; font-size: 13px; font-weight: 800; }
.sa-observation-score-gauge__copy strong { color: #fff1cc; font-size: 16px; line-height: 1.2; white-space: nowrap; }
.sa-observation-score-gauge__copy small { color: rgba(226, 232, 240, .70); font-size: 12px; }
.sa-observation-score-history { margin: 24px 0 42px; border: 1px solid rgba(125, 211, 252, .30); border-radius: 16px; background: rgba(7, 21, 47, .56); overflow: hidden; }
.sa-observation-score-history details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 0 20px; color: #f8fafc; cursor: pointer; list-style: none; }
.sa-observation-score-history summary::-webkit-details-marker { display: none; }
.sa-observation-score-history summary::after { content: '⌄'; color: #7dd3fc; font-size: 20px; }
.sa-observation-score-history details[open] summary::after { transform: rotate(180deg); }
.sa-observation-score-history summary span { font-size: 19px; font-weight: 800; }
.sa-observation-score-history summary small { margin-left: auto; color: #bae6fd; font-size: 13px; }
.sa-observation-score-history figure { margin: 0; padding: 4px 20px 18px; border-top: 1px solid rgba(148, 163, 184, .16); }
.sa-observation-score-history svg { display: block; width: 100%; height: auto; overflow: visible; }
.sa-observation-score-history__guide { stroke: rgba(148, 163, 184, .26); stroke-width: 1; }
.sa-observation-score-history__line { fill: none; stroke: #f3ca73; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.sa-observation-score-history__dot { fill: #f8fafc; stroke: #f3ca73; stroke-width: 3; }
.sa-observation-score-history text { fill: rgba(241, 245, 249, .88); font-size: 14px; font-weight: 700; }
.sa-observation-score-history figcaption, .sa-observation-score-history__empty { margin: 4px 0 0; color: rgba(226, 232, 240, .70); font-size: 13px; }

/* Compact racing dial: one published score only; factor cards remain separate. */
.sa-observation-score-gauge__dial {
  --observation-score-angle: 0deg;
  position: relative;
  display: grid;
  place-items: center;
  width: 106px;
  height: 106px;
  border-radius: 50%;
  isolation: isolate;
  background: repeating-conic-gradient(from -135deg, rgba(226, 237, 251, .72) 0deg 1deg, transparent 1.6deg 5deg);
  box-shadow: inset 0 0 0 1px rgba(211, 227, 246, .22), 0 10px 28px rgba(2, 9, 22, .32);
}
.sa-observation-score-gauge__dial::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 5px;
  border-radius: 50%;
  background: conic-gradient(from -135deg, #e5edf8 0deg 162deg, #2dcc82 162deg 229.5deg, #f35a59 229.5deg 270deg, transparent 270deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 9px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 9px));
  box-shadow: 0 0 12px rgba(243, 90, 89, .16);
}
.sa-observation-score-gauge__dial::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 15px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 28%, #1d466f, #0a1931 68%);
  box-shadow: inset 0 0 0 1px rgba(210, 228, 249, .32), inset 0 -8px 18px rgba(0, 0, 0, .28);
}
.sa-observation-score-gauge__needle {
  position: absolute;
  z-index: 2;
  top: 11px;
  left: 50%;
  width: 2px;
  height: 31px;
  border-radius: 4px;
  transform: translateX(-50%) rotate(var(--observation-score-angle));
  transform-origin: 50% 42px;
  background: linear-gradient(#fff, #ffb5b5);
  box-shadow: 0 0 10px rgba(243, 90, 89, .92);
}
.sa-observation-score-gauge__score { position: relative; z-index: 3; color: #fff4f4; font-size: 24px; line-height: 1; text-shadow: 0 0 14px rgba(243, 90, 89, .24); }
.sa-observation-score-gauge__max { position: absolute; z-index: 3; top: 68px; color: rgba(226, 232, 240, .72); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.sa-observation-score-gauge.is-unavailable .sa-observation-score-gauge__dial::before { background: conic-gradient(from -135deg, rgba(226, 237, 251, .28) 0deg 270deg, transparent 270deg 360deg); }
.sa-observation-score-history__empty { padding: 0 20px 20px; }

@media (max-width: 980px) { .sa-first-screen-dashboard .sa-research-factors-panel { grid-column: auto; } }
@media (max-width: 760px) {
  .stock-analysis-page .sa-stock-identity-bar { min-height: 0 !important; padding-right: 18px !important; }
  .sa-observation-score-gauge { position: static !important; width: 100%; min-width: 0; margin-top: 18px; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; box-sizing: border-box; justify-content: start; }
  .sa-observation-score-gauge__dial { width: 96px; height: 96px; }
  .sa-observation-score-gauge__dial::after { inset: 14px; }
  .sa-observation-score-gauge__needle { top: 10px; height: 28px; transform-origin: 50% 38px; }
  .sa-observation-score-gauge__score { font-size: 22px; }
  .sa-observation-score-gauge__max { top: 63px; font-size: 9px; }
  .sa-observation-score-gauge__copy { gap: 5px; align-content: center; }
  .sa-observation-score-gauge__copy strong { white-space: normal; }
  .sa-observation-score-gauge__copy small { white-space: nowrap; }
  .sa-observation-score-history details > summary { min-height: 58px; padding: 0 15px; }
  .sa-observation-score-history summary span { font-size: 17px; }
  .sa-observation-score-history figure { padding-inline: 12px; }
}
@media (max-width: 700px) {
  .sa-hero-research-comparison { grid-template-columns: 1fr; }
  .sa-hero-summary-factors { grid-template-columns: 1fr; }
  .sa-research-risk-dashboard, .sa-research-factors-panel .sa-factor-columns, .sa-research-factors-panel .sa-factor-list, .sa-chip-visual-panel .sa-chip-visual-grid, .sa-history-supplement__grid { grid-template-columns: 1fr; }
  .sa-research-factors-panel.is-mobile-collapsed .sa-factor-columns { display: none; }
  .sa-factor-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 0 0 12px; padding: 0 14px; border: 1px solid rgba(125, 211, 252, .45); border-radius: 999px; background: rgba(14, 116, 144, .18); color: #bae6fd; font: inherit; font-weight: 800; }
  .sa-research-factors-panel .sa-factor-list li > span:last-child { white-space: normal; }
  .sa-chip-card { min-height: 0; }
  .sa-chip-card__head { display: block; }
  .sa-chip-card__head small { display: block; max-width: none; margin-top: 5px; text-align: left; }
  .sa-history-card__toggle { align-items: flex-start; }
  .sa-history-card__summary { justify-content: flex-start; }
  .sa-history-card__chevron { margin-left: auto; }
  .sa-monthly-revenue-chart__selected { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sa-monthly-revenue-chart__scroller { margin-inline: -2px; touch-action: pan-x pan-y; }
  .sa-monthly-revenue-chart__figure { width: 1080px; max-width: none; padding-inline: 9px; }
  .sa-monthly-revenue-chart__canvas { min-width: 1060px; min-height: 0; }
  .sa-monthly-revenue-chart__details > summary { min-height: 42px; display: flex; align-items: center; }
  .sa-selection-evidence-list article { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 860px) {
  .stock-hero-clean {
    grid-template-columns: 1fr;
  }

  .sa-hero-metrics,
  .sa-score-grid,
  .sa-data-grid,
  .sa-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .sa-kline-legend {
    gap: 6px;
    font-size: 12px;
  }

  .sa-kline-legend span,
  .sa-kline-legend small {
    border-radius: 14px;
    flex: 1 1 100%;
  }

  .sa-chart-panel,
  .sa-price-chart,
  .sa-volume-chart {
    max-width: 100%;
    overflow: hidden;
  }

  .sa-kline-toolbar,
  .sa-smart-toolbar {
    max-width: 100%;
    overflow-x: auto;
  }

  .sa-kline-diagnostic pre {
    max-width: 100%;
    overflow-x: auto;
  }

  .stock-app-shell,
  .stock-page #app {
    width: min(100% - 20px, 390px);
  }

  .sa-hero-metrics,
  .sa-score-grid,
  .sa-data-grid,
  .sa-metric-grid {
    grid-template-columns: 1fr;
  }

  .stock-search {
    width: 100%;
  }

  .stock-search input,
  .stock-search button {
    width: 100%;
  }
}

/* Watchlist event semantics: Taiwan market convention uses red for positive and green for negative. */
.p61-nav-alert-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
  font-size: 0.95em;
  line-height: 1;
}

.p61-watch-alert-list .p61-watch-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 1px solid rgba(194, 211, 235, 0.26);
  border-left: 4px solid rgba(194, 211, 235, 0.4);
  border-radius: 10px;
  padding: 12px 14px;
  background: rgba(5, 17, 40, 0.62);
  color: #edf5ff;
  text-align: left;
}

.p61-alert-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(194, 211, 235, 0.16);
  color: #d9e7fa;
  font-weight: 800;
}

.p61-alert-content { min-width: 0; }

.p61-alert-content > div:first-child { display: flex; align-items: baseline; gap: 8px; }

.p61-alert-content strong { color: #edf5ff; }

.p61-alert-state,
.p61-alert-reason { color: rgba(226, 232, 240, 0.72); font-size: 0.78em; }

.p61-watch-alert-list .p61-alert-type {
  display: block;
  margin-bottom: 2px;
  color: rgba(226, 232, 240, 0.78);
  font-size: 0.78em;
  font-weight: 700;
}

.p61-alert-reason { display: block; margin-top: 3px; }

.p61-alert-actions,
.p61-alert-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }

.p61-alert-actions { justify-content: flex-end; }

.p61-alert-actions a,
.p61-alert-actions button,
.p61-alert-toolbar button {
  min-height: 38px;
  border: 1px solid rgba(194, 211, 235, 0.32);
  border-radius: 8px;
  padding: 7px 10px;
  color: #d9e7fa;
  background: rgba(15, 34, 67, 0.72);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.p61-alert-toolbar { justify-content: space-between; margin-bottom: 10px; color: rgba(226, 232, 240, 0.78); }
.p61-watch-alert.is-read { opacity: 0.72; }

.p61-watch-alert.is-positive { border-left-color: #ff6b6b; }
.p61-watch-alert.is-positive .p61-alert-icon { background: rgba(255, 107, 107, 0.18); color: #ff9393; }
.p61-watch-alert.is-negative { border-left-color: #5ed59a; }
.p61-watch-alert.is-negative .p61-alert-icon { background: rgba(94, 213, 154, 0.18); color: #91e7b7; }
.p61-watch-alert.is-warning { border-left-color: #f6c453; }
.p61-watch-alert.is-warning .p61-alert-icon { background: rgba(246, 196, 83, 0.18); color: #ffda7a; }
.p61-watch-alert.is-neutral { border-left-color: rgba(194, 211, 235, 0.4); }

/* Stock page wide reading layout. */
@media (min-width: 761px) {
  .stock-app-shell,
  .stock-page #app,
  .sa-classic-page {
    width: min(100% - 48px, 1600px) !important;
  }

  .sa-classic-page {
    padding-top: 76px;
  }

  .sa-classic-panel {
    padding: 28px;
  }

  .sa-section-head h2 {
    font-size: 28px;
  }

  .sa-research-summary-panel .sa-selection-evidence-list p,
  .sa-research-factors-panel .sa-factor-list li > span:last-child,
  .sa-module-card p,
  .sa-module-card ul {
    color: rgba(241, 245, 249, .94);
    font-size: 18px;
    line-height: 1.7;
  }

  .sa-research-factors-panel .sa-factor-list li {
    padding: 16px 18px;
  }

  .sa-module-card__head span {
    color: rgba(241, 245, 249, .88);
    font-size: 16px;
    font-weight: 800;
  }

  .sa-module-card__head strong {
    font-size: 21px;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .sa-research-factors-panel .sa-factor-columns {
    grid-template-columns: 1fr;
  }

  .sa-research-factors-panel .sa-factor-list li > span:last-child {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .p61-watch-alert-list .p61-watch-alert {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .p61-alert-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}
