/* Shared functional-page rhythm. Home, chart geometry and financial states stay local. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/static/fonts/strategy/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/static/fonts/strategy/space-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/static/fonts/strategy/jetbrains-mono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

.ui-refined {
  --ui-ink: #16161a;
  --ui-body: #4b5563;
  --ui-meta: #646b77;
  --ui-line: #e8e8ea;
  --ui-line-strong: #d2d4d8;
  --ui-soft: #f6f6f7;
  --ui-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --ui-display: "Space Grotesk", "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;
  --ui-mono: "JetBrains Mono", "SF Mono", Consolas, "PingFang SC", "Microsoft YaHei", monospace;
  --ui-section-gap: 36px;
  --ui-title-gap: 12px;
  --ui-page-inset: 24px;
  color: var(--ui-ink);
  font-family: var(--ui-sans);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
.ui-refined :where(button, input, select, textarea) { font-family: var(--ui-sans); letter-spacing: 0; }
.ui-refined .site-main > .panel:not(.kline-page):not(.vip-page):not(.risk-warning-page):not(.strategy-center-panel) {
  padding: var(--ui-page-inset);
  border: 1px solid var(--ui-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}
.ui-refined .site-main :where(.hero-title, .strategy-dashboard-title, .mainline-hero h2) {
  margin-top: 0;
  font-family: var(--ui-display);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.ui-refined .site-main :where(.section-title, .mainline-section-head h3) {
  margin: 0;
  font-family: var(--ui-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}
.ui-refined :where(.featured-page, .hot-board-page, .profile-panel, .admin-panel, .wealth-ledger-page, .kl-industry-page) > .section-title-row {
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-bottom: 24px;
}
.ui-refined :where(.small, .muted, .footer-note) { color: var(--ui-meta); }
.ui-refined .site-main .btn { font-weight: 600; letter-spacing: 0; border-radius: 4px; }
.ui-refined .site-main .btn.secondary:not(.btn-featured-done):not(.is-active):not(.active):not(.danger) {
  border-color: var(--ui-line-strong);
  color: var(--ui-body);
  background: #fff;
  box-shadow: none;
}
.ui-refined .site-main .btn.secondary:not(.btn-featured-done):not(.is-active):not(.active):not(.danger):hover {
  border-color: #9ca3af;
  color: var(--ui-ink);
  background: var(--ui-soft);
}
.ui-refined .site-main .btn.secondary:not(.btn-featured-done):disabled { opacity: .5; cursor: not-allowed; }
.ui-refined .site-main .btn:focus-visible { outline: 2px solid #08735c; outline-offset: 3px; }
.ui-refined :where(.site-footer, .footer-note) { font-size: 12px; line-height: 1.7; }

/* Tables remain horizontally scrollable; no layout rules touch data visibility. */
.ui-refined .site-main :where(.table-wrap, .vip-table-wrap) { border-color: var(--ui-line); }
.ui-refined .site-main :where(table) { font-size: 13px; font-variant-numeric: tabular-nums; }
.ui-refined .site-main :where(th, td) { border-color: var(--ui-line); }
.ui-refined .site-main :where(th) {
  padding-top: 12px;
  padding-bottom: 12px;
  color: var(--ui-meta);
  background: var(--ui-soft);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}
.ui-refined .site-main :where(td) { padding-top: 13px; padding-bottom: 13px; }
.ui-refined .site-main :where(tbody tr:hover) { background: #fafafa; }
.ui-refined :where(.hot-board-code-cell, .vip-stock-code-link, .wealth-ledger-time) {
  font-family: var(--ui-mono);
  font-size: 12px;
  font-weight: 400;
}
.ui-refined :where(.screen-cell-name .kline-jump, .vip-stock-link, .featured-stock .kline-jump) {
  font-weight: 600;
  text-underline-offset: 4px;
}

/* Portfolio: tabs, compact metrics and clearly grouped sections. */
.ui-refined .vip-page {
  --vip-line: var(--ui-line);
  --vip-ink: var(--ui-ink);
  border-color: var(--ui-line);
  background: #fff;
}
.ui-refined .vip-page-toolbar { padding: 16px var(--ui-page-inset) 0; gap: 12px 20px; }
.ui-refined .vip-portfolio-tab { min-height: 38px; font-size: 14px; font-weight: 500; }
.ui-refined .vip-portfolio-tab:not(.premium):hover { color: var(--ui-ink); }
.ui-refined .vip-portfolio-tab:not(.premium).active { border-bottom-color: var(--ui-ink); font-weight: 600; }
.ui-refined .vip-page-meta { font-size: 11px; color: var(--ui-meta); }
.ui-refined .vip-risk-notice { margin: 16px var(--ui-page-inset) 0; }
.ui-refined .vip-risk-notice :where(strong, span) { font-size: 13px; }
.ui-refined .vip-stat-grid { margin: 24px var(--ui-page-inset) 0; }
.ui-refined .vip-stat-card { min-height: 72px; padding: 12px 10px; box-shadow: none; }
.ui-refined .vip-stat-card span { margin-bottom: 6px; font-size: 11px; color: var(--ui-meta); }
.ui-refined .vip-stat-card strong {
  font-family: var(--ui-sans);
  font-size: 17px;
  font-weight: 600;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1.35;
}
.ui-refined .vip-section { margin-top: var(--ui-section-gap); padding: 24px var(--ui-page-inset) 0; }
.ui-refined .vip-page .section-title { font-family: var(--ui-display); font-size: 22px; font-weight: 600; }
.ui-refined .vip-section > .section-title-row { gap: 12px 20px; margin-bottom: var(--ui-title-gap); }
.ui-refined :where(.vip-range-tabs, .vip-year-tabs) { border-color: var(--ui-line-strong); }
.ui-refined :where(.vip-range-tabs, .vip-year-tabs) button {
  min-height: 32px;
  color: var(--ui-meta);
  background: #fff;
  border-color: var(--ui-line);
  font-size: 12px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.ui-refined :where(.vip-range-tabs, .vip-year-tabs) button:hover,
.ui-refined :where(.vip-range-tabs, .vip-year-tabs) button.active { color: var(--ui-ink); background: var(--ui-soft); }
.ui-refined :where(.vip-range-tabs, .vip-year-tabs) button.active { font-weight: 700; box-shadow: inset 0 -2px var(--ui-ink); }
.ui-refined .vip-plan-card { border-color: var(--ui-line); border-top-width: 1px; border-radius: 4px; }
.ui-refined .vip-plan-card h4 { font-size: 15px; font-weight: 600; }

/* Featured: retain the progress rail and settlement colors, refine its reading hierarchy. */
.ui-refined .featured-pager { margin: 16px 0; }
.ui-refined .featured-row { padding-top: 20px; padding-bottom: 20px; border-color: var(--ui-line); }
.ui-refined .featured-stock { font-size: 18px; line-height: 1.5; font-weight: 600; }
.ui-refined .featured-stock > .muted { font-family: var(--ui-mono); font-size: 12px; font-weight: 400; }
.ui-refined .featured-when { color: var(--ui-meta); font-size: 12px; line-height: 1.7; }
.ui-refined .featured-byline { margin-top: 8px; font-size: 13px; line-height: 1.65; }
.ui-refined .featured-axis { border-color: var(--ui-line-strong); }
.ui-refined .wealth-balance-num { font-family: var(--ui-display); font-weight: 600; font-variant-numeric: tabular-nums; }

/* Strategy lists and industry detail use the same title/content spacing as the hub. */
.ui-refined .strategy-dashboard-head { gap: 12px 24px; margin-bottom: 24px; }
.ui-refined .hot-board-overview { padding: 0 0 24px; margin-bottom: 24px; background: transparent; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; }
.ui-refined .hot-board-page .section-title-row { gap: 12px 20px; margin-bottom: 12px; }
.ui-refined .hot-board-page .section-title { color: var(--ui-ink); font-size: 22px; }
.ui-refined .hot-board-page .table-wrap { margin-top: 12px; }
.ui-refined .mainline-page .mainline-hero h2 { font-size: 28px; line-height: 1.4; }
.ui-refined .mainline-page .mainline-section { margin-top: var(--ui-section-gap); }
.ui-refined .mainline-page .mainline-section-head { margin-bottom: var(--ui-title-gap); }
.ui-refined .mainline-page .mainline-section-head h3 { font-size: 22px; }
.ui-refined .rw-section > h3 { margin: 0 0 12px; color: var(--ui-ink); font-family: var(--ui-display); font-size: 22px; font-weight: 600; line-height: 1.4; }
.ui-refined .rw-page-head { padding: 24px; }
.ui-refined .rw-section { padding: 24px; border-color: var(--ui-line); }

/* Reading pages: quiet metadata, comfortable line length and closer heading/body grouping. */
.ui-refined .intelligence-page { font-family: var(--ui-sans); }
.ui-refined .intelligence-section-nav { gap: 8px; margin-bottom: 24px; }
.ui-refined .intelligence-section-nav a { min-height: 36px; padding: 7px 14px; font-size: 14px; font-weight: 500; }
.ui-refined .intelligence-article-heading { padding-bottom: 16px; margin-bottom: 0; border-bottom: 1px solid var(--ui-line); }
.ui-refined .intelligence-article-heading h2,
.ui-refined .intelligence-research-heading h1 {
  max-width: 100%;
  font-family: var(--ui-display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.ui-refined .intelligence-article-meta { margin-top: 12px; color: var(--ui-meta); font-size: 12px; }
.ui-refined .intelligence-article-body { padding: 20px 0 0; color: var(--ui-body); font-size: 16px; line-height: 1.9; }
.ui-refined .intelligence-article-body h2 { margin: 36px 0 12px; padding-top: 20px; font-size: 22px; border-color: var(--ui-line); }
.ui-refined .intelligence-article-body h3 { margin: 28px 0 10px; font-size: 18px; }
.ui-refined .intelligence-article-body :where(h2, h3) { color: var(--ui-ink); font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.ui-refined .intelligence-article-body p { margin: 0 0 16px; }
/* The opening belongs to the article header, not a separated later section. */
.ui-refined .intelligence-article-body > :first-child { margin-top: 0; }
.ui-refined .intelligence-article-body > :is(h2, h3):first-child { padding-top: 0; border-top: 0; }
.ui-refined .intelligence-timeline-title { font-size: 13px; line-height: 1.65; }
.ui-refined .intelligence-timeline-date time { font-family: var(--ui-mono); font-size: 12px; letter-spacing: 0; }
.ui-refined .intelligence-comments { margin-top: 36px; padding-top: 24px; border-color: var(--ui-line); }
.ui-refined .intelligence-comments-heading { margin-bottom: 16px; }
.ui-refined .intelligence-comments-heading h2 { font-family: var(--ui-display); font-size: 22px; font-weight: 600; }
.ui-refined .intelligence-comment-item { padding: 20px 0; border-color: var(--ui-line); }
.ui-refined .intelligence-research-list article { padding: 24px 0; gap: 20px; }
.ui-refined .intelligence-research-list h2 { margin: 0 0 8px; font-size: 18px; font-weight: 600; line-height: 1.6; }
.ui-refined .intelligence-research-list time { font-family: var(--ui-mono); font-size: 12px; }
.ui-refined .intelligence-research-list p { color: var(--ui-meta); font-size: 14px; line-height: 1.75; }
.ui-refined .intelligence-research-filters { margin: 20px 0; gap: 8px; }

/* Account forms retain their validation and disabled states. */
.ui-refined :where(.profile-panel, .login-panel) .row { margin-bottom: 16px; }
.ui-refined :where(.profile-panel, .login-panel) label { margin-bottom: 8px; color: var(--ui-body); font-size: 13px; font-weight: 500; }
.ui-refined :where(.profile-panel, .login-panel) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) {
  min-height: 44px;
  padding: 10px 12px;
  border-color: var(--ui-line-strong);
  border-radius: 4px;
  font-size: 16px;
}
.ui-refined .login-panel .btn[type="submit"] { min-height: 44px; width: 100%; }
.ui-refined .admin-panel > .hero-title { margin-bottom: 24px; }
.ui-refined .admin-activity-panel > .section-title-row { margin-bottom: 16px; }

/* Only the stock heading adopts shared type; fullscreen and canvas sizing stay untouched. */
.ui-refined .kline-page .kl-stock-header .hero-title { font-family: var(--ui-display); font-size: 23px; font-weight: 600; }
.ui-refined .kl-stock-header .hero-title > .muted { font-family: var(--ui-mono); font-size: 13px; font-weight: 400; }

@media (max-width: 1024px) {
  .ui-refined .vip-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ui-refined { --ui-section-gap: 28px; --ui-page-inset: 16px; }
  .ui-refined .site-main :where(.hero-title, .strategy-dashboard-title) { font-size: 24px; }
  .ui-refined .site-main :where(.section-title, .mainline-section-head h3) { font-size: 20px; }
  .ui-refined .vip-page .section-title,
  .ui-refined .hot-board-page .section-title,
  .ui-refined .mainline-page .mainline-section-head h3,
  .ui-refined .rw-section > h3 { font-size: 20px; }
  .ui-refined .vip-section { padding-top: 20px; }
  .ui-refined .vip-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui-refined .vip-stat-card { padding: 10px 8px; min-height: 66px; }
  .ui-refined .vip-stat-card strong { font-size: 16px; }
  .ui-refined .vip-portfolio-tab { padding-left: 10px; padding-right: 10px; font-size: 13px; }
  .ui-refined .vip-portfolio-tab.premium { margin-left: 16px; }
  .ui-refined .vip-risk-notice { flex-wrap: wrap; gap: 4px 8px; }
  .ui-refined .featured-row { padding-top: 16px; padding-bottom: 16px; }
  .ui-refined .featured-stock { font-size: 17px; }
  .ui-refined .mainline-page .mainline-hero h2 { font-size: 24px; }
  .ui-refined :where(.rw-page-head, .rw-section) { padding: 20px 16px; }
  .ui-refined .intelligence-article-heading h2,
  .ui-refined .intelligence-research-heading h1 { font-size: 24px; }
  .ui-refined .intelligence-article-body h2 { margin-top: 28px; font-size: 20px; }
  .ui-refined .intelligence-article-body h3 { margin-top: 24px; font-size: 17px; }
  .ui-refined .intelligence-research-list article { padding: 20px 0; gap: 12px; }
  .ui-refined .intelligence-research-list h2 { font-size: 17px; }
  .ui-refined .kline-page .kl-stock-header .hero-title { font-size: 20px; }
}
