:root{
/* V18: tokens.css is the single source of design tokens (renamed from theme.css). Rules: see docs/DESIGN.md. Light is the default; html.dark overrides colour tokens only, never sizes, so switching theme never moves layout. */
/* V10 theme tokens. Every color, type size, radius and spacing in style.css/v4.css/v5.css reads from here, so V11 can re-theme by editing this file only. */
--c-surface:#ffffff;
--c-bg:#f6f7fb;
--c-bg-2:#eef0f5;
--c-line:#e3e6ef;
--c-line-2:#d8dbe8;
--c-ink:#14172b;
--c-ink-2:#374151;
--c-mut:#4b5168;
--c-mut-2:#6b7085;
--c-faint:#9ca3af;
--c-pri:#5b46c9;
--c-pri-2:#6d5efc;
--c-pri-ink:#4b3cc9;
--c-pri-soft:#efedff;
--c-pri-soft-2:#d9d3ff;
--c-blue:#1d4ed8;
--c-blue-soft:#eff6ff;
--c-blue-line:#bfdbfe;
--c-red:#b42318;
--c-red-soft:#fdecea;
--c-amber:#8a5a00;
--c-amber-soft:#fffbea;
--c-amber-2:#f59e0b;
--c-green:#047857;
--c-green-soft:#ecfdf3;
--c-pink:#e2557a;
/* one-off colors kept as tokens (mostly the intro planet/hero) */
--c-x000000:#000000;
--c-x065f46:#065f46;
--c-x0a1033:#0a1033;
--c-x101a48:#101a48;
--c-x10b981:#10b981;
--c-x11502c:#11502c;
--c-x11683a:#11683a;
--c-x14532d:#14532d;
--c-x166534:#166534;
--c-x191a5e:#191a5e;
--c-x1c6b40:#1c6b40;
--c-x1d1b3a:#1d1b3a;
--c-x1d6b3a:#1d6b3a;
--c-x1e1b4b:#1e1b4b;
--c-x1e3a8a:#1e3a8a;
--c-x1f1d3a:#1f1d3a;
--c-x1f2340:#1f2340;
--c-x22c55e:#22c55e;
--c-x24387f:#24387f;
--c-x2a2470:#2a2470;
--c-x2b1f86:#2b1f86;
--c-x2b2a3f:#2b2a3f;
--c-x2e9d62:#2e9d62;
--c-x2f2a5a:#2f2a5a;
--c-x2f2a7a:#2f2a7a;
--c-x312e81:#312e81;
--c-x3730a3:#3730a3;
--c-x3a2db5:#3a2db5;
--c-x3d33b8:#3d33b8;
--c-x3f6212:#3f6212;
--c-x4733b5:#4733b5;
--c-x4a35a8:#4a35a8;
--c-x4a3b00:#4a3b00;
--c-x4ade80:#4ade80;
--c-x525873:#525873;
--c-x555555:#555555;
--c-x555b72:#555b72;
--c-x57534e:#57534e;
--c-x5a3b00:#5a3b00;
--c-x5aa9ff:#5aa9ff;
--c-x5b21b6:#5b21b6;
--c-x666666:#666666;
--c-x666677:#666677;
--c-x6a4cff:#6a4cff;
--c-x6b4e00:#6b4e00;
--c-x777777:#777777;
--c-x7a1610:#7a1610;
--c-x7a3e00:#7a3e00;
--c-x7a7f95:#7a7f95;
--c-x7c6cf0:#7c6cf0;
--c-x8a8fa3:#8a8fa3;
--c-x8a90a8:#8a90a8;
--c-x8f2d1d:#8f2d1d;
--c-x92400e:#92400e;
--c-x991b1b:#991b1b;
--c-x9a3412:#9a3412;
--c-x9a5b00:#9a5b00;
--c-x9b2c1f:#9b2c1f;
--c-xa5b4fc:#a5b4fc;
--c-xa7f3d0:#a7f3d0;
--c-xa9aec0:#a9aec0;
--c-xb7791f:#b7791f;
--c-xb9b3f5:#b9b3f5;
--c-xbbf7d0:#bbf7d0;
--c-xc0392b:#c0392b;
--c-xc063b5:#c063b5;
--c-xc2410c:#c2410c;
--c-xc8cbe0:#c8cbe0;
--c-xc9c0fb:#c9c0fb;
--c-xc9c3ff:#c9c3ff;
--c-xc9c4f5:#c9c4f5;
--c-xcfd2e0:#cfd2e0;
--c-xd1d5db:#d1d5db;
--c-xd1fae5:#d1fae5;
--c-xd4553f:#d4553f;
--c-xd9a400:#d9a400;
--c-xd9f99d:#d9f99d;
--c-xdbeafe:#dbeafe;
--c-xdc2626:#dc2626;
--c-xdcfce7:#dcfce7;
--c-xe0a400:#e0a400;
--c-xe0e7ff:#e0e7ff;
--c-xe3defd:#e3defd;
--c-xe3f5ea:#e3f5ea;
--c-xe3f9e5:#e3f9e5;
--c-xe4d27e:#e4d27e;
--c-xe66a8f:#e66a8f;
--c-xf0d47a:#f0d47a;
--c-xf0fbd3:#f0fbd3;
--c-xf3b8b2:#f3b8b2;
--c-xf3e3a1:#f3e3a1;
--c-xfde68a:#fde68a;
--c-xfecaca:#fecaca;
--c-xfed7aa:#fed7aa;
--c-xff7eb3:#ff7eb3;
--c-xff8e72:#ff8e72;
--c-xff9a7a:#ff9a7a;
--c-xffd27a:#ffd27a;
--c-xffd8a8:#ffd8a8;
--c-xffe9c7:#ffe9c7;
--c-xffeddc:#ffeddc;
--c-xfff3cc:#fff3cc;
--c-xfff3d6:#fff3d6;
--c-xfff4dc:#fff4dc;
--fs-s:13px;--fs-m:15px;--fs-l:18px;--fs-xl:clamp(28px,3.2vw,40px);
--r:10px;--r-pill:999px;
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
--shadow-1:0 1px 2px rgba(20,23,43,.06);--shadow-2:0 8px 24px rgba(20,23,43,.10);
--font:"Geist","Geist Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--dur:.15s;}
/* V11 stock-market accents */
:root{--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--c-up:#047857;--c-down:#b42318;--c-move:#8a5a00;--c-board:#0f1220;--c-board-ink:#e8eaf2;--c-board-up:#34d399;--c-board-down:#f87171;--c-board-move:#fbbf24;--c-board-line:rgba(255,255,255,.14)}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/jbmono-500.woff2?v=7e568f3cae) format("woff2")}
/* V11.1 dark mode (tokens only) + colour-blind grades */
html.dark{--c-surface:#161a2b;--c-bg:#0f1220;--c-bg-2:#1d2236;--c-line:#272d45;--c-line-2:#323a57;--c-ink:#e8eaf2;--c-ink-2:#c9cde0;--c-mut:#a3a9c2;--c-mut-2:#8a90aa;--c-faint:#6b7190;--c-pri-soft:#262150;--c-pri-soft-2:#3a3175;--c-pri-ink:#b9adff;--c-blue-soft:#14223f;--c-red-soft:#3a1916;--c-amber-soft:#33280d;--c-green-soft:#0f2e22;--c-up:#34d399;--c-down:#f87171;--c-move:#fbbf24;--c-bar:rgba(22,26,43,.96);--c-hdr:rgba(15,18,32,.88);--c-x525873:#a3a9c2;--c-x8a90a8:#8a90aa;--c-xf3e3a1:#5a4a1a;color-scheme:dark}
html.cb{--c-up:#1d4ed8;--c-board-up:#60a5fa;--c-cb-hi:#dbeafe;--c-cb-hi-ink:#1e3a8a;--c-cb-hi-line:#93c5fd}
html.cb.dark{--c-up:#60a5fa}
/* V11.1 design pass: one restrained market palette used everywhere (intro, Find, drawer, tracker, profile) */
:root{--c-up:#0e7c5a;--c-down:#c2362b;--c-move:#9a6700;--c-up-soft:#e7f5ef;--c-down-soft:#fbecea;
--c-tk-bg:var(--c-surface);--c-tk-ink:var(--c-ink-2);--c-tk-line:var(--c-line);--c-tk-up:var(--c-up);--c-tk-down:var(--c-down);--c-tk-move:var(--c-move);--c-tk-lbl:var(--c-mut-2);
--pulse-dur:2.4s}
html.dark{--c-up:#3fbf8f;--c-down:#f2766b;--c-move:#e0b54f;--c-up-soft:#0f2e22;--c-down-soft:#3a1916;--c-tk-bg:var(--c-surface);--c-tk-ink:var(--c-ink-2);--c-tk-line:var(--c-line)}
html.cb{--c-up:#1d5fd8;--c-tk-up:#1d5fd8}html.cb.dark{--c-up:#6ea0f5;--c-tk-up:#6ea0f5}

/* V12.1 dark mode: default theme. Softer charcoal (#1a1f26 bg, #232a33 surface, #2c3440 raised/borders), near-white text (#f3f5f7), light-gray muted (#aab3bf). Green/red only for meaning. */
html.dark{--c-bg:#1a1f26;--c-surface:#232a33;--c-bg-2:#2c3440;--c-line:#2c3440;--c-line-2:#3a4452;--c-ink:#f3f5f7;--c-ink-2:#e3e7ec;--c-mut:#aab3bf;--c-mut-2:#aab3bf;--c-faint:#aab3bf;--c-x525873:#aab3bf;--c-x8a90a8:#aab3bf;--c-bar:rgba(35,42,51,.97);--c-hdr:rgba(26,31,38,.94);--c-pri-soft:#2e2b4f;--c-pri-soft-2:#3d3970;--c-pri-ink:#cfc7ff;--c-green-soft:#1d3a30;--c-amber-soft:#3a3120;--c-red-soft:#3d2427;--c-blue-soft:#1f2c40;--c-up:#5fd3a5;--c-down:#ff8a7f;--c-move:#f3c969;--c-up-soft:#1d3a30;--c-down-soft:#3d2427;--c-tk-bg:#232a33;--c-tk-ink:#e3e7ec;--c-tk-lbl:#aab3bf;
--c-x065f46:#7ee2b8;--c-x11502c:#7ee2b8;--c-x14532d:#7ee2b8;--c-x166534:#7ee2b8;--c-x1c6b40:#7ee2b8;--c-x1d1b3a:#cfc7ff;--c-x1d6b3a:#7ee2b8;--c-x1e1b4b:#cfc7ff;--c-x1e3a8a:#cfc7ff;--c-x2b1f86:#cfc7ff;--c-x2b2a3f:#cfc7ff;--c-x2f2a5a:#cfc7ff;--c-x2f2a7a:#cfc7ff;--c-x312e81:#cfc7ff;--c-x3730a3:#cfc7ff;--c-x3a2db5:#cfc7ff;--c-x3d33b8:#cfc7ff;--c-x3f6212:#7ee2b8;--c-x4a3b00:#f3c969;--c-x4ade80:#1d3a30;--c-x555555:#f3f5f7;--c-x555b72:#f3f5f7;--c-x57534e:#f3f5f7;--c-x5a3b00:#f3c969;--c-x5b21b6:#cfc7ff;--c-x666666:#f3f5f7;--c-x666677:#f3f5f7;--c-x6b4e00:#f3c969;--c-x777777:#f3f5f7;--c-x7a1610:#ff9b91;--c-x7a3e00:#f3c969;--c-x7a7f95:#f3f5f7;--c-x8a8fa3:#f3f5f7;--c-x8f2d1d:#ff9b91;--c-x92400e:#f3c969;--c-x991b1b:#ff9b91;--c-x9a3412:#ff9b91;--c-x9a5b00:#f3c969;--c-x9b2c1f:#ff9b91;--c-xb7791f:#f3c969;--c-xbbf7d0:#1d3a30;--c-xc9c3ff:#2e2b4f;--c-xd1fae5:#1d3a30;--c-xdbeafe:#2e2b4f;--c-xdcfce7:#1d3a30;--c-xe0e7ff:#2e2b4f;--c-xe3defd:#2e2b4f;--c-xe3f5ea:#1d3a30;--c-xe3f9e5:#1d3a30;--c-xf0fbd3:#1d3a30;--c-xffd8a8:#3a3120;--c-xffe9c7:#3a3120;--c-xffeddc:#3a3120;--c-xfff3cc:#3a3120;--c-xfff3d6:#3a3120;--c-xfff4dc:#3a3120}
html.dark{--c-x000000:#f3f5f7;--c-x11683a:#7ee2b8;--c-x4733b5:#cfc7ff;--c-x6a4cff:#cfc7ff;--c-x7c6cf0:#cfc7ff;--c-xc0392b:#ff9b91;--c-xc2410c:#ff9b91;--c-xd4553f:#ff9b91;--c-xf3e3a1:#f3c969}
html.dark{--c-xa5b4fc:#4a4f7a;--c-xa9aec0:#3a4452;--c-xc8cbe0:#3a4452;--c-xc9c4f5:#4a4f7a;--c-xcfd2e0:#3a4452;--c-xb9b3f5:#4a4f7a;--c-xc9c0fb:#4a4f7a}
