:root {
  color-scheme:dark; --bg:#0c1012; --surface:#101619; --field:#182024; --edge:#2b3539;
  --text:#e2e8e9; --muted:#97a3a8; --faint:#77888f; --accent:#dbf579;
  --green:#39c89a; --red:#f17787; --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font:13px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:transparent;border:0}a{color:inherit;text-decoration:none}button:hover,a:hover{color:#fff}button:disabled,select:disabled{opacity:.45;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-size:14px;font-weight:650}input,select{min-width:0;border:1px solid var(--edge);border-radius:3px;background:var(--field);padding:5px 8px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}
svg{display:block}.head,.contractbar,.routebar,.sectionbar,.charttoolbar,.ledgerbar,.pagehead,.toolbar,.plotfoot,footer{display:flex;align-items:center}
.head{height:46px;padding:0 16px;gap:32px;border-bottom:1px solid var(--edge);background:#101518}
.brand{display:flex;align-items:center;gap:7px;font-size:19px;font-weight:750;letter-spacing:.05em}.brand svg{width:28px;height:28px;fill:var(--accent)}
.head nav{display:flex;align-self:stretch;gap:22px}.nav{position:relative;padding:0 2px;color:var(--muted);font-weight:550}.nav.active{color:var(--accent)}.nav.active:after,.linetabs .active:after{content:"";position:absolute;bottom:0;height:2px;background:var(--accent);left:0;right:0}
.service{display:flex;margin-left:auto;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.service i,footer i,.paperbadge i{width:6px;height:6px;border-radius:50%;display:inline-block;background:#788287}.service .live,footer i{background:var(--green)}.service time,.num,.up,.down,.ask,.bid{font-family:var(--mono);font-variant-numeric:tabular-nums}.service small{font:9px var(--mono);color:var(--faint)}.divider{color:#465158;margin:0 4px}
.contractbar{min-height:69px;background:var(--surface);border-bottom:1px solid var(--edge);padding:8px 16px;gap:clamp(16px,3vw,60px)}.instrument{display:flex;align-items:center;gap:10px;border-right:1px solid var(--edge);padding-right:clamp(15px,2.2vw,45px)}#coinMark{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e9a33b;color:#16181a;font:bold 22px var(--mono)}.contractname{display:flex;align-items:center;white-space:nowrap;gap:2px}.contractname select,.legpick select{background:transparent;border:0;cursor:pointer}.contractname select{font-size:22px;font-weight:700;letter-spacing:-.055em;padding:0;width:auto;field-sizing:content}.contractname b{font-size:14px;color:#bbc4c8;letter-spacing:-.03em}.contractname select option,.legpick select option{background:var(--surface)}.instrument small,.stat small,.minor,.booktitle>span,.bookhead,.best>span,.explain,.checkline,.formhint,.eventtools,.footline,.summaryline,.muted{color:var(--muted)}.instrument small{display:block;font-size:10px;margin-top:2px}.instrument small i{font-style:normal;margin:0 2px}.stat{white-space:nowrap}.stat small{display:block;font-size:11px;margin-bottom:5px}.stat b{font:600 17px var(--mono);letter-spacing:-.035em}.stat.funding b{font-size:14px;font-weight:500}.icontext{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.icontext svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contractbar>.icontext{margin-left:auto;font-size:11px}
.routebar{min-height:40px;gap:10px;padding:5px 16px;background:#11181b;border-bottom:1px solid var(--edge)}.legpick,.other,#alternates,.booktitle,.order-switch,.ordertitle,.bar-actions,.switchline,.mobiletabs{display:flex;align-items:center}.legmark,.legpick>b{padding:1px 4px;border-radius:2px;font:600 10px/15px sans-serif;vertical-align:1px}.long{background:#193b32;color:#69dbb4}.short{background:#40282e;color:#ff97a4}.legpick{gap:4px}.legpick select{font-weight:650;padding:0 4px}.legpick small{font:10px var(--mono);color:var(--muted)}.reverse{border:1px solid var(--edge);color:#acbabf;width:26px;height:22px;border-radius:3px;line-height:1}.other{gap:10px;margin-left:auto;font-size:10px;color:var(--muted)}#alternates{gap:8px}#alternates button{font:10px var(--mono);padding:2px 5px;border-left:1px solid var(--edge);color:#b8c1c4}
.station{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,16.2vw,282px) clamp(275px,24vw,390px);grid-template-areas:"chart depth ticket" "ledger ledger ticket";align-items:stretch;gap:1px;background:var(--edge);border-bottom:1px solid var(--edge)}
.station>section,.station>aside,#market,#paper{min-width:0;background:var(--surface)}
.chartpane{grid-area:chart;display:flex;flex-direction:column;min-height:0}.depthpane{grid-area:depth}.ticketpane{grid-area:ticket}.ledgerpane{grid-area:ledger;min-height:148px}
.sectionbar,.ledgerbar,.marketline{height:37px;padding:0 13px;border-bottom:1px solid var(--edge);justify-content:space-between}.sectionbar h1,.sectionbar h2{font-size:13px}.minor,.quiet,.bar-actions{color:var(--muted);font-size:11px}.bar-actions{gap:6px}.quiet{padding:4px 8px;border:1px solid var(--edge);border-radius:3px}.quiet:hover,.reverse:hover,.check:hover{background:#243034}.charttoolbar{height:33px;gap:10px;padding:0 12px;border-bottom:1px solid #233035}.charttoolbar select{padding:2px 5px;height:22px;font-size:11px}.switchline{gap:3px;font:11px var(--mono)}.switchline span{font:11px sans-serif;color:var(--muted);margin-right:3px}.switchline button{padding:3px 6px;color:var(--muted);border-radius:2px}.switchline .active{background:#293332;color:var(--accent)}
.chart-caption{display:flex;align-items:baseline;gap:10px;padding:10px 13px 1px}.chart-caption b{font-size:14px}.chart-caption span{font-size:11px;color:var(--muted)}#ohlc{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:23px;padding:2px 13px;font:10px var(--mono);color:var(--muted)}#ohlc b{font-weight:500;color:#c7d3d6}.plot{position:relative;min-height:230px;flex:1;height:clamp(249px,36vh,460px)}#chart{position:absolute;inset:0}#chartMessage{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface);color:var(--muted);pointer-events:none}.plotfoot{justify-content:space-between;gap:8px;padding:5px 12px;font-size:10px;color:var(--faint);border-top:1px solid #223035}
.chartpane.maximized{position:fixed;z-index:20;inset:0;background:var(--surface)}.chartpane.maximized .plot{height:auto;flex:1}.mobiletabs{display:none}
.bookleg{padding:6px 10px}.bookleg+.bookleg{border-top:1px solid var(--edge)}.booktitle,.bookhead,.best,.checkline{display:flex;align-items:center;justify-content:space-between}.booktitle{min-height:23px}.booktitle strong{font-size:13px}.booktitle>span{font-size:10px}.bookhead{height:18px;font-size:10px}.bookhead i{font:9px var(--mono);color:var(--faint)}.depthrow{position:relative;display:grid;grid-template-columns:21px 1fr 1fr;align-items:center;line-height:17px;height:17px;gap:1px;font:11px var(--mono)}.depthrow svg{position:absolute;inset:1px 0;width:100%;height:calc(100% - 2px);fill:currentColor;opacity:.14}.depthrow>*:not(svg){position:relative}.depthrow small{font:9px sans-serif;color:var(--faint)}.depthrow b{font-weight:550}.depthrow span{text-align:right;color:#d8dfe2;padding-right:3px}.ask,.down{color:var(--red)}.bid,.up{color:var(--green)}.best{margin-top:2px;padding:4px 0;font-size:10px}.best b{font:600 15px var(--mono)}.bookempty{height:85px;display:grid;place-items:center;color:var(--faint);font-size:11px}
.paperbadge{font-size:10px;display:inline-flex;gap:5px;align-items:center;color:#d9c883;background:#302d22;padding:2px 5px;border:1px solid #48402a;border-radius:2px}.paperbadge i{background:#d8c275;width:5px;height:5px}.ticketbody{padding:10px 13px}.order-switch{border-radius:3px;background:#1b2327;padding:2px;gap:2px}.order-switch button{flex:1;font-weight:600;color:var(--muted);height:26px;border-radius:2px}.order-switch button[value=open].active{background:#244d40;color:#81ecc5}.order-switch button[value=close].active{background:#51303a;color:#ffadb5}.ordertitle{gap:5px;margin:10px 0 12px;font-size:12px}.ordertitle i{font-style:normal;color:var(--faint);margin:0 4px}
.field{display:flex;gap:8px;justify-content:space-between;align-items:center;color:#aeb9be;margin:7px 0;font-size:12px}.field>select,.field>.unit{width:62%;height:30px}.unit{background:var(--field);border:1px solid var(--edge);border-radius:3px;display:inline-flex;align-items:center}.unit:focus-within{outline:1px solid var(--accent)}.unit input{background:transparent;border:0;outline:0;width:100%;font-family:var(--mono)}.unit i{font:10px var(--mono);color:var(--faint);padding-right:8px}.field select{font-size:12px}.settings{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);margin:10px 0 6px;padding:7px 0;color:var(--muted);font-size:11px}summary{cursor:pointer}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.twocol .unit{margin-top:4px;width:100%}.checkline{font-size:11px;line-height:20px}.checkline b{font-weight:500;color:#c6d2d4}.primary{display:block;width:100%;margin-top:8px;padding:9px 10px;border-radius:3px;font-weight:650;background:#45c39c;color:#08251b}.primary:hover{background:#63d4af;color:#051b13}.primary.red{background:#de7786;color:#290c12}.explain,.formhint{margin:8px 0;font-size:10px;line-height:1.5}.formhint{font-size:12px}
.linetabs{align-self:stretch;display:flex;align-items:stretch;gap:18px}.linetabs button{position:relative;padding:0;white-space:nowrap;color:var(--muted);font-size:12px}.linetabs .active{color:var(--text);font-weight:600}.linetabs i{font:10px var(--mono);color:var(--faint)}.scroll{overflow:auto}.ledgerpane .scroll{max-height:270px}.scroll table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}.scroll th{font-weight:500;color:var(--muted);background:#121a1e;font-size:10px}.scroll td,.scroll th{padding:8px 11px;border-bottom:1px solid #232e32}.scroll tbody tr:hover{background:#172024}.empty{text-align:center;height:80px;color:var(--faint)}.stack small,.asset small{display:block;color:var(--faint);font:10px var(--mono);margin-top:3px}.link,.expand,.star{font-size:11px;color:var(--accent)}.path i{font-style:normal;color:var(--faint);padding:0 3px}.asset{display:flex;gap:7px;align-items:center}.badge{font:10px var(--mono);background:#263237;border-radius:3px;padding:4px}.subrow{background:#0d1315}.pagehead,.toolbar,.footline,.eventtools,#events{gap:12px;padding:12px 16px}.pagehead{min-height:55px;border-bottom:1px solid var(--edge)}.pagehead h1{font-size:18px}.summaryline{margin-left:auto;display:flex;gap:18px;font-size:11px}.summaryline b{font-family:var(--mono);color:#d4dee0}.marketline{display:flex}.toolbar{flex-wrap:wrap;border-bottom:1px solid var(--edge);font-size:11px}#venues{display:flex;gap:3px}.check{border:1px solid var(--edge);padding:4px 8px;border-radius:2px;font-size:11px}.check.on,.chosen,.star.active{color:var(--accent)}#minspread{width:70px}.footline{font-size:11px}.eventtools{display:flex;align-items:center;font-size:11px;padding-bottom:2px}.eventtools input{width:67px}.events-row{display:flex;flex-wrap:wrap;gap:6px 15px;padding:6px 0;font:11px var(--mono);border-top:1px solid var(--edge)}#events{font-size:11px;color:var(--muted)}
footer{gap:15px;padding:6px 15px;color:var(--faint);font-size:10px;background:var(--bg)}footer i{margin-right:4px;width:5px;height:5px}footer button{margin-left:auto;color:var(--muted);font-size:10px}
dialog{width:min(410px,92vw);padding:18px;background:var(--surface);border:1px solid #455358;border-radius:5px;color:var(--text)}dialog::backdrop{background:#05090ccc}dialog p{line-height:1.65;margin:9px 0;color:var(--muted);font-size:12px}dialog a{color:var(--accent)}dialog label{display:flex;gap:8px;flex-direction:column}.dialogactions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.dialogactions .primary{width:auto;margin:0}#toast{position:fixed;z-index:30;bottom:24px;left:50%;transform:translateX(-50%);padding:9px 15px;background:#263337;border:1px solid #526260;border-radius:3px;max-width:92vw}
@media(min-width:1600px){.depthrow{height:21px}.bookleg{padding:8px 14px}.ticketbody{padding:16px 18px}.field{margin:10px 0}.ledgerpane{min-height:18vh}}
@media(max-width:1080px) and (min-width:761px){.station{grid-template-columns:minmax(0,1fr) 165px 245px}.bookleg{padding:5px 7px}.other button:nth-child(2){display:none}.ticketbody{padding:9px}.contractbar{gap:18px}.funding b{font-size:12px}}
@media(max-width:760px){
  .head{height:43px;padding:0 9px;gap:16px}.head nav{gap:12px}.nav{font-size:12px}.brand{font-size:16px;gap:3px}.brand svg{width:22px}.service{font-size:10px}.service time,.service .divider,.service small{display:none}
  .contractbar{gap:10px;min-height:59px;padding:6px 9px}.instrument{padding-right:9px;gap:5px}#coinMark{width:22px;height:22px;font-size:14px}.contractname select{font-size:17px}.contractname b{font-size:10px}.stat b{font-size:13px}.stat small{font-size:10px}.funding,.contractbar>.icontext span{display:none}.contractbar>.icontext{padding:0}
  .routebar{padding:5px 9px;gap:7px;flex-wrap:wrap}.legpick small{font-size:8px}.other{display:none}.mobiletabs{display:flex;height:35px;padding:0 9px;border-bottom:1px solid var(--edge);gap:8px}.mobiletabs button{height:100%;padding:0 6px;font-size:12px;color:var(--muted)}.mobiletabs .active{color:var(--accent);border-bottom:2px solid var(--accent)}
  .station{display:block}.station>section,.station>aside{display:none}#desk[data-mobile=chart] .chartpane{display:flex}#desk[data-mobile=depth] .depthpane,#desk[data-mobile=trade] .ticketpane,#desk[data-mobile=ledger] .ledgerpane{display:block}
  .plot{height:43vh;flex:none}.sectionbar,.ledgerbar{padding:0 9px}.linetabs{gap:11px}.linetabs button{font-size:11px}.depthrow{height:24px}.ticketbody{max-width:520px;margin:auto}.routebar .legpick select{font-size:12px}.toolbar,.pagehead{padding:9px}.summaryline{gap:8px}#ohlc{gap:3px 8px}.ledgerpane{min-height:220px}footer{padding:6px 9px}.chartpane.maximized .plot{flex:1}.chartpane.maximized{display:flex!important}
}

.bookstamp{display:flex;justify-content:space-between;margin:1px 0 2px;color:var(--faint);font-size:9px}.bookstamp time{font-family:var(--mono)}
@media(max-width:950px){.settle{display:none}}

/* The gold and blue legs share a USDT scale; the lower chart has its own percentage axis. */
.bnroute{border:1px solid #665538;color:#e8c477;font-size:10px;border-radius:3px;white-space:nowrap;padding:3px 7px}
.quotecompare{border-top:1px solid var(--edge);padding:11px 10px 12px}.comparehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.comparehead h2{font-size:12px}.comparehead span{font:9px var(--mono);color:var(--faint)}.quotecompare table{width:100%;border-collapse:collapse;font:11px var(--mono)}.quotecompare th,.quotecompare td{text-align:right;padding:3px 0}.quotecompare th{font-size:10px;font-weight:500;color:var(--muted)}.quotecompare tbody th{text-align:left}.quotecompare thead th:nth-child(2){color:#f5c563}.quotecompare thead th:nth-child(3){color:#75a8ff}
.chartpane .sectionbar h1{display:flex;align-items:center;gap:7px}.chartpane h1 small{font:10px var(--mono);color:var(--muted)}
.price-head{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;padding:8px 12px 0}
.pricestats{display:flex;gap:clamp(14px,3vw,48px);min-width:0}.pricestats>div{display:grid;gap:2px}
.quoteA{--ink:#f5c563}.quoteB{--ink:#75a8ff}.pricestats button{width:fit-content;display:flex;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:600;color:var(--ink)}
.pricestats button i{display:block;width:15px;height:0;border-top:2px solid var(--ink)}.quoteB button i{border-top-style:dashed}
.pricestats button[aria-pressed=false]{color:var(--faint);text-decoration:line-through}.pricestats button[aria-pressed=false] i{border-color:var(--faint)}
.pricestats strong{font:600 clamp(16px,1.55vw,24px)/1.08 var(--mono);color:var(--ink);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.pricestats small,#priceReadout{font:10px/1.35 var(--mono);color:var(--muted)}.pricestats small{font-size:9px;white-space:nowrap}
.pricemodes{display:flex;align-items:center;border:1px solid var(--edge);border-radius:3px;padding:2px;white-space:nowrap}
.pricemodes button{font-size:10px;color:var(--muted);border-radius:2px;padding:3px 6px}.pricemodes button[aria-pressed=true]{background:#2c373c;color:#eef2f3}
#priceReadout{padding:5px 12px 2px;min-height:20px;line-height:1.35;overflow-wrap:anywhere}
.priceplot{position:relative;height:clamp(177px,25vh,320px);min-height:140px;flex:1.35}
#priceChart,#priceMessage{position:absolute;inset:0}#priceMessage{display:grid;place-items:center;pointer-events:none;color:var(--muted);font-size:11px}
.chartpane .chart-caption{border-top:1px solid var(--edge);align-items:center;padding:6px 12px 1px;gap:8px}.chart-caption h2{font-size:13px}.chart-caption b{font-size:11px;font-weight:500;color:var(--muted)}.chart-caption select{margin-left:auto;font-size:10px;padding:2px 4px}.chart-caption #legend{display:none}
.chartpane .plot{min-height:110px;height:clamp(125px,17vh,240px);flex:.86}.chartpane{min-height:clamp(488px,63vh,760px)}
.chartpane[data-price-mode=candle]{min-height:clamp(555px,72vh,850px)}.chartpane[data-price-mode=candle] .priceplot{min-height:225px}.chartpane.maximized{min-height:0}
@media(max-width:760px){.price-head{padding:9px 9px 0}.pricestats{gap:16px}.pricestats strong{font-size:19px}.pricemodes button{font-size:10px;padding:3px 4px}.chartpane{min-height:0}.chartpane .priceplot{height:25vh;min-height:160px;flex:none}.chartpane .plot{flex:none;height:18vh;min-height:112px}.chartpane[data-price-mode=candle]{min-height:0}.chartpane[data-price-mode=candle] .priceplot{height:35vh;min-height:230px}.chartpane.maximized .priceplot{flex:1.4}.chartpane.maximized .plot{flex:1}.bnroute{padding:2px 4px;font-size:9px}.routebar{gap:4px}.chartpane .chart-caption{padding:6px 9px 1px}#priceReadout{padding-left:9px}}
@media(max-width:375px){.legpick small{display:none}.pricestats{gap:8px}.price-head{gap:4px}.pricestats small{font-size:8px}}

/* Trading workbench: spreads own the primary axis, the two outright contracts share the secondary panel. */
.hlroute{border:1px solid #395b55;color:#91d8cc;white-space:nowrap;font-size:10px;padding:3px 7px;border-radius:3px}
.chartmast,.market-tools,.spreadlegend,.subcaption,.pickactions,.quotecompare summary{display:flex;align-items:center}
.chartmast{min-height:57px;justify-content:space-between;padding:8px 15px;border-bottom:1px solid var(--edge)}
.chartmast>div:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chartmast h1{font-size:20px;line-height:1.05;letter-spacing:-.04em}
.chart-eyebrow{width:100%;font:600 9px/1 var(--mono);letter-spacing:.12em;color:#8fa5a7}.chart-eyebrow i{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:5px;background:#94ca9e}
#chartTitle{font:11px var(--mono);color:#a7b6bc}.market-tools{gap:13px;min-height:39px;padding:4px 13px;border-bottom:1px solid #253136}
.market-tools select{background:#19252a;border-color:#34464a;font-size:12px;padding:4px 6px}.market-tools .periods{border-right:1px solid var(--edge);padding-right:12px}.market-tools .switchline button{padding:4px 7px}
.layers{margin-left:auto;position:relative;font-size:11px;color:var(--muted)}.layers summary,.quotecompare summary{cursor:pointer;list-style:none}.layers summary::-webkit-details-marker,.quotecompare summary::-webkit-details-marker{display:none}.layers summary{white-space:nowrap;padding:4px 7px;border:1px solid var(--edge);border-radius:3px}
.layerlist{position:absolute;right:0;top:27px;width:173px;z-index:10;display:grid;gap:8px;padding:12px;background:#1c272d;color:#e2e8eb;border:1px solid #3a4b51;box-shadow:0 8px 28px #080d10;border-radius:4px}.layerlist label{display:flex;align-items:center;gap:5px;cursor:pointer}.layerlist input{accent-color:#9cceae}.layerlist strong{font-size:10px;color:#9eafb7}.layerlist span{display:flex;align-items:center;justify-content:space-between}.layerlist b{font-size:9px;color:#9eafb7;font-weight:400}
.spreadlegend{padding:9px 13px 1px;gap:14px;font-size:11px;color:#c4d1d4}.spreadlegend span:before{content:'';display:inline-block;width:10px;border-top:2px solid #47c9a5;margin-right:5px;vertical-align:3px}.spreadlegend #companion:before{border-top:2px dashed #9ea6ef}.spreadlegend .zerokey:before{border-top:1px dashed #a6b2bd}
#sampleCount{margin-left:auto;font:10px var(--mono);color:#83969e}#sampleCount:before{display:none}
#ohlc{min-height:25px}.chartpane #ohlc .up{color:#66d6b7}.chartpane #ohlc .down{color:#e9929f}
.chartpane,.chartpane[data-price-mode=candle]{min-height:0}.chartpane .plot{height:var(--spread-height,clamp(285px,39vh,530px));min-height:180px;flex:none}
#chart.picking{outline:1px solid #d4ae6c;outline-offset:-1px}.pickactions{gap:9px}.pickactions button{font-size:10px;color:#9caeb6;padding:2px 0}.pickactions button[aria-pressed=true]{color:#f8ce82;text-decoration:underline}
.plotfoot{min-height:26px}.splitprice{display:grid;place-items:center;height:8px;min-height:8px;touch-action:none;cursor:row-resize;background:#141e22;border-block:1px solid #26343a}.splitprice i{display:block;width:31px;height:2px;border-radius:1px;background:#526069}.splitprice:hover i,.splitprice:focus-visible i{background:#b6cccd}
.pricepanel{min-width:0;display:flex;flex:1;flex-direction:column}.subcaption{min-height:31px;padding:5px 13px 0;gap:7px}.subcaption h2{font-size:13px}.subcaption small,.subcaption>span{color:var(--muted);font:10px var(--mono)}.subcaption>span{margin-left:auto}.price-head{padding-top:4px}
.pricestats{gap:25px}.pricestats>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:1px 6px}.pricestats strong{font-size:16px}.pricestats small{grid-column:1/-1}
.chartpane .priceplot{height:clamp(120px,17vh,225px);min-height:110px;flex:1}.chartpane[data-price-mode=candle] .priceplot{min-height:210px}
#unitNote{font-size:11px;padding:5px 12px;color:#dbc793;border-top:1px solid #344047}
.quotecompare{padding:6px 10px}.quotecompare summary{justify-content:space-between;font-size:11px;color:var(--muted)}.quotecompare summary:before{content:'▸';margin-right:5px}.quotecompare[open] summary:before{content:'▾'}.quotecompare summary span{margin-left:auto;font:9px var(--mono)}
@media(min-width:761px){
  .station{grid-template-columns:minmax(0,1fr) clamp(284px,28vw,465px);grid-template-rows:auto 1fr auto;grid-template-areas:"chart depth" "chart ticket" "ledger ledger";align-items:stretch}
  .depthpane #depthContent{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.depthpane .bookleg+.bookleg{border:0;border-left:1px solid var(--edge)}
  .bookleg{padding:4px 8px}.booktitle{gap:3px}.booktitle>span{font-size:9px}.booktitle strong{font-size:12px}.bookhead{height:16px}.depthrow{grid-template-columns:16px 1fr auto;font-size:10px;gap:1px}.bookstamp{font-size:8px}
  .ticketpane .sectionbar,.depthpane .sectionbar{height:33px}.ticketbody{padding:7px 13px}.ticketbody .field{margin:5px 0}.ticketpane .order-switch{height:27px}.ticketbody .explain{margin:4px 0}
  .chartpane.maximized .plot{height:var(--spread-height,50vh);flex:none}.chartpane.maximized .priceplot{flex:1}
}
@media(min-width:761px) and (max-width:1050px){.chartmast .bar-actions{gap:3px}.market-tools{gap:6px;padding-inline:8px}.market-tools .periods{padding-right:5px}.market-tools .switchline button{padding-inline:4px}.other{display:none}.booktitle>span{display:none}.pricestats{gap:10px}}
@media(max-width:760px){
  .chartmast{min-height:50px;padding:7px 9px}.chartmast h1{font-size:17px}.chartmast .bar-actions{gap:4px}.market-tools{gap:6px;min-height:36px;padding:3px 7px;flex-wrap:wrap}.market-tools .switchline{gap:1px}.market-tools .switchline button{padding:4px 3px}.market-tools .periods{padding-right:5px}.market-tools select{font-size:11px;padding:3px}.market-tools .switchline span{display:none}.layers summary{padding:3px}
  .spreadlegend{gap:8px;padding:7px 8px 0;font-size:10px}.chartpane .plot{height:var(--spread-height,clamp(215px,30vh,330px));min-height:180px;flex:none}.chartpane .priceplot{flex:none;height:17vh;min-height:110px}.pricestats>div{display:grid;grid-template-columns:auto}.pricestats strong{font-size:16px}.pricestats{gap:10px}.subcaption{padding:4px 9px 0;min-height:24px}.price-head{padding-top:2px}.pricestats small{font-size:8px}.pickactions{gap:7px}.plotfoot{padding-inline:8px}.routebar .legpick small{display:none}.routebar .hlroute,.routebar .bnroute{font-size:9px;padding:2px 4px}.chartpane.maximized .plot{height:var(--spread-height,45vh);flex:none}.chartpane.maximized .priceplot{flex:1}
}
@media(min-width:761px) and (max-height:790px){
  .chartmast{min-height:45px;padding-block:5px}.chartmast h1{font-size:18px}.chartmast>div:first-child{row-gap:3px}
  .chartpane .plot{height:var(--spread-height,clamp(190px,31vh,250px))}.chartpane.maximized .plot{height:var(--spread-height,48vh)}
}

/* Instruments, executable spread and settlements share one interactive trading surface. */
.analysis-tabs{display:flex;align-items:stretch;padding:0 12px;gap:21px;border-bottom:1px solid var(--edge);min-height:32px}
.analysis-tabs button{border-bottom:2px solid transparent;color:#9aabb4;font-size:12px;padding:6px 0}
.analysis-tabs [aria-pressed=true]{color:#d7eee4;border-bottom-color:#94c9a4}
#unifiedView{display:flex;flex:1;min-width:0;flex-direction:column}
.overlay-prices{display:flex;gap:12px;align-items:center;padding:10px 13px 5px}.overlay-prices .pricestats{margin-right:auto;gap:24px}
.overlay-prices>span{font:10px var(--mono);color:#95a6ae;white-space:nowrap}
#priceReadout,#settlementReadout{padding:1px 13px 4px;min-height:16px;font:10px var(--mono);color:#a1b0b5}
#settlementReadout{color:#d9c9aa}
#unifiedView .plot{height:var(--spread-height,clamp(340px,47vh,680px));min-height:180px;flex:1 0 var(--spread-height,clamp(340px,47vh,680px))}
.chartpane.maximized #unifiedView .plot{flex:1;min-height:160px}
#chartMessage{inset:12px auto auto 12%;padding:4px 8px;background:#1a252be8;font-size:11px;pointer-events:none;height:auto}
.turnover-strip{display:flex;flex-wrap:wrap;align-items:center;gap:7px 20px;padding:9px 13px;color:#a7b6bd;font:11px var(--mono);border-top:1px solid var(--edge)}
.turnover-strip b{font:11px system-ui;color:#c1d2d4}
#detailView{padding:17px;min-height:450px;max-height:75vh;overflow:auto}#detailView h2{font-size:17px}#detailView h3{font-size:13px;margin:19px 0 7px;color:#d0dedf}#detailView p{font-size:12px;color:#a5b6be;margin:9px 0;line-height:1.5}.detail-scroll{overflow-x:auto}
#detailView table{width:100%;border-collapse:collapse}#detailView th,#detailView td{font:12px var(--mono);padding:7px;text-align:right;border-bottom:1px solid var(--edge);white-space:nowrap}#detailView th{font-size:11px;color:#93a5ad}#detailView th:first-child,#detailView td:first-child{text-align:left}
#detailView .next-settlement{font:13px var(--mono);color:#a9d6c2;margin:15px 0}#detailView .source-status{color:#d7c09c}
[hidden],#unifiedView[hidden],#settlementReadout[hidden]{display:none!important}
@media(max-width:760px){.analysis-tabs{gap:17px;padding:0 9px}.analysis-tabs button{font-size:11px}.overlay-prices{padding:8px;gap:5px;flex-wrap:wrap}.overlay-prices .pricestats{gap:18px}.overlay-prices>span{font-size:8px}.turnover-strip{padding:6px 8px;font-size:10px;gap:5px 9px}#unifiedView .plot{height:var(--spread-height,clamp(294px,46vh,550px));flex:none}.market-tools .layerlist{z-index:15}.layerlist{width:174px}.market-tools .layers{position:static}.market-tools{position:relative}.layerlist{top:100%;right:4px}.plotfoot{flex-wrap:wrap}#priceReadout,#settlementReadout{padding-left:8px}#detailView{padding:10px;min-height:310px}.overlay-prices .pricestats>div{grid-template-columns:auto auto}}
#singleSetup{border:0;padding:0;margin:0;min-width:0}.plan-tabs{display:flex;gap:13px;margin:4px 0 8px}.plan-tabs button{padding:3px 0;color:#91a1aa;font-size:11px}.plan-tabs [aria-pressed=true]{color:#b8d4bf;border-bottom:1px solid #84b995}
.ladder-head,.ladder-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) 20px;gap:4px;margin:4px 0}.ladder-head,.ladder-foot{font-size:10px;color:var(--muted)}.ladder-row input{width:100%;min-width:0;padding:5px;font:12px var(--mono)}.ladder-row button{color:#adb7bc}.ladder-foot{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.ladder-foot button{color:#adcfb7}
.col-grip{display:none}
@media(min-width:761px){.station{grid-template-columns:minmax(0,1fr) 5px var(--side-width,clamp(284px,28vw,465px));grid-template-areas:"chart grip depth" "chart grip ticket" "ledger ledger ledger";column-gap:0}.col-grip{display:grid;grid-area:grip;background:#1c282e;cursor:col-resize;touch-action:none;place-items:center}.col-grip i{height:32px;width:1px;background:#61727b}.col-grip:focus-visible,.col-grip:hover{background:#466357}}
.spreadlegend{flex-wrap:wrap;gap:5px 12px}.spreadlegend button{font:inherit;color:inherit;padding:1px 0}.spreadlegend button::before{content:'';display:inline-block;width:10px;border-top:2px solid #47c9a5;margin-right:5px;vertical-align:3px}.spreadlegend #companion::before{border-top:2px dashed #9ea6ef}
.spreadlegend .fund-keys{display:flex;gap:11px;margin-left:1px;border-left:1px solid var(--edge);padding-left:10px}.fund-keys [data-layer=fundLong]::before{border-color:#41c6d8}.fund-keys [data-layer=fundShort]::before{border-color:#e99ff5}.fund-keys [data-layer=fundNet]::before{height:6px;width:7px;border:0;background:#56b59b;vertical-align:1px}.fund-keys [data-layer=fundDots]::before{width:5px;height:5px;background:#eee9bd;border:0;border-radius:50%;vertical-align:2px}
.spreadlegend [aria-pressed=false]{color:#84949c}.spreadlegend [aria-pressed=false]::before{opacity:.43}.spreadlegend button:hover{color:#e1ebed}
@media(max-width:760px){.spreadlegend .fund-keys{gap:8px}.spreadlegend{gap:3px 8px}.spreadlegend #sampleCount{font-size:9px}}
@media(min-width:761px) and (max-height:790px){.chartpane:not(.maximized) #unifiedView .plot{height:var(--spread-height,clamp(230px,calc(100vh - 430px),360px));flex:0 0 var(--spread-height,clamp(230px,calc(100vh - 430px),360px))}.chartpane:not(.maximized) .turnover-strip{margin-bottom:auto}}

/* Market and spread encodings are independent, with a shared crosshair and time axis. */
.chartmast{min-height:38px;padding-block:5px}.chartmast h1{font-size:17px}
.chart-presets{display:flex;align-items:center;gap:3px;padding:5px 12px 1px}
.chart-presets button{border:1px solid #35464b;border-radius:3px;color:#a2b3b9;padding:4px 11px;font:600 11px system-ui}
.chart-presets [aria-pressed=true]{background:#263b34;border-color:#587e69;color:#d2e6d9}
.chart-presets span{margin-left:8px;color:#879aa1;font:10px var(--mono)}
.quoteA{--ink:#30bd8d}.quoteB{--ink:#37b4e2}.spreadlegend #companion::before{border-color:#ef7076}
.chartpane[data-presentation=venues] #legend::before{border-color:#6393ff}.chartpane[data-presentation=venues] #companion::before{border:0;border-top:2px dashed #ef7076}
.fund-keys [data-layer=fundLong]::before{border-color:#30bd8d}.fund-keys [data-layer=fundShort]::before{border-color:#37b4e2}
.chartpane .pricestats small{font-size:9px}.overlay-prices{padding-top:5px}
#ohlc{font-variant-numeric:tabular-nums}.chartpane .spreadlegend{padding-top:5px}
.chartpane.with-funding #unifiedView .plot{height:var(--spread-height,clamp(410px,55vh,720px));flex:1 0 var(--spread-height,clamp(410px,55vh,720px))}
@media(max-width:760px){.chart-presets{padding-inline:8px}.chart-presets button{padding-inline:7px}.chart-presets span{font-size:9px;margin-left:3px}.chartmast{min-height:36px}.chartpane.with-funding #unifiedView .plot{flex:none;height:var(--spread-height,clamp(370px,49vh,550px))}}
@media(min-width:761px) and (max-height:790px){.chartpane:not(.maximized).with-funding #unifiedView .plot{height:var(--spread-height,clamp(315px,calc(100vh - 365px),420px));flex:0 0 var(--spread-height,clamp(315px,calc(100vh - 365px),420px))}}

.chart-presets .shape-tools{display:flex;gap:2px;margin-left:auto}
.shape-tools button{padding:2px 5px}.shape-tools svg{width:17px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
@media(max-width:520px){#presetDescription{display:none}}

.chartmast .analysis-tabs{margin:0 auto 0 14px;align-self:stretch;align-items:stretch;border:0;min-height:26px;gap:12px;padding:0}
.chartmast{gap:6px}.chartmast .analysis-tabs button{font-size:10px}.chartmast .bar-actions{margin-left:auto}
.chart-controls{display:flex;align-items:center;border-block:1px solid var(--edge);gap:6px;padding:0 9px}
.chart-controls .chart-presets{padding:0;flex:0 0 auto}.chart-controls .market-tools{flex:1;min-width:0;border:0;padding:3px 0;gap:8px}
#presetDescription{display:none}.market-tools .shape-tools{margin-left:auto;display:flex;gap:2px}.market-tools .layers{margin-left:1px}
.market-tools .shape-tools button{border:1px solid var(--edge);padding:3px 6px;color:#9fadb3;border-radius:2px}.market-tools .shape-tools [aria-pressed=true]{background:#254038;color:#b6e3cc;border-color:#4a6b5e}
.layerlist label:has(#chartmode){display:grid}.layerlist #chartmode{width:100%}
.chart-readings{display:flex;flex-wrap:wrap;align-items:baseline;min-height:21px}.chart-readings #ohlc{min-height:19px}.chart-readings #priceReadout{padding-block:2px}
.chartpane .overlay-prices{padding-block:5px 3px}
@media(min-width:761px) and (max-height:790px){.chartpane:not(.maximized) #unifiedView .plot{height:var(--spread-height,clamp(270px,calc(100vh - 354px),415px));flex:0 0 var(--spread-height,clamp(270px,calc(100vh - 354px),415px))}.chartpane:not(.maximized).with-funding #unifiedView .plot{height:var(--spread-height,clamp(355px,calc(100vh - 310px),490px));flex-basis:var(--spread-height,clamp(355px,calc(100vh - 310px),490px))}}
@media(max-width:1080px){.chartmast{flex-wrap:wrap}.chartmast .analysis-tabs{gap:8px;margin-left:1px}.chart-controls{flex-wrap:wrap;gap:2px}.chart-controls .market-tools{flex-wrap:wrap}}
@media(max-width:760px){.chartmast .analysis-tabs{order:3;width:100%;min-height:22px}.chart-controls{padding:3px 6px}.chart-controls .chart-presets button{font-size:10px;padding:4px 5px}.chart-controls .market-tools{gap:2px;flex:1 1 215px}.market-tools .shape-tools button{padding:2px 3px}.chart-readings{display:block}.chart-readings #priceReadout{min-height:14px}}

#fillReadout{font:10px var(--mono);color:#c4d8d3;padding:2px 12px 4px}
