/* Keep the source-language HTML out of the first English paint. */
html[data-i18n-pending="true"] body { visibility: hidden; }

:root {
  /*
   * AuSpace semantic color tokens.
   * Components consume the compatibility aliases below instead of declaring
   * page-specific colors, so light and dark themes stay visually identical.
   */
  --color-bg-page: #FFFFFF;
  --color-bg-sidebar: #F9F9F9;
  --color-bg-surface: #F4F4F4;
  --color-bg-elevated: #FFFFFF;
  --color-bg-hover: #EFEFEF;
  --color-bg-selected: #E8E8E8;
  --color-fg-primary: #0D0D0D;
  --color-fg-secondary: #5D5D5D;
  --color-fg-tertiary: #8F8F8F;
  --color-border-subtle: rgba(0, 0, 0, 0.08);
  --color-border-default: rgba(0, 0, 0, 0.12);
  --color-accent-ring: #2F75E8;
  --color-border-focus: var(--color-accent-ring);
  --color-action-primary: var(--color-accent);
  --color-action-primary-hover: var(--color-accent-hover);
  --color-action-primary-text: var(--color-accent-contrast);
  --color-focus-ring: color-mix(in srgb, var(--color-accent-ring) 28%, transparent);
  --color-tooltip: #2F2F2F;
  --color-tooltip-text: #F4F4F4;
  --color-print-page: #FFFFFF;
  --color-print-text: #111111;

  /*
   * Blue is the first-paint accent. The neutral gray swatch remains an
   * explicit user choice, while financial direction colors stay separate.
   */
  --color-accent: #3A83F7;
  --color-accent-hover: #2F75E8;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 10%, transparent);
  --color-accent-border: color-mix(in srgb, var(--color-accent) 34%, transparent);
  --color-accent-contrast: #FFFFFF;
  --color-up: rgb(242, 54, 69);
  --color-up-strong: #B91C1C;
  --color-up-soft: rgba(242, 54, 69, 0.10);
  --color-down: #009838;
  --color-down-strong: #007A2D;
  --color-down-soft: rgba(0, 152, 56, 0.10);
  --color-success: var(--color-fg-secondary);
  --color-danger: var(--color-fg-secondary);
  --color-warning: var(--color-fg-secondary);
  --color-info: var(--color-accent);
  --color-info-soft: var(--color-accent-soft);

  /* Surface aliases used by the shared component layer. */
  --color-canvas: var(--color-bg-page);
  --color-sidebar: var(--color-bg-sidebar);
  --color-surface: var(--color-bg-surface);
  --color-surface-secondary: var(--color-bg-surface);
  --color-surface-elevated: var(--color-bg-elevated);
  --color-hover: var(--color-bg-hover);
  --color-selected: var(--color-bg-selected);
  --color-text: var(--color-fg-primary);
  --color-text-secondary: var(--color-fg-secondary);
  --color-text-tertiary: var(--color-fg-tertiary);
  --color-border: var(--color-border-subtle);
  --color-border-strong: var(--color-border-default);
  --color-primary: var(--color-accent);
  --color-primary-hover: var(--color-accent-hover);
  --color-primary-contrast: var(--color-accent-contrast);
  --focus-ring: var(--color-focus-ring);
  --overlay: rgba(13, 13, 13, 0.38);
  --shadow-subtle: none;
  --shadow-popover: 0 8px 24px rgba(13, 13, 13, 0.08);
  --shadow-dialog: 0 20px 56px rgba(13, 13, 13, 0.12);
  --content-surface-border: 0;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --control-height: 40px;
  --header-height: 60px;
  --content-max: 1320px;
  --reading-max: 760px;
  --transition-fast: 160ms ease;
  --transition-base: 200ms ease;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease: var(--ease-out);
  --cyan: var(--color-info);
  --font-sans: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;

  /* Compatibility aliases used by the existing feature modules. */
  --canvas: var(--color-canvas);
  --paper: var(--color-surface);
  --paper-2: var(--color-surface);
  --paper-soft: var(--color-surface-secondary);
  --black: var(--color-canvas);
  --ink: var(--color-text);
  --ink-strong: var(--color-text);
  --muted: var(--color-text-secondary);
  --faint: var(--color-text-tertiary);
  --line: var(--color-border);
  --line-strong: var(--color-border-strong);
  --blue: var(--color-accent);
  --blue-deep: var(--color-accent-hover);
  --blue-soft: var(--color-accent-soft);
  --gold: var(--color-accent);
  --gold-light: var(--color-accent);
  --gold-soft: var(--color-accent-soft);
  --bullish: var(--color-up);
  --bullish-deep: var(--color-up-strong);
  --bullish-soft: var(--color-up-soft);
  --bearish: var(--color-down);
  --bearish-deep: var(--color-down-strong);
  --bearish-soft: var(--color-down-soft);
  --neutral: var(--color-text-tertiary);
  --neutral-deep: var(--color-text-secondary);
  --neutral-soft: var(--color-surface-secondary);
  --up: var(--color-up);
  --down: var(--color-down);
  --red: var(--color-up);
  --red-soft: var(--color-up-soft);
  --green: var(--color-down);
  --green-soft: var(--color-down-soft);
  --success: var(--color-success);
  --danger: var(--color-danger);
  --navy: var(--color-primary);
  --shadow: var(--shadow-subtle);
  --shadow-soft: var(--shadow-subtle);
  --shadow-raised: var(--shadow-popover);
  --chart-grid: rgba(13, 13, 13, 0.10);
  --chart-axis: var(--color-text-tertiary);
  --chart-line: var(--color-accent);
  --chart-point-stroke: var(--color-surface);
  --chart-up: var(--color-up);
  --chart-down: var(--color-down);
  color-scheme: light;
}

html[data-theme="dark"] {
  --color-bg-page: #212121;
  --color-bg-sidebar: #171717;
  --color-bg-surface: #303030;
  --color-bg-elevated: #303030;
  --color-bg-hover: #2F2F2F;
  --color-bg-selected: #383838;
  --color-fg-primary: #F4F4F4;
  --color-fg-secondary: #B4B4B4;
  --color-fg-tertiary: #8A8A8A;
  --color-border-subtle: rgba(255, 255, 255, 0.08);
  --color-border-default: rgba(255, 255, 255, 0.12);
  --color-accent-ring: #8DB8FB;
  --color-border-focus: var(--color-accent-ring);
  --color-action-primary: var(--color-accent);
  --color-action-primary-hover: var(--color-accent-hover);
  --color-action-primary-text: var(--color-accent-contrast);
  --color-focus-ring: color-mix(in srgb, var(--color-accent-ring) 34%, transparent);
  --color-tooltip: #F4F4F4;
  --color-tooltip-text: #171717;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 18%, transparent);
  --color-accent-border: color-mix(in srgb, var(--color-accent) 46%, transparent);
  --color-up: rgb(242, 54, 69);
  --color-up-strong: #F87171;
  --color-up-soft: rgba(242, 54, 69, 0.16);
  --color-down: #009838;
  --color-down-strong: #33AD60;
  --color-down-soft: rgba(0, 152, 56, 0.16);
  --overlay: rgba(0, 0, 0, 0.58);
  --shadow-popover: 0 8px 24px rgba(0, 0, 0, 0.24);
  --shadow-dialog: 0 20px 56px rgba(0, 0, 0, 0.34);
  --chart-grid: rgba(244, 244, 244, 0.10);
  --chart-axis: var(--color-text-tertiary);
  --chart-point-stroke: var(--color-surface);
  color-scheme: dark;
}

/* User-selectable interaction accents. Financial up/down colors stay fixed. */
html[data-accent="gray"] {
  --color-accent: #B4B4B4;
  --color-accent-hover: #A6A6A6;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="blue"] {
  --color-accent: #3A83F7;
  --color-accent-hover: #2F75E8;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="green"] {
  --color-accent: #53B559;
  --color-accent-hover: #47A84E;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="yellow"] {
  --color-accent: #F6C543;
  --color-accent-hover: #EAB833;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="pink"] {
  --color-accent: #F077AF;
  --color-accent-hover: #E369A1;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="orange"] {
  --color-accent: #EE7C37;
  --color-accent-hover: #E26D2A;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="purple"] {
  --color-accent: #8952EE;
  --color-accent-hover: #9665F1;
  --color-accent-contrast: #FFFFFF;
}

html[data-accent="black"] {
  --color-accent: #000000;
  --color-accent-hover: #1F1F1F;
  --color-accent-contrast: #FFFFFF;
}

/* Foundations */
*, *::before, *::after { box-sizing: border-box; }
html {
  min-width: 320px;
  overflow-x: hidden;
  scroll-behavior: smooth;
  background: var(--color-canvas);
  text-size-adjust: 100%;
}
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--color-text);
  background: var(--color-canvas) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px;
  font-feature-settings: "tnum" 1;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { text-underline-offset: 3px; }
::selection { color: var(--color-text); background: var(--color-selected); }
[hidden] { display: none !important; }

:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--color-border-focus) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--focus-ring) !important;
}
:where(button, input, select, textarea):disabled {
  cursor: not-allowed !important;
  opacity: 0.5;
}

/* Shared controls */
.primary-button,
.secondary-button,
.save-button,
.filter-submit,
.notfound-actions a,
.primary-action,
.radar-link,
.account-link,
.auth-trigger,
.permission-button,
.code-button,
.captcha-verify,
.provider-button,
.auth-provider,
.row-actions button,
.task-actions button,
.user-actions button {
  min-height: var(--control-height);
  border-radius: var(--radius-md);
  box-shadow: none !important;
  font-weight: 600;
  transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);
}
.primary-button,
.save-button,
.filter-submit,
.notfound-primary,
.auth-shell .primary-button,
.admin-shell .primary-button {
  border: 1px solid var(--color-primary) !important;
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
}
.primary-button:hover:not(:disabled),
.save-button:hover:not(:disabled),
.filter-submit:hover:not(:disabled),
.notfound-primary:hover,
.auth-shell .primary-button:hover:not(:disabled),
.admin-shell .primary-button:hover:not(:disabled) {
  border-color: var(--color-primary-hover) !important;
  background: var(--color-primary-hover) !important;
  color: var(--color-primary-contrast) !important;
}
.secondary-button,
.notfound-secondary,
.auth-secondary,
.provider-button,
.auth-provider,
.permission-button,
.code-button,
.captcha-verify {
  border: 1px solid var(--color-border) !important;
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
}
.secondary-button:hover:not(:disabled),
.notfound-secondary:hover,
.auth-secondary:hover:not(:disabled),
.provider-button:hover:not(:disabled),
.auth-provider:hover:not(:disabled),
.permission-button:hover:not(:disabled),
.code-button:hover:not(:disabled),
.captcha-verify:hover:not(:disabled) {
  border-color: var(--color-border-strong) !important;
  background: var(--color-hover) !important;
}
.text-button, .filter-reset, .view-all-link, .back-link {
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.filter-reset {
  min-height: var(--control-height);
  flex: 0 0 auto;
  padding-inline: 10px !important;
  white-space: nowrap;
}
.login-password-heading .text-button {
  min-height: var(--control-height);
  padding-inline: 8px !important;
}
.text-button:hover, .filter-reset:hover, .view-all-link:hover, .back-link:hover {
  color: var(--color-text) !important;
  background: var(--color-hover) !important;
}
:where(.primary-button, .secondary-button, .save-button, .filter-submit, .primary-action, .text-button):active:not(:disabled) {
  transform: translateY(1px) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea,
.search-field,
.price-field > div {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select { min-height: var(--control-height); }
input::placeholder, textarea::placeholder { color: var(--color-text-tertiary) !important; }
input:focus, select:focus, textarea:focus, .price-field > div:focus-within {
  border-color: var(--color-border-focus) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px var(--focus-ring) !important;
}
input:-webkit-autofill:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
input:-webkit-autofill:hover:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
input:-webkit-autofill:focus:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
  caret-color: var(--color-text) !important;
  -webkit-text-fill-color: var(--color-text) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--color-surface) inset !important;
}
label, .dialog-field > span, .field-label { color: var(--color-text-secondary) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--color-primary) !important; }

/* Shared surfaces, badges, menus, dialogs, and feedback. */
.card,
.market-hero,
.archive-summary article,
.archive-news-item,
.archive-loading,
.archive-empty,
.feature-panel,
.summary-card,
.records-panel,
.calendar-card,
.statistics-card,
.live-price-card,
.alerts-app .hero-copy,
.overview-card,
.rules-panel,
.settings-panel,
.how-it-works,
.plan-card,
.account-card,
.auth-form,
.settings-card,
.stat-card,
.users-card,
.tasks-card,
.task-runs-card,
.notfound-card {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  color: var(--color-text);
  background: var(--color-surface) !important;
  background-image: none !important;
  box-shadow: var(--shadow-subtle) !important;
}
.card { border: 0 !important; }
.status-badge,
.archive-badge,
.impact-badge,
.relevance-badge,
.technical-state,
.trade-signal-action,
.status-pill,
.membership-badge,
.provider-badge,
.task-status,
.save-state,
.connection-state,
.sync-state,
.current-plan,
.source-badge,
.engine-badge,
.count-badge,
.metal-tag {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-pill) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
  box-shadow: none !important;
}
:is(.status-badge, .archive-badge, .impact-badge, .technical-state, .trade-signal-action, .task-status).bullish,
.trade-signal-card.bullish .trade-signal-action {
  border-color: color-mix(in srgb, var(--color-up) 32%, transparent) !important;
  color: var(--color-up-strong) !important;
  background: var(--color-up-soft) !important;
}
:is(.status-badge, .archive-badge, .impact-badge, .technical-state, .trade-signal-action, .task-status).bearish,
.trade-signal-card.bearish .trade-signal-action {
  border-color: color-mix(in srgb, var(--color-down) 32%, transparent) !important;
  color: var(--color-down-strong) !important;
  background: var(--color-down-soft) !important;
}
:is(.status-badge, .status-pill, .task-status, .save-state).ready,
:is(.task-status, .status-badge).success,
.provider-badge.email,
.session-count.active {
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
}
.task-status.failed, .form-error, .form-message.error, .toast.error {
  color: var(--color-text) !important;
  background: var(--color-selected) !important;
}
.form-message {
  color: var(--color-text-secondary) !important;
  background: var(--color-selected) !important;
}
.ledger-menu,
.rule-actions,
.auth-dialog,
.ledger-dialog,
.rule-dialog,
.password-dialog,
.dialog-card {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  color: var(--color-text) !important;
  background: var(--color-surface-elevated) !important;
  box-shadow: var(--shadow-dialog) !important;
}
:is(.ledger-dialog, .rule-dialog, .password-dialog)::backdrop {
  background: var(--overlay) !important;
  backdrop-filter: blur(4px);
}
.auth-overlay { background: var(--overlay) !important; backdrop-filter: blur(4px); }
.toast,
.ledger-toast {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface-elevated) !important;
  box-shadow: var(--shadow-popover) !important;
}
.ledger-toast .toast-action {
  color: var(--color-text) !important;
  background: var(--color-selected) !important;
}
.ledger-toast .toast-action:hover { background: var(--color-hover) !important; }
.empty-state, .archive-empty, .users-empty, .news-empty, .calendar-all-empty {
  color: var(--color-text-secondary) !important;
  background: transparent !important;
}
.empty-state strong, .archive-empty strong, .users-empty strong { color: var(--color-text) !important; }
.empty-state > span, .empty-illustration, .signed-in-mark {
  color: var(--color-text-secondary) !important;
  background: var(--color-selected) !important;
  box-shadow: none !important;
}
.chart-skeleton span, .archive-loading span {
  background: linear-gradient(90deg, var(--color-surface-secondary), var(--color-hover), var(--color-surface-secondary)) !important;
  background-size: 200% 100% !important;
}
.empty-illustration::before {
  background: var(--color-text-tertiary) !important;
  box-shadow:
    -14px 19px 0 -2px var(--color-text-tertiary),
    14px 19px 0 -2px var(--color-text-tertiary) !important;
}
.toast .toast-action,
.toast .toast-undo {
  color: var(--color-text) !important;
  background: var(--color-selected) !important;
}
.toast .toast-action:hover,
.toast .toast-undo:hover { background: var(--color-hover) !important; }

/* App header */
.site-header {
  position: sticky;
  z-index: 30;
  top: 0;
  height: var(--header-height) !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: color-mix(in srgb, var(--color-canvas) 88%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.topbar,
.landing-nav,
.membership-header,
.auth-topbar,
.ledger-header,
.alerts-header {
  min-height: var(--header-height) !important;
  border-bottom-color: var(--color-border) !important;
  color: var(--color-text);
  background: color-mix(in srgb, var(--color-canvas) 88%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-family: var(--font-sans) !important;
}
.site-header .home-topbar {
  width: 100%;
  max-width: var(--content-max) !important;
  height: var(--header-height) !important;
  min-height: var(--header-height) !important;
  padding-inline: 24px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  border: 0 !important;
  background: transparent !important;
}
.landing-nav,
.membership-header {
  width: 100% !important;
  max-width: none !important;
  padding-inline: max(24px, calc((100vw - var(--content-max)) / 2)) !important;
}
.landing-nav { position: fixed !important; top: 0; left: 0 !important; transform: none !important; }
.auth-shell, .ledger-app, .alerts-app { width: min(var(--content-max), calc(100% - 48px)) !important; }
.auth-topbar, .ledger-header, .alerts-header { width: 100% !important; }

.brand,
.landing-brand,
.admin-brand {
  gap: 10px !important;
  color: var(--color-text) !important;
  text-decoration: none;
}
.brand strong,
.landing-brand strong,
.admin-brand strong {
  color: var(--color-text) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  text-transform: lowercase;
}
.brand-mark,
.landing-nav .brand-mark {
  display: grid;
  width: 32px !important;
  height: 32px !important;
  place-items: center;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: hidden;
}
.brand-mark .brand-icon {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.topnav, .landing-topnav { gap: 2px !important; }
.topnav a, .landing-nav .landing-topnav > a {
  min-height: 36px !important;
  display: inline-flex;
  align-items: center;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  box-shadow: none !important;
}
.topnav a:hover, .landing-nav .landing-topnav > a:hover {
  color: var(--color-accent-hover) !important;
  background: var(--color-accent-soft) !important;
}
.topnav a[aria-current="page"], .archive-nav a[aria-current="page"] {
  color: var(--color-accent-hover) !important;
  background: var(--color-accent-soft) !important;
}
.site-header .home-nav a[aria-current="page"]::after { display: none; }
.landing-nav .nav-console {
  margin-left: 6px !important;
  border: 1px solid var(--color-primary) !important;
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
}
.landing-nav .nav-console:hover { border-color: var(--color-primary-hover) !important; background: var(--color-primary-hover) !important; }

.theme-toggle,
html .language-switcher,
.site-header .theme-toggle,
.site-header .language-switcher,
.auth-trigger,
.site-header .auth-trigger,
.header-menu-toggle {
  min-width: 36px !important;
  width: auto;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.theme-toggle:hover,
html .language-switcher:hover,
.site-header .theme-toggle:hover,
.site-header .language-switcher:hover,
.header-menu-toggle:hover {
  border-color: var(--color-accent-border) !important;
  color: var(--color-accent-hover) !important;
  background: var(--color-accent-soft) !important;
  transform: none !important;
}
.auth-trigger,
.auth-trigger .auth-trigger-name,
.language-switcher,
.language-switcher strong,
.theme-toggle {
  font-weight: 400 !important;
}
.theme-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.theme-toggle-icon { display: grid; width: 16px; height: 16px; place-items: center; }
.theme-toggle-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.language-switcher-icon { display: grid; width: 15px; height: 15px; place-items: center; color: var(--color-primary) !important; }
.language-switcher-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.language-switcher strong { color: inherit !important; font-size: 10px; font-weight: 750; letter-spacing: .02em; line-height: 1; }
.theme-toggle-sun { display: none; }
.theme-toggle[data-active-theme="dark"] .theme-toggle-moon { display: none; }
.theme-toggle[data-active-theme="dark"] .theme-toggle-sun { display: grid; }
.site-header .theme-toggle-label,
.topbar .theme-toggle-label,
.landing-nav .theme-toggle-label,
.membership-header .theme-toggle-label,
.auth-topbar .theme-toggle-label,
.ledger-header .theme-toggle-label,
.alerts-header .theme-toggle-label,
.admin-topbar .theme-toggle-label,
.console-topbar .theme-toggle-label { display: none !important; }
.landing-nav .theme-toggle,
.topbar .theme-toggle,
.membership-header .theme-toggle,
.auth-topbar .theme-toggle,
.ledger-header .theme-toggle,
.alerts-header .theme-toggle,
.admin-topbar .theme-toggle,
.console-topbar .theme-toggle { width: 36px !important; padding: 0 !important; }
.theme-toggle-floating, .language-switcher-floating { position: fixed; z-index: 1000; right: 16px !important; bottom: 16px !important; }
.theme-toggle-floating { width: 36px !important; padding: 0 !important; }
.theme-toggle-floating .theme-toggle-label { display: none !important; }
.language-switcher-floating { right: 60px !important; }
.language-switcher:not(.language-switcher-floating) {
  width: var(--control-height) !important;
  min-width: var(--control-height) !important;
  padding: 0 !important;
  gap: 3px !important;
}
.language-switcher-floating {
  width: auto !important;
  min-width: 40px !important;
  height: auto !important;
  min-height: 38px !important;
  padding-inline: 13px !important;
  border-radius: var(--radius-pill) !important;
}
.header-mobile-controls .header-local-controls { justify-content: flex-end; }
.header-mobile-controls .language-switcher {
  width: var(--control-height) !important;
  min-width: var(--control-height) !important;
  height: var(--control-height) !important;
  min-height: var(--control-height) !important;
  flex: 0 0 var(--control-height) !important;
}
.header-mobile-controls .theme-toggle {
  width: var(--control-height) !important;
  height: var(--control-height) !important;
  min-height: var(--control-height) !important;
  flex: 0 0 var(--control-height) !important;
}
.header-mobile-controls .language-switcher strong { display: inline !important; }
.header-local-controls { gap: 8px !important; }
.site-header .connection-state { color: var(--color-text-secondary) !important; background: transparent !important; }
.sync-state i, .live-status i {
  background: var(--color-text-tertiary) !important;
  box-shadow: none !important;
}
.sync-state i { background: var(--color-success) !important; }
.live-status.live i { background: var(--color-accent) !important; }
.updated-at, .chart-freshness, .news-generated-at { color: var(--color-text-tertiary) !important; }
.header-mobile-menu {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface-elevated) !important;
  box-shadow: var(--shadow-popover) !important;
}
.header-mobile-controls { border-top-color: var(--color-border) !important; }

/* Dashboard and charts */
html[data-page="dashboard"] .app-shell,
html[data-page="news"] .app-shell { width: min(var(--content-max), calc(100% - 48px)) !important; }
html[data-page="dashboard"] main { padding-top: 24px; }
.market-hero {
  min-height: 176px;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
}
.market-hero::before, .market-hero::after { display: none !important; }
.market-hero-main { padding: 24px !important; }
.instrument-heading, .instrument-copy strong { color: var(--color-text-secondary) !important; }
.instrument-dot { background: var(--color-accent) !important; box-shadow: 0 0 0 4px var(--color-accent-soft) !important; }
.instrument-heading .updated-at { color: var(--color-text-tertiary) !important; font-size: 10px; }
.price-row { margin-top: 24px !important; }
.price-row > strong, #xau-price {
  color: var(--color-text) !important;
  font-size: clamp(36px, 4vw, 48px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.045em !important;
}
.price-context b, .reference-price > span, .reference-price > b, .quote-source-detail { color: var(--color-text-secondary) !important; }
.reference-price > strong { color: var(--color-text) !important; }
.market-stats {
  border-left: 1px solid var(--color-border) !important;
  background: var(--color-surface-secondary) !important;
}
.market-stat { padding: 24px 18px !important; }
.market-stat + .market-stat { border-left-color: var(--color-border) !important; }
.market-stat span { color: var(--color-text-tertiary) !important; font-size: 12px !important; }
.market-stat strong { color: var(--color-text) !important; font-size: clamp(16px, 1.6vw, 20px) !important; }
.market-stat strong.up, .rise, .up, .profit { color: var(--color-up-strong) !important; }
.market-stat strong.down, .fall, .down, .loss { color: var(--color-down-strong) !important; }

.dashboard-grid, .intelligence-grid { gap: 16px !important; margin-top: 16px !important; }
.news-column { gap: 16px !important; }
.technical-column { gap: 16px !important; top: 16px !important; }
.card { border-radius: var(--radius-lg) !important; }
.chart-card, .judgement-card, .news-sentiment-card, .news-card, .technical-card, .trade-signal-card { padding: 20px !important; }
.card-header h2,
.trade-signal-heading h2,
.archive-heading h1,
.filter-heading h2,
.results-heading h2 {
  color: var(--color-text) !important;
  font-weight: 600 !important;
}
.card-header h2, .trade-signal-heading h2 { font-size: 18px !important; letter-spacing: -0.025em !important; }
.news-sentiment-subtitle { margin-top: 4px; color: var(--color-text-secondary) !important; }
.news-sentiment-window { border-color: var(--color-border) !important; color: var(--color-text-secondary) !important; background: var(--color-surface-secondary) !important; }
.news-sentiment-total { border-color: var(--color-border) !important; color: var(--color-text-secondary) !important; }
.news-sentiment-total strong, .news-sentiment-item-metrics > strong { color: var(--color-text) !important; }
.news-sentiment-grid { gap: 8px; }
.news-sentiment-item { border-color: var(--color-border) !important; background: var(--color-surface-secondary) !important; }
.news-sentiment-item-heading { color: var(--color-text-secondary) !important; }
.news-sentiment-item-metrics { color: var(--color-text-tertiary) !important; }
.news-sentiment-item-metrics > b { color: var(--color-text-secondary) !important; }
.news-sentiment-item-metrics > small { color: var(--color-text-tertiary) !important; }
.news-sentiment-bar { background: var(--color-border) !important; }
.news-sentiment-bar span { background: var(--color-text-tertiary); }
.news-sentiment-item.bullish .news-sentiment-bar span { background: var(--color-up); }
.news-sentiment-item.bearish .news-sentiment-bar span { background: var(--color-down); }
.news-sentiment-item.bullish .news-sentiment-item-heading i { background: var(--color-up); box-shadow: 0 0 0 3px var(--color-up-soft); }
.news-sentiment-item.bearish .news-sentiment-item-heading i { background: var(--color-down); box-shadow: 0 0 0 3px var(--color-down-soft); }
.news-sentiment-item.neutral .news-sentiment-item-heading i { background: var(--color-text-tertiary); box-shadow: 0 0 0 3px var(--color-surface-secondary); }
.range-tabs, .view-switch, .segment-control, .mode-tabs, .rule-filter {
  padding: 3px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-surface-secondary) !important;
}
:is(.range-tabs, .view-switch, .segment-control, .mode-tabs, .rule-filter) button {
  min-height: var(--control-height);
  border: 0 !important;
  border-radius: 7px !important;
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.range-tabs button[aria-selected="true"],
.view-switch button[aria-pressed="true"],
.segment-control button[aria-pressed="true"],
.mode-tabs button[aria-selected="true"],
.rule-filter button[aria-selected="true"] {
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
  box-shadow: none !important;
}
.range-tabs button.pro-locked { color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }
.chart-wrap {
  margin-top: 14px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-surface) !important;
}
.chart-y-axis { background: linear-gradient(90deg, var(--color-surface) 76%, transparent) !important; }
.chart-crosshair-vertical, .chart-crosshair-horizontal { background: color-mix(in srgb, var(--color-text-secondary) 45%, transparent) !important; }
.chart-coordinate {
  border: 1px solid var(--color-border-strong) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--color-tooltip-text) !important;
  background: var(--color-tooltip) !important;
  box-shadow: var(--shadow-subtle) !important;
}
.chart-selection-label, .chart-meta, .chart-message { color: var(--color-text-secondary) !important; }
.chart-selection-price { color: var(--color-text) !important; }
.chart-selection-price.up { color: var(--color-up-strong) !important; }
.chart-selection-price.down { color: var(--color-down-strong) !important; }
.chart-scrollbar input::-webkit-slider-runnable-track { background: var(--color-surface-secondary) !important; }
.chart-scrollbar input::-webkit-slider-thumb { background: var(--color-text-tertiary) !important; box-shadow: none !important; }
#candle-chart [data-candle].selected {
  filter: drop-shadow(0 0 2px var(--color-border-focus)) !important;
}
#candle-chart [data-candle].selected rect { stroke: var(--color-surface-elevated) !important; }

.judgement-card,
.judgement-card.bullish,
.judgement-card.bearish,
.judgement-card.neutral {
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
  background-image: none !important;
  box-shadow: var(--shadow-subtle) !important;
}
.judgement-card::before, .judgement-card::after { display: none !important; }
.judgement-card .card-header h2,
.judgement-headline h3,
.judgement-copy h4,
.judgement-history-label strong,
.judgement-history-values b { color: var(--color-text) !important; }
.judgement-generated-at,
.judgement-headline p,
.judgement-copy p,
.confidence-line span,
.judgement-history-heading small,
.judgement-history-label small,
.judgement-history-values span,
.judgement-history-empty,
.detail-label { color: var(--color-text-secondary) !important; }
.confidence-line, .confidence-line strong, .score-wheel small, .trade-signal-heading span { color: var(--color-text-secondary) !important; }
.direction-orb {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-text) !important;
  background: var(--color-selected) !important;
  box-shadow: none !important;
}
.judgement-card.bullish .judgement-headline h3,
.judgement-card.bullish .direction-orb,
.judgement-card.bullish .direction-orb span,
html[data-page="landing"] .signal-trend strong.bullish,
html[data-page="landing"] .decision-head strong.bullish {
  color: var(--bullish-deep) !important;
}
.judgement-card.bearish .judgement-headline h3,
.judgement-card.bearish .direction-orb,
.judgement-card.bearish .direction-orb span,
html[data-page="landing"] .signal-trend strong.bearish,
html[data-page="landing"] .decision-head strong.bearish {
  color: var(--bearish-deep) !important;
}
.judgement-card.bullish .direction-orb {
  border-color: color-mix(in srgb, var(--bullish) 34%, transparent) !important;
  background: var(--bullish-soft) !important;
}
.judgement-card.bearish .direction-orb {
  border-color: color-mix(in srgb, var(--bearish) 34%, transparent) !important;
  background: var(--bearish-soft) !important;
}
.judgement-copy,
.judgement-history-row,
.judgement-risk {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
}
.confidence-line, .judgement-history, .judgement-details { border-color: var(--color-border) !important; }
.probability-row { color: var(--color-text-secondary) !important; }
.probability-row strong { color: var(--color-text) !important; }
.probability-track { background: var(--color-surface-secondary) !important; }
.probability-fill { background: var(--color-up) !important; }
.probability-fill.down { background: var(--color-down) !important; }
.probability-fill.flat { background: var(--color-text-tertiary) !important; }
.judgement-drivers li { color: var(--color-text-secondary) !important; }
.judgement-drivers li::before { background: var(--color-text-tertiary) !important; }

.technical-card, .trade-signal-card { background: var(--color-surface) !important; }
.indicator-cluster div, .trade-signal-metrics div, .archive-analysis-grid section, .technical-method, .method-note {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-surface-secondary) !important;
}
.indicator-cluster span, .trade-signal-metrics span, .technical-factor p, .technical-empty, .technical-method { color: var(--color-text-secondary) !important; }
.indicator-cluster strong, .trade-signal-metrics strong, .technical-factor strong, .trade-signal-reason { color: var(--color-text) !important; }
.score-wheel-track { stroke: var(--color-surface-secondary) !important; }
.technical-factors, .technical-factor { border-color: var(--color-border) !important; }
.technical-factor i { box-shadow: none !important; }

/* News and AI content */
.news-list { margin-top: 12px !important; }
.news-item { padding: 16px 0 !important; border-color: var(--color-border) !important; }
.news-title, .archive-news-title > a, .archive-news-title > span { color: var(--color-text) !important; font-weight: 600 !important; }
.news-summary, .news-reason, .news-source, .archive-heading p, .archive-analysis-grid p, .event-cluster-reason { color: var(--color-text-secondary) !important; }
.news-summary { display: -webkit-box; overflow: hidden; line-height: 1.65 !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-meta, .news-time, .archive-news-origin, .archive-updated { color: var(--color-text-tertiary) !important; }
.news-reason, .event-cluster-reason { border-left-color: var(--color-border-strong) !important; background: var(--color-surface-secondary) !important; }

.archive-main { padding-top: 32px !important; }
.archive-heading h1 { font-size: clamp(28px, 4vw, 36px) !important; letter-spacing: -0.04em !important; }
.archive-eyebrow, .eyebrow, .page-kicker, .section-index, .panel-topline { color: var(--color-text-tertiary) !important; }
.archive-summary { gap: 12px !important; margin-top: 24px !important; }
.archive-summary article { min-height: 88px; padding: 16px !important; }
.archive-summary span { color: var(--color-text-secondary) !important; }
.archive-summary strong { color: var(--color-text) !important; font-size: 24px !important; }
.filter-card { margin-top: 16px !important; padding: 20px !important; }
.filter-form { gap: 12px !important; }
.filter-field > span { color: var(--color-text-secondary) !important; font-size: 12px !important; }
.filter-heading p, .results-heading p, .archive-loading p, .archive-empty p { color: var(--color-text-secondary) !important; }
.archive-list { gap: 0 !important; border-top: 1px solid var(--color-border); }
.archive-news-item {
  padding: 22px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.archive-news-item[data-status="unprocessed"] { background: transparent !important; }
.archive-analysis-grid { gap: 12px !important; }
.news-reason span, .archive-analysis-grid span, .event-cluster-reason span { color: var(--color-text-secondary) !important; }
.archive-news-footer, .archive-event-timeline, .news-timeline { border-color: var(--color-border) !important; }
.source-address, .source-address span, .source-address code, .analyzer-label { color: var(--color-text-tertiary) !important; }
.source-address strong, .source-address i { color: var(--color-text-secondary) !important; }
.archive-event-timeline summary, .archive-event-timeline li a, .archive-event-timeline li > div > span { color: var(--color-text) !important; }
.archive-event-timeline li p, .event-timeline-meta { color: var(--color-text-secondary) !important; }
.archive-event-timeline li i { border-color: var(--color-border-strong) !important; background: var(--color-surface) !important; }
.archive-event-timeline li:not(:last-child) i::after { background: var(--color-border) !important; }
.pagination button {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.pagination button[aria-label] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pagination button[aria-current="page"] { border-color: var(--color-primary) !important; color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
/* Landing: real data presented as a calm product overview. */
html[data-page="landing"] body { color: var(--color-text) !important; }
html[data-page="landing"] main { position: relative; z-index: 1; }
.reveal { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
html[data-page="landing"] .hero {
  width: min(var(--content-max), calc(100% - 48px));
  min-height: auto !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr) !important;
  gap: clamp(48px, 7vw, 96px) !important;
  margin: 0 auto;
  padding: 140px 0 88px !important;
  overflow: visible !important;
}
html[data-page="landing"] .hero::before { display: none !important; }
.hero-title {
  margin: 22px 0 0 !important;
  color: var(--color-text) !important;
  font-size: clamp(48px, 5.4vw, 72px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.06em !important;
  line-height: 1.02 !important;
}
.hero-title .outline-word { color: var(--color-text) !important; -webkit-text-stroke: 0 !important; }
.hero-title .gold-word { color: var(--color-accent-hover) !important; text-shadow: none !important; }
.hero-lede { max-width: 620px !important; margin-top: 24px !important; color: var(--color-text-secondary) !important; font-size: 15px !important; line-height: 1.8 !important; }
.hero-actions { gap: 12px !important; margin-top: 28px !important; }
.primary-action {
  min-width: 0 !important;
  min-height: 42px !important;
  justify-content: center !important;
  gap: 20px;
  padding: 0 16px !important;
  border: 1px solid var(--color-primary) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
  box-shadow: none !important;
}
.primary-action::before { display: none !important; }
.primary-action:hover { border-color: var(--color-primary-hover) !important; background: var(--color-primary-hover) !important; transform: translateY(-1px) !important; }
.text-action { color: var(--color-text-secondary) !important; text-decoration-color: var(--color-border-strong) !important; }
.text-action span { color: var(--color-text) !important; }
.hero-proof { gap: 28px !important; margin-top: 36px !important; padding-top: 20px !important; border-color: var(--color-border) !important; }
.hero-proof strong { color: var(--color-text) !important; font-family: var(--font-sans) !important; font-size: 20px !important; }
.hero-proof strong::after { color: var(--color-text-tertiary) !important; }
.hero-proof span { color: var(--color-text-secondary) !important; font-size: 11px !important; }

.hero-visual {
  display: grid !important;
  min-height: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-subtle);
  perspective: none !important;
  transform: none !important;
}
.hero-visual::before { display: none !important; }
.radar-core, .floating-signal {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 112px;
  aspect-ratio: auto !important;
  padding: 16px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface-secondary) !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: left !important;
  transform: none !important;
  animation: none !important;
}
.radar-core { display: flex !important; grid-column: 1 / -1; flex-direction: column; justify-content: center; }
.radar-core::before, .radar-core::after { display: none !important; }
.radar-core strong { color: var(--color-text) !important; font-family: var(--font-sans) !important; font-size: 40px !important; font-weight: 600 !important; letter-spacing: -0.04em !important; }
.core-label, .radar-core small, .floating-signal > span { color: var(--color-text-tertiary) !important; font-family: var(--font-sans) !important; font-size: 11px !important; letter-spacing: 0.08em !important; }
.snapshot-updated { margin-top: 8px; color: var(--color-text-tertiary); font-size: 11px; }
.floating-signal strong { color: var(--color-text) !important; font-family: var(--font-sans) !important; font-size: 22px !important; font-weight: 600 !important; }
.signal-news { grid-column: 1 / -1; }
.signal-news p { max-width: none !important; color: var(--color-text-secondary) !important; font-size: 12px !important; }
.mini-bars i { border-radius: 2px; background: var(--color-text-secondary) !important; animation: none !important; }

.live-tape {
  width: min(var(--content-max), calc(100% - 48px));
  margin: 0 auto;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg);
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
  box-shadow: none !important;
  transform: none !important;
}
.tape-track {
  width: 100% !important;
  gap: 16px !important;
  justify-content: center;
  padding: 12px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  animation: none !important;
}
.tape-track i { background: var(--color-text-tertiary) !important; }
.tape-track > :nth-child(n + 9) { display: none; }

.manifesto, .workflow {
  width: min(var(--content-max), calc(100% - 48px));
  max-width: var(--content-max) !important;
  padding: 112px 0 64px !important;
}
.manifesto-grid { gap: clamp(40px, 7vw, 88px) !important; margin-top: 24px !important; }
.manifesto h2, .workflow h2, .final-cta h2 {
  color: var(--color-text) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.05em !important;
  line-height: 1.12 !important;
}
.manifesto h2 span, .final-cta h2 span { color: var(--color-text) !important; }
.manifesto-grid > p, .workflow-copy > p { color: var(--color-text-secondary) !important; line-height: 1.8 !important; }
.intelligence-stage {
  max-width: var(--content-max) !important;
  gap: 16px !important;
  padding: 0 0 112px !important;
  margin-inline: auto;
  width: min(var(--content-max), calc(100% - 48px));
}
.feature-panel {
  min-height: 470px !important;
  padding: 28px !important;
  transform: none !important;
  transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base) !important;
}
.feature-panel:hover { border-color: var(--color-border-strong) !important; background: var(--color-surface) !important; box-shadow: none !important; transform: translateY(-1px) !important; }
.panel-topline { font-family: var(--font-sans) !important; color: var(--color-text-tertiary) !important; }
.panel-topline b { color: var(--color-text-secondary) !important; }
.feature-panel h3 { margin-top: 28px !important; color: var(--color-text) !important; font-size: clamp(26px, 3vw, 38px) !important; font-weight: 600 !important; }
.feature-panel > p { color: var(--color-text-secondary) !important; }
.chart-demo { border-color: var(--color-border) !important; }
.chart-grid { background-image: linear-gradient(var(--chart-grid) 1px, transparent 1px), linear-gradient(90deg, var(--chart-grid) 1px, transparent 1px) !important; }
.chart-bars i, .chart-bars i::after { background: var(--color-text-secondary) !important; }
.chart-bars i.rise, .chart-bars i.rise::after { background: var(--color-up) !important; }
.chart-bars i.fall, .chart-bars i.fall::after { background: var(--color-down) !important; }
.chart-price { color: var(--color-tooltip-text) !important; background: var(--color-tooltip) !important; border-radius: var(--radius-sm); }
#landing-prob-up { background: var(--color-up) !important; }
#landing-prob-flat { background: var(--color-text-tertiary) !important; }
#landing-prob-down { background: var(--color-down) !important; }
.event-stack > div, .factor-score, .decision-demo {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface-secondary) !important;
  box-shadow: none !important;
}
.event-stack i { border-color: var(--color-border) !important; color: var(--color-text-secondary) !important; }
.event-stack b, .decision-head strong, .probability strong { color: var(--color-text) !important; }
.event-stack small, .decision-head span, .probability { color: var(--color-text-secondary) !important; }
.factor-orbit::before, .factor-orbit::after { border-color: var(--color-border) !important; }
.factor-score strong { color: var(--color-text) !important; }
.factor-score span, .factor { color: var(--color-text-secondary) !important; }
.decision-head { border-color: var(--color-border) !important; }
.decision-head strong { color: var(--color-text) !important; }
.probability i { background: var(--color-border) !important; }
.workflow { gap: clamp(48px, 8vw, 120px) !important; padding: 96px 0 112px !important; border-color: var(--color-border) !important; }
.workflow-list li { border-color: var(--color-border) !important; }
.workflow-list li > span { color: var(--color-text-tertiary) !important; font-family: var(--font-sans) !important; }
.workflow-list strong { color: var(--color-text) !important; }
.workflow-list p { color: var(--color-text-secondary) !important; }
.workflow-list li > i { border-color: var(--color-border) !important; }
.workflow-list li > i::before { background: var(--color-text-tertiary) !important; }
.final-cta {
  min-height: 440px !important;
  padding: 80px 24px;
  border-color: var(--color-border) !important;
  background: var(--color-surface-secondary);
}
.final-cta > p { color: var(--color-text-tertiary) !important; font-family: var(--font-sans) !important; }
/* Ledger */
.ledger-app main, .alerts-app main { padding-top: 24px !important; }
.ledger-header, .alerts-header { min-height: var(--header-height) !important; }
.ledger-user, .alerts-header .account-link { color: var(--color-text-secondary) !important; }
.radar-link { border: 0 !important; color: var(--color-text-secondary) !important; background: transparent !important; }
.radar-link:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.account-switch, .icon-button, .screen-back, .calendar-navigation button, .dialog-close, .dialog-close-button, .auth-close {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.dialog-close, .dialog-close-button, .auth-close {
  width: var(--control-height) !important;
  height: var(--control-height) !important;
  min-width: var(--control-height);
  min-height: var(--control-height);
}
.icon-button, .screen-back, .calendar-navigation button, .dialog-close, .dialog-close-button, .auth-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.account-switch[aria-expanded="true"], .account-switch:hover, .icon-button:hover, .dialog-close:hover, .auth-close:hover { border-color: var(--color-border-strong) !important; color: var(--color-text) !important; background: var(--color-hover) !important; }
.visibility-toggle { color: var(--color-text-secondary) !important; }
.visibility-toggle:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.ledger-option { color: var(--color-text-secondary) !important; }
.ledger-option:hover { background: var(--color-hover) !important; }
.ledger-option[aria-checked="true"] { color: var(--color-text) !important; background: var(--color-selected) !important; }
.ledger-option[aria-checked="true"] .ledger-option-mark { border-color: var(--color-primary) !important; color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
.ledger-tabbar {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.ledger-tabbar button { color: var(--color-text-secondary) !important; }
.ledger-tabbar .active { color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
.ledger-tabbar .add-tab { color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
.summary-card, .records-panel, .calendar-card, .statistics-card { background: var(--color-surface) !important; }
.summary-card::before, .summary-card::after { display: none !important; }
.summary-heading, .summary-grid span, .transaction-copy span, .transaction-numbers span, .reference-price b, .reference-price small { color: var(--color-text-secondary) !important; }
.reference-price i { background: var(--color-primary) !important; box-shadow: 0 0 0 3px var(--color-selected) !important; }
.hero-value, .reference-price strong { color: var(--color-text) !important; font-weight: 600 !important; }
.summary-grid strong, .transaction-copy strong, .transaction-numbers strong, .records-heading h2, .screen-title-row h2, .statistics-heading { color: var(--color-text) !important; }
.summary-grid > div { border-color: var(--color-border) !important; background: transparent !important; }
.statistic { border-color: var(--color-border) !important; background: var(--color-surface-secondary) !important; }
.ledger-auth-action {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.transaction-row { border-color: var(--color-border) !important; background: transparent !important; }
.transaction-row-content { background: var(--color-surface) !important; }
.transaction-row-content:hover { background: var(--color-hover) !important; }
.query-toggle { border-color: var(--color-border) !important; color: var(--color-text-secondary) !important; background: var(--color-surface-secondary) !important; }
.query-toggle:hover { border-color: var(--color-border-strong) !important; color: var(--color-text) !important; background: var(--color-hover) !important; }
.query-toggle.active { color: var(--color-text) !important; background: var(--color-selected) !important; }
.transaction-icon, .overview-icon, .rule-icon, .stat-icon, .section-icon {
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
  box-shadow: none !important;
}
.transaction-icon.buy, .metal-tag { color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }
.calendar-day, .calendar-period {
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
}
.calendar-day.selected, .calendar-period.selected { border-color: var(--color-border-strong) !important; color: var(--color-text) !important; background: var(--color-selected) !important; }
.calendar-day.has-record::after, .calendar-period.has-record::after { background: var(--color-text-tertiary) !important; }
.entry-fields label, .physical-image, .image-recognition, .physical-image-preview {
  border-color: var(--color-border) !important;
  background: var(--color-surface-secondary) !important;
}
.ledger-sync-banner, .ledger-readonly-banner, .alerts-sync-banner, .retry-banner {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface-secondary) !important;
  background-image: none !important;
  box-shadow: none !important;
}
.ledger-sync-banner button,
.alerts-sync-banner button {
  min-height: var(--control-height);
  padding-inline: 12px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.ledger-sync-banner button:hover,
.alerts-sync-banner button:hover {
  border-color: var(--color-border-strong) !important;
  background: var(--color-hover) !important;
}
.retry-banner button {
  border: 1px solid var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.retry-banner-copy small { color: var(--color-text-secondary) !important; }
.retry-banner button:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.retry-banner button.primary {
  border-color: var(--color-primary) !important;
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
}

/* Alerts and subscription */
.alerts-app .hero { min-height: 250px !important; gap: 16px !important; }
.alerts-app .hero-copy, .live-price-card { border-radius: var(--radius-lg) !important; padding: 32px !important; }
.alerts-app .hero-copy::after, .live-price-card::after { display: none !important; }
.alerts-app .hero h1 { color: var(--color-text) !important; font-size: clamp(32px, 4.5vw, 46px) !important; font-weight: 600 !important; letter-spacing: -0.05em !important; }
.alerts-app .hero-copy > p { color: var(--color-text-secondary) !important; font-size: 14px !important; }
.alerts-app .hero .primary-button,
.alerts-pro-gate .primary-button,
.rule-dialog .save-button {
  border-color: var(--color-primary) !important;
  color: var(--color-primary-contrast) !important;
  background: var(--color-primary) !important;
}
.alerts-app .hero .primary-button:hover,
.alerts-pro-gate .primary-button:hover,
.rule-dialog .save-button:hover { border-color: var(--color-primary-hover) !important; background: var(--color-primary-hover) !important; }
.live-price-heading span, .live-price-heading small, .live-price-card > p { color: var(--color-text-secondary) !important; }
.live-price-heading i { background: var(--color-text-tertiary) !important; box-shadow: none !important; }
.live-price-row strong { color: var(--color-text) !important; font-size: clamp(36px, 4vw, 48px) !important; font-weight: 600 !important; }
.live-price-row > span, .live-price-row small { color: var(--color-text-secondary) !important; }
.price-scale { background: var(--color-surface-secondary) !important; }
.price-scale span { background: var(--color-text-secondary) !important; }
.price-scale i { border-color: var(--color-surface) !important; background: var(--color-text-secondary) !important; box-shadow: none !important; }
.overview-grid, .content-grid { gap: 16px !important; margin-top: 16px !important; }
.overview-card { min-height: 108px; padding: 18px !important; }
.overview-card small, .overview-card p { color: var(--color-text-secondary) !important; }
.overview-card strong, .section-heading h2, .rule-copy strong, .rule-meta strong, .setting-row strong, .how-it-works h2, .how-it-works strong { color: var(--color-text) !important; }
.rules-panel, .settings-panel { padding: 24px !important; }
.section-heading, .rule-card, .setting-group { border-color: var(--color-border) !important; }
.rule-copy p, .rule-meta span, .setting-row > div > span, .capability-note, .quiet-range-hint, .how-it-works p { color: var(--color-text-secondary) !important; }
.capability-note i {
  color: var(--color-text-secondary) !important;
  background: var(--color-selected) !important;
}
.delivery-identity span, .time-range label span, .time-range > i { color: var(--color-text-tertiary) !important; }
.delivery-identity strong { color: var(--color-text) !important; }
.how-it-works li > span { color: var(--color-text-tertiary) !important; }
.rule-more {
  width: var(--control-height) !important;
  height: var(--control-height) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
}
.rule-more:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.rule-actions button {
  min-height: var(--control-height) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
}
.rule-actions button:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.switch > span { background: var(--color-border-strong) !important; }
.switch > span::after { background: var(--color-surface) !important; box-shadow: var(--shadow-subtle) !important; }
.switch input:checked + span { background: var(--color-primary) !important; }
.delivery-identity, .strategy-description, .choice-grid label > span {
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface-secondary) !important;
}
.choice-grid input:checked + span { border-color: var(--color-border-strong) !important; background: var(--color-selected) !important; box-shadow: none !important; }
.choice-grid input:checked + span i { color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
.choice-grid b { color: var(--color-text) !important; }

/* Authentication */
.auth-topbar > .back-link { margin-left: auto; }
html[data-page="auth"] .auth-shell { width: min(1120px, calc(100% - 48px)) !important; }
html[data-page="auth"] main { min-height: calc(100vh - var(--header-height)); grid-template-columns: minmax(0, 1fr) minmax(380px, 430px) !important; gap: clamp(48px, 8vw, 96px) !important; padding: 56px 4% 72px !important; }
.auth-intro h1 { color: var(--color-text) !important; font-size: clamp(36px, 4.6vw, 52px) !important; font-weight: 600 !important; }
.auth-intro h1 span { color: var(--color-text) !important; }
.auth-intro > p:not(.eyebrow), .security-note small, .form-heading p, .auth-privacy, .auth-profile > div > span, .auth-dialog-header p { color: var(--color-text-secondary) !important; }
.security-note i { background: var(--color-text-tertiary) !important; box-shadow: none !important; }
.account-card { padding: 28px !important; }
.mode-tabs { background: var(--color-surface-secondary) !important; }
#captcha-image, #reset-captcha-image {
  border-radius: var(--radius-md) !important;
  object-fit: contain !important;
  object-position: center !important;
}
.captcha-verify { min-height: 45px !important; }
.form-heading h2, .auth-dialog h2, .auth-profile strong { color: var(--color-text) !important; }
.provider-mark, .auth-provider-mark { color: var(--color-text-secondary) !important; }
.auth-provider-mark.apple, .provider-apple .provider-mark { color: var(--color-text) !important; }
.auth-profile, .auth-linked-row { border-color: var(--color-border) !important; background: var(--color-surface-secondary) !important; }
.auth-avatar, .auth-trigger-avatar, .account-avatar { color: var(--color-primary-contrast) !important; background: var(--color-primary) !important; }
.auth-dialog-status { border-radius: var(--radius-md) !important; color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }

/* Administrator console and sidebar */
html[data-page="admin"] body { background: var(--color-canvas) !important; }
.admin-topbar .language-switcher { margin-left: auto; }
.admin-topbar {
  min-height: var(--header-height) !important;
  padding: 0 max(24px, calc((100vw - var(--content-max)) / 2)) !important;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-canvas) !important;
}
.admin-topbar .admin-brand, .admin-topbar .admin-brand small { color: var(--color-text) !important; }
.admin-brand-mark {
  display: grid !important;
  width: 32px !important;
  height: 32px !important;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.admin-brand-mark::before,
.admin-brand-mark::after { display: none !important; }
.admin-brand-mark .brand-icon {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}
.auth-panel { min-height: calc(100vh - var(--header-height)) !important; padding: 64px 5% !important; }
.auth-panel::before { display: none !important; }
.auth-copy h1 { color: var(--color-text) !important; font-size: clamp(36px, 5vw, 48px) !important; font-weight: 600 !important; }
.console { grid-template-columns: 236px minmax(0, 1fr) !important; transition: grid-template-columns var(--transition-base); }
.console-sidebar {
  padding: 16px 12px !important;
  border-color: transparent !important;
  background: var(--color-sidebar) !important;
  transition: width var(--transition-base), transform var(--transition-base);
}
.sidebar-header-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-collapse, .sidebar-mobile-toggle {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  background: transparent;
}
.sidebar-collapse:hover, .sidebar-mobile-toggle:hover { color: var(--color-text); background: var(--color-hover); }
.sidebar-collapse svg, .sidebar-mobile-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-mobile-toggle { display: none; }
.sidebar-navigation { margin-top: 40px !important; }
.console-nav { gap: 4px !important; }
.console-nav-button {
  min-height: 40px !important;
  gap: 10px !important;
  padding: 0 12px !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.console-nav-button:hover { color: var(--color-text) !important; background: var(--color-hover) !important; }
.console-nav-button.active { color: var(--color-text) !important; background: var(--color-selected) !important; box-shadow: none !important; }
.console.sidebar-collapsed { grid-template-columns: 72px minmax(0, 1fr) !important; }
.console.sidebar-collapsed .console-sidebar { padding-inline: 10px !important; }
.console.sidebar-collapsed .sidebar-brand > span:last-child,
.console.sidebar-collapsed .console-nav-button > span { display: none; }
.console.sidebar-collapsed .sidebar-header-row { justify-content: center; flex-wrap: wrap; }
.console.sidebar-collapsed .sidebar-brand { padding: 0 !important; }
.console.sidebar-collapsed .console-nav-button { justify-content: center; padding: 0 !important; }
.console-topbar {
  min-height: var(--header-height) !important;
  padding-inline: clamp(20px, 3vw, 40px) !important;
  border-color: var(--color-border) !important;
  background: color-mix(in srgb, var(--color-canvas) 88%, transparent) !important;
  backdrop-filter: blur(14px);
}
.console-breadcrumb, .console-breadcrumb i, .account-copy small { color: var(--color-text-secondary) !important; }
.console-breadcrumb strong, .account-copy strong { color: var(--color-text) !important; }
.topbar-tools { gap: 12px !important; }
.console-content { padding: 32px clamp(20px, 3vw, 40px) 96px !important; }
.console-content > div { max-width: 1180px; }
.console-heading { margin-bottom: 20px !important; }
.console-heading h1 { color: var(--color-text) !important; font-size: clamp(28px, 3vw, 32px) !important; font-weight: 600 !important; }
.console-heading p, .section-heading p, .users-toolbar > div span, .tasks-card-heading span, .task-runs-toolbar > div > span { color: var(--color-text-secondary) !important; }
#settings-form { gap: 16px !important; }
.settings-card { padding: 22px !important; }
.section-heading { grid-template-columns: 36px 1fr auto !important; gap: 12px !important; margin-bottom: 20px !important; }
.section-icon { width: 36px !important; height: 36px !important; }
.section-heading h2, .subsection-heading strong { color: var(--color-text) !important; }
.model-capability legend, .model-capability-options small, .subsection-heading div > span { color: var(--color-text-secondary) !important; }
.model-capability-options > label, .vl-settings {
  border-color: var(--color-border) !important;
  background: var(--color-surface-secondary) !important;
}
.model-capability-options > label:has(input:checked) { border-color: var(--color-border-strong) !important; background: var(--color-selected) !important; box-shadow: none !important; }
.model-capability-options strong { color: var(--color-text) !important; }
.save-bar {
  bottom: 16px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: color-mix(in srgb, var(--color-surface) 94%, transparent) !important;
  box-shadow: var(--shadow-popover) !important;
}
.user-stats, .task-stats { gap: 12px !important; }
.stat-card { padding: 18px !important; }
.stat-card > div > span, .users-table td, .tasks-table td, .task-runs-table td, .task-result-cell { color: var(--color-text-secondary) !important; }
.stat-card strong, .user-profile strong, .task-identity strong, .task-schedule strong, .task-run-name { color: var(--color-text) !important; }
.users-toolbar, .tasks-card-heading, .task-runs-toolbar, .users-pagination, .users-table th, .users-table td, .tasks-table th, .tasks-table td, .task-runs-table th, .task-runs-table td { border-color: var(--color-border) !important; }
.users-table th, .tasks-table th, .task-runs-table th { color: var(--color-text-secondary) !important; background: var(--color-sidebar) !important; }
.users-table tbody tr:hover, .tasks-table tbody tr:hover, .task-runs-table tbody tr:hover { background: var(--color-hover) !important; }
.provider-badge, .session-count, .membership-badge { background: var(--color-surface-secondary) !important; }
.membership-badge.pro { border-color: var(--color-border) !important; color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }
.task-identity code, .task-schedule code { color: var(--color-text-secondary) !important; background: var(--color-surface-secondary) !important; }
.password-dialog-notice { color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }
.sidebar-backdrop { display: none; }

/* 404 */
.notfound-shell { padding: 24px !important; }
.notfound-card { max-width: 440px !important; padding: 40px 32px !important; }
.notfound-code { border-radius: var(--radius-lg) !important; color: var(--color-text-secondary) !important; background: var(--color-selected) !important; }
.notfound-card h1 { color: var(--color-text) !important; font-size: 24px !important; font-weight: 600 !important; }
.notfound-card p { color: var(--color-text-secondary) !important; }

/* Primary content surfaces use spacing, material and radius instead of frames. */
.card,
.market-hero,
.hero-visual,
.live-tape,
.feature-panel,
.archive-summary article,
.archive-loading,
.archive-empty,
.summary-card,
.records-panel,
.calendar-card,
.statistics-card,
.live-price-card,
.alerts-app .hero-copy,
.overview-card,
.rules-panel,
.settings-panel,
.how-it-works,
.plan-card,
.value-card,
.comparison-card,
.subscription-details,
.account-card,
.auth-form,
.settings-card,
.stat-card,
.users-card,
.tasks-card,
.task-runs-card,
.notification-layout,
.notfound-card {
  border: var(--content-surface-border) !important;
}

/* Responsive */
@media (max-width: 1100px) {
  html[data-page="landing"] .hero { grid-template-columns: 1fr !important; gap: 48px !important; }
  .hero-visual { max-width: 720px; width: 100%; }
  .manifesto-grid, .workflow { grid-template-columns: 1fr !important; gap: 40px !important; }
  .filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 899px) {
  .site-header .home-topbar { grid-template-columns: minmax(0, 1fr) auto !important; gap: 12px !important; }
  .site-header .header-center-slot { display: none; }
  .site-header .header-menu-toggle { display: grid; }
  .site-header .updated-at { display: none; }
  .dashboard-grid, .intelligence-grid { grid-template-columns: 1fr !important; }
  .intelligence-grid { grid-template-areas: "technical" "news" !important; }
  .technical-column { position: static !important; }
  .judgement-card { height: auto !important; max-height: none !important; overflow: visible !important; }
  .archive-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html[data-page="auth"] main { grid-template-columns: 1fr !important; gap: 36px !important; }
  .auth-intro { text-align: center; }
  .auth-intro > p:not(.eyebrow) { margin-inline: auto; }
  .security-note { justify-content: center; text-align: left; }
  .account-card { width: min(100%, 500px); margin-inline: auto; }
  .notification-list-panel,
  .notification-detail-panel { border: var(--content-surface-border) !important; }

  .console:not([hidden]) { display: block !important; }
  .console-sidebar {
    position: fixed !important;
    z-index: 50 !important;
    inset: 0 auto 0 0 !important;
    width: min(280px, calc(100vw - 48px)) !important;
    height: 100dvh !important;
    padding: 16px 12px !important;
    border-right: 1px solid transparent !important;
    transform: translateX(-102%);
  }
  .console.sidebar-open .console-sidebar { transform: translateX(0); }
  .console.sidebar-collapsed .sidebar-brand > span:last-child,
  .console.sidebar-collapsed .console-nav-button > span { display: initial; }
  .console.sidebar-collapsed .sidebar-header-row { justify-content: space-between; flex-wrap: nowrap; }
  .console.sidebar-collapsed .console-nav-button { justify-content: flex-start; padding-inline: 12px !important; }
  .sidebar-mobile-toggle { display: grid; }
  .sidebar-backdrop {
    position: fixed;
    z-index: 45;
    inset: 0;
    display: block;
    border: 0;
    background: var(--overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-base);
  }
  .console.sidebar-open .sidebar-backdrop { opacity: 1; pointer-events: auto; }
  body.admin-sidebar-open { overflow: hidden; }
  .console-topbar { justify-content: flex-start !important; gap: 12px; }
  .console-breadcrumb { margin-right: auto; }
}

@media (max-width: 720px) {
  :root { --header-height: 56px; }
  .app-shell,
  html[data-page="dashboard"] .app-shell,
  html[data-page="news"] .app-shell,
  .auth-shell,
  .ledger-app,
  .alerts-app,
  html[data-page="auth"] .auth-shell,
  html[data-page="membership"] main {
    width: min(100% - 28px, 620px) !important;
  }
  .landing-nav, .membership-header { padding-inline: 14px !important; }
  .brand strong, .landing-brand strong { font-size: 14px !important; }
  .landing-nav .landing-topnav > a:not(.nav-console) { display: none !important; }
  .landing-nav .nav-console { margin-left: 0 !important; padding-inline: 10px !important; font-size: 11px !important; }
  .topbar-actions, .header-actions, .membership-header > div { gap: 6px !important; }
  .theme-toggle-label { display: none !important; }
  .theme-toggle, html .language-switcher { padding-inline: 8px !important; }
  html .language-switcher:not(.language-switcher-floating) { width: var(--control-height) !important; min-width: var(--control-height) !important; padding-inline: 0 !important; }
  html .language-switcher:not(.language-switcher-floating) strong { display: inline !important; }
  .ledger-header .ledger-user, .alerts-header .account-link, .alerts-header .sync-state, .membership-header .current-plan { display: none !important; }
  .ledger-header .radar-link, .alerts-header .radar-link { display: none !important; }
  .ledger-header, .alerts-header { gap: 8px !important; }
  .ledger-header .header-actions, .alerts-header .header-actions { min-width: 0; }
  .ledger-picker { min-width: 0; }
  .account-switch { max-width: 142px; }

  html[data-page="dashboard"] main, .ledger-app main, .alerts-app main { padding-top: 16px !important; }
  .market-hero { grid-template-columns: 1fr !important; }
  .market-stats { border-top: 1px solid var(--color-border) !important; border-left: 0 !important; }
  .market-hero-main { padding: 20px !important; }
  .price-row > strong, #xau-price { font-size: clamp(34px, 11vw, 44px) !important; }
  .dashboard-grid, .intelligence-grid { gap: 12px !important; margin-top: 12px !important; }
  .chart-card, .judgement-card, .news-sentiment-card, .news-card, .technical-card, .trade-signal-card { padding: 16px !important; }
  .chart-header { align-items: stretch !important; flex-direction: column !important; }
  .range-tabs { width: 100%; overflow-x: auto; }
  .range-tabs button { min-width: max-content !important; flex: 1; }
  .chart-wrap { aspect-ratio: 1.35 / 1 !important; }
  .technical-score-row { grid-template-columns: 84px 1fr !important; gap: 12px !important; }
  .trade-signal-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .news-item { grid-template-columns: 1fr !important; gap: 8px !important; }
  .news-item > .impact-badge { justify-self: start; }

  .archive-main { padding-top: 24px !important; }
  .archive-topbar .back-link { display: none !important; }
  .archive-heading { align-items: flex-start !important; flex-direction: column !important; }
  .archive-summary { gap: 8px !important; }
  .filter-card { padding: 16px !important; }
  .filter-form { grid-template-columns: 1fr !important; }
  .filter-error { grid-column: auto !important; }
  .results-heading { align-items: flex-start !important; flex-direction: column !important; }
  .results-actions { width: 100%; justify-content: space-between; }
  .archive-news-header, .archive-news-footer { align-items: flex-start !important; flex-direction: column !important; }
  .archive-analysis-grid { grid-template-columns: 1fr !important; }
  .source-address code { max-width: calc(100vw - 72px) !important; }

  html[data-page="landing"] .hero,
  .live-tape,
  .manifesto,
  .workflow,
  .intelligence-stage {
    width: min(100% - 28px, 620px) !important;
  }
  html[data-page="landing"] .hero { padding: clamp(32px, 8vw, 40px) 0 48px !important; }
  .hero-title { font-size: clamp(44px, 13vw, 62px) !important; }
  html[data-page="landing"] .hero,
  html[data-page="landing"] .hero-copy,
  html[data-page="landing"] .hero-title,
  html[data-page="landing"] .hero-title span,
  html[data-page="landing"] .hero-visual {
    touch-action: pan-y;
  }
  html[data-page="landing"] .hero-title {
    -webkit-user-select: none;
    user-select: none;
  }
  .hero-actions { align-items: stretch !important; flex-direction: column !important; }
  .primary-action { width: 100%; }
  .hero-proof { gap: 12px !important; justify-content: space-between; }
  .hero-proof span { font-size: 10px !important; }
  .hero-visual { grid-template-columns: 1fr; padding: 14px; }
  .radar-core, .signal-news { grid-column: auto; }
  .tape-track { justify-content: flex-start; overflow-x: auto; }
  .manifesto { padding: 80px 0 48px !important; }
  .intelligence-stage { grid-template-columns: 1fr !important; padding-bottom: 80px !important; }
  .feature-panel { min-height: 440px !important; padding: 22px !important; }
  .workflow { padding: 72px 0 80px !important; }
  .workflow-list li { grid-template-columns: 32px 1fr !important; }
  .workflow-list li > i { display: none; }
  .workflow-list div { grid-template-columns: 1fr !important; gap: 4px !important; }
  .final-cta { min-height: 360px !important; }
  .ledger-tabbar { overflow-x: auto; }
  .ledger-tabbar button { min-width: max-content; }
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .list-toolbar, .screen-title-row { align-items: stretch !important; flex-direction: column !important; }
  .transaction-row-content { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .transaction-numbers { grid-column: 3; text-align: right !important; }
  .ledger-dialog, .rule-dialog, .auth-dialog {
    width: 100% !important;
    max-width: none !important;
    max-height: 90dvh !important;
    margin: auto 0 0 !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  }
  .dialog-handle { display: block !important; background: var(--color-border-strong) !important; }

  .alerts-app .hero { grid-template-columns: 1fr !important; }
  .alerts-app .hero-copy, .live-price-card { padding: 24px 20px !important; }
  .overview-grid { grid-template-columns: 1fr !important; }
  .content-grid { grid-template-columns: 1fr !important; }
  .rules-panel, .settings-panel { padding: 20px 16px !important; }
  .section-heading { align-items: flex-start !important; flex-direction: column !important; }
  .how-it-works { grid-template-columns: 1fr !important; gap: 24px !important; padding: 22px !important; }
  .how-it-works ol { grid-template-columns: 1fr !important; }
  .how-it-works li + li::before { display: none; }
  .choice-grid, .form-row { grid-template-columns: 1fr !important; }

  html[data-page="membership"] main { padding: 48px 0 64px !important; }
  html[data-page="auth"] main { min-height: auto !important; padding: 40px 0 64px !important; }
  .auth-intro > p:not(.eyebrow), .security-note { display: none !important; }
  .auth-intro h1 { font-size: 38px !important; }
  .account-card { padding: 22px 18px !important; }

  .console-topbar { padding-inline: 14px !important; }
  .console-breadcrumb > span, .console-breadcrumb i, .secure-status span { display: none; }
  .topbar-tools { margin-left: auto; }
  .account-copy { display: none !important; }
  .console-content { padding: 24px 14px 72px !important; }
  .console-heading { align-items: stretch !important; flex-direction: column !important; gap: 14px !important; }
  .user-stats, .task-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .settings-card { padding: 18px 16px !important; }
  .field-grid, .model-capability-options { grid-template-columns: 1fr !important; }
  .field-grid .wide { grid-column: auto !important; }
  .option-row { align-items: flex-start !important; flex-direction: column !important; gap: 12px !important; }
  .save-bar { position: static !important; align-items: stretch !important; flex-direction: column !important; gap: 12px !important; }
  .users-toolbar, .tasks-card-heading, .task-runs-toolbar { align-items: stretch !important; flex-direction: column !important; }
  .users-filters { align-items: stretch !important; flex-direction: column !important; }
  .users-filters .search-field, .task-runs-toolbar label { width: 100% !important; }
}

@media (max-width: 430px) {
  .topbar .brand strong, .landing-nav .landing-brand strong { display: none; }
  .site-header .brand strong {
    display: inline !important;
    max-width: 34vw;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .site-header .topbar-actions { gap: 6px !important; }
  .site-header .connection-state-label { display: none; }
  .market-stats { grid-template-columns: 1fr !important; }
  .market-stat { padding: 14px 18px !important; }
  .market-stat + .market-stat { border-top: 1px solid var(--color-border) !important; border-left: 0 !important; }
  .archive-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .news-sentiment-item-metrics { display: grid; grid-template-columns: auto 1fr; gap: 4px; align-items: baseline; }
  .news-sentiment-item-metrics > b { margin-left: 0; }
  .hero-proof { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-proof div { min-width: 0; }
  .hero-proof span { overflow-wrap: anywhere; }
  html[data-page="ledger"] .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .user-stats, .task-stats { grid-template-columns: 1fr !important; }
}

@media (max-width: 720px) {
  html[data-page="ledger"] .transaction-row-content {
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
  }
  html[data-page="ledger"] .transaction-numbers {
    grid-column: 3 !important;
    grid-row: 1 !important;
    text-align: right !important;
  }
}

@media (max-width: 899px) {
  .site-header .brand strong,
  .landing-nav .landing-brand strong {
    display: inline !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .card[data-interactive]:hover, .overview-card:hover, .plan-card:hover { border-color: var(--color-border-strong) !important; transform: translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .reveal, .hero-enter { opacity: 1 !important; transform: none !important; }
}

@media (prefers-reduced-transparency: reduce) {
  .site-header, .topbar, .landing-nav, .membership-header, .auth-topbar, .ledger-header, .alerts-header, .console-topbar, .save-bar {
    background: var(--color-canvas) !important;
    backdrop-filter: none !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --color-border-subtle: rgba(0, 0, 0, 0.24);
    --color-border-default: rgba(0, 0, 0, 0.42);
    --content-surface-border: 1px solid var(--color-border-strong);
  }
  html[data-theme="dark"] { --color-border-subtle: rgba(255, 255, 255, 0.28); --color-border-default: rgba(255, 255, 255, 0.5); }
}

/* Attribute semantics must win over responsive component display rules. */
[hidden] { display: none !important; }

@media print {
  .theme-toggle, .language-switcher, .site-header, .landing-nav, .console-sidebar, .console-topbar { display: none !important; }
  body { color: var(--color-print-text) !important; background: var(--color-print-page) !important; }
  .card { break-inside: avoid; box-shadow: none !important; }
}
