/* UI.6 · live chart of standard §18. Role colours per app style (T60-X mock tasks/P7-design/T60-X/UI.6/live/preview.css, contrast
   checked there: roles >= 4.64:1, price text >= 5.94:1). The current price is neutral (the text colour) and always labelled. */
.uc-wrap { --uc-bg: #0a0a0c; --uc-grid: #34343d; --uc-fg: #e8e8ed; --uc-mute: #a5a5ae; --uc-red: #ff6675; --uc-cyan: #54c7ed;
  --uc-green: #42dfae; --uc-violet: #b388ff; --uc-accent: #f5ab21; --uc-tagtext: #0a0a0c; --uc-up: #42dfae; --uc-dn: #ff6675; }
html[data-theme="neon"] .uc-wrap { --uc-bg: #0e1020; --uc-grid: #444b69; --uc-fg: #eef1ff; --uc-mute: #aab2cf; --uc-red: #ff4d7d; --uc-cyan: #00e5ff;
  --uc-green: #3dffb5; --uc-violet: #a99cff; --uc-accent: #c79bff; --uc-tagtext: #0e1020; --uc-up: #3dffb5; --uc-dn: #ff4d7d; }
html[data-theme="bloomed"] .uc-wrap { --uc-bg: #ececec; --uc-grid: #b4b4b4; --uc-fg: #333; --uc-mute: #555; --uc-red: #a52b44; --uc-cyan: #1f656b;
  --uc-green: #43653a; --uc-violet: #53579c; --uc-accent: #9a2842; --uc-tagtext: #fff; --uc-up: #43653a; --uc-dn: #a52b44; }
.uc-wrap { background: var(--uc-bg); border: 1px solid var(--uc-grid); padding: 8px 8px 4px; font: 11px/1.4 var(--nx-mono, "JetBrains Mono", Consolas, monospace); color: var(--uc-mute); }
.uc-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 4px; }
.uc-head b { color: var(--uc-fg); font-size: 13px; margin-right: 4px; }
.uc-chip-h { border: 1px solid var(--uc-mute); padding: 1px 5px; font-size: 10.5px; }
.uc-chip-h.long { color: var(--uc-green); border-color: var(--uc-green); } .uc-chip-h.short { color: var(--uc-red); border-color: var(--uc-red); }
.uc-chip-h.strat { color: var(--uc-accent); border-color: var(--uc-accent); }
.uc-bar { display: flex; gap: 8px; align-items: center; margin: 4px 0; }
.uc-bar button { padding: 4px 8px; border: 1px solid var(--uc-grid); color: var(--uc-mute); font: inherit; background: transparent; }
.uc-bar button[aria-pressed="true"] { color: var(--uc-fg); border-color: var(--uc-violet); }
.uc-bar button:focus-visible { outline: 2px solid var(--uc-cyan); outline-offset: 2px; }
.uc-method { font-size: 11px; color: var(--uc-fg); margin: 4px 0 0; }
.uc-foot { font-size: 10.5px; color: var(--uc-mute); margin-top: 2px; }
svg.uc { display: block; overflow: visible; }
.uc text { font: 10.5px var(--nx-mono, "JetBrains Mono", Consolas, monospace); }
.uc-gridline { stroke: var(--uc-grid); stroke-dasharray: 1 4; }
.uc-axis { fill: var(--uc-mute); } .uc-axis.t { text-anchor: middle; }
.uc-now { stroke: var(--uc-mute); stroke-dasharray: 1 3; opacity: .7; }
.uc-zone.risk { fill: var(--uc-red); fill-opacity: .085; } .uc-zone.reward { fill: var(--uc-green); fill-opacity: .055; }
.uc-zt { text-anchor: middle; } .uc-zt.risk { fill: var(--uc-red); } .uc-zt.reward { fill: var(--uc-green); }
.uc-wick { stroke-width: 1; } .uc-wick.up { stroke: var(--uc-up); } .uc-wick.dn { stroke: var(--uc-dn); }
.uc-body.up { fill: var(--uc-up); } .uc-body.dn { fill: var(--uc-dn); }
.uc-body.forming { fill-opacity: .35; stroke-width: 1.2; stroke-dasharray: 2 2; } .uc-body.forming.up { stroke: var(--uc-up); } .uc-body.forming.dn { stroke: var(--uc-dn); }
.uc-ftag path { stroke: var(--uc-mute); } .uc-ftag text { fill: var(--uc-fg); text-anchor: middle; font-size: 10px; }
.uc-line { stroke-width: 1.3; } .uc-line.stop { stroke: var(--uc-red); } .uc-line.entry { stroke: var(--uc-cyan); }
.uc-line.tp { stroke: var(--uc-green); stroke-dasharray: 5 4; } .uc-line.cur { stroke: var(--uc-fg); stroke-dasharray: 1 3; }
.uc-lead { stroke-width: 1; fill: none; } .uc-lead.stop { stroke: var(--uc-red); } .uc-lead.entry { stroke: var(--uc-cyan); } .uc-lead.tp { stroke: var(--uc-green); } .uc-lead.cur { stroke: var(--uc-fg); }
.uc-name rect { fill: var(--uc-bg); stroke-width: 1; } .uc-name text { text-anchor: middle; font-weight: 700; }
.uc-name.stop rect { stroke: var(--uc-red); } .uc-name.stop text { fill: var(--uc-red); }
.uc-name.entry rect { stroke: var(--uc-cyan); } .uc-name.entry text { fill: var(--uc-cyan); }
.uc-name.tp rect { stroke: var(--uc-green); } .uc-name.tp text { fill: var(--uc-green); }
.uc-name.cur rect { stroke: var(--uc-fg); } .uc-name.cur text { fill: var(--uc-fg); }
.uc-tag text { text-anchor: middle; font-weight: 700; fill: var(--uc-tagtext); }
.uc-tag.stop rect { fill: var(--uc-red); } .uc-tag.entry rect { fill: var(--uc-cyan); } .uc-tag.tp rect { fill: var(--uc-green); }
.uc-tag.cur rect { fill: var(--uc-bg); stroke: var(--uc-fg); } .uc-tag.cur text { fill: var(--uc-fg); }
.uc-fib { stroke-width: 1; stroke-dasharray: 3 3; } .uc-fib.muted { stroke: var(--uc-mute); opacity: .55; } .uc-fib.cyan { stroke: var(--uc-cyan); } .uc-fib.green { stroke: var(--uc-green); }
.uc-gtag rect { fill: var(--uc-bg); } .uc-gtag text { text-anchor: end; font-size: 10px; }
.uc-gtag.muted text { fill: var(--uc-mute); } .uc-gtag.cyan text { fill: var(--uc-cyan); } .uc-gtag.green text { fill: var(--uc-green); }
.uc-leg { stroke: var(--uc-cyan); stroke-width: 1.2; fill: none; } .uc-anchor { fill: var(--uc-bg); stroke: var(--uc-cyan); stroke-width: 1.4; }
.uc-chip rect { fill: var(--uc-bg); stroke: var(--uc-cyan); } .uc-chip text { fill: var(--uc-cyan); text-anchor: middle; font-size: 10px; }
.uc-broken { stroke: var(--uc-accent); stroke-width: 1.2; } .uc-brkmark { fill: var(--uc-accent); }
.uc-ev { text-anchor: middle; font-weight: 700; } .uc-ev.unconfirmed { opacity: .6; } .uc-ev.entry { fill: var(--uc-cyan); } .uc-ev.tp { fill: var(--uc-green); } .uc-ev.stop { fill: var(--uc-red); } .uc-ev.exit { fill: var(--uc-violet); }
