/*
 * Runtime translation of shadcn preset b2DcTIQK0 for the deployed Vue 2 site.
 * Source preset: base-rhea / neutral / green / Inter / 0.625rem radius / Lucide.
 */
:root {
  --rhea-background: oklch(1 0 0);
  --rhea-foreground: oklch(0.145 0 0);
  --rhea-card: oklch(1 0 0);
  --rhea-card-foreground: oklch(0.145 0 0);
  --rhea-popover: oklch(1 0 0);
  --rhea-popover-foreground: oklch(0.145 0 0);
  --rhea-primary: oklch(0.527 0.154 150.069);
  --rhea-primary-foreground: oklch(0.982 0.018 155.826);
  --rhea-secondary: oklch(0.967 0.001 286.375);
  --rhea-secondary-foreground: oklch(0.21 0.006 285.885);
  --rhea-muted: oklch(0.97 0 0);
  --rhea-muted-foreground: oklch(0.556 0 0);
  --rhea-accent: oklch(0.97 0 0);
  --rhea-accent-foreground: oklch(0.205 0 0);
  --rhea-destructive: oklch(0.577 0.245 27.325);
  --rhea-border: oklch(0.922 0 0);
  --rhea-input: oklch(0.922 0 0);
  --rhea-ring: oklch(0.708 0 0);
  --rhea-chart-1: oklch(0.845 0.143 164.978);
  --rhea-chart-2: oklch(0.696 0.17 162.48);
  --rhea-chart-3: oklch(0.596 0.145 163.225);
  --rhea-chart-4: oklch(0.508 0.118 165.612);
  --rhea-chart-5: oklch(0.432 0.095 166.913);
  --rhea-radius: 0.625rem;
  --rhea-radius-sm: calc(var(--rhea-radius) * 0.6);
  --rhea-radius-md: calc(var(--rhea-radius) * 0.8);
  --rhea-radius-lg: var(--rhea-radius);
  --rhea-radius-xl: calc(var(--rhea-radius) * 1.4);
  --rhea-radius-2xl: calc(var(--rhea-radius) * 1.8);
  --rhea-sidebar: oklch(0.985 0 0);
  --rhea-sidebar-foreground: oklch(0.145 0 0);
  --rhea-sidebar-primary: oklch(0.627 0.194 149.214);
  --rhea-sidebar-primary-foreground: oklch(0.982 0.018 155.826);
  --rhea-sidebar-accent: oklch(0.97 0 0);
  --rhea-sidebar-accent-foreground: oklch(0.205 0 0);
  --rhea-sidebar-border: oklch(0.922 0 0);
  --rhea-sidebar-ring: oklch(0.708 0 0);

  --button-primary: var(--rhea-primary);
  --button-primary-hover: oklch(0.448 0.119 151.328);
  --button-primary-foreground: var(--rhea-primary-foreground);
  --button-primary-light: oklch(0.845 0.143 164.978);
  --button-secondary: var(--rhea-secondary);
  --button-secondary-hover: var(--rhea-accent);
  --button-secondary-foreground: var(--rhea-secondary-foreground);
  --button-border: var(--rhea-border);
  --button-focus: color-mix(in oklab, var(--rhea-primary) 26%, transparent);

  --el-color-primary: var(--rhea-primary);
  --el-color-primary-light-3: color-mix(in oklab, var(--rhea-primary) 70%, white);
  --el-color-primary-light-5: color-mix(in oklab, var(--rhea-primary) 50%, white);
  --el-color-primary-light-7: color-mix(in oklab, var(--rhea-primary) 30%, white);
  --el-color-primary-light-8: color-mix(in oklab, var(--rhea-primary) 20%, white);
  --el-color-primary-light-9: color-mix(in oklab, var(--rhea-primary) 10%, white);
  --el-color-primary-dark-2: color-mix(in oklab, var(--rhea-primary) 82%, black);
  --el-color-danger: var(--rhea-destructive);
  --el-bg-color: var(--rhea-background);
  --el-bg-color-overlay: var(--rhea-popover);
  --el-fill-color: var(--rhea-muted);
  --el-fill-color-light: oklch(0.985 0 0);
  --el-fill-color-lighter: oklch(0.99 0 0);
  --el-fill-color-extra-light: oklch(0.995 0 0);
  --el-fill-color-blank: var(--rhea-background);
  --el-text-color-primary: var(--rhea-foreground);
  --el-text-color-regular: oklch(0.32 0 0);
  --el-text-color-secondary: var(--rhea-muted-foreground);
  --el-text-color-placeholder: oklch(0.708 0 0);
  --el-border-color: var(--rhea-border);
  --el-border-color-light: oklch(0.94 0 0);
  --el-border-color-lighter: oklch(0.96 0 0);
  --el-border-radius-base: var(--rhea-radius-md);
  --el-border-radius-small: var(--rhea-radius-sm);
  --el-box-shadow-light: 0 1px 2px rgb(0 0 0 / 0.04), 0 6px 16px rgb(0 0 0 / 0.04);
}

.dark {
  --rhea-background: oklch(0.145 0 0);
  --rhea-foreground: oklch(0.985 0 0);
  --rhea-card: oklch(0.205 0 0);
  --rhea-card-foreground: oklch(0.985 0 0);
  --rhea-popover: oklch(0.205 0 0);
  --rhea-popover-foreground: oklch(0.985 0 0);
  --rhea-primary: oklch(0.448 0.119 151.328);
  --rhea-primary-foreground: oklch(0.982 0.018 155.826);
  --rhea-secondary: oklch(0.274 0.006 286.033);
  --rhea-secondary-foreground: oklch(0.985 0 0);
  --rhea-muted: oklch(0.269 0 0);
  --rhea-muted-foreground: oklch(0.708 0 0);
  --rhea-accent: oklch(0.269 0 0);
  --rhea-accent-foreground: oklch(0.985 0 0);
  --rhea-destructive: oklch(0.704 0.191 22.216);
  --rhea-border: oklch(1 0 0 / 10%);
  --rhea-input: oklch(1 0 0 / 15%);
  --rhea-ring: oklch(0.556 0 0);
  --rhea-sidebar: oklch(0.205 0 0);
  --rhea-sidebar-foreground: oklch(0.985 0 0);
  --rhea-sidebar-primary: oklch(0.723 0.219 149.579);
  --rhea-sidebar-primary-foreground: oklch(0.982 0.018 155.826);
  --rhea-sidebar-accent: oklch(0.269 0 0);
  --rhea-sidebar-accent-foreground: oklch(0.985 0 0);
  --rhea-sidebar-border: oklch(1 0 0 / 10%);
  --rhea-sidebar-ring: oklch(0.556 0 0);
}

html,
body,
button,
input,
select,
textarea {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body:not(:has(.login-container)) {
  color: var(--rhea-foreground);
  background: var(--rhea-background);
}

::selection {
  color: var(--rhea-primary-foreground);
  background: var(--rhea-primary);
}

*:focus-visible {
  outline-color: var(--rhea-ring);
}

/* Buttons: compact Rhea geometry, green primary, quiet neutral secondary. */
html body .el-button:not(.is-circle):not(.is-link):not(.is-text),
html body :is(
  .button,
  .command-button,
  .backtest-primary-command,
  .backtest-secondary-command,
  .backtest-secondary-search-command,
  .holdings-primary-button,
  .holdings-secondary-button,
  .holdings-danger-button,
  .technical-primary-button,
  .technical-secondary-button,
  .technical-search-submit,
  .stock-detail-search-button,
  .snapshot-button,
  .add-blog-btn,
  .add-intelligence-btn,
  .edit-column-btn,
  .manage-category-btn,
  .copy-btn
) {
  min-height: 36px;
  border-radius: var(--rhea-radius-md) !important;
  font-weight: 600;
  letter-spacing: 0;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
}

html body .el-button--primary:not(.is-plain):not(.is-circle),
html body :is(
  .button--primary,
  .backtest-primary-command,
  .holdings-primary-button,
  .technical-primary-button,
  .technical-search-submit,
  .stock-detail-search-button,
  .snapshot-button-primary,
  .add-blog-btn,
  .add-intelligence-btn,
  .copy-btn
) {
  border-color: var(--rhea-primary) !important;
  color: var(--rhea-primary-foreground) !important;
  background: var(--rhea-primary) !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 5px 12px color-mix(in oklab, var(--rhea-primary) 14%, transparent) !important;
}

html body .el-button--primary:not(.is-plain):not(.is-circle):hover,
html body :is(
  .button--primary,
  .backtest-primary-command,
  .holdings-primary-button,
  .technical-primary-button,
  .technical-search-submit,
  .stock-detail-search-button,
  .snapshot-button-primary,
  .add-blog-btn,
  .add-intelligence-btn,
  .copy-btn
):hover {
  border-color: var(--button-primary-hover) !important;
  color: var(--rhea-primary-foreground) !important;
  background: var(--button-primary-hover) !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.09), 0 7px 16px color-mix(in oklab, var(--rhea-primary) 18%, transparent) !important;
  transform: translateY(-1px);
}

html body :is(
  .el-button--primary,
  .button--primary,
  .backtest-primary-command,
  .holdings-primary-button,
  .technical-primary-button,
  .technical-search-submit,
  .stock-detail-search-button,
  .snapshot-button-primary,
  .add-blog-btn,
  .add-intelligence-btn,
  .copy-btn
)::before,
html body :is(
  .el-button--primary,
  .button--primary,
  .backtest-primary-command,
  .holdings-primary-button,
  .technical-primary-button,
  .technical-search-submit,
  .stock-detail-search-button,
  .snapshot-button-primary,
  .add-blog-btn,
  .add-intelligence-btn,
  .copy-btn
)::after {
  display: none !important;
}

html body :is(
  .el-button--default,
  .el-button--primary.is-plain,
  .button--secondary,
  .button--ghost,
  .command-button,
  .backtest-secondary-command,
  .backtest-secondary-search-command,
  .holdings-secondary-button,
  .technical-secondary-button,
  .snapshot-button:not(.snapshot-button-primary),
  .edit-column-btn,
  .manage-category-btn
) {
  border-color: var(--rhea-border) !important;
  color: var(--rhea-secondary-foreground) !important;
  background: var(--rhea-secondary) !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.04) !important;
}

html body :is(
  .el-button--default,
  .el-button--primary.is-plain,
  .button--secondary,
  .button--ghost,
  .command-button,
  .backtest-secondary-command,
  .backtest-secondary-search-command,
  .holdings-secondary-button,
  .technical-secondary-button,
  .snapshot-button:not(.snapshot-button-primary),
  .edit-column-btn,
  .manage-category-btn
):hover {
  border-color: color-mix(in oklab, var(--rhea-border) 72%, var(--rhea-foreground)) !important;
  color: var(--rhea-accent-foreground) !important;
  background: var(--rhea-accent) !important;
}

/* Inputs and form controls. */
html body :is(.el-input__wrapper, .el-textarea__inner, .el-select__wrapper, .el-date-editor.el-input__wrapper),
html body input:not(.el-input__inner):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html body select,
html body textarea {
  border-color: var(--rhea-input);
  border-radius: var(--rhea-radius-md) !important;
  color: var(--rhea-foreground);
  background: var(--rhea-background);
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.03);
}

html body :is(.el-input__wrapper, .el-textarea__inner, .el-select__wrapper):hover {
  border-color: color-mix(in oklab, var(--rhea-input) 72%, var(--rhea-foreground));
}

html body :is(.el-input__wrapper.is-focus, .el-select__wrapper.is-focused),
html body input:not(.el-input__inner):focus-visible,
html body :is(select, textarea):focus-visible {
  border-color: var(--rhea-ring) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--rhea-ring) 22%, transparent) !important;
  outline: none;
}

/* Cards, panels, overlays and elevated surfaces. */
html body :is(
  .el-card,
  .el-dialog,
  .el-message-box,
  .el-drawer,
  .el-popover.el-popper,
  .el-dropdown-menu,
  .el-select-dropdown,
  .blog-card,
  .post-card,
  .holdings-card,
  .detail-card,
  .question-card,
  .filter-card,
  .charts-container,
  .study-panel,
  .snapshot-card
) {
  border: 1px solid var(--rhea-border) !important;
  border-radius: var(--rhea-radius-lg) !important;
  color: var(--rhea-card-foreground);
  background: var(--rhea-card) !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.035), 0 8px 22px rgb(0 0 0 / 0.045) !important;
}

html body :is(.el-dialog__header, .el-drawer__header, .el-message-box__header) {
  margin: 0;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--rhea-border);
}

html body :is(.el-dialog__footer, .el-drawer__footer) {
  padding: 14px 20px 18px;
  border-top: 1px solid var(--rhea-border);
  background: var(--rhea-muted);
}

html body .el-overlay {
  background: rgb(0 0 0 / 0.42);
  backdrop-filter: blur(3px);
}

/* Tables use neutral surfaces and a subtle green interaction tint. */
html body :is(.el-table, table) {
  color: var(--rhea-foreground);
  background: var(--rhea-card);
}

html body .el-table th.el-table__cell,
html body table thead th {
  color: var(--rhea-muted-foreground);
  background: var(--rhea-muted) !important;
  border-color: var(--rhea-border) !important;
  font-weight: 600;
}

html body .el-table td.el-table__cell,
html body table tbody td {
  border-color: var(--rhea-border);
}

html body .el-table__body tr:hover > td.el-table__cell,
html body table tbody tr:hover > td {
  background: color-mix(in oklab, var(--rhea-primary) 7%, var(--rhea-background)) !important;
}

/* Navigation, tabs and side tools. The existing floating glass header behavior is preserved. */
html body :is(.main-tab-item, .nav-tab, [role="tab"]) {
  border-radius: var(--rhea-radius-md);
  color: var(--rhea-muted-foreground);
  font-weight: 550;
}

html body :is(.main-tab-item, .nav-tab, [role="tab"]):hover {
  color: var(--rhea-accent-foreground);
  background: var(--rhea-accent);
}

html body :is(.main-tab-item.active, .nav-tab.active, [role="tab"][aria-selected="true"]) {
  color: var(--rhea-primary-foreground) !important;
  background: var(--rhea-primary) !important;
  border-color: var(--rhea-primary) !important;
  font-weight: 650;
}

html body :is(.sidebar, .tool-sidebar, .study-tabs, .filter-panel) {
  border-color: var(--rhea-sidebar-border);
  color: var(--rhea-sidebar-foreground);
  background: var(--rhea-sidebar);
}

html body .study-hero {
  border: 1px solid color-mix(in oklab, var(--rhea-primary) 66%, black) !important;
  border-radius: var(--rhea-radius-lg) !important;
  color: var(--rhea-primary-foreground) !important;
  background: linear-gradient(135deg, oklch(0.31 0.09 153), var(--rhea-primary)) !important;
  box-shadow: 0 10px 26px color-mix(in oklab, var(--rhea-primary) 18%, transparent) !important;
}

/* Tags, badges, status surfaces and pagination. */
html body :is(.el-tag, .panel-badge, .tab-count, .badge) {
  border-color: color-mix(in oklab, var(--rhea-primary) 22%, var(--rhea-border));
  border-radius: var(--rhea-radius-sm);
  color: var(--rhea-primary);
  background: color-mix(in oklab, var(--rhea-primary) 8%, var(--rhea-background));
  font-weight: 600;
}

html body :is(.el-pagination button, .el-pager li) {
  border-radius: var(--rhea-radius-sm);
  color: var(--rhea-muted-foreground);
  background: var(--rhea-secondary);
}

html body .el-pager li.is-active {
  color: var(--rhea-primary-foreground);
  background: var(--rhea-primary);
}

html body :is(.el-alert, .search-result-info, .holdings-notice) {
  border-radius: var(--rhea-radius-md);
  box-shadow: none;
}

/* Align the immersive sign-in view with the same green Rhea accent. */
body:has(.login-container) .market-background[data-v-031315f2] {
  background-image:
    radial-gradient(ellipse 72% 48% at 50% -4%, color-mix(in oklab, var(--rhea-primary) 44%, transparent), transparent 72%),
    radial-gradient(circle at 20% 34%, color-mix(in oklab, var(--rhea-chart-2) 20%, transparent), transparent 32%),
    radial-gradient(circle at 82% 70%, color-mix(in oklab, var(--rhea-primary) 22%, transparent), transparent 34%),
    linear-gradient(180deg, oklch(0.18 0.045 153) 0%, oklch(0.105 0.022 153) 48%, oklch(0.06 0.008 153) 100%) !important;
}

body:has(.login-container) .market-background[data-v-031315f2]::before,
body:has(.login-container) .market-background[data-v-031315f2]::after {
  background: color-mix(in oklab, var(--rhea-primary) 22%, transparent);
}

body:has(.login-container) .login-card[data-v-031315f2] {
  border-radius: var(--rhea-radius-lg) !important;
  background:
    radial-gradient(circle at var(--login-pointer-x) var(--login-pointer-y), color-mix(in oklab, var(--rhea-primary) 9%, transparent), transparent 36%),
    rgba(8, 13, 10, 0.72) !important;
}

body:has(.login-container) :is(.logo-icon, .captcha-image, .login-form .el-input__wrapper, .el-button.login-button) {
  border-radius: var(--rhea-radius-md) !important;
}

body:has(.login-container) .login-form[data-v-031315f2] .el-input__inner {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:has(.login-container) .login-form[data-v-031315f2] .el-input__wrapper.is-focus {
  border-color: color-mix(in oklab, var(--rhea-primary) 68%, white) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--rhea-primary) 20%, transparent) !important;
}

body:has(.login-container) .el-button.login-button[data-v-031315f2] {
  border-color: var(--rhea-primary) !important;
  color: var(--rhea-primary-foreground) !important;
  background: var(--rhea-primary) !important;
}

body:has(.login-container) .el-button.login-button[data-v-031315f2]:hover {
  border-color: var(--button-primary-hover) !important;
  color: var(--rhea-primary-foreground) !important;
  background: var(--button-primary-hover) !important;
}

/* Keep the compact stock-detail search action inside its 38px form shell. */
html body .stock-detail-page-header .stock-detail-search-button {
  align-self: center;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0;
  padding-block: 0;
  line-height: 1;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--rhea-primary) 14%, transparent) !important;
  transform: none !important;
}

html body .stock-detail-page-header .stock-detail-search-button:hover,
html body .stock-detail-page-header .stock-detail-search-button:active {
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--rhea-primary) 20%, transparent) !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    scroll-behavior: auto !important;
  }
}
