/* Loaded after the unified card stylesheet so the new strip keeps its
   explicit mobile placement across the legacy responsive cascade. */
.analysis-inline-back {
  display: none;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-combined-trend {
  grid-area: combined;
  align-self: center;
  justify-self: end;
  grid-template-columns: repeat(4, max-content);
  width: fit-content;
  max-width: 100%;
  height: 27px;
}

.analysis-card-host.analysis-layout-phone-landscape .combined-trend-cell {
  gap: 4px;
  height: 26px;
  justify-content: center;
  padding: 1px 10px;
}

.analysis-card-host.analysis-layout-phone-landscape .combined-trend-cell span {
  font-size: 10px;
}

.analysis-card-host.analysis-layout-phone-landscape .combined-trend-cell strong {
  font-size: 17px;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-title-row h3 {
  flex: 0 0 auto;
  max-width: 5em;
  font-size: 19px;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-title-row .stock-code {
  flex: 0 0 auto;
  flex-basis: auto;
  margin-right: 0;
  font-size: 18px;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-title-row {
  justify-content: flex-start;
  gap: 6px;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-combined-label {
  margin-left: 10px;
  padding-inline: 8px;
  font-size: 14px;
  line-height: 1.15;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-mobile-industry {
  max-width: 9em;
  margin-left: auto;
  transform: translateX(12px);
  border: 1px solid rgba(8, 122, 103, 0.16);
  padding: 3px 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
  cursor: pointer;
  appearance: none;
}

.analysis-card-host.analysis-layout-phone-landscape .analysis-mobile-industry::after {
  display: none;
  content: none;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-title-row {
  justify-content: flex-start;
  gap: 5px;
  padding-right: 42px;
}

/* A portrait list-analysis card already has the fixed previous/list/next bar.
   Hide the duplicate menu only in that state and give the title row its space. */
body:has(.analysis-card-host.analysis-layout-phone-portrait:not(.hidden) .analysis-swipe-navigation)
  .site-menu-button {
  display: none !important;
}

body:has(.analysis-card-host.analysis-layout-phone-portrait:not(.hidden) .analysis-swipe-navigation)
  .analysis-card-host.analysis-layout-phone-portrait .analysis-title-row {
  padding-right: 0;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-title-row .stock-code {
  flex: 0 0 auto;
  flex-basis: auto;
  margin-right: 0;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-title-row h3 {
  flex: 0 0 auto;
  max-width: 5em;
  overflow: visible;
  text-overflow: clip;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-mobile-industry {
  max-width: 5em;
  margin-left: auto;
  border: 1px solid rgba(8, 122, 103, 0.16);
  padding: 3px 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.15;
  cursor: pointer;
  appearance: none;
  box-shadow: inset 0 -1px 0 rgba(8, 122, 103, 0.08);
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-mobile-industry::after {
  display: none;
  content: none;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-combined-label {
  padding-inline: 8px;
  font-size: 14px;
  line-height: 1.15;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-card {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.analysis-card-host.analysis-layout-phone-portrait .price-stat {
  min-height: 146px;
}

.analysis-card-host.analysis-layout-phone-portrait .price-stat-head > span {
  font-size: 15px;
  font-weight: 900;
}

.analysis-card-host.analysis-layout-phone-portrait .hero-stat.parameter-focus {
  grid-template-columns: minmax(82px, 0.75fr) minmax(0, 1.5fr);
}

.analysis-card-host.analysis-layout-phone-portrait .hero-stat.parameter-focus > span,
.analysis-card-host.analysis-layout-phone-portrait .rating-value-group > span {
  font-size: 15px;
  font-weight: 900;
}

@media (orientation: landscape) and (max-width: 1180px) {
  .analysis-card-host.analysis-layout-phone-landscape > .analysis-grid {
    padding-inline: 2px;
  }

  body.query-view-active:has(.analysis-layout-phone-landscape) .site-footer {
    display: none;
  }
}

/* Tablet and desktop use the same horizontal information hierarchy as phone
   landscape, with roomier typography and controls. */
.analysis-card-host.analysis-layout-tablet-portrait .analysis-trend-summary,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-trend-summary,
.analysis-card-host.analysis-layout-desktop .analysis-trend-summary,
.analysis-card-host.analysis-layout-tablet-portrait .analysis-header-industry,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-header-industry,
.analysis-card-host.analysis-layout-desktop .analysis-header-industry,
.analysis-card-host.analysis-layout-tablet-portrait .signal-grid > .analysis-industry-card,
.analysis-card-host.analysis-layout-tablet-landscape .signal-grid > .analysis-industry-card,
.analysis-card-host.analysis-layout-desktop .signal-grid > .analysis-industry-card {
  display: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-combined-label,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-combined-label,
.analysis-card-host.analysis-layout-desktop .analysis-combined-label,
.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-industry,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-mobile-industry,
.analysis-card-host.analysis-layout-desktop .analysis-mobile-industry {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(8, 122, 103, 0.16);
  border-radius: 999px;
  padding: 5px 11px;
  background: #edf7f4;
  color: #08765f;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-industry,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-mobile-industry,
.analysis-card-host.analysis-layout-desktop .analysis-mobile-industry {
  max-width: 10em;
  margin-left: auto;
  background: #f0f6f7;
  color: #24776d;
  cursor: pointer;
  appearance: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-industry::after,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-mobile-industry::after,
.analysis-card-host.analysis-layout-desktop .analysis-mobile-industry::after {
  display: none;
  content: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-identity,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-identity,
.analysis-card-host.analysis-layout-desktop .analysis-identity,
.analysis-card-host.analysis-layout-tablet-portrait .analysis-title-row,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-title-row,
.analysis-card-host.analysis-layout-desktop .analysis-title-row {
  width: 100%;
  max-width: none;
  margin: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-title-row,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-title-row,
.analysis-card-host.analysis-layout-desktop .analysis-title-row {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-title-row .stock-code,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-title-row .stock-code,
.analysis-card-host.analysis-layout-desktop .analysis-title-row .stock-code {
  flex: 0 0 auto;
  flex-basis: auto;
  font-size: 22px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-title-row h3,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-title-row h3,
.analysis-card-host.analysis-layout-desktop .analysis-title-row h3 {
  flex: 0 0 auto;
  max-width: 7em;
  font-size: 25px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-combined-trend,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-combined-trend,
.analysis-card-host.analysis-layout-desktop .analysis-combined-trend {
  grid-area: combined;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-self: center;
  height: 44px;
  overflow: hidden;
  border: 1px solid #dbe4e8;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
}

.analysis-card-host.analysis-layout-tablet-portrait .combined-trend-cell,
.analysis-card-host.analysis-layout-tablet-landscape .combined-trend-cell,
.analysis-card-host.analysis-layout-desktop .combined-trend-cell {
  gap: 7px;
  height: 42px;
  padding: 4px 8px;
}

.analysis-card-host.analysis-layout-tablet-portrait .combined-trend-cell span,
.analysis-card-host.analysis-layout-tablet-landscape .combined-trend-cell span,
.analysis-card-host.analysis-layout-desktop .combined-trend-cell span {
  font-size: 14px;
}

.analysis-card-host.analysis-layout-tablet-portrait .combined-trend-cell strong,
.analysis-card-host.analysis-layout-tablet-landscape .combined-trend-cell strong,
.analysis-card-host.analysis-layout-desktop .combined-trend-cell strong {
  font-size: 22px;
}

.analysis-card-host.analysis-layout-tablet-landscape .analysis-card,
.analysis-card-host.analysis-layout-desktop .analysis-card {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  grid-template-areas:
    "head head head head head combined combined combined combined combined"
    "dashboard dashboard dashboard dashboard financial financial financial financial financial financial"
    "change change net net financial financial financial financial financial financial"
    "rating rating rating rating financial financial financial financial financial financial"
    "nav nav nav nav nav nav nav nav nav nav"
    "financial-extension financial-extension financial-extension financial-extension financial-extension financial-extension financial-extension financial-extension financial-extension financial-extension"
    "tdcc tdcc tdcc tdcc tdcc tdcc tdcc tdcc tdcc tdcc"
    "actions actions actions actions actions actions actions actions actions actions"
    "guide guide guide guide guide guide guide guide guide guide";
  height: auto;
  min-height: 0;
  padding-bottom: 20px;
}

/* Tablet portrait keeps the shared card components, but gives the core
   summary and financial section their own full-width rows. */
.analysis-card-host.analysis-layout-tablet-portrait .analysis-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas:
    "head head head head"
    "combined combined combined combined"
    "dashboard dashboard change net"
    "dashboard dashboard rating rating"
    "nav nav nav nav"
    "financial financial financial financial"
    "financial-extension financial-extension financial-extension financial-extension"
    "tdcc tdcc tdcc tdcc"
    "actions actions actions actions"
    "guide guide guide guide";
  gap: 12px;
  height: auto;
  min-height: 0;
  padding-bottom: 20px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-combined-trend {
  width: 100%;
}

.analysis-card-host.analysis-layout-tablet-portrait .financial-key-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr)) auto;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape,
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape
) .financial-more-card {
  display: none;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape,
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape
) .analysis-primary-actions {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.analysis-more-actions-menu.hidden {
  display: none;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape,
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape
) .analysis-more-actions-toggle {
  display: inline-flex;
  min-width: 0;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 2px solid #8ba4ad;
  border-radius: 10px;
  padding: 8px 12px;
  background: #f0f6f7;
  color: #263f4b;
  font-size: 16px;
  font-weight: 900;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape,
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape
) .analysis-more-actions-menu:not(.hidden) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 9px;
  border: 1px solid #bfd0d6;
  border-radius: 12px;
  background: #f7fafb;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape,
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape
) .analysis-more-actions-menu button {
  min-width: 0;
  min-height: 66px;
  border: 1px solid #9eb6bf;
  border-radius: 10px;
  padding: 9px 11px;
  background: #fff;
  color: #263b48;
  font-size: 15px;
  font-weight: 900;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-primary-actions {
  gap: 4px;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-primary-actions .watch-add-button,
.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-primary-actions .external-analysis-link,
.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-more-actions-toggle {
  min-height: 42px;
  padding: 6px;
  font-size: 13px;
  line-height: 1.1;
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-more-actions-menu:not(.hidden) {
  gap: 6px;
  padding: 7px;
}

/* The phone-landscape action row sits against the bottom viewport edge.
   Keep the existing menu inside the card, but open it above the trigger row. */
.analysis-card-host.analysis-layout-phone-landscape .analysis-more-actions-menu:not(.hidden) {
  position: absolute;
  right: 0;
  bottom: calc(100% + 6px);
  left: 0;
  z-index: 20;
  box-shadow: 0 10px 26px rgba(20, 39, 49, 0.2);
}

.analysis-card-host:is(
  .analysis-layout-phone-portrait,
  .analysis-layout-phone-landscape
) .analysis-more-actions-menu button {
  min-height: 56px;
  padding: 7px;
  font-size: 13px;
}

.analysis-card-host.analysis-layout-phone-portrait .analysis-more-actions-menu:not(.hidden) {
  grid-template-columns: 1fr;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-text-block {
  grid-area: guide;
  width: 100%;
  min-width: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-head,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-head,
.analysis-card-host.analysis-layout-desktop .analysis-head {
  grid-area: head;
  justify-content: flex-start;
  padding-inline: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-dashboard,
.analysis-card-host.analysis-layout-tablet-portrait .signal-grid,
.analysis-card-host.analysis-layout-tablet-landscape .signal-grid,
.analysis-card-host.analysis-layout-desktop .signal-grid {
  display: contents;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-dashboard,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-dashboard,
.analysis-card-host.analysis-layout-desktop .analysis-dashboard {
  grid-area: dashboard;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .parameter-hero,
.analysis-card-host.analysis-layout-tablet-landscape .parameter-hero,
.analysis-card-host.analysis-layout-desktop .parameter-hero {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-change-card,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-change-card,
.analysis-card-host.analysis-layout-desktop .analysis-change-card { grid-area: change; }
.analysis-card-host.analysis-layout-tablet-portrait .analysis-net-value-card,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-net-value-card,
.analysis-card-host.analysis-layout-desktop .analysis-net-value-card { grid-area: net; }
.analysis-card-host.analysis-layout-tablet-portrait .rating-bond-card,
.analysis-card-host.analysis-layout-tablet-landscape .rating-bond-card,
.analysis-card-host.analysis-layout-desktop .rating-bond-card { grid-area: rating; }
.analysis-card-host.analysis-layout-tablet-portrait .financial-key-section,
.analysis-card-host.analysis-layout-tablet-landscape .financial-key-section,
.analysis-card-host.analysis-layout-desktop .financial-key-section { grid-area: financial; }

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .analysis-mobile-financial-extension {
  box-sizing: border-box;
  grid-area: financial-extension;
  display: grid;
  min-width: 0;
  gap: 14px;
  margin-top: 4px;
  border-top: 1px solid #d7e1e5;
  padding-top: 16px;
}

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .analysis-financial-extension-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .analysis-financial-extension-head h2 {
  margin: 0;
  color: #21323d;
  font-size: 24px;
  line-height: 1.2;
}

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .analysis-financial-extension-head small {
  color: #68798a;
  font-size: 13px;
  font-weight: 800;
}

.analysis-card-host.analysis-layout-desktop .analysis-financial-next {
  display: inline-flex;
  min-width: 112px;
  height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #9fcac5;
  border-radius: 12px;
  padding: 0 16px;
  background: #f2faf9;
  color: #0d6f66;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.analysis-card-host.analysis-layout-desktop .analysis-financial-next b {
  font-size: 23px;
  line-height: 1;
}

.analysis-card-host.analysis-layout-desktop .analysis-financial-next:hover {
  border-color: #0d8075;
  background: #e5f5f2;
}

.analysis-card-host.analysis-layout-desktop .analysis-financial-next:focus-visible {
  outline: 3px solid rgba(13, 128, 117, 0.24);
  outline-offset: 2px;
}

.analysis-card-host.analysis-layout-desktop .analysis-financial-next:disabled {
  border-color: #d6dfe1;
  background: #f2f4f5;
  color: #8a969d;
  cursor: default;
}

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .analysis-mobile-financial-extension > .more-financial-content {
  gap: 18px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-financial-extension .financial-equation-grid,
.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-financial-extension .financial-value-layout {
  grid-template-columns: minmax(0, 1fr);
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-mobile-financial-extension .financial-value-nodes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.analysis-card-host:is(
  .analysis-layout-tablet-portrait,
  .analysis-layout-tablet-landscape,
  .analysis-layout-desktop
) .financial-more-card {
  display: none;
}
.analysis-card-host.analysis-layout-tablet-portrait .analysis-primary-actions,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-primary-actions,
.analysis-card-host.analysis-layout-desktop .analysis-primary-actions {
  grid-area: actions;
  margin: 4px 0 0;
}

/* Restore the primary KPI hierarchy after the tablet/desktop grid rewrite. */
.analysis-card-host.analysis-layout-tablet-portrait .analysis-price-value,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-price-value {
  font-size: 40px;
  line-height: 1;
}

.analysis-card-host.analysis-layout-tablet-portrait .hero-stat.parameter-focus > strong.advantage-score-value,
.analysis-card-host.analysis-layout-tablet-landscape .hero-stat.parameter-focus > strong.advantage-score-value {
  font-size: 44px;
  line-height: 1;
}

.analysis-card-host.analysis-layout-desktop .analysis-price-value {
  font-size: 48px;
  line-height: 1;
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
}

.analysis-card-host.analysis-layout-desktop .analysis-price-value.is-long {
  font-size: 40px;
}

.analysis-card-host.analysis-layout-desktop .analysis-price-value.is-very-long {
  font-size: 34px;
}

.analysis-card-host.analysis-layout-desktop .hero-stat.parameter-focus > strong.advantage-score-value {
  font-size: 52px;
  line-height: 1;
}

/* Tablet and desktop keep list navigation outside the analysis card. */
.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-navigation,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-navigation,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation {
  grid-area: nav;
  position: static;
  inset: auto;
  z-index: auto;
  display: grid;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr) minmax(110px, auto) auto;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  margin: 0 0 8px;
  padding: 4px 8px;
  border: 1px solid #dbe4e8;
  border-radius: 12px;
  background: #f8fbfb;
  pointer-events: auto;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-navigation button,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-navigation button,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation button {
  position: static;
  inset: auto;
  display: inline-flex;
  width: auto;
  min-width: 110px;
  height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 20px;
  pointer-events: auto;
  transform: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-navigation button:first-child,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-navigation button:first-child,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation button:first-child {
  justify-self: start;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-navigation button:last-child,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-navigation button:last-child,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation button:last-child {
  justify-self: end;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-navigation [data-analysis-swipe-action="next"],
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-navigation [data-analysis-swipe-action="next"],
.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation [data-analysis-swipe-action="next"] {
  justify-self: end;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-return-list,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-return-list,
.analysis-card-host.analysis-layout-desktop .analysis-return-list {
  display: inline-flex;
  min-width: 88px;
  color: #a7232a;
  font-size: 13px;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-nav-label,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-nav-label,
.analysis-card-host.analysis-layout-desktop .analysis-nav-label {
  display: inline;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-position,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-position,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-position {
  position: static;
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
  pointer-events: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-position strong,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-position strong,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-position strong {
  display: block;
  overflow: hidden;
  color: #12202b;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-swipe-position span,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-swipe-position span,
.analysis-card-host.analysis-layout-desktop .analysis-swipe-position span {
  display: block;
  margin: 2px 0 0;
  color: #687780;
  font-size: 11px;
  line-height: 1.2;
}

/* Desktop keeps previous/next at the card edges. The controls are overlays,
   so changing stock never inserts a navigation row or shifts the card down. */
.analysis-card-host.analysis-layout-desktop > .result-actions {
  display: none !important;
}

.analysis-card-host.analysis-layout-desktop > .analysis-grid {
  position: relative;
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation {
  position: absolute;
  inset: 0;
  z-index: 12;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation button {
  position: absolute;
  top: 50%;
  width: auto;
  min-width: 44px;
  height: 44px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  font-size: 27px;
  pointer-events: auto;
  transform: translateY(-50%);
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation [data-analysis-swipe-action="previous"] {
  right: auto;
  left: 8px;
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-navigation [data-analysis-swipe-action="next"] {
  right: 8px;
  left: auto;
}

.analysis-card-host.analysis-layout-desktop .analysis-return-list {
  top: 10px;
  right: 10px;
  left: auto;
  display: inline-flex !important;
  min-width: 96px;
  height: 36px;
  font-size: 14px;
  transform: none;
}

/* Some list entries render their return control outside the shared carousel.
   The shared carousel owns the desktop return action, so source-specific
   controls stay hidden without creating another close lifecycle. */
.analysis-card-host.analysis-layout-desktop
  :is(
    #clearListAnalysisButton,
    #intradayListAnalysisBack,
    [data-secondary-analysis-action="return"],
    [data-secondary-analysis-action="close"]
  ) {
  display: none !important;
}

.analysis-card-host.analysis-layout-desktop:not(.is-shared-stock-detail-fullscreen):not(#mobileListStockDetailContent):not(#stockResultPanel):not(#watchlistAnalysisPanel):not(#intradayListAnalysisPanel)
  [data-analysis-return-to-list] {
  display: none !important;
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-position {
  position: absolute;
  right: 18px;
  bottom: 12px;
  display: block;
  padding: 3px 8px;
  border: 1px solid rgba(83, 99, 113, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-position strong {
  display: none;
}

.analysis-card-host.analysis-layout-desktop .analysis-swipe-position span {
  margin: 0;
}

/* Carousel navigation is an entry-level sibling of the viewport. Both span
   the host grid so list context can never resize the analysis card. */
.analysis-card-host > .analysis-grid > .analysis-swipe-navigation,
.analysis-card-host > .analysis-grid > .analysis-carousel-viewport {
  grid-area: auto;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

/* Phone landscape keeps the existing compact page indicator. */
.analysis-card-host.analysis-layout-phone-landscape > .analysis-grid,
.analysis-card-host.analysis-layout-tablet-portrait > .analysis-grid,
.analysis-card-host.analysis-layout-tablet-landscape > .analysis-grid {
  position: relative;
}

.analysis-card-host.analysis-layout-phone-landscape
  > .analysis-grid
  > .analysis-swipe-navigation {
  position: absolute;
  right: 12px;
  bottom: 46px;
  left: auto;
  z-index: 3;
  display: block;
  grid-column: auto;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 3px 7px;
  border: 1px solid rgba(83, 99, 113, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1px 4px rgba(20, 39, 49, 0.08);
  pointer-events: none;
}

.analysis-card-host.analysis-layout-tablet-portrait .analysis-inline-back,
.analysis-card-host.analysis-layout-desktop#stockResultPanel .analysis-inline-back,
.analysis-card-host.analysis-layout-desktop#watchlistAnalysisPanel .analysis-inline-back,
.analysis-card-host.analysis-layout-desktop#intradayListAnalysisPanel .analysis-inline-back,
.analysis-card-host.analysis-layout-tablet-landscape .analysis-inline-back {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 48px;
  width: 48px;
  min-width: 48px;
  height: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 0;
  border-radius: 10px;
  padding: 0;
  background: rgba(230, 237, 240, 0.72);
  color: #21323d;
  box-shadow: none;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}

/* Give rating and company bond their own stable half instead of allowing
   their labels to collapse into one another. */
.analysis-card-host.analysis-layout-tablet-portrait .rating-bond-card,
.analysis-card-host.analysis-layout-tablet-landscape .rating-bond-card,
.analysis-card-host.analysis-layout-desktop .rating-bond-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 0;
  min-width: 0;
}

.analysis-card-host.analysis-layout-tablet-portrait .rating-value-group,
.analysis-card-host.analysis-layout-tablet-landscape .rating-value-group,
.analysis-card-host.analysis-layout-desktop .rating-value-group {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding-right: 10px;
  border-right: 1px solid #dce4e8;
  white-space: nowrap;
}

.analysis-card-host.analysis-layout-desktop .rating-value-group {
  justify-content: center;
}

.analysis-card-host.analysis-layout-desktop .rating-value-group > strong {
  margin: 0;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}

.analysis-card-host.analysis-layout-tablet-portrait .company-bond-inline,
.analysis-card-host.analysis-layout-tablet-landscape .company-bond-inline,
.analysis-card-host.analysis-layout-desktop .company-bond-inline {
  min-width: 0;
  justify-content: center;
  margin: 0;
  padding-left: 10px;
  white-space: nowrap;
}

@media (orientation: landscape) and (max-width: 932px) and (max-height: 540px) {
  #intradayHighListModal:not(.hidden)
    > .modal-panel.intraday-list-modal.is-summary-list {
    width: inherit !important;
    max-width: inherit !important;
  }
}
