:root {
  --brand-obsidian: #06100f;
  --brand-night: #091412;
  --brand-panel: #0d1a17;
  --brand-panel-raised: #12221e;
  --brand-gold: #d6b36a;
  --brand-gold-soft: #f0d99e;
  --brand-cyan: #62d4bd;
  --brand-text: #f3f0e8;
  --brand-muted: #879b94;
  --brand-line: rgba(214, 179, 106, .16);
  --brand-line-cool: rgba(98, 212, 189, .14);
  --brand-shadow: 0 30px 80px rgba(0, 0, 0, .32);
  --brand-serif: "Songti SC", "Noto Serif SC", STSong, Georgia, serif;
  --brand-sans: "Avenir Next", "PingFang SC", "Helvetica Neue", sans-serif;
  --brand-mono: "SFMono-Regular", "DIN Alternate", Consolas, monospace;
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
  color: var(--brand-text);
  background-color: var(--brand-obsidian);
  font-family: var(--brand-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(214,179,106,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,179,106,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(circle at 50% 22%, black, transparent 76%);
  mask-image: radial-gradient(circle at 50% 22%, black, transparent 76%);
}
::selection { color: #07100f; background: var(--brand-gold-soft); }
:focus-visible { outline: 2px solid var(--brand-gold-soft) !important; outline-offset: 3px; }

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: max-content;
}
.brand-logo {
  display: block;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  filter: drop-shadow(0 7px 18px rgba(214, 179, 106, .14));
}
.brand-wordmark { display: grid; gap: 2px; line-height: 1; }
.brand-wordmark b {
  color: var(--brand-text);
  font-family: var(--brand-sans);
  font-size: 12px;
  letter-spacing: .14em;
  white-space: nowrap;
}
.brand-wordmark em { color: var(--brand-gold); font-style: normal; font-weight: 600; }
.brand-wordmark small {
  color: var(--brand-muted);
  font: 600 7px/1.2 var(--brand-mono);
  letter-spacing: .19em;
}
.brand-promise {
  color: var(--brand-gold-soft) !important;
  font-family: var(--brand-serif) !important;
  letter-spacing: .08em;
}
.eyebrow { color: var(--brand-gold) !important; font-family: var(--brand-mono) !important; }
button, input, select, textarea { font-family: inherit; }
button, a { transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease; }
button:active, .cta:active { transform: translateY(1px); }
strong, table td, .metric strong { font-variant-numeric: tabular-nums; }

/* Public investment experience */
.marketing-page { background: radial-gradient(circle at 76% 12%, rgba(214,179,106,.09), transparent 28%), radial-gradient(circle at 15% 55%, rgba(98,212,189,.055), transparent 30%), var(--brand-obsidian); }
.marketing-page > header { border-color: var(--brand-line); }
.marketing-page .logo { gap: 0; }
.marketing-page .logo > .brand-lockup { width: auto; height: auto; margin: 0; display: inline-flex; }
.marketing-page .logo .brand-logo { width: 38px; height: 38px; margin-right: 0; }
.marketing-page .logo .brand-wordmark b { font-size: 12px; }
.marketing-page nav a:hover, .marketing-page .login:hover { color: var(--brand-gold-soft); }
.marketing-page .cta {
  border-color: rgba(214,179,106,.5);
  color: #0a110f;
  background: linear-gradient(135deg, var(--brand-gold-soft), var(--brand-gold));
  box-shadow: 0 10px 28px rgba(157,119,64,.14);
}
.marketing-page .cta:hover { background: linear-gradient(135deg, #f7e6b8, #dfbd76); transform: translateY(-1px); }
.marketing-page .hero { position: relative; }
.marketing-page .hero::before {
  content: "01 / 量化EA";
  position: absolute;
  left: -5px;
  bottom: 28px;
  color: rgba(214,179,106,.34);
  font: 600 8px var(--brand-mono);
  letter-spacing: .18em;
}
.marketing-page .hero h1,
.marketing-page .section-intro h2,
.marketing-page .control-card h2,
.marketing-page .faq h2,
.marketing-page .final-cta h2 { font-family: var(--brand-serif); font-weight: 600; letter-spacing: -.035em; }
.marketing-page .hero h1 { max-width: 670px; font-size: clamp(42px, 4.7vw, 67px); line-height: 1.12; }
.marketing-page .hero h1 em { color: var(--brand-gold-soft); }
.marketing-page .hero-copy > p:nth-of-type(2) { color: #a4b3ae; font-size: 15px; }
.marketing-page .trust-row span { color: #9aaeA7; }
.marketing-page .trust-row span::first-letter { color: var(--brand-cyan); }
.marketing-page .orb {
  border-color: rgba(214,179,106,.25);
  background: radial-gradient(circle, rgba(214,179,106,.13), rgba(98,212,189,.025) 45%, transparent 70%);
  box-shadow: inset 0 0 90px rgba(214,179,106,.03), 0 0 80px rgba(0,0,0,.2);
}
.marketing-page .orb::before, .marketing-page .orb::after { border-color: rgba(214,179,106,.12); }
.marketing-page .orb strong { color: var(--brand-gold-soft); font-family: var(--brand-mono); }
.marketing-page .float-card { border-color: var(--brand-line); background: rgba(8,20,17,.9); box-shadow: var(--brand-shadow); }
.marketing-page .float-card i { color: var(--brand-cyan); }
.marketing-page .ticker, .marketing-page .steps article, .marketing-page .control-card, .marketing-page .risk-demo {
  border-color: var(--brand-line);
  background: linear-gradient(145deg, rgba(18,34,30,.9), rgba(7,17,15,.96));
}
.marketing-page .quotes article { border-color: var(--brand-line); }
.marketing-page .steps i { color: var(--brand-gold); font-family: var(--brand-serif); }
.marketing-page .steps article { position: relative; overflow: hidden; }
.marketing-page .steps article::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, var(--brand-gold), transparent); opacity: .45; }
.marketing-page .controls i { background: var(--brand-cyan); box-shadow: 0 0 8px var(--brand-cyan); }
.marketing-page .ring { background: radial-gradient(circle,#0f211c 57%,transparent 58%), conic-gradient(var(--brand-gold) 0 92%,#263a34 92%); }
.marketing-page .risk-demo li b { color: var(--brand-cyan); }
.marketing-page .final-cta { border-color: rgba(214,179,106,.28); background: radial-gradient(circle at center,rgba(214,179,106,.11),transparent 68%); }
.marketing-page footer .logo { display: inline-flex; }

/* Authentication */
.auth-page { background: radial-gradient(circle at 20% 24%,rgba(214,179,106,.10),transparent 31%), radial-gradient(circle at 80% 80%,rgba(98,212,189,.04),transparent 30%), var(--brand-obsidian); }
.auth-page .auth-shell { width: min(1080px, calc(100% - 40px)); gap: clamp(50px, 8vw, 110px); }
.auth-page .auth-brand > .brand-logo { width: 68px; height: 68px; margin-bottom: 28px; }
.auth-page .auth-brand h1 { font-family: var(--brand-serif); font-size: clamp(34px, 4vw, 48px); letter-spacing: .04em; }
.auth-page .auth-brand h1 em { color: var(--brand-gold); }
.auth-page .brand-copy { color: #9caaa5; }
.auth-page .brand-promise { margin: 12px 0 18px; font-size: 17px; }
.auth-page .security-list span { border-color: var(--brand-line); color: #91a29c; }
.auth-page .auth-card { border-color: var(--brand-line); background: linear-gradient(145deg,rgba(18,32,28,.98),rgba(7,15,14,.98)); box-shadow: var(--brand-shadow); }
.auth-page .auth-card h2 { font-family: var(--brand-serif); font-size: 27px; }
.auth-page input { border-color: rgba(214,179,106,.14); background: rgba(3,10,9,.72); }
.auth-page input:focus { border-color: rgba(214,179,106,.62); box-shadow: 0 0 0 3px rgba(214,179,106,.08); }
.auth-page button { border-color: rgba(214,179,106,.55); background: linear-gradient(135deg,var(--brand-gold-soft),var(--brand-gold)); color: #07100f; }
.auth-page button:hover { background: linear-gradient(135deg,#f7e6b8,#dfbd76); }
.auth-page .switch-copy a { color: var(--brand-gold-soft); }

/* Investor portal */
.investor-page { background: radial-gradient(circle at 13% 8%,rgba(214,179,106,.07),transparent 26%), var(--brand-obsidian); }
.investor-page .investor-topbar { border-color: var(--brand-line); background: rgba(6,16,15,.88); backdrop-filter: blur(18px); }
.investor-page .brand { gap: 10px; }
.investor-page .brand > .brand-lockup { width: auto; height: auto; display: inline-flex; }
.investor-page .brand-logo { width: 38px; height: 38px; }
.investor-page .brand-wordmark small { color: var(--brand-gold); }
.investor-page .welcome { border-color: var(--brand-line); background: linear-gradient(115deg,rgba(18,34,30,.86),rgba(7,17,15,.92)); }
.investor-page .welcome h1 { font-family: var(--brand-serif); font-weight: 600; letter-spacing: -.035em; }
.investor-page .welcome h1 em { color: var(--brand-gold-soft); }
.investor-page .metric, .investor-page .panel { border-color: var(--brand-line); background: linear-gradient(145deg,rgba(16,30,27,.92),rgba(8,18,16,.96)); box-shadow: 0 14px 44px rgba(0,0,0,.08); }
.investor-page .metric.primary { border-color: rgba(214,179,106,.34); background: radial-gradient(circle at 85% 0,rgba(214,179,106,.12),transparent 38%), linear-gradient(145deg,#14251f,#0b1714); }
.investor-page .metric.primary strong { color: var(--brand-gold-soft); }
.investor-page .panel h2 { font-family: var(--brand-serif); font-weight: 600; }
.investor-page .action-grid button:hover { border-color: rgba(214,179,106,.45); background: rgba(214,179,106,.06); }
.investor-page .submit-request { color: #06100f; background: linear-gradient(135deg,var(--brand-gold-soft),var(--brand-gold)); border-color: var(--brand-gold); }

/* Operations console */
.console-page, .admin-page { background-color: var(--brand-obsidian); }
.console-page .brand-block > .brand-logo { width: 45px; height: 45px; }
.console-page .brand-block h1, .admin-page .admin-sidebar h1 { font-family: var(--brand-serif); letter-spacing: .01em; }
.console-page .brand-block h1 em { color: var(--brand-gold); }
.console-page .topbar, .admin-page .admin-topbar { border-color: var(--brand-line); }
.console-page .hero-metric, .console-page .metric-card, .console-page .allocation-card,
.console-page .matrix-panel, .console-page .risk-rail, .console-page .parameter-deck,
.admin-page .config-section { border-color: var(--brand-line); }
.console-page .hero-metric strong { color: var(--brand-gold-soft); }
.console-page .admin-link, .admin-page button.primary { border-color: rgba(214,179,106,.45); color: var(--brand-gold-soft); }
.admin-page .brand { gap: 0; }
.admin-page .brand > .brand-lockup { display: inline-flex; width: auto; height: auto; }
.admin-page .brand-logo { width: 38px; height: 38px; }
.admin-page .admin-sidebar { border-color: var(--brand-line); }
.admin-page .admin-sidebar nav a:hover, .admin-page .admin-sidebar nav a.active { color: var(--brand-gold-soft); border-color: var(--brand-gold); background: rgba(214,179,106,.06); }
.admin-page input:focus { border-color: rgba(214,179,106,.55); box-shadow: 0 0 0 3px rgba(214,179,106,.07); }
.admin-page .section-title > span { color: var(--brand-gold); border-color: var(--brand-line); }

@keyframes brand-reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.marketing-page .hero-copy, .auth-page .auth-brand, .investor-page .welcome { animation: brand-reveal .7s cubic-bezier(.2,.7,.2,1) both; }

@media (max-width: 900px) {
  .marketing-page .hero::before { display: none; }
  .investor-page .brand-wordmark small { display: none; }
  .console-page { min-width: 0; }
  .console-page .terminal-shell { width: min(100% - 24px, 1400px); }
  .console-page .topbar { align-items: flex-start; gap: 18px; }
  .console-page .top-status { flex-wrap: wrap; justify-content: flex-end; }
  .console-page .portfolio-strip, .console-page .parameter-deck { grid-template-columns: 1fr 1fr; }
  .console-page .workspace-grid { grid-template-columns: 1fr; }
  .console-page .matrix-panel, .console-page .risk-rail { min-width: 0; }
  .admin-page { min-width: 0; }
  .admin-page .admin-layout { display: block; width: min(100% - 24px, 1200px); }
  .admin-page .admin-sidebar { position: static; width: auto; height: auto; min-height: 0; padding: 24px 0; background: transparent; }
  .admin-page .admin-sidebar nav { display: flex; overflow-x: auto; padding-bottom: 8px; }
  .admin-page .admin-sidebar nav a { white-space: nowrap; }
  .admin-page .admin-content { min-width: 0; padding: 28px 0 60px; }
}

@media (max-width: 640px) {
  body::after { background-size: 46px 46px; }
  .brand-logo { width: 34px; height: 34px; }
  .brand-wordmark b { font-size: 10px; }
  .marketing-page > header { width: min(100% - 28px, 1240px); }
  .marketing-page > header .cta { padding: 10px 11px; }
  .marketing-page .hero { padding-top: 58px; }
  .marketing-page .hero h1 { font-size: 38px; }
  .auth-page .auth-shell { width: min(100% - 28px, 1080px); }
  .auth-page .auth-brand > .brand-logo { width: 54px; height: 54px; }
  .investor-page .brand-wordmark { display: grid; }
  .console-page .brand-block > div { display: block; }
  .console-page .topbar { display: flex; }
  .console-page .top-status .clock-block, .console-page .top-status .user-chip { display: none; }
  .console-page .portfolio-strip, .console-page .workspace-grid, .console-page .parameter-deck { grid-template-columns: 1fr; }
  .admin-page .admin-topbar { padding-inline: 14px; }
  .admin-page .admin-actions span, .admin-page .admin-actions a:first-of-type { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Secure Orbit visual system — legibility baseline */
html{font-size:16px}body{font-size:16px;line-height:1.6}.brand-logo{width:44px;height:44px}.brand-wordmark b{font-size:13px}.brand-wordmark small{font-size:8px}.marketing-page{font-size:16px}.marketing-page p,.marketing-page li,.marketing-page nav a{font-size:15px;line-height:1.7}.marketing-page .eyebrow,.auth-page .eyebrow,.console-page .eyebrow,.admin-page .eyebrow,.investor-page .eyebrow{font-size:11px}.auth-page .auth-card h2{font-size:30px}.auth-page .subtitle,.auth-page label,.auth-page .switch-copy{font-size:14px}.auth-page input,.auth-page button{font-size:15px;min-height:48px}.auth-page label small{font-size:12px}.console-page{font-size:15px}.console-page table,.console-page button,.console-page a{font-size:13px}.console-page .metric-label,.console-page small{font-size:12px}.admin-page .brand-wordmark b,.investor-page .brand-wordmark b{font-size:13px}
