:root {
color-scheme: light;
    --bg: #f3f6f4; --card: #ffffff; --text: #1d2a26; --muted: #5f6e69; --faint: #63736c; --border: #dfe6e2; --hover: #f5f8f6;
    --accent: #0f5c5a; --accent-bg: #e3f0ee; --accent-ink: #ffffff; --mark: #c98316; --mark-bg: #fdf1dc;
    --good: #1f8a5b; --bad: #c2412d; --warn: #9a6a00;
    --good-bg: #e5f4ec; --bad-bg: #fbeae6; --warn-bg: #fbf2dc; --input: #ffffff; --shadow: 0 1px 2px rgba(20,40,34,.05);
    --pull: #0e7490; --pull-bg: #e3f3f7; --brk: #7c3aed; --brk-bg: #f1eafe;
--grid:#e8eeeb; --ema:#7c3aed; --sma:#d97706; --backdrop:rgba(10,12,16,.45); --dialog-shadow:0 20px 60px rgba(0,0,0,.3); --menu-shadow:0 14px 36px rgba(10,20,16,.18); --nav-shadow:0 -6px 18px rgba(20,40,34,.06); --tip-shadow:0 4px 14px rgba(0,0,0,.12);
}
:root[data-color-scheme="dark"] {
color-scheme: dark;
    --bg: #0f1614; --card: #161f1c; --text: #e4ebe8; --muted: #9aaba5; --faint: #9aaba5; --border: #25312d; --hover: #1b2522;
    --accent: #4fb8ad; --accent-bg: #15302c; --accent-ink: #062320; --mark: #f0b85a; --mark-bg: #2e2412;
    --good: #3fcf8e; --bad: #ff8a6a; --warn: #f2c14e;
    --good-bg: #11271d; --bad-bg: #2d1812; --warn-bg: #2a2310; --input: #111816; --shadow: none;
    --pull: #5ccfe6; --pull-bg: #0f2a30; --brk: #b79cff; --brk-bg: #241a3d;
--grid:#1c2724; --ema:#b794f6; --sma:#f6ad55;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
button,input,select,textarea { font:inherit; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.text-small { font-size:12px; }
.m-0 { margin:0; }
.text-note { margin:0; font-size:13px; }
.brand img { flex:none; }

  input, select, textarea, button { font: inherit; color: var(--text); }
  input, select, textarea { background: var(--input); border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; width: 100%; min-width: 0; }
  button { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 7px 14px; cursor: pointer; font-weight: 500; white-space: nowrap; }
