:root {
  color-scheme: light;
  font-family: "Microsoft JhengHei", "PingFang TC", Arial, sans-serif;
  background: #eef2f5;
  color: #17212b;
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

.site-admin-login-phone {
  display: none;
}

@media (max-width: 720px) and (orientation: portrait),
       (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
  body:not(.query-view-active) #siteAdminControls .site-admin-login {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }

  body:not(.query-view-active) #siteAdminControls .site-admin-login-full {
    display: none;
  }

  body:not(.query-view-active) #siteAdminControls .site-admin-login-phone {
    display: inline;
  }
}

/* Pullback-rebound list: compact, balanced four-column portrait layout. */
@media (max-width: 700px) and (orientation: portrait) {
  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-list-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-list-heading > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    align-items: end;
    gap: 1px 8px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-list-heading .eyebrow {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 10px;
    line-height: 1.1;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-list-heading h2 {
    grid-column: 1;
    margin: 0;
    font-size: 18px;
    line-height: 1.15;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-list-heading .section-note {
    grid-column: 2;
    margin: 0 0 1px;
    color: #687785;
    font-size: 11px;
    line-height: 1.1;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    #intradayHighListClose {
    min-width: 46px;
    max-width: 50px;
    min-height: 34px;
    padding: 4px 7px;
  }

  /* Rebound uses the same phone table geometry, typography and sort-button
     treatment as the existing high/low list.  Only its column labels differ. */
  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode tr {
    grid-template-columns: 34% 22% 22% 22% !important;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-close-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    min-height: 34px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    > .intraday-close-tabs button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 5px 2px !important;
    font-size: 11px !important;
    line-height: 1.15;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode tbody tr:only-child td[colspan] {
    grid-column: 1 / -1 !important;
    justify-content: center;
    min-height: 54px;
    text-align: center;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead tr,
  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead th {
    background: #eef3f5;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-empty-state {
    display: flex;
    width: 100%;
    min-height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #344652;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-empty-icon {
    font-size: 28px;
    line-height: 1;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-empty-state strong {
    font-size: 15px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-empty-state small {
    color: #7a8791;
    font-size: 12px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-list-table.is-rebound-mode thead {
    display: none !important;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    > .intraday-list-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 18px 10px 10px !important;
    overflow: hidden !important;
    border: 0;
    background: #f4f7f8;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-list-table.is-rebound-mode {
    width: min(100%, 390px);
    background: transparent;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-list-table.is-rebound-mode tbody,
  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-list-table.is-rebound-mode .intraday-empty-row {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-list-table.is-rebound-mode .intraday-empty-row td[colspan] {
    display: block !important;
    width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    .intraday-empty-state {
    min-height: 140px;
    border: 1px solid #d7e1e5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(19, 52, 65, 0.07);
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary.is-empty-summary
    > .intraday-list-note {
    display: none !important;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead th {
    display: flex;
    min-width: 0;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    color: #344652;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead th:first-child {
    justify-content: flex-start;
    padding-left: 14px;
    text-align: left;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead .table-sort-button {
    display: inline-flex;
    width: auto;
    min-width: 0;
    min-height: 0;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
    line-height: inherit;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead th:first-child .table-sort-button {
    justify-content: flex-start;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-list-table.is-rebound-mode thead .table-sort-button.active {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #0f716f;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-close-stock strong {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.1;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-close-stock .intraday-stock-code {
    font-size: 12px;
    font-weight: 900;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-rebound-summary
    .intraday-close-stock .intraday-stock-name {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Phone landscape: purpose-built compact intraday list (not a scaled desktop table). */
@media (orientation: landscape) and (max-width: 932px) and (max-height: 540px) {
  #intradayHighListModal {
    box-sizing: border-box;
    width: var(--intraday-viewport-width, 100vw) !important;
    max-width: var(--intraday-viewport-width, 100vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #intradayHighListModal .modal-panel.intraday-list-modal,
  #intradayHighListModal .modal-panel.intraday-list-modal.is-summary-list {
    position: absolute !important;
    inset: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding:
      max(7px, env(safe-area-inset-top, 0px))
      max(9px, env(safe-area-inset-right, 0px))
      max(7px, env(safe-area-inset-bottom, 0px))
      max(9px, env(safe-area-inset-left, 0px)) !important;
    grid-template-rows: auto auto 50px minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  #intradayHighListModal .intraday-list-heading {
    min-height: 34px;
    align-items: center;
    padding-right: 70px !important;
  }

  #intradayHighListModal .intraday-list-heading > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 12px;
    overflow: hidden;
  }

  #intradayHighListModal .intraday-list-title-line {
    flex: 0 0 auto;
    overflow: visible;
  }

  #intradayHighListModal .intraday-list-heading .eyebrow,
  #intradayHighListModal .intraday-list-note,
  #intradayHighListModal .intraday-landscape-hint {
    display: none !important;
  }

  #intradayHighListModal .intraday-list-heading h2 {
    flex: 0 0 auto;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-list-heading .section-note {
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    color: #667783;
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-close-tabs {
    min-height: 34px;
    gap: 4px;
    padding: 3px;
  }

  #intradayHighListModal .intraday-close-tabs button {
    min-height: 28px;
    padding: 4px 8px;
    font-size: 14px;
  }

  #intradayHighListModal .intraday-list-wrap {
    width: 100%;
    min-width: 0;
    border-radius: 8px;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  #intradayHighListModal .intraday-batch-list {
    width: 100%;
    min-width: 0;
    padding: 4px;
  }

  #intradayHighListModal .intraday-wave-group {
    width: 100%;
    min-width: 0;
  }

  #intradayHighListModal .intraday-batch-toggle {
    grid-template-columns: 70px minmax(0, 1fr) 22px;
    min-height: 46px;
    gap: 8px;
    padding: 6px 10px;
  }

  #intradayHighListModal .intraday-wave-time {
    min-width: 0;
  }

  #intradayHighListModal .intraday-wave-time strong {
    font-size: 17px;
  }

  #intradayHighListModal .intraday-wave-time small {
    margin-top: 2px;
    font-size: 9px;
  }

  #intradayHighListModal .intraday-wave-summary {
    min-width: 0;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-wave-summary strong {
    font-size: 17px;
  }

  #intradayHighListModal .intraday-stock-card {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    grid-template-columns:
      minmax(0, 2.45fr)
      minmax(48px, 0.55fr)
      minmax(52px, 0.62fr)
      minmax(112px, 1.25fr)
      minmax(76px, 0.82fr) !important;
    grid-template-areas: "stock rating stars period state" !important;
    column-gap: 4px !important;
    align-items: center;
    min-height: 42px;
    padding: 6px 10px !important;
  }

  #intradayHighListModal .intraday-list-stock {
    grid-area: stock;
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 5px;
    overflow: hidden;
    font-size: 14px;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-stock-code,
  #intradayHighListModal .intraday-stock-name,
  #intradayHighListModal .intraday-stock-price-inline {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-stock-name {
    max-width: 7em;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #intradayHighListModal .intraday-stock-price-inline {
    display: inline !important;
    color: #253746;
    font-variant-numeric: tabular-nums;
  }

  #intradayHighListModal .intraday-list-price,
  #intradayHighListModal .intraday-card-time {
    display: none !important;
  }

  #intradayHighListModal .intraday-stock-signal {
    display: contents;
  }

  #intradayHighListModal .intraday-list-rating,
  #intradayHighListModal .intraday-list-stars,
  #intradayHighListModal .intraday-list-period,
  #intradayHighListModal .intraday-list-state {
    min-width: 0;
    justify-content: center;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-list-rating { grid-area: rating; }
  #intradayHighListModal .intraday-list-stars { grid-area: stars; }
  #intradayHighListModal .intraday-list-period { grid-area: period; }
  #intradayHighListModal .intraday-list-state { grid-area: state; }

  #intradayHighListModal .intraday-stock-card small {
    display: none !important;
  }

  #intradayHighListModal:not(.hidden) > .intraday-mobile-list-back {
    top: calc(var(--intraday-viewport-top, 0px) + max(7px, env(safe-area-inset-top, 0px))) !important;
    left: auto !important;
    right: max(9px, env(safe-area-inset-right, 0px)) !important;
    width: 64px;
    min-width: 64px;
    min-height: 34px;
    padding: 4px 7px;
    font-size: 13px;
  }
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.site-menu-button {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 80;
  display: inline-grid;
  gap: 5px;
  place-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(214, 166, 63, 0.72);
  border-radius: 8px;
  background: rgba(54, 38, 18, 0.92);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}

.site-menu-button span {
  display: block;
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: #f2c84b;
}

.site-menu-panel {
  position: fixed;
  top: 78px;
  right: 16px;
  z-index: 90;
  display: grid;
  width: min(280px, calc(100vw - 32px));
  border: 1px solid rgba(214, 166, 63, 0.45);
  border-radius: 8px;
  padding: 14px;
  background: rgba(15, 19, 34, 0.96);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.36);
}

.site-menu-panel a,
.site-menu-panel button {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(214, 166, 63, 0.18);
  border-radius: 0;
  padding: 16px 10px;
  background: transparent;
  color: #f7f0dc;
  text-align: left;
  text-decoration: none;
  font-weight: 900;
  cursor: pointer;
}

.site-menu-panel a:last-child,
.site-menu-panel button:last-child {
  border-bottom: 0;
}

.site-menu-panel a:hover,
.site-menu-panel button:hover {
  color: #f2c84b;
}

.site-menu-panel .site-menu-logout-item {
  margin-top: 6px;
  border-top: 1px solid rgba(242, 200, 75, 0.42);
  color: #f2c84b;
}

@media (max-width: 720px),
       (orientation: landscape) and (max-width: 932px) and (max-height: 600px) {
  .site-menu-panel .site-menu-desktop-query {
    display: none;
  }
}

.site-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(4, 8, 18, 0.28);
}

button,
input,
textarea {
  font: inherit;
}

.app-shell {
  width: min(1040px, calc(100% - 32px));
  margin: 40px auto;
}

.panel {
  background: #fff;
  border: 1px solid #d7dde3;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(30, 48, 66, 0.08);
  padding: 28px;
}

.auth-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 370px);
  gap: 28px;
  align-items: start;
}

.brand-login {
  padding: clamp(22px, 4vw, 40px);
  background:
    linear-gradient(135deg, rgba(255, 247, 228, 0.9), rgba(248, 252, 251, 0.94)),
    #fff;
}

.market-verdict-hero {
  position: relative;
  grid-column: 1 / -1;
  min-height: 0;
  display: grid;
  gap: 18px;
  border: 1px solid rgba(214, 166, 63, 0.38);
  border-radius: 18px;
  padding: clamp(28px, 4vw, 46px);
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 209, 102, 0.2), transparent 38%),
    linear-gradient(145deg, #102231, #172f3d 58%, #183843);
  color: #fff;
  box-shadow: 0 24px 60px rgba(20, 42, 55, 0.2);
}

.market-verdict-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.market-verdict-market {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}

.market-verdict-market > span {
  margin: 0;
  color: #eef4f6;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 1000;
}

.market-verdict-market .market-pulse-index {
  white-space: nowrap;
}

.market-verdict-date {
  position: absolute;
  right: clamp(28px, 4vw, 46px);
  bottom: clamp(28px, 4vw, 46px);
  text-align: right;
}

.market-verdict-hero h1 {
  margin: 0;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 7px 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #f4f7f9;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 1000;
  line-height: 1.1;
  letter-spacing: 0;
}

.market-verdict-hero h1[data-tone="bullish"] { color: #ff8f82; box-shadow: 0 0 18px rgba(255, 143, 130, 0.18); }
.market-verdict-hero h1[data-tone="bearish"] { color: #72d7b0; box-shadow: 0 0 18px rgba(114, 215, 176, 0.2); }
.market-verdict-hero h1[data-tone="neutral"] { color: #f3c969; }

.market-verdict-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.market-verdict-stat {
  display: grid;
  width: 100%;
  gap: 4px;
  border: 1px solid rgba(220, 233, 238, 0.16);
  border-radius: 13px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.055);
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.market-verdict-stat:hover,
.market-verdict-stat:focus-visible {
  border-color: rgba(242, 200, 75, 0.72);
  outline: none;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

.market-verdict-stat:active {
  transform: translateY(0);
}

.market-verdict-stat span {
  color: #c6d4da;
  font-size: 14px;
  font-weight: 850;
}

.market-verdict-stat strong {
  color: #fff;
  font-size: clamp(21px, 4vw, 34px);
  line-height: 1.05;
}

.market-verdict-stat small {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  font-weight: 700;
  white-space: nowrap;
}

.market-verdict-stat strong b {
  font-size: 1.45em;
}

.market-verdict-stat.bullish strong { color: #ff9b90; }
.market-verdict-stat.bearish strong { color: #72d7b0; }

@media (max-width: 720px) and (orientation: portrait) {
  .market-verdict-stat {
    min-width: 0;
    padding: 12px;
    border-color: rgba(220, 233, 238, 0.28);
    background: rgba(255, 255, 255, 0.075);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.06),
      0 3px 8px rgba(4, 15, 22, 0.12);
  }

  .market-verdict-stat:active {
    background: rgba(255, 255, 255, 0.12);
    transform: scale(0.99);
  }

  .market-verdict-stat strong {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 19px;
    text-align: center;
    white-space: nowrap;
  }

  .market-verdict-stat strong b {
    font-size: 32px;
  }

  .market-verdict-stat small {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    font-size: 10px;
    letter-spacing: -0.02em;
    text-align: justify;
    text-align-last: justify;
    text-overflow: clip;
    white-space: nowrap;
  }
}

.market-verdict-volume-note {
  margin: -3px 0 0;
  color: #9fb1ba;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
}

.market-verdict-copy {
  display: grid;
  gap: 4px;
}

.market-verdict-reason {
  margin: 0;
  color: #dbe6eb;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 800;
  line-height: 1.4;
}

.market-verdict-ratio {
  margin: 0;
  color: #aebfc7;
  font-size: 14px;
  font-weight: 750;
}

.market-pulse-low-volume-note {
  display: block;
  margin-top: 7px;
  color: #72828d;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.market-verdict-action {
  justify-self: start;
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  padding: 9px 16px;
  background: rgba(243, 201, 105, 0.12);
  color: #f3c969;
  font-size: 15px;
  font-weight: 1000;
  box-shadow: none;
}

.market-verdict-action:hover,
.market-verdict-action:focus-visible {
  background: rgba(243, 201, 105, 0.22);
  transform: translateY(-1px);
}

.brand-copy {
  display: grid;
  gap: 16px;
  align-content: start;
}

.mobile-use-flow {
  display: none;
}

.brand-copy > .eyebrow {
  color: #296f77;
  font-size: clamp(18px, 3vw, 28px);
  font-weight: 1000;
  letter-spacing: 0.02em;
}

.brand-copy h1 {
  max-width: 760px;
  color: #9c2f24;
  font-size: clamp(34px, 7vw, 70px);
  line-height: 1.06;
  text-shadow: 0 2px 0 #ffd166, 0 14px 34px rgba(156, 47, 36, 0.16);
}

.brand-copy h1 > span {
  display: inline;
}

.query-title-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: -0.14em;
}

.cover-query-heading h2,
.stock-lookup-heading strong {
  align-items: center;
  gap: 0.38em;
}

.cover-query-heading h2 {
  display: flex;
}

.stock-lookup-heading strong.query-title {
  display: inline-flex;
}

.brand-subtitle {
  margin: 0;
  color: #296f77;
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: 900;
}

.brand-slogan {
  margin: 0;
  color: #17212b;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.6;
}

.brand-description {
  margin: 0;
  max-width: 760px;
  color: #41505f;
  font-size: clamp(16px, 2vw, 19px);
  font-weight: 800;
  line-height: 1.65;
}

.brand-value-line {
  margin: -4px 0 0;
  color: #8a4f20;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.6;
}

@media (orientation: landscape) and (max-width: 1180px) and (max-height: 600px) {
  #loginView .hero-entry-card {
    position: static;
    width: auto;
    max-height: none;
    overflow: visible;
    transform: none;
  }
}

.learn-more-link {
  width: fit-content;
  color: #296f77;
  font-weight: 900;
  line-height: 1.5;
  text-underline-offset: 4px;
}

.popular-stocks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.popular-stocks > span {
  color: #607080;
  font-size: 13px;
  font-weight: 900;
}

.popular-stocks button {
  min-height: 34px;
  border: 1px solid #bfd2d6;
  border-radius: 999px;
  padding: 6px 11px;
  background: #f4f8f9;
  color: #296f77;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.popular-stocks button:hover,
.popular-stocks button:focus-visible {
  border-color: #296f77;
  background: #e7f2f3;
}

#homeAiQuestion {
  display: grid;
  gap: 8px;
  border-top: 1px solid #e6d7c5;
  padding-top: 13px;
}

#homeAiQuestion .home-ai-question-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

#homeAiQuestion .home-ai-question-heading h3 {
  margin: 0;
  color: #24313d;
  font-size: 17px;
  line-height: 1.3;
}

#homeAiQuestion .home-ai-question-heading span {
  color: #71818c;
  font-size: 11px;
  font-weight: 800;
}

#homeAiQuestion .home-ai-question-entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 48px;
  gap: 9px;
  border: 1px solid #bfd2d6;
  border-radius: 13px;
  padding: 9px 11px;
  background: #f4f8f9;
  color: #41505f;
  box-shadow: none;
  text-align: left;
}

#homeAiQuestion .home-ai-question-entry:hover,
#homeAiQuestion .home-ai-question-entry:focus-visible {
  border-color: #296f77;
  background: #eaf4f4;
  transform: none;
}

#homeAiQuestion .home-ai-question-entry.is-locked {
  border-color: #d8dde1;
  background: #f7f8f8;
  color: #7a8791;
}

#homeAiQuestion .home-ai-question-entry-icon {
  color: #296f77;
  font-size: 18px;
}

#homeAiQuestion .home-ai-question-entry-copy {
  min-width: 0;
  overflow: hidden;
  font-size: 14px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#homeAiQuestion .home-ai-question-entry-mic {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e5eeee;
  font-size: 14px;
  filter: grayscale(0.25);
}

#homeAiQuestion .home-ai-question-entry-status {
  margin: 0;
  color: #607080;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

body.home-ai-question-open {
  overflow: hidden;
}

#homeAiQuestionModal {
  z-index: 3600;
  padding: clamp(14px, 3vw, 32px);
  background: rgba(7, 28, 54, 0.66);
  backdrop-filter: blur(5px);
}

#homeAiQuestionModal .home-ai-question-dialog {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(760px, 100%);
  height: min(720px, calc(100dvh - 64px));
  max-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(191, 210, 214, 0.8);
  border-radius: 22px;
  background: #fffdf8;
  box-shadow: 0 32px 90px rgba(7, 28, 54, 0.34);
}

#homeAiQuestionModal .home-ai-question-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #dce7e8;
  padding: 18px 22px;
  background: linear-gradient(135deg, #eef7f7, #fff8e8);
}

#homeAiQuestionModal .home-ai-question-dialog-header p,
#homeAiQuestionModal .home-ai-question-dialog-header h2 {
  margin: 0;
}

#homeAiQuestionModal .home-ai-question-dialog-header p {
  margin-bottom: 3px;
  color: #296f77;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.05em;
}

#homeAiQuestionModal .home-ai-question-dialog-header h2 {
  color: #17212b;
  font-size: clamp(22px, 3vw, 30px);
}

#homeAiQuestionModal #homeAiQuestionClose {
  min-width: 92px;
  min-height: 42px;
  border: 1px solid #bfd2d6;
  border-radius: 11px;
  padding: 8px 14px;
  background: #fff;
  color: #296f77;
  box-shadow: none;
  font-size: 15px;
}

#homeAiQuestionModal .home-ai-question-conversation {
  display: grid;
  align-content: start;
  gap: 13px;
  min-height: 0;
  overflow-y: auto;
  padding: 22px;
  background: #f8fbfb;
}

#homeAiQuestionModal .home-ai-question-intro,
#homeAiQuestionModal .home-ai-question-status,
#homeAiQuestionModal .home-ai-question-answer {
  margin: 0;
  font-weight: 750;
  line-height: 1.65;
}

#homeAiQuestionModal .home-ai-question-intro {
  color: #607080;
  font-size: 14px;
}

#homeAiQuestionModal .home-ai-question-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#homeAiQuestionModal .home-ai-question-types button {
  min-height: 38px;
  border: 1px solid #c6d9db;
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: #365b61;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

#homeAiQuestionModal .home-ai-question-more {
  display: none;
}

#homeAiQuestionModal .home-ai-question-types button:hover,
#homeAiQuestionModal .home-ai-question-types button:focus-visible,
#homeAiQuestionModal .home-ai-question-types button.is-active {
  border-color: #2d858c;
  background: #e2f2f2;
  color: #17636a;
}

#homeAiQuestionModal .home-ai-question-type-hint {
  margin: -4px 0 0;
  color: #70818e;
  font-size: 12px;
  line-height: 1.55;
}

#homeAiQuestionModal .home-ai-question-status {
  color: #296f77;
  font-size: 13px;
}

#homeAiQuestionModal .home-ai-question-answer {
  max-width: min(620px, 92%);
  border: 1px solid #cbdedf;
  border-radius: 16px 16px 16px 4px;
  padding: 15px 17px;
  background: #fff;
  color: #24313d;
  box-shadow: 0 8px 22px rgba(35, 93, 99, 0.08);
  font-size: 15px;
  white-space: pre-wrap;
}

#homeAiQuestionModal .home-ai-question-answer.is-analysis-card {
  max-width: min(680px, 100%);
  padding: 12px 16px;
  font-weight: 400;
  white-space: normal;
}

#homeAiQuestionModal .home-ai-analysis-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#homeAiQuestionModal .home-ai-analysis-stock {
  margin: 0;
  border-bottom: 1px solid #cbdedf;
  padding: 2px 0 11px;
  color: #153f45;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
}

#homeAiQuestionModal .home-ai-analysis-list li {
  margin: 0;
  border: 1px solid #e3ecec;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fbfdfd;
  color: #24313d;
  font-weight: 400;
  line-height: 1.62;
  overflow-wrap: anywhere;
}

#homeAiQuestionModal .home-ai-analysis-list li:last-child {
  border-bottom: 1px solid #e3ecec;
}

#homeAiQuestionModal .home-ai-analysis-list strong {
  display: block;
  margin-bottom: 3px;
  color: #17636a;
  font-size: 0.92em;
  font-weight: 800;
}

#homeAiQuestionModal .home-ai-analysis-list span {
  display: block;
  font-weight: 400;
}

#homeAiQuestionModal .home-ai-analysis-list li.is-conclusion {
  border-color: #74aeb3;
  background: #eff9f8;
  box-shadow: inset 3px 0 0 #17636a;
}

#homeAiQuestionModal .home-ai-analysis-list li.is-conclusion strong {
  color: #0d4f56;
  font-size: 1em;
  font-weight: 900;
}

#homeAiQuestionModal .home-ai-question-form {
  position: relative;
  display: grid;
  gap: 11px;
  border-top: 1px solid #dce7e8;
  padding: 17px 22px 20px;
  background: #fff;
}

#homeAiQuestionModal .home-ai-question-form .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

#homeAiQuestionModal .home-ai-question-input-shell {
  position: relative;
}

#homeAiQuestionModal .home-ai-question-input-shell textarea {
  display: block;
  width: 100%;
  min-height: 108px;
  max-height: 180px;
  resize: vertical;
  border: 1px solid #afc9cc;
  border-radius: 15px;
  padding: 14px 58px 14px 15px;
  background: #fff;
  color: #17212b;
  font: inherit;
  font-size: 16px;
  line-height: 1.55;
}

#homeAiQuestionModal .home-ai-question-microphone {
  position: absolute;
  right: 11px;
  bottom: 11px;
  width: 38px;
  height: 38px;
  min-height: 0;
  border: 1px solid #d1dfe1;
  border-radius: 999px;
  padding: 0;
  background: #eef3f3;
  box-shadow: none;
  font-size: 17px;
  opacity: 0.72;
}

#homeAiQuestionModal .home-ai-question-submit {
  justify-self: end;
  min-width: 120px;
  min-height: 46px;
  border-radius: 12px;
  background: #296f77;
  font-size: 16px;
}

#homeAiQuestionModal .home-ai-question-form :disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

@media (max-width: 700px) {
  #homeAiQuestionModal {
    padding: 0;
  }

  #homeAiQuestionModal .home-ai-question-dialog {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  #homeAiQuestionModal .home-ai-question-dialog-header {
    padding:
      max(13px, env(safe-area-inset-top, 0px))
      max(15px, env(safe-area-inset-right, 0px))
      13px
      max(15px, env(safe-area-inset-left, 0px));
  }

  #homeAiQuestionModal .home-ai-question-conversation {
    padding: 16px;
  }

  #homeAiQuestionModal .home-ai-question-form {
    padding:
      13px
      max(15px, env(safe-area-inset-right, 0px))
      max(15px, env(safe-area-inset-bottom, 0px))
      max(15px, env(safe-area-inset-left, 0px));
  }

  #homeAiQuestionModal .home-ai-question-input-shell textarea {
    min-height: 96px;
    resize: none;
  }

  #homeAiQuestionModal .home-ai-question-answer {
    max-width: 100%;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  #homeAiQuestionModal .home-ai-question-types [data-mobile-ai-primary="1"] { order: 1; }
  #homeAiQuestionModal .home-ai-question-types [data-mobile-ai-primary="2"] { order: 2; }
  #homeAiQuestionModal .home-ai-question-types [data-mobile-ai-primary="3"] { order: 3; }
  #homeAiQuestionModal .home-ai-question-types [data-mobile-ai-primary="4"] { order: 4; }

  #homeAiQuestionModal .home-ai-question-more {
    order: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  #homeAiQuestionModal .home-ai-question-types [data-mobile-ai-extra] {
    order: 6;
    display: none;
  }

  #homeAiQuestionModal .home-ai-question-types.is-mobile-expanded [data-mobile-ai-extra] {
    display: inline-block;
  }
}

@media (orientation: landscape) and (max-height: 600px) {
  #homeAiQuestionModal .home-ai-question-dialog-header {
    padding-block: 8px;
  }

  #homeAiQuestionModal .home-ai-question-dialog-header p {
    display: none;
  }

  #homeAiQuestionModal .home-ai-question-dialog-header h2 {
    font-size: 20px;
  }

  #homeAiQuestionModal .home-ai-question-conversation {
    gap: 8px;
    padding-block: 10px;
  }

  #homeAiQuestionModal .home-ai-question-intro {
    font-size: 12px;
  }

  #homeAiQuestionModal .home-ai-question-form {
    gap: 7px;
    padding-block: 9px;
  }

  #homeAiQuestionModal .home-ai-question-input-shell textarea {
    min-height: 68px;
    max-height: 76px;
  }

  #homeAiQuestionModal .home-ai-question-submit {
    min-height: 40px;
  }
}

.query-examples {
  margin: 10px 0 0;
}

.first-use-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  max-width: 900px;
  border: 2px solid rgba(178, 58, 72, 0.28);
  border-radius: 12px;
  padding: 18px;
  background: linear-gradient(135deg, #fff8e8, #fff);
  box-shadow: 0 16px 34px rgba(156, 47, 36, 0.12);
}

.first-use-card h2 {
  margin: 4px 0 6px;
  color: #9c2f24;
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.18;
}

.first-use-card p {
  margin: 0;
  color: #41505f;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.6;
}

.first-use-actions {
  display: grid;
  gap: 10px;
  min-width: 168px;
}

.first-use-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 10px;
  padding: 10px 14px;
  background: #fff;
  color: #296f77;
  font-size: 15px;
  font-weight: 1000;
  text-align: center;
  text-decoration: none;
}

.first-use-actions .first-use-primary {
  border-color: #b23a48;
  background: #b23a48;
  color: #fff;
}

.first-use-actions a:hover,
.first-use-actions a:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(30, 48, 66, 0.13);
}

.full-selection-entry {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 10px;
  padding: 15px 17px;
  background: linear-gradient(135deg, #f2f8f8, #fffdf8);
}

.full-selection-entry h2 {
  margin: 0 0 4px;
  color: #243745;
  font-size: clamp(19px, 2.3vw, 25px);
}

.full-selection-entry p {
  margin: 0;
  color: #607080;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

.full-selection-entry button {
  min-width: 132px;
  min-height: 44px;
  border: 1px solid #296f77;
  border-radius: 9px;
  padding: 9px 15px;
  background: #296f77;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

.full-selection-entry button:hover,
.full-selection-entry button:focus-visible {
  background: #235f66;
  box-shadow: 0 8px 18px rgba(41, 111, 119, 0.18);
}

.live-market-strip {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  min-height: 36px;
  margin: -14px -14px 0;
  border: 1px solid rgba(41, 111, 119, 0.16);
  border-radius: 8px;
  padding: 7px 12px;
  background: rgba(255, 255, 255, 0.72);
  color: #526474;
  font-size: 12px;
  line-height: 1.35;
}

.live-market-strip > div { display: inline-flex; gap: 5px; align-items: center; min-width: 0; }
.live-market-strip span { font-weight: 800; }
.live-market-strip strong { color: #24313d; font-size: 12px; }
.live-market-strip b { color: #9c2f24; font-size: 13px; }
.announcement-divider { color: #b8c3cc; font-weight: 400; }

.intraday-alert {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1410;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: min(390px, calc(100vw - 40px));
  height: 96px;
  border: 1px solid rgba(239, 167, 36, 0.72);
  border-radius: 13px;
  padding: 13px 40px 10px 15px;
  overflow: hidden;
  background: rgba(12, 18, 23, 0.97);
  box-shadow: 0 14px 34px rgba(23, 33, 43, 0.22);
  color: #f7f9fa;
  backdrop-filter: blur(10px);
  cursor: pointer;
  animation: intraday-alert-enter 220ms ease-out;
}

.intraday-alert:not([data-mode="close"]) {
  height: 108px;
}

.intraday-alert-close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  min-height: 30px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  color: #d8dde1;
  font-size: 23px;
  line-height: 1;
  box-shadow: none;
}

.intraday-alert-close:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  transform: none;
}

.intraday-alert-content {
  align-self: center;
  min-width: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 180ms ease, transform 180ms ease;
}

.intraday-alert.is-changing .intraday-alert-content {
  opacity: 0;
  transform: translateY(2px);
}

.intraday-alert-session-title {
  display: none;
  margin: 0 0 2px;
  color: #ffb52e;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0.08em;
  text-align: center;
  transform: translateX(12px);
}

.intraday-alert:not([data-mode="close"]) .intraday-alert-session-title {
  display: block;
}

.intraday-alert-headline {
  display: flex;
  align-items: baseline;
  min-width: 0;
  white-space: nowrap;
}

.intraday-alert-title,
.intraday-alert-stock {
  min-width: 0;
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  line-height: 1.4;
}

.intraday-alert-title {
  flex: 0 0 auto;
  color: #ffb52e;
  font-size: 16px;
  font-weight: 900;
}

.intraday-alert-divider {
  flex: 0 0 auto;
  margin: 0 3px;
  color: #88939c;
}

.intraday-alert-stock {
  display: flex;
  align-items: baseline;
  gap: 7px;
  overflow: hidden;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intraday-ticker-code,
.intraday-ticker-price,
.intraday-ticker-period,
.intraday-ticker-trend,
.intraday-ticker-open {
  flex: 0 0 auto;
}

.intraday-ticker-name {
  min-width: 0;
  overflow: hidden;
  font-size: 17px;
  text-overflow: ellipsis;
}

.intraday-ticker-period {
  color: #dce4e9;
  font-size: 14px;
}

.intraday-alert[data-mode="intraday"] .intraday-ticker-qualified {
  flex: 0 0 auto;
  border: 1px solid #ffd166;
  border-radius: 6px;
  padding: 1px 5px;
  background: #fff1b8;
  color: #744b00;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.intraday-alert[data-mode="intraday"].is-composite-qualified {
  border-color: #ffd166;
  box-shadow: 0 14px 34px rgba(23, 33, 43, 0.22), 0 0 0 2px rgba(255, 209, 102, 0.2);
}

.intraday-ticker-price {
  color: #fff;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.intraday-ticker-trend {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  border: 1px solid currentColor;
  border-radius: 6px;
  padding: 1px 5px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.intraday-ticker-trend.is-strong { background: #e4f7ed; color: #087443; }
.intraday-ticker-trend.is-pullback { background: #fff6cf; color: #8a6500; }
.intraday-ticker-trend.is-rebound { background: #fff1c4; color: #9b5900; }
.intraday-ticker-trend.is-weak { background: #fde8e6; color: #a52b25; }

.intraday-ticker-open {
  color: #dce4e9;
}

.intraday-alert[data-direction="high"] .intraday-ticker-period {
  color: #ff8179;
}

.intraday-alert[data-direction="low"] .intraday-ticker-period {
  color: #6fdda9;
}

.intraday-alert[data-direction="high"] .intraday-alert-divider,
.intraday-alert[data-direction="low"] .intraday-alert-divider {
  display: none;
}

.intraday-alert-title:hover,
.intraday-alert-stock:hover {
  background: transparent;
  color: #ffca67;
  transform: none;
}

.intraday-alert-meta {
  display: flex;
  min-width: 0;
  align-items: baseline;
  margin: 5px 0 0;
  color: #d6dde2;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.intraday-batch-count {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: #d6dde2;
  font: inherit;
}

.intraday-batch-count:hover {
  background: transparent;
  color: #fff;
  transform: none;
}

.intraday-batch-count.is-high strong,
.intraday-alert[data-direction="high"] .intraday-alert-title {
  color: #ff6b61;
}

.intraday-batch-count.is-low strong,
.intraday-alert[data-direction="low"] .intraday-alert-title {
  color: #55d196;
}

.intraday-inline-high strong {
  color: #ff6b61;
}

.intraday-inline-low strong {
  color: #55d196;
}

.intraday-alert[data-mode="close"] .intraday-alert-meta {
  display: flex;
  align-items: center;
  gap: 6px;
}

.intraday-summary-count {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: #d6dde2;
  font: inherit;
}

.intraday-summary-count strong {
  font-size: 17px;
  line-height: 1;
}

.intraday-summary-high strong {
  color: #ff6b61;
}

.intraday-summary-low strong {
  color: #68a9ff;
}

.intraday-summary-count:hover {
  background: transparent;
  color: #fff;
  transform: none;
}

.intraday-summary-separator {
  color: #667785;
}

.intraday-alert-status {
  align-self: end;
  color: #aeb9c1;
  font-size: 11px;
  line-height: 1.3;
  white-space: nowrap;
}

.intraday-alert-status:empty {
  display: none;
}

.official-alert-unread-label {
  position: absolute;
  top: 8px;
  right: 38px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  border-radius: 999px;
  padding: 2px 7px;
  background: #c83f35;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
  vertical-align: middle;
}

.official-alert-unread-count {
  position: absolute;
  top: -5px;
  right: -3px;
  display: inline-grid;
  min-width: 21px;
  height: 21px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  padding: 0 4px;
  background: #c83f35;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}

.official-alert-unread-label.hidden,
.official-alert-unread-count.hidden {
  display: none !important;
}

.intraday-alert[data-status="error"],
.intraday-alert[data-status="source_incomplete"],
.intraday-alert[data-status="excel_stale"],
.intraday-alert[data-status="excel_disconnected"] {
  border-color: rgba(180, 108, 18, 0.5);
  background: rgba(37, 27, 13, 0.98);
}

.intraday-alert-status[data-source-status="stale"],
.intraday-alert-status[data-source-status="disconnected"] {
  color: #ffd071;
  font-weight: 800;
}

.intraday-alert-status[data-source-status="recovered"] {
  color: #75d7af;
  font-weight: 800;
}

.intraday-alert[data-mode="close"] {
  border-color: rgba(76, 139, 232, 0.68);
  background: rgba(12, 18, 27, 0.97);
}

.intraday-alert[data-mode="close"] .intraday-alert-title {
  color: #79adff;
}

.intraday-alert[data-mode="close"] .intraday-alert-divider,
.intraday-alert[data-mode="close"] .intraday-alert-stock,
.intraday-alert[data-mode="premarket"] .intraday-alert-divider,
.intraday-alert[data-mode="premarket"] .intraday-alert-stock {
  display: none;
}

.intraday-alert[data-mode="premarket"] {
  border-color: rgba(255, 181, 46, 0.62);
}

.intraday-alert[data-mode="premarket"] .intraday-alert-title {
  color: #ffd071;
}

.intraday-alert[data-interrupt="official-alert"] {
  border-color: rgba(218, 77, 64, 0.78);
  background: rgba(31, 17, 18, 0.98);
}

.intraday-alert[data-interrupt="official-alert"] .intraday-alert-title {
  display: -webkit-box;
  flex: 1 1 auto;
  overflow: hidden;
  color: #ff8a7f;
  text-align: left;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.intraday-alert[data-interrupt="official-alert"] .intraday-alert-divider,
.intraday-alert[data-interrupt="official-alert"] .intraday-alert-stock {
  display: none;
}

.intraday-alert[data-interrupt="official-alert"] .intraday-alert-meta {
  overflow: hidden;
  color: #f2c9c5;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .intraday-alert[data-interrupt="official-alert"] .intraday-alert-session-title {
    display: none;
  }

  .intraday-alert[data-interrupt="official-alert"] .intraday-alert-title {
    font-size: 15px;
    line-height: 1.35;
  }
}

.intraday-alert[data-mode="close"] .intraday-alert-content {
  cursor: pointer;
}

.intraday-alert[data-mode="close"] .intraday-alert-title,
.intraday-alert[data-mode="close"] .intraday-alert-meta,
.intraday-alert[data-mode="close"] .intraday-alert-status {
  line-height: 1.25;
  white-space: nowrap;
}

.intraday-alert-collapsed {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1410;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 72px;
  height: 44px;
  border: 1px solid rgba(239, 167, 36, 0.68);
  border-radius: 999px;
  padding: 0 16px;
  background: rgba(12, 18, 23, 0.97);
  color: #ffbd43;
  box-shadow: 0 10px 25px rgba(23, 33, 43, 0.2);
  font-size: 16px;
  animation: intraday-alert-enter 200ms ease-out;
}

@keyframes intraday-alert-enter {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.modal-panel.intraday-list-modal {
  width: min(920px, 100%);
  max-height: min(760px, calc(100vh - 36px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 14px;
  overflow: hidden;
}

.modal-panel.intraday-list-modal.is-summary-list {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.modal-panel.intraday-list-modal.is-summary-list.is-close-summary {
  grid-template-rows: auto auto 50px minmax(0, 1fr) auto;
}

.intraday-list-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.intraday-list-heading h2,
.intraday-list-heading p {
  margin-top: 0;
}

.intraday-list-title-line {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: baseline;
  gap: 6px;
}

.intraday-list-title-line h2 {
  flex: 0 0 auto;
  min-width: max-content;
  overflow: visible;
}

.intraday-list-title-date {
  flex: 0 0 auto;
  color: #526570;
  font-size: 0.72em;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.intraday-list-title-date::before {
  content: "｜";
  margin-right: 2px;
  color: #8a989f;
}

.intraday-list-heading .section-note {
  margin-bottom: 0;
}

.intraday-close-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 4px;
  border-radius: 10px;
  background: #eef3f4;
}

.intraday-close-tabs button {
  border: 0;
  border-bottom: 4px solid transparent;
  border-radius: 8px;
  padding: 10px 14px;
  background: transparent;
  color: #526474;
  box-shadow: none;
  font-weight: 900;
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease,
    box-shadow 140ms ease, transform 100ms ease;
}

.intraday-close-tabs button.is-active {
  border-bottom-color: #0d504d;
  background: #176f69;
  color: #fff;
  box-shadow: 0 4px 10px rgba(23, 111, 105, 0.28), inset 0 -2px 0 rgba(0, 0, 0, 0.12);
  font-weight: 950;
  transform: translateY(-1px);
}

.intraday-close-tabs button:active {
  box-shadow: inset 0 2px 5px rgba(20, 55, 61, 0.24);
  transform: translateY(1px) scale(0.985);
}

.intraday-list-wrap.is-switching-next {
  animation: intraday-table-switch-next 180ms ease-out;
}

.intraday-list-wrap.is-switching-previous {
  animation: intraday-table-switch-previous 180ms ease-out;
}

@keyframes intraday-table-switch-next {
  from { opacity: 0.72; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes intraday-table-switch-previous {
  from { opacity: 0.72; transform: translateX(-16px); }
  to { opacity: 1; transform: translateX(0); }
}

.intraday-list-wrap {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  border: 1px solid #dce3e8;
  border-radius: 10px;
}

.intraday-list-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.intraday-list-table th,
.intraday-list-table td {
  border-bottom: 1px solid #e1e7eb;
  padding: 11px 12px;
  text-align: left;
  white-space: nowrap;
}

.intraday-list-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f1f5f7;
  color: #3c4b58;
  font-size: 13px;
}

.intraday-list-table.is-close-mode {
  display: block;
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.intraday-list-table.is-close-mode thead,
.intraday-list-table.is-close-mode tbody {
  display: block;
  width: 100%;
  min-width: 0;
}

.intraday-list-table.is-close-mode tr {
  display: grid;
  grid-template-columns: 24% 19% 13% 14% 13% 17%;
  width: 100%;
  min-width: 0;
}

/* The shared intraday table keeps four essential columns on portrait phones,
   while the rebound filter uses all eleven columns on wider viewports. */
.intraday-list-table.is-close-mode.is-rebound-mode tr {
  grid-template-columns: 13% 9% 10% 12% 9% 10% 9% 9% 9% 10%;
}

/* The live signal centre always keeps its four direction filters on one row. */
#intradayHighListModal:not(.has-list-analysis)
  .intraday-list-modal.is-intraday-signal-summary > .intraday-close-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
}

#intradayHighListModal:not(.has-list-analysis)
  .intraday-list-modal.is-intraday-signal-summary > .intraday-close-tabs button {
  min-width: 0;
  overflow: hidden;
  padding-inline: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-intraday-signal-summary > .intraday-close-tabs {
  gap: 3px;
  padding: 3px;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-intraday-signal-summary > .intraday-close-tabs button {
  min-height: 32px;
  padding: 3px 4px;
  font-size: 12px;
  line-height: 1.1;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-rebound-summary
  .intraday-list-table.is-rebound-mode {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-rebound-summary
  .intraday-list-table.is-rebound-mode tr {
  grid-template-columns: 16% 8% 9% 9% 10% 9% 10% 12% 8% 9%;
  width: 100% !important;
  min-width: 0 !important;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-rebound-summary
  .intraday-list-table.is-rebound-mode :is(th, td):is(:nth-child(10), :nth-child(12)) {
  display: none;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-table.is-rebound-mode :is(th, td) {
  padding-inline: 4px;
  font-size: 12px;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-table.is-rebound-mode th .table-sort-button {
  padding-inline: 1px;
  font-size: inherit;
  white-space: nowrap;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-rebound-summary
  .intraday-list-table.is-rebound-mode th:nth-child(8) .table-sort-button {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.05;
}

#intradayHighListModal.is-phone-landscape-mode:not(.has-list-analysis)
  .intraday-list-modal.is-rebound-summary
  .intraday-list-table.is-rebound-mode td:nth-child(8) {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.intraday-list-table.is-close-mode th,
.intraday-list-table.is-close-mode td {
  display: block;
  width: auto !important;
  min-width: 0;
  overflow: hidden;
  padding: 12px 10px;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.intraday-list-table.is-close-mode th .table-sort-button {
  width: 100%;
  min-width: 0;
  padding: 4px 2px;
  color: inherit;
  font: inherit;
  white-space: nowrap;
}

/* Use the same selected-sort palette as page-two tables.  The close-list
   header inherits its text colour, so the active state must restore white. */
.intraday-list-table.is-close-mode th .table-sort-button.active {
  border-color: #9c2f24;
  background: #9c2f24;
  color: #fff;
}

.intraday-list-table.is-close-mode td[colspan] {
  grid-column: 1 / -1;
}

.intraday-list-table.is-close-mode th:nth-child(1),
.intraday-list-table.is-close-mode td:nth-child(1) {
  width: 24%;
  text-align: left;
}

.intraday-list-table.is-close-mode th:nth-child(2),
.intraday-list-table.is-close-mode td:nth-child(2) {
  width: 19%;
  text-align: center;
}

.intraday-list-table.is-close-mode th:nth-child(3),
.intraday-list-table.is-close-mode td:nth-child(3) {
  width: 13%;
  text-align: right;
}

.intraday-list-table.is-close-mode th:nth-child(4),
.intraday-list-table.is-close-mode td:nth-child(4) {
  width: 14%;
  text-align: right;
}

.intraday-list-table.is-close-mode th:nth-child(5),
.intraday-list-table.is-close-mode td:nth-child(5) {
  width: 13%;
  text-align: center;
}

.intraday-list-table.is-close-mode th:nth-child(6),
.intraday-list-table.is-close-mode td:nth-child(6) {
  width: 17%;
  text-align: center;
}

.intraday-list-table.is-close-mode th + th,
.intraday-list-table.is-close-mode td + td {
  border-left: 1px solid #edf1f3;
}

.intraday-list-table.is-close-mode tbody tr:nth-child(even) {
  background: #f9fbfb;
}

.intraday-list-table.is-close-mode tbody tr:hover {
  background: #f2f7f6;
}

.intraday-list-table.hidden,
.intraday-batch-list.hidden {
  display: none !important;
}

.intraday-batch-list {
  width: 100%;
  padding: 10px;
  background: #eef2f4;
}

.intraday-batch-empty {
  margin: 0;
  padding: 24px 16px;
  color: #697782;
  text-align: center;
}

.intraday-wave-group {
  overflow: hidden;
  border: 1px solid #d8e0e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(16, 27, 38, 0.06);
}

.intraday-wave-group + .intraday-wave-group {
  margin-top: 12px;
}

.intraday-wave-zero {
  margin: 0;
  padding: 14px 12px;
  color: #7b8791;
  font-size: 13px;
  text-align: center;
}

.intraday-close-stock {
  display: inline-flex;
  align-items: baseline;
  width: 100%;
  border: 0;
  border-radius: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  color: #24313d;
  box-shadow: none;
  font-size: 15px;
  text-decoration: none;
  text-align: left;
  white-space: nowrap;
}

.intraday-close-period-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  min-height: 50px;
  margin: 0 24px;
  border-radius: 12px;
  padding: 5px;
  background: #edf2f3;
}

.intraday-close-period-tabs.hidden {
  display: none;
}

.intraday-close-period-tabs button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 7px 12px;
  background: transparent;
  color: #536570;
  box-shadow: none;
  font-weight: 900;
}

.intraday-close-period-tabs button.is-active {
  border-color: #28777b;
  background: #fff;
  color: #17686c;
  box-shadow: 0 2px 8px rgba(26, 75, 78, 0.12);
}

#intradayHighListModal .intraday-list-modal.has-list-analysis {
  display: block !important;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  gap: 0 !important;
}

#intradayHighListModal .intraday-list-modal.has-list-analysis > .intraday-list-heading,
#intradayHighListModal .intraday-list-modal.has-list-analysis > .intraday-close-tabs,
#intradayHighListModal .intraday-list-modal.has-list-analysis > .intraday-close-period-tabs,
#intradayHighListModal .intraday-list-modal.has-list-analysis > .intraday-landscape-hint,
#intradayHighListModal .intraday-list-modal.has-list-analysis > .intraday-list-note,
#intradayHighListModal .intraday-list-modal.has-list-analysis .intraday-list-table,
#intradayHighListModal .intraday-list-modal.has-list-analysis .intraday-batch-list,
#historicalAlertsPanel.has-list-analysis > .result-actions,
#historicalAlertsPanel.has-list-analysis > #historicalAlertsCount,
#historicalAlertsPanel.has-list-analysis > #historicalAlertsTableWrap {
  display: none !important;
}

#historicalAlertsPanel.has-list-analysis > #historicalAlertsAnalysisPanel {
  margin: 0;
  border-top: 0;
  padding-top: 0;
}

#intradayHighListModal .intraday-list-modal.has-list-analysis .intraday-list-wrap {
  display: block;
  height: 100% !important;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 0;
}

@media (max-width: 600px) {
  .intraday-close-period-tabs {
    margin-right: 14px;
    margin-left: 14px;
  }
}

.intraday-close-stock > * {
  flex: 0 0 auto;
}

body.intraday-list-open {
  overflow: hidden;
}

.intraday-mobile-financial {
  display: none;
}

.intraday-mobile-list-back {
  display: none;
}

/* Analysis mode has its own explicit "return to list" action. */
#intradayHighListModal.has-list-analysis > .intraday-mobile-list-back {
  display: none !important;
}

@media (max-width: 600px),
       (max-width: 1024px) and (max-height: 600px) {
  #intradayHighListModal .modal-panel.intraday-list-modal.has-mobile-financial {
    position: relative;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  #intradayHighListModal .intraday-mobile-financial:not(.hidden) {
    position: absolute;
    z-index: 30;
    inset: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #f3f6f7;
  }

  .intraday-mobile-financial-head {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding:
      max(10px, env(safe-area-inset-top, 0px))
      max(12px, env(safe-area-inset-right, 0px))
      10px
      max(12px, env(safe-area-inset-left, 0px));
    background: #18303b;
    color: #fff;
  }

  .intraday-mobile-financial-head > button,
  .intraday-mobile-rotate-prompt button {
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 9px;
    padding: 8px 12px;
    background: #fff;
    color: #18303b;
    font-weight: 900;
  }

  .intraday-mobile-financial-head div {
    display: grid;
    min-width: 0;
  }

  .intraday-mobile-financial-head strong {
    overflow: hidden;
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .intraday-mobile-financial-head small {
    color: #c9d7dd;
    font-size: 11px;
  }

  .intraday-mobile-rotate-prompt {
    display: none;
  }

  .intraday-mobile-financial-content {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    overscroll-behavior-x: none;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  .intraday-mobile-financial-loading,
  .intraday-mobile-financial-error {
    margin: 24px;
    color: #52636d;
    font-weight: 800;
    text-align: center;
  }

  .intraday-mobile-financial-table-wrap {
    min-width: 1040px;
    padding: 10px 12px max(12px, env(safe-area-inset-bottom, 0px));
  }

  .intraday-mobile-financial-table-wrap table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
  }

  .intraday-mobile-financial-table-wrap th,
  .intraday-mobile-financial-table-wrap td {
    min-width: 92px;
    border-right: 1px solid #e2e8eb;
    border-bottom: 1px solid #e2e8eb;
    padding: 10px 8px;
    text-align: center;
    white-space: nowrap;
  }

  .intraday-mobile-financial-table-wrap th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #e8eef1;
    color: #263b45;
    font-size: 12px;
  }

  .intraday-mobile-financial-table-wrap .sticky-stock-column {
    position: sticky;
    left: 0;
    z-index: 4;
    min-width: 108px;
    background: #fff;
  }

  .intraday-mobile-financial-table-wrap th.sticky-stock-column {
    z-index: 5;
    background: #dce7eb;
  }
}

@media (max-width: 540px) and (orientation: portrait) {
  .intraday-mobile-financial .intraday-mobile-rotate-prompt {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px;
    color: #263b45;
    text-align: center;
  }

  .intraday-mobile-rotate-prompt > span {
    font-size: 52px;
  }

  .intraday-mobile-rotate-prompt > strong {
    font-size: 21px;
  }

  .intraday-mobile-rotate-prompt p {
    max-width: 300px;
    margin: 0 0 8px;
    color: #62727b;
    line-height: 1.55;
  }

  .intraday-mobile-financial .intraday-mobile-financial-content {
    display: none;
  }
}

/* Phone landscape: keep the list return control inside Safari's visual viewport. */
/* Disabled: phone close positioning is owned by close-list-landscape-toolbar.css. */
@media (max-width: 0px) and (max-height: 540px) and (orientation: landscape) {
  #intradayHighListModal .modal-panel.intraday-list-modal,
  #intradayHighListModal .modal-panel.intraday-list-modal.is-summary-list {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }

  #intradayHighListModal .intraday-list-heading {
    padding-right: max(66px, calc(env(safe-area-inset-right, 0px) + 58px));
  }

  #intradayHighListModal #intradayHighListClose {
    position: absolute !important;
    top: max(8px, env(safe-area-inset-top, 0px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    z-index: 40;
    display: block !important;
    min-width: 54px;
    min-height: 36px;
    border-color: #236c73;
    padding: 6px 10px;
    background: #236c73;
    color: #fff;
    font-size: 0;
  }

  #intradayHighListModal #intradayHighListClose::after {
    content: "返回";
    font-size: 13px;
  }
}

/* Disabled: device classes own close/back visibility; viewport size alone must not opt in. */
@media (max-width: 0px) {
  #intradayHighListModal:not(.hidden) > .intraday-mobile-list-back {
    position: fixed !important;
    top: calc(var(--intraday-viewport-top, 0px) + max(8px, env(safe-area-inset-top, 0px))) !important;
    right: auto !important;
    left: calc(
      var(--intraday-viewport-left, 0px)
      + var(--intraday-viewport-width, 100vw)
      - max(72px, calc(env(safe-area-inset-right, 0px) + 68px))
    ) !important;
    z-index: 10000 !important;
    display: block !important;
    visibility: visible !important;
    width: 62px;
    min-width: 62px;
    min-height: 40px;
    border: 1px solid #236c73;
    border-radius: 9px;
    padding: 6px 8px;
    background: #236c73;
    color: #fff;
    box-shadow: 0 4px 14px rgba(23, 33, 43, 0.22);
    font-size: 13px;
    font-weight: 900;
  }

  #intradayHighListModal #intradayHighListClose {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

body.intraday-list-open .intraday-alert,
body.intraday-list-open .intraday-alert-collapsed {
  display: none !important;
}

body.query-view-active.is-viewing-mobile-stock-detail .intraday-alert,
body.query-view-active.is-viewing-mobile-stock-detail .intraday-alert-collapsed {
  display: none !important;
}

.intraday-close-stock strong {
  display: inline-flex;
  max-width: 100%;
  min-width: 0;
  align-items: baseline;
  gap: 0;
  color: #236c73;
}

.intraday-close-stock .intraday-stock-code {
  flex: 0 0 auto;
}

.intraday-close-stock .intraday-stock-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.intraday-close-stock:hover {
  background: transparent;
  color: #8d231c;
  transform: none;
}

.intraday-close-period,
.intraday-close-price,
.intraday-close-change {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.intraday-close-period.is-high {
  color: #a8332c;
}

.intraday-close-period.is-low {
  color: #17765a;
}

.intraday-close-price {
  color: #34444f;
}

.intraday-close-change.is-up {
  color: #b93832;
}

.intraday-close-change.is-down {
  color: #16825f;
}

.intraday-close-change.is-flat {
  color: #6f7c86;
}

.intraday-close-rating,
.intraday-close-stars {
  font-weight: 900;
  white-space: nowrap;
}

.intraday-close-rating > span,
.intraday-close-stars > span {
  display: inline-flex;
  min-width: 40px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 3px 9px;
}

.intraday-close-rating > span {
  border: 1px solid #d8e1e4;
  background: #f3f6f7;
  color: #344653;
}

.intraday-close-rating.has-company-bond > span {
  border-color: #efc5c1;
  background: #fff1ef;
  color: #b42318;
}

.intraday-close-stars > span {
  border: 1px solid #ead9ac;
  background: #fff8df;
  color: #a87509;
  letter-spacing: 0.04em;
}

.intraday-list-stock {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 8px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #236c73;
  box-shadow: none;
  font-weight: 900;
  text-decoration: none;
  text-align: left;
}

.intraday-stock-code {
  flex: 0 0 auto;
  color: inherit;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.intraday-stock-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intraday-stock-price-inline {
  flex: 0 0 auto;
  color: #253746;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.intraday-list-stock:hover {
  background: transparent;
  color: #8d231c;
  transform: none;
}

.intraday-list-period {
  color: #9c2f24;
  font-weight: 900;
}

.intraday-list-period.is-low {
  color: #168356;
}

.intraday-list-rating,
.intraday-list-stars {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
  font-weight: 800;
  white-space: nowrap;
}

.intraday-stock-signal {
  display: contents;
}

.intraday-list-price {
  display: none;
}

.intraday-phone-column-head {
  display: none;
}

.intraday-list-rating {
  color: #344653;
}

.intraday-list-rating.has-company-bond {
  color: #b42318;
}

.intraday-list-stars {
  color: #a87509;
}

.intraday-list-stars strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.intraday-batch-stock-row > td {
  padding: 0;
}

.intraday-stock-card {
  display: grid;
  grid-template-columns: minmax(190px, 1.6fr) 0.55fr 0.75fr 1fr 0.65fr 1fr;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #e1e7eb;
  padding: 11px 12px;
}

.intraday-stock-card > * {
  min-width: 0;
}

.intraday-stock-card small {
  display: none;
}

.intraday-batch-heading-row td {
  padding: 0;
  background: #f7fafb;
}

.intraday-batch-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  width: 100%;
  min-height: 58px;
  align-items: center;
  gap: 14px;
  border: 0;
  border-radius: 0;
  padding: 10px 14px;
  background: #101b27;
  box-shadow: none;
  color: #f5f8fa;
  font-size: 14px;
  text-align: left;
}

.intraday-wave-time {
  display: grid;
  min-width: 76px;
  line-height: 1.08;
}

.intraday-wave-time strong {
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.02em;
}

.intraday-wave-time small {
  margin-top: 4px;
  color: #aebac5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.intraday-wave-summary {
  color: #e5ebef;
  font-weight: 800;
}

.intraday-wave-summary strong {
  color: #f3c95f;
  font-size: 18px;
}

.intraday-batch-toggle b {
  color: #f3c95f;
  font-size: 21px;
}

.intraday-batch-toggle:hover {
  background: #182837;
  transform: none;
}

.intraday-list-state {
  font-weight: 800;
}

.intraday-list-state.is-confirmed {
  color: #16794c;
}

.intraday-list-state.is-not-held {
  color: #9c2f24;
}

.intraday-list-note {
  margin: 0;
  color: #697782;
  font-size: 12px;
}

#intradayHighListModal .intraday-list-note-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#intradayHighListModal .intraday-list-note-action small {
  display: none;
}

.intraday-list-note button {
  min-height: 0;
  border: 0;
  padding: 2px 4px;
  background: transparent;
  box-shadow: none;
  color: #236c73;
  font-weight: 900;
  text-decoration: underline;
}

.intraday-list-note button:hover {
  background: transparent;
  color: #8d231c;
  transform: none;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .intraday-stock-card {
    grid-template-columns: minmax(180px, 1.5fr) 0.55fr 0.75fr 1fr 0.95fr;
    gap: 9px;
  }

  .intraday-card-time {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intraday-alert-content {
    transition: none;
  }
}

@media (max-width: 700px) {
  .intraday-alert {
    right: 12px;
    bottom: calc(
      68px + env(safe-area-inset-bottom, 0px) + 8px
      + var(--floating-vv-bottom-shift, 0px)
    );
    left: 12px;
    width: auto;
    height: 88px;
    border-radius: 13px;
    padding: 11px 36px 8px 13px;
  }

  .intraday-alert:not([data-mode="close"]) {
    height: 104px;
  }

  .intraday-alert-title,
  .intraday-alert-stock {
    font-size: 15px;
  }

  .intraday-ticker-name {
    font-size: 17px;
  }

  .intraday-ticker-period {
    font-size: 14px;
  }

  .intraday-alert-stock {
    gap: 5px;
  }

  .intraday-ticker-trend {
    gap: 2px;
    padding: 1px 4px;
    font-size: 11px;
  }

  .intraday-alert-meta {
    margin-top: 6px;
    font-size: 13px;
  }

  .intraday-alert[data-direction="high"] .intraday-alert-meta,
  .intraday-alert[data-direction="low"] .intraday-alert-meta {
    padding-left: 18px;
    font-size: 14px;
  }

  .intraday-alert:not([data-mode="close"]) .intraday-alert-content {
    align-self: start;
  }

  .intraday-alert-status {
    font-size: 10px;
  }

  .intraday-alert[data-mode="close"] {
    height: 82px;
    padding-top: 9px;
    padding-bottom: 8px;
  }

  .intraday-alert[data-mode="close"] .intraday-alert-meta {
    margin-top: 2px;
    gap: 4px;
  }

  .intraday-summary-count {
    gap: 3px;
  }

  .intraday-summary-count strong {
    font-size: 15px;
  }

  .intraday-alert-collapsed {
    right: 12px;
    bottom: calc(
      68px + env(safe-area-inset-bottom, 0px) + 8px
      + var(--floating-vv-bottom-shift, 0px)
    );
    min-width: 66px;
    height: 42px;
    padding: 0 14px;
  }

  body.query-view-active .intraday-alert {
    right: auto;
    left: 12px;
    width: min(280px, calc(100vw - 96px));
  }

  body.query-view-active .intraday-alert-collapsed {
    right: auto;
    left: 12px;
  }

  .modal-panel.intraday-list-modal {
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px);
    min-width: 0;
    height: calc(100dvh - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 15px;
    overflow: hidden;
  }

  .intraday-list-heading > div {
    flex: 1 1 auto;
    min-width: 0;
  }

  .intraday-list-heading h2 {
    font-size: 22px;
    line-height: 1.25;
    white-space: normal;
  }

  #intradayHighListClose {
    flex: 0 0 auto;
  }

  .intraday-list-table th,
  .intraday-list-table td {
    padding: 9px 10px;
    font-size: 12px;
  }

  .intraday-list-table:not(.is-close-mode),
  .intraday-list-table:not(.is-close-mode) tbody {
    display: block;
    width: 100%;
  }

  .intraday-list-table:not(.is-close-mode) thead {
    display: none;
  }

  .intraday-list-table:not(.is-close-mode) .intraday-batch-heading-row {
    display: block;
    width: 100%;
  }

  .intraday-list-table:not(.is-close-mode) .intraday-batch-heading-row td {
    display: block;
    width: 100%;
  }

  .intraday-list-table:not(.is-close-mode) .intraday-batch-stock-row {
    display: block;
    width: 100%;
    border-bottom: 1px solid #e1e7eb;
    background: #fff;
  }

  .intraday-list-table:not(.is-close-mode) .intraday-batch-stock-row.hidden {
    display: none;
  }

  .intraday-list-table:not(.is-close-mode) .intraday-batch-stock-row td {
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    white-space: normal;
  }

  .intraday-stock-card {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "stock stock period"
      "rating stars state";
    gap: 6px 12px;
    padding: 11px 10px;
  }

  .intraday-list-stock {
    grid-area: stock;
  }

  .intraday-list-rating {
    grid-area: rating;
  }

  .intraday-list-stars {
    grid-area: stars;
    justify-content: flex-end;
  }

  .intraday-list-period {
    grid-area: period;
  }

  .intraday-card-time {
    display: none;
  }

  .intraday-list-state {
    grid-area: state;
  }

  .intraday-list-period,
  .intraday-list-state {
    text-align: right;
  }

  .intraday-stock-card small {
    display: inline;
    margin-right: 4px;
    color: #7b8791;
    font-weight: 700;
  }

  .intraday-batch-toggle {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 56px;
    gap: 10px;
    padding: 9px 11px;
    font-size: 12px;
  }

  .intraday-batch-list {
    padding: 8px;
  }

  .intraday-wave-group + .intraday-wave-group {
    margin-top: 10px;
  }

  .intraday-wave-time {
    min-width: 66px;
  }

  .intraday-wave-time strong {
    font-size: 18px;
  }

  .intraday-wave-time small {
    font-size: 9px;
  }

  .intraday-wave-summary {
    line-height: 1.3;
  }

  .intraday-wave-summary strong {
    font-size: 16px;
  }

  .intraday-close-stock {
    padding: 0;
    font-size: 12px;
  }

  .intraday-list-table.is-close-mode th,
  .intraday-list-table.is-close-mode td {
    padding: 10px 5px;
    font-size: 12px;
  }

  .intraday-list-table.is-close-mode,
  .intraday-list-table.is-close-mode thead,
  .intraday-list-table.is-close-mode tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .intraday-list-table.is-close-mode tr {
    display: grid;
    grid-template-columns: 34% 28% 18% 20%;
    width: 100%;
  }

  .intraday-list-table.is-close-mode.is-rebound-mode tr {
    grid-template-columns: 34% 28% 18% 20%;
  }

  .intraday-list-table.is-close-mode th,
  .intraday-list-table.is-close-mode td {
    display: block;
    width: auto !important;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .intraday-list-table.is-close-mode .intraday-close-wide-only {
    display: none !important;
  }

  .intraday-list-table.is-close-mode th:nth-child(1),
  .intraday-list-table.is-close-mode td:nth-child(1) {
    width: 36%;
  }

  .intraday-list-table.is-close-mode th:nth-child(2),
  .intraday-list-table.is-close-mode td:nth-child(2) {
    width: 27%;
  }

  .intraday-list-table.is-close-mode th:nth-child(3),
  .intraday-list-table.is-close-mode td:nth-child(3) {
    width: 18%;
  }

  .intraday-list-table.is-close-mode th:nth-child(4),
  .intraday-list-table.is-close-mode td:nth-child(4) {
    width: 19%;
  }

  .intraday-close-stock strong {
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    line-height: 1.15;
  }

  .intraday-close-stock .intraday-stock-name {
    max-width: 100%;
    font-size: 13px;
  }

  .intraday-close-period,
  .intraday-close-price,
  .intraday-close-change {
    font-size: 12px;
  }
}

.trend-score-intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.4fr);
  gap: 22px;
  border: 1px solid rgba(156, 47, 36, 0.18);
  border-radius: 12px;
  padding: 22px;
  background: linear-gradient(135deg, #fff8e8, #fff);
}

.trend-score-intro > summary {
  position: relative;
  list-style: none;
  cursor: pointer;
}

.trend-score-intro > summary::-webkit-details-marker {
  display: none;
}

.trend-score-intro > summary::after {
  content: "−";
  position: absolute;
  top: 0;
  right: 0;
  color: #296f77;
  font-size: 24px;
  font-weight: 900;
}

.trend-score-intro:not([open]) > summary::after {
  content: "+";
}

.trend-score-heading h2 { margin: 4px 0 9px; color: #9c2f24; font-size: clamp(23px, 3vw, 32px); }
.trend-score-heading > p:last-child { margin: 0; color: #41505f; font-weight: 800; line-height: 1.65; }
.score-factor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.score-factor-grid > div { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; align-content: center; border: 1px solid #e3e8ed; border-radius: 9px; padding: 13px; background: rgba(255, 255, 255, 0.84); }
.score-factor-grid b { grid-row: 1 / 3; color: #d6a63f; font-size: 20px; }
.score-factor-grid strong { color: #17212b; }
.score-factor-grid span { color: #607080; font-size: 13px; line-height: 1.45; }

.site-footer { margin-top: 18px; border-top: 1px solid #ccd4dc; padding: 20px 8px 8px; color: #607080; font-size: 13px; line-height: 1.65; }
.site-footer strong { color: #41505f; }
.site-footer p { margin: 7px 0 0; }

.brand-guide-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.brand-guide-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid #bfd2d6;
  border-radius: 6px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.74);
  color: #296f77;
  font-weight: 900;
  text-decoration: none;
}

.brand-guide-links a:hover {
  border-color: #296f77;
  background: #f4f8f9;
}

.quick-start-link {
  margin-top: -2px;
}

.quick-start-link a {
  min-height: 38px;
  border-style: dashed;
  background: rgba(255, 255, 255, 0.52);
  color: #41505f;
  font-size: 14px;
}

.quick-start-link a:hover {
  color: #296f77;
}

.cover-market-section {
  grid-column: 1 / -1;
  display: grid;
  gap: 18px;
  border: 1px solid #d7dde3;
  border-radius: 8px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.82);
}

.cover-market-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
}

.cover-market-heading h2 {
  margin: 0;
  color: #17212b;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.25;
}

.cover-market-heading p {
  margin: 0;
  max-width: 360px;
  color: #607080;
  font-weight: 900;
  line-height: 1.6;
}

.cover-top-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 12px;
}

.trend-radar-section {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 12px;
  padding: 20px;
  background: linear-gradient(145deg, #f1f8f8, #fffdf7);
}

@media (max-width: 720px) {
  #loginView > .market-verdict-hero { order: 1; }
  #loginView > .brand-copy { order: 2; }
  #loginView > .hero-entry-card { order: 3; }
  #loginView > .full-selection-entry { order: 4; }
  #loginView > #trendRadarSection { order: 5; }
  #loginView > .market-explanation-section { order: 6; }
  #loginView > .live-market-strip { order: 7; }
  #loginView > .trend-score-intro { order: 10; }
}

.trend-radar-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
}

.trend-radar-heading h2 { margin: 2px 0 5px; color: #17212b; font-size: clamp(24px, 3vw, 34px); }
.trend-radar-heading p { margin: 0; color: #607080; font-weight: 800; line-height: 1.5; }
.trend-radar-date { text-align: right; font-size: 13px; }

.trend-radar-gap-notice {
  border: 1px solid #e1c97b;
  border-radius: 9px;
  padding: 11px 13px;
  background: #fff8dc;
  color: #6f5610;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.55;
}

.radar-temperature {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.radar-temperature > div,
.radar-temperature > button {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 2px 7px;
  border: 1px solid #d8e5e6;
  border-radius: 9px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.88);
  color: inherit;
  font: inherit;
  text-align: left;
}
.radar-temperature > button { cursor: pointer; }
.radar-temperature > button:hover,
.radar-temperature > button:focus-visible { border-color: #296f77; outline: none; background: #fff; }

.radar-temperature span { grid-column: 1 / -1; color: #607080; font-size: 12px; font-weight: 900; }
.radar-temperature strong { color: #9c2f24; font-size: 25px; }
.radar-temperature em { align-self: end; padding-bottom: 3px; color: #607080; font-size: 12px; font-style: normal; font-weight: 900; }
.trend-radar-message { margin: -4px 0 0; color: #607080; font-size: 12px; font-weight: 800; }

.trend-radar-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.trend-radar-card { min-width: 0; border: 1px solid #d9e1e7; border-radius: 10px; padding: 13px; background: #fff; }
.trend-radar-card.strongest { border-color: rgba(214, 166, 63, 0.7); }
.market-pulse-summary {
  margin-top: 22px;
  border: 1px solid #3b4c59;
  border-radius: 16px;
  padding: 18px;
  background: linear-gradient(145deg, rgba(31, 44, 55, 0.96), rgba(20, 31, 40, 0.98));
  box-shadow: 0 12px 30px rgba(8, 15, 21, 0.2);
}
.market-pulse-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
}
.market-pulse-heading h3 { margin: 2px 0 0; color: #fff; font-size: 23px; }
.market-pulse-title-line { display: flex; align-items: center; gap: 10px; }
.market-pulse-verdict {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 14px;
  line-height: 1;
}
.market-pulse-verdict[data-tone="bullish"] { color: #ff8f82; }
.market-pulse-verdict[data-tone="bearish"] { color: #72d7b0; }
.market-pulse-verdict[data-tone="neutral"] { color: #f3c969; }
.market-pulse-index { margin: 0; color: #e9f0f4; font-size: 14px; font-weight: 900; }
.market-pulse-index[data-tone="up"] { color: #ff857c; }
.market-pulse-index[data-tone="down"] { color: #71dca3; }
.market-pulse-date { margin: 0; color: #9fb0bc; font-size: 12px; font-weight: 800; }
.market-pulse-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.market-pulse-side {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.035);
}
.market-pulse-label { display: inline-block; margin-bottom: 8px; font-size: 14px; font-weight: 1000; }
.market-pulse-side.bullish .market-pulse-label { color: #ff857c; }
.market-pulse-side.bearish .market-pulse-label { color: #71dca3; }
.market-pulse-side > p { margin: 0 0 2px; color: #c7d1d8; font-size: 12px; font-weight: 800; }
.market-pulse-side > strong { display: block; color: #fff; font-size: 16px; }
.market-pulse-side > strong b { font-size: 34px; line-height: 1.15; }
.market-pulse-meter {
  height: 9px;
  overflow: hidden;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}
.market-pulse-meter i { display: block; width: 0; height: 100%; border-radius: inherit; transition: width 300ms ease; }
.market-pulse-side.bullish .market-pulse-meter i { background: linear-gradient(90deg, #ff5f55, #ff9d7c); }
.market-pulse-side.bearish .market-pulse-meter i { background: linear-gradient(90deg, #39b879, #72dba4); }
.market-pulse-extra { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 11px; color: #aebdc7; font-size: 11px; font-weight: 800; }
.market-pulse-extra b { color: #e8f1f5; font-size: 13px; }
.market-pulse-note { margin: 12px 0 0; color: #91a5b2; font-size: 11px; font-weight: 700; text-align: center; }
.market-breadth-panel { margin-top: 18px; border-top: 1px solid #d9e1e7; padding-top: 18px; }
.market-breadth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 34px 0 8px;
  color: #718090;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}
.market-breadth-divider::before,
.market-breadth-divider::after {
  content: "";
  flex: 1;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #9aabb7);
}
.market-breadth-divider::after {
  background: linear-gradient(90deg, #9aabb7, transparent);
}
.bearish-breadth-panel { margin-top: 8px; border-top: 0; }
.breadth-fullscreen-close { display: none; }
.market-breadth-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.market-breadth-heading h3 { margin: 2px 0 5px; color: #17212b; font-size: 22px; }
.market-breadth-heading p { margin: 0; color: #607080; font-weight: 700; line-height: 1.5; }
.breadth-info {
  position: relative;
  z-index: 8;
  margin: 0;
}
.breadth-info summary {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #b9cbd0;
  border-radius: 50%;
  padding: 0;
  background: #f4f9f9;
  color: #296f77;
  font-size: 19px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.breadth-info summary::-webkit-details-marker { display: none; }
.breadth-info summary:hover,
.breadth-info summary:focus-visible {
  border-color: #296f77;
  outline: none;
  background: #fff;
}
.breadth-info[open] summary {
  background: #296f77;
  color: #fff;
}
.breadth-info > div {
  position: absolute;
  top: 40px;
  right: 0;
  width: min(520px, calc(100vw - 48px));
  max-height: min(420px, 65vh);
  overflow: auto;
  margin-top: 9px;
  border: 1px solid #d8e3e6;
  border-radius: 12px;
  padding: 12px 14px;
  background: #f8fbfb;
  box-shadow: 0 8px 20px rgba(23, 33, 43, 0.08);
}
.breadth-info > div p {
  margin: 0 0 7px;
  color: #425466;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}
.breadth-info > div p:last-child { margin-bottom: 0; }
.breadth-info > div strong { color: #17212b; }
.breadth-info .breadth-info-risk {
  border-top: 1px solid #d8e3e6;
  padding-top: 8px;
  color: #7a5a16;
  font-weight: 900;
}
.market-breadth-latest { text-align: right; font-size: 13px; white-space: nowrap; }
.market-breadth-controls { position: relative; display: grid; justify-items: end; gap: 7px; }
.breadth-range-switch { display: inline-flex; gap: 4px; padding: 3px; border: 1px solid #405460; border-radius: 999px; background: #1e2b35; }
.breadth-range-switch button { border: 0; border-radius: 999px; padding: 5px 10px; background: transparent; color: #a9bac5; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.breadth-range-switch button.active { background: #eef4f6; color: #24313d; }
.market-breadth-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 16px 0 4px; color: #425466; font-size: 12px; font-weight: 800; }
.market-breadth-legend span { display: inline-flex; align-items: center; gap: 6px; }
.market-breadth-legend i { display: inline-block; width: 18px; height: 3px; border-radius: 2px; }
.market-breadth-legend [data-breadth-color="total"] { background: #d63b31; }
.bearish-breadth-panel .market-breadth-legend [data-breadth-color="total"] { background: #55c98b; }
.market-breadth-legend [data-breadth-color="high240"] { background: #c08a21; }
.market-breadth-legend [data-breadth-color="high90"] { background: #385f9f; }
.market-breadth-legend [data-breadth-color="high30"] { background: #4b9b72; }
.market-breadth-legend [data-breadth-color="comparison-high"] { background: #ff746b; }
.market-breadth-legend [data-breadth-color="comparison-low"] { background: #55c98b; }
.market-breadth-detail-legend { display: none !important; }
.show-breadth-details .market-breadth-detail-legend { display: inline-flex !important; }
.market-breadth-detail-toggle { margin-left: auto; border: 1px solid #b9c7d1; border-radius: 999px; padding: 5px 11px; background: #fff; color: #296f77; font: inherit; font-size: 11px; cursor: pointer; }
.market-breadth-detail-toggle:hover, .market-breadth-detail-toggle:focus-visible { border-color: #296f77; outline: none; }
.market-breadth-chart-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid #d8e1e7;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(247, 250, 251, 0.86), rgba(255, 255, 255, 0.98));
  box-shadow: 0 7px 20px rgba(23, 33, 43, 0.06);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.market-breadth-chart-wrap:hover {
  border-color: #7e9ba6;
  box-shadow: 0 10px 26px rgba(23, 33, 43, 0.11);
}
.market-breadth-tap-hint {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: none;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 999px;
  padding: 7px 11px 7px 8px;
  background: rgba(238, 248, 247, 0.94);
  color: #225f66;
  box-shadow: 0 5px 15px rgba(23, 33, 43, 0.12);
  pointer-events: none;
}
.market-breadth-tap-hint > span:last-child { display: grid; line-height: 1.15; }
.market-breadth-tap-hint strong { font-size: 12px; }
.market-breadth-tap-hint small { margin-top: 2px; color: #607d82; font-size: 9px; font-weight: 800; }
.market-breadth-tap-icon {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #296f77;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
.market-breadth-chart-wrap svg { display: block; width: 100%; height: auto; min-height: 220px; }
.breadth-grid line { stroke: #e3e9ee; stroke-width: 1; }
.breadth-axis text { fill: #718090; font-size: 11px; font-weight: 700; }
.breadth-line { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.breadth-line.total { stroke: #d63b31; stroke-width: 3; }
.breadth-line.comparison-high { stroke: #ff746b; stroke-width: 3.5; }
.breadth-line.comparison-low { stroke: #55c98b; stroke-width: 3.5; }
.breadth-line.high240 { stroke: #c08a21; stroke-width: 1.4; opacity: 0.72; }
.breadth-line.high90 { stroke: #385f9f; stroke-width: 1.4; opacity: 0.72; }
.breadth-line.high30 { stroke: #4b9b72; stroke-width: 1.4; opacity: 0.72; }
.market-breadth-panel:not(.show-breadth-details) .breadth-line.high240,
.market-breadth-panel:not(.show-breadth-details) .breadth-line.high90,
.market-breadth-panel:not(.show-breadth-details) .breadth-line.high30,
.market-breadth-panel:not(.show-breadth-details) .breadth-point.high240,
.market-breadth-panel:not(.show-breadth-details) .breadth-point.high90,
.market-breadth-panel:not(.show-breadth-details) .breadth-point.high30,
.market-breadth-panel:not(.show-breadth-details) .breadth-tooltip-detail,
.market-breadth-panel:not(.show-breadth-details) .breadth-summary-detail { display: none; }
.breadth-hit-area { fill: transparent; cursor: crosshair; outline: none; touch-action: manipulation; }
.breadth-hit-area:focus-visible { stroke: #296f77; stroke-width: 2; }
.breadth-selection { pointer-events: none; }
.breadth-selection-line { stroke: #718090; stroke-width: 1; stroke-dasharray: 4 4; }
.breadth-point { stroke: #fff; stroke-width: 1.5; }
.breadth-point.total { fill: #d63b31; }
.breadth-point.high240 { fill: #c08a21; }
.breadth-point.high90 { fill: #385f9f; }
.breadth-point.high30 { fill: #4b9b72; }
.breadth-point.comparison-high { fill: #ff746b; }
.breadth-point.comparison-low { fill: #55c98b; }
.breadth-chart-verdict { pointer-events: none; }
.breadth-chart-verdict rect { fill: #fff8e7; stroke: #c08a21; stroke-width: 2; }
.breadth-chart-verdict text { fill: #8b6213; font-size: 17px; font-weight: 1000; }
.breadth-chart-verdict[data-tone="bullish"] rect { fill: #fff0ee; stroke: #d63b31; }
.breadth-chart-verdict[data-tone="bullish"] text { fill: #b52d24; }
.breadth-chart-verdict[data-tone="bearish"] rect { fill: #edf9f3; stroke: #39b879; }
.breadth-chart-verdict[data-tone="bearish"] text { fill: #247d53; }
@media (max-width: 700px) {
  .breadth-chart-verdict rect { stroke-width: 4; }
  .breadth-chart-verdict text { font-size: 30px; }
}
.market-comparison-panel { border-color: rgba(214, 181, 98, 0.58) !important; }
.breadth-tooltip { display: none; }
.breadth-tooltip rect { fill: rgba(23, 33, 43, 0.94); stroke: rgba(255, 255, 255, 0.35); }
.breadth-tooltip text { fill: #fff; font-size: 11px; font-weight: 800; }
.breadth-tooltip-date { font-size: 12px !important; }
.market-breadth-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: 10px 0 0;
  color: #425466;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}
.market-breadth-summary > strong,
.market-breadth-summary > span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  border: 1px solid #d8e1e7;
  border-radius: 999px;
  padding: 5px 9px;
  background: #f7fafb;
  white-space: nowrap;
}
.market-breadth-summary small {
  color: #6a7885;
  font-size: 0.82em;
  font-weight: 900;
}
.market-breadth-summary em {
  color: inherit;
  font-size: 0.82em;
  font-style: normal;
  font-weight: 900;
}
.market-breadth-summary b { color: #17212b; font-size: 1.08em; }
.breadth-summary-date { color: #296f77; }
.breadth-summary-primary {
  border-color: rgba(214, 59, 49, 0.34) !important;
  background: #fff0ee !important;
}
.breadth-summary-primary b { color: #b52d24; }
.bearish-breadth-panel .breadth-summary-primary {
  border-color: rgba(57, 184, 121, 0.4) !important;
  background: #edf9f3 !important;
}
.bearish-breadth-panel .breadth-summary-primary b { color: #247d53; }
.breadth-summary-verdict b { font-size: 1.32em; }
.breadth-summary-verdict[data-tone="bullish"] { border-color: rgba(214, 59, 49, 0.35); background: #fff0ee; }
.breadth-summary-verdict[data-tone="bullish"] b { color: #b52d24; }
.breadth-summary-verdict[data-tone="bearish"] { border-color: rgba(57, 184, 121, 0.42); background: #edf9f3; }
.breadth-summary-verdict[data-tone="bearish"] b { color: #247d53; }
.breadth-summary-verdict[data-tone="neutral"] { border-color: rgba(192, 138, 33, 0.4); background: #fff8e7; }
.breadth-summary-verdict[data-tone="neutral"] b { color: #8b6213; }
.trend-radar-card > div:first-child { display: flex; gap: 9px; align-items: center; margin-bottom: 10px; }
.trend-radar-card h3 { margin: 0; color: #17212b; font-size: 18px; }
.radar-card-icon { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #e8f2f2; color: #296f77; font-weight: 1000; }
.radar-more-button { margin-left: auto; border: 0; padding: 5px 2px; background: transparent; color: #296f77; font-size: 12px; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.radar-more-button:hover, .radar-more-button:focus-visible { color: #9c2f24; }
.radar-stock-list { display: grid; gap: 7px; }

.radar-stock-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 9px;
  width: 100%;
  min-width: 0;
  border: 1px solid #e5eaee;
  border-radius: 8px;
  padding: 9px;
  background: #fbfcfd;
  color: #17212b;
  text-align: left;
  cursor: pointer;
}

.radar-stock-item:hover, .radar-stock-item:focus-visible { border-color: #296f77; background: #f2f8f8; }
.radar-stock-title { display: flex; min-width: 0; gap: 6px; align-items: baseline; }
.radar-stock-title strong { color: #9c2f24; }
.radar-stock-title b { overflow: hidden; color: #17212b; text-overflow: ellipsis; white-space: nowrap; }
.radar-status-label { justify-self: end; border-radius: 999px; padding: 3px 7px; background: #fff3c4; color: #6f3f00; font-size: 11px; font-weight: 900; white-space: nowrap; }
.radar-stock-metrics { display: flex; min-width: 0; gap: 10px; color: #607080; font-size: 11px; font-weight: 800; }
.radar-stock-metrics strong { color: #296f77; font-size: 12px; }
.radar-stock-item > em { justify-self: end; color: #607080; font-size: 11px; font-style: normal; font-weight: 900; }
.radar-empty { margin: 0; border-radius: 8px; padding: 15px 10px; background: #f7f9fa; color: #7a8793; font-size: 13px; font-weight: 800; text-align: center; }

.trend-radar-list-modal {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  width: min(860px, 100%);
  max-height: min(82vh, 780px);
  overflow: hidden;
}

.radar-modal-heading { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.radar-modal-heading h2 { margin: 2px 0 5px; color: #17212b; }
.radar-modal-heading p { margin: 0; }
.radar-full-list { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; overflow-y: auto; padding-right: 4px; }

.cover-top-grid.single-focus {
  grid-template-columns: minmax(0, 1fr);
}

.new-high-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.new-high-stats button {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 7px;
  align-items: baseline;
  min-height: 76px;
  border: 1px solid #d9e1e7;
  border-radius: 10px;
  padding: 14px 16px;
  background: #fff;
  color: #17212b;
  text-align: left;
  cursor: pointer;
}

.new-high-stats button:hover,
.new-high-stats button:focus-visible {
  border-color: #d6a63f;
  box-shadow: 0 8px 20px rgba(111, 63, 0, 0.1);
}

.new-high-stats span { font-weight: 900; }
.new-high-stats strong { color: #9c2f24; font-size: 30px; }
.new-high-stats em { color: #607080; font-style: normal; font-weight: 900; }

.cover-top-card {
  display: grid;
  gap: 12px;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.cover-top-card.featured {
  border-color: #d6a63f;
  box-shadow: 0 12px 28px rgba(111, 63, 0, 0.1);
}

.cover-top-title {
  display: grid;
  gap: 10px;
}

.cover-top-title h3 {
  margin: 0;
  color: #9c2f24;
  font-size: 19px;
  line-height: 1.35;
}

.cover-list-link {
  justify-self: start;
  min-height: 36px;
  padding: 7px 12px;
  background: #296f77;
  font-size: 14px;
}

.cover-list-status {
  min-height: 22px;
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.cover-top-list {
  display: grid;
  gap: 8px;
}

.cover-stock-row {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) minmax(54px, auto) minmax(62px, auto);
  gap: 8px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  border: 1px solid #e3e8ed;
  border-radius: 8px;
  padding: 8px;
  background: #fbfcfd;
  color: #17212b;
  text-align: left;
}

.cover-stock-row:hover {
  border-color: #296f77;
  background: #f4f8f9;
}

.cover-rank {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #fff3c4;
  color: #6f3f00;
  font-weight: 900;
}

.cover-stock-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.cover-stock-main strong,
.cover-stock-main em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cover-stock-main strong {
  color: #17212b;
  font-size: 15px;
}

.cover-stock-main em {
  color: #607080;
  font-size: 13px;
  font-style: normal;
}

.cover-param {
  display: grid;
  gap: 2px;
  border-radius: 6px;
  padding: 6px 8px;
  background: #ffe1df;
  color: #8f1f17;
  text-align: center;
}

.cover-change {
  display: grid;
  gap: 2px;
  text-align: right;
}

.cover-metric small {
  color: #718090;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.cover-metric strong {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}

.cover-param small { color: #9c554f; }

.cover-risk-note {
  margin: 0;
  color: #607080;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

/* Premium dark treatment is limited to the homepage trend radar. */
.trend-radar-section {
  border-color: #344653;
  background: linear-gradient(145deg, #111922 0%, #18242e 58%, #111920 100%);
  box-shadow: 0 18px 42px rgba(17, 25, 34, 0.22);
}

.trend-radar-section .eyebrow { color: #e9bd58; }
.trend-radar-section .trend-radar-heading h2,
.trend-radar-section .market-breadth-heading h3 { color: #f5f8fa; }
.trend-radar-section #marketBreadthTitle { color: #ff8f82; }
.trend-radar-section .trend-radar-heading p,
.trend-radar-section .market-breadth-heading p,
.trend-radar-section .trend-radar-message,
.trend-radar-section .market-breadth-latest,
.trend-radar-section .market-breadth-summary,
.trend-radar-section .market-breadth-legend,
.trend-radar-section .cover-list-status,
.trend-radar-section .cover-risk-note { color: #aebdca; }

.trend-radar-section .radar-temperature > div,
.trend-radar-section .radar-temperature > button {
  border-color: #344653;
  background: #1c2933;
}

.trend-radar-section .radar-temperature > button:hover,
.trend-radar-section .radar-temperature > button:focus-visible {
  border-color: #e0b451;
  background: #243540;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.22);
}

.trend-radar-section .radar-temperature span,
.trend-radar-section .radar-temperature em { color: #aebdca; }
.trend-radar-section .radar-temperature strong { color: #f0c661; }

.trend-radar-section .cover-top-card {
  border-color: #a98231;
  background: #192630;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.trend-radar-section .cover-top-title h3 { color: #f0c661; }
.trend-radar-section .cover-list-link { background: #2f7f87; color: #fff; }
.trend-radar-section .cover-stock-row {
  border-color: #344653;
  background: #202e39;
  color: #f3f6f8;
}
.trend-radar-section .cover-stock-row:hover {
  border-color: #55a9af;
  background: #283945;
}
.trend-radar-section .cover-stock-main strong { color: #f5f8fa; }
.trend-radar-section .cover-stock-main em,
.trend-radar-section .cover-metric small { color: #9fb0bd; }
.trend-radar-section .cover-rank { background: #4b3b18; color: #f4d27a; }
.trend-radar-section .cover-param { background: #3c2728; color: #ffaaa4; }
.trend-radar-section .cover-param small { color: #d69b98; }

.trend-radar-section .market-breadth-panel { border-top-color: #344653; }
.market-explanation-section > .market-breadth-panel {
  margin-top: 16px;
  border: 1px solid #344653;
  border-radius: 15px;
  padding: 16px;
  background: linear-gradient(145deg, rgba(24, 40, 53, 0.96), rgba(17, 31, 42, 0.98));
  box-shadow: 0 9px 22px rgba(2, 10, 17, 0.2);
}
.market-explanation-section > .market-breadth-divider {
  margin: 22px 0 4px;
}
.market-explanation-section > .bearish-breadth-panel {
  margin-top: 12px;
}
.trend-radar-section .market-breadth-detail-toggle {
  border-color: #4c6473;
  background: #1c2933;
  color: #8ed2d5;
}
.trend-radar-section .market-breadth-detail-toggle:hover,
.trend-radar-section .market-breadth-detail-toggle:focus-visible { border-color: #8ed2d5; }
.trend-radar-section .breadth-grid line { stroke: #2d3d49; }
.trend-radar-section .breadth-axis text { fill: #91a4b2; }
.trend-radar-section .breadth-line.total { stroke: #ff746b; }
.trend-radar-section .breadth-line.ma5 { stroke: #f1f4f6; }
.trend-radar-section .breadth-point.total { fill: #ff746b; }
.trend-radar-section .breadth-point.ma5 { fill: #f1f4f6; }
.trend-radar-section .bearish-breadth-panel .breadth-line.total { stroke: #55c98b; }
.trend-radar-section .bearish-breadth-panel .breadth-line.ma5 { stroke: #a8d9c2; }
.trend-radar-section .bearish-breadth-panel .breadth-point.total { fill: #55c98b; }
.trend-radar-section .bearish-breadth-panel .breadth-point.ma5 { fill: #a8d9c2; }
.trend-radar-section .bearish-breadth-panel .market-breadth-heading h3 { color: #80dfae; }

.oa-block,
.system-note {
  border-left: 5px solid #296f77;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.68);
}

.oa-block h2,
.system-note h2,
.login-card h2 {
  margin: 0 0 8px;
  color: #17212b;
  font-size: 22px;
  letter-spacing: 0;
}

.oa-block p,
.system-note p {
  margin: 0;
  color: #41505f;
  font-weight: 700;
  line-height: 1.75;
}

.oa-block ul {
  display: grid;
  gap: 6px;
  margin: 12px 0;
  padding-left: 20px;
  color: #24313d;
  font-weight: 900;
}

.plan-copy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.plan-copy-grid article {
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.plan-copy-grid span {
  display: inline-flex;
  margin-bottom: 8px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #fff2c7;
  color: #7a4f00;
  font-size: 12px;
  font-weight: 900;
}

.plan-copy-grid h3 {
  margin: 0 0 8px;
  color: #9c2f24;
  font-size: 17px;
  line-height: 1.35;
}

.plan-copy-grid p {
  margin: 0;
  color: #607080;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
}

.login-card {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 18px;
  border: 1px solid rgba(214, 166, 63, 0.42);
  border-radius: 8px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(30, 48, 66, 0.12);
}

.hero-entry-card {
  align-content: start;
}

.hero-entry-card .cover-query-heading h2 {
  margin: 0;
  color: #24313d;
  font-size: 21px;
  line-height: 1.25;
}

/* Tablet and desktop: keep the search/watchlist card clear of the main headline. */
@media (min-width: 721px) and (min-height: 600px) {
  .hero-entry-card {
    position: static;
    align-self: start;
    transform: translateX(10px);
  }
}

@media (min-width: 1100px) {
  .hero-entry-card {
    position: static;
    align-self: start;
    transform: translateX(16px);
  }

  body.volume-list-active .app-shell {
    width: min(1280px, calc(100% - 32px));
  }

  body.volume-list-active #listSection table {
    min-width: 1160px;
  }

  body.volume-list-active #listSection th,
  body.volume-list-active #listSection td {
    padding: 8px 7px;
    font-size: 12px;
  }

  body.volume-list-active #listSection .sticky-stock-column {
    min-width: 128px;
    max-width: 145px;
  }

  body.volume-list-active #listSection .table-sort-button {
    min-height: 32px;
    padding: 5px 7px;
    font-size: 12px;
  }
}

.primary-entry-button {
  min-height: 58px;
  background: #b23a48;
  font-size: 20px;
}

.cover-search-row {
  display: grid;
  gap: 7px;
}

.cover-search-row label {
  font-size: 15px;
  font-weight: 800;
  color: #6b2730;
}

.cover-search-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  gap: 8px;
}

.cover-stock-search-field {
  position: relative;
  min-width: 0;
}

.cover-stock-search-field input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #f0c7c7;
  border-radius: 12px;
  padding: 0 14px;
  font-size: 17px;
  background: #fff;
}

.cover-search-control button {
  min-height: 48px;
  border-radius: 12px;
  background: #b23a48;
  font-size: 17px;
}

.cover-stock-search-suggestions {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: min(52vh, 360px);
  overflow-y: auto;
  border: 1px solid #e1b8bc;
  border-radius: 10px;
  padding: 5px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(69, 29, 34, 0.22);
}

.cover-search-control .cover-stock-search-suggestion {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 7px;
  padding: 8px 10px;
  background: transparent;
  color: #24313d;
  text-align: left;
}

.cover-search-control .cover-stock-search-suggestion:hover,
.cover-search-control .cover-stock-search-suggestion:focus-visible {
  background: #fff0f1;
}

.cover-stock-search-suggestion strong {
  min-width: 58px;
  color: #9b303d;
}

.cover-stock-search-empty {
  margin: 0;
  padding: 10px;
  color: #6f5a5d;
  font-size: 14px;
}

@media (orientation: landscape) and (max-height: 600px) {
  .cover-stock-search-suggestions {
    max-height: 38dvh;
  }
}

.line-entry-button {
  min-height: 48px;
  background: #06c755;
}

@media (max-width: 720px) {
  .brand-copy .brand-subtitle,
  .brand-copy .brand-description,
  .brand-copy .brand-value-line {
    display: none;
  }

  .brand-copy .mobile-use-flow {
    display: block;
    margin: 0;
    color: #41505f;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.75;
    text-wrap: balance;
  }

  .brand-copy .learn-more-link {
    color: #526474;
    font-size: 14px;
    font-weight: 800;
  }

  .hero-entry-card {
    margin-top: 0;
  }

  .hero-entry-card .line-entry-button {
    border: 1px solid #7ab993;
    background: #f2faf5;
    color: #267346;
    box-shadow: none;
  }

  .hero-entry-card .line-entry-button:hover,
  .hero-entry-card .line-entry-button:focus-visible {
    background: #e6f5eb;
  }

  .hero-entry-card > .line-login-benefit {
    color: #71818c;
    font-size: 12px;
  }
}

.secondary-entry-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.share-entry-button {
  min-height: 40px;
  border: 1px solid #bfd2d6;
  background: #f4f8f9;
  color: #296f77;
  font-size: 14px;
}

.install-entry-button {
  min-height: 40px;
  border: 1px solid #bfd2d6;
  padding: 8px 12px;
  background: #f4f8f9;
  color: #296f77;
  font-size: 14px;
}

.install-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #bfd2d6;
  border-radius: 8px;
  padding: 12px;
  background: #f4f8f9;
}

.install-card strong,
.install-card span {
  display: block;
}

.install-card strong {
  color: #24313d;
  font-size: 15px;
}

.install-card span {
  margin-top: 2px;
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.admin-entry-link {
  justify-self: start;
  border: 0;
  padding: 0;
  background: transparent;
  color: #607080;
  font-size: 13px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.admin-entry-link:hover {
  color: #296f77;
}

.eyebrow {
  margin: 0 0 8px;
  color: #296f77;
  font-size: 14px;
  font-weight: 700;
}

h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: 0;
}

.hero-eyebrow {
  min-height: 22px;
}

.brand-title {
  display: inline-block;
  color: #b23a48;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 900;
  text-shadow: 0 2px 0 #ffd166, 0 10px 24px rgba(178, 58, 72, 0.18);
}

.hint,
.status-text,
.message,
.demo-note {
  color: #607080;
  line-height: 1.7;
}

.demo-note {
  margin: 0;
  font-size: 14px;
}

.join-box {
  margin-top: 22px;
  border: 1px solid #cdd9ef;
  border-radius: 8px;
  padding: 14px 16px;
  background: #f6f9ff;
}

.join-box strong {
  display: block;
  color: #24313d;
  margin-bottom: 4px;
}

.join-box p {
  margin: 0 0 12px;
  color: #607080;
  line-height: 1.6;
}

.line-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 6px;
  padding: 8px 14px;
  background: #1f8f57;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.contact-note {
  margin: 10px 0 0;
  color: #5f4212;
  font-weight: 800;
  line-height: 1.6;
}

.date-text {
  margin: 6px 0 0;
  color: #8a4f20;
  font-weight: 800;
}

.form-stack {
  display: grid;
  gap: 16px;
}

label {
  display: grid;
  gap: 8px;
  color: #41505f;
  font-weight: 700;
}

input,
textarea {
  min-height: 46px;
  border: 1px solid #c9d2da;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fbfcfd;
}

textarea {
  min-height: 46px;
  height: 46px;
  resize: vertical;
}

input:focus,
textarea:focus {
  outline: 3px solid rgba(41, 111, 119, 0.18);
  border-color: #296f77;
}

button {
  min-height: 46px;
  border: 0;
  border-radius: 6px;
  padding: 10px 18px;
  background: #296f77;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  touch-action: manipulation;
}

button:disabled {
  opacity: 0.7;
  cursor: wait;
}

button.is-busy {
  background: #8a4f20;
}

button.secondary {
  background: #e7edf1;
  color: #24313d;
}

.secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 6px;
  padding: 10px 16px;
  background: #e7edf1;
  color: #24313d;
  font-weight: 900;
  text-decoration: none;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  padding-right: 58px;
}

.mobile-app-main-category {
  display: none;
}

.member-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.query-panel .hero-eyebrow {
  display: none;
}

.query-brand-positioning {
  margin: 3px 0 0;
  color: #607080;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.query-panel {
  padding: 20px 22px;
}

.query-view-active .site-menu-button {
  top: clamp(24px, 4vw, 52px);
}

.session-info-row {
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #dde4ea;
  padding: 4px 0 7px;
}

.compact-action {
  min-height: 42px;
  padding: 10px 14px;
}

.api-badge,
.member-badge,
.query-update-badge {
  display: grid;
  gap: 2px;
  min-width: 120px;
  border: 1px solid #d8e2e6;
  border-radius: 8px;
  padding: 8px 10px;
  background: #f8fbfc;
}

.api-badge {
  border-color: #cdd9ef;
  background: #f6f9ff;
}

.api-badge.offline {
  border-color: #e0b868;
  background: #fff8e8;
}

.api-badge span,
.member-badge span,
.query-update-badge span {
  color: #607080;
  font-size: 12px;
  font-weight: 800;
}

.api-badge strong,
.member-badge strong,
.query-update-badge strong {
  color: #296f77;
  font-size: 15px;
}

.session-info-row .query-update-badge,
.session-info-row .member-badge {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
}

.session-info-row .query-update-badge span::before {
  content: "📅 ";
}

.session-info-row .member-badge span::before {
  content: "👤 ";
}

.session-info-row .member-badge small {
  display: none;
}

.member-badge small {
  max-width: 280px;
  color: #607080;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.line-member-box {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.line-member-box span {
  color: #296f77;
  font-size: 13px;
  font-weight: 900;
}

.line-mini-button {
  border: 0;
  border-radius: 8px;
  min-height: 38px;
  padding: 6px 10px;
  background: #06c755;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.watch-add-button {
  margin-top: 12px;
}

.watchlist-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin: 14px 0;
}

#watchlistPanel .watchlist-stock-search-field {
  position: relative;
  min-width: 0;
}

#watchlistPanel .watchlist-stock-search-suggestions {
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: min(320px, 45vh);
  overflow-y: auto;
  border: 1px solid #cfd8e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgb(15 23 42 / 16%);
}

#watchlistPanel .watchlist-stock-search-suggestion {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #263746;
  text-align: left;
}

#watchlistPanel .watchlist-stock-search-suggestion:hover,
#watchlistPanel .watchlist-stock-search-suggestion:focus-visible {
  background: #eef6fb;
}

#watchlistPanel .watchlist-stock-search-suggestion strong {
  flex: 0 0 auto;
  color: #0f5f78;
}

#watchlistPanel .watchlist-stock-search-empty {
  margin: 0;
  padding: 10px 12px;
  color: #64748b;
}

#watchlistPanel .watchlist-add-row input {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cfd8e1;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}

.watchlist-add-row button {
  min-height: 44px;
  border-radius: 8px;
  padding: 10px 18px;
}

#watchlistPanel .watchlist-heading-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

#watchlistPanel .watchlist-notification-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #b8d7cf;
  border-radius: 999px;
  background: #f7fbfa;
  color: #155f55;
  font-weight: 800;
}

#watchlistPanel .watchlist-notification-button.hidden,
#watchlistTableWrap .watchlist-price-alert-button.hidden {
  display: none;
}

#watchlistTableWrap .list-stock-tools {
  display: flex;
  align-items: center;
  gap: 4px;
}

#watchlistTableWrap .watchlist-price-alert-button {
  flex: 0 0 auto;
  width: 30px;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #71817d;
  filter: grayscale(1);
}

#watchlistTableWrap .watchlist-price-alert-button.is-active {
  background: #fff4d6;
  color: #9a6400;
  filter: none;
}

#watchlistTableWrap .watchlist-price-alert-button.is-paused {
  background: #edf0ef;
  color: #737b79;
  filter: grayscale(1);
  opacity: 0.78;
}

#priceAlertModal,
#watchlistNotificationModal {
  z-index: 1800;
  padding: 20px;
  overflow-y: auto;
}

#priceAlertModal.hidden,
#watchlistNotificationModal.hidden {
  display: none;
}

#watchlistNotificationModal .watchlist-notification-modal-card {
  width: min(620px, 100%);
  margin: auto;
  padding: 20px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(7, 28, 54, 0.28);
}

#watchlistNotificationModal .watchlist-notification-modal-heading,
#priceAlertPanel .price-alert-heading-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#watchlistNotificationModal .watchlist-notification-modal-heading :is(h3, p) {
  margin: 0;
}

#watchlistNotificationModal .watchlist-notification-modal-heading p,
#watchlistNotificationModal .watchlist-signal-notification-note {
  margin-top: 5px;
  color: var(--muted);
}

#watchlistNotificationModal .watchlist-signal-notification-settings {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #dce7e4;
}

#watchlistNotificationModal .watchlist-signal-notification-settings :is(h4, p) {
  margin: 0;
}

#watchlistNotificationModal .watchlist-signal-notification-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

#watchlistNotificationModal .watchlist-signal-notification-options span {
  padding: 9px 10px;
  border-radius: 9px;
  background: #edf4f2;
  color: #526762;
  text-align: center;
  font-weight: 700;
}

#watchlistNotificationModal .modal-close,
#priceAlertModal .modal-close {
  width: 40px;
  min-height: 40px;
  padding: 0;
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
}

#pushNotificationPanel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 0;
  padding: 16px;
  border: 1px solid rgba(26, 115, 232, 0.22);
  border-radius: 14px;
  background: rgba(232, 240, 254, 0.56);
}

#pushNotificationPanel.hidden {
  display: none;
}

#pushNotificationPanel h3,
#pushNotificationPanel p {
  margin: 0;
}

#pushNotificationPanel p {
  margin-top: 6px;
  color: var(--muted);
}

#pushNotificationPanel p.is-error {
  color: #b42318;
}

#pushNotificationPanel .push-notification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}

#priceAlertPanel {
  width: min(920px, 100%);
  max-height: calc(100dvh - 40px);
  margin: auto;
  overflow-y: auto;
  padding: 18px;
  border: 1px solid #b8d7cf;
  border-radius: 16px;
  background: #f7fbfa;
  box-shadow: 0 24px 70px rgba(7, 28, 54, 0.28);
}

#priceAlertPanel :is(.price-alert-mobile-grabber, .price-alert-mobile-stock-summary, .price-alert-segments, .price-alert-once-note) {
  display: none;
}

#priceAlertPanel .price-alert-target-input {
  display: contents;
}

#priceAlertPanel .price-alert-target-input b {
  display: none;
}

#priceAlertPanel :is(.price-alert-heading, .price-alert-form, .price-alert-row, .price-alert-row-actions) {
  display: flex;
  align-items: center;
}

#priceAlertPanel .price-alert-heading {
  justify-content: space-between;
  gap: 16px;
}

#priceAlertPanel :is(.price-alert-heading h3, .price-alert-columns h4) {
  margin: 0;
  color: #155f55;
}

#priceAlertPanel :is(.price-alert-heading p, .price-alert-message) {
  margin: 4px 0 0;
  color: #61746f;
}

#priceAlertPanel .price-alert-preview {
  min-height: 24px;
  margin: 10px 0 0;
  color: #526762;
  font-weight: 600;
}

#priceAlertPanel .price-alert-preview.is-immediate {
  padding: 10px 12px;
  border: 1px solid #e4a84f;
  border-radius: 10px;
  background: #fff7e8;
  color: #8a4b00;
}

#priceAlertPanel .price-alert-preview.is-waiting {
  color: #15725f;
}

#priceAlertPanel .price-alert-form {
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

#priceAlertPanel .price-alert-form label {
  display: grid;
  gap: 5px;
  min-width: 150px;
  color: #425550;
}

#priceAlertPanel .price-alert-form :is(select, input) {
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #9dbdb6;
  border-radius: 10px;
  background: #fff;
  color: #243630;
}

#priceAlertPanel .price-alert-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

#priceAlertPanel .price-alert-list {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

#priceAlertPanel .price-alert-row {
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #d8e6e2;
}

#priceAlertPanel .price-alert-row-main {
  display: grid;
  gap: 3px;
}

#priceAlertPanel .price-alert-row-main small {
  color: #687b76;
}

#priceAlertPanel .price-alert-status {
  color: #15725f;
  font-weight: 700;
}

#priceAlertPanel .price-alert-status.is-triggered {
  color: #a45300;
}

#priceAlertPanel .price-alert-status.is-paused {
  color: #737b79;
}

#priceAlertPanel .price-alert-row-actions {
  gap: 6px;
}

#priceAlertPanel .price-alert-row-actions button {
  padding: 6px 9px;
  min-height: 34px;
}

#priceAlertPanel .price-alert-empty {
  padding: 12px;
  border-radius: 10px;
  background: #edf4f2;
  color: #687b76;
}

@media (max-width: 640px) {
  #pushNotificationPanel {
    align-items: stretch;
    flex-direction: column;
  }

  #pushNotificationPanel .push-notification-actions button {
    flex: 1 1 0;
  }

  #priceAlertModal,
  #watchlistNotificationModal {
    padding: 10px;
  }

  #watchlistPanel .watchlist-notification-button span {
    display: none;
  }

  #watchlistNotificationModal .watchlist-signal-notification-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) and (orientation: portrait) {
  body.modal-open:has(#priceAlertModal:not(.hidden)) {
    overflow: hidden;
    overscroll-behavior: none;
  }

  #priceAlertModal {
    place-items: end center;
    padding:
      max(12px, env(safe-area-inset-top, 0px))
      12px
      max(12px, env(safe-area-inset-bottom, 0px));
    overflow: hidden;
    background: rgba(7, 20, 29, 0.58);
  }

  #priceAlertPanel {
    width: 100%;
    min-height: 0;
    max-height: 100%;
    margin: 0;
    padding: 12px 16px 18px;
    overflow-x: hidden;
    overflow-y: auto;
    border-color: #d9e4e1;
    border-radius: 24px;
    background: #fbfcfc;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  #priceAlertPanel .price-alert-mobile-grabber {
    display: block;
    width: 76px;
    height: 6px;
    margin: 0 auto 12px;
    border-radius: 99px;
    background: #b9c0c3;
  }

  #priceAlertPanel .price-alert-heading {
    align-items: flex-start;
  }

  #priceAlertPanel .price-alert-heading h3 {
    font-size: 25px;
  }

  #priceAlertPanel .price-alert-heading p {
    max-width: 270px;
    font-size: 13px;
    line-height: 1.55;
  }

  #priceAlertPanel .price-alert-heading-actions {
    gap: 6px;
  }

  #priceAlertPanel #priceAlertRefresh {
    width: 40px;
    min-height: 40px;
    padding: 0;
    overflow: hidden;
    color: transparent;
    font-size: 0;
    border-radius: 50%;
  }

  #priceAlertPanel #priceAlertRefresh::before {
    content: "↻";
    color: #526762;
    font-size: 22px;
  }

  #priceAlertPanel .price-alert-mobile-stock-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 4px 14px;
  }

  #priceAlertPanel .price-alert-mobile-stock-name {
    color: #17242d;
    font-size: 25px;
    font-weight: 850;
  }

  #priceAlertPanel .price-alert-mobile-quote {
    display: grid;
    min-width: 112px;
    color: #26352f;
  }

  #priceAlertPanel .price-alert-mobile-quote strong {
    color: #07645b;
    font-size: 27px;
  }

  #priceAlertPanel .price-alert-mobile-quote strong small,
  #priceAlertPanel .price-alert-mobile-quote > small {
    color: #566762;
    font-size: 12px;
    font-weight: 500;
  }

  #priceAlertPanel .price-alert-form {
    display: grid;
    gap: 14px;
    margin-top: 0;
    padding: 14px;
    border: 1px solid #dce7e4;
    border-radius: 18px;
    background: #fff;
  }

  #priceAlertPanel .price-alert-form label {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #priceAlertModal.has-stock-context #priceAlertPanel .price-alert-stock-field {
    display: none;
  }

  #priceAlertPanel .price-alert-direction-field > select {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  #priceAlertPanel .price-alert-segments {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #priceAlertPanel .price-alert-segments button {
    min-height: 54px;
    border: 1px solid #cdd8d5;
    border-radius: 13px;
    background: #f7f9f8;
    color: #24313d;
    font-size: 18px;
    font-weight: 850;
  }

  #priceAlertPanel .price-alert-segments [data-alert-direction="above"].is-active {
    border-color: #df5746;
    background: #e85c4b;
    color: #fff;
  }

  #priceAlertPanel .price-alert-segments [data-alert-direction="below"].is-active {
    border-color: #16333d;
    background: #203c45;
    color: #fff;
  }

  #priceAlertPanel .price-alert-target-input {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 72px;
    padding: 0 14px;
    border: 2px solid #09645b;
    border-radius: 14px;
  }

  #priceAlertPanel .price-alert-target-input b {
    display: block;
    color: #707876;
    font-size: 19px;
  }

  #priceAlertPanel .price-alert-form .price-alert-target-input input {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    max-width: 100%;
    min-height: 68px;
    padding: 4px 10px;
    border: 0;
    outline: 0;
    color: #075e57;
    font-size: clamp(32px, 10vw, 40px);
    font-weight: 850;
    text-align: center;
  }

  #priceAlertPanel .price-alert-once-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 10px;
    align-items: center;
    padding: 12px;
    border-radius: 13px;
    background: #f0f6f4;
    color: #164e48;
  }

  #priceAlertPanel .price-alert-once-note > span {
    grid-row: 1 / 3;
    font-size: 24px;
  }

  #priceAlertPanel .price-alert-once-note small {
    color: #687b76;
  }

  #priceAlertPanel .price-alert-submit {
    width: 100%;
    min-height: 58px;
    border-radius: 14px;
    background: #07645b;
    font-size: 19px;
    font-weight: 850;
  }

  #priceAlertPanel .price-alert-preview {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    margin: 12px 0 0;
    padding: 12px 14px;
    border-radius: 14px;
    background: #edf5f2;
  }

  #priceAlertPanel .price-alert-preview:empty {
    display: none;
  }

  #priceAlertPanel .price-alert-preview > strong {
    color: #dc5544;
    font-size: 25px;
  }

  #priceAlertPanel .price-alert-preview-detail {
    display: grid;
    padding-left: 12px;
    border-left: 1px solid #cedbd7;
    color: #c84c3d;
    font-size: 18px;
    font-weight: 800;
  }

  #priceAlertPanel .price-alert-preview-detail small {
    color: #526762;
    font-size: 12px;
    font-weight: 500;
  }

  #priceAlertPanel .price-alert-message {
    min-height: 0;
    margin: 7px 2px 0;
  }

  #priceAlertPanel .price-alert-columns {
    gap: 12px;
    margin-top: 12px;
  }

  #priceAlertPanel .price-alert-columns > div {
    padding: 14px;
    border: 1px solid #dce7e4;
    border-radius: 17px;
    background: #fff;
  }

  #priceAlertPanel .price-alert-empty {
    display: grid;
    gap: 3px;
    padding: 14px;
  }

  #priceAlertPanel .price-alert-empty small {
    display: block;
    font-size: 12px;
  }

  #priceAlertPanel .price-alert-event-empty {
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  #priceAlertPanel .price-alert-event-empty b {
    font-size: 26px;
  }
}

@media (max-width: 760px) {
  #priceAlertPanel .price-alert-columns {
    grid-template-columns: 1fr;
  }

  #priceAlertPanel .price-alert-form :is(label, button) {
    width: 100%;
  }

  #priceAlertPanel .price-alert-row {
    align-items: flex-start;
  }

}

.watchlist-signals {
  margin: 12px 0 14px;
  border: 1px solid #cfdde2;
  border-radius: 12px;
  padding: 12px;
  background: #f8fbfc;
}

.watchlist-signals-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.watchlist-signals-heading > div {
  display: grid;
  gap: 3px;
}

.watchlist-signals-heading span {
  color: #506473;
  font-size: 12px;
  font-weight: 900;
}

.watchlist-signals-heading strong {
  color: #24313d;
  font-size: 17px;
  line-height: 1.35;
}

.watchlist-signals-heading small {
  color: #687986;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.watchlist-signals-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.watchlist-signal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border: 1px solid #dce5e8;
  border-radius: 9px;
  padding: 6px 8px;
  background: #fff;
}

.watchlist-signal-row.is-extra {
  display: none;
}

.watchlist-signal-stock {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  border: 0;
  padding: 3px;
  background: transparent;
  color: #24313d;
  text-align: left;
  cursor: pointer;
}

.watchlist-signal-stock strong {
  color: #296f77;
  font-size: 15px;
}

.watchlist-signal-stock span {
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.watchlist-signal-badge {
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.watchlist-signal-row.high .watchlist-signal-badge {
  background: #e2f5ea;
  color: #13704d;
}

.watchlist-signal-row.high.period-90 .watchlist-signal-badge {
  background: #dceff0;
  color: #176b72;
}

.watchlist-signal-row.high.period-240 .watchlist-signal-badge {
  background: #ffe7a5;
  color: #765000;
  box-shadow: inset 0 0 0 1px #dfb54c;
}

.watchlist-signal-row.low .watchlist-signal-badge {
  background: #ffe2df;
  color: #9b2d25;
}

.watchlist-signal-row.low.period-240 .watchlist-signal-badge {
  background: #c94b43;
  color: #fff;
}

.watchlist-signal-row.low-volume {
  border-style: dashed;
}

.watchlist-signals-toggle {
  display: block;
  min-height: 34px;
  margin: 9px auto 0;
  border: 0;
  padding: 5px 12px;
  background: transparent;
  color: #296f77;
  font-weight: 900;
  cursor: pointer;
}

.industry-data-panel {
  margin-top: 18px;
}

#industryDataStatus:has(.industry-login-button),
#financialRankingStatus:has(.industry-login-button),
#historicalRatingStatus:has(.industry-login-button) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.industry-login-button {
  min-height: 38px;
  border: 1px solid #16856f;
  border-radius: 9px;
  padding: 7px 16px;
  background: #16856f;
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 3px 9px rgba(22, 133, 111, 0.2);
}

.industry-login-button:hover,
.industry-login-button:focus-visible {
  background: #106c5b;
  outline: 2px solid rgba(22, 133, 111, 0.24);
  outline-offset: 2px;
}

.watchlist-heading-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.financial-ranking-panel {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.financial-compare-panel {
  display: grid;
  gap: 10px;
  border: 1px solid #d8e1e7;
  border-radius: 12px;
  padding: 14px;
  background: #f9fbfc;
}

.financial-compare-heading,
.financial-compare-saved-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.financial-compare-saved-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.financial-compare-saved-title {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 8px;
}

.financial-compare-inline-hint {
  display: none;
}

.financial-compare-saved-actions .secondary {
  min-height: 34px;
  padding: 5px 10px;
  font-size: 12px;
}

.financial-compare-heading > div:first-child {
  display: grid;
  gap: 2px;
}

.financial-compare-heading span,
.financial-compare-saved-head span {
  color: #6b7884;
  font-size: 13px;
}

.financial-compare-controls {
  display: flex;
  align-items: end;
  gap: 8px;
}

.financial-compare-field {
  display: grid;
  gap: 4px;
}

.financial-compare-field > span {
  color: #526474;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.financial-compare-controls input {
  min-height: 40px;
  border: 1px solid #c7d2dc;
  border-radius: 9px;
  padding: 7px 10px;
  background: #fff;
  color: #263442;
  font: inherit;
}

.financial-compare-stock-field { width: 190px; }
.financial-compare-date-field { width: 170px; }
#financialCompareStock,
#financialCompareDate { width: 100%; }

.financial-compare-add {
  width: fit-content;
  min-height: 38px;
  justify-self: end;
}

.financial-compare-saved-head {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #d8e0e6;
}

.financial-compare-header {
  display: inline-flex;
  cursor: default;
}

.financial-compare-stock-name {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #216f77;
  font-weight: 850;
}

.financial-history-badge {
  border: 1px solid #7995aa;
  border-radius: 999px;
  padding: 0 5px;
  background: #eaf2f8;
  color: #42677f;
  font-size: 10px;
  font-style: normal;
  line-height: 1.5;
}

.financial-history-row td,
.financial-history-row .sticky-stock-column {
  background: #eef5f8;
}

.financial-compare-remove {
  margin-top: 4px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #8a5d5d;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.financial-scope-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.financial-ranking-content {
  display: grid;
  gap: 16px;
}

.financial-scope-button {
  min-height: 48px;
  border: 1px solid #cbd7df;
  border-radius: 11px;
  padding: 10px 12px;
  background: #edf2f6;
  color: #253241;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.financial-scope-button:hover,
.financial-scope-button:focus-visible {
  border-color: #2d7c84;
  outline: 2px solid rgba(45, 124, 132, 0.16);
  outline-offset: 2px;
}

.financial-scope-button.active {
  border-color: #2d7c84;
  background: #2d7c84;
  color: #fff;
}

.financial-industry-control {
  display: grid;
  grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.financial-industry-control label {
  color: #465564;
  font-weight: 800;
}

.financial-industry-control select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #c7d2dc;
  border-radius: 10px;
  padding: 8px 12px;
  background: #fff;
  color: #263442;
  font: inherit;
}

.financial-ranking-list-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #d8e0e6;
}

.financial-ranking-list-head strong {
  color: #344451;
  font-size: 18px;
}

.financial-ranking-list-head span {
  color: #6b7884;
  font-size: 14px;
}

.financial-table-area {
  min-width: 0;
}

@media (min-width: 701px) {
  #financialRankingPanel [data-financial-ranking-table] table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(1) { width: 15%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(2) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(3) { width: 8.5%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(4) { width: 8.5%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(5) { width: 8.5%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(6) { width: 9%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(7) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(8) { width: 9%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(9) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(10) { width: 8.5%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(11) { width: 9%; }

  [data-financial-ranking-table] th.financial-eps-qoq-header {
    text-align: center;
  }

  [data-financial-ranking-table] th.financial-eps-qoq-header .table-sort-button {
    display: flex;
    width: max-content;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
  }
}

.financial-basic-empty {
  grid-column: 1 / -1;
  margin: 0;
  border: 1px dashed #bdcbd4;
  border-radius: 12px;
  padding: 22px 16px;
  background: #f7fafb;
  color: #667482;
  text-align: center;
}

@media (max-width: 700px) {
  .financial-ranking-panel {
    gap: 13px;
  }

  .financial-scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .financial-scope-button {
    min-height: 52px;
    padding: 10px 8px;
    font-size: 16px;
  }

  .financial-industry-control {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .financial-ranking-list-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .financial-compare-panel {
    padding: 11px 8px;
  }

  .financial-compare-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .financial-compare-controls {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .financial-compare-stock-field {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .financial-compare-date-field {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
  }

  #financialCompareStock,
  #financialCompareDate {
    width: 100%;
    min-width: 0;
  }

  .financial-compare-stock-field,
  .financial-compare-date-field {
    width: auto;
    min-width: 0;
  }

  .financial-compare-controls .primary {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-column: 1 / -1;
    grid-row: 3;
    padding-inline: 9px;
  }

  .financial-compare-saved-head {
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
  }

  .financial-compare-saved-actions {
    min-width: 0;
    margin-left: auto;
    flex: 0 0 auto;
  }

  .financial-compare-saved-actions .secondary {
    max-width: 132px;
    white-space: nowrap;
  }

  .financial-compare-inline-hint {
    display: inline-flex;
    align-items: center;
    color: #296f77 !important;
    font-size: 12px !important;
    font-weight: 800;
    white-space: nowrap;
  }

  .financial-compare-panel .touch-table-hint {
    display: none !important;
  }

}

.industry-data-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 11px;
}

.industry-pill {
  display: grid;
  align-content: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 68px;
  border: 1px solid #dbe3e8;
  border-radius: 11px;
  padding: 10px 12px;
  background: #f7fafc;
  cursor: pointer;
  text-align: left;
}

.industry-pill:hover {
  border-color: #296f77;
  background: #f0f7f8;
}

.industry-data-panel .industry-pill.is-high-count-top-three {
  border-color: #e3aaa5;
  background: #fff8f7;
  box-shadow: inset 3px 0 0 #b84036;
}

.industry-data-panel .industry-pill.is-high-count-top-three:hover,
.industry-data-panel .industry-pill.is-high-count-top-three:focus-visible {
  border-color: #b84036;
  background: #fff3f1;
}

.industry-data-panel .industry-pill.is-high-count-top-three .industry-high b {
  color: #a82720;
  font-size: 14px;
}

.industry-data-panel .industry-high-top-three-badge {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 2px 6px;
  background: #f9dfdc;
  color: #a82720;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.industry-pill-main {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 3px;
  width: 100%;
}

.industry-pill-main strong {
  min-width: 0;
  color: #17212b;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.industry-pill-main small {
  flex: 0 0 auto;
  color: #8a98a5;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.industry-pill-trend {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.industry-pill-trend b {
  font-weight: 900;
}

.industry-pill-trend .industry-high {
  color: #a53b32;
}

.industry-pill-trend .industry-low {
  color: #28775c;
}

.industry-data-detail {
  margin-top: 16px;
}

.industry-group-overview {
  border: 1px solid #d8e2e7;
  border-radius: 18px;
  padding: 16px;
  background: #f8fbfc;
}

.industry-level-back {
  min-height: 36px;
  margin: 0 0 10px;
  border: 1px solid #c9d5dc;
  border-radius: 999px;
  padding: 7px 13px;
  background: #fff;
  color: #296f77;
  font-size: 13px;
  font-weight: 850;
}

.industry-level-back:hover,
.industry-level-back:focus-visible {
  border-color: #296f77;
  background: #eef7f7;
}

.industry-group-hint {
  margin: 0 0 12px;
  color: #657581;
  font-size: 13px;
  line-height: 1.6;
}

.industry-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.industry-subcategory-card {
  display: flex;
  min-height: 72px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  border: 1px solid #d3dee4;
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  color: #17212b;
  text-align: left;
  box-shadow: 0 4px 12px rgba(31, 52, 66, 0.05);
}

.industry-subcategory-card:hover,
.industry-subcategory-card:focus-visible {
  border-color: #296f77;
  box-shadow: 0 6px 16px rgba(41, 111, 119, 0.12);
  transform: translateY(-1px);
}

.industry-subcategory-card .industry-high {
  color: #a53b32;
}

.industry-subcategory-card .industry-low {
  color: #28775c;
}

.industry-market-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
}

.industry-market-filters button {
  min-height: 34px;
  border: 1px solid #c9d5dc;
  border-radius: 999px;
  padding: 6px 13px;
  background: #fff;
  color: #52616f;
  font-size: 13px;
  font-weight: 850;
}

.industry-market-filters button.active {
  border-color: #296f77;
  background: #296f77;
  color: #fff;
}

.industry-market-filters .industry-filter-high.active {
  border-color: #a53b32;
  background: #a53b32;
}

.industry-market-filters .industry-filter-low.active {
  border-color: #28775c;
  background: #28775c;
}

.industry-detail-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 8px 0 12px;
}

.industry-detail-heading h3 {
  margin: 0;
  color: #17212b;
  font-size: 20px;
}

.industry-detail-heading span {
  border-radius: 999px;
  padding: 5px 10px;
  background: #e7edf1;
  color: #24313d;
  font-weight: 900;
}

.industry-summary-table {
  margin-bottom: 16px;
}

.industry-fullscreen-return-hint {
  display: none;
}

.industry-fullscreen-return-hint strong,
.industry-fullscreen-return-hint span {
  display: block;
}

.industry-fullscreen-return-hint strong {
  font-size: 15px;
  line-height: 1.15;
}

.industry-fullscreen-return-hint span {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.15;
}

.industry-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 10px;
  background: #f4f7f9;
  color: #41505f;
  white-space: nowrap;
}

.industry-pagination button {
  min-height: 34px;
  border: 1px solid #b9c8d0;
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  color: #24313d;
  font-weight: 900;
}

.industry-pagination button:disabled {
  opacity: 0.42;
}

.industry-pagination span {
  font-size: 12px;
  font-weight: 800;
}

.list-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 10px;
  background: #f4f7f9;
  color: #41505f;
  white-space: nowrap;
}

.list-pagination.hidden {
  display: none;
}

.list-pagination button {
  min-height: 34px;
  border: 1px solid #b9c8d0;
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  color: #24313d;
  font-weight: 900;
}

.list-pagination button:disabled {
  opacity: 0.42;
}

.list-pagination span {
  font-size: 12px;
  font-weight: 800;
}

.list-pagination-landscape-label {
  display: none;
}

.industry-summary-table table {
  min-width: 980px;
}

.industry-summary-table td:first-child,
.industry-summary-table th:first-child {
  min-width: 160px;
}

.industry-summary-table .price-change {
  font-weight: 900;
}

.price-change.up {
  color: #b42318;
}

.price-change.down {
  color: #16794c;
}

.price-change.flat {
  color: #24313d;
}

.industry-stock-card .price-change.up {
  color: #b42318;
}

.industry-stock-card .price-change.down {
  color: #16794c;
}

.industry-stock-card .price-change.flat {
  color: #24313d;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(23, 33, 43, 0.38);
}

/* The home market list uses a full-screen layer at z-index 3200. Keep the
   LINE watchlist prompt above it so the shared analysis-card action remains
   visible from every entry point. */
#watchlistJoinModal:not(.hidden) {
  z-index: 3300;
}

.modal-panel {
  width: min(380px, 100%);
  border: 1px solid #d7dde3;
  border-radius: 8px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(23, 33, 43, 0.24);
}

.modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.install-help-panel {
  display: grid;
  gap: 16px;
}

.install-copy {
  margin: 0;
  color: #24313d;
  font-weight: 800;
  line-height: 1.7;
}

.install-steps {
  display: grid;
  gap: 8px;
  border-radius: 8px;
  padding: 12px;
  background: #f4f8f9;
}

.install-steps p {
  margin: 0;
  color: #24313d;
  font-weight: 800;
  line-height: 1.6;
}

.api-badge.offline strong {
  color: #8a4f20;
}

.search-row {
  display: grid;
  grid-template-columns: 120px minmax(180px, 1fr) 110px;
  gap: 12px;
  align-items: start;
}

.mode-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-bottom: 24px;
}

.watch-add-button.is-added,
.list-watch-button.is-added {
  opacity: 1;
  color: #276c61;
  border-color: #9bc9bd;
  background: #edf8f4;
  cursor: default;
}

.feature-overview {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.mobile-category-nav {
  display: none;
}

.mobile-category-directory {
  display: none;
}

.mobile-app-bottom-nav {
  display: none;
}

.mobile-pull-refresh-indicator {
  display: none;
}

.mobile-header-watchlist-button {
  display: none;
}

@media (max-width: 720px),
       (orientation: landscape) and (max-width: 932px) and (max-height: 600px) {
  .mobile-pull-refresh-indicator {
    position: fixed;
    top: max(8px, env(safe-area-inset-top, 0px));
    left: 50%;
    z-index: 1375;
    display: block;
    min-width: 156px;
    transform: translate(-50%, var(--mobile-pull-refresh-offset, -64px));
    opacity: 0;
    border: 1px solid rgba(85, 214, 255, 0.5);
    border-radius: 999px;
    padding: 9px 15px;
    color: #dceeff;
    background: rgba(5, 19, 37, 0.94);
    box-shadow: 0 8px 20px rgba(5, 19, 37, 0.2);
    font-size: 13px;
    text-align: center;
    pointer-events: none;
    transition: transform 140ms ease, opacity 140ms ease, border-color 140ms ease;
  }

  body.is-mobile-pull-refresh-pulling .mobile-pull-refresh-indicator,
  body.is-mobile-pull-refreshing .mobile-pull-refresh-indicator {
    opacity: 1;
  }

  body.is-mobile-pull-refresh-armed .mobile-pull-refresh-indicator {
    border-color: #55d6ff;
    color: #55d6ff;
  }

  body.is-mobile-pull-refreshing .mobile-pull-refresh-indicator {
    transform: translate(-50%, 10px);
  }

  .query-panel .mobile-category-nav {
    display: grid;
    min-width: 0;
    max-width: 100%;
    gap: 10px;
    margin: 4px 0 16px;
    overflow: hidden;
  }

  .query-panel > .topbar {
    display: block;
    margin-bottom: 8px;
    padding-right: 52px;
  }

  .query-panel .query-mobile-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
  }

  .query-panel .query-mobile-title-row .brand-title {
    min-width: 0;
    font-size: clamp(20px, 5vw, 24px);
    line-height: 1.05;
    white-space: nowrap;
  }

  .query-panel .query-brand-positioning,
  .query-panel > .topbar > .member-actions {
    display: none;
  }

  .mobile-header-watchlist-button {
    display: inline-flex;
    min-width: 108px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid #0a686c;
    border-radius: 11px;
    padding: 6px 8px;
    color: #fff;
    background: linear-gradient(135deg, #087176, #075e63);
    box-shadow: 0 4px 10px rgba(4, 81, 86, 0.16);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
  }

  .query-panel .mobile-category-nav.is-collapsed {
    gap: 7px;
    margin-bottom: 6px;
  }

  .query-panel .feature-overview {
    display: none;
  }

  .query-panel .line-member-box #watchlistButton {
    display: none;
  }

  .mobile-category-tabs {
    display: none;
  }

  .mobile-category-button {
    min-width: 0;
    min-height: 40px;
    border: 1px solid #d7e0e6;
    border-radius: 10px;
    padding: 7px 3px;
    color: #26384a;
    background: #f7f9fb;
    font-size: 16px;
    font-weight: 900;
  }

  .mobile-category-button.is-active {
    box-shadow: 0 0 0 1px currentColor inset;
  }

  .mobile-category-button[data-mobile-category="bullish"].is-active {
    border-color: #e78d8d;
    color: #b53636;
    background: #fff0ef;
  }

  .mobile-category-button[data-mobile-category="bearish"].is-active {
    border-color: #78b99a;
    color: #24794f;
    background: #edf9f2;
  }

  .mobile-category-button[data-mobile-category="stock"].is-active {
    border-color: #80a9d5;
    color: #275f9b;
    background: #eef5fc;
  }

  .mobile-category-button[data-mobile-category="chips"].is-active {
    border-color: #d4a64b;
    color: #916111;
    background: #fff8e7;
  }

  .mobile-category-button[aria-expanded="true"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 5px auto -4px;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 6px solid currentColor;
  }

  .mobile-category-panel {
    display: none;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #edb4b1;
    border-radius: 12px;
    padding: 8px;
    background: #fffafa;
  }

  .mobile-category-panel.is-open {
    display: block;
  }

  .mobile-category-panel > strong,
  .mobile-category-panel > span {
    display: none;
  }

  .mobile-category-options {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 8px;
    margin-top: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-category-options::-webkit-scrollbar {
    display: none;
  }

  .mobile-category-options button {
    display: grid;
    flex: 0 0 auto;
    gap: 2px;
    place-items: center;
    min-width: 116px;
    min-height: 46px;
    border: 1px solid #dce3e8;
    border-radius: 9px;
    padding: 7px 5px;
    color: #9f3535;
    background: #f8fafb;
    font-size: 14px;
    font-weight: 850;
    scroll-snap-align: start;
  }

  .mobile-category-options button.is-active {
    border-color: #d66b69;
    color: #a52f2f;
    background: #ffe8e6;
  }

  .mobile-category-panel[data-mobile-panel="bearish"] {
    border-color: #9bcdb3;
    background: #f4fbf7;
  }

  .mobile-category-panel[data-mobile-panel="stock"] {
    border-color: #a8c3e0;
    background: #f5f9fd;
  }

  .mobile-category-panel[data-mobile-panel="stock"] .mobile-category-options button {
    color: #275f9b;
  }

  .mobile-category-panel[data-mobile-panel="stock"] .mobile-category-options button.is-active {
    border-color: #75a2d0;
    background: #e8f2fc;
  }

  .mobile-category-panel[data-mobile-panel="chips"] {
    border-color: #dfc27e;
    background: #fffbf1;
  }

  .mobile-category-options button small {
    color: #5e6873;
    font-size: 12px;
    font-weight: 750;
  }

  .mobile-category-options button.is-active small {
    color: inherit;
  }

  .mobile-current-list {
    display: flex;
    width: fit-content;
    max-width: 100%;
    gap: 7px;
    align-items: center;
    margin: 0;
    border: 1px solid #efc2bf;
    border-radius: 10px;
    padding: 8px 12px;
    color: #a83232;
    background: #fff5f4;
    line-height: 1.2;
  }

  .mobile-current-list > span {
    color: #886a6a;
    font-size: 11px;
    font-weight: 800;
  }

  .mobile-current-list > strong,
  .mobile-current-list > small {
    font-size: 14px;
    font-weight: 900;
  }

  .mobile-current-list > time {
    margin-left: auto;
    color: #886a6a;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
  }

  body.is-mobile-category-directory,
  body.is-mobile-category-directory .app-shell,
  body.is-mobile-category-directory #queryView,
  body.is-mobile-category-directory .query-panel {
    background: #f4f6f9;
    color: #1b2026;
  }

  body.is-mobile-category-directory .query-panel {
    min-height: calc(100dvh - 68px - env(safe-area-inset-bottom, 0px));
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.is-mobile-category-directory .query-panel > .topbar {
    margin-bottom: 0;
    padding-right: 0;
  }

  body.is-mobile-category-directory .query-mobile-title-row {
    display: block;
  }

  body.is-mobile-category-directory .query-mobile-title-row .brand-title {
    margin: 0;
    color: #20242a;
    font-size: 25px;
    line-height: 1.2;
  }

  body.is-mobile-category-directory .query-mobile-title-row .brand-title-default,
  body.is-mobile-category-directory .query-mobile-title-row .mobile-app-main-category-date,
  body.is-mobile-category-directory .mobile-header-watchlist-button,
  body.is-mobile-category-directory .mobile-current-list {
    display: none !important;
  }

  body.is-mobile-category-directory .query-mobile-title-row .mobile-app-main-category {
    display: inline;
  }

  body.is-mobile-category-directory .query-panel .mobile-category-nav {
    position: static;
    display: block;
    margin: 10px -10px 0;
    padding: 0 10px;
    overflow: visible;
    background: transparent;
  }

  body.is-mobile-category-directory .mobile-category-panel {
    display: none;
  }

  body.is-mobile-category-directory .mobile-category-directory.is-open {
    display: block;
    overflow: visible;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    padding: 0;
    background: #fff;
    box-shadow: 0 5px 16px rgba(38, 47, 58, 0.07);
  }

  body.is-mobile-category-directory .mobile-category-directory-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  body.is-mobile-category-directory .mobile-category-directory-options button {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 56px;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid #e7eaee;
    border-radius: 0;
    padding: 12px 15px;
    color: #20242a;
    background: transparent;
    font-size: 17px;
    text-align: left;
    scroll-snap-align: none;
  }

  body.is-mobile-category-directory .mobile-category-directory-options button:last-child {
    border-bottom: 0;
  }

  body.is-mobile-category-directory .mobile-category-directory-options button small {
    display: inline;
    color: #6b737c;
    font-size: 14px;
    font-weight: 800;
  }

  body.is-mobile-category-directory .mobile-category-directory-options button.is-active {
    color: #20242a;
    background: transparent;
    box-shadow: none;
  }

  #listSection:not(.is-pullback-list) > .list-heading,
  #listSection:not(.is-pullback-list) > #newHighInfoText,
  #listSection:not(.is-pullback-list) > .sort-hint,
  #listSection:not(.is-pullback-list) > .star-note,
  #listSection:not(.is-pullback-list) > .list-color-depth-hint,
  #listSection:not(.is-pullback-list) > #listPaginationTop {
    display: none !important;
  }

  body {
    padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  }

  body:has(.intraday-alert:not(.hidden)) {
    padding-bottom: calc(174px + env(safe-area-inset-bottom, 0px));
  }

  body.query-view-active.is-viewing-mobile-stock-detail {
    padding-bottom: 0;
  }

  body:not(.is-viewing-mobile-stock-detail) .mobile-app-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1380;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: calc(68px + env(safe-area-inset-bottom, 0px));
    padding: 6px max(8px, env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(8px, env(safe-area-inset-left, 0px));
    border-top: 1px solid #234466;
    background: rgba(5, 19, 37, 0.97);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(14px);
  }

  body.query-view-active.is-viewing-mobile-stock-detail .mobile-app-bottom-nav {
    display: none;
  }

  .mobile-app-bottom-nav button {
    display: grid;
    min-width: 0;
    min-height: 56px;
    place-items: center;
    align-content: center;
    gap: 2px;
    border: 0;
    border-radius: 12px;
    padding: 4px 2px;
    background: transparent;
    color: #8ca3bd;
  }

  .mobile-app-bottom-nav button > span {
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
  }

  .mobile-app-bottom-nav button > strong {
    font-size: 13px;
    font-weight: 900;
  }

  .mobile-app-bottom-nav button.is-active {
    color: #55d6ff;
    background: #102d4b;
  }

  body.mobile-app-v1-sample {
    background: #fff;
    color: #24313d;
  }

  body.mobile-app-v1-sample .app-shell,
  body.mobile-app-v1-sample #queryView,
  body.mobile-app-v1-sample .query-panel {
    background: #fff;
  }

  body.mobile-app-v1-sample .query-panel {
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
  }

  body.mobile-app-v1-sample .query-mobile-title-row .brand-title {
    color: #17212b;
    text-shadow: none;
  }

  body.mobile-app-v1-sample .query-mobile-title-row .brand-title-default {
    display: none;
  }

  body.mobile-app-v1-sample .query-mobile-title-row .mobile-app-main-category {
    display: inline;
  }

  body.mobile-app-v1-sample .mobile-header-watchlist-button {
    border-color: #b9c8d0;
    color: #24313d;
    background: #fff;
    box-shadow: none;
  }

  body.mobile-app-v1-sample .site-menu-button {
    border-color: #b9c8d0;
    background: #fff;
    box-shadow: none;
  }

  body.mobile-app-v1-sample .site-menu-button span {
    background: #24313d;
  }

  body.mobile-app-v1-sample:not(.is-viewing-mobile-list-analysis)
    .query-panel .mobile-category-nav {
    position: sticky;
    top: 0;
    z-index: 25;
    margin-right: 0;
    margin-left: 0;
    gap: 0;
    padding: 2px 0 0;
    border-bottom: 1px solid #d7e1e6;
    background: #fff;
    box-shadow: 0 5px 14px rgba(31, 48, 59, 0.08);
    backdrop-filter: blur(12px);
  }

  body.mobile-app-v1-sample .mobile-category-panel.is-open {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  body.mobile-app-v1-sample .mobile-category-options {
    gap: 22px;
    padding: 0 4px;
    scroll-snap-type: none;
  }

  body.mobile-app-v1-sample .mobile-category-options button {
    position: relative;
    display: block;
    min-width: max-content;
    min-height: 36px;
    border: 0;
    border-radius: 0;
    padding: 7px 2px 9px;
    background: transparent;
    color: #52616d;
    box-shadow: none;
    font-size: 15px;
    line-height: 1.2;
    scroll-snap-align: none;
  }

  body.mobile-app-v1-sample .mobile-category-options button small {
    display: none;
  }

  body.mobile-app-v1-sample .mobile-category-options button.is-active {
    border: 0;
    background: transparent;
    color: #17212b;
    box-shadow: none;
  }

  body.mobile-app-v1-sample .mobile-category-options button.is-active::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #296f77;
    content: "";
  }

  body.mobile-app-v1-sample .mobile-current-list {
    display: none;
  }

  body.mobile-app-v1-sample .mobile-current-list > :is(span, time) {
    color: #657581;
  }

  body.mobile-app-v1-sample {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }

  body.mobile-app-v1-sample .mobile-app-bottom-nav {
    min-height: calc(58px + env(safe-area-inset-bottom, 0px));
    padding-top: 3px;
    border-top-color: #d7e1e6;
    background: #fff;
    box-shadow: 0 -6px 18px rgba(31, 48, 59, 0.08);
  }

  body.mobile-app-v1-sample .mobile-app-bottom-nav button {
    min-height: 50px;
    gap: 1px;
    border-radius: 8px;
    padding: 2px;
    color: #657581;
  }

  body.mobile-app-v1-sample .mobile-app-bottom-nav button > span {
    font-size: 20px;
  }

  body.mobile-app-v1-sample .mobile-app-bottom-nav button > strong {
    font-size: 12px;
  }

  body.mobile-app-v1-sample .mobile-app-bottom-nav button.is-active {
    color: #17212b;
    background: transparent;
    box-shadow: none;
  }
}

.mobile-app-main-category-date {
  display: none;
}

@media (max-width: 600px) and (orientation: portrait) {
  body.mobile-app-v1-sample .query-mobile-title-row .mobile-app-main-category-date:not(.hidden) {
    display: inline;
    margin-left: 0.5rem;
    color: #8f959e;
    font-size: 0.62em;
    font-weight: 500;
    white-space: nowrap;
  }
}

@media (orientation: landscape) and (max-width: 932px) and (max-height: 600px) {
  body.query-view-active:has(#listSection:not(.hidden) #listTableWrap.is-table-focus)
    :is(
      .site-menu-button,
      .query-panel > .topbar,
      .query-panel .mobile-category-nav,
      .mobile-current-list,
      .mobile-app-bottom-nav,
      #listFullscreenReturnHint
    ) {
    display: none !important;
  }

  .query-panel .mobile-category-nav {
    gap: 5px;
    margin-bottom: 7px;
  }

  .query-panel > .topbar {
    margin-bottom: 5px;
    padding-right: 54px;
  }

  .query-panel .query-mobile-title-row .brand-title {
    font-size: clamp(24px, 4.5vw, 32px);
  }

  .mobile-header-watchlist-button {
    min-width: 124px;
    min-height: 34px;
    padding: 4px 8px;
    font-size: 13px;
  }

  .mobile-category-button {
    min-height: 30px;
    padding-block: 3px;
    font-size: 13px;
  }

  .mobile-category-panel {
    padding: 6px;
  }

  .mobile-category-panel > span {
    display: none;
  }

  .mobile-category-options {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
    margin-top: 5px;
  }

  .mobile-category-panel[data-mobile-panel="bearish"] .mobile-category-options,
  .mobile-category-panel[data-mobile-panel="stock"] .mobile-category-options,
  .mobile-category-panel[data-mobile-panel="chips"] .mobile-category-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .mobile-category-options button {
    min-height: 36px;
    padding: 5px 8px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
  }

  .mobile-current-list {
    padding: 4px 9px;
  }

  #listSection.is-pullback-list .list-heading,
  #listSection.is-pullback-list > .sort-hint,
  #listSection.is-pullback-list > .star-note,
  #listSection.is-pullback-list > .list-color-depth-hint {
    display: none !important;
  }

  #listSection.is-pullback-list > .pullback-landscape-controls {
    position: relative;
    z-index: 20;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(232px, 390px) 38px;
    gap: 5px;
    align-items: center;
    margin: 0 0 4px;
  }

  #listSection.is-pullback-list > .pullback-landscape-controls.hidden {
    display: none;
  }

  #listSection.is-pullback-list .pullback-landscape-controls .mobile-current-list {
    align-self: stretch;
    width: auto;
    min-width: 0;
    min-height: 38px;
    margin: 0;
  }

  #listSection.is-pullback-list .pullback-landscape-controls #pullbackVolumeTabs {
    grid-template-columns: repeat(2, minmax(116px, 1fr));
    gap: 5px;
    width: auto;
    min-height: 38px;
    margin-top: 0;
  }

  #listSection.is-pullback-list .pullback-landscape-controls #pullbackVolumeTabs .tab-button {
    min-height: 38px;
    padding: 6px 9px;
    font-size: inherit;
  }

  #listSection.is-pullback-list .pullback-landscape-controls > .pullback-mobile-info {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 38px;
    height: 38px;
    margin: 0;
    border: 1px solid #d7e1e6;
    border-radius: 8px;
    background: #f8fbfc;
  }

  #listSection.is-pullback-list .pullback-landscape-controls > .pullback-mobile-info > summary {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 6px;
    color: #296f77;
    font-size: 0;
    font-weight: 900;
    text-align: center;
    cursor: pointer;
  }

  #listSection.is-pullback-list .pullback-landscape-controls > .pullback-mobile-info > summary::after {
    content: "ⓘ";
    font-size: 15px;
  }

  #listSection.is-pullback-list .pullback-landscape-controls > .pullback-mobile-info > div {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(720px, calc(100vw - 24px));
    gap: 4px 10px;
    border: 1px solid #d7e1e6;
    border-radius: 8px;
    padding: 6px 9px;
    background: #f8fbfc;
    box-shadow: 0 8px 20px rgba(31, 48, 59, 0.16);
  }

  #listSection.is-pullback-list .pullback-landscape-controls > .pullback-mobile-info p {
    margin: 0;
    color: #617080;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
  }

  #listSection.is-pullback-list #listTableWrap:not(.is-table-focus) .list-pagination button {
    min-height: 26px;
    padding: 2px 9px;
    font-size: 11px;
  }

  #listSection.is-pullback-list #listTableWrap:not(.is-table-focus) .list-pagination :is(strong, span) {
    font-size: 11px;
  }

  #listSection.is-pullback-list #listTableWrap:not(.is-table-focus) .list-pagination-standard-label {
    display: none;
  }

  #listSection.is-pullback-list #listTableWrap:not(.is-table-focus) .list-pagination-landscape-label {
    display: inline;
  }

  #listSection #listTableWrap {
    overflow-x: clip;
    overflow-y: visible;
  }

  #listSection #listTableWrap table,
  #listSection #listTableWrap.is-table-focus table,
  #listSection #listTableWrap.compact-volume-list table,
  #listSection #listTableWrap.is-table-focus.compact-volume-list table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  #listSection #listTableWrap :is(th, td) {
    width: 8.2%;
    min-width: 0;
    max-width: none;
    padding: 5px 1px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.18;
    text-overflow: ellipsis;
  }

  #listSection #listTableWrap .list-standard-header-label {
    display: none;
  }

  #listSection #listTableWrap .list-phone-landscape-header-label {
    display: inline;
  }

  #listSection #listTableWrap th .table-sort-button {
    width: 100%;
    min-height: 25px;
    padding: 2px 1px;
    font-size: 12px;
    white-space: nowrap;
  }

  #listSection #listTableWrap .compact-stock-name {
    font-size: 16px;
  }

  #listSection #listTableWrap .pb-header-control {
    display: flex;
    width: 100%;
  }

  #listSection #listTableWrap :is(th, td)[data-list-column="pb"] {
    width: 9.7%;
  }

  #listSection #listTableWrap .table-star-signal {
    font-size: 20px;
    letter-spacing: 0;
  }

  #listSection #listTableWrap :is(th, td):first-child,
  #listSection #listTableWrap :is(th, td).sticky-stock-column {
    width: 16.5% !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal;
  }

  #listSection.is-new-high-table #listTableWrap :is(th, td) {
    width: 8.45%;
  }

  #listSection.is-new-high-table #listTableWrap :is(th, td)[data-list-column="pb"] {
    width: 10%;
  }

  #listSection.is-new-high-table #listTableWrap :is(th, td):first-child,
  #listSection.is-new-high-table #listTableWrap :is(th, td).sticky-stock-column {
    width: 14.5% !important;
  }

  #listSection.is-public-constitution-table #listTableWrap th .table-sort-button {
    min-height: 32px;
    padding: 5px 1px;
    font-size: 13px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap {
    max-height: calc(100dvh - 176px);
    overflow-x: auto;
    overflow-y: auto;
    border-color: #d7e1e6;
    background: #fff;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap table,
  #listSection.is-mobile-app-v1-sample #listTableWrap.is-table-focus table {
    width: max-content;
    min-width: 0;
    table-layout: auto;
    background: #fff;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td) {
    width: auto;
    min-width: 72px;
    max-width: none;
    padding: 6px 5px;
    overflow: visible;
    border-bottom-color: #e8edef;
    color: #24313d;
    font-size: 18px;
    line-height: 1.25;
    text-overflow: clip;
    white-space: nowrap;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td {
    height: 48px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: 700;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td):first-child,
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td).sticky-stock-column {
    left: 0;
    z-index: 8;
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    background: #fff;
    box-shadow: 8px 0 18px rgba(31, 48, 59, 0.1);
    white-space: normal;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="close"] { width: 86px; min-width: 86px; max-width: 86px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="change"] { width: 82px; min-width: 82px; max-width: 82px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="pb"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="pullback"] { width: 86px; min-width: 86px; max-width: 86px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="constitution"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="advantage"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="stars"] { width: 86px; min-width: 86px; max-width: 86px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="rd"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="eps"] { width: 78px; min-width: 78px; max-width: 78px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="bond"] { width: 72px; min-width: 72px; max-width: 72px; }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-code-line > span:first-child {
    display: none;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-name > span:last-child {
    color: #296f77;
    font-size: 16px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th {
    background: #fff;
    color: #24313d;
    font-size: 18px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th.sticky-stock-column {
    z-index: 10;
    background: #fff;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th .table-sort-button {
    width: auto;
    min-height: 38px;
    padding: 5px 8px;
    border-color: #d6a63f;
    background: #fff3c4;
    color: #6f3f00;
    font-size: 18px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th .table-sort-button.active {
    border-color: #9c2f24;
    background: #9c2f24;
    color: #fff;
  }

  #financialRankingPanel [data-financial-ranking-table] :is(th, td) {
    font-size: 16px;
  }

  #financialRankingPanel [data-financial-ranking-table] th .table-sort-button {
    font-size: 13px;
  }

  #financialRankingPanel [data-financial-ranking-table] table,
  #financialRankingPanel [data-financial-ranking-table].is-table-focus table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  #financialRankingPanel [data-financial-ranking-table] :is(th, td) {
    box-sizing: border-box;
    min-width: 0;
    padding-right: 2px;
    padding-left: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(1) { width: 14%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(2) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(3) { width: 10%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(4) { width: 9%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(5) { width: 9%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(6) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(7) { width: 9%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(8) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(9) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(10) { width: 8%; }
  #financialRankingPanel [data-financial-ranking-table] :is(th, td):nth-child(11) { width: 9%; }
}

.feature-group {
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 10px 12px;
  background: #f8fbfc;
}

.feature-group h2 {
  margin: 0 0 7px;
  color: #41505f;
  font-size: 15px;
  letter-spacing: 0;
}

.feature-group-description {
  margin: -1px 0 10px;
  color: #718090;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.feature-group .mode-tabs {
  margin-bottom: 0;
}

.utility-feature-group + .utility-feature-group {
  margin-top: 4px;
}

.analysis-empty-primary {
  margin-bottom: 3px;
  color: #41505f;
  font-weight: 800;
}

.analysis-empty-secondary {
  color: #718090;
  font-size: 0.9em;
}

.company-bond-info-button {
  display: inline-grid;
  width: 24px;
  height: 24px;
  margin-left: 3px;
  place-items: center;
  border: 1px solid #aebfc8;
  border-radius: 50%;
  padding: 0;
  background: #f5f9fa;
  color: #296f77;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}

.company-bond-info-button:hover,
.company-bond-info-button:focus-visible {
  border-color: #296f77;
  outline: none;
  background: #e8f3f3;
}

.pb-header-control {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  width: max-content;
  white-space: nowrap;
}

th:not(.sticky-stock-column) .pb-header-control {
  margin-left: auto;
}

.pb-header-control .table-sort-button {
  margin: 0 !important;
}

.pb-header-control .pb-info-button {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
  border-width: 1px;
  font-size: 9px;
  line-height: 1;
}

#pbInfoModal {
  z-index: 1600;
}

#valuationCalculatorModal {
  /* Must stay above the homepage high/low full-list layer (z-index: 3200). */
  z-index: 3310;
}

#moreFinancialModal { z-index: 3320; }

.more-financial-panel {
  box-sizing: border-box;
  width: min(1500px, calc(100vw - 28px));
  max-width: none;
  max-height: calc(100dvh - 28px);
  padding: 20px;
  overflow-y: auto;
  overscroll-behavior-x: none;
  touch-action: pan-y;
  background: #f8fafc;
}

.more-financial-head {
  position: sticky;
  top: -20px;
  z-index: 12;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 12px 0;
  background: #f8fafc;
}
.more-financial-head > div { min-width: 0; flex: 1 1 auto; }
.more-financial-head h2 { overflow-wrap: anywhere; }

.more-financial-head :is(p, h2) { margin: 0; }
.more-financial-head p { color: #315f9e; font-weight: 900; }
.more-financial-head small { color: #68798a; font-weight: 800; }
#moreFinancialClose {
  flex: 0 0 auto;
  width: 42px; height: 42px; border: 1px solid #cbd8e4; border-radius: 50%;
  background: #fff; color: #233b50; font-size: 28px; font-weight: 900;
}
.more-financial-navigation {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: auto minmax(48px, auto) auto;
  align-items: center;
  gap: 7px;
}
.more-financial-navigation.hidden { display: none; }
.more-financial-navigation button {
  display: inline-flex;
  min-width: 76px;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #b9cbe0;
  border-radius: 999px;
  padding: 0 12px;
  background: #fff;
  color: #164f93;
  font: inherit;
  font-weight: 900;
}
.more-financial-navigation button:disabled { cursor: default; opacity: .38; }
.more-financial-navigation > strong {
  color: #52677e;
  font-size: 14px;
  text-align: center;
  white-space: nowrap;
}

.more-financial-content { display: grid; gap: 18px; }
.more-financial-return { display: none; }
.more-financial-loading { padding: 36px; text-align: center; font-weight: 900; }
.more-financial-loading.is-error { color: #a52a21; }
.financial-chapter {
  border: 1px solid #cbd8ec; border-radius: 14px; padding: 18px;
  background: #fff; box-shadow: 0 8px 24px rgba(30, 56, 87, 0.08);
}
.financial-chapter > header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.financial-chapter > header > div { min-width: 0; }
.financial-chapter > header h2 { overflow-wrap: anywhere; }
.financial-chapter > header > b {
  border-radius: 9px; padding: 9px 16px; background: #063e91; color: #fff; font-size: 20px;
}
.financial-chapter > header h2, .financial-chapter > header p { margin: 0; }
.financial-chapter > header h2 { font-size: 28px; }
.financial-chapter > header p { color: #164482; font-weight: 800; }
.financial-equation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
}
.financial-structure-node {
  display: flex;
  min-width: 0;
  min-height: 360px;
  flex-direction: column;
  border: 1px solid currentColor;
  border-radius: 12px;
  padding: 16px;
  background: #fff;
}
.financial-structure-node h3 { margin: 0 0 7px; font-size: 21px; }
.financial-structure-node.is-asset { --node-color: #0750b2; color: var(--node-color); }
.financial-structure-node.is-liability { --node-color: #cf241f; color: var(--node-color); }
.financial-structure-node.is-equity { --node-color: #087728; color: var(--node-color); }
.financial-structure-summary {
  display: flex;
  min-height: 124px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: left;
}
.financial-structure-total { min-width: 0; }
.financial-structure-total > strong { font-size: clamp(25px, 2.1vw, 34px); white-space: nowrap; }
.financial-ratio-circle {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex: 0 0 106px;
  width: 106px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 57%, transparent 59%),
    conic-gradient(var(--node-color) calc(var(--ratio) * 1%), #dfe5e2 0);
  color: var(--node-color);
}
.financial-ratio-circle b { font-size: 20px; }
.financial-structure-breakdown {
  display: grid;
  align-content: start;
  flex: 1;
  gap: 7px;
  margin: 8px 0 0;
  border: 0;
  border-radius: 9px;
  padding: 11px 12px;
  background: #f6f8fb;
  color: #26323d;
  list-style: none;
  text-align: left;
}
.financial-structure-node.is-asset .financial-structure-breakdown { background: #f1f6ff; }
.financial-structure-node.is-liability .financial-structure-breakdown { background: #fff3f3; }
.financial-structure-node.is-equity .financial-structure-breakdown { background: #f1f9f3; }
.financial-structure-breakdown li { display: flex; justify-content: space-between; gap: 8px; }
.financial-structure-breakdown strong { white-space: nowrap; }
.financial-structure-node.is-asset .financial-structure-breakdown.is-six-row-limit li:nth-child(n + 7) { display: none; }
.financial-structure-node.is-asset.is-detail-expanded .financial-structure-breakdown.is-six-row-limit li { display: flex; }
.financial-structure-node.is-asset .financial-structure-breakdown.is-six-row-limit + .financial-detail-toggle { display: block; }
.financial-structure-details {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--node-color) 8%, white);
  color: #26323d;
  list-style: none;
  text-align: left;
}
.financial-structure-details li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.financial-structure-details li.is-last {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--node-color) 22%, transparent);
}
.financial-structure-details span { min-width: 0; }
.financial-structure-details b,
.financial-structure-details small { display: block; }
.financial-structure-details small {
  margin-top: 2px;
  color: #566474;
  font-size: 12px;
  line-height: 1.35;
}
.financial-structure-details strong { flex: 0 0 auto; white-space: nowrap; }
.financial-equity-details {
  display: grid;
  flex: 1;
  align-content: stretch;
  gap: 10px;
  margin-top: 10px;
  border-radius: 9px;
  padding: 12px;
  background: color-mix(in srgb, var(--node-color) 8%, white);
  color: #26323d;
}
.financial-equity-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 8px 12px;
}
.financial-equity-primary span,
.financial-equity-noncontrolling span { font-weight: 800; }
.financial-equity-primary strong,
.financial-equity-noncontrolling strong { white-space: nowrap; }
.financial-equity-primary .is-owners-equity {
  color: var(--node-color);
  font-weight: 900;
}
.financial-equity-primary strong.is-owners-equity { font-size: 1.12em; }
.financial-equity-secondary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.financial-equity-secondary > div,
.financial-equity-highlight {
  display: grid;
  align-content: center;
  border-radius: 8px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, .72);
}
.financial-equity-secondary span,
.financial-equity-highlight span { color: #526276; font-size: 12px; font-weight: 800; }
.financial-equity-secondary strong {
  margin-top: 2px;
  color: var(--node-color);
  font-size: clamp(19px, 1.55vw, 25px);
  line-height: 1.1;
}
.financial-equity-highlight {
  border: 1px solid color-mix(in srgb, var(--node-color) 25%, transparent);
  text-align: center;
}
.financial-equity-highlight strong {
  margin-top: 3px;
  color: var(--node-color);
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.05;
}
.financial-equity-noncontrolling {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  border-top: 1px solid color-mix(in srgb, var(--node-color) 22%, transparent);
  padding-top: 9px;
}
.financial-detail-toggle { display: none; }
.financial-structure-footer {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 16px;
  margin-top: 14px;
}
.financial-equation-summary {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  border: 1px solid #d3dce8;
  border-radius: 12px;
  padding: 12px 18px;
  background: #fff;
}
.financial-equation-summary span { display: flex; align-items: baseline; justify-content: center; gap: 10px; }
.financial-equation-summary span.is-asset { color: #0750b2; }
.financial-equation-summary span.is-liability { color: #cf241f; }
.financial-equation-summary span.is-equity { color: #087728; }
.financial-equation-summary b { font-size: 17px; }
.financial-equation-summary strong { font-size: 21px; white-space: nowrap; }
.financial-equation-summary i { color: #273749; font-size: 26px; font-style: normal; font-weight: 900; }
.financial-profit-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 1px solid #8c56c2;
  border-radius: 12px;
  padding: 12px 16px;
  background: #fbf8ff;
  color: #6822a6;
  text-align: center;
}
.financial-profit-flow span { font-weight: 900; line-height: 1.35; }
.financial-profit-flow strong { flex: 0 0 auto; font-size: 25px; white-space: nowrap; }
.financial-core-note {
  margin: 10px auto 0; color: #526276; font-size: 14px; font-weight: 800; text-align: center;
}
.financial-value-layout { display: grid; grid-template-columns: minmax(0, .56fr) minmax(360px, .44fr); gap: 18px; align-items: stretch; }
.financial-value-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.financial-value-node {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  border: 1px solid #d4deea;
  border-radius: 12px;
  padding: 16px 12px;
  text-align: center;
}
.financial-value-node h3 { margin: 0 0 12px; }
.financial-value-node p { color: #233e65; font-weight: 800; }
.financial-value-circle {
  display: flex;
  width: 120px;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  border-radius: 50%;
  color: #fff;
}
.financial-value-node.is-market .financial-value-circle { background: #073c7c; }
.financial-value-node.is-equity .financial-value-circle { background: #4a9c43; }
.financial-value-node.is-profit .financial-value-circle { background: #ee7900; }
.financial-value-circle strong { font-size: 23px; }
.financial-analysis-result { border: 2px solid #0b438c; border-radius: 12px; overflow: hidden; padding: 0 18px 18px; color: #12386e; }
.financial-analysis-result > h3 { margin: 0 -18px 18px; padding: 10px; background: #0b438c; color: #fff; text-align: center; }
.financial-analysis-result strong { color: #d21d18; font-size: 25px; }
.financial-analysis-result small { display: block; line-height: 1.55; }
.financial-analysis-result em { display: block; margin-top: 12px; color: #9a5b00; font-weight: 900; }
.financial-valuation-zones { margin-top: 16px; border: 1px solid #c8d5e5; border-radius: 12px; padding: 10px; text-align: center; }
.financial-valuation-zones h3, .financial-valuation-zones p { margin: 0; }
.financial-valuation-zones > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 10px 0; }
.financial-valuation-zones span { border-radius: 9px; padding: 15px; font-weight: 900; }
.financial-valuation-zones span:nth-child(1) { background: #edf7e9; color: #176727; }
.financial-valuation-zones span:nth-child(2) { background: #fff5dc; color: #9a5b00; }
.financial-valuation-zones span:nth-child(3) { background: #fff0ef; color: #b51f1b; }

@media (max-width: 1366px) and (pointer: coarse) {
  .more-financial-panel {
    padding: 14px;
  }

  .more-financial-head {
    top: -14px;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
    padding: 8px 0;
  }

  .more-financial-head p {
    display: none;
  }

  .more-financial-head h2 {
    font-size: 23px;
    line-height: 1.22;
  }

  .more-financial-head small {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.25;
  }

  #moreFinancialClose {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    font-size: 25px;
  }

  .more-financial-navigation button {
    min-width: 42px;
    padding: 0 9px;
  }

  .more-financial-navigation button span { display: none; }
}

@media (orientation: landscape) and (min-width: 951px) and (max-width: 1366px) and (pointer: coarse) {
  .financial-chapter { padding: 15px; }
  .financial-chapter > header { margin-bottom: 14px; }
  .financial-chapter > header h2 { font-size: 24px; }
  .financial-equation-grid,
  .financial-value-nodes { gap: 12px; }
  .financial-structure-node { min-height: 320px; padding: 13px; }
  .financial-structure-summary { min-height: 108px; gap: 13px; }
  .financial-ratio-circle { flex-basis: 92px; width: 92px; }
  .financial-structure-node h3 { font-size: 19px; }
  .financial-structure-total > strong { font-size: 27px; }
  .financial-structure-breakdown { gap: 5px; padding: 9px 10px; font-size: 14px; }
  .financial-structure-details { gap: 5px; padding: 9px 10px; font-size: 14px; }
  .financial-structure-footer { grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); gap: 12px; margin-top: 12px; }
  .financial-equation-summary { gap: 8px; padding: 10px 12px; }
  .financial-equation-summary strong { font-size: 18px; }
  .financial-profit-flow { padding: 10px 12px; }
  .financial-value-layout { grid-template-columns: minmax(0, .58fr) minmax(330px, .42fr); gap: 14px; }
  .financial-value-node { padding: 13px 10px; }
  .financial-value-node h3 { font-size: 17px; }
  .financial-value-circle { width: 104px; }
  .financial-value-circle strong { font-size: 20px; }
  .financial-value-node p { font-size: 13px; line-height: 1.45; }
}

@media (orientation: landscape) and (max-width: 950px) and (max-height: 600px) {
  .more-financial-panel { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); padding: 9px; }
  .more-financial-head { top: -9px; margin-bottom: 5px; padding: 5px 0; }
  .more-financial-head h2 { font-size: 19px; }
  .more-financial-head small { font-size: 11px; }
  #moreFinancialClose { flex-basis: 34px; width: 34px; height: 34px; font-size: 22px; }
  .more-financial-navigation { gap: 4px; }
  .more-financial-navigation button { min-width: 32px; width: 32px; height: 30px; padding: 0; }
  .more-financial-navigation > strong { min-width: 38px; font-size: 11px; }
  .more-financial-content { gap: 10px; }
  .financial-chapter { padding: 10px; }
  .financial-chapter > header { gap: 8px; margin-bottom: 8px; }
  .financial-chapter > header > b { padding: 5px 9px; font-size: 13px; }
  .financial-chapter > header h2 { font-size: 18px; }
  .financial-chapter > header p { display: none; }
  .financial-equation-grid,
  .financial-value-nodes { gap: 8px; }
  .financial-structure-node { min-height: 235px; padding: 8px; }
  .financial-structure-summary { min-height: 76px; gap: 8px; }
  .financial-ratio-circle { flex-basis: 65px; width: 65px; }
  .financial-ratio-circle b { font-size: 14px; }
  .financial-structure-node h3 { margin-bottom: 3px; font-size: 15px; }
  .financial-structure-total > strong { font-size: 19px; }
  .financial-structure-breakdown { gap: 3px; margin-top: 5px; padding: 6px 7px; font-size: 12px; }
  .financial-structure-details { gap: 3px; margin-top: 5px; padding: 6px 7px; font-size: 12px; }
  .financial-structure-details small { font-size: 10px; }
  .financial-equity-details { gap: 5px; margin-top: 5px; padding: 7px; }
  .financial-equity-primary { gap: 3px 7px; font-size: 12px; }
  .financial-equity-secondary { gap: 5px; }
  .financial-equity-secondary > div,
  .financial-equity-highlight { padding: 5px 6px; }
  .financial-equity-secondary span,
  .financial-equity-highlight span { font-size: 10px; }
  .financial-equity-secondary strong { font-size: 16px; }
  .financial-equity-highlight strong { font-size: 20px; }
  .financial-equity-noncontrolling { padding-top: 5px; font-size: 12px; }
  .financial-structure-breakdown.is-collapsible li:nth-child(n + 4) { display: none; }
  .financial-structure-node.is-asset .financial-structure-breakdown.is-six-row-limit li:nth-child(-n + 6) { display: flex; }
  .financial-structure-node.is-detail-expanded .financial-structure-breakdown li { display: flex; }
  .financial-detail-toggle { display: block; width: 100%; margin-top: 4px; border: 0; padding: 2px; background: transparent; color: currentColor; font-size: 12px; font-weight: 900; }
  .financial-structure-footer { grid-template-columns: minmax(0, 1.75fr) minmax(230px, 1fr); gap: 8px; margin-top: 8px; }
  .financial-equation-summary { gap: 5px; padding: 7px 9px; }
  .financial-equation-summary span { gap: 5px; }
  .financial-equation-summary b { font-size: 12px; }
  .financial-equation-summary strong { font-size: 14px; }
  .financial-equation-summary i { font-size: 18px; }
  .financial-profit-flow { gap: 8px; padding: 7px 9px; font-size: 12px; }
  .financial-profit-flow strong { font-size: 18px; }
  .financial-core-note { display: none; }
  .financial-value-layout { grid-template-columns: minmax(0, 57fr) minmax(300px, 43fr); gap: 9px; }
  .financial-value-node { padding: 8px 6px; }
  .financial-value-node h3 { margin-bottom: 5px; font-size: 13px; }
  .financial-value-circle { width: 72px; margin-bottom: 5px; }
  .financial-value-circle strong { font-size: 15px; }
  .financial-value-node p { margin: 0; font-size: 10px; line-height: 1.25; }
  .financial-analysis-result { padding: 0 9px 8px; font-size: 12px; }
  .financial-analysis-result > h3 { margin: 0 -9px 7px; padding: 5px; font-size: 14px; }
  .financial-analysis-result p { margin: 4px 0; }
  .financial-analysis-result strong { font-size: 17px; }
  .financial-analysis-result small { line-height: 1.3; }
  .financial-valuation-zones { margin-top: 6px; padding: 5px; }
  .financial-valuation-zones > div { gap: 4px; margin: 4px 0; }
  .financial-valuation-zones span { padding: 5px 3px; font-size: 11px; }
  .financial-valuation-zones h3 { font-size: 12px; }
  .financial-valuation-zones p { font-size: 10px; }
}

@media (max-width: 700px) and (orientation: portrait) {
  .more-financial-panel { width: 100%; max-height: 100dvh; border-radius: 0; padding: 10px; }
  .more-financial-head {
    top: -10px;
    gap: 8px;
    margin-bottom: 6px;
    padding: 7px 0;
  }
  .more-financial-head h2 { font-size: 19px; }
  .more-financial-head small { font-size: 12px; }
  #moreFinancialClose {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    font-size: 24px;
  }
  .more-financial-navigation { gap: 4px; }
  .more-financial-navigation button { min-width: 34px; width: 34px; height: 32px; padding: 0; }
  .more-financial-navigation button span { display: none; }
  .more-financial-navigation > strong { min-width: 40px; font-size: 12px; }
  .more-financial-return {
    display: block;
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 12px;
    background: #184f96;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
  }
  .financial-chapter { padding: 11px; }
  .financial-chapter > header { align-items: center; gap: 9px; margin-bottom: 12px; }
  .financial-chapter > header > b { padding: 6px 10px; border-radius: 7px; font-size: 14px; white-space: nowrap; }
  .financial-chapter > header h2 { font-size: 19px; line-height: 1.2; }
  .financial-chapter > header p { margin-top: 2px; font-size: 13px; }
  .financial-equation-grid { grid-template-columns: 1fr; gap: 11px; }
  .financial-structure-node,
  .financial-profit-flow {
    border: 1px solid currentColor;
    border-radius: 12px;
    padding: 13px;
    background: #fff;
  }
  .financial-structure-node { min-height: 0; }
  .financial-structure-summary { min-height: 104px; }
  .financial-structure-node h3 { margin-bottom: 9px; font-size: 18px; text-align: left; }
  .financial-ratio-circle { flex-basis: 88px; width: 88px; }
  .financial-ratio-circle b { font-size: 20px; }
  .financial-structure-total > strong { font-size: 25px; }
  .financial-structure-breakdown { padding: 8px 10px; font-size: 14px; }
  .financial-structure-details { padding: 9px 10px; font-size: 14px; }
  .financial-structure-details small { font-size: 12px; }
  .financial-equity-details { gap: 9px; padding: 10px; }
  .financial-equity-primary { font-size: 14px; }
  .financial-equity-secondary > div,
  .financial-equity-highlight { padding: 9px; }
  .financial-equity-secondary span,
  .financial-equity-highlight span { font-size: 12px; }
  .financial-equity-secondary strong { font-size: clamp(20px, 6vw, 26px); }
  .financial-equity-highlight strong { font-size: clamp(27px, 8vw, 34px); }
  .financial-equity-noncontrolling { font-size: 14px; }
  .financial-structure-breakdown.is-collapsible li:nth-child(n + 4) { display: none; }
  .financial-structure-node.is-asset .financial-structure-breakdown.is-six-row-limit li:nth-child(-n + 6) { display: flex; }
  .financial-structure-node.is-detail-expanded .financial-structure-breakdown li { display: flex; }
  .financial-detail-toggle {
    display: block;
    width: 100%;
    margin-top: 8px;
    border: 0;
    background: transparent;
    color: currentColor;
    font-size: 14px;
    font-weight: 900;
  }
  .financial-structure-footer { grid-template-columns: 1fr; gap: 9px; }
  .financial-equation-summary { gap: 5px; padding: 9px 7px; }
  .financial-equation-summary span { display: grid; gap: 2px; text-align: center; }
  .financial-equation-summary b { font-size: 13px; }
  .financial-equation-summary strong { font-size: 15px; }
  .financial-profit-flow { padding: 11px; }
  .financial-core-note { margin-top: 12px; padding: 9px; font-size: 15px; line-height: 1.5; }
  .financial-value-layout, .financial-value-nodes { grid-template-columns: 1fr; gap: 12px; }
  .financial-value-node {
    display: block;
    border: 1px solid #d4deea;
    border-radius: 12px;
    padding: 13px;
    text-align: center;
  }
  .financial-value-node h3 { margin-bottom: 9px; font-size: 18px; }
  .financial-value-circle { width: 112px; margin-bottom: 9px; }
  .financial-value-circle strong { font-size: 20px; }
  .financial-value-node p { margin: 0; font-size: 14px; line-height: 1.55; }
  .financial-analysis-result { padding: 0 13px 13px; }
  .financial-analysis-result > h3 { margin: 0 -13px 12px; padding: 8px; }
  .financial-analysis-result p { margin: 9px 0; }
  .financial-analysis-result strong { font-size: 21px; }
  .financial-valuation-zones { margin-top: 10px; padding: 7px; }
  .financial-valuation-zones > div { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 7px 0; }
  .financial-valuation-zones span { min-width: 0; padding: 8px 2px; font-size: 12px; white-space: nowrap; }
  .financial-valuation-zones h3 { font-size: 14px; }
  .financial-valuation-zones p { font-size: 11px; line-height: 1.35; }
}

.valuation-calculator-panel {
  display: grid;
  box-sizing: border-box;
  width: 560px;
  max-width: calc(100vw - 36px);
  max-height: calc(100dvh - 36px);
  gap: 16px;
  overflow-y: auto;
}

.valuation-calculator-head > div {
  min-width: 0;
}

.valuation-calculator-head h2,
.valuation-basis-note,
.valuation-reference-grid strong {
  overflow-wrap: anywhere;
}

.valuation-calculator-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: flex-start;
  gap: 12px;
}

.valuation-calculator-head h2,
.valuation-calculator-head p,
.valuation-reference-grid p,
.valuation-calculator-notes p {
  margin: 0;
}

.valuation-calculator-subtitle {
  display: none;
}

.valuation-calculator-close {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid #cbd8dd;
  border-radius: 50%;
  padding: 0;
  background: #f4f8f9;
  color: #2f4858;
  font-size: 25px;
  line-height: 1;
}

.valuation-quick-search-toggle {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #cbd8dd;
  border-radius: 999px;
  padding: 7px 12px;
  background: #f4f8f9;
  color: #245b5a;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.valuation-quick-search-form {
  position: absolute;
  top: calc(100% + 7px);
  right: 50px;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: min(360px, calc(100vw - 72px));
  gap: 7px;
  border: 1px solid #cbdadd;
  border-radius: 10px;
  padding: 9px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 39, 49, 0.18);
}

.valuation-quick-search-form.hidden {
  display: none;
}

.valuation-quick-search-form input {
  min-width: 0;
  border: 1px solid #a9c2c5;
  border-radius: 7px;
  padding: 8px 10px;
  color: #24313d;
  font-size: 14px;
}

.valuation-quick-search-form button {
  border: 0;
  border-radius: 7px;
  padding: 8px 12px;
  background: #176b5f;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.valuation-quick-search-form p {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
  color: #9a4b20;
  font-size: 12px;
  font-weight: 800;
}

.valuation-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.valuation-reference-grid p {
  border: 1px solid #dbe5e8;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbfc;
  text-align: center;
}

.valuation-reference-grid span,
.valuation-reference-grid strong {
  display: block;
}

.valuation-reference-grid .valuation-reference-eps,
.valuation-reference-grid .valuation-reference-ttm {
  display: block;
}

.valuation-reference-grid .valuation-reference-eps > strong {
  margin-top: 6px;
  text-align: center;
}

.valuation-reference-grid .valuation-reference-eps .valuation-annual-metric {
  display: block;
}

.valuation-reference-grid .valuation-reference-eps .valuation-annual-profit-metric {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #cddadd;
}

.valuation-reference-grid .valuation-reference-eps .valuation-annual-profit-metric strong {
  font-size: 16px;
  font-weight: 900;
}

.valuation-reference-grid .valuation-reference-ttm {
  border-color: #b9d9d3;
  background: #f0f8f5;
}

.valuation-reference-grid span {
  color: #667887;
  font-size: 12px;
  font-weight: 800;
}

.valuation-reference-grid strong {
  margin-top: 6px;
  color: #173f42;
  font-size: 17px;
}

.valuation-basis-note {
  margin: -6px 0 0;
  color: #697b88;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.valuation-basis-note:empty {
  display: none;
}

.valuation-eps-field {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  color: #173f42;
  font-size: 16px;
  font-weight: 900;
}

.valuation-forecast-landscape-label {
  display: none;
}

.valuation-eps-input {
  display: flex;
  align-items: center;
  gap: 8px;
}

.valuation-eps-input input {
  min-width: 0;
  width: 100%;
  border: 1px solid #9fbfc1;
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff;
  color: #24313d;
  font: inherit;
  font-size: 17px;
}

.valuation-calculator-result {
  border-left: 5px solid #c49220;
  border-radius: 8px;
  padding: 13px 14px;
  background: #fff7df;
  color: #68480a;
  font-weight: 900;
  line-height: 1.65;
}

.valuation-result-layout {
  display: contents;
}

.valuation-result-summary {
  display: none;
}

.valuation-result-formula {
  display: none;
}

.valuation-calculator-result[data-state="error"] {
  border-left-color: #b42318;
  background: #fff1ef;
  color: #8f1d14;
}

.valuation-calculator-result[data-state="success"] {
  border-left-color: #287d68;
  background: #edf8f4;
  color: #175847;
}

.valuation-company-scale {
  display: none;
}

.valuation-calculator-notes {
  display: grid;
  gap: 5px;
  border-top: 1px solid #e1e7eb;
  padding-top: 12px;
  color: #677786;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.valuation-calculator-notes .valuation-share-sync-notice {
  color: #9a5b00;
  font-weight: 900;
}

.mobile-list-stock-detail-nav {
  display: none;
}

.mobile-list-stock-detail-content {
  display: none;
}

body.mobile-chips-stock-detail-open {
    overflow: hidden;
    overscroll-behavior-x: none;
}

body.mobile-chips-stock-detail-open #siteMenuBackdrop {
    z-index: 1290;
}

body.mobile-chips-stock-detail-open #siteMenuPanel {
    z-index: 1300;
}

#listAnalysisPanel.is-mobile-chips-stock-detail {
    position: fixed;
    z-index: 1375;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

#listAnalysisPanel.is-mobile-chips-stock-detail .mobile-list-stock-detail-content {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
}

#listAnalysisPanel.is-mobile-chips-stock-detail > .result-actions {
    display: none;
}

@media (max-width: 600px) and (orientation: portrait) {
  .valuation-calculator-notes.has-share-sync-warning #valuationForecastAssumption {
    display: none;
  }
}

@media (orientation: landscape) and (max-width: 1180px) and (max-height: 600px) {
  #listAnalysisPanel.is-mobile-chips-stock-detail .mobile-list-stock-detail-content {
    max-width: 830px;
    margin-inline: auto;
  }
}

@media (min-width: 601px) {
  .valuation-calculator-panel {
    width: min(1040px, calc(100vw - clamp(32px, 8vw, 120px)));
    gap: 18px;
    padding: 24px;
  }

  .valuation-reference-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .valuation-reference-grid .valuation-reference-eps {
    grid-column: auto;
    display: block;
  }

  .valuation-reference-grid .valuation-reference-eps > strong {
    margin-top: 6px;
    text-align: center;
  }

  .valuation-result-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(230px, 0.65fr);
    gap: 0;
  }

  .valuation-result-layout .valuation-eps-field {
    grid-template-columns: max-content minmax(120px, 1fr);
    border: 1px solid #cfe0da;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    padding: 8px 0 8px 12px;
    background: #f1f8f5;
    font-size: 15px;
  }

  .valuation-result-layout .valuation-eps-input input {
    padding: 8px 11px;
    font-size: 17px;
    font-weight: 900;
  }

  .valuation-result-layout .valuation-eps-input input::placeholder {
    font-size: 13px;
    font-weight: 700;
  }

  .valuation-result-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #cfe0da;
    border-radius: 0 8px 8px 0;
    padding: 8px 14px 8px 30px;
    background: #f1f8f5;
    color: #17634e;
  }

  .valuation-result-summary::before {
    content: "→";
    margin-left: -20px;
    color: #6f9289;
    font-size: 18px;
    font-weight: 900;
  }

  .valuation-result-summary span {
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
  }

  .valuation-result-summary strong {
    font-size: 26px;
    line-height: 1.05;
    white-space: nowrap;
  }

  .valuation-result-summary[data-state="notice"] strong {
    font-size: 19px;
  }

  .valuation-result-summary[data-state="error"] {
    border-color: #efc5c0;
    background: #fff1ef;
    color: #8f1d14;
  }

  .valuation-result-layout .valuation-calculator-result {
    grid-column: 1 / -1;
    margin-top: 10px;
  }

  .valuation-company-scale:not(.hidden) {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(240px, 2fr);
    align-items: baseline;
    gap: 18px;
    border-top: 1px solid #d7e2df;
    padding: 10px 2px 0;
    color: #244f4c;
    font-size: 14px;
  }

  .valuation-company-scale-main {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 7px;
  }

  .valuation-company-scale strong {
    font-size: 21px;
    font-weight: 950;
  }

  .valuation-company-scale i {
    color: #7d9994;
    font-style: normal;
  }

  .valuation-book-discount {
    margin: 0;
    color: #8a4f13;
    font-size: 19px;
    font-weight: 950;
    text-align: right;
  }
}

@media (max-width: 600px) {
  .valuation-quick-search-toggle {
    width: 38px;
    min-width: 38px;
    padding: 0;
  }

  .valuation-quick-search-label {
    display: none;
  }

  .valuation-quick-search-form {
    right: 46px;
    width: min(300px, calc(100vw - 58px));
  }

  .valuation-calculator-panel {
    gap: 13px;
    padding: 16px;
  }

  .valuation-reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .valuation-reference-grid p {
    padding: 9px 11px;
  }

  .valuation-reference-grid strong {
    text-align: center;
  }

  .valuation-reference-grid .valuation-reference-eps strong {
    text-align: center;
  }
}

@media (max-width: 600px) and (orientation: portrait) {
  .valuation-calculator-head h2 span {
    display: block;
    white-space: nowrap;
  }

  .valuation-eps-field {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  #valuationForecastEpsLabel {
    display: none;
  }

  .valuation-forecast-landscape-label {
    display: block;
  }

  .valuation-eps-input input {
    font-weight: 900;
  }

  .valuation-eps-input input::placeholder {
    font-size: 14px;
    font-weight: 700;
  }

  .valuation-result-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #cfe0da;
    border-radius: 8px;
    padding: 9px 12px;
    background: #f1f8f5;
    color: #17634e;
  }

  .valuation-result-summary span {
    font-size: 13px;
    font-weight: 900;
  }

  .valuation-result-summary strong {
    font-size: 23px;
    line-height: 1.05;
  }

  .valuation-result-summary[data-state="notice"] strong {
    font-size: 17px;
  }

  .valuation-result-summary[data-state="success"] .valuation-result-formula {
    display: block;
    flex: 0 0 100%;
    color: #54736b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-align: right;
  }

  .valuation-company-scale:not(.hidden) {
    display: grid;
    gap: 4px;
    border-top: 1px solid #d7e2df;
    padding: 10px 2px 0;
    color: #244f4c;
    font-size: 13px;
  }

  .valuation-company-scale-main {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 5px;
  }

  .valuation-company-scale strong {
    font-size: 22px;
    font-weight: 950;
  }

  .valuation-company-scale i {
    color: #7d9994;
    font-style: normal;
  }

  .valuation-book-discount {
    margin: 0;
    color: #8a4f13;
    font-size: 14px;
    font-weight: 950;
  }
}

@media (orientation: landscape) and (max-width: 950px) and (max-height: 600px) {
  body.is-phone-landscape-valuation #valuationCalculatorModal {
    inset: auto;
    top: var(--floating-vv-top-shift, 0px);
    left: var(--floating-vv-left, 0px);
    box-sizing: border-box;
    width: var(--floating-vv-width, 100vw);
    height: var(--floating-vv-height, 100dvh);
    padding:
      max(8px, env(safe-area-inset-top, 0px))
      max(8px, env(safe-area-inset-right, 0px))
      max(8px, env(safe-area-inset-bottom, 0px))
      max(8px, env(safe-area-inset-left, 0px));
  }

  body.is-phone-landscape-valuation .valuation-calculator-panel {
    width: min(760px, 100%);
    max-width: 100%;
    max-height: calc(var(--valuation-visible-height, 100dvh) - 16px);
    grid-template-columns: minmax(0, 0.85fr) minmax(240px, 1.15fr);
    grid-template-areas:
      "head head"
      "references references"
      "basis basis"
      "input summary"
      "result result"
      "scale scale"
      "notes notes";
    gap: 6px;
    padding: 9px 12px;
  }

  body.is-phone-landscape-valuation .valuation-calculator-head {
    grid-area: head;
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    gap: 8px;
  }

  body.is-phone-landscape-valuation .valuation-quick-search-toggle {
    position: absolute;
    top: 50%;
    right: 36px;
    width: 29px;
    min-width: 29px;
    min-height: 29px;
    padding: 0;
    transform: translateY(-50%);
  }

  body.is-phone-landscape-valuation .valuation-quick-search-label {
    display: none;
  }

  body.is-phone-landscape-valuation .valuation-quick-search-form {
    top: calc(100% + 4px);
    right: 34px;
    width: min(330px, calc(100vw - 68px));
    padding: 6px;
  }

  body.is-phone-landscape-valuation .valuation-calculator-head > div {
    width: 100%;
    padding: 0 70px 0 34px;
    text-align: center;
  }

  body.is-phone-landscape-valuation .valuation-calculator-head h2 {
    font-size: 18px;
    line-height: 1.15;
    text-align: center;
  }

  body.is-phone-landscape-valuation .valuation-calculator-subtitle {
    display: none;
  }

  body.is-phone-landscape-valuation .valuation-calculator-close {
    position: absolute;
    top: 50%;
    right: 0;
    width: 29px;
    height: 29px;
    font-size: 20px;
    transform: translateY(-50%);
  }

  body.is-phone-landscape-valuation .valuation-reference-grid {
    grid-area: references;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  body.is-phone-landscape-valuation .valuation-reference-grid p,
  body.is-phone-landscape-valuation .valuation-reference-grid .valuation-reference-eps {
    display: block;
    grid-column: auto;
    padding: 6px 8px;
    text-align: center;
  }

  body.is-phone-landscape-valuation .valuation-reference-grid span {
    font-size: 10px;
  }

  body.is-phone-landscape-valuation .valuation-reference-grid strong,
  body.is-phone-landscape-valuation .valuation-reference-grid .valuation-reference-eps strong {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.15;
    text-align: center;
  }

  body.is-phone-landscape-valuation .valuation-reference-grid .valuation-reference-eps .valuation-annual-profit-metric {
    margin-top: 4px;
    padding-top: 4px;
  }

  body.is-phone-landscape-valuation .valuation-reference-grid .valuation-reference-eps .valuation-annual-profit-metric strong {
    font-size: 12px;
  }

  body.is-phone-landscape-valuation .valuation-basis-note {
    grid-area: basis;
    margin: 0;
    font-size: 10px;
    line-height: 1.2;
  }

  body.is-phone-landscape-valuation .valuation-eps-field {
    grid-area: input;
    grid-template-columns: max-content minmax(118px, 1fr);
    gap: 10px;
    border: 1px solid #cfe0da;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    padding: 6px 0 6px 12px;
    background: #f1f8f5;
    font-size: 13px;
  }

  body.is-phone-landscape-valuation #valuationForecastEpsLabel {
    display: none;
  }

  body.is-phone-landscape-valuation .valuation-forecast-landscape-label {
    display: inline;
    white-space: nowrap;
  }

  body.is-phone-landscape-valuation .valuation-eps-input {
    gap: 6px;
  }

  body.is-phone-landscape-valuation .valuation-eps-input input {
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 900;
  }

  body.is-phone-landscape-valuation .valuation-eps-input input::placeholder {
    font-size: 12px;
    font-weight: 700;
  }

  body.is-phone-landscape-valuation .valuation-result-layout {
    display: contents;
  }

  body.is-phone-landscape-valuation .valuation-result-summary {
    grid-area: summary;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #cfe0da;
    border-radius: 0 8px 8px 0;
    padding: 7px 12px 7px 28px;
    background: #f1f8f5;
    color: #17634e;
  }

  body.is-phone-landscape-valuation .valuation-result-summary::before {
    content: "→";
    margin-left: -20px;
    color: #6f9289;
    font-size: 17px;
    font-weight: 900;
  }

  body.is-phone-landscape-valuation .valuation-result-summary span {
    font-size: 11px;
    font-weight: 900;
  }

  body.is-phone-landscape-valuation .valuation-result-summary strong {
    font-size: 25px;
    line-height: 1.05;
  }

  body.is-phone-landscape-valuation .valuation-result-summary[data-state="notice"] strong {
    font-size: 19px;
  }

  body.is-phone-landscape-valuation .valuation-result-summary[data-state="error"] {
    border-color: #efc5c0;
    background: #fff1ef;
    color: #8f1d14;
  }

  body.is-phone-landscape-valuation .valuation-calculator-result {
    grid-area: result;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    font-size: 16px;
    line-height: 1.4;
  }

  body.is-phone-landscape-valuation .valuation-calculator-result[data-state="notice"] {
    font-size: 18px;
    line-height: 1.35;
  }

  body.is-phone-landscape-valuation .valuation-company-scale:not(.hidden) {
    grid-area: scale;
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2px 10px;
    color: #244f4c;
    font-size: 12px;
    line-height: 1.2;
  }

  body.is-phone-landscape-valuation .valuation-company-scale-main {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0 5px;
  }

  body.is-phone-landscape-valuation .valuation-company-scale strong {
    font-size: 17px;
    font-weight: 950;
  }

  body.is-phone-landscape-valuation .valuation-company-scale i {
    color: #7d9994;
    font-style: normal;
  }

  body.is-phone-landscape-valuation .valuation-book-discount {
    margin: 0;
    color: #8a4f13;
    font-size: 15px;
    font-weight: 950;
  }

  body.is-phone-landscape-valuation .valuation-calculator-notes {
    grid-area: notes;
    display: block;
    padding-top: 6px;
    font-size: clamp(7px, 1.15vw, 9px);
    line-height: 1.25;
  }

  body.is-phone-landscape-valuation .valuation-calculator-notes p {
    overflow: hidden;
    text-align: left;
    white-space: nowrap;
  }

  body.is-phone-landscape-valuation .valuation-calculator-notes.has-share-sync-warning #valuationForecastAssumption {
    display: none;
  }
}

.bond-info-panel {
  max-width: 430px;
}

.trend-direction-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 10px;
}

.selection-trading-date {
  margin: 8px 0 12px;
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 700;
}

.trend-direction-group {
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 9px;
  background: #fff;
}

.feature-group .trend-direction-group h3 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 900;
}

.trend-direction-description {
  margin: -2px 0 9px;
  color: #718090;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.bullish-direction .trend-direction-description { color: #995149; }
.bearish-direction .trend-direction-description { color: #4c7a65; }

.bullish-direction {
  border-color: #e5c4c0;
  background: #fff8f7;
}

.bullish-direction h3 { color: #a83b32; }
.bullish-tab { background: #f7e8e6; color: #7f3029; }
.bullish-tab.active { background: #b8483e; color: #fff; }

.bearish-direction {
  border-color: #b9d9ca;
  background: #f5fbf8;
}

.bearish-direction h3 { color: #277457; }
.bearish-tab { background: #e3f2eb; color: #246349; }
.bearish-tab.active { background: #2f8765; color: #fff; }

.tab-button,
.overview-home-button {
  background: #e7edf1;
  color: #24313d;
  min-height: 38px;
  padding: 6px 9px;
}

.overview-home-button {
  border: 1px solid rgba(41, 111, 119, 0.22);
  background: #eef8f7;
  color: #296f77;
}

.tab-button.active {
  background: #296f77;
  color: #fff;
}

.trend-direction-group .tab-button {
  opacity: 0.76;
  transition: opacity 150ms ease, transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.trend-direction-group .tab-button:hover,
.trend-direction-group .tab-button:focus-visible {
  opacity: 1;
}

.trend-direction-group .tab-button.active {
  opacity: 1;
  border-color: #bb861f;
  background: linear-gradient(180deg, #f2c85b, #d9a32f);
  color: #2f230c;
  box-shadow: 0 0 0 2px rgba(217, 163, 47, 0.22), 0 6px 14px rgba(86, 61, 14, 0.18);
  transform: translateY(-1px);
}

.tab-button.locked {
  opacity: 0.58;
}

#stockLookupTools {
  scroll-margin-top: 12px;
}

.stock-lookup-heading {
  margin-bottom: 9px;
  border-bottom: 1px solid #d9e1e7;
  padding: 0 1px 8px;
}

.stock-lookup-heading strong {
  color: #296f77;
  font-size: 17px;
  line-height: 1.3;
}

#stockLookupTools .search-row {
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 7px 9px;
  align-items: end;
}

#stockLookupTools .search-row label {
  grid-column: 1 / -1;
  font-weight: 800;
}

#stockLookupTools .stock-search-field {
  grid-column: 1;
  position: relative;
  min-width: 0;
}

#stockLookupTools .stock-search-field textarea {
  width: 100%;
  resize: none;
}

#stockLookupTools .search-row button {
  grid-column: 2;
  min-height: 46px;
}

#stockLookupTools .stock-search-suggestions {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: min(52vh, 360px);
  overflow-y: auto;
  border: 1px solid #b9c8ce;
  border-radius: 10px;
  padding: 5px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(25, 48, 58, 0.22);
}

#stockLookupTools .stock-search-suggestion {
  display: flex;
  grid-column: auto;
  align-items: center;
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 7px;
  padding: 8px 10px;
  background: transparent;
  color: #24313d;
  text-align: left;
}

#stockLookupTools .stock-search-suggestion:hover,
#stockLookupTools .stock-search-suggestion:focus-visible {
  background: #edf6f7;
}

#stockLookupTools .stock-search-suggestion strong {
  min-width: 58px;
  color: #296f77;
}

#stockLookupTools .stock-search-empty {
  margin: 0;
  padding: 10px;
  color: #61727a;
  font-size: 14px;
}

@media (orientation: landscape) and (max-height: 600px) {
  #stockLookupTools .stock-search-suggestions {
    max-height: 38dvh;
  }
}

#stockLookupTools .query-examples {
  margin-top: 7px;
}

.historical-rating-panel {
  scroll-margin-top: 12px;
}

.historical-rating-form {
  --historical-rating-control-height: 46px;
  grid-template-columns: minmax(260px, 28%) 190px 110px;
  gap: 7px 9px;
  align-items: end;
  justify-content: start;
}

.historical-rating-form .historical-rating-field > input,
.historical-rating-form .historical-rating-field > select,
.historical-rating-form > button[type="submit"] {
  height: var(--historical-rating-control-height);
  min-height: var(--historical-rating-control-height);
  max-height: var(--historical-rating-control-height);
}

.historical-rating-field {
  display: grid;
  gap: 8px;
}

.historical-rating-date-select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #8fc5c0;
  border-radius: 10px;
  padding: 8px 34px 8px 12px;
  background-color: #edf8f6;
  color: #1f6f76;
  font-size: 16px;
  font-weight: 850;
  cursor: pointer;
  text-align: left;
}

.historical-rating-date-picker {
  position: relative;
  min-width: 0;
}

.historical-rating-date-select::after {
  content: "⌄";
  float: right;
}

.historical-rating-date-picker.is-open .historical-rating-date-select::after {
  content: "⌃";
}

.historical-rating-date-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 80;
  width: min(320px, calc(100vw - 32px));
  max-height: min(58vh, 316px);
  border: 1px solid #8fc5c0;
  border-radius: 12px;
  padding: 7px;
  overflow-y: auto;
  background: #fff;
  box-shadow: 0 12px 30px rgba(31, 70, 76, 0.2);
}

.historical-rating-period-option {
  width: 100%;
  border: 0;
  text-align: left;
}

.historical-rating-period-options {
  display: grid;
  gap: 3px;
  padding: 1px;
}

.historical-rating-period-option {
  min-height: 40px;
  border-radius: 8px;
  padding: 7px 10px;
  background: #fff;
  color: #30424f;
  font-size: 15px;
  font-weight: 800;
}

.historical-rating-period-option.is-selected {
  background: #fff1bd;
  color: #795000;
}

@media (hover: hover) and (pointer: fine) {
  .historical-rating-period-option:not(.is-selected):hover {
    background: #e8f1f5;
    color: #193f50;
  }

  .historical-rating-period-option.is-selected:hover {
    background: #ffe7a0;
    color: #694400;
  }
}

.historical-rating-form > button[type="submit"] {
  min-height: 46px;
}

#historicalRatingStart {
  margin-top: 14px;
  margin-bottom: 10px;
}

.historical-rating-start {
  margin-top: 8px;
  border-left: 4px solid #c58a22;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff7df;
  color: #87570d;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
}

.historical-rating-start span,
.historical-rating-start strong,
.historical-rating-start small {
  display: block;
}

.historical-rating-start span {
  font-size: 13px;
  color: #8b6b35;
}

.historical-rating-start strong {
  margin-top: 2px;
  color: #754600;
  font-size: 19px;
  letter-spacing: 0.01em;
}

.historical-rating-start small {
  margin-top: 2px;
  color: #887555;
  font-size: 13px;
  font-weight: 800;
}

.historical-rating-result {
  margin-top: 14px;
}

.historical-rating-result .analysis-card {
  width: 100%;
}

.historical-rating-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legacy-rating-message {
  margin: 16px 0 0;
  border-left: 4px solid #c58a22;
  border-radius: 8px;
  padding: 11px 13px;
  background: #fff7df;
  color: #754600;
  font-weight: 850;
  line-height: 1.55;
}

.legacy-rating-history .table-star-signal {
  white-space: nowrap;
}

.new-high-history-form {
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 9px;
  align-items: end;
}

.new-high-history-form button {
  min-height: 46px;
}

.new-high-history-result {
  margin-top: 14px;
}

.new-high-history-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: #334857;
}

.new-high-history-table-wrap {
  max-height: 520px;
}

.history-fullscreen-return-hint {
  display: none;
}

.history-fullscreen-return-hint strong,
.history-fullscreen-return-hint span {
  display: block;
}

.history-fullscreen-return-hint strong {
  font-size: 15px;
  line-height: 1.15;
}

.history-fullscreen-return-hint span {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.15;
  opacity: 0.9;
}

.history-fullscreen-return-hint[data-tone="bullish"] {
  background: rgba(125, 59, 31, 0.92) !important;
  border-color: rgba(255, 217, 148, 0.72) !important;
}

.history-fullscreen-return-hint[data-tone="bearish"] {
  background: rgba(25, 92, 72, 0.94) !important;
  border-color: rgba(165, 232, 204, 0.68) !important;
}

.new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint {
  position: fixed;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(10px, env(safe-area-inset-bottom, 0px));
  z-index: 1420;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  padding: 8px 12px;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.22);
}

.break-history-table {
  min-width: 980px;
}

.break-history-table th,
.break-history-table td {
  text-align: center;
  white-space: nowrap;
}

.new-high-history-table-wrap .break-history-event-date > span,
.new-high-history-table-wrap .break-history-rating-date {
  display: block;
}

.new-high-history-table-wrap .break-history-rating-date {
  margin-top: 3px;
  color: #60717d;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.new-high-history-table-wrap .break-history-rating-date.is-missing {
  color: #8a5a4a;
}

.history-table-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
  color: #60717d;
  font-size: 13px;
  font-weight: 700;
}

.history-table-actions button {
  min-height: 36px;
  padding: 6px 12px;
}

.history-missing-value {
  min-width: 34px;
  min-height: 30px;
  border: 1px dashed #aab6bf;
  border-radius: 8px;
  padding: 2px 9px;
  background: #f6f8f9;
  color: #667985;
  font-weight: 900;
  cursor: pointer;
}

.history-missing-note {
  position: sticky;
  bottom: 12px;
  z-index: 8;
  width: fit-content;
  max-width: min(420px, calc(100% - 24px));
  margin: 12px auto 0;
  border: 1px solid rgba(41, 111, 119, 0.35);
  border-radius: 12px;
  padding: 10px 14px;
  background: rgba(31, 48, 59, 0.96);
  color: #fff;
  box-shadow: 0 8px 22px rgba(31, 48, 59, 0.2);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.new-high-history-badge {
  display: inline-flex;
  border: 1px solid rgba(41, 111, 119, 0.3);
  border-radius: 999px;
  padding: 3px 9px;
  background: #edf8f6;
  color: #296f77;
  font-weight: 800;
  white-space: nowrap;
}

.new-high-history-view {
  min-height: 34px;
  padding: 5px 14px;
}

.trial-guide {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 9px 12px;
  background: #f8fbfc;
}

.trial-guide strong {
  color: #296f77;
  font-size: 16px;
}

.trial-guide p {
  margin: 0;
  color: #607080;
  line-height: 1.6;
  font-size: 14px;
  font-weight: 700;
}

.signal-tip {
  display: block;
  margin: 7px 0 2px;
  border: 1px solid #c8d0d7;
  border-left: 5px solid #7b8792;
  border-radius: 8px;
  padding: 6px 9px;
  background: #f4f6f8;
}

.signal-tip strong {
  color: #9c2f24;
  white-space: nowrap;
}

.signal-tip p {
  margin: 0;
  color: #41505f;
  font-weight: 800;
  line-height: 1.45;
  font-size: 13px;
}

.result-panel {
  margin-top: 24px;
  border-top: 1px solid #dde4ea;
  padding-top: 24px;
}

.upgrade-box {
  margin-top: 14px;
  border: 1px solid #e0b868;
  border-radius: 8px;
  padding: 14px 16px;
  background: #fff8e8;
  color: #5f4212;
}

.upgrade-box strong {
  display: block;
  margin-bottom: 4px;
}

.upgrade-box p {
  margin: 0;
  line-height: 1.6;
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.plan-grid div {
  border: 1px solid rgba(138, 79, 32, 0.22);
  border-radius: 8px;
  padding: 10px;
  background: #fffdf8;
}

.plan-grid span {
  display: block;
  color: #8a4f20;
  font-size: 13px;
  font-weight: 900;
}

.plan-grid strong {
  color: #24313d;
}

.plan-grid p {
  margin-top: 6px;
  font-size: 13px;
}

.result-actions {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.section-title {
  margin: 0;
  color: #17212b;
  font-size: 20px;
  letter-spacing: 0;
}

.section-note {
  margin: 5px 0 0;
  color: #607080;
  line-height: 1.6;
  font-size: 14px;
  font-weight: 700;
}

.table-title-row {
  margin: 20px 0 10px;
}

.sort-hint {
  margin: -4px 0 10px;
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.star-note {
  margin: -4px 0 12px;
  border-left: 4px solid #d6a63f;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff8e8;
  color: #6b4b18;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.55;
}

.list-color-depth-hint {
  margin: -6px 2px 5px;
  color: #7b8791;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: right;
}

.analysis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.stock-query-details {
  overflow: hidden;
  border: 1px solid #d9e1e7;
  border-radius: 10px;
  background: #fff;
}

.stock-query-details > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: #243745;
  cursor: pointer;
  list-style: none;
}

.stock-query-details > summary::-webkit-details-marker {
  display: none;
}

.stock-query-details > summary::after {
  grid-column: 2;
  grid-row: 1 / span 2;
  content: "⌄";
  color: #296f77;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  transition: transform 150ms ease;
}

.stock-query-details[open] > summary::after {
  transform: rotate(180deg);
}

.stock-query-details > summary span {
  grid-column: 1;
  grid-row: 1;
  font-size: 20px;
  font-weight: 900;
  white-space: nowrap;
}

.stock-query-details > summary small {
  grid-column: 1;
  grid-row: 2;
  margin-left: 0;
  color: #718090;
  font-size: 12px;
  font-weight: 700;
}

.stock-query-details[open] > summary {
  border-bottom: 1px solid #e4eaee;
}

.stock-query-details-content {
  padding: 12px;
}

#stockResultPanel.is-single-stock-analysis > .result-actions,
#stockResultPanel.is-single-stock-analysis > .stock-query-details-content {
  display: none;
}

.analysis-card-host.is-shared-stock-detail-fullscreen:not(#listAnalysisPanel) {
  position: fixed;
  inset: 0;
  /* Shared stock details must sit above the retained home/intraday list modal
     (3200), while action dialogs remain above the detail shell (3300+). */
  z-index: 3210;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 100dvh;
  margin: 0;
  padding: max(12px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));
  overflow: auto;
  overscroll-behavior: contain;
  background: #f5f7f9;
}

.analysis-card-host.is-shared-stock-detail-fullscreen:not(#listAnalysisPanel) > .result-actions {
  display: none;
}

.analysis-card-host.is-shared-stock-detail-fullscreen:not(#listAnalysisPanel) > #analysisCards {
  width: 100%;
  min-height: 100%;
  margin: 0 auto;
}

body.shared-stock-detail-open,
body.cover-search-analysis-open,
body.watchlist-detail-open {
  overflow: hidden;
}

.stock-query-direct-table {
  border: 1px solid #d9e1e7;
  border-radius: 10px;
  background: #fff;
}

.analysis-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(30, 48, 66, 0.08);
}

.analysis-card.waiting-trend {
  border-top: 5px solid #d7a63f;
}

.analysis-card.trend-confirmed {
  border-top: 5px solid #296f77;
  background: #f8fcfb;
}

.analysis-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.analysis-head h3 {
  margin: 2px 0 0;
  color: #17212b;
  font-size: 24px;
  letter-spacing: 0;
}

.stock-code {
  color: #296f77;
  font-size: 13px;
  font-weight: 900;
}

.rating-pill {
  border: 1px solid #cdd9ef;
  border-radius: 999px;
  padding: 5px 10px;
  background: #f6f9ff;
  color: #296f77;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.star-signal {
  display: grid;
  gap: 2px;
  border-color: #e0b868;
  background: #fff8e8;
  color: #8a4f20;
  text-align: right;
}

.star-signal span {
  color: #8a4f20;
  font-size: 11px;
}

.star-signal strong {
  color: #c28a1d;
  font-size: 18px;
  letter-spacing: 1px;
  line-height: 1;
}

/* Keep the star block stable: more stars use a smaller glyph and tighter spacing. */
.star-signal.stars-1 strong { font-size: 28px; letter-spacing: 0; }
.star-signal.stars-2 strong { font-size: 24px; letter-spacing: 0; }
.star-signal.stars-3 strong { font-size: 21px; letter-spacing: -0.5px; }
.star-signal.stars-4 strong { font-size: 18px; letter-spacing: -1px; }
.star-signal.stars-0 strong { font-size: 20px; letter-spacing: 0; }

.analysis-head > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 9px;
}

.analysis-head > div .stock-code {
  flex-basis: 100%;
}

.analysis-identity {
  width: 100%;
}

.analysis-title-row {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.analysis-header-industry {
  display: none;
}

.analysis-trend-summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.analysis-trend-summary > small {
  display: none;
}

.analysis-trend-primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  border: 2px solid currentColor;
  border-radius: 9px;
  padding: 4px 6px 4px 9px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
  box-shadow: 0 4px 10px rgba(23, 33, 43, 0.14);
}

.analysis-trend-primary > strong {
  border-radius: 7px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.9);
  color: inherit;
}

.analysis-trend-primary.is-strong { background: #16833f; color: #086a32; }
.analysis-trend-primary.is-pullback { background: #e6b925; color: #765300; }
.analysis-trend-primary.is-rebound { background: #e98a24; color: #854000; }
.analysis-trend-primary.is-weak { background: #c6493e; color: #90271f; }

.analysis-trend-primary .analysis-trend-direction,
.analysis-trend-primary .analysis-trend-basis {
  color: #fff;
}

.stock-trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  border: 2px solid currentColor;
  border-radius: 8px;
  padding: 3px 9px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
  box-shadow: 0 3px 9px rgba(23, 33, 43, 0.12);
}

.stock-trend-badge.is-strong { background: #e4f7ed; color: #087443; }
.stock-trend-badge.is-pullback { background: #fff6cf; color: #8a6500; }
.stock-trend-badge.is-rebound { background: #fff1c4; color: #9b5900; }
.stock-trend-badge.is-weak { background: #fde8e6; color: #a52b25; }

@media (orientation: portrait) and (max-width: 600px) {
  .analysis-card {
    padding: 10px;
  }

  .analysis-head {
    margin-bottom: 6px;
  }

  .analysis-head > .analysis-identity {
    display: block;
  }

  .analysis-title-row .stock-code {
    flex-basis: auto;
    color: #176e72;
    font-size: clamp(18px, 5.2vw, 21px);
    line-height: 1.05;
  }

  .analysis-title-row {
    display: grid;
    grid-template-columns: auto minmax(58px, auto) minmax(150px, 1fr);
    align-items: center;
    gap: 6px;
    padding-right: 42px;
  }

  .analysis-head .analysis-title-row h3 {
    min-width: 0;
    margin: 0;
    font-size: clamp(24px, 7.2vw, 29px);
    line-height: 1.05;
    white-space: nowrap;
  }

  .analysis-trend-summary {
    display: grid;
    min-width: 0;
    justify-items: end;
    gap: 2px;
  }

  .analysis-trend-primary {
    width: 100%;
    min-height: 36px;
    justify-content: space-between;
    gap: 4px;
    padding: 3px 4px 3px 7px;
    font-size: clamp(13px, 3.7vw, 15px);
  }

  .analysis-trend-primary > strong {
    padding: 5px 7px;
    font-size: clamp(16px, 4.7vw, 18px);
  }

  .analysis-trend-direction {
    font-size: 20px;
  }

  .analysis-trend-basis {
    letter-spacing: -0.03em;
  }

  .analysis-trend-summary > small {
    display: block;
    color: #65727d;
    font-size: clamp(11px, 3.2vw, 13px);
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
  }
}

@media (orientation: portrait) and (max-width: 420px) {
  .analysis-title-row {
    grid-template-columns: auto minmax(54px, auto) minmax(0, 1fr);
    gap: 5px;
    padding-right: 38px;
  }

  .analysis-trend-primary {
    min-width: 0;
    gap: 3px;
    padding-left: 5px;
    font-size: 12px;
  }

  .analysis-trend-primary .analysis-trend-direction {
    display: none;
  }

  .analysis-trend-primary > strong {
    flex: 0 0 auto;
    padding-inline: 5px;
    font-size: 16px;
  }
}

.intraday-list-stock .stock-trend-badge {
  min-height: 24px;
  padding: 2px 6px;
  font-size: 11px;
  box-shadow: none;
}

/* The full intraday list already communicates direction; give that space to the name. */
#intradayHighListModal .intraday-list-stock .intraday-stock-name {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

@media (orientation: portrait) and (max-width: 600px) {
  .intraday-list-stock .stock-trend-badge strong {
    display: none;
  }

  .intraday-list-stock .stock-trend-badge {
    min-width: 25px;
    justify-content: center;
    padding-inline: 3px;
  }
}

.star-signal small {
  color: #79501d;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.3;
  white-space: normal;
}

.analysis-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-bottom: 14px;
}

.parameter-hero {
  display: grid;
  grid-template-columns: minmax(100px, auto) minmax(130px, 1fr);
  gap: 10px;
  align-items: stretch;
  border: 1px solid #e8ece3;
  border-radius: 8px;
  padding: 12px;
  background: #fcfdf8;
}

.parameter-hero.with-price {
  grid-template-columns: minmax(100px, 0.8fr) minmax(130px, 1.2fr);
  column-gap: 10px;
}

.hero-stat {
  display: grid;
  gap: 6px;
  align-content: center;
  min-width: 0;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.price-stat {
  align-content: start;
}

.price-stat-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.price-stat .star-signal {
  min-width: 0;
  padding: 4px 8px;
  justify-self: end;
}

.price-stat .star-signal span {
  font-size: 10px;
}

.price-stat .star-signal strong {
  font-size: clamp(20px, 4vw, 28px);
  letter-spacing: 0;
}

.hero-stat.parameter-focus {
  background: #fff3c4;
}

.parameter-hero span,
.signal-grid span {
  color: #607080;
  font-size: 13px;
  font-weight: 800;
}

.parameter-hero strong,
.hero-stat strong {
  color: #9c2f24;
  font-size: clamp(26px, 4vw, 34px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.parameter-hero em,
.hero-stat em {
  color: #9c2f24;
  font-style: normal;
  font-weight: 900;
}

.advantage-position {
  display: grid;
  gap: 3px;
  width: 100%;
  margin-top: 4px;
}

.advantage-position-track {
  position: relative;
  height: 5px;
  margin: 5px 6px 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #c9d2d8 0%, #e0b95f 55%, #a64235 100%);
}

.advantage-position-dot {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #8f2d24;
  box-shadow: 0 1px 4px rgba(53, 35, 22, 0.32);
  transform: translate(-50%, -50%);
}

.advantage-position-marker {
  position: absolute;
  z-index: 2;
  top: -7px;
  width: 0;
  height: 0;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 7px solid #7c211a;
  filter: drop-shadow(0 1px 1px rgba(53, 35, 22, 0.28));
  transform: translateX(-50%);
}

.advantage-position-track.seat-mode {
  height: 5px;
  background: linear-gradient(90deg, #c9d2d8 0%, #e0b95f 55%, #a64235 100%);
}

.advantage-seat-band {
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.12);
}

.advantage-seat-band:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.9);
}

.advantage-seat-band.is-active {
  background: #7c211a;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.advantage-position-labels {
  display: flex;
  justify-content: space-between;
  color: #786b55;
  font-size: 10px;
  font-weight: 900;
}

.advantage-position small {
  color: #66583f;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 0;
}

.signal-grid div {
  border: 1px solid #e2e8ed;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.signal-grid strong {
  display: block;
  margin-top: 6px;
  color: #24313d;
  font-size: 16px;
  overflow-wrap: anywhere;
}

.industry-analysis-value {
  line-height: 1.35;
}

.industry-analysis-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 999px;
  padding: 5px 12px;
  background: #eef8f7;
  color: #296f77;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
}

.industry-analysis-link::after {
  content: "查看";
  margin-left: 6px;
  border-radius: 999px;
  padding: 2px 6px;
  background: rgba(41, 111, 119, 0.12);
  color: #1f5d65;
  font-size: 11px;
  font-weight: 900;
}

.industry-analysis-link:hover,
.industry-analysis-link:focus-visible {
  border-color: rgba(156, 47, 36, 0.36);
  background: #fff4ec;
  color: #9c2f24;
}

.analysis-text-block {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  border-top: 1px solid #e8ece3;
  padding-top: 10px;
}

.analysis-net-value-card .analysis-valuation-open {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.analysis-net-value-card .analysis-valuation-split-head {
  display: none;
}

.analysis-net-value-card .analysis-valuation-open:hover span,
.analysis-net-value-card .analysis-valuation-open:focus-visible span {
  color: #1d756e;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.analysis-net-value-card .analysis-valuation-open:focus-visible {
  border-radius: 5px;
  outline: 2px solid #75aaa6;
  outline-offset: 3px;
}

.analysis-net-value-card .analysis-valuation-open:disabled {
  cursor: default;
}

.touch-table-hint {
  display: none;
  margin: -3px 0 9px;
  border-radius: 8px;
  padding: 7px 9px;
  background: #eef8f7;
  color: #296f77;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
}

.list-landscape-hint {
  font-size: 17px;
  line-height: 1.35;
  text-align: center;
}

.intraday-landscape-hint {
  display: none;
}

.list-fullscreen-return-hint {
  display: none;
}

.list-fullscreen-return-hint strong,
.list-fullscreen-return-hint span {
  display: block;
}

.list-fullscreen-return-hint strong {
  font-size: 15px;
  line-height: 1.15;
}

.list-fullscreen-return-hint span {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.15;
  opacity: 0.9;
}

.list-fullscreen-return-hint[data-tone="bullish"] {
  background: rgba(125, 59, 31, 0.92) !important;
  border-color: rgba(255, 217, 148, 0.72) !important;
}

.list-fullscreen-return-hint[data-tone="bearish"] {
  background: rgba(25, 92, 72, 0.94) !important;
  border-color: rgba(165, 232, 204, 0.68) !important;
}

@media (max-width: 920px), (min-width: 921px) and (max-width: 1366px) and (pointer: coarse) {
  .touch-table-hint {
    display: block;
  }
}

/* The list hint belongs to the phone-portrait table view only. */
@media (orientation: landscape) {
  #listSection > .list-landscape-hint {
    display: none !important;
  }
}

@media (min-width: 601px) {
  #listSection > .list-landscape-hint {
    display: none !important;
  }
}

#listSection:has(#listAnalysisPanel:not(.hidden) .analysis-card) > .list-landscape-hint {
  display: none !important;
}

/* 創高後回檔沿用既有總表，只收斂這個入口的標題、篩選列與手機首屏欄寬。 */
.pullback-mobile-info {
  display: none;
}

#listSection.is-pullback-list #listLabel {
  display: none;
}

#listSection.is-pullback-list #pullbackVolumeTabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 10px;
}

#listSection.is-pullback-list #pullbackVolumeTabs.hidden {
  display: none;
}

#listSection.is-pullback-list #pullbackVolumeTabs .tab-button {
  width: 100%;
  height: 100%;
}

#listSection.is-pullback-list > .list-landscape-hint {
  opacity: 1;
  transition: opacity 240ms ease;
}

#listSection.is-pullback-list > .list-landscape-hint.is-fading {
  opacity: 0;
}

@media (max-width: 600px) and (orientation: portrait) {
  body :is(
    #listTableWrap,
    #watchlistTableWrap,
    #stockQueryTableWrap,
    .industry-table-wrap,
    [data-financial-ranking-table],
    [data-financial-compare-table],
    .new-high-history-table-wrap,
    .paid-rating-history-table
  ) {
    overscroll-behavior-x: none;
    touch-action: pan-x pan-y;
  }

  #listSection.is-pullback-list .list-heading,
  #listSection.is-pullback-list .list-heading > div {
    width: 100%;
  }

  #listSection.is-pullback-list .list-heading {
    margin-bottom: 6px;
  }

  .mobile-current-list {
    box-sizing: border-box;
    width: 100%;
    white-space: nowrap;
  }

  #listSection.is-pullback-list .list-title-line,
  #listSection.is-pullback-list .list-meta-line,
  #listSection.is-pullback-list #pullbackLookbackNote,
  #listSection.is-pullback-list > .sort-hint,
  #listSection.is-pullback-list > .star-note,
  #listSection.is-pullback-list > .list-color-depth-hint {
    display: none !important;
  }

  #listSection.is-pullback-list:not(.is-mobile-app-v1-sample) #pullbackVolumeTabs {
    gap: 6px;
    margin-top: 6px;
  }

  #listSection.is-pullback-list:not(.is-mobile-app-v1-sample) #pullbackVolumeTabs .tab-button {
    min-height: 38px;
    padding: 6px 8px;
    font-size: 14px;
  }

  #listSection.is-pullback-list.is-mobile-app-v1-sample #pullbackVolumeTabs {
    display: grid;
    gap: 6px;
    margin-top: 6px;
  }

  #listSection.is-pullback-list.is-mobile-app-v1-sample #pullbackVolumeTabs .tab-button {
    min-height: 38px;
    padding: 6px 8px;
    font-size: 14px;
  }

  #listSection.is-pullback-list:not(.is-mobile-app-v1-sample) > .pullback-mobile-info {
    display: block;
    margin: 6px 0;
    border: 1px solid #d7e1e6;
    border-radius: 9px;
    background: #f8fbfc;
  }

  #listSection.is-pullback-list > .pullback-mobile-info > summary {
    padding: 7px 10px;
    color: #296f77;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
  }

  #listSection.is-pullback-list > .pullback-mobile-info > div {
    display: grid;
    gap: 6px;
    border-top: 1px solid #d7e1e6;
    padding: 8px 10px;
  }

  #listSection.is-pullback-list > .pullback-mobile-info p {
    margin: 0;
    color: #617080;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
  }

  #listSection.is-pullback-list .compact-high-list table {
    min-width: 760px;
  }

  #listSection.is-pullback-list .compact-high-list th:nth-child(1),
  #listSection.is-pullback-list .compact-high-list td:nth-child(1) {
    width: 126px;
  }

  #listSection.is-pullback-list .compact-high-list th:nth-child(2),
  #listSection.is-pullback-list .compact-high-list td:nth-child(2) {
    width: 78px;
  }

  #listSection.is-pullback-list .compact-high-list th:nth-child(3),
  #listSection.is-pullback-list .compact-high-list td:nth-child(3) {
    width: 72px;
  }

  #listSection.is-pullback-list .compact-high-list th:nth-child(4),
  #listSection.is-pullback-list .compact-high-list td:nth-child(4) {
    width: 88px;
  }
}

.analysis-accordions {
  display: grid;
  gap: 7px;
}

.analysis-accordions details {
  overflow: hidden;
  border: 1px solid #dce4e9;
  border-radius: 8px;
  background: #fff;
}

.analysis-accordions summary {
  position: relative;
  padding: 11px 38px 11px 12px;
  color: #41505f;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.analysis-accordions summary::-webkit-details-marker {
  display: none;
}

.analysis-accordions summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 13px;
  color: #296f77;
  font-size: 20px;
  transform: translateY(-50%);
}

.analysis-accordions details[open] summary::after {
  content: "−";
}

.accordion-content {
  border-top: 1px solid #e6ecef;
  padding: 11px 12px;
  color: #52616f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
}

.accordion-content p {
  margin: 0;
}

.analysis-actions {
  display: flex;
  justify-content: flex-end;
}

.primary-watch-action {
  justify-content: stretch;
  margin: 4px 0 14px;
}

.watch-add-button {
  width: 100%;
  min-height: 58px;
  border: 1px solid #9c2f24;
  border-radius: 10px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #b23a48, #8f1f2b);
  color: #fff;
  box-shadow: 0 10px 22px rgba(156, 47, 36, 0.18);
  cursor: pointer;
  display: grid;
  gap: 2px;
  align-items: center;
  text-align: center;
}

.watch-add-button span {
  font-size: 17px;
  font-weight: 900;
}

.watch-add-button small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 700;
}

.watch-add-button:hover,
.watch-add-button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(156, 47, 36, 0.24);
}

.external-analysis-action {
  display: grid;
  gap: 7px;
  margin: 4px 0 16px;
  text-align: center;
}

.external-analysis-link {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  border: 1px solid #355f52;
  border-radius: 10px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #2f7d61, #185f48);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.external-analysis-link:hover,
.external-analysis-link:focus-visible {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #358b6c, #1b6b51);
  box-shadow: 0 12px 24px rgba(36, 75, 63, 0.22);
}

.external-analysis-action small {
  color: #718079;
  font-size: 12px;
  font-weight: 700;
}

.external-analysis-unavailable {
  min-height: 46px;
  place-items: center;
  border: 1px dashed #b9c1bd;
  border-radius: 10px;
  padding: 9px 16px;
  background: #f4f5f4;
  color: #707873;
  font-size: 13px;
  font-weight: 800;
}

.seat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  border: 1px solid #d5a43a;
  border-radius: 999px;
  padding: 2px 8px;
  background: #fff4ce;
  color: #7a4f00;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.signal-grid .seat-badge {
  margin-left: 0;
}

.seat-badge-only {
  margin-left: 0;
}

.signal-grid .trend-ok {
  color: #296f77;
}

.signal-grid .trend-wait {
  color: #8a4f20;
}

.analysis-summary,
.analysis-note {
  line-height: 1.7;
}

.analysis-summary {
  margin: 14px 0 0;
  color: #24313d;
  font-weight: 800;
}

.analysis-note {
  margin: 10px 0 0;
  color: #607080;
  font-size: 14px;
}

.analysis-guide {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  border: 1px solid #e2e8ed;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbfc;
}

.analysis-guide p {
  margin: 0;
  color: #41505f;
  font-weight: 800;
  line-height: 1.7;
}

.analysis-guide strong {
  color: #9c2f24;
}

.star-rating-detail {
  display: grid;
  gap: 5px;
  border-top: 1px dashed #d7dde3;
  padding-top: 9px;
}

.analysis-guide .star-rating-reminder {
  margin-top: 4px;
  border-left: 3px solid #d6a63f;
  padding: 7px 9px;
  background: #fff8e8;
  color: #6b4b18;
  font-size: 13px;
}

.first-high-detail {
  display: grid;
  gap: 5px;
  border-top: 1px dashed #d7dde3;
  padding-top: 8px;
}

.first-high-detail span {
  color: #9c2f24;
  font-weight: 900;
}

.first-high-detail small {
  color: #607080;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}

.row-clear {
  min-height: 34px;
  padding: 6px 12px;
  background: #f1e7e3;
  color: #7c2f1d;
}

.stock-link-button {
  display: inline;
  min-height: auto;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: #296f77;
  font-weight: 900;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.stock-link-button:hover {
  color: #9c2f24;
}

.identity {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 18px;
}

#resultCode {
  color: #296f77;
  font-size: 28px;
  font-weight: 900;
}

#resultName {
  font-size: 22px;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.metric {
  border: 1px solid #dde4ea;
  border-radius: 8px;
  padding: 14px;
  min-height: 86px;
  background: #fbfcfd;
}

.metric span {
  display: block;
  color: #607080;
  font-size: 13px;
  font-weight: 700;
}

.metric strong {
  display: block;
  margin-top: 8px;
  font-size: 22px;
  overflow-wrap: anywhere;
}

.list-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  margin-bottom: 10px;
}

#listSection.is-valuation-ranking .valuation-ranking-tabs {
  margin-top: 10px;
}

#listSection.is-valuation-ranking .valuation-ranking-tabs .tab-button {
  min-width: 112px;
}

#listSection.is-valuation-ranking .valuation-ranking-dates,
#listSection.is-valuation-ranking .valuation-ranking-note {
  margin: 8px 0 0;
}

#listSection.is-valuation-ranking #listTableWrap table {
  min-width: 980px;
  table-layout: fixed;
}

#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="stock"] { width: 16%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="close"] { width: 9%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="pb"] { width: 10%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="valuation"] { width: 12%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="constitution"] { width: 10%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="tdcc-holders"] { width: 13%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="tdcc-ratio"] { width: 13%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="advantage"] { width: 9%; }
#listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="stars"] { width: 8%; }

#listSection.is-valuation-ranking #listTableWrap .valuation-ranking-primary {
  display: block;
  font-weight: 800;
}

#listSection.is-valuation-ranking #listTableWrap .valuation-ranking-secondary {
  display: none;
}

@media (min-width: 601px) {
  #listSection.is-valuation-ranking #listTableWrap :is(th, td)[data-list-column="change"] {
    display: none;
  }
}

@media (min-width: 601px) and (max-width: 920px) {
  #listSection.is-valuation-ranking #listTableWrap table {
    width: 100%;
    min-width: 0;
  }

  #listSection.is-valuation-ranking #listTableWrap :is(th, td) {
    padding: 7px 4px;
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
  }

  #listSection.is-valuation-ranking #listTableWrap th .table-sort-button {
    width: 100%;
    min-height: 34px;
    padding: 4px 2px;
    font-size: 12px;
    line-height: 1.2;
  }

  #listSection.is-valuation-ranking #listTableWrap :is(th, td).sticky-stock-column {
    min-width: 0;
    max-width: none;
  }
}

.analysis-primary-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin: 8px 0 10px;
}

.analysis-primary-actions .primary-watch-action,
.analysis-primary-actions .external-analysis-action {
  margin: 0;
}

.analysis-primary-actions .watch-add-button {
  min-height: 52px;
  margin: 0;
}

.analysis-primary-actions .external-analysis-link {
  min-height: 52px;
  padding: 9px 12px;
  font-size: 16px;
}

.analysis-primary-actions .external-analysis-action > small {
  display: none;
}

.analysis-more-actions-toggle {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 2px solid #8ba4ad;
  border-radius: 10px;
  background: #f3f8f9;
  color: #263f4b;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.analysis-more-actions-toggle:hover,
.analysis-more-actions-toggle:focus-visible,
.analysis-more-actions-toggle[aria-expanded="true"] {
  border-color: #326b78;
  background: #e6f1f3;
  color: #164f5c;
}

.analysis-more-actions-toggle b {
  font-size: 18px;
  line-height: 1;
  transition: transform .18s ease;
}

.analysis-more-actions-toggle[aria-expanded="true"] b { transform: rotate(180deg); }

.analysis-more-actions-menu {
  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-more-actions-menu.hidden { display: none; }

.analysis-more-actions-menu > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 66px;
  border: 1px solid #9eb6bf;
  border-radius: 10px;
  padding: 9px 11px;
  background: #fff;
  color: #263b48;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(30, 61, 75, .08);
}

.analysis-more-actions-menu > button:hover,
.analysis-more-actions-menu > button:focus-visible {
  border-color: #397989;
  background: #eef7f8;
  transform: translateY(-1px);
}

.analysis-more-actions-menu i {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  background: #e7f1f4;
  color: #216676;
  font-size: 19px;
  font-style: normal;
  font-weight: 900;
}

.analysis-more-actions-menu span,
.analysis-more-actions-menu strong,
.analysis-more-actions-menu small { display: block; }
.analysis-more-actions-menu strong { font-size: 15px; line-height: 1.3; }
.analysis-more-actions-menu small { margin-top: 3px; color: #607783; font-size: 12px; line-height: 1.35; font-weight: 700; }

.list-meta-line {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.line-login-benefit {
  width: 100%;
  margin: -3px 0 0;
  color: #607080;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.hero-entry-card > .line-login-benefit {
  margin-top: -10px;
  text-align: center;
}

.list-meta-line .date-text,
.list-meta-line .status-text {
  margin: 6px 0 0;
}

.list-meta-line .status-text::before {
  content: "｜";
  margin-right: 12px;
  color: #c9d2da;
}

.list-history-date-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: #60717d;
  font-size: 13px;
  font-weight: 800;
}

.list-history-date-wrap input {
  min-height: 32px;
  width: 142px;
  border: 1px solid #d8a636;
  border-radius: 9px;
  padding: 3px 7px;
  background: #fff8df;
  color: #61420e;
  font: inherit;
}

.list-title-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.badge-info-button {
  min-height: 28px;
  min-width: 28px;
  border-radius: 999px;
  padding: 0;
  border: 1px solid #d6a63f;
  background: #fff8e8;
  color: #8c5a11;
  font-size: 16px;
  font-weight: 900;
}

.badge-info-text {
  margin: -4px 0 10px;
  padding: 10px 12px;
  border: 1px solid #ead8aa;
  border-radius: 10px;
  background: #fffaf0;
  color: #6b4b18;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

.list-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.list-card {
  border: 1px solid #d9e1e7;
  border-left: 5px solid #c7d2dc;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.list-card.strong-signal {
  border-left-color: #9c2f24;
  background: #fffafa;
}

.list-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.list-card-head h3 {
  margin: 0;
  color: #17212b;
  font-size: 19px;
  letter-spacing: 0;
}

.list-card-head .stock-link-button {
  font-size: 19px;
}

.list-card-head span {
  border-radius: 999px;
  padding: 4px 9px;
  background: #e7edf1;
  color: #24313d;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.list-parameter {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0;
  padding: 10px 0;
  border-top: 1px solid #edf1f4;
  border-bottom: 1px solid #edf1f4;
}

.list-parameter.with-price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 22px;
}

.list-parameter.with-price div {
  display: grid;
  gap: 6px;
}

.list-parameter span,
.list-metrics span {
  color: #607080;
  font-size: 12px;
  font-weight: 800;
}

.list-parameter strong,
.list-parameter.with-price strong {
  color: #9c2f24;
  font-size: 28px;
  line-height: 1;
}

.list-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.list-metrics div {
  min-height: 58px;
  border-radius: 8px;
  padding: 9px;
  background: #f8fbfc;
}

.list-metrics strong {
  display: block;
  margin-top: 5px;
  color: #24313d;
  font-size: 15px;
  overflow-wrap: anywhere;
}

h2 {
  margin: 0;
  font-size: 26px;
  letter-spacing: 0;
}

.table-wrap {
  border: 1px solid #dde4ea;
  border-radius: 8px;
}

#listTableWrap {
  max-height: none;
  overflow: visible;
  overscroll-behavior-x: none;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Second-page desktop rankings share the natural-height data-page contract
   with the home complete lists. Touch layouts restore their scrollers in the
   existing responsive sections below. */
@media (min-width: 1100px) {
  #listSection > #listTableWrap:not(.is-table-focus) {
    height: auto;
    max-height: none;
    border: 0;
    border-radius: 0;
    overflow-x: visible;
    overflow-y: visible;
  }
}

#listTableWrap thead th {
  position: sticky;
  top: 0;
  z-index: 7;
  background: #f4f7f9;
}

#listTableWrap thead th.sticky-stock-column {
  z-index: 9;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
  background: #fff;
}

.compact-table table {
  min-width: 760px;
}

th,
td {
  border-bottom: 1px solid #e7edf1;
  padding: 10px 12px;
  text-align: left;
  white-space: nowrap;
}

th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #f4f7f9;
  color: #41505f;
  font-size: 13px;
  box-shadow: 0 1px 0 #d7dde3;
}

.sticky-stock-column {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 150px;
  max-width: 180px;
  background: #fff;
  box-shadow: 8px 0 14px rgba(23, 33, 43, 0.08);
  white-space: normal;
}

th.sticky-stock-column {
  z-index: 6;
  background: #f4f7f9;
}

@media (min-width: 921px) {
  #financialRankingPanel [data-financial-ranking-table] {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    outline: 0;
  }

  #watchlistTableWrap {
    overflow: visible;
  }

  .ranking-table-wrap thead th,
  .industry-table-wrap thead th,
  #watchlistTableWrap thead th {
    position: sticky;
    top: 0;
    z-index: 7;
  }

  .ranking-table-wrap thead th.sticky-stock-column,
  .industry-table-wrap thead th.sticky-stock-column,
  #watchlistTableWrap thead th.sticky-stock-column {
    z-index: 9;
  }
}

@media (min-width: 921px) and (pointer: fine) {
  .ranking-table-wrap.is-table-focus,
  .industry-table-wrap.is-table-focus,
  #stockQueryTableWrap.is-table-focus,
  #watchlistTableWrap.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: 100vh;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: auto;
    background: #fff;
    box-shadow: none;
    overscroll-behavior-x: none;
    overscroll-behavior-y: contain;
  }

  .ranking-table-wrap.is-table-focus table,
  .industry-table-wrap.is-table-focus table,
  #stockQueryTableWrap.is-table-focus table,
  #watchlistTableWrap.is-table-focus table {
    margin: 0;
  }

  #listTableWrap.is-table-focus.compact-high-list:not(.compact-volume-list) th:last-child,
  #listTableWrap.is-table-focus.compact-high-list:not(.compact-volume-list) td:last-child {
    width: 92px;
  }

  #listSection.is-pullback-list #listTableWrap.is-table-focus table {
    width: max-content;
    margin-right: auto;
    margin-left: auto;
  }
}

/* 盤中快訊手機直屏：創高、創低、整理後轉強共用同一個兩列 shell。 */
@media (max-width: 540px) and (orientation: portrait) {
  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis) {
    gap: 8px;
  }

  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    > .intraday-list-heading {
    min-height: 40px;
    align-items: center;
  }

  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    .intraday-list-heading .eyebrow,
  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    .intraday-list-heading .section-note,
  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    > .intraday-list-note {
    display: none !important;
  }

  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    .intraday-list-heading h2 {
    margin: 0;
    font-size: 20px;
    line-height: 40px;
  }

  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    > .intraday-close-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: 44px;
    margin: 0;
  }

  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
    > .intraday-close-tabs button {
    min-height: 38px !important;
    padding: 7px 3px !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.hidden) > .intraday-mobile-list-back {
    display: none !important;
  }

  #intradayHighListModal .intraday-wave-group.is-requested-wave {
    border-color: #2f8b7f;
    box-shadow: 0 0 0 2px rgba(47, 139, 127, 0.14);
  }
}

.table-star-signal {
  color: #c28a1d;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 1px;
}

.compact-high-list table {
  min-width: 960px;
  table-layout: fixed;
}

#listSection.is-all-market-table #listTableWrap table {
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
}

#listSection.is-all-market-table #listTableWrap {
  overflow-x: auto;
  overscroll-behavior-x: none;
  touch-action: pan-x pan-y;
}

#listSection.is-all-market-table #listTableWrap th .table-sort-button {
  display: inline-flex;
  box-sizing: border-box;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  font-size: 14px;
  line-height: 1.1;
}

#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(1) { width: 124px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(2) { width: 82px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(3) { width: 72px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(4) { width: 88px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(5) { width: 82px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(6) { width: 100px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(7) { width: 100px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(8) { width: 108px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(9) { width: 84px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(10) { width: 92px; }
#listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(11) { width: 76px; }

/* 全市場總表一般桌機：股票欄收斂，三個未配估值欄保留較完整閱讀寬度。 */
@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {
  body.all-market-list-active .app-shell {
    width: min(1400px, calc(100% - 32px));
  }

  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) {
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
  }

  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) table {
    width: 100%;
    min-width: 1200px;
    max-width: 1400px;
    margin-inline: auto;
  }

  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(1) { width: 9%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(2) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(3) { width: 7%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(4) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(5) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(6) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(7) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(8) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(9) { width: 10%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(10) { width: 7%; }
  #listSection.is-all-market-table #listTableWrap:not(.is-table-focus) :is(th, td):nth-child(11) { width: 10%; }
}

#listSection.is-all-market-table #listTableWrap .all-market-parameter-rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}

#listSection.is-all-market-table #listTableWrap .all-market-parameter-rating .seat-badge {
  padding-inline: 5px;
}

.all-market-portrait-label { display: none; }
.all-market-phone-landscape-label { display: none; }
.all-market-portrait-change-sort-button { display: none !important; }
.list-phone-landscape-header-label { display: none; }
.list-pagination-desktop { display: none; }

/* 平板直、橫屏沿用桌機欄位比例，整張總表維持單頁寬度。 */
@media (min-width: 600px) and (max-width: 1366px) and (min-height: 600px)
       and (pointer: coarse) {
  #listSection.is-all-market-table #listTableWrap {
    overflow-x: hidden;
  }

  #listSection.is-all-market-table #listTableWrap table {
    width: 100%;
    min-width: 0;
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td) {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    padding-inline: clamp(4px, 0.6vw, 8px);
    font-size: clamp(13px, 1.55vw, 16px);
  }

  #listSection.is-all-market-table #listTableWrap th {
    font-size: clamp(12px, 1.4vw, 15px);
  }

  #listSection.is-all-market-table #listTableWrap th .table-sort-button {
    width: 100%;
    min-height: 46px;
    padding: 8px clamp(4px, 0.55vw, 8px);
    font-size: clamp(13px, 1.35vw, 15px);
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(1) {
    width: 9% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(2) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(3) { width: 7%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(4) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(5) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(6) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(7) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(8) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(9) { width: 10%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(10) { width: 7%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(11) { width: 10%; }
}

@media (orientation: landscape) and (max-width: 932px) and (max-height: 600px) {
  #listSection.is-all-market-table #listTableWrap {
    overflow-x: hidden;
  }

  #listSection.is-all-market-table #listTableWrap table {
    width: 100%;
    min-width: 0;
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td) {
    box-sizing: border-box;
    height: auto;
    padding: 4px;
    min-width: 0;
    max-width: none;
    font-size: 16px;
    line-height: 1.15;
  }

  #listSection.is-all-market-table #listTableWrap th {
    font-size: 14px;
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(1) {
    width: 11% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(2) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(3) { width: 7%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(4) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(5) { width: 8%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(6) { width: 10%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(7) { width: 10%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(8) { width: 10%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(9) { width: 11%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(10) { width: 9%; }
  #listSection.is-all-market-table #listTableWrap :is(th, td):nth-child(11) { width: 8%; }

  #listSection.is-all-market-table #listTableWrap th .table-sort-button {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 7px 3px;
    font-size: 15px;
    line-height: 1.1;
  }

  #listSection.is-all-market-table #listTableWrap .compact-stock-name {
    font-size: 16px;
    line-height: 1.05;
  }

  #listSection.is-all-market-table #listTableWrap .list-standard-header-label {
    display: none;
  }

  #listSection.is-all-market-table #listTableWrap .list-phone-landscape-header-label {
    display: inline;
  }

  #listSection.is-all-market-table :is(.all-market-wide-label, .all-market-standard-label) { display: none; }
  #listSection.is-all-market-table .all-market-phone-landscape-label { display: inline; }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-pagination {
    gap: 3px;
    padding: 3px 5px;
  }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-pagination button {
    min-height: 27px;
    padding: 3px 7px;
    font-size: 12px;
  }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-pagination strong {
    font-size: 12px;
  }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-fullscreen-return-hint {
    max-width: 190px;
    padding: 7px 10px;
  }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-fullscreen-return-hint strong {
    font-size: 13px;
  }

  #listSection.is-all-market-table #listTableWrap.is-table-focus .list-fullscreen-return-hint span {
    font-size: 11px;
  }
}

@media (min-width: 601px) and (min-height: 600px) {
  #listSection:is(.is-all-market-table, .is-stage-list) #listTableWrap > .list-pagination {
    display: none;
  }

  #listSection:is(.is-all-market-table, .is-stage-list) .list-pagination-desktop:not(.hidden) {
    display: flex;
  }

  #listSection:is(.is-all-market-table, .is-stage-list) #listPaginationTop {
    margin-bottom: 8px;
    border: 1px solid #dde4ea;
    border-radius: 8px;
  }

  #listSection:is(.is-all-market-table, .is-stage-list) #listPaginationBottom {
    margin-top: 8px;
    border: 1px solid #dde4ea;
    border-radius: 8px;
  }

  #listSection:is(.is-all-market-table, .is-stage-list) .list-page-picker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 900;
  }

  #listSection:is(.is-all-market-table, .is-stage-list) .list-page-select {
    min-width: 68px;
    min-height: 34px;
    border: 1px solid #b9c8d0;
    border-radius: 8px;
    padding: 4px 8px;
    background: #fff;
    color: #24313d;
    font: inherit;
  }
}

@media (max-width: 600px) and (orientation: portrait) {
  #listSection.is-valuation-ranking > .list-heading {
    display: flex !important;
    margin-bottom: 8px;
  }

  #listSection.is-valuation-ranking > .list-heading > div {
    width: 100%;
  }

  #listSection.is-valuation-ranking .list-title-line,
  #listSection.is-valuation-ranking .list-meta-line {
    display: none;
  }

  #listSection.is-valuation-ranking .valuation-ranking-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-top: 0;
  }

  #listSection.is-valuation-ranking .valuation-ranking-tabs.hidden {
    display: none;
  }

  #listSection.is-valuation-ranking .valuation-ranking-tabs .tab-button {
    min-width: 0;
  }

  #listSection.is-valuation-ranking .valuation-ranking-dates,
  #listSection.is-valuation-ranking .valuation-ranking-note {
    font-size: 12px;
    line-height: 1.45;
  }

  #listSection:not(.is-mobile-app-v1-sample) #listTableWrap table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  #listSection:not(.is-mobile-app-v1-sample) #listTableWrap :is(th, td)[data-list-column="detail"] {
    display: none;
  }

  #listSection #listTableWrap :is(th, td)[data-list-column="stock"] { width: 32%; }
  #listSection #listTableWrap :is(th, td)[data-list-column="close"] { width: 22%; }
  #listSection #listTableWrap :is(th, td)[data-list-column="change"] { width: 22%; }
  #listSection #listTableWrap :is(th, td)[data-list-column="pb"] { width: 24%; }
  #listSection.is-mobile-app-v1-sample #listTableWrap {
    position: relative;
    max-height: calc(100dvh - 218px);
    overflow-x: auto;
    overflow-y: auto;
    border-color: #d7e1e6;
    background: #fff;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap table {
    width: max-content;
    min-width: 0;
    table-layout: auto;
    background: #fff;
  }

  body:has(.tab-button[data-mode="30日新高"].active)
    #listSection.is-mobile-app-v1-sample.is-new-high-table
    #listTableWrap
    table {
    table-layout: fixed;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td) {
    display: table-cell;
    width: auto;
    min-width: 72px;
    max-width: none;
    padding: 4px;
    border-bottom-color: #e8edef;
    color: #24313d;
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td {
    height: 48px;
    font-weight: 700;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td):first-child,
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td).sticky-stock-column {
    left: 0;
    z-index: 8;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    background: #fff;
    box-shadow: 8px 0 18px rgba(31, 48, 59, 0.1);
    white-space: normal;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td[data-list-column="stock"] {
    touch-action: pan-y;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .mobile-list-follow-swipe-layer {
    position: absolute;
    z-index: 30;
    overflow: hidden;
    background: #fff;
    pointer-events: none;
    contain: strict;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .mobile-empty-list-gesture-zone {
    position: fixed;
    z-index: 29;
    background: transparent;
    touch-action: pan-y;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .mobile-list-tail-gesture-zone {
    position: fixed;
    z-index: 29;
    background: transparent;
    touch-action: pan-y;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .mobile-list-follow-swipe-page {
    position: absolute;
    inset: 0;
    overflow: hidden;
    will-change: transform;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .mobile-list-follow-swipe-page > table {
    position: absolute;
    margin: 0;
    will-change: transform;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="close"] { width: 86px; min-width: 86px; max-width: 86px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="change"] { width: 82px; min-width: 82px; max-width: 82px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="pb"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="constitution"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="advantage"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="stars"] { width: 86px; min-width: 86px; max-width: 86px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="rd"] { width: 76px; min-width: 76px; max-width: 76px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="eps"] { width: 78px; min-width: 78px; max-width: 78px; }
  #listSection.is-mobile-app-v1-sample #listTableWrap :is(th, td)[data-list-column="bond"] { width: 72px; min-width: 72px; max-width: 72px; }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-name {
    flex-flow: row wrap;
    align-items: center;
    gap: 4px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-code-line {
    gap: 0;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-code-line > span:first-child {
    display: none;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-name > span:last-child {
    order: -1;
    color: #296f77;
    font-size: 16px;
    line-height: 1.15;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap .compact-stock-name .new-high-name-badge {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.1;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td.list-close-price.up,
  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td[data-list-column="change"] .price-change.up {
    color: #b84036;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td.list-close-price.down,
  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td[data-list-column="change"] .price-change.down {
    color: #28775c;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td.list-close-price.flat,
  #listSection.is-mobile-app-v1-sample #listTableWrap tbody td[data-list-column="change"] .price-change.flat {
    color: #24313d;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap tbody :is(
    td[data-list-column="pb"],
    td[data-list-column="pullback"],
    td[data-list-column="constitution"],
    td[data-list-column="advantage"],
    td[data-list-column="stars"],
    td[data-list-column="rd"],
    td[data-list-column="eps"],
    td[data-list-column="bond"]
  ) {
    color: #24313d;
    font-weight: 700;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th {
    background: #fff;
    color: #24313d;
    font-size: 18px;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th.sticky-stock-column {
    z-index: 10;
    background: #fff;
  }

  #listSection.is-mobile-app-v1-sample #listTableWrap th .table-sort-button {
    min-height: 38px;
    padding: 5px 4px;
    border-color: #d6a63f;
    background: #fff3c4;
    color: #6f3f00;
    font-size: 18px;
  }

  #listSection.is-all-market-table #listTableWrap th .all-market-new-high-sort-button {
    display: none !important;
  }
  #listSection.is-all-market-table #listTableWrap .all-market-portrait-change-sort-button {
    display: inline-flex !important;
  }
  #listSection.is-all-market-table #listTableWrap th .table-sort-button {
    width: 100%;
    min-height: 50px;
    padding: 8px 6px;
    font-size: 15px;
    line-height: 1.1;
  }
  #listSection.is-all-market-table .all-market-wide-label { display: none; }
  #listSection.is-all-market-table .all-market-portrait-label { display: inline; }
  #listSection.is-all-market-table .list-pagination > span { display: none; }

  #listSection.is-all-market-table > .all-market-fixed-header {
    position: fixed;
    top: var(--all-market-fixed-header-top, 0px);
    left: var(--all-market-fixed-header-left, 0px);
    z-index: 65;
    width: var(--all-market-fixed-header-width, 100vw);
    height: var(--all-market-fixed-header-height, 66px);
    overflow: hidden;
    border-bottom: 1px solid #d7dde3;
    background: #f4f7f9;
    box-shadow: 0 5px 14px rgba(23, 33, 43, 0.14);
  }

  #listSection.is-all-market-table > .all-market-fixed-header table {
    width: var(--all-market-fixed-table-width, max-content);
    min-width: var(--all-market-fixed-table-width, 0);
    max-width: var(--all-market-fixed-table-width, none);
    margin: 0;
    table-layout: fixed;
    border-collapse: collapse;
  }

  #listSection.is-all-market-table > .all-market-fixed-header th {
    position: static;
    box-sizing: border-box;
    height: var(--all-market-fixed-header-height, 66px);
    background: #f4f7f9;
  }

  #listSection.is-all-market-table > .all-market-fixed-header .all-market-fixed-header-track {
    position: absolute;
    top: 0;
    left: var(--all-market-fixed-table-left, 0px);
    transform: translate3d(var(--all-market-fixed-header-scroll-left, 0px), 0, 0);
    will-change: transform;
  }

  #listSection.is-all-market-table > .all-market-fixed-header .all-market-fixed-header-pinned {
    position: absolute;
    top: 0;
    left: var(--all-market-fixed-stock-left, 0px);
    z-index: 2;
    width: var(--all-market-fixed-stock-width, 104px);
    height: 100%;
    overflow: hidden;
    background: #f4f7f9;
    box-shadow: 8px 0 14px rgba(23, 33, 43, 0.08);
  }

  #listSection.is-all-market-table > .all-market-fixed-header .all-market-fixed-header-pinned table {
    width: var(--all-market-fixed-stock-width, 104px);
  }

  #listSection.is-all-market-table.has-all-market-fixed-header #listTableWrap:not(.is-table-focus) thead {
    visibility: hidden;
  }

  #listSection.is-all-market-table > .all-market-fixed-header .table-sort-button {
    width: 100%;
    min-height: 50px;
    padding: 8px 6px;
    font-size: 15px;
    line-height: 1.1;
  }

  [data-financial-ranking-table] table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  [data-financial-ranking-table] :is(th, td)[data-financial-column="detail"] {
    display: none;
  }

  [data-financial-ranking-table] :is(th, td)[data-financial-column="stock"] { width: 32%; }
  [data-financial-ranking-table] :is(th, td)[data-financial-column="close"] { width: 22%; }
  [data-financial-ranking-table] :is(th, td)[data-financial-column="pb"] { width: 22%; }
  [data-financial-ranking-table] :is(th, td)[data-financial-column="score"] { width: 24%; }

  [data-financial-ranking-table] th .table-sort-button {
    font-size: 12px;
  }
}

.compact-high-list.compact-volume-list table {
  min-width: 1180px;
}

.compact-high-list th,
.compact-high-list td {
  padding: 5px 7px;
  text-align: right;
  vertical-align: middle;
}

.compact-high-list th.sticky-stock-column,
.compact-high-list td.sticky-stock-column {
  text-align: left;
}

.compact-high-list th:nth-last-child(-n + 3),
.compact-high-list td:nth-last-child(-n + 3) {
  text-align: center;
}

.compact-high-list th:nth-child(1),
.compact-high-list td:nth-child(1) {
  width: 124px;
}

.industry-summary-table.compact-high-list th:first-child,
.industry-summary-table.compact-high-list td:first-child {
  min-width: 124px;
}

.compact-high-list th:nth-child(3),
.compact-high-list td:nth-child(3),
.compact-high-list th:nth-child(5),
.compact-high-list td:nth-child(5) {
  width: 76px;
}

.compact-high-list th:nth-child(2),
.compact-high-list td:nth-child(2),
.compact-high-list th:nth-child(6),
.compact-high-list td:nth-child(6),
.compact-high-list th:nth-child(8),
.compact-high-list td:nth-child(8) {
  width: 72px;
}

.compact-high-list th:nth-child(4),
.compact-high-list td:nth-child(4) {
  width: 92px;
}

.compact-high-list th:nth-child(7),
.compact-high-list td:nth-child(7) {
  width: 92px;
}

.compact-high-list th:nth-child(9),
.compact-high-list td:nth-child(9) {
  width: 84px;
}

.compact-high-list th:nth-child(10),
.compact-high-list td:nth-child(10) {
  width: 92px;
}

.compact-high-list .table-sort-button {
  min-height: 30px;
  padding: 3px 6px;
  font-size: 12px;
}

.compact-high-list th:not(.sticky-stock-column) .table-sort-button {
  width: max-content;
  margin-left: auto;
}

.compact-high-list .pb-header-control,
.compact-high-list .bond-header-control {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3px;
}

.compact-high-list .pb-info-button,
.compact-high-list .bond-header-control .company-bond-info-button {
  display: none;
}

.compact-stock-tools {
  gap: 0;
  min-width: 0;
}

.compact-stock-name {
  gap: 1px;
  font-size: 15px;
  line-height: 1;
}

.compact-stock-code-line {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#watchlistTableWrap .watchlist-stock-mobile {
  display: none;
}

.compact-stock-tools .new-high-name-badge {
  padding: 0 5px;
  font-size: 10px;
}

.combined-change,
.compact-financial-value {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  line-height: 1.05;
}

.combined-change strong,
.compact-financial-value strong {
  font: inherit;
  font-weight: 900;
}

.combined-change small,
.compact-financial-value small {
  color: #71808d;
  font-size: 0.68em;
  font-weight: 700;
}

.combined-change.up strong,
.combined-change.up small {
  color: #b42318;
}

.combined-change.down strong,
.combined-change.down small {
  color: #16794c;
}

.first-high-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6a63f;
  border-radius: 999px;
  padding: 3px 8px;
  background: #fff8e8;
  color: #9c2f24;
  font-size: 12px;
  font-weight: 900;
}

.stock-name-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.2;
}

.list-stock-tools {
  display: grid;
  gap: 6px;
  min-width: 118px;
}

.list-stock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.list-stock-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 999px;
  padding: 4px 9px;
  background: #eef8f7;
  color: #296f77;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.list-stock-action:hover,
.list-stock-action:focus-visible {
  border-color: rgba(156, 47, 36, 0.36);
  background: #fff4ec;
  color: #9c2f24;
}

.list-watch-button {
  background: #fff8e8;
  color: #9c2f24;
  border-color: rgba(214, 166, 63, 0.62);
}

@media (max-width: 640px) {
  .table-wrap {
    max-height: 72vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  th,
  td {
    padding: 8px 9px;
    font-size: 16px;
  }

  .compact-high-list table {
    min-width: 900px;
  }

  .compact-high-list.compact-volume-list table {
    min-width: 1120px;
  }

  .compact-high-list th,
  .compact-high-list td {
    padding: 5px 6px;
  }

  .compact-high-list th:nth-child(1),
  .compact-high-list td:nth-child(1) {
    width: 112px;
  }

  .compact-high-list th:nth-child(3),
  .compact-high-list td:nth-child(3),
  .compact-high-list th:nth-child(5),
  .compact-high-list td:nth-child(5) {
    width: 72px;
  }

  .compact-high-list th:nth-child(4),
  .compact-high-list td:nth-child(4) {
    width: 88px;
  }

  .compact-high-list th:nth-child(7),
  .compact-high-list td:nth-child(7) {
    width: 88px;
  }

  .sticky-stock-column {
    min-width: 112px;
    max-width: 128px;
    padding: 6px 6px;
  }

  .industry-summary-table td:first-child,
  .industry-summary-table th:first-child {
    min-width: 112px;
    max-width: 128px;
  }

  .list-stock-tools {
    min-width: 0;
    gap: 3px;
  }

  .stock-name-stack {
    gap: 1px;
  }

  .list-stock-actions {
    gap: 4px;
  }

  .list-stock-action {
    min-height: 23px;
    padding: 2px 7px;
    font-size: 12px;
  }

  .first-high-badge,
  .new-high-name-badge {
    padding: 1px 6px;
    font-size: 11px;
  }

  td:not(.sticky-stock-column) {
    font-size: 19px;
    font-weight: 800;
    text-align: right;
  }

  th:not(.sticky-stock-column) {
    text-align: right;
  }

  td:nth-last-child(-n + 3),
  th:nth-last-child(-n + 3) {
    text-align: center;
  }

  th:not(.sticky-stock-column) .table-sort-button {
    display: flex;
    width: max-content;
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-end;
  }

  td:not(.sticky-stock-column) .rank-seat-badge,
  td:not(.sticky-stock-column) .seat-badge-only {
    display: flex;
    width: max-content;
    margin-left: auto;
    margin-right: 0;
  }

}

.stage-name-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  margin-inline-start: 5px;
  padding: 2px 6px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #eef8f7;
  color: #17636a;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  vertical-align: middle;
  white-space: nowrap;
}


@media (max-width: 640px) and (orientation: portrait) {
    .stock-query-landscape-hint {
      display: flex;
      width: max-content;
      max-width: 100%;
      margin: 0 0 10px auto;
      border: 1px solid rgba(41, 111, 119, 0.32);
      border-radius: 999px;
      padding: 8px 13px;
      background: rgba(238, 248, 247, 0.96);
      box-shadow: 0 5px 14px rgba(31, 74, 79, 0.1);
      color: #296f77;
      font-size: 15px;
      font-weight: 800;
    }

    #stockQueryTableWrap {
      max-height: 58vh;
      overflow-x: auto;
      overflow-y: auto;
      border: 1px solid #d9e1e7;
      background: #fff;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
    }

    #stockQueryTableWrap table {
      display: table;
      width: 100%;
      min-width: 960px;
      table-layout: fixed;
    }

    #stockQueryTableWrap thead {
      display: table-header-group;
    }

    #stockQueryTableWrap tbody {
      display: table-row-group;
    }

    #stockQueryTableWrap tr {
      display: table-row;
    }

    #stockQueryTableWrap th,
    #stockQueryTableWrap td {
      display: table-cell;
      min-height: 0;
      border-radius: 0;
      padding: 7px 8px;
      font-size: 13px;
      text-align: right;
      vertical-align: middle;
      white-space: nowrap;
    }

    #stockQueryTableWrap th:first-child,
    #stockQueryTableWrap td:first-child {
      width: 150px;
      min-width: 150px;
      max-width: 150px;
      text-align: left;
    }

    #stockQueryTableWrap th:nth-child(7),
    #stockQueryTableWrap td:nth-child(7),
    #stockQueryTableWrap th:nth-child(8),
    #stockQueryTableWrap td:nth-child(8),
    #stockQueryTableWrap th:nth-child(9),
    #stockQueryTableWrap td:nth-child(9),
    #stockQueryTableWrap th:last-child,
    #stockQueryTableWrap td:last-child {
      text-align: center;
    }

    .touch-table-hint:not(.watchlist-landscape-hint) {
      position: fixed;
      right: max(12px, env(safe-area-inset-right, 0px));
      bottom: max(12px, env(safe-area-inset-bottom, 0px));
      z-index: 1350;
      display: flex;
      width: max-content;
      max-width: calc(100vw - 24px);
      margin: 0;
      border: 1px solid rgba(255, 255, 255, 0.52);
      border-radius: 999px;
      padding: 9px 14px;
      background: rgba(24, 48, 59, 0.88);
      box-shadow: 0 8px 22px rgba(11, 28, 35, 0.22);
      color: #ffffff;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.2;
      backdrop-filter: blur(8px);
      pointer-events: none;
    }

    #watchlistPanel > .watchlist-landscape-hint {
      position: static;
      display: block;
      width: auto;
      max-width: none;
      margin: 10px 0 0;
      border: 1px solid rgba(41, 111, 119, 0.24);
      border-radius: 10px;
      padding: 8px 10px;
      background: rgba(238, 248, 247, 0.78);
      box-shadow: none;
      color: #296f77;
      text-align: center;
      backdrop-filter: none;
      pointer-events: none;
    }
}

@media (max-width: 920px) and (orientation: landscape) {
  .table-wrap {
    max-height: 72vh;
    max-height: 72dvh;
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .table-wrap thead {
    position: sticky;
    top: 0;
    z-index: 7;
  }

  .table-wrap thead th {
    position: sticky;
    top: 0;
    z-index: 7;
    background: #f4f7f9;
  }

  .table-wrap thead th.sticky-stock-column {
    z-index: 9;
  }

  .ranking-table-wrap.is-table-focus,
  #watchlistTableWrap.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .new-high-history-table-wrap.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .new-high-history-table-wrap.is-table-focus table {
    min-width: max-content;
    margin: 0;
  }

  .ranking-table-wrap.is-table-focus table,
  #watchlistTableWrap.is-table-focus table {
    min-width: max-content;
    margin: 0;
  }

  .ranking-table-wrap.is-table-focus:not(#listTableWrap) .list-fullscreen-return-hint {
    position: fixed;
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    z-index: 1420;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(23, 33, 43, 0.76);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.22);
  }

  .ranking-table-wrap.is-table-focus thead,
  .ranking-table-wrap.is-table-focus thead th,
  #watchlistTableWrap.is-table-focus thead,
  #watchlistTableWrap.is-table-focus thead th {
    top: 0;
  }

  th,
  td {
    padding: 6px 7px;
    font-size: 14px;
  }

  .sticky-stock-column {
    min-width: 82px;
    max-width: 96px;
    padding: 5px 5px;
  }

  .industry-summary-table td:first-child,
  .industry-summary-table th:first-child {
    min-width: 82px;
    max-width: 96px;
  }

  .stock-name-stack {
    line-height: 1.12;
  }

  .list-stock-tools {
    gap: 2px;
  }

  .list-stock-actions {
    gap: 3px;
  }

  .list-stock-action {
    min-height: 22px;
    padding: 2px 6px;
    font-size: 11px;
  }

  .first-high-badge,
  .new-high-name-badge {
    padding: 1px 5px;
    font-size: 10px;
  }

  td:not(.sticky-stock-column) {
    font-size: 17px;
    font-weight: 800;
    text-align: right;
  }

  th:not(.sticky-stock-column) {
    text-align: right;
  }

  td:nth-last-child(-n + 3),
  th:nth-last-child(-n + 3) {
    text-align: center;
  }

  .table-sort-button {
    min-height: 34px;
    padding: 5px 8px;
    font-size: 13px;
  }

  th:not(.sticky-stock-column) .table-sort-button {
    display: flex;
    width: max-content;
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-end;
  }

  td:not(.sticky-stock-column) .rank-seat-badge,
  td:not(.sticky-stock-column) .seat-badge-only {
    display: flex;
    width: max-content;
    margin-left: auto;
    margin-right: 0;
  }
}

@media (max-width: 920px) {
  .ranking-table-wrap,
  .industry-table-wrap,
  #stockQueryTableWrap,
  #watchlistTableWrap {
    overflow: auto;
    scroll-margin-top: 0;
    overscroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ranking-table-wrap.is-table-focus,
  .industry-table-wrap.is-table-focus,
  #stockQueryTableWrap.is-table-focus,
  #watchlistTableWrap.is-table-focus {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px));
    overscroll-behavior: contain;
    overscroll-behavior-y: none;
  }
}

@media (min-width: 921px) and (max-width: 1366px) and (pointer: coarse) {
  .ranking-table-wrap,
  .industry-table-wrap,
  #stockQueryTableWrap,
  #watchlistTableWrap {
    overflow: auto;
    scroll-margin-top: 0;
    overscroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ranking-table-wrap.is-table-focus,
  .industry-table-wrap.is-table-focus,
  #stockQueryTableWrap.is-table-focus,
  #watchlistTableWrap.is-table-focus {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px));
    overscroll-behavior: contain;
    overscroll-behavior-y: none;
  }

  .ranking-table-wrap thead th,
  .industry-table-wrap thead th,
  #stockQueryTableWrap thead th,
  #watchlistTableWrap thead th {
    position: sticky;
    top: 0;
    z-index: 7;
    background: #f4f7f9;
  }

  .ranking-table-wrap thead th.sticky-stock-column,
  .industry-table-wrap thead th.sticky-stock-column,
  #watchlistTableWrap thead th.sticky-stock-column {
    z-index: 9;
  }
}

@media (min-width: 721px) and (max-width: 1366px) and (pointer: coarse) {
  .app-shell {
    width: calc(100% - 24px);
    margin: 16px auto;
  }

  .panel {
    border-radius: 12px;
  }

  .query-panel {
    padding: 18px;
  }

  .trend-radar-section {
    gap: 13px;
    border-radius: 16px;
    padding: 18px;
  }

  .trend-radar-heading h2 {
    font-size: clamp(28px, 4vw, 36px);
  }

  .trend-radar-section .radar-temperature {
    gap: 10px;
  }

  .trend-radar-section .radar-temperature > button {
    grid-template-columns: auto auto;
    min-height: 82px;
    justify-content: start;
    column-gap: 5px;
    padding: 12px 14px;
  }

  .trend-radar-section .radar-temperature span {
    grid-column: 1 / -1;
    font-size: 13px;
  }

  .trend-radar-section .radar-temperature strong {
    font-size: 30px;
  }

  .trend-radar-section .radar-temperature em {
    justify-self: start;
    font-size: 13px;
  }

  .trend-radar-section .cover-top-card {
    gap: 9px;
    padding: 12px;
  }

  .trend-radar-section .cover-top-title {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  .trend-radar-section .cover-top-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .trend-radar-section .cover-stock-row {
    min-height: 68px;
    padding: 9px 10px;
  }

  .trend-radar-section .cover-stock-row:nth-child(5) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 5px);
  }

  .trend-radar-section .cover-stock-main strong {
    font-size: 17px;
  }

  .trend-radar-section .cover-stock-main em {
    font-size: 13px;
  }

  .trend-radar-section .market-breadth-panel {
    margin-top: 12px;
    padding-top: 15px;
  }

  .feature-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .feature-overview > .feature-group:first-child {
    grid-column: 1 / -1;
  }

  .feature-group {
    min-width: 0;
    padding: 12px;
  }

  .feature-group h2 {
    font-size: 17px;
  }

  .feature-group-description {
    font-size: 13px;
  }

  .feature-group .mode-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .feature-group .tab-button {
    min-height: 46px;
    padding: 9px 10px;
    font-size: 16px;
  }
}

@media (min-width: 721px) and (max-width: 920px) and (orientation: portrait) and (pointer: coarse) {
  .trend-radar-heading {
    display: grid;
    align-items: start;
  }

  .trend-radar-date {
    text-align: left;
  }

  .trend-direction-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 921px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
  .app-shell {
    width: calc(100% - 24px);
    max-width: 1220px;
    margin: 16px auto;
  }

  .ranking-table-wrap.is-table-focus,
  #watchlistTableWrap.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .new-high-history-table-wrap.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .new-high-history-table-wrap.is-table-focus table {
    min-width: max-content;
    margin: 0;
  }

  .ranking-table-wrap.is-table-focus table,
  #watchlistTableWrap.is-table-focus table {
    min-width: max-content;
    margin: 0;
  }

  .ranking-table-wrap.is-table-focus.compact-high-list table,
  .industry-table-wrap.is-table-focus.compact-high-list table {
    width: max-content;
    min-width: 960px;
  }

  .ranking-table-wrap.is-table-focus.compact-volume-list table,
  .industry-table-wrap.is-table-focus.compact-volume-list table {
    min-width: 1120px;
  }

  #watchlistTableWrap.is-table-focus table {
    width: 960px;
    min-width: 960px;
    table-layout: fixed;
  }

  #watchlistTableWrap.is-table-focus th,
  #watchlistTableWrap.is-table-focus td {
    padding-right: 6px;
    padding-left: 6px;
    text-align: right;
  }

  #watchlistTableWrap.is-table-focus th:first-child,
  #watchlistTableWrap.is-table-focus td:first-child {
    width: 132px;
    text-align: left;
  }

  #watchlistTableWrap.is-table-focus th:nth-last-child(3),
  #watchlistTableWrap.is-table-focus td:nth-last-child(3) {
    width: 82px;
  }

  #watchlistTableWrap.is-table-focus th:nth-last-child(2),
  #watchlistTableWrap.is-table-focus td:nth-last-child(2) {
    width: 74px;
    text-align: center;
  }

  #watchlistTableWrap.is-table-focus th:last-child,
  #watchlistTableWrap.is-table-focus td:last-child {
    width: 70px;
    text-align: center;
  }

  .compact-high-list th:nth-last-child(2),
  .compact-high-list td:nth-last-child(2) {
    width: 78px;
  }

  .compact-high-list th:last-child,
  .compact-high-list td:last-child {
    width: 76px;
  }

  .ranking-table-wrap.is-table-focus:not(#listTableWrap) .list-fullscreen-return-hint {
    position: fixed;
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    z-index: 1420;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(23, 33, 43, 0.76);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.22);
  }
}

@media (min-width: 641px) and (max-width: 920px) and (pointer: coarse) {
  .compact-high-list table {
    width: max-content;
    min-width: 900px;
  }

  .compact-high-list.compact-volume-list table {
    min-width: 1120px;
  }

  .compact-high-list th,
  .compact-high-list td {
    padding-right: 6px;
    padding-left: 6px;
  }

  .compact-high-list th:nth-last-child(2),
  .compact-high-list td:nth-last-child(2) {
    width: 78px;
  }

  .compact-high-list th:last-child,
  .compact-high-list td:last-child {
    width: 76px;
  }

  #watchlistTableWrap table {
    width: 960px;
    min-width: 960px;
    table-layout: fixed;
  }
}

/* 所有橫屏表格使用一致、較透明的右下角返回提示，減少遮字。 */
.ranking-table-wrap.is-table-focus:not(#listTableWrap) .list-fullscreen-return-hint,
.new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint,
.industry-table-wrap.is-table-focus .industry-fullscreen-return-hint,
#watchlistTableWrap.is-table-focus .watchlist-fullscreen-return-hint {
  position: fixed;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(10px, env(safe-area-inset-bottom, 0px));
  z-index: 1420;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(23, 33, 43, 0.42) !important;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.watchlist-fullscreen-return-hint {
  display: none;
}

.watchlist-fullscreen-return-hint strong,
.watchlist-fullscreen-return-hint span {
  display: block;
}

.industry-table-wrap.is-table-focus .industry-pagination {
  position: fixed;
  left: max(10px, env(safe-area-inset-left, 0px));
  bottom: max(8px, env(safe-area-inset-bottom, 0px));
  z-index: 1419;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  padding: 5px 7px;
  background: rgba(23, 33, 43, 0.42);
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.industry-table-wrap.is-table-focus .industry-pagination span {
  display: none;
}

.industry-table-wrap.is-table-focus .industry-pagination button {
  min-height: 30px;
  padding: 4px 9px;
}

#listTableWrap.is-table-focus .list-pagination {
  position: fixed;
  left: max(10px, env(safe-area-inset-left, 0px));
  bottom: max(8px, env(safe-area-inset-bottom, 0px));
  z-index: 1419;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  padding: 5px 7px;
  background: rgba(23, 33, 43, 0.42);
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

#listTableWrap.is-table-focus .list-pagination span {
  display: none;
}

#listTableWrap.is-table-focus .list-pagination button {
  min-height: 30px;
  padding: 4px 9px;
}

.new-high-name-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid #d6a63f;
  border-radius: 999px;
  padding: 1px 7px;
  background: #fff8e8;
  color: #9c2f24;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.35;
}

.new-high-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  align-items: center;
}

.table-sort-button {
  border: 1px solid #d6a63f;
  border-radius: 6px;
  padding: 7px 10px;
  background: #fff3c4;
  color: #6f3f00;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(111, 63, 0, 0.12);
  white-space: nowrap;
}

.table-sort-button.active {
  border-color: #9c2f24;
  background: #9c2f24;
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .table-sort-button:hover {
    border-color: #9c2f24;
    background: #9c2f24;
    color: #fff;
  }
}

td {
  color: #24313d;
}

.hidden {
  display: none;
}

.trace-watermark {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  user-select: text;
}

@media (max-width: 720px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .app-shell {
    width: min(100% - 20px, 1040px);
    min-width: 0;
    max-width: calc(100% - 20px);
    margin: 20px auto;
    overflow-x: clip;
  }

  #loginView,
  #queryView,
  .query-panel,
  .feature-overview,
  .feature-group,
  .trend-direction-grid,
  .trend-direction-group,
  .mode-tabs {
    min-width: 0;
    max-width: 100%;
  }

  .market-verdict-hero {
    min-height: 0;
    gap: 10px;
    padding: 15px 16px 12px;
    margin-bottom: -8px;
  }

  .full-selection-entry {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 17px;
  }

  .full-selection-entry h2 {
    font-size: 22px;
  }

  .full-selection-entry button {
    width: 100%;
    min-height: 54px;
    font-size: 18px;
    box-shadow: 0 8px 18px rgba(41, 111, 119, 0.18);
  }

  .market-verdict-copy {
    gap: 1px;
  }

  .market-explanation-section:not(.is-mobile-expanded) {
    display: none;
  }

  .trend-score-intro:not([open]) {
    display: block;
    padding: 16px;
  }

  .trend-score-intro:not([open]) .trend-score-heading > p:last-child {
    margin-right: 28px;
  }

  .site-menu-button {
    top: max(16px, calc(env(safe-area-inset-top, 0px) + 8px));
    right: max(18px, calc(env(safe-area-inset-right, 0px) + 16px));
    width: 47px;
    height: 47px;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.11);
  }

  .site-menu-button span {
    width: 20px;
  }

  .market-verdict-heading {
    padding-right: 44px;
  }

  .market-verdict-market > span {
    font-size: 18px;
  }

  .market-verdict-hero h1 {
    max-width: 148px;
    padding: 6px 11px;
    font-size: 22px;
    text-align: center;
  }

  .market-verdict-market {
    display: grid;
    gap: 1px;
  }

  .market-verdict-market .market-pulse-index {
    font-size: 12px;
  }

  .market-verdict-date {
    right: 16px;
    bottom: 15px;
    max-width: none;
    font-size: 11px;
    text-align: right;
  }

  .market-verdict-stats {
    gap: 8px;
  }

  .market-verdict-stat {
    min-width: 0;
    padding: 12px;
  }

  .market-verdict-stat span {
    font-size: 13px;
  }

  .market-verdict-stat strong {
    font-size: 19px;
  }

  .market-verdict-stat strong b {
    font-size: 32px;
  }

  .market-verdict-reason {
    font-size: 16px;
  }

  .market-verdict-ratio {
    font-size: 13px;
  }

  .market-verdict-action {
    min-height: 38px;
    padding: 8px 13px;
    font-size: 14px;
  }

  .panel {
    padding: 20px;
  }

  .query-panel {
    padding: 14px;
  }

  .auth-panel,
  .metrics-grid,
  .mode-tabs,
  .plan-grid,
  .plan-copy-grid,
  .cover-top-grid,
  .signal-grid {
    grid-template-columns: 1fr;
  }

  .search-row {
    grid-template-columns: 1fr;
  }

  .feature-group .mode-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trend-direction-grid {
    grid-template-columns: 1fr;
  }

  .market-breadth-heading {
    align-items: start;
    min-width: 0;
    max-width: 100%;
  }

  .breadth-info summary {
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 21px;
  }

  .breadth-info > div {
    width: min(440px, calc(100vw - 32px));
    padding: 13px 14px;
  }

  .breadth-info > div p {
    font-size: 14px;
  }

  .market-breadth-controls {
    justify-items: start;
  }

  .market-breadth-chart-wrap svg {
    min-height: 280px;
  }

  .market-breadth-chart-wrap {
    max-width: 100%;
    border-width: 2px;
    border-color: rgba(83, 137, 143, 0.48);
    box-shadow: 0 10px 26px rgba(13, 25, 34, 0.16);
    cursor: zoom-in;
  }

  .market-breadth-chart-wrap:active {
    transform: scale(0.992);
  }

  .market-breadth-tap-hint {
    display: inline-flex;
    top: 10px;
    right: 10px;
    padding: 8px 12px 8px 9px;
  }

  .market-breadth-tap-hint strong { font-size: 14px; }
  .market-breadth-tap-hint small { font-size: 10px; }
  .market-breadth-tap-icon { width: 30px; height: 30px; font-size: 17px; }

  .breadth-chart-touched:not(.breadth-fullscreen) .market-breadth-tap-hint {
    opacity: 0.72;
  }

  .breadth-axis text,
  .breadth-tooltip text {
    font-size: 14px;
  }

  .breadth-tooltip {
    display: none;
  }

  .breadth-tooltip-date {
    font-size: 15px !important;
  }

  .market-breadth-latest,
  .market-breadth-summary {
    font-size: 15px;
    white-space: normal;
  }

  .market-breadth-summary {
    gap: 8px;
    margin-top: 12px;
    line-height: 1.25;
  }

  .market-breadth-summary > strong,
  .market-breadth-summary > span {
    padding: 7px 11px;
  }

  body.breadth-fullscreen-open {
    overflow: hidden;
  }

  .market-breadth-panel.breadth-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 1200;
    margin: 0;
    padding: 16px 14px 32px;
    border: 0;
    overflow: auto;
    background: #17212b;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-fullscreen-close {
    display: block;
    position: sticky;
    top: 0;
    z-index: 3;
    margin: 0 0 10px auto;
    border: 1px solid #8fa5b3;
    border-radius: 999px;
    padding: 8px 14px;
    background: #eef4f6;
    color: #24313d;
    font-size: 16px;
    font-weight: 900;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-chart-wrap svg {
    height: auto;
    min-height: 0;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-chart-wrap {
    border-color: rgba(143, 165, 179, 0.54);
    background: transparent;
    box-shadow: none;
    transform: none;
    cursor: crosshair;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-hit-area {
    touch-action: none;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-tap-hint {
    display: none;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-heading h3 {
    font-size: 28px;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-heading > div > p,
  .market-breadth-panel.breadth-fullscreen .market-breadth-latest {
    font-size: 18px;
    line-height: 1.6;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-info summary {
    border-color: #718994;
    background: #22343f;
    color: #8edcc1;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-info[open] summary {
    background: #8edcc1;
    color: #17212b;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-info > div {
    border-color: #405764;
    background: #1d2d37;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-info > div p {
    color: #d3dee4;
    font-size: 15px;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-info > div strong {
    color: #fff;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-range-switch button,
  .market-breadth-panel.breadth-fullscreen .market-breadth-detail-toggle {
    padding: 8px 13px;
    font-size: 16px;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-legend {
    gap: 10px 16px;
    font-size: 17px;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-legend i {
    width: 26px;
    height: 5px;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-axis text {
    font-size: 28px;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-tooltip text {
    font-size: 28px;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-tooltip-date {
    font-size: 32px !important;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    width: min(100%, 560px);
    margin-top: 12px;
    margin-right: auto;
    margin-left: auto;
    gap: 9px;
    font-size: 17px;
    line-height: 1.5;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-summary > strong,
  .market-breadth-panel.breadth-fullscreen .market-breadth-summary > span {
    justify-content: center;
    min-height: 56px;
    border-color: rgba(143, 165, 179, 0.45);
    border-radius: 14px;
    padding: 9px 12px;
    background: rgba(31, 47, 59, 0.9);
    color: #d7e2e8;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-summary small {
    color: #9fb0bd;
    font-size: 13px;
  }

  .market-breadth-panel.breadth-fullscreen .market-breadth-summary b {
    color: #fff;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-date {
    justify-content: center;
    min-height: 56px;
    color: #d7e2e8;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-date b {
    color: #fff;
    font-size: 1.18em;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-verdict b {
    font-size: 1.48em;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-verdict[data-tone="bullish"] b {
    color: #ff8f82;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-verdict[data-tone="bearish"] b {
    color: #80dfae;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-verdict[data-tone="neutral"] b {
    color: #f0c661;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-primary {
    grid-column: 1 / -1;
    min-height: 62px;
    border-color: rgba(255, 143, 130, 0.4) !important;
    background: rgba(74, 37, 38, 0.72) !important;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-primary b {
    color: #ff8f82;
    font-size: 1.38em;
  }

  .market-breadth-panel.bearish-breadth-panel.breadth-fullscreen .breadth-summary-primary {
    border-color: rgba(128, 223, 174, 0.4) !important;
    background: rgba(29, 67, 52, 0.72) !important;
  }

  .market-breadth-panel.bearish-breadth-panel.breadth-fullscreen .breadth-summary-primary b {
    color: #80dfae;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-summary-breakdown b {
    font-size: 1.24em;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-line.total {
    stroke-width: 5;
  }

  .market-breadth-panel.breadth-fullscreen .breadth-line.ma5 {
    stroke-width: 4;
  }

  .topbar {
    gap: 8px;
    margin-bottom: 10px;
    padding-right: 54px;
  }

  .member-actions {
    gap: 7px;
  }

  .session-info-row {
    width: 100%;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 5px;
  }

  .line-member-box {
    gap: 6px;
  }

  .line-member-box button {
    min-height: 36px;
    padding: 6px 9px;
  }

  .line-member-box .line-login-benefit {
    margin-top: -1px;
    font-size: 11px;
  }

  .brand-login {
    padding: 20px;
  }

  .brand-copy {
    gap: 14px;
  }

  .brand-copy h1 {
    font-size: clamp(28px, 7.8vw, 34px);
    line-height: 1.03;
    letter-spacing: -0.02em;
  }

  .brand-copy h1 > span {
    display: block;
    white-space: nowrap;
  }

  .brand-slogan {
    font-size: 17px;
  }

  .live-market-strip,
  .trend-score-intro,
  .score-factor-grid {
    grid-template-columns: 1fr;
  }

  .first-use-card {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .first-use-actions {
    min-width: 0;
  }

  .cover-search-control {
    grid-template-columns: minmax(0, 1fr) 82px;
  }

  .new-high-stats {
    grid-template-columns: 1fr;
  }

  .trend-radar-section { padding: 15px; }
  .trend-radar-heading { display: grid; align-items: start; }
  .trend-radar-date { text-align: left; }
  .radar-temperature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trend-radar-grid { grid-template-columns: 1fr; }
  .radar-stock-item { grid-template-columns: minmax(0, 1fr); }
  .radar-status-label, .radar-stock-item > em { justify-self: start; }
  .radar-stock-metrics { flex-wrap: wrap; }
  .trend-radar-list-modal { max-height: 88vh; padding: 15px; }
  .radar-modal-heading { display: grid; }
  .radar-full-list { grid-template-columns: 1fr; }

  .secondary-entry-actions {
    grid-template-columns: 1fr;
  }

  .brand-description {
    font-size: 15px;
    line-height: 1.7;
  }

  .brand-guide-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .cover-market-section {
    padding: 14px;
  }

  .cover-market-heading {
    align-items: start;
    flex-direction: column;
  }

  .cover-market-heading p {
    max-width: none;
  }

  .cover-stock-row {
    grid-template-columns: 28px minmax(0, 1fr) 54px 62px;
    gap: 7px;
    padding: 8px 7px;
  }

  .cover-param {
    padding: 6px;
    font-size: 15px;
  }

  .cover-change {
    font-size: 13px;
  }

  .login-card {
    position: static;
    padding: 16px;
  }

  .analysis-grid {
    grid-template-columns: 1fr;
  }

  .analysis-card {
    padding: 13px;
  }

  #stockResultPanel > .result-actions {
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }

  #stockResultPanel > .result-actions .section-note {
    display: none;
  }

  #clearAllButton {
    min-height: 36px;
    padding: 6px 10px;
    white-space: nowrap;
  }

  .analysis-primary-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .analysis-primary-actions .watch-add-button,
  .analysis-primary-actions .external-analysis-link {
    min-height: 46px;
    padding: 7px 8px;
  }

  .analysis-primary-actions .watch-add-button span,
  .analysis-primary-actions .external-analysis-link {
    font-size: 14px;
  }

  .analysis-primary-actions .watch-add-button small {
    display: none;
  }

  .analysis-more-actions-toggle {
    min-height: 46px;
    font-size: 14px;
  }

  .analysis-more-actions-menu {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 7px;
  }

  .analysis-more-actions-menu > button {
    min-height: 58px;
    padding: 8px 10px;
  }

  .signal-grid {
    gap: 7px;
  }

  .signal-grid div {
    padding: 8px;
  }

  .list-card-grid {
    grid-template-columns: 1fr;
  }

  .parameter-hero {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .parameter-hero.with-price {
    grid-template-columns: 1fr 1fr;
  }

  .analysis-dashboard {
    grid-template-columns: 1fr;
  }

  .signal-grid {
    grid-template-columns: 1fr 1fr;
  }

  .analysis-actions {
    justify-content: stretch;
  }

  .analysis-actions .watch-add-button {
    width: 100%;
  }

  .list-parameter.with-price {
    grid-template-columns: 1fr 1fr;
  }

  .result-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .member-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .list-heading {
    align-items: start;
    flex-direction: column;
  }

  .list-meta-line {
    gap: 8px;
    flex-wrap: nowrap;
  }

  .list-history-date-wrap {
    margin-top: 2px;
  }

  .list-meta-line .status-text::before {
    margin-right: 8px;
  }

  .query-panel .query-brand-positioning {
    font-size: 14.3px;
  }

  .query-panel .feature-group-description {
    font-size: 13.5px;
  }

  .query-panel .trend-direction-description {
    font-size: 12.5px;
  }

  .query-panel .line-member-box .line-login-benefit {
    font-size: 12px;
  }
}

@media (max-width: 400px) {
  .app-shell {
    width: calc(100% - 12px);
    margin: 10px auto;
  }

  .panel,
  .brand-login {
    padding: 14px;
  }

  .market-verdict-hero {
    gap: 9px;
    padding: 14px 14px 11px;
  }

  .market-verdict-heading {
    padding-right: 42px;
  }

  .market-verdict-stat {
    padding: 10px;
  }

  .market-verdict-stat strong b {
    font-size: 29px;
  }

  .brand-copy {
    gap: 9px;
  }

  .brand-copy > .eyebrow {
    font-size: 20px;
  }

  .brand-copy h1 {
    font-size: clamp(27px, 7.7vw, 30px);
    line-height: 1.03;
  }

  .brand-subtitle {
    font-size: 17px;
    line-height: 1.45;
  }

  .brand-description {
    font-size: 14px;
    line-height: 1.5;
  }

  .brand-value-line,
  .learn-more-link {
    font-size: 13px;
    line-height: 1.45;
  }

  .hero-entry-card {
    margin-top: 8px;
    padding: 14px;
  }

  .query-panel {
    padding: 10px;
  }

  .site-menu-button {
    top: max(14px, calc(env(safe-area-inset-top, 0px) + 8px));
    right: max(16px, calc(env(safe-area-inset-right, 0px) + 14px));
    width: 44px;
    height: 44px;
  }

  .query-view-active .site-menu-button {
    top: max(20px, calc(env(safe-area-inset-top, 0px) + 8px));
  }

  .feature-overview {
    gap: 8px;
  }

  .feature-group {
    padding: 8px;
  }

  .feature-group .mode-tabs {
    gap: 6px;
  }

  .tab-button,
  .overview-home-button {
    min-height: 36px;
    padding: 5px 6px;
    font-size: 15px;
    white-space: nowrap;
  }

  .session-info-row,
  .line-member-box,
  .member-actions {
    gap: 5px;
  }

  .line-member-box button {
    padding-inline: 7px;
    font-size: 14px;
  }

  .trial-guide,
  .search-row {
    margin-inline: 0;
  }
}

@media (max-width: 920px) and (orientation: landscape) and (max-height: 500px) {
  th,
  td {
    padding: 4px 6px;
  }

  .sticky-stock-column {
    padding: 3px 4px;
  }

  .stock-name-stack {
    gap: 0;
    line-height: 1.04;
  }

  .list-stock-tools,
  .list-stock-actions {
    gap: 1px;
  }

  .list-stock-action {
    min-height: 20px;
    padding: 1px 5px;
    font-size: 10px;
  }

  .first-high-badge,
  .new-high-name-badge {
    padding: 0 4px;
    font-size: 9px;
  }

  td:not(.sticky-stock-column) {
    font-size: 16px;
  }

  .table-sort-button {
    min-height: 30px;
    padding: 3px 6px;
  }
}

@media (max-width: 400px) {
  .query-panel .topbar,
  .result-actions,
  .list-heading {
    gap: 6px;
  }

  .feature-group h2,
  .trial-guide strong {
    font-size: 14px;
  }

  .trial-guide {
    margin-bottom: 10px;
    padding: 7px 9px;
  }

  .search-row {
    gap: 8px;
  }

  .popular-stocks {
    gap: 5px;
  }

  .popular-stocks button {
    padding: 6px 9px;
    font-size: 12px;
  }

  .result-panel {
    margin-top: 15px;
    padding-top: 15px;
  }

  .result-actions {
    margin-bottom: 9px;
  }

  .section-title {
    font-size: 19px;
  }

  .section-note,
  .sort-hint {
    font-size: 12px;
    line-height: 1.45;
  }

  .star-note {
    margin-bottom: 9px;
    padding: 6px 8px;
    font-size: 12px;
    line-height: 1.4;
  }

  .watchlist-add-row {
    gap: 6px;
    margin: 10px 0;
  }

  .watchlist-add-row input,
  .watchlist-add-row button {
    min-height: 42px;
    padding: 8px 9px;
  }

  .industry-data-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .industry-pill {
    gap: 5px;
    min-height: 66px;
    padding: 9px 10px;
  }

  .industry-detail-heading {
    gap: 7px;
    margin-bottom: 8px;
  }

  .industry-detail-heading h3 {
    font-size: 18px;
  }

  .analysis-grid {
    gap: 9px;
    margin-bottom: 12px;
  }

  .analysis-card {
    padding: 10px;
  }

  .analysis-head {
    gap: 7px;
    margin-bottom: 8px;
  }

  .analysis-head h3 {
    font-size: 22px;
  }

  .analysis-primary-actions {
    gap: 5px;
    margin: 6px 0 8px;
  }

  .parameter-hero {
    gap: 6px;
    padding: 8px;
  }

  .hero-stat {
    gap: 4px;
    padding: 7px;
  }

  .parameter-hero strong,
  .hero-stat strong {
    font-size: 25px;
  }

  .signal-grid {
    gap: 6px;
  }

  .signal-grid div {
    padding: 7px;
  }

  .signal-grid strong {
    margin-top: 4px;
    font-size: 15px;
  }

  .analysis-accordions {
    gap: 6px;
  }

  .analysis-accordions summary,
  .accordion-content {
    padding: 9px 10px;
    font-size: 13px;
  }

  .trend-radar-section,
  .cover-market-section,
  .cover-top-section {
    padding: 10px;
  }

  .trend-radar-grid,
  .radar-full-list {
    gap: 8px;
  }

  .trend-radar-card {
    padding: 10px;
  }

  .trend-radar-card h3 {
    font-size: 16px;
  }

  .modal-backdrop {
    padding: 9px;
  }

  .modal-panel,
  .install-help-panel,
  .trend-radar-list-modal {
    max-height: calc(100dvh - 18px);
    overflow-y: auto;
    padding: 14px;
  }

  .list-meta-line {
    gap: 4px 7px;
    flex-wrap: wrap;
  }

  .list-meta-line .status-text::before {
    content: none;
    margin: 0;
  }
}

@media (max-width: 700px) {
  .market-pulse-summary {
    margin-top: 18px;
    padding: 15px 12px;
  }

  .market-pulse-heading {
    display: grid;
    margin-bottom: 12px;
  }

  .market-pulse-heading h3 { font-size: 21px; }
  .market-pulse-title-line { gap: 7px; }
  .market-pulse-verdict { padding: 4px 8px; font-size: 13px; }
  .market-pulse-date { max-width: none; text-align: left; line-height: 1.35; }
  .market-pulse-grid { gap: 8px; }
  .market-pulse-side { padding: 12px 10px; }
  .market-pulse-side > strong b { font-size: 31px; }
  .market-pulse-extra { display: grid; gap: 5px; }
  .market-pulse-note { line-height: 1.5; }
  .market-explanation-section > .market-breadth-panel {
    margin-top: 12px;
    border-radius: 13px;
    padding: 13px 11px;
  }
  .market-explanation-section > .market-breadth-divider {
    display: none;
  }
  .market-explanation-section .market-breadth-controls {
    position: relative;
    padding-top: 34px;
    justify-items: end;
  }
  .market-explanation-section .breadth-info {
    position: absolute;
    top: 0;
    right: 0;
  }
  .market-explanation-section .breadth-info summary {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
  .market-explanation-section .breadth-info > div {
    top: 31px;
    right: 0;
    width: min(280px, calc(100vw - 80px));
    margin-top: 5px;
    border-color: rgba(214, 181, 98, 0.72);
    box-shadow: 0 12px 28px rgba(2, 10, 17, 0.3);
    z-index: 30;
  }
  .market-explanation-section .breadth-info[open] summary {
    border-color: #e0bd64;
    box-shadow: 0 0 0 3px rgba(224, 189, 100, 0.18);
  }
  .market-explanation-section .breadth-fullscreen-close {
    font-size: 0;
  }
  .market-explanation-section .breadth-fullscreen-close::after {
    content: "↩ 返回";
    font-size: 16px;
  }
}

@media (orientation: landscape) and (max-height: 600px) {
  #intradayHighListModal {
    padding: 4px;
  }

  .modal-panel.intraday-list-modal:not(.is-summary-list) {
    width: min(1100px, calc(100vw - 8px));
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
  }

  .modal-panel.intraday-list-modal,
  .modal-panel.intraday-list-modal.is-summary-list {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 6px;
    padding: 8px 10px;
  }

  .intraday-list-heading {
    align-items: center;
    gap: 10px;
  }

  .intraday-list-heading > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 10px;
  }

  .intraday-list-heading .eyebrow {
    display: none;
  }

  .intraday-list-heading h2 {
    margin: 0;
    font-size: 19px;
    white-space: nowrap;
  }

  .intraday-list-heading .section-note {
    font-size: 12px;
    white-space: nowrap;
  }

  #intradayHighListClose {
    min-height: 32px;
    padding: 5px 12px;
    font-size: 13px;
  }

  .intraday-close-tabs {
    gap: 4px;
    padding: 2px;
  }

  .intraday-close-tabs button {
    min-height: 32px;
    padding: 5px 10px;
    font-size: 13px;
  }

  .intraday-list-table.is-close-mode th,
  .intraday-list-table.is-close-mode td {
    padding: 7px 8px;
    font-size: 13px;
  }

  .intraday-list-table.is-close-mode {
    min-width: 0;
  }

  .intraday-list-note {
    display: none;
  }
}

/* Homepage visual sample: premium black-gold treatment for Trend Radar only. */
#trendRadarSection {
  position: relative;
  overflow: hidden;
  border-color: rgba(113, 137, 156, 0.42);
  border-radius: 16px;
  background:
    radial-gradient(circle at 92% 2%, rgba(196, 151, 54, 0.08), transparent 30%),
    linear-gradient(145deg, #08131f 0%, #0d1b28 56%, #0a1621 100%);
  box-shadow: 0 16px 36px rgba(3, 10, 17, 0.24);
}

#trendRadarSection::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

#trendRadarSection > * {
  position: relative;
  z-index: 1;
}

#trendRadarSection .eyebrow,
#trendRadarSection .trend-radar-date {
  color: #d6b562;
}

#trendRadarSection .trend-radar-heading h2 {
  color: #f5f7f9;
  letter-spacing: 0.01em;
}

#trendRadarSection .trend-radar-heading p:not(.eyebrow),
#trendRadarSection .trend-radar-message,
#trendRadarSection .cover-list-status,
#trendRadarSection .cover-risk-note {
  color: #9eafbd;
}

#trendRadarSection .radar-temperature > div,
#trendRadarSection .radar-temperature > button {
  border-color: rgba(105, 132, 151, 0.38);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(24, 40, 53, 0.96), rgba(18, 32, 44, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

#trendRadarSection .radar-temperature > button:hover,
#trendRadarSection .radar-temperature > button:focus-visible {
  border-color: rgba(214, 181, 98, 0.82);
  background: linear-gradient(145deg, #203546, #192c3b);
  box-shadow: 0 7px 18px rgba(1, 8, 14, 0.25);
}

#trendRadarSection .radar-temperature span,
#trendRadarSection .radar-temperature em {
  color: #aebbc6;
}

#trendRadarSection .radar-temperature strong {
  color: #e0bd64;
}

#trendRadarSection .cover-top-card {
  border-color: rgba(190, 151, 65, 0.62);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(20, 35, 47, 0.98), rgba(15, 28, 39, 0.98));
  box-shadow: 0 10px 25px rgba(1, 8, 14, 0.22);
}

#trendRadarSection .cover-top-card.featured {
  border-color: rgba(207, 167, 73, 0.72);
  box-shadow: 0 10px 25px rgba(1, 8, 14, 0.22);
}

#trendRadarSection .cover-top-title h3 {
  color: #e7c56f;
}

#trendRadarSection .cover-list-link {
  border: 1px solid rgba(219, 187, 107, 0.7);
  background: #b78b32;
  color: #fffaf0;
  box-shadow: none;
}

#trendRadarSection .cover-list-link:hover,
#trendRadarSection .cover-list-link:focus-visible {
  border-color: #efd486;
  background: #c49a42;
}

#trendRadarSection .cover-stock-row {
  border-color: rgba(103, 130, 149, 0.34);
  border-radius: 10px;
  background: rgba(26, 43, 56, 0.9);
  color: #f1f4f6;
}

#trendRadarSection .cover-stock-row:hover {
  border-color: rgba(197, 162, 81, 0.68);
  background: rgba(32, 52, 67, 0.96);
}

#trendRadarSection .cover-stock-main strong {
  color: #f4f6f8;
}

#trendRadarSection .cover-stock-main em,
#trendRadarSection .cover-metric small {
  color: #9eafbd;
}

#trendRadarSection .cover-rank {
  background: rgba(116, 84, 25, 0.58);
  color: #f0d27e;
}

@media (max-width: 700px) {
  #trendRadarSection {
    border-radius: 14px;
    box-shadow: 0 11px 25px rgba(3, 10, 17, 0.2);
  }

  #trendRadarSection .radar-temperature > button {
    border-radius: 10px;
  }

  #trendRadarSection .cover-top-card {
    border-radius: 11px;
  }
}

/* Homepage newcomer guide: a visible but secondary CTA. */
.brand-copy .learn-more-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-top: 5px;
  border: 1px solid rgba(41, 111, 119, 0.28);
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(230, 241, 242, 0.82);
  color: #245f66;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: 0 5px 14px rgba(31, 74, 80, 0.07);
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.brand-copy .learn-more-link span {
  color: #a97822;
  font-size: 1.1em;
  transition: transform 160ms ease;
}

.brand-copy .learn-more-link:hover,
.brand-copy .learn-more-link:focus-visible {
  border-color: rgba(41, 111, 119, 0.58);
  background: #eef7f7;
  outline: none;
  transform: translateY(-1px);
}

.brand-copy .learn-more-link:hover span,
.brand-copy .learn-more-link:focus-visible span {
  transform: translateX(3px);
}

@media (max-width: 700px) {
  .brand-copy .learn-more-link {
    min-height: 54px;
    max-width: 100%;
    border-color: rgba(41, 111, 119, 0.62);
    padding: 11px 16px;
    background: #dcebed;
    font-size: 17px;
    font-weight: 850;
    white-space: nowrap;
    box-shadow: 0 5px 13px rgba(31, 74, 80, 0.1);
  }

  .brand-copy .learn-more-link span {
    color: #c3912f;
  }
}

@media (max-width: 700px) {
  .industry-data-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .industry-pill-main {
    align-items: baseline;
    gap: 4px;
  }

  .industry-pill-main strong {
    font-size: 14px;
    line-height: 1.28;
  }

  .industry-pill-main small {
    padding-top: 0;
    font-size: 10px;
  }

  .industry-pill-trend {
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .industry-data-panel .industry-pill {
    position: relative;
  }

  .industry-data-panel .industry-pill.is-high-count-top-three {
    padding-top: 34px;
  }

  .industry-data-panel .industry-pill-main strong {
    flex: 0 1 auto;
    min-width: 4em;
    overflow-wrap: normal;
    word-break: normal;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .industry-data-panel .industry-high-top-three-badge {
    position: absolute;
    top: 9px;
    right: 10px;
    max-width: calc(100% - 20px);
  }
}

/* Industry cards: emphasize daily breakout counts without changing layout. */
.industry-data-panel > .result-actions .section-title {
  font-size: clamp(26px, 3vw, 31px);
}

.industry-pill-main strong {
  font-size: 16px;
  font-weight: 700;
}

.industry-pill-main small {
  color: #97a3ae;
  font-size: 12px;
  font-weight: 600;
}

.industry-pill-trend {
  font-size: 14px;
  font-weight: 700;
}

.industry-pill-trend .industry-high,
.industry-pill-trend .industry-low {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  line-height: 1.3;
}

.industry-pill-trend b {
  display: inline-block;
  min-width: 1.25ch;
  font-size: 1.12em;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

@media (max-width: 700px) {
  .industry-data-panel > .result-actions .section-title {
    font-size: 28px;
  }

  .industry-pill-main strong {
    font-size: 16px;
  }

  .industry-pill-main small {
    font-size: 12px;
  }

  .industry-pill-trend {
    gap: 7px;
    font-size: 13px;
  }
}

.paid-rating-history {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin-top: 4px;
  border: 1px solid #dcc47a;
  border-radius: 12px;
  padding: 14px;
  background: #fffdf5;
}

.paid-rating-history-heading {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 12px;
}

.paid-rating-history-identity,
.paid-rating-history-summary {
  min-width: 0;
}

.paid-rating-history-summary {
  display: grid;
  align-content: center;
  gap: 5px;
}

.paid-rating-history-heading span {
  color: #9b6b17;
  font-size: 12px;
  font-weight: 900;
}

.paid-rating-stock-name {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  min-height: 42px;
  margin: 4px 0 0;
  border: 1px solid #8fc5c0;
  border-radius: 10px;
  padding: 8px 13px;
  background: #edf8f6;
  color: #1f6f76;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  box-shadow: 0 2px 6px rgba(31, 111, 118, 0.14);
  cursor: pointer;
}

.paid-rating-stock-name b {
  color: #225f66;
  font-size: 16px;
}

.historical-rating-stock-link:not(.paid-rating-stock-name) {
  width: fit-content;
  max-width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.historical-rating-stock-link:not(.paid-rating-stock-name):hover,
.historical-rating-stock-link:not(.paid-rating-stock-name):focus-visible {
  color: #0d6f68;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.paid-rating-stock-name:focus-visible {
  outline: 3px solid rgba(22, 124, 115, 0.28);
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .paid-rating-stock-name:hover {
    border-color: #167c73;
    background: #dff3ef;
    color: #0d655f;
    box-shadow: 0 4px 10px rgba(31, 111, 118, 0.2);
  }
}

.historical-rating-analysis-actions {
  justify-content: flex-start;
}

.paid-rating-history-heading h4 {
  margin: 3px 0 0;
  color: #17212b;
  font-size: 19px;
}

.paid-rating-history-heading small {
  color: #82909c;
  font-weight: 700;
  line-height: 1.45;
}

.paid-rating-history-table {
  margin: 0;
}

.paid-rating-history-table .historical-selected-row td {
  background: #fff0bd;
  color: #6f4b00;
  font-weight: 900;
}

.history-carried-price {
  display: block;
  margin-top: 3px;
  color: #7b8791;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.historical-rating-date-short {
  display: none;
}

.paid-rating-fullscreen-return-hint {
  display: none;
}

@media (orientation: landscape) and (max-width: 1366px) and (pointer: coarse) {
  .paid-rating-history-table.is-table-focus {
    position: fixed;
    inset: 0;
    z-index: 1400;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overscroll-behavior: contain;
  }

  .paid-rating-history-table.is-table-focus table {
    min-width: max-content;
    margin: 0;
  }

  .paid-rating-history-table.is-table-focus .paid-rating-fullscreen-return-hint {
    position: fixed;
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    z-index: 1420;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(23, 33, 43, 0.42);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }

  .paid-rating-fullscreen-return-hint strong,
  .paid-rating-fullscreen-return-hint span {
    display: block;
  }
}

@media (max-width: 700px) {
  .historical-rating-form {
    grid-template-columns: minmax(0, 7fr) minmax(86px, 3fr);
    gap: 8px;
  }

  .historical-rating-form > .historical-rating-field:first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .historical-rating-form > button[type="submit"] {
    grid-column: 2;
    grid-row: 1;
  }

  .historical-rating-form > .historical-rating-date-field {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .legacy-rating-history {
    padding: 11px;
  }

  .legacy-rating-heading {
    align-items: center;
  }

  .legacy-rating-table {
    display: block;
  }

  .paid-rating-history {
    padding: 11px;
  }

  .paid-rating-history-heading {
    align-items: start;
    grid-template-columns: minmax(116px, 0.82fr) minmax(0, 1.18fr);
    gap: 8px;
  }

  .paid-rating-history-heading h4 {
    font-size: 17px;
  }

  .paid-rating-history-heading small {
    font-size: 11px;
  }

  .paid-rating-history-table table {
    width: 456px;
    min-width: 456px;
    table-layout: fixed;
  }

  .paid-rating-history-table th,
  .paid-rating-history-table td {
    box-sizing: border-box;
    padding: 8px 4px;
    font-size: 12px;
    text-align: center;
  }

  .paid-rating-history-table th:nth-child(1),
  .paid-rating-history-table td:nth-child(1) {
    width: 76px;
  }

  .paid-rating-history-table th:nth-child(2),
  .paid-rating-history-table td:nth-child(2) {
    width: 58px;
  }

  .paid-rating-history-table th:nth-child(3),
  .paid-rating-history-table td:nth-child(3) {
    width: 58px;
  }

  .paid-rating-history-table th:nth-child(4),
  .paid-rating-history-table td:nth-child(4) {
    width: 50px;
  }

  .paid-rating-history-table th:nth-child(5),
  .paid-rating-history-table td:nth-child(5) {
    width: 78px;
  }

  .paid-rating-history-table th:nth-child(6),
  .paid-rating-history-table td:nth-child(6) {
    width: 46px;
  }

  .paid-rating-history-table th:nth-child(7),
  .paid-rating-history-table td:nth-child(7) {
    width: 90px;
  }

  .historical-rating-date-full {
    display: none;
  }

  .historical-rating-date-short {
    display: inline;
  }
}

@media (orientation: landscape) and (max-width: 1366px) {
  .legacy-rating-table {
    display: block;
    overflow-x: hidden;
  }

  .legacy-rating-table table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .legacy-rating-table :is(th, td) {
    box-sizing: border-box;
    min-width: 0;
    padding: 8px 3px;
    overflow: hidden;
    font-size: clamp(9px, 1.55vw, 12px);
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }

  .legacy-rating-table :is(th, td):nth-child(1) { width: 16%; }
  .legacy-rating-table :is(th, td):nth-child(2) { width: 13%; }
  .legacy-rating-table :is(th, td):nth-child(3) { width: 13%; }
  .legacy-rating-table :is(th, td):nth-child(4) { width: 10%; }
  .legacy-rating-table :is(th, td):nth-child(5) { width: 17%; }
  .legacy-rating-table :is(th, td):nth-child(6) { width: 11%; }
  .legacy-rating-table :is(th, td):nth-child(7) { width: 20%; }
}

/* Individual analysis: stronger score hierarchy and a cleaner four-card summary. */
.parameter-hero.with-price {
  grid-template-columns: minmax(120px, 0.95fr) minmax(135px, 1.05fr);
}

.hero-stat.parameter-focus > span {
  font-size: 14px;
}

.hero-stat.parameter-focus > strong {
  font-size: clamp(38px, 5.4vw, 48px);
  font-weight: 900;
  line-height: 1;
}

.hero-stat.parameter-focus > .advantage-score-value {
  justify-self: center;
  width: 100%;
  text-align: center;
  overflow-wrap: normal;
}

.seat-label-mobile {
  display: none;
}

.hero-stat.parameter-focus > strong .seat-label-full,
.hero-stat.parameter-focus > strong .seat-label-mobile {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.hero-stat.parameter-focus > em {
  font-size: 18px;
  line-height: 1.2;
}

.hero-stat.parameter-focus .advantage-position-track {
  height: 7px;
}

.hero-stat.parameter-focus .advantage-position-dot {
  width: 14px;
  height: 14px;
}

.hero-stat.parameter-focus .advantage-position-marker {
  top: -8px;
  border-right-width: 6px;
  border-left-width: 6px;
  border-top-width: 8px;
}

.rating-bond-card {
  display: grid;
  align-content: start;
}

.rating-value-group {
  display: grid;
  gap: 5px;
}

.rating-value-group > span {
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.rating-value-group > strong {
  margin-top: 0;
  font-size: 20px;
  line-height: 1.1;
}

.analysis-layout-phone-portrait .rating-value-group {
  gap: 3px;
}

.analysis-layout-phone-portrait .rating-value-group > span {
  font-size: 11px;
}

.analysis-layout-phone-portrait .rating-value-group > strong {
  font-size: 15px;
}

.analysis-layout-phone-landscape .rating-value-group {
  gap: 4px;
}

.analysis-layout-phone-landscape .rating-value-group > span {
  font-size: 12px;
}

.analysis-layout-phone-landscape .rating-value-group > strong {
  font-size: 17px;
}

.analysis-layout-tablet-portrait .rating-value-group,
.analysis-layout-tablet-landscape .rating-value-group {
  gap: 4px;
}

.analysis-layout-tablet-portrait .rating-value-group > span,
.analysis-layout-tablet-landscape .rating-value-group > span {
  font-size: 13px;
}

.analysis-layout-tablet-portrait .rating-value-group > strong,
.analysis-layout-tablet-landscape .rating-value-group > strong {
  font-size: 18px;
}

@media (min-width: 1200px) {
  .analysis-layout-tablet-landscape .rating-value-group > span {
    font-size: 14px;
  }

  .analysis-layout-tablet-landscape .rating-value-group > strong {
    font-size: 19px;
  }
}

.company-bond-inline {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 7px;
  color: #536371;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.company-bond-inline b {
  color: #24313d;
  font-size: 13px;
}

.company-bond-label {
  white-space: nowrap;
}

.company-bond-value {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
}

.company-bond-inline .company-bond-info-button {
  width: 19px;
  height: 19px;
  margin-left: 1px;
  font-size: 11px;
}

@media (max-width: 720px) {
  .parameter-hero.with-price {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }

  .hero-stat.parameter-focus > strong {
    font-size: clamp(36px, 10.5vw, 44px);
  }

  .hero-stat.parameter-focus > em {
    font-size: 17px;
  }

  .signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hero-stat.parameter-focus > strong {
    font-size: clamp(32px, 9vw, 38px);
  }

  .hero-stat.price-stat > strong {
    font-size: clamp(24px, 7.5vw, 30px);
  }

  .seat-label-full {
    display: none;
  }

  .seat-label-mobile {
    display: inline;
  }

  .hero-stat.parameter-focus > strong.seat-tier-value {
    font-size: 36px;
  }
}

@media (max-width: 400px) {
  .hero-stat.parameter-focus > strong {
    font-size: 32px;
  }

  .hero-stat.parameter-focus > strong.seat-tier-value {
    font-size: 36px;
  }

  .hero-stat.parameter-focus > span {
    font-size: 13px;
  }

  .hero-stat.parameter-focus > em {
    font-size: 16px;
  }

  .company-bond-inline {
    margin-top: 5px;
    font-size: 11px;
  }
}

.financial-key-section {
  margin-top: 12px;
  border: 1px solid #dce5e8;
  border-radius: 10px;
  padding: 12px;
  background: #fbfdfd;
}

.financial-key-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.financial-key-heading h4 {
  margin: 0;
  color: #24313d;
  font-size: 17px;
  font-weight: 900;
}

.financial-key-period-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.financial-key-period-status > small {
  color: #687785;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.financial-key-heading span {
  border: 1px solid #e4bd58;
  border-radius: 999px;
  padding: 2px 7px;
  background: #fff9e7;
  color: #9c2f24;
  font-size: 10px;
  font-weight: 900;
}

.financial-key-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.financial-key-card,
.financial-more-card {
  min-width: 0;
  min-height: 126px;
  border: 1px solid #dfe6ea;
  border-radius: 9px;
  padding: 11px;
  background: #fff;
  text-align: left;
}

.financial-key-card > span {
  display: block;
  min-height: 30px;
  color: #536371;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.financial-key-card > span small {
  color: #87939d;
  font-size: 10px;
  white-space: nowrap;
}

.financial-key-card > strong {
  display: block;
  margin: 6px 0 8px;
  color: #08695c;
  font-size: clamp(23px, 3vw, 30px);
  font-weight: 900;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.financial-key-details {
  display: grid;
  gap: 3px;
  border-top: 1px solid #e4eaed;
  padding-top: 7px;
}

.financial-key-details small {
  color: #43515e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.financial-key-details b {
  color: #24313d;
  font-weight: 900;
}

.financial-key-details b.price-change.up { color: #b42318; }
.financial-key-details b.price-change.down { color: #16794c; }
.financial-key-details b.price-change.flat { color: #52616d; }

.financial-more-card {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 6px;
  background: linear-gradient(145deg, #fbfcfd, #f1f5f6);
  color: #24313d;
  text-align: center;
}

.financial-more-card:hover,
.financial-more-card:focus-visible {
  border-color: #5b9196;
  outline: none;
  background: #edf7f6;
}

.financial-more-card strong {
  color: #24313d;
  font-size: 14px;
  font-weight: 900;
}

.financial-more-card span,
.financial-more-card small {
  color: #607080;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 720px) {
  .financial-key-section {
    margin-top: 9px;
    padding: 9px;
  }

  .financial-key-heading {
    margin-bottom: 8px;
  }

  .financial-key-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .financial-key-card,
  .financial-more-card {
    min-height: 118px;
    padding: 9px;
  }

  .financial-key-card > span {
    min-height: 27px;
    font-size: 11px;
  }

  .financial-key-card > strong {
    margin: 5px 0 7px;
    font-size: clamp(22px, 7vw, 27px);
  }

  .financial-key-details {
    padding-top: 6px;
  }

  .financial-key-details small {
    font-size: 10px;
  }
}

@media (max-width: 400px) {
  .financial-key-card,
  .financial-more-card {
    min-height: 112px;
    padding: 8px;
  }

  .financial-key-card > strong {
    font-size: 22px;
  }

  .financial-more-card strong {
    font-size: 13px;
  }
}

@media (orientation: portrait) and (max-width: 600px) {
  .analysis-card .financial-key-section {
    padding: 8px;
    background: #f8fafb;
  }

  .analysis-card .financial-key-heading h4 {
    font-size: 16px;
  }

  .analysis-card .financial-key-card,
  .analysis-card .financial-more-card {
    min-height: 104px;
    padding: 8px;
  }

  .analysis-card .financial-key-card > strong {
    font-size: clamp(19px, 5.8vw, 23px);
  }
}

/* 財務排行：會員選定範圍後，直屏與橫屏都使用整頁表格。 */
body.financial-table-fullscreen-open {
  overflow: hidden;
}

[data-financial-ranking-table].is-table-focus,
[data-financial-compare-table].is-table-focus {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1400 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  background: #fff;
  box-shadow: none !important;
}

[data-financial-ranking-table].is-table-focus table,
[data-financial-compare-table].is-table-focus table {
  width: max-content;
  min-width: 920px;
  margin: 0;
}

@media (min-width: 921px) and (pointer: fine) {
  [data-financial-ranking-table].is-table-focus table {
    margin-inline: auto;
  }
}

/* Keep the watchlist's existing full-width table geometry, but center that
   table inside its fullscreen canvas just like the financial ranking view. */
@media (min-width: 921px) {
  #watchlistTableWrap.is-table-focus table {
    margin-inline: auto;
  }
}

[data-financial-ranking-table].is-table-focus thead th,
[data-financial-compare-table].is-table-focus thead th {
  position: sticky;
  top: 0;
  z-index: 7;
}

[data-financial-ranking-table].is-table-focus th.sticky-stock-column,
[data-financial-compare-table].is-table-focus th.sticky-stock-column {
  z-index: 9;
}

[data-financial-ranking-table].is-table-focus .list-fullscreen-return-hint,
[data-financial-compare-table].is-table-focus .list-fullscreen-return-hint {
  display: grid;
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 12;
}

@media (max-width: 700px) {
  [data-financial-ranking-table].is-table-focus th,
  [data-financial-ranking-table].is-table-focus td,
  [data-financial-compare-table].is-table-focus th,
  [data-financial-compare-table].is-table-focus td {
    padding: 7px 8px;
  }
}

/* 收盤快訊：手機橫屏與平板共用完整欄位同列，桌機維持原生表格。 */
.intraday-title-context {
  margin-right: 0;
}

@media (min-width: 1200px) {
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode {
    display: table;
    width: 100%;
    table-layout: fixed;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead {
    display: table-header-group;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody {
    display: table-row-group;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    display: table-row;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    display: table-cell;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(1) { width: 14%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(2) { width: 8%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(3) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(4) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(5) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(6) { width: 14%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(7) { width: 10%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(8) { width: 7%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(9) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(10) { width: 11%; }

  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(1) { width: 18% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(2) { width: 9% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(3) { width: 9% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(4) { width: 9% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(5) { width: 8% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(6) { width: 12% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(7) { width: 10% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(8) { width: 7% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(9) { width: 8% !important; }
  #historicalAlertsPanel.is-desktop-mode #historicalAlertsTableWrap
    .intraday-list-table.is-close-mode.has-unappropriated-price :is(th, td):nth-child(10) { width: 10% !important; }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(1) { width: 14%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(2) { width: 7%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(3) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(4) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(5) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(6) { width: 10%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(7) { width: 9%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(8) { width: 8%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(9) { width: 8%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(10) { width: 8%; }
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded :is(th, td):nth-child(11) { width: 9%; }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead th {
    vertical-align: middle;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th .table-sort-button {
    display: inline-flex;
    min-height: 2.5em;
    align-items: center;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
    text-align: center;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .intraday-title-context {
    margin-right: 0.28em;
  }

  #intradayHighListModal {
    padding: 8px;
  }

  .modal-panel.intraday-list-modal.is-close-summary {
    grid-template-rows: auto auto 50px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "eyebrow count"
      "title title";
    align-items: baseline;
    gap: 2px 14px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .eyebrow {
    grid-area: eyebrow;
    display: block;
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading h2 {
    margin: 0;
    font-size: 23px;
    line-height: 1.2;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .section-note {
    grid-area: count;
    justify-self: start;
    font-size: 13px;
    white-space: nowrap;
  }

  .intraday-list-modal.is-close-summary #intradayHighListClose {
    min-height: 36px;
    padding: 6px 14px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs {
    width: 100%;
    gap: 6px;
    padding: 3px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs button {
    min-height: 38px;
    padding: 7px 12px;
    font-size: 14px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    grid-template-columns:
      minmax(0, 17%)
      minmax(0, 10%)
      minmax(0, 11%)
      minmax(0, 11%)
      minmax(0, 9%)
      minmax(0, 10%)
      minmax(0, 9%)
      minmax(0, 8%)
      minmax(0, 15%);
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price tr {
    grid-template-columns:
      minmax(0, 14%)
      minmax(0, 8%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 14%)
      minmax(0, 10%)
      minmax(0, 7%)
      minmax(0, 9%)
      minmax(0, 11%);
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded tr {
    grid-template-columns:
      minmax(0, 13%)
      minmax(0, 7%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 8%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 7%)
      minmax(0, 7%)
      minmax(0, 10%)
      minmax(0, 12%);
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    padding: 8px 7px;
    font-size: 13px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead th {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th .table-sort-button {
    display: inline-flex;
    min-height: 2.5em;
    align-items: center;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
    text-align: center;
  }

  .intraday-list-modal.is-close-summary .intraday-close-rating > span,
  .intraday-list-modal.is-close-summary .intraday-close-stars > span {
    min-height: 24px;
    padding: 2px 8px;
  }
}

@media (max-width: 767px) {
  #intradayHighListModal .intraday-close-unappropriated {
    display: none !important;
  }
  #intradayHighListModal {
    padding: 6px;
  }

  .modal-panel.intraday-list-modal.is-close-summary {
    grid-template-rows: auto auto 50px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-title-line {
    display: grid;
    grid-template-columns: max-content auto;
    justify-content: start;
    align-items: baseline;
    gap: 4px;
    overflow: visible;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .eyebrow {
    display: block;
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .intraday-list-modal.is-close-summary .intraday-title-context {
    display: none;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .section-note {
    margin: 1px 0 0;
    font-size: 12px;
    line-height: 1.2;
  }

  .intraday-list-modal.is-close-summary #intradayHighListClose {
    min-height: 36px;
    padding: 6px 10px;
    font-size: 13px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs {
    gap: 4px;
    padding: 2px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs button {
    min-height: 38px;
    padding: 6px 8px;
    font-size: 13px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    grid-template-columns: 38% 27% 16% 19%;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    padding: 8px 4px;
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-wide-only {
    display: none !important;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-close-summary > .intraday-list-note {
    overflow: hidden;
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

:is(#intradayHighListModal.is-phone-landscape-mode, #historicalAlertsPanel.is-phone-landscape-mode)
  .intraday-list-modal.is-close-summary
  .intraday-close-unappropriated {
  display: none !important;
}

/* 收盤快訊：手機直式與橫式各自使用獨立版面。 */
#intradayHighListModal {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
}

.intraday-list-modal.is-close-summary,
.intraday-list-modal.is-close-summary .intraday-list-wrap {
  min-width: 0;
  max-width: 100%;
}

.intraday-list-modal.is-close-summary .intraday-list-wrap {
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}

@media (max-width: 767px) and (orientation: portrait) {
  #intradayHighListModal {
    place-items: stretch;
    padding: 6px;
  }

  .modal-panel.intraday-list-modal.is-close-summary {
    margin: 0;
    grid-template-rows: auto auto 50px minmax(0, 1fr);
    gap: 7px;
    padding: 9px;
    overflow: hidden;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading > div {
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .eyebrow {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading h2 {
    min-width: max-content;
    overflow: visible;
    font-size: 18px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .section-note {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .intraday-list-modal.is-close-summary #intradayHighListClose {
    min-width: 54px;
    min-height: 34px;
    padding: 5px 9px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs {
    width: 100%;
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs button {
    min-width: 0;
    min-height: 36px;
    padding: 5px 7px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead {
    position: sticky;
    top: 0;
    z-index: 4;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead th {
    position: static;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead tr {
    min-height: 48px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody tr {
    min-height: 56px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    display: flex;
    width: auto !important;
    min-width: 0;
    align-items: center;
    padding: 7px 5px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th {
    font-size: 16px;
    font-weight: 700;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(1),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(1) {
    justify-content: flex-start;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(2),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(2) {
    justify-content: center;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(3),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(3),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(4),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(4) {
    justify-content: flex-end;
  }

  .intraday-list-modal.is-close-summary .intraday-close-stock strong {
    display: grid;
    gap: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
  }

  .intraday-list-modal.is-close-summary .intraday-close-period {
    font-size: 17px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-price {
    font-size: 18px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-change {
    font-size: 17px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-stock-code,
  .intraday-list-modal.is-close-summary .intraday-stock-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .intraday-list-modal.is-close-summary .intraday-close-wide-only {
    display: none !important;
  }

  .intraday-list-modal.is-close-summary .intraday-list-note {
    position: absolute;
    left: 50%;
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    z-index: 9;
    display: flex !important;
    width: max-content;
    max-width: calc(100% - 20px);
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    transform: translateX(-50%);
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-close-summary > .intraday-list-note .intraday-list-note-copy {
    display: none;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-close-summary > .intraday-list-note .intraday-list-note-action {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
  }

  #intradayHighListModal:not(.has-list-analysis)
    .intraday-list-modal.is-close-summary > .intraday-list-note .intraday-list-note-action small {
    display: block;
    color: #697782;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
  }
}

/* Retired viewport-only phone rule; the runtime phone class owns this layout. */
@media (orientation: landscape) and (max-width: 0px) and (max-height: 600px) {
  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary:not(.has-list-analysis) {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    grid-template-rows: auto 38px minmax(0, 1fr) !important;
    column-gap: 5px !important;
    row-gap: 5px !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-heading {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    min-height: 38px;
    margin: 0;
    gap: 3px;
    padding: 2px;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    min-height: 38px;
    margin: 0;
    gap: 3px;
    padding: 2px;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs button,
  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs button {
    width: 100%;
    min-width: 0;
    min-height: 32px;
    padding: 3px 4px;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-wrap {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-note {
    display: none !important;
  }
}

/* Retired viewport-only landscape rule; it also matched resized desktop windows. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 0px) {
  #intradayHighListModal {
    place-items: stretch;
    padding: 4px;
  }

  .modal-panel.intraday-list-modal.is-close-summary {
    width: 100%;
    max-width: 100%;
    height: calc(var(--intraday-viewport-height, 100dvh) - 8px);
    max-height: calc(var(--intraday-viewport-height, 100dvh) - 8px);
    margin: 0;
    grid-template-rows: auto auto 50px minmax(0, 1fr);
    gap: 5px;
    padding: 7px 9px;
    overflow: hidden;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading > div {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .eyebrow,
  .intraday-list-modal.is-close-summary .intraday-list-heading h2,
  .intraday-list-modal.is-close-summary .intraday-list-heading .section-note {
    display: block;
    margin: 0;
    line-height: 1.2;
    white-space: nowrap;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .eyebrow {
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading h2 {
    font-size: 20px;
  }

  .intraday-list-modal.is-close-summary .intraday-title-context {
    display: none;
  }

  .intraday-list-modal.is-close-summary .intraday-list-heading .section-note {
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary #intradayHighListClose {
    display: block;
    min-width: 52px;
    min-height: 30px;
    padding: 4px 9px;
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs {
    width: 100%;
    min-width: 0;
    gap: 4px;
    padding: 2px;
  }

  .intraday-list-modal.is-close-summary .intraday-close-tabs button {
    min-width: 0;
    min-height: 31px;
    padding: 4px 8px;
    font-size: 12px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead {
    position: sticky;
    top: 0;
    z-index: 4;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead th {
    position: static;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    display: grid;
    grid-template-columns: minmax(0, 22%) minmax(0, 20%) minmax(0, 15%) minmax(0, 16%) minmax(0, 12%) minmax(0, 15%);
    width: 100%;
    min-width: 0;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead tr {
    min-height: 48px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody tr {
    min-height: 56px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    display: flex;
    width: auto !important;
    min-width: 0;
    align-items: center;
    padding: 7px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th {
    font-size: 16px;
    font-weight: 700;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(1),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(1) {
    justify-content: flex-start;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(2),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(2),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(5),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(5),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(6),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(6) {
    justify-content: center;
  }

  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(3),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(3),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th:nth-child(4),
  .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td:nth-child(4) {
    justify-content: flex-end;
  }

  .intraday-list-modal.is-close-summary .intraday-close-stock strong {
    gap: 5px;
    font-size: 18px;
    font-weight: 700;
  }

  .intraday-list-modal.is-close-summary .intraday-close-period {
    font-size: 17px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-price {
    font-size: 18px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-change,
  .intraday-list-modal.is-close-summary .intraday-close-rating {
    font-size: 17px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-stars {
    font-size: 18px;
    font-weight: 600;
  }

  .intraday-list-modal.is-close-summary .intraday-close-rating > span,
  .intraday-list-modal.is-close-summary .intraday-close-stars > span {
    min-height: 28px;
    padding: 2px 7px;
  }

  .intraday-list-modal.is-close-summary .intraday-list-note {
    display: none !important;
  }
}

/* Retired duplicate toolbar contract. The phone-only implementation now lives in
   close-list-landscape-toolbar.css and is gated by is-phone-landscape-mode. */
@media (orientation: landscape) and (max-width: 0px) and (pointer: coarse),
       (orientation: landscape) and (max-width: 0px) and (hover: none) {
  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary:not(.has-list-analysis) {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    grid-template-rows: auto 42px minmax(0, 1fr) auto !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs,
  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs {
    display: grid !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    gap: 3px !important;
    padding: 3px !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs {
    grid-column: 1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs {
    grid-column: 2 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs button,
  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 4px !important;
    font-size: clamp(12px, 1.7vw, 15px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-note {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    line-height: 1.25 !important;
  }

  /* Match page-two sorting: only the compact control is highlighted, not the whole column. */
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th .table-sort-button {
    width: max-content !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }
}

/* Phase 3A: one flat alert row per message, without nested card chrome. */
.official-alert-panel {
  margin: 0;
  padding: 0;
  background: #fffdf8;
}

.official-alert-panel.hidden,
#intradayHighListModal .intraday-list-modal.has-list-analysis .official-alert-panel {
  display: none !important;
}

.official-alert-cards {
  display: block;
}

.official-alert-card {
  border-bottom: 1px solid #eadfca;
  background: transparent;
}

.official-alert-card:not(.is-unread) .official-alert-dot,
.official-alert-panel.is-collapsed:not(.has-unread) .official-alert-dot {
  background: #aa9f8e;
  box-shadow: none;
}

.official-alert-row {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  grid-template-columns: 8px auto minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 0;
  padding: 9px 14px;
  background: transparent;
  box-shadow: none;
  color: #2d3a42;
  text-align: left;
}

.official-alert-row:hover {
  background: #fff8e9;
  transform: none;
}

.official-alert-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c83f35;
  box-shadow: 0 0 0 3px rgba(200, 63, 53, 0.1);
}

.official-alert-row > strong {
  color: #8a5510;
  font-size: 16px;
  font-weight: 800;
  white-space: nowrap;
}

.official-alert-preview {
  min-width: 0;
  overflow: hidden;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.official-alert-row time {
  color: #786f61;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

.official-alert-chevron {
  color: #8b7654;
  font-size: 20px;
  line-height: 1;
  text-align: center;
}

.official-alert-full-message {
  display: none;
  margin: 0;
  padding: 0 45px 11px 31px;
  color: #2d3a42;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.official-alert-card.is-expanded .official-alert-preview {
  opacity: 0.68;
}

.official-alert-card.is-expanded .official-alert-full-message {
  display: block;
}

.official-alert-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border-bottom: 1px solid #eadfca;
  padding: 4px 12px;
  background: #fffdf8;
}

.official-alert-controls button {
  min-height: 26px;
  border: 0;
  border-radius: 999px;
  padding: 3px 10px;
  background: #f5ead5;
  box-shadow: none;
  color: #7b5319;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
}

.official-alert-controls button:hover {
  background: #ecddc1;
  transform: none;
}

.official-alert-controls .official-alert-dismiss {
  background: transparent;
  color: #6f7478;
}

.official-alert-restore-row {
  display: grid;
  width: 100%;
  min-height: 38px;
  grid-template-columns: 8px auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid #eadfca;
  border-radius: 0;
  padding: 6px 14px;
  background: #fffdf8;
  box-shadow: none;
  color: #6f675b;
  text-align: left;
}

.official-alert-restore-row:hover {
  background: #fff8e9;
  transform: none;
}

.official-alert-restore-row > strong {
  color: #8a5510;
  font-size: 14px;
  white-space: nowrap;
}

.official-alert-restore-row > span:not(.official-alert-dot) {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.official-alert-restore-row > b {
  color: #8a5510;
  font-size: 13px;
  white-space: nowrap;
}

.official-alert-panel.has-unread .official-alert-restore-row {
  background: #fff7f5;
}

@media (max-width: 700px) and (orientation: portrait),
       (max-width: 932px) and (max-height: 600px) and (orientation: landscape) {
  #watchlistAnalysisPanel > .result-actions {
    display: none !important;
  }

  #watchlistTableWrap .watchlist-stock-desktop {
    display: none;
  }

  #watchlistTableWrap .watchlist-stock-mobile {
    display: inline-flex;
    font-size: 15px;
  }

  #watchlistTableWrap .watchlist-stock-mobile .compact-stock-code-line {
    flex-wrap: nowrap;
  }

  #watchlistTableWrap .watchlist-stock-mobile .new-high-name-badge {
    padding: 0 5px;
    font-size: 10px;
  }

  .official-alert-row {
    min-height: 64px;
    grid-template-columns: 7px auto minmax(0, 1fr) auto 12px;
    gap: 7px;
    padding: 8px 10px;
  }

  .official-alert-row > strong {
    font-size: 16px;
  }

  .official-alert-preview {
    display: -webkit-box;
    max-height: 2.9em;
    overflow: hidden;
    font-size: 17px;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .official-alert-card.is-expanded .official-alert-preview {
    display: none;
  }

  .official-alert-full-message {
    padding: 0 28px 10px 24px;
    font-size: 16px;
  }

  .official-alert-controls {
    min-height: 32px;
    gap: 5px;
    padding: 3px 8px;
  }

  .official-alert-controls button {
    min-height: 25px;
    padding: 3px 8px;
    font-size: 12px;
  }

  .official-alert-restore-row {
    min-height: 36px;
    gap: 6px;
    padding: 5px 10px;
  }

  .official-alert-restore-row > strong,
  .official-alert-restore-row > span:not(.official-alert-dot),
  .official-alert-restore-row > b {
    font-size: 12px;
  }
}

/* Tablet and desktop complete-list controls. The dedicated phone layouts are
   deliberately excluded so their compact geometry remains unchanged. */
@media (min-width: 701px) {
  #intradayHighListModal:not(.is-phone-landscape-mode) #intradayHighListClose {
    min-width: clamp(112px, 10vw, 124px) !important;
    min-height: 48px !important;
    border: 1px solid #236c73;
    border-radius: 12px;
    padding: 10px 22px !important;
    background: #236c73;
    color: #fff;
    box-shadow: 0 4px 12px rgba(35, 108, 115, 0.2);
    font-size: 0 !important;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) #intradayHighListClose::after {
    content: "關閉名單";
    font-size: 16px;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) #intradayHighListClose:hover {
    border-color: #174f55;
    background: #174f55;
    box-shadow: 0 6px 16px rgba(35, 108, 115, 0.28);
    transform: translateY(-1px);
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) #intradayHighListClose:active {
    box-shadow: 0 2px 7px rgba(35, 108, 115, 0.2);
    transform: translateY(0);
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-close-tabs {
    gap: 10px;
    padding: 6px;
    border-radius: 13px;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-close-tabs button {
    min-height: 46px !important;
    border-radius: 10px;
    padding: 10px 16px !important;
    font-size: 16px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-close-period-tabs {
    min-height: 58px;
    gap: 8px;
    padding: 6px;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-close-period-tabs button {
    min-height: 46px !important;
    padding: 9px 15px !important;
    font-size: 16px !important;
    line-height: 1.2;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-note {
    font-size: 14px;
    line-height: 1.5;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-note button {
    min-height: 40px;
    margin: 2px 4px;
    border: 1px solid rgba(35, 108, 115, 0.42);
    border-radius: 999px;
    padding: 8px 15px;
    background: #f2f8f7;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-note button:hover {
    border-color: #236c73;
    background: #e3f0ee;
  }
}

@media (min-width: 1101px) {
  #intradayHighListModal:not(.is-phone-landscape-mode)
    .intraday-list-modal.is-summary-list:not(.has-list-analysis)
    > .intraday-close-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-heading .section-note {
    white-space: nowrap;
  }
}

/* Larger collapsed intraday status capsule for tablet and desktop. Phone
   dimensions remain governed by the existing compact breakpoint rules. */
@media (min-width: 768px) and (min-height: 600px) {
  .intraday-alert-collapsed {
    min-width: 112px;
    height: 48px;
    gap: 8px;
    padding-inline: 20px;
    font-size: 17px;
  }

  .intraday-alert-collapsed > span {
    font-size: 18px;
    line-height: 1;
  }

  .intraday-alert-collapsed > strong {
    font-size: 17px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0.015em;
    white-space: nowrap;
  }
}

@media (min-width: 1101px) {
  .intraday-alert-collapsed {
    min-width: 124px;
    height: 52px;
    gap: 9px;
    padding-inline: 24px;
    font-size: 18px;
  }

  .intraday-alert-collapsed > span {
    font-size: 20px;
  }

  .intraday-alert-collapsed > strong {
    font-size: 19px;
  }
}

/* Intraday full list: phone portrait must never inherit the wide table modal. */
@media (max-width: 540px) and (orientation: portrait) {
  #intradayHighListModal {
    width: var(--intraday-viewport-width, 100%);
    max-width: var(--intraday-viewport-width, 100%);
    padding: 0;
    overflow: hidden;
  }

  #intradayHighListModal .modal-panel.intraday-list-modal,
  #intradayHighListModal .modal-panel.intraday-list-modal.is-summary-list {
    position: absolute;
    inset: 0;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0;
    border-width: 0;
    border-radius: 0;
    padding:
      max(10px, env(safe-area-inset-top, 0px))
      max(10px, env(safe-area-inset-right, 0px))
      max(10px, env(safe-area-inset-bottom, 0px))
      max(10px, env(safe-area-inset-left, 0px));
    gap: 10px;
  }

  #intradayHighListModal .intraday-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    min-width: 0;
    align-items: start;
    gap: 8px;
  }

  #intradayHighListModal .intraday-list-heading h2 {
    margin-bottom: 2px;
    font-size: 18px;
    line-height: 1.2;
  }

  #intradayHighListModal .intraday-list-heading .eyebrow {
    margin-bottom: 5px;
    font-size: 12px;
  }

  #intradayHighListModal .intraday-list-heading .section-note {
    font-size: 13px;
    line-height: 1.35;
  }

  #intradayHighListModal #intradayHighListClose {
    position: static !important;
    width: auto;
    min-width: 54px;
    max-width: 64px;
    min-height: 40px;
    margin: 0;
    padding: 7px 10px;
    border-color: #236c73;
    background: #236c73;
    color: #fff;
    font-size: 0;
  }

  #intradayHighListModal #intradayHighListClose::after {
    content: "返回";
    font-size: 14px;
  }

  #intradayHighListModal .intraday-close-tabs {
    width: 100%;
    min-width: 0;
    gap: 4px;
    padding: 3px;
  }

  #intradayHighListModal .intraday-close-tabs button {
    min-width: 0;
    padding: 9px 6px;
    font-size: 15px;
  }

  #intradayHighListModal .intraday-list-wrap,
  #intradayHighListModal .intraday-batch-list,
  #intradayHighListModal .intraday-wave-group {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #intradayHighListModal .intraday-list-wrap {
    border-radius: 9px;
    overflow-x: hidden;
  }

  #intradayHighListModal .intraday-batch-list {
    padding: 6px;
  }

  #intradayHighListModal .intraday-batch-toggle {
    grid-template-columns: 64px minmax(0, 1fr) 20px;
    gap: 7px;
    padding: 9px 10px;
  }

  #intradayHighListModal .intraday-wave-summary {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-wave-summary strong {
    font-size: 16px;
  }

  #intradayHighListModal .intraday-stock-card {
    width: 100%;
    min-width: 0;
    grid-template-columns:
      minmax(0, 2.3fr)
      minmax(0, 0.75fr)
      minmax(0, 0.55fr)
      minmax(0, 0.65fr)
      minmax(0, 1.15fr);
    grid-template-areas: "stock price rating stars period";
    column-gap: 6px;
    align-items: center;
    min-height: 48px;
    padding: 9px 7px;
  }

  #intradayHighListModal .intraday-list-stock {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 4px;
    font-size: 13px;
  }

  #intradayHighListModal .intraday-stock-name {
    min-width: 0;
    max-width: none;
  }

  #intradayHighListModal .intraday-stock-price-inline {
    display: none;
  }

  #intradayHighListModal .intraday-list-price {
    grid-area: price;
    display: block;
    min-width: 0;
    padding-right: 5px;
    color: #253746;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-list-rating,
  #intradayHighListModal .intraday-list-stars,
  #intradayHighListModal .intraday-list-state,
  #intradayHighListModal .intraday-list-period {
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-stock-signal {
    display: contents;
  }

  #intradayHighListModal .intraday-stock-card small {
    display: none;
  }

  #intradayHighListModal .intraday-list-rating {
    justify-content: center;
  }

  #intradayHighListModal .intraday-list-stars {
    justify-content: center;
  }

  #intradayHighListModal .intraday-list-period,
  #intradayHighListModal .intraday-list-state {
    text-align: center;
  }

  #intradayHighListModal .intraday-list-period {
    width: 100%;
    border-radius: 999px;
    padding: 4px 3px;
    background: #eaf5f0;
  }

  #intradayHighListModal .intraday-phone-column-head {
    display: grid;
    grid-template-columns:
      minmax(0, 2.3fr)
      minmax(0, 0.75fr)
      minmax(0, 0.55fr)
      minmax(0, 0.65fr)
      minmax(0, 1.15fr);
    column-gap: 6px;
    align-items: center;
    border-bottom: 1px solid #dce4e8;
    padding: 7px;
    background: #f0f4f5;
    color: #65747e;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
  }

  #intradayHighListModal .intraday-phone-column-head.hidden {
    display: none;
  }

  #intradayHighListModal .intraday-phone-column-head > span:first-child {
    padding-left: 1px;
    text-align: left;
  }

  #intradayHighListModal .intraday-phone-column-head > span:nth-child(2) {
    padding-right: 5px;
    text-align: right;
  }

  #intradayHighListModal .intraday-stock-card:nth-child(odd) {
    background: #fbfcfc;
  }

  #intradayHighListModal .intraday-list-state {
    display: none;
  }
}

/* Keep the two persistent mobile controls inside Safari's visual viewport. */
@media (max-width: 720px) {
  .site-menu-button {
    top: max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
    right: max(12px, calc(env(safe-area-inset-right, 0px) + 8px));
    width: 54px;
    height: 54px;
    border-radius: 12px;
    translate:
      var(--floating-vv-right-shift, 0px)
      0;
    transform: none !important;
    transition: none !important;
  }

  .query-view-active .site-menu-button {
    top: max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
  }

  .site-menu-button span {
    width: 26px;
    height: 4px;
  }

  .intraday-alert {
    box-sizing: border-box;
    left: 0 !important;
    right: auto !important;
    width: calc(
      var(--floating-vv-width, 100vw)
      - max(12px, env(safe-area-inset-left, 0px))
      - max(12px, env(safe-area-inset-right, 0px))
    );
    max-width: none;
    translate:
      calc(
        var(--floating-vv-left, 0px)
        + max(12px, env(safe-area-inset-left, 0px))
      )
      var(--floating-vv-bottom-shift, 0px);
  }

  .intraday-alert-collapsed {
    left: auto !important;
    right: 0 !important;
    translate:
      calc(
        var(--floating-vv-right-shift, 0px)
        - max(12px, env(safe-area-inset-right, 0px))
      )
      var(--floating-vv-bottom-shift, 0px);
  }

}

/* Keep the close-summary modal inside Safari's current visual viewport.
   The visual viewport can be narrower than 100vw after rotation or zoom. */
body.intraday-list-open {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

#intradayHighListModal:not(.hidden) {
  box-sizing: border-box;
  inset: auto;
  z-index: 3200;
  isolation: isolate;
  top: var(--intraday-viewport-top, 0px);
  left: var(--intraday-viewport-left, 0px);
  width: var(--intraday-viewport-width, 100vw);
  max-width: var(--intraday-viewport-width, 100vw);
  height: var(--intraday-viewport-height, 100dvh);
  max-height: var(--intraday-viewport-height, 100dvh);
  overflow: hidden;
  overflow: clip;
}

body.intraday-list-open .touch-table-hint,
body.intraday-list-open .list-fullscreen-return-hint,
body.intraday-list-open .watchlist-fullscreen-return-hint {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) and (orientation: portrait) {
  #intradayHighListModal:not(.hidden) {
    display: grid;
    place-items: stretch;
    padding:
      max(6px, env(safe-area-inset-top, 0px))
      max(6px, env(safe-area-inset-right, 0px))
      max(6px, env(safe-area-inset-bottom, 0px))
      max(6px, env(safe-area-inset-left, 0px));
  }

  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary {
    position: relative;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-wrap,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode thead,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tbody,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-wrap {
    box-sizing: border-box;
    padding-bottom: 54px;
    overflow-x: auto !important;
    overflow-y: auto;
    overscroll-behavior-x: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-landscape-hint {
    position: absolute;
    right: max(10px, env(safe-area-inset-right, 0px));
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    z-index: 8;
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: calc(100% - 20px);
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(24, 48, 59, 0.92);
    box-shadow: 0 8px 22px rgba(11, 28, 35, 0.24);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    backdrop-filter: blur(8px);
    pointer-events: none;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-close-stock,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-close-stock strong,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-stock-code,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-stock-name {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-stock-name {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
    align-items: baseline;
    gap: 2px;
    font-size: 18px;
    overflow: visible;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-stock-name-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-stock-name.is-long-name {
    font-size: 15px;
  }
}

/* Retired duplicate viewport-only landscape rule. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 0px) {
  #intradayHighListModal:not(.hidden) {
    background: #eef2f4;
  }

  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary {
    position: relative;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}

/* Restore the original checkpoint size for the first stock column only. */
@media (orientation: landscape) and (max-width: 1400px) and (pointer: coarse) {
  [data-financial-compare-table] th.sticky-stock-column,
  [data-financial-compare-table] td.sticky-stock-column {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  #listTableWrap.is-table-focus th.sticky-stock-column,
  #listTableWrap.is-table-focus td.sticky-stock-column {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 96px !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
  }

  #listTableWrap.is-table-focus .list-fullscreen-return-hint {
    right: max(96px, calc(env(safe-area-inset-right, 0px) + 32px)) !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    width: max-content;
    white-space: nowrap;
  }
}

@media (orientation: landscape) and (max-width: 1180px) and (max-height: 540px) {
  #listSection.is-all-market-table #listTableWrap.is-table-focus th.sticky-stock-column,
  #listSection.is-all-market-table #listTableWrap.is-table-focus td.sticky-stock-column {
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
}

/* Unified responsive table contract (2026-07-29)
   One page layout, one scroll owner, and one landscape fullscreen behavior. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

.table-wrap,
.stock-query-details-content,
.financial-ranking-list,
.financial-compare-result,
.financial-compare-saved,
.industry-data-detail,
.historical-rating-result,
.new-high-history-result {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.table-wrap {
  width: 100%;
}

.table-wrap:not(.ranking-table-wrap):not(.industry-table-wrap) {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.stock-query-fullscreen-return-hint {
  display: none;
}

.table-expand-onboarding-hint {
  display: none;
}

@media (orientation: landscape) and (max-width: 932px) and (max-height: 600px)
       and (pointer: coarse),
       (orientation: landscape) and (max-width: 932px) and (max-height: 600px)
       and (hover: none) {
  :is(
    #listTableWrap,
    #stockQueryTableWrap,
    .industry-table-wrap,
    .new-high-history-table-wrap,
    .paid-rating-history-table,
    [data-financial-ranking-table],
    [data-financial-compare-table]
  ).has-table-expand-hint:not(.is-table-focus) {
    position: relative;
  }

  :is(
    #listTableWrap,
    #stockQueryTableWrap,
    .industry-table-wrap,
    .new-high-history-table-wrap,
    .paid-rating-history-table,
    [data-financial-ranking-table],
    [data-financial-compare-table]
  ).has-table-expand-hint:not(.is-table-focus) > .table-expand-onboarding-hint {
    position: sticky;
    z-index: 8;
    right: 10px;
    bottom: 10px;
    display: block;
    width: max-content;
    margin: -42px 10px 10px auto;
    padding: 7px 11px;
    border: 1px solid rgb(255 255 255 / 45%);
    border-radius: 999px;
    color: #fff;
    background: rgb(24 49 59 / 76%);
    box-shadow: 0 3px 10px rgb(15 35 43 / 20%);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  body.has-learned-table-expand .table-expand-onboarding-hint {
    display: none !important;
  }
}

@media (max-width: 1366px) and (pointer: coarse) {
  .table-wrap:not(.is-table-focus) {
    max-height: 72dvh;
    overflow-x: auto;
    overflow-y: auto;
  }

  .table-wrap .sticky-stock-column,
  #stockQueryTableWrap th:first-child,
  #stockQueryTableWrap td:first-child,
  #watchlistTableWrap th:first-child,
  #watchlistTableWrap td:first-child {
    box-sizing: border-box;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }
}

@media (min-width: 600px) and (max-width: 1366px) and (min-height: 600px)
       and (pointer: coarse) {
  #listSection > #listTableWrap:not(.is-table-focus) {
    height: auto;
    max-height: none;
    overflow-x: visible;
    overflow-y: visible;
  }
}

@media (orientation: portrait) and (max-width: 1366px) {
  .ranking-table-wrap.is-table-focus:not(#listTableWrap):not([data-financial-ranking-table]),
  #stockQueryTableWrap.is-table-focus,
  #watchlistTableWrap.is-table-focus,
  .new-high-history-table-wrap.is-table-focus,
  .paid-rating-history-table.is-table-focus,
  [data-financial-compare-table].is-table-focus {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 72dvh !important;
    margin: 0 !important;
    border: 1px solid #dde4ea !important;
    border-radius: 8px !important;
    overflow: auto !important;
    box-shadow: none !important;
  }

  #financialRankingPanel [data-financial-ranking-table].is-table-focus table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  #financialRankingPanel [data-financial-ranking-table].is-table-focus :is(th, td) {
    min-width: 0 !important;
    max-width: none !important;
  }

  .ranking-table-wrap.is-table-focus:not(#listTableWrap):not([data-financial-ranking-table]) .list-fullscreen-return-hint,
  #stockQueryTableWrap.is-table-focus .stock-query-fullscreen-return-hint,
  #watchlistTableWrap.is-table-focus .watchlist-fullscreen-return-hint,
  .new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint,
  .paid-rating-history-table.is-table-focus .paid-rating-fullscreen-return-hint {
    display: none !important;
  }

  @media (max-width: 720px) {
    body.table-fullscreen-open {
      overflow: hidden !important;
      overscroll-behavior: none;
    }

    #listTableWrap.is-table-focus,
    #financialRankingPanel [data-financial-ranking-table].is-table-focus,
    #industryDataPanel .industry-table-wrap.is-table-focus {
      position: fixed !important;
      top: var(--floating-vv-top-shift, 0px) !important;
      left: var(--floating-vv-left, 0px) !important;
      z-index: 1400 !important;
      box-sizing: border-box !important;
      width: var(--floating-vv-width, 100vw) !important;
      height: var(--floating-vv-height, 100dvh) !important;
      max-width: var(--floating-vv-width, 100vw) !important;
      max-height: var(--floating-vv-height, 100dvh) !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      overflow: auto !important;
      overscroll-behavior: contain;
      background: #fff !important;
      box-shadow: none !important;
      -webkit-overflow-scrolling: touch;
    }

    #listTableWrap.is-table-focus .list-fullscreen-return-hint,
    #financialRankingPanel [data-financial-ranking-table].is-table-focus .list-fullscreen-return-hint,
    #industryDataPanel .industry-table-wrap.is-table-focus .industry-fullscreen-return-hint {
      display: grid !important;
    }
  }
}

@media (orientation: landscape) and (max-width: 1366px) {
  body.table-fullscreen-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .historical-rating-result .paid-rating-history-table,
  .historical-rating-result .paid-rating-history-table.is-table-focus {
    overflow-x: hidden !important;
  }

  .historical-rating-result .paid-rating-history-table table,
  .historical-rating-result .paid-rating-history-table.is-table-focus table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  .historical-rating-result .paid-rating-history-table :is(th, td) {
    box-sizing: border-box;
    min-width: 0;
    padding: 7px 2px;
    overflow: hidden;
    font-size: clamp(12px, calc(22px - 1.3vh), 15px);
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(1) { width: 11%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(2) { width: 12%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(3) { width: 15%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(4) { width: 9%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(5) { width: 17%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(6) { width: 9%; }
  .historical-rating-result .legacy-rating-table :is(th, td):nth-child(7) { width: 27%; }

  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(1) {
    width: 11%;
    white-space: nowrap;
    overflow-wrap: normal;
  }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(2) { width: 12%; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(3) { width: 15%; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(4),
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(6) {
    width: 9%;
  }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(5) { width: 17%; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(7) {
    width: 27%;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .ranking-table-wrap.is-table-focus,
  .industry-table-wrap.is-table-focus,
  #stockQueryTableWrap.is-table-focus,
  #watchlistTableWrap.is-table-focus,
  .new-high-history-table-wrap.is-table-focus,
  .paid-rating-history-table.is-table-focus,
  [data-financial-ranking-table].is-table-focus,
  [data-financial-compare-table].is-table-focus {
    position: fixed !important;
    inset: auto !important;
    top: var(--floating-vv-top-shift, 0px) !important;
    left: var(--floating-vv-left, 0px) !important;
    z-index: 1400 !important;
    box-sizing: border-box !important;
    width: var(--floating-vv-width, 100vw) !important;
    height: var(--floating-vv-height, 100dvh) !important;
    max-width: var(--floating-vv-width, 100vw) !important;
    max-height: var(--floating-vv-height, 100dvh) !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    background: #fff !important;
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch;
  }

  .ranking-table-wrap.is-table-focus table,
  .industry-table-wrap.is-table-focus table,
  #stockQueryTableWrap.is-table-focus table,
  #watchlistTableWrap.is-table-focus table,
  .new-high-history-table-wrap.is-table-focus table,
  .paid-rating-history-table.is-table-focus table,
  [data-financial-compare-table].is-table-focus table {
    width: max-content !important;
    min-width: max-content !important;
    margin: 0 !important;
  }

  #financialRankingPanel [data-financial-ranking-table].is-table-focus table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
    margin: 0 !important;
  }

  .ranking-table-wrap.is-table-focus .sticky-stock-column,
  #stockQueryTableWrap.is-table-focus th:first-child,
  #stockQueryTableWrap.is-table-focus td:first-child,
  #watchlistTableWrap.is-table-focus th:first-child,
  #watchlistTableWrap.is-table-focus td:first-child,
  [data-financial-ranking-table].is-table-focus .sticky-stock-column,
  [data-financial-compare-table].is-table-focus .sticky-stock-column {
    box-sizing: border-box;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  .industry-table-wrap.is-table-focus .sticky-stock-column {
    box-sizing: border-box;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 96px !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
  }

  .ranking-table-wrap.is-table-focus:not(#listTableWrap) .list-fullscreen-return-hint,
  .industry-table-wrap.is-table-focus .industry-fullscreen-return-hint,
  #stockQueryTableWrap.is-table-focus .stock-query-fullscreen-return-hint,
  #watchlistTableWrap.is-table-focus .watchlist-fullscreen-return-hint,
  .new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint,
  .paid-rating-history-table.is-table-focus .paid-rating-fullscreen-return-hint {
    position: fixed !important;
    inset: auto !important;
    top: auto !important;
    left: calc(
      var(--floating-vv-left, 0px)
      + var(--floating-vv-width, 100vw)
      - 208px
    ) !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 1420 !important;
    display: block !important;
    box-sizing: border-box;
    width: 176px;
    max-width: 176px;
    min-height: 48px;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    padding: 6px 11px;
    overflow: hidden;
    background: rgba(23, 33, 43, 0.82) !important;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.18;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  .ranking-table-wrap.is-table-focus .list-fullscreen-return-hint strong,
  .ranking-table-wrap.is-table-focus .list-fullscreen-return-hint span,
  .industry-table-wrap.is-table-focus .industry-fullscreen-return-hint strong,
  .industry-table-wrap.is-table-focus .industry-fullscreen-return-hint span,
  #stockQueryTableWrap.is-table-focus .stock-query-fullscreen-return-hint strong,
  #stockQueryTableWrap.is-table-focus .stock-query-fullscreen-return-hint span,
  #watchlistTableWrap.is-table-focus .watchlist-fullscreen-return-hint strong,
  #watchlistTableWrap.is-table-focus .watchlist-fullscreen-return-hint span,
  .new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint strong,
  .new-high-history-table-wrap.is-table-focus .history-fullscreen-return-hint span,
  .paid-rating-history-table.is-table-focus .paid-rating-fullscreen-return-hint strong,
  .paid-rating-history-table.is-table-focus .paid-rating-fullscreen-return-hint span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (orientation: landscape) and (max-width: 1180px) and (max-height: 600px) {
  .historical-rating-result .historical-rating-grid {
    grid-template-columns: 1.35fr 1fr 1.15fr 1.15fr 0.8fr 1fr 0.85fr;
    gap: 4px;
  }

  .historical-rating-result .historical-rating-grid > div {
    min-width: 0;
    padding: 7px 4px;
    overflow: hidden;
    text-align: center;
  }

  .historical-rating-result .historical-rating-grid :is(span, strong) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .historical-rating-result .historical-rating-grid span {
    font-size: clamp(9px, 1.3vw, 11px);
  }

  .historical-rating-result .historical-rating-grid strong {
    font-size: clamp(11px, 1.55vw, 13px);
  }

  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(thead, tbody) {
    display: block;
    width: 100%;
  }

  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) tr {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1.15fr 1.15fr 0.8fr 1fr 0.85fr;
    width: 100%;
  }

  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td) {
    width: auto !important;
    padding-inline: 2px;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(1) { grid-column: 1; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(2) { grid-column: 2; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(3) { grid-column: 3; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(5) { grid-column: 4; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(6) { grid-column: 5; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(7) { grid-column: 6; }
  .historical-rating-result .paid-rating-history-table:not(.legacy-rating-table) :is(th, td):nth-child(4) { grid-column: 7; }
}

/* Close-summary table: keep every control and column inside the modal viewport. */
#intradayHighListModal,
#intradayHighListModal *,
#intradayHighListModal *::before,
#intradayHighListModal *::after {
  box-sizing: border-box;
}

.tablet-analysis-toolbar {
  display: none;
}

@media (orientation: landscape) and (min-width: 768px) and (max-width: 1366px) {
  body.is-tablet-landscape-workspace #clearFinancialAnalysisButton,
  body.is-tablet-landscape-workspace #clearIndustryAnalysisButton {
    display: none !important;
  }
}

#intradayHighListModal .intraday-list-heading,
#intradayHighListModal .intraday-close-tabs,
#intradayHighListModal .intraday-list-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 767px) and (orientation: portrait) {
  #intradayHighListModal .intraday-list-modal.is-close-summary {
    grid-template-rows: auto auto 50px minmax(0, 1fr);
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary #intradayHighListClose {
    position: relative;
    right: auto;
    display: block;
    min-width: 58px;
    max-width: 72px;
    margin: 0;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-close-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4px;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-close-tabs button {
    width: 100%;
    min-width: 0;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-wrap {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
  }
}

@media (orientation: landscape) and (max-height: 600px) and (max-width: 1400px) {
  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary {
    position: relative !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-heading {
    padding-right: 68px;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary #intradayHighListClose {
    position: absolute !important;
    top: 7px !important;
    right: max(9px, env(safe-area-inset-right, 0px)) !important;
    z-index: 12;
    display: block !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode tr {
    grid-template-columns:
      minmax(0, 17%)
      minmax(0, 10%)
      minmax(0, 11%)
      minmax(0, 11%)
      minmax(0, 9%)
      minmax(0, 10%)
      minmax(0, 9%)
      minmax(0, 8%)
      minmax(0, 15%) !important;
  }


  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.has-unappropriated-price tr {
    grid-template-columns:
      minmax(0, 14%)
      minmax(0, 8%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 14%)
      minmax(0, 10%)
      minmax(0, 7%)
      minmax(0, 9%)
      minmax(0, 11%) !important;
  }

  #intradayHighListModal:not(.is-phone-landscape-mode) .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode.is-intraday-summary-expanded tr {
    grid-template-columns:
      minmax(0, 13%)
      minmax(0, 7%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 8%)
      minmax(0, 9%)
      minmax(0, 9%)
      minmax(0, 7%)
      minmax(0, 7%)
      minmax(0, 10%)
      minmax(0, 12%) !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-close-wide-only {
    display: flex !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th,
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode td {
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
}

/* Retired duplicate of the phone toolbar; kept inert for rollback comparison. */
@media (orientation: landscape) and (max-width: 0px) and (pointer: coarse),
       (orientation: landscape) and (max-width: 0px) and (hover: none) {
  #intradayHighListModal .modal-panel.intraday-list-modal.is-close-summary:not(.has-list-analysis) {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    grid-template-rows: auto 42px minmax(0, 1fr) auto !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs,
  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs {
    display: grid !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    gap: 3px !important;
    padding: 3px !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs {
    grid-column: 1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs {
    grid-column: 2 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-tabs button,
  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-close-period-tabs button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 4px !important;
    font-size: clamp(12px, 1.7vw, 15px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  #intradayHighListModal .intraday-list-modal.is-close-summary:not(.has-list-analysis) > .intraday-list-note {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    line-height: 1.25 !important;
  }

  /* Match page-two sorting: highlight only the compact button, not the whole column. */
  #intradayHighListModal .intraday-list-modal.is-close-summary .intraday-list-table.is-close-mode th .table-sort-button {
    width: max-content !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }
}

/* Final watchlist fullscreen alignment override. It must follow the shared
   landscape rules, which otherwise force every focused table back to the
   left edge with an important margin declaration. */
@media (min-width: 768px) and (min-height: 600px) {
  #watchlistTableWrap.is-table-focus table {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Final desktop fullscreen alignment override. Keep the existing table
   widths and balance only the available space on the two sides. */
@media (min-width: 921px) and (pointer: fine) {
  .ranking-table-wrap.is-table-focus table,
  .industry-table-wrap.is-table-focus table,
  #stockQueryTableWrap.is-table-focus table,
  #watchlistTableWrap.is-table-focus table,
  .new-high-history-table-wrap.is-table-focus table,
  .paid-rating-history-table.is-table-focus table,
  [data-financial-ranking-table].is-table-focus table,
  [data-financial-compare-table].is-table-focus table {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Rebound summary metadata and non-phone table geometry. Phone landscape
   column ownership remains in the existing device-specific block above. */
#intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.has-list-analysis)
  :is(#intradayHighListEyebrow, #intradayHighListCount),
#intradayHighListModal .intraday-list-modal.is-rebound-summary:not(.has-list-analysis)
  > #intradayHighListNote {
  display: none !important;
}

#intradayHighListModal .intraday-list-modal.is-rebound-summary:not(.has-list-analysis)
  > .intraday-list-wrap {
  overflow-x: auto !important;
  overscroll-behavior-x: none;
  touch-action: pan-x pan-y;
}

#intradayHighListModal:not(.is-phone-landscape-mode):not(.is-tablet-landscape-mode)
  .intraday-list-modal.is-intraday-signal-summary
  .intraday-list-table.is-rebound-mode {
  width: 100% !important;
  min-width: 1160px !important;
  table-layout: fixed;
}

#intradayHighListModal:not(.is-phone-landscape-mode)
  .intraday-list-modal.is-intraday-signal-summary
  .intraday-list-table.is-close-mode.is-rebound-mode tr {
  grid-template-columns: 156px 82px 86px 88px 96px 78px 82px 70px 76px 70px 76px 82px 100px !important;
  width: 100% !important;
  min-width: 1160px !important;
}

#intradayHighListModal.is-tablet-landscape-mode
  .intraday-list-modal.is-intraday-signal-summary
  .intraday-list-table.is-rebound-mode {
  min-width: 0 !important;
}

#intradayHighListModal.is-tablet-landscape-mode
  .intraday-list-modal.is-intraday-signal-summary
  .intraday-list-table.is-close-mode.is-rebound-mode tr {
  grid-template-columns:
    minmax(0, 13.5%)
    minmax(0, 7%)
    minmax(0, 7%)
    minmax(0, 7.5%)
    minmax(0, 8%)
    minmax(0, 7%)
    minmax(0, 7%)
    minmax(0, 5.5%)
    minmax(0, 7%)
    minmax(0, 7%)
    minmax(0, 7.5%)
    minmax(0, 7%)
    minmax(0, 8%) !important;
  min-width: 0 !important;
}

#intradayHighListModal .intraday-list-table.is-rebound-mode :is(th, td) {
  box-sizing: border-box;
  min-width: 0;
  padding-inline: 7px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#intradayHighListModal .intraday-list-table.is-rebound-mode .intraday-rebound-time {
  color: #236c73;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}

#listSection.is-pullback-list #listTableWrap .compact-stock-name > span:last-child,
#intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.is-close-summary)
  .intraday-list-stock .intraday-stock-name,
#intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.is-close-summary)
  .intraday-close-stock .intraday-stock-name {
  font-size: 19px;
  line-height: 1.2;
}

@media (min-width: 1101px) and (pointer: fine) {
  #listSection.is-pullback-list #listTableWrap .compact-stock-name > span:last-child,
  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.is-close-summary)
    .intraday-list-stock .intraday-stock-name,
  #intradayHighListModal .intraday-list-modal.is-intraday-signal-summary:not(.is-close-summary)
    .intraday-close-stock .intraday-stock-name {
    font-size: 20px;
  }
}

/* Trend Stage reuses the existing compact financial-list table contract. */
#stageHomeEntry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 18px 0;
  padding: 18px 20px;
  border: 1px solid #b9d5e5;
  border-radius: 16px;
  background: linear-gradient(135deg, #edf8fc, #f8fbfd);
}

#stageHomeEntry h2 { margin: 2px 0 6px; }
#stageHomeEntry p { margin: 0; }
#stageHomeEntry > button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: #0d5b7a;
  color: #fff;
  font-weight: 800;
}

#listSection.is-stage-list .stage-tabs {
  display: grid;
  gap: 18px;
  margin-top: 20px;
  padding: 20px 22px 22px;
  border: 1px solid #e2ebef;
  border-radius: 18px;
  background: #f8fbfc;
}
#listSection.is-stage-list .stage-main-tabs,
#listSection.is-stage-list .stage-subtype-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#listSection.is-stage-list .stage-subtype-tabs.hidden { display: none; }
#listSection.is-stage-list .stage-subtype-tabs {
  align-items: center;
  min-height: 48px;
  padding-top: 16px;
  border-top: 1px solid #dfe9ed;
}
#listSection.is-stage-list .stage-tabs button {
  border: 1px solid #afc7d4;
  border-radius: 999px;
  padding: 11px 18px;
  background: #fff;
  color: #17364a;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  white-space: nowrap;
}

.stage-name-badge.is-breakdown-warning {
  border-color: #d69b35;
  background: #fff4d6;
  color: #9a5a00;
}
#listSection.is-stage-list .stage-main-tabs button {
  min-width: 138px;
  padding: 14px 20px;
  font-size: 1.08rem;
}
#listSection.is-stage-list .stage-tabs button span { margin-right: 9px; }
#listSection.is-stage-list .stage-tabs button small {
  font-size: .92em;
  font-weight: 800;
}
#listSection.is-stage-list .stage-tabs button.active {
  border-color: #0d5b7a;
  background: #0d5b7a;
  color: #fff;
}
#listSection.is-stage-list .stage-tabs .section-note { margin: 0; }

@media (min-width: 601px) {
  #listSection.is-stage-list > .list-heading {
    align-items: flex-start;
    margin-bottom: 0;
  }
  #listSection.is-stage-list > .list-heading > div { width: 100%; }
  #listSection.is-stage-list .list-title-line { margin-bottom: 10px; }
  #listSection.is-stage-list .list-meta-line {
    display: flex;
    align-items: center;
    gap: 0;
    color: #657984;
  }
  #listSection.is-stage-list .list-meta-line .date-text,
  #listSection.is-stage-list .list-meta-line .status-text {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
  }
  #listSection.is-stage-list .list-meta-line .status-text::before { margin: 0 18px; }
  #listSection.is-stage-list #listPaginationTop { margin-top: 18px; }
}

@media (max-width: 600px) {
  #stageHomeEntry { align-items: flex-start; flex-direction: column; gap: 12px; }
  #stageHomeEntry > button { width: 100%; }
  #listSection.is-stage-list .stage-tabs button { padding: 6px 9px; font-size: .84rem; }
}

@media (max-width: 600px) and (orientation: portrait) {
  #stageMobileControls {
    display: none;
  }

  #listSection.is-stage-list #stageMobileControls {
    display: block;
    margin: 10px 0 8px;
  }

  #listSection.is-stage-list #stageTabs {
    display: grid !important;
  }

  #listSection.is-stage-list .stage-tabs {
    display: grid;
    gap: 8px;
    position: relative;
    z-index: 2;
  }

  #listSection.is-stage-list .stage-main-tabs,
  #listSection.is-stage-list .stage-subtype-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border-bottom: 1px solid #d7e1e6;
  }

  #listSection.is-stage-list .stage-subtype-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5ecef;
  }

  #listSection.is-stage-list .stage-subtype-tabs.hidden {
    display: none;
  }

  #listSection.is-stage-list .stage-subtype-tabs button {
    padding: 5px 8px 6px;
    color: #71818a;
    font-size: 11px;
    font-weight: 700;
  }

  #listSection.is-stage-list .stage-tabs button {
    flex: 0 0 auto;
    min-width: auto;
    padding: 7px 10px 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #536773;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
  }

  #listSection.is-stage-list .stage-tabs button.active {
    border-bottom: 2px solid #0d5b7a;
    background: rgba(13, 91, 122, .07);
    color: #0d5b7a;
  }

  #listSection.is-stage-list .stage-tabs button small { display: none; }

  #listSection.is-stage-list #listTableWrap {
    overflow-x: auto;
  }

  #listSection.is-stage-list #listTableWrap table {
    width: max-content;
    min-width: 640px;
    table-layout: auto;
  }

  #listSection.is-stage-list #listTableWrap :is(th, td) {
    box-sizing: border-box;
    min-width: 72px;
    max-width: none;
    height: 42px;
    padding: 5px 7px;
    font-size: 14px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #listSection.is-stage-list #listTableWrap thead th {
    height: 36px;
    font-size: 12px;
  }

  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="stock"] { width: 130px; min-width: 130px; }
  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="close"] { width: 86px; min-width: 86px; }
  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="change"] { width: 82px; min-width: 82px; }
  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="pb"],
  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="constitution"],
  #listSection.is-stage-list #listTableWrap :is(th, td)[data-list-column="advantage"] { width: 76px; min-width: 76px; }

  #listSection.is-stage-list #listTableWrap :is(th, td):nth-child(1) {
    white-space: normal;
  }

  #listSection.is-stage-list #listTableWrap tbody td[data-list-column="stock"] {
    line-height: 1.15;
  }
}
