.vix-page { --vix-ink:#18283f; --vix-muted:#687891; --vix-border:#e1e7ef; --vix-bg:#fff; --vix-soft:#f5f7fb; color:var(--vix-ink); padding-bottom:2rem; }
.dark .vix-page { --vix-ink:#e1e8f1; --vix-muted:#9baac1; --vix-border:#303b4e; --vix-bg:#171e2b; --vix-soft:#202b3c; }
.vix-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 0 1.5rem; }
.vix-eyebrow { font-size:.68rem; font-weight:600; letter-spacing:.15em; color:var(--vix-muted); }
.vix-heading h1 { font-size:1.8rem; font-weight:600; margin:.3rem 0; letter-spacing:-.035em; }
.vix-heading p:not(.vix-eyebrow),.vix-frequency { color:var(--vix-muted); font-size:.8rem; }
.vix-frequency { background:var(--vix-soft); padding:.45rem .7rem; border-radius:.4rem; }
.vix-panel { background:var(--vix-bg); border:1px solid var(--vix-border); border-radius:.8rem; overflow:hidden; margin-bottom:1.25rem; }
.vix-controls { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.85rem; padding:1.2rem; }
.vix-controls label { display:flex; flex-direction:column; gap:.35rem; color:var(--vix-muted); font-size:.72rem; }
.vix-controls select { background:var(--vix-bg); color:var(--vix-ink); border:1px solid var(--vix-border); border-radius:.45rem; height:37px; padding:0 2rem 0 .6rem; font-size:.8rem; max-width:100%; }
.vix-controls select:disabled { opacity:.5; }
.vix-controls button { height:37px; }
.vix-symbols { display:flex; flex-wrap:wrap; gap:.65rem; padding:0 1.2rem 1.1rem; }
.vix-symbols label { display:flex; align-items:center; gap:.5rem; padding:.4rem .65rem; border:1px solid var(--vix-border); border-radius:.45rem; font-size:.8rem; font-weight:500; cursor:pointer; }
.vix-symbols label:has(:checked) { background:var(--vix-soft); }
.vix-symbols label:has(:focus-visible) { outline:2px solid var(--series-color); outline-offset:2px; }
.vix-symbols input { accent-color:var(--series-color); width:14px; height:14px; }
.vix-symbols small { font-size:.7rem; color:var(--vix-muted); }
.vix-swatch { width:15px; height:3px; display:inline-block; background:var(--series-color); border-radius:2px; }
.vix-chart-head { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding:1rem 1.2rem; border-top:1px solid var(--vix-border); }
.vix-chart-head h2 { font-size:.9rem; font-weight:500; }
.vix-chart-head span { color:var(--vix-muted); font-size:.75rem; }
#vix-chart { width:100%; height:510px; }
#vix-loading { color:var(--vix-muted); text-align:center; font-size:.85rem; padding:1rem; }
.vix-chart-note { color:var(--vix-muted); font-size:.72rem; padding:0 1.2rem .8rem; }
.vix-notice { margin:0 0 1.2rem; padding:.8rem 1rem; background:#fff8e9; border:1px solid #ead4a8; border-radius:.6rem; color:#846024; font-size:.78rem; }
.dark .vix-notice { background:#30291f; border-color:#6d5736; color:#e1c18b; }
#vix-error { margin:0 1.2rem 1rem; }
.vix-summary table { width:100%; border-collapse:collapse; table-layout:fixed; font-variant-numeric:tabular-nums; }
.vix-summary th,.vix-summary td { padding:.85rem 1rem; text-align:right; border-top:1px solid var(--vix-border); overflow-wrap:anywhere; }
.vix-summary th { background:var(--vix-soft); color:var(--vix-muted); font-size:.7rem; font-weight:500; }
.vix-summary tr:first-child th { border-top:0; }
.vix-summary th:first-child,.vix-summary td:first-child { text-align:left; width:34%; }
.vix-summary td { font-size:.83rem; }
.vix-summary small { display:block; color:var(--vix-muted); font-size:.69rem; margin-top:.2rem; }
.vix-summary a,.vix-method a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.vix-method { color:var(--vix-muted); font-size:.75rem; line-height:1.7; }
.vix-method p + p { margin-top:.55rem; }
.vix-up { color:#078660; } .vix-down { color:#bf4a56; } .dark .vix-up { color:#61c8a1; } .dark .vix-down { color:#ed8c97; }
@media (max-width:767px) {
 .vix-heading { align-items:flex-start; flex-direction:column; padding-top:.4rem; } .vix-heading h1 { font-size:1.5rem; }
 .vix-controls label { flex:1 1 180px; min-width:0; } .vix-controls button { flex:1 1 180px; justify-content:center; }
 .vix-controls,.vix-symbols,.vix-chart-head { padding-left:.8rem; padding-right:.8rem; } #vix-chart { height:390px; }
 .vix-summary thead { display:none; } .vix-summary table,.vix-summary tbody,.vix-summary tr { display:block; }
 .vix-summary tr { border-top:1px solid var(--vix-border); padding:.6rem .85rem; } .vix-summary tr:first-child { border-top:0; }
 .vix-summary td:first-child { display:block; width:100%; padding:.35rem 0; }
 .vix-summary td { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:.2rem .5rem; padding:.35rem 0; border:0; }
 .vix-summary td:not(:first-child)::before { content:attr(data-label); grid-row:1 / span 3; text-align:left; color:var(--vix-muted); font-size:.74rem; }
 .vix-summary td:not(:first-child) > * { grid-column:2; }
}
