/* Shared semantic palette: keep foreground and background together in every state. */
:root,:root[data-theme="dark"]{
 color-scheme:dark;--page:#0c1422;--surface:#152337;--sidebar:#101d2e;--text:#edf3fc;--muted:#b7c7db;--border:#4a607b;--input:#0e1a2b;
 --link:#8ce9ce;--link-hover:#bcffe9;--nav-hover:#253e58;--nav-hover-text:#ffffff;--nav-active:#244f49;--nav-active-text:#baffdf;
 --primary:#86e6ce;--primary-hover:#b1f7e5;--primary-text:#102c35;--quiet:#2b4059;--quiet-hover:#3a5575;--quiet-text:#f0f5ff;
 --positive:#8ce9ce;--negative:#ffb0be;--warning:#f4d18a;--notice:#302b20;--notice-text:#ffe3a8;--badge:#24473f;--badge-text:#b8f9d9;--focus:#f5d479;--row-hover:#1d324b;--head:#20334c;
 --chart-up:#70e6bb;--chart-down:#ff94ad;--ma20:#f4cf78;--ma50:#91c8ff;--ma200:#dab8ff;
}
:root[data-theme="light"]{
 color-scheme:light;--page:#f0f4f9;--surface:#ffffff;--sidebar:#e5edf6;--text:#182e47;--muted:#435b76;--border:#889eb6;--input:#f7f9fc;
 --link:#075f52;--link-hover:#003d35;--nav-hover:#cfdeed;--nav-hover-text:#142e49;--nav-active:#c7e5d9;--nav-active-text:#124a37;
 --primary:#13745f;--primary-hover:#0b5748;--primary-text:#ffffff;--quiet:#e1e9f3;--quiet-hover:#cbd9e9;--quiet-text:#233e59;
 --positive:#126745;--negative:#ac2541;--warning:#795000;--notice:#fff1ce;--notice-text:#62430a;--badge:#d6ecdf;--badge-text:#195537;--focus:#164d9c;--row-hover:#eef4fb;--head:#e6edf6;
 --chart-up:#116e50;--chart-down:#b22445;--ma20:#876000;--ma50:#175d9e;--ma200:#7636a5;
}
:root[data-theme]{background:var(--page);color:var(--text);font-size:15px;line-height:1.6;accent-color:var(--link);scrollbar-color:var(--border) var(--page)}
:root[data-theme] aside{background:var(--sidebar);border-color:var(--border);padding-top:26px}
:root[data-theme] .card{background:var(--surface);border-color:var(--border);box-shadow:0 3px 14px #00000008}
:root[data-theme] h1,:root[data-theme] h2,:root[data-theme] h3,:root[data-theme] td b{color:var(--text)}
:root[data-theme] p,:root[data-theme] label,:root[data-theme] small,:root[data-theme] .hint,:root[data-theme] .metrics span,:root[data-theme] header>span,:root[data-theme] footer,:root[data-theme] .empty,:root[data-theme] .aside-bottom,:root[data-theme] .brand small{color:var(--muted)}
:root[data-theme] .brand,:root[data-theme] .eyebrow,:root[data-theme] a,:root[data-theme] summary,:root[data-theme] .nav-group summary{color:var(--link)}
:root[data-theme] a:hover{color:var(--link-hover)}
:root[data-theme] nav{gap:6px;margin-top:30px}
:root[data-theme] nav a{color:var(--text);border:1px solid transparent;line-height:1.5;padding:12px 10px}
:root[data-theme] nav a:hover,:root[data-theme] nav a:focus-visible,:root[data-theme] .nav-group summary:hover{background:var(--nav-hover);color:var(--nav-hover-text)}
:root[data-theme] nav a.active,:root[data-theme] nav a[aria-current="page"]{background:var(--nav-active);color:var(--nav-active-text);border-color:var(--border);border-left:3px solid var(--link);font-weight:700}
:root[data-theme] nav a.active:hover{background:var(--nav-active);color:var(--nav-active-text);text-decoration:underline}
:root[data-theme] .nav-group summary{border-radius:8px}
:root[data-theme] button,:root[data-theme] .button{background:var(--primary);color:var(--primary-text);min-height:42px;font:inherit;font-weight:700;line-height:1.4}
:root[data-theme] button:hover,:root[data-theme] .button:hover{background:var(--primary-hover);color:var(--primary-text)}
:root[data-theme] .quiet,:root[data-theme] .button.quiet{background:var(--quiet);color:var(--quiet-text)}
:root[data-theme] .quiet:hover,:root[data-theme] .button.quiet:hover{background:var(--quiet-hover);color:var(--quiet-text)}
:root[data-theme] button:disabled{background:var(--quiet);color:var(--muted);opacity:1;cursor:not-allowed;border:1px dashed var(--border)}
:root[data-theme] input,:root[data-theme] select,:root[data-theme] textarea{background:var(--input);color:var(--text);border-color:var(--border);color-scheme:inherit}
:root[data-theme] input::placeholder,:root[data-theme] textarea::placeholder{color:var(--muted);opacity:1}
:root[data-theme] :is(a,button,input,select,textarea,summary,svg[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
:root[data-theme] input:focus,:root[data-theme] select:focus,:root[data-theme] textarea:focus{outline-color:var(--focus)}
:root[data-theme] th{background:var(--head);color:var(--muted);font-size:12px}
:root[data-theme] td,:root[data-theme] header,:root[data-theme] .job{border-color:var(--border)}
:root[data-theme] tbody tr:hover{background:var(--row-hover)}
:root[data-theme] .green{color:var(--positive)}:root[data-theme] .red{color:var(--negative)}:root[data-theme] .warn{color:var(--warning)}
:root[data-theme] .badge{background:var(--badge);color:var(--badge-text)}
:root[data-theme] .notice{background:var(--notice);color:var(--notice-text);border-color:var(--warning)}
:root[data-theme] .notice p,:root[data-theme] .notice small{color:var(--notice-text)}
:root[data-theme] #candle-svg{background:var(--surface);border-color:var(--border);color:var(--text)}
:root[data-theme] .price-chart text{fill:var(--muted)}:root[data-theme] .price-line{stroke:var(--chart-up)}
:root[data-theme] .baseline-label{color:var(--ma20)}:root[data-theme] .baseline-line{stroke:var(--ma20)}
:root[data-theme] .chart-detail{background:var(--input);color:var(--text);padding:12px;border:1px solid var(--border);border-radius:8px;margin-top:12px}
:root[data-theme] .chart-controls [aria-pressed="true"]{background:var(--nav-active);color:var(--nav-active-text);outline-color:var(--link)}
:root[data-theme] .metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
:root[data-theme] .hash{background:var(--input);padding:10px;border-radius:6px;color:var(--text)}
::selection{background:#b7d9fa;color:#102e49}
@media(max-width:1000px){:root[data-theme] nav{margin-top:15px;gap:4px}:root[data-theme] nav a.active{border-left:1px solid var(--border);border-bottom:3px solid var(--link)}:root[data-theme] .toolbar{gap:8px}}
@media(prefers-reduced-motion:no-preference){button,.button,nav a{transition:background-color .12s ease,color .12s ease}}
