/* Ascent Expert Advisors - shared styles */
:root {
  --paper: #eef1f0;
  --surface: #ffffff;
  --ink: #15222e;
  --muted: #5b6b78;
  --line: #d3dade;
  --gold: #8a6416;
  --gold-soft: #f3e9d2;
  --live: #2f7a4f;
  --live-soft: #dcefe3;
  --danger: #a3372b;
  --focus: #2b6cb0;
  --font: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #10171d; --surface: #182129; --ink: #e5eaed; --muted: #93a2ad;
    --line: #2a3640; --gold: #d9ae55; --gold-soft: #2e2716; --live: #6cc28f;
    --live-soft: #16301f; --danger: #e0786b; --focus: #7fb2ea;
  }
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--paper); color: var(--ink); font-family: var(--font);
  font-size: 1rem; line-height: 1.55; -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 3px; }

.bar {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  max-width: 64rem; margin: 0 auto; padding: 1.25rem 1.5rem;
}
.brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; font-weight: 600; letter-spacing: .01em; }
.brand svg { width: 28px; height: 20px; color: var(--gold); }
.bar nav { display: flex; white-space: nowrap; gap: 1.25rem; font-size: .95rem; color: var(--muted); }
.bar nav a { text-decoration: none; }
.bar nav a:hover { color: var(--ink); }

main { max-width: 64rem; margin: 0 auto; padding: 1rem 1.5rem 5rem; }
h1 { font-size: clamp(1.75rem, 3.5vw, 2.4rem); line-height: 1.15; letter-spacing: -.02em; font-weight: 600; margin: 1.5rem 0 .5rem; }
h2 { font-size: 1.15rem; font-weight: 600; margin: 0; }
p { margin: 0 0 1rem; max-width: 38rem; }
.muted { color: var(--muted); }
.small { font-size: .875rem; }

.btn {
  font: inherit; font-weight: 600; font-size: .95rem; cursor: pointer;
  border: 1px solid var(--ink); background: var(--ink); color: var(--paper);
  padding: .65rem 1.1rem; border-radius: 6px;
}
.btn:hover { opacity: .9; }
.btn[disabled] { opacity: .5; cursor: default; }
.btn.quiet { background: transparent; color: var(--ink); border-color: var(--line); }
.btn.quiet:hover { border-color: var(--ink); opacity: 1; }
.btn.danger { background: transparent; color: var(--danger); border-color: transparent; padding: .4rem .6rem; }
.btn.danger:hover { border-color: var(--danger); }

input[type=email] {
  font: inherit; width: 100%; padding: .7rem .8rem; border-radius: 6px;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink);
}
label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .35rem; }

.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 1.5rem; }
.narrow { max-width: 26rem; }
.stack > * + * { margin-top: 1rem; }
.notice { border-left: 3px solid var(--gold); padding: .5rem 0 .5rem .9rem; }
.error { color: var(--danger); }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
