/* Compact reference markets, using the existing solar palette throughout. */
.market-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px}.market-class-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.market-class-toggle button{min-height:38px;padding:8px 24px;font-size:.8125rem;border:0;color:var(--muted);background:transparent}.market-class-toggle button[aria-pressed=true]{color:var(--paper);background:var(--accent)}.market-view-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}#market-panel-source{font-size:.6875rem;color:var(--muted)}.market-scroll-controls{display:flex;gap:5px}.market-scroll-controls button{padding:0;width:36px;min-height:36px;font-size:1.25rem}.ticket-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ticket-heading .eyebrow{margin:0}.back-to-chart{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0}.back-to-chart svg{flex:none}
.compact-market-tiles{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:calc((100% - 48px)/7);gap:8px;overflow-x:auto;padding:3px 3px 8px;scroll-snap-type:x mandatory;scroll-padding:3px;scrollbar-width:thin;min-width:0}.compact-market-tiles:empty{min-height:88px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.compact-market-tile{position:relative;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 5px;text-align:left;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:var(--card);color:var(--ink);min-width:0;font-variant-numeric:tabular-nums}.compact-market-tile[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -2px var(--accent);background:var(--soft)}.compact-pair{font-size:.6875rem;font-weight:600;line-height:1.3;white-space:nowrap}.compact-market-tile strong{grid-column:1 / 3;font-size:.8125rem;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:600}.compact-change{font-size:.625rem;line-height:1.3;align-self:center;color:var(--accent);white-space:nowrap}
.market-panel-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.625rem;color:var(--muted);margin:3px 0 18px;line-height:1.6}.reference-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:14px}.reference-chart-panel,.reference-insights{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px}.reference-quote{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}.reference-quote h2{font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin:0 0 8px}.reference-quote strong{display:block;font-size:clamp(1.75rem,2.6vw,2.5rem);font-weight:550;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reference-quote #reference-change{display:block;font-size:.6875rem;color:var(--accent);margin-top:7px}.reference-badge{font-size:.625rem;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.reference-chart-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:20px 0 12px}.reference-segments{display:flex;gap:4px}.reference-segments button{min-height:34px;padding:7px 11px;font-size:.6875rem;background:transparent;color:var(--muted);border:1px solid transparent}.reference-segments button[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--line)}.reference-readout{font:.6875rem/1.6 var(--fm);font-variant-numeric:tabular-nums;color:var(--muted);min-height:22px;margin:0 0 6px;overflow-wrap:anywhere}.reference-plot{position:relative}#reference-chart{display:block;width:100%;height:360px;overflow:visible}#reference-grid-lines line{stroke:var(--line);stroke-width:1}#reference-axis text{color:var(--muted);fill:var(--muted);font:.6875rem var(--fm)}#reference-line{stroke:var(--accent);stroke-width:2}#reference-area{fill:var(--accent);opacity:.07}.reference-rise{stroke:var(--accent);fill:var(--card);stroke-width:1.5}.reference-fall{stroke:var(--alert);fill:var(--alert);stroke-width:1}#reference-volume rect{opacity:.55;stroke:0;fill:var(--accent)}#reference-cursor{stroke:var(--muted);stroke-dasharray:3 5;fill:none;stroke-width:1}#reference-chart-message{position:absolute;inset:30px 12px auto;text-align:center;font-size:.8125rem;line-height:1.8;color:var(--muted);padding:18px;background:var(--card)}.reference-inspector{display:flex;align-items:center;gap:14px;font-size:.6875rem;color:var(--muted)}#reference-inspect{flex:1;width:0;min-width:44px;min-height:32px;margin:0;accent-color:var(--accent)}.reference-chart-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.625rem;color:var(--muted);margin-top:12px;line-height:1.6}.reference-section-label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin:0 0 18px}.reference-insights dl{display:block;font-size:.6875rem;line-height:1.7}.reference-insights dt{color:var(--muted);margin-top:16px}.reference-insights dd{font:500 .875rem/1.7 var(--fi);margin:3px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reference-provenance{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;display:flex;flex-direction:column;gap:6px;font-size:.6875rem;color:var(--muted)}.reference-provenance span:first-child{color:var(--ink);font-weight:600}.reference-provenance a{font-size:.625rem;min-height:44px;display:flex;align-items:center}.reference-boundary{font-size:.6875rem;color:var(--muted);margin:20px 0 14px;line-height:1.7}#reference-practice{width:100%;font-size:.8125rem}.reference-practice-pair{display:block;font-size:.625rem;color:var(--muted);margin-top:10px;line-height:1.6}#reference-conversion{margin-top:20px}#reference-conversion label{font-size:.6875rem}#reference-amount{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:10px;margin:8px 0}#reference-converted{display:block;font-size:.75rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reference-workspace{margin-bottom:24px}
@media(max-width:1200px){.compact-market-tiles{grid-auto-columns:calc((100% - 32px)/5)}.compact-market-tile{padding:3px 8px}.reference-grid{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:850px){.compact-market-tiles{grid-auto-columns:minmax(124px,calc((100% - 16px)/3));gap:8px}.market-scroll-controls button{width:44px;min-height:44px}.reference-grid{grid-template-columns:1fr}.reference-insights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.reference-section-label{grid-column:1 / 3}.reference-insights dl{margin:0}.reference-provenance{margin:0;padding:0;border:0}.reference-boundary{grid-column:1 / 3}.reference-practice-pair{align-self:center;margin:0}.reference-chart-panel,.reference-insights{padding:18px}.market-controls{gap:10px}.market-view-actions{gap:8px}.market-class-toggle button{padding:8px 20px}.reference-readout{min-height:36px}}
@media(max-width:480px){.compact-market-tiles{grid-auto-columns:122px;gap:7px}.compact-market-tile{min-height:40px}.market-controls{align-items:center;flex-wrap:wrap;margin-bottom:10px}.market-view-actions{gap:8px;flex:1}.market-class-toggle button{font-size:.75rem;padding:8px 17px}#market-panel-source{font-size:.625rem}.market-scroll-controls{display:none}.market-panel-foot{font-size:.5625rem;margin-bottom:14px}.reference-chart-panel{padding:18px 12px}.reference-badge{font-size:.5625rem}.reference-quote strong{font-size:1.75rem}.reference-insights{padding:18px}.reference-insights dt{margin-top:10px}#reference-chart{height:360px}.reference-inspector{gap:8px;flex-wrap:wrap}.reference-chart-footer{font-size:.5625rem}}
@media(prefers-reduced-motion:reduce){.compact-market-tiles{scroll-behavior:auto}*{scroll-behavior:auto!important}}

.market-availability{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.6875rem;color:var(--ink)}.market-availability strong{font-weight:500}.market-availability .status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.market-availability:has(#market-state:not(:empty)){min-height:28px}

/* One market context, one chart and one ticket. Geometry follows solar tokens. */
.exchange-headline{font-family:var(--fi);font-size:1.375rem;font-weight:500;letter-spacing:-.025em;margin:0;line-height:1.3}
.market-class-toggle{height:36px;box-sizing:border-box;padding:2px;flex:none}.market-class-toggle button{min-height:0;height:30px;padding:0 16px;font-size:.75rem}.market-scroll-controls button{height:36px;min-height:36px}
.exchange-record{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums}.exchange-record strong{font-weight:500;color:var(--ink)}
.rail-bottom{display:none}.compact-change[data-direction=down],#reference-change[data-direction=down]{color:var(--alert)}
.reference-grid{align-items:start}.reference-insights{align-self:start}#reference-practice{margin-top:18px}#reference-practice-pair{margin-top:8px}
body[data-ticket-open=true] .reference-insights{display:none}body[data-ticket-open=true] #reference-workspace{margin-bottom:0}body[data-ticket-open=true] .reference-grid{grid-template-columns:1fr}
#spot-workspace .chart-panel,#currency-workspace .market-board,#currency-workspace .environment-bar{display:none}#spot-workspace .trading-grid{display:block}#spot-workspace #ticket{position:static;margin:0}#spot-workspace #open{width:100%;min-height:44px;margin:0 0 16px;font-size:.8125rem}#spot-workspace #preview{width:100%}
#currency-workspace .market{display:flex;flex-direction:column}#currency-workspace #trade-ticket{order:0}#currency-workspace #holdings{order:1}#currency-workspace .trade-ticket h2{font-size:1.375rem}#currency-workspace .ticket-actions{display:flex;flex-wrap:wrap}#currency-workspace #advance{flex:1;min-height:44px}
@media(min-width:851px){.exchange-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:14px;align-items:start}.exchange-stage>#reference-workspace{position:sticky;top:18px}.exchange-stage>#spot-workspace,.exchange-stage>#currency-workspace{min-width:0}.exchange-stage #spot-workspace .two-panels{display:block}.exchange-stage #currency-workspace .provenance-path{display:block}.exchange-stage #currency-workspace .provenance-path>div{margin-bottom:12px}.exchange-stage #spot-workspace .panel{padding:20px}.exchange-stage #spot-workspace .status-bar{margin:0}.exchange-stage #spot-workspace .spot-start{margin:0}.exchange-stage #spot-workspace #status:empty{display:none}}
@media(max-width:850px){.market-class-toggle{height:44px}.market-class-toggle button{height:38px}.market-scroll-controls button{height:44px;min-height:44px}.market-controls{align-items:start;flex-wrap:wrap}.exchange-headline{flex:1}.market-view-actions{gap:10px}.reference-insights{display:block}.exchange-stage{display:block}body[data-ticket-open=true] #reference-workspace{margin-bottom:14px}.exchange-record{font-size:.625rem;gap:6px}.market-availability{font-size:.625rem}}
@media(max-width:480px){.market-controls{display:block}.exchange-headline{margin-bottom:12px}.market-view-actions{justify-content:space-between;flex-wrap:nowrap}.market-scroll-controls{display:flex}.market-scroll-controls button{width:44px;min-width:44px}.market-class-toggle button{padding:0 11px}#market-panel-source{display:none}.compact-market-tile{grid-auto-rows:min-content}.exchange-record{line-height:1.6}.exchange-record span:first-child{flex-basis:100%}}
@media(max-width:480px){.market-view-actions{flex-wrap:wrap}.market-scroll-controls{margin-left:auto}.market-availability{max-width:100%;white-space:normal}.market-class-toggle{max-width:100%}}
@media(min-width:851px){
 .exchange-stage>#reference-workspace{grid-column:1;grid-row:2;position:static}
 .exchange-stage>#spot-workspace:not([hidden]),.exchange-stage>#currency-workspace:not([hidden]){display:contents}
 .exchange-stage #spot-workspace .trading-grid,.exchange-stage #currency-workspace .market{display:contents}
 .exchange-stage #spot-workspace .spot-start{grid-column:1 / -1;grid-row:1;margin:0}
 .exchange-stage #spot-workspace #ticket,.exchange-stage #currency-workspace #trade-ticket{grid-column:2;grid-row:2;align-self:start}
 .exchange-stage #spot-workspace>section,.exchange-stage #spot-workspace>details,.exchange-stage #spot-workspace>.two-panels,.exchange-stage #currency-workspace>section,.exchange-stage #currency-workspace #holdings{grid-column:1 / -1}
 .exchange-stage #spot-workspace .two-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}
 .exchange-stage #spot-workspace .status-bar{margin-left:0}
 .exchange-stage #currency-workspace .provenance-path{display:grid}
}
@media(max-width:850px){.compact-market-tiles{grid-auto-columns:minmax(8.75rem,calc((100% - 16px)/3))}}
@media(max-width:480px){.compact-market-tiles{grid-auto-columns:8.75rem}}

.activity-controls{display:flex;align-items:center;gap:12px;margin:16px 0}.activity-controls label{max-width:240px;flex:1}.activity-controls select{margin-top:6px}#more-orders,#more-fills{margin-top:12px}

/* Keep long-range controls within the narrowest viewport. */
.reference-segments{flex-wrap:wrap}

/* One evidence row, aligned to the chart and ticket columns. */
#exchange-record-home:empty{display:none}
.spot-workspace .spot-start{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.spot-workspace .spot-start .exchange-record{margin:0;line-height:1.6}
.spot-workspace .spot-start .status-bar{min-height:0;gap:8px;flex-wrap:wrap;align-items:center}
.spot-workspace .spot-start #status{font-size:.6875rem;margin:0;line-height:1.6}
@media(min-width:851px){.exchange-stage #spot-workspace .spot-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:14px;align-items:center}.exchange-stage #spot-workspace .spot-start .exchange-record{grid-column:1}.exchange-stage #spot-workspace .spot-start .status-bar{grid-column:2}}
@media(max-width:850px){.spot-workspace .spot-start .status-bar{flex-direction:row;justify-content:flex-start}.spot-workspace .spot-start .status-bar button{margin:0}.spot-workspace .spot-start #status{font-size:.625rem}}

/* Agent authority is a complete workflow; funding follows at its own height. */
.spot-workspace .two-panels,.exchange-stage #spot-workspace .two-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.spot-workspace .agent-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.spot-workspace .agent-capabilities span{font-size:.6875rem;padding:6px 10px;border:1px solid var(--spot-line);border-radius:6px;color:var(--accent)}
.spot-workspace #account-link-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px}
.spot-workspace #account-link-panel p{flex:1 1 240px;margin:0}
.spot-workspace #account-link-panel .consent{margin:0;flex:1 1 280px}
.spot-workspace .mandate-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);gap:24px;align-items:start}
.spot-workspace .mandate-fields fieldset{min-width:0;border:0;padding:0;margin:0 0 22px}
.spot-workspace .mandate-fields legend{font-size:.6875rem;letter-spacing:.09em;color:var(--accent);font-weight:650;padding:0;margin:0 0 12px}
.spot-workspace .mandate-preview{min-width:0;border:1px solid var(--spot-line);background:var(--soft);padding:20px;border-radius:10px}
.spot-workspace .mandate-preview h3{margin:0 0 18px;font-size:1.125rem;font-weight:500}
.spot-workspace .mandate-preview dl{margin:0 0 18px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.spot-workspace .mandate-preview #create-agent{width:100%}
.spot-workspace .mandate-evidence{font-size:.75rem;line-height:1.7;border-top:1px solid var(--spot-line);padding-top:16px;margin:0}
.spot-workspace #grants{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.spot-workspace .mandate-card{padding:18px;border:1px solid var(--spot-line);border-radius:10px}
.spot-workspace .mandate-card-heading{display:flex;gap:10px;justify-content:space-between;align-items:start;flex-wrap:wrap}
.spot-workspace .mandate-card-heading strong{font-size:.9375rem}.spot-workspace .mandate-card-heading span{color:var(--muted);font-size:.6875rem}
@media(max-width:700px){.spot-workspace .mandate-builder{grid-template-columns:minmax(0,1fr);gap:4px}.spot-workspace .mandate-preview{padding:16px}.spot-workspace #account-link-panel p{flex-basis:100%}.spot-workspace #account-link-panel .consent{flex-basis:100%}}

.spot-workspace .mandate-fields .two>label{display:flex;flex-direction:column;gap:6px;min-width:0}.spot-workspace .mandate-fields .two>label>input,.spot-workspace .mandate-fields .two>label>select{margin-top:auto}

/* Funding and rulebook sit together immediately after trading balances. */
.spot-workspace .funding-rules{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.exchange-stage #spot-workspace>.funding-rules{grid-column:1 / -1}
.spot-workspace #spot-rules>p:not(.eyebrow){font-size:.75rem;line-height:1.7;color:var(--muted)}
.spot-workspace #operations-section .metrics{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:14px;margin-top:16px}
@media(max-width:850px){.spot-workspace .funding-rules{grid-template-columns:minmax(0,1fr)}}

/* Independent chart-panel selectors; both collapsed gives the chart the row. */
.reference-panel-selectors{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.reference-panel-selectors .reference-badge{width:auto!important;min-height:36px;margin:0!important;background:var(--card);color:var(--muted);font-size:.6875rem;padding:7px 10px}
.reference-panel-selectors .reference-badge[aria-expanded=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.reference-insights .ticket-heading .reference-section-label{margin:0}
#reference-workspace .reference-grid{display:block;height:100%}
#reference-snapshot[hidden],#ticket[hidden],#trade-ticket[hidden]{display:none!important}
#reference-snapshot{display:block;margin:0;align-self:stretch}
.exchange-stage{align-items:stretch}
.exchange-stage #reference-workspace{margin:0}
body[data-chart-panel=none] .exchange-stage>#reference-workspace{grid-column:1 / -1}
.exchange-stage #reference-workspace .reference-chart-panel{box-sizing:border-box;height:100%;display:flex;flex-direction:column}
.exchange-stage .reference-plot{flex:1;min-height:360px}
.exchange-stage #reference-chart{position:absolute;inset:0;height:100%;min-height:360px}
.exchange-stage #spot-workspace #ticket,.exchange-stage #currency-workspace #trade-ticket{align-self:stretch;box-sizing:border-box;margin:0}
.spot-workspace .funding-rules{align-items:stretch}
.spot-workspace .funding-rules>.panel{margin-bottom:0}
.spot-workspace .funding-rules{margin-bottom:14px}
@media(min-width:851px){#reference-snapshot{grid-column:2;grid-row:2}.exchange-stage>#reference-workspace{grid-row:2}.exchange-stage #spot-workspace #ticket,.exchange-stage #currency-workspace #trade-ticket{grid-row:2}.exchange-stage #spot-workspace .spot-start{grid-row:1}}
@media(max-width:850px){#reference-snapshot,.exchange-stage #spot-workspace #ticket,.exchange-stage #currency-workspace #trade-ticket{margin-top:14px}.reference-panel-selectors .reference-badge{min-height:44px}.exchange-stage #reference-workspace .reference-chart-panel{height:auto}}

/* Snapshot uses 70% of the order width; the chart takes the released space. */
@media(min-width:851px){
 .exchange-stage{--order-panel-width:clamp(290px,28vw,340px);--side-panel-width:var(--order-panel-width);grid-template-columns:minmax(0,1fr) var(--side-panel-width)}
 body[data-chart-panel=snapshot] .exchange-stage{--side-panel-width:calc(var(--order-panel-width) * .7)}
 .exchange-stage #spot-workspace .spot-start{grid-template-columns:minmax(0,1fr) var(--side-panel-width)}
}
/* Keep the practice label visible alongside the wordmark on small screens. */
@media(max-width:480px){.topbar{flex-wrap:wrap}.topbar .brand{flex:1 1 100%}.topbar .brand>span{display:block;letter-spacing:.12em;white-space:nowrap}.topbar-links{width:100%;justify-content:space-between}}
