/* Public market pages (/currency-strength, /currency-index, /cot-positioning, /glossary).
   Colours from the global tokens, so light and dark themes both work. */
.mkt-sym        { font-weight: 700; color: var(--text-primary); text-decoration: none; }
a.mkt-sym:hover { color: var(--accent); }
.mkt-cur-name   { font-size: .78rem; font-weight: 400; margin-left: .35em; }
.mkt-note       { font-size: .8rem; color: var(--text-muted); line-height: 1.6; }
.mkt-summary    { color: var(--text-secondary); line-height: 1.7; max-width: 75ch; margin: 0 0 var(--s4); }
.mkt-gap        { margin-top: var(--s3); }
.mkt-risk       { margin: var(--s3) 0 var(--s6); }
.mkt-crumb      { font-size: .8rem; color: var(--text-muted); margin-bottom: var(--s1); }
.mkt-crumb a    { color: inherit; }
.mkt-pct        { padding: .1em .5em; border-radius: var(--r-full); background: var(--surface-2); }
.mkt-pct--high  { background: rgba(34,197,94,.13); color: var(--success); }
.mkt-pct--low   { background: rgba(248,113,113,.13); color: var(--loss); }
.mkt-kpi-sub    { font-size: .85rem; font-weight: 600; font-family: var(--font-mono); margin-left: .3em; }
.mkt-kpis       { margin-top: var(--s4); }
.mkt-chips      { display: flex; flex-wrap: wrap; gap: var(--s2); }

/* Prose cards */
.mkt-prose h2   { font-size: 1.05rem; margin-bottom: var(--s3); }
.mkt-prose p    { color: var(--text-secondary); line-height: 1.7; margin-bottom: var(--s3); max-width: 75ch; }
.mkt-prose p:last-child { margin-bottom: 0; }
.mkt-prose a, .mkt-note a { color: var(--accent); }

/* Inline SVG charts */
.mkt-chart      { display: flex; gap: var(--s2); height: 280px; }
.mkt-chart__plot{ flex: 1; min-width: 0; }
.mkt-chart__axis{ display: flex; flex-direction: column; justify-content: space-between; padding: 0; margin: -.5em 0;
                  font-family: var(--font-mono); font-size: .72rem; color: var(--text-muted); }
.mkt-svg        { display: block; width: 100%; height: 100%; }
.mkt-spark      { width: 130px; }
.mkt-spark .mkt-svg { width: 120px; height: 32px; }
.mkt-svg__line  { fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.mkt-svg--up   .mkt-svg__line { stroke: var(--success); }
.mkt-svg--down .mkt-svg__line { stroke: var(--loss); }
.mkt-svg__area  { opacity: .08; }
.mkt-svg--up   .mkt-svg__area { fill: var(--success); }
.mkt-svg--down .mkt-svg__area { fill: var(--loss); }
.mkt-svg__grid  { stroke: var(--border); stroke-width: 1; vector-effect: non-scaling-stroke; }

/* Links + sign-up card at the foot of each page */
.mkt-more       { display: flex; flex-wrap: wrap; gap: var(--s4); align-items: center; justify-content: space-between; }
.mkt-more__links{ display: flex; flex-wrap: wrap; gap: var(--s2); }
.mkt-more__cta  { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; max-width: 520px; }

/* Glossary: search + topic chips, then one card per topic with term | definition rows */
.gl-tools        { display: flex; flex-direction: column; gap: var(--s3); margin-bottom: var(--s4); }
.gl-search       { display: flex; align-items: center; gap: var(--s2); max-width: 520px; padding: 0 var(--s4);
                   background: var(--surface-2); border: 1px solid var(--border-2); border-radius: var(--r-full); color: var(--text-muted); }
.gl-search:focus-within { border-color: var(--accent); }
.gl-search input { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; color: var(--text-primary); font: inherit; outline: none; }
.gl-topics       { display: flex; flex-wrap: wrap; gap: var(--s2); }
.gl-topic        { appearance: none; cursor: pointer; font: inherit; font-size: .82rem; font-weight: 600; color: var(--text-secondary);
                   background: transparent; border: 1px solid var(--border-2); border-radius: var(--r-full); padding: .4em .9em;
                   transition: color var(--dur), border-color var(--dur), background var(--dur); }
.gl-topic span   { color: var(--text-muted); font-weight: 500; margin-left: .25em; }
.gl-topic:hover  { color: var(--text-primary); border-color: var(--accent); }
.gl-topic.is-on  { color: var(--accent); border-color: var(--accent); background: rgba(0,229,192,.08); }
.gl-group        { padding: 0; overflow: hidden; }
.gl-group__head  { display: flex; gap: var(--s3); align-items: center; padding: var(--s4) var(--s5); border-bottom: 1px solid var(--border); }
.gl-group__icon  { flex: 0 0 40px; height: 40px; display: grid; place-items: center; border-radius: var(--r3);
                   color: var(--accent); background: rgba(0,229,192,.1); }
.gl-group__head h2 { font-size: 1.05rem; margin: 0; }
.gl-group__head p  { margin: 2px 0 0; font-size: .82rem; color: var(--text-muted); }
.gl-list         { margin: 0; }
.gl-term         { display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: var(--s4); padding: var(--s4) var(--s5);
                   border-bottom: 1px solid var(--border); scroll-margin-top: 90px; }
.gl-term:last-child { border-bottom: 0; }
.gl-term:target, .gl-term.is-target { background: rgba(0,229,192,.06); box-shadow: inset 3px 0 0 var(--accent); }
.gl-term dt a    { color: var(--text-primary); font-weight: 700; text-decoration: none; }
.gl-term dt a:hover { color: var(--accent); }
.gl-term dd      { margin: 0; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; max-width: 70ch; }
.gl-see          { display: inline-block; margin-left: .35em; color: var(--accent); font-weight: 600; font-size: .82rem; text-decoration: none; white-space: nowrap; }
.gl-see:hover    { text-decoration: underline; }
.gl-none p       { margin: 0; color: var(--text-secondary); }
.gl-clear        { appearance: none; border: 0; background: none; padding: 0; color: var(--accent); font: inherit; font-weight: 600; cursor: pointer; }

@media (max-width: 640px) {
  .gl-term       { grid-template-columns: 1fr; gap: var(--s1); padding: var(--s3) var(--s4); }
  .gl-group__head { padding: var(--s3) var(--s4); }
  .gl-search     { max-width: none; }
  .mkt-cur-name { display: none; }
  .mkt-chart    { height: 200px; }
  .mkt-more__cta { max-width: none; }
}
