/* Isolated market terminal. Values are local simulation, never market quotes. */
.market-terminal{--market-bg:#0d1629;--market-border:#1f2d45;--market-muted:#788ba9;--market-ink:#dce8fb;--market-blue:#5c9bff;--market-up:#35d5ad;--market-down:#f18091;color:var(--market-ink);background:var(--market-bg);border:1px solid var(--market-border);border-radius:17px;overflow:hidden;min-width:0;position:relative;font-variant-numeric:tabular-nums;box-shadow:0 10px 35px #0000000d}.market-terminal button,.market-terminal select{font:inherit;color:inherit}.market-terminal button{cursor:pointer}.market-terminal button:focus-visible,.market-terminal select:focus-visible,.market-terminal canvas:focus-visible{outline:2px solid #6c9dff;outline-offset:-2px}.market-terminal button{border:0;background:none}.market-terminal .is-up{color:var(--market-up)}.market-terminal .is-down{color:var(--market-down)}.market-heading{display:flex;align-items:center;gap:14px;padding:19px 21px 17px;border-bottom:1px solid var(--market-border)}.market-identity{display:flex;align-items:center;gap:11px;min-width:0}.market-coin{width:36px;height:36px;border:1px solid #34537d;border-radius:50%;background:#1a2d4c;color:#8ab7ff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.market-pair-label{display:block;line-height:1}.market-pair-label select{appearance:none;max-width:150px;border:0;outline:none;background:transparent;font-weight:600;font-size:15px;padding:0 16px 2px 0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#7894bb 50%),linear-gradient(135deg,#7894bb 50%,transparent 50%);background-position:calc(100% - 5px) 8px,100% 8px;background-size:5px 5px;background-repeat:no-repeat}.market-pair-label select option{color:#dce8fb;background:#142139}.market-subtitle{display:block;font-size:9px;color:var(--market-muted);margin-top:4px}.market-price-group{display:flex;align-items:baseline;gap:9px;margin-left:auto}.market-price-group strong{font-size:24px;font-weight:550;line-height:1.2;letter-spacing:-.65px}.market-price-group>span{font-size:10px}.market-icon-button{width:29px;height:29px;display:flex;align-items:center;justify-content:center;font-size:23px!important;color:#8aa2c7!important;border:1px solid #293c59!important;border-radius:7px;flex-shrink:0}.market-icon-button:hover{background:#203653}.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;border-bottom:1px solid var(--market-border)}.market-periods,.market-indicators{display:flex;align-items:center;gap:3px}.market-periods button,.market-indicators button{font-size:10px;padding:5px 9px;border-radius:5px;color:#7e94b6;min-height:26px;line-height:1.4;transition:color .15s,background .15s}.market-periods button:hover,.market-indicators button:hover{color:#b2c9e8;background:#1c2b46}.market-periods button.active{color:#95bbff;background:#1e3459}.market-indicators button.active{color:#89b1f8}.market-indicators>span{height:12px;width:1px;background:#293b57;margin:0 6px}.market-indicators .market-play{width:27px;padding:4px 5px;font-size:16px;color:#b7c9e1;background:#17253d}.market-body{display:grid;grid-template-columns:minmax(0,1fr) 180px}.market-chart-column{min-width:0;overflow:hidden}.market-ohlc{display:flex;align-items:center;gap:12px;white-space:nowrap;min-height:36px;padding:11px 17px 2px;font-size:8px;color:#597297;overflow:hidden}.market-ohlc b{font-weight:400;color:#b1c2dc;margin-left:3px}.market-ohlc-pair{font-size:8px;color:#7892b7}.market-canvas-wrap{height:298px;position:relative;overflow:hidden;min-width:0}.market-terminal canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:crosshair;position:relative;z-index:1;background:transparent}.market-canvas-watermark{position:absolute;top:48%;left:39%;transform:translate(-50%,-50%);font-size:32px;letter-spacing:8px;color:#34517f;opacity:.16;font-weight:600;pointer-events:none;z-index:2;text-align:center}.market-canvas-watermark span{font-size:6px;letter-spacing:3px;display:block;margin-top:4px}.market-chart-controls{display:flex;gap:4px;position:absolute;left:14px;bottom:30px;z-index:3;opacity:.4;transition:opacity .2s}.market-canvas-wrap:hover .market-chart-controls,.market-canvas-wrap:focus-within .market-chart-controls{opacity:1}.market-chart-controls button{height:25px;min-width:25px;border:1px solid #3a506c;border-radius:5px;color:#9ab0d2;background:#14243af0;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1;backdrop-filter:blur(6px)}.market-chart-controls .market-latest{font-size:8px;padding:0 8px;opacity:0;pointer-events:none;transform:translateX(-5px);transition:opacity .2s,transform .2s}.market-chart-controls .market-latest.is-history{opacity:1;pointer-events:auto;transform:none}.market-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px;border-top:1px solid #18263c;padding:8px 17px;font-size:8px;color:#5d7599}.market-legend{display:flex;gap:6px;align-items:center;white-space:nowrap;transition:opacity .2s}.market-legend i{width:9px;height:2px;display:inline-block}.market-legend i:nth-of-type(2){margin-left:7px}.market-legend-blue{background:#5c9bff}.market-legend-gold{background:#e2c879}.market-legend.is-hidden{opacity:.2}.market-data-panel{border-left:1px solid var(--market-border);padding:0 14px;overflow:hidden;min-width:0;background:#0b1425}.market-data-tabs{display:flex;gap:17px;align-items:center;border-bottom:1px solid var(--market-border);height:37px;margin-bottom:7px}.market-data-tabs button{font-size:10px;color:#657fa3;position:relative;padding:9px 0}.market-data-tabs button.active{color:#bfd5f7}.market-data-tabs button.active:after{position:absolute;content:'';height:2px;background:#669fff;bottom:-2px;left:0;right:0}.market-data-tabs>span{font-size:7px;letter-spacing:1px;color:#3d5577;margin-left:auto}.market-book-labels{display:flex;justify-content:space-between;gap:5px;font-size:7px;color:#506989;padding:4px 0 7px}.market-book-row{display:flex;justify-content:space-between;align-items:center;height:21px;position:relative;font-size:8px;line-height:1}.market-book-row>span{position:relative;z-index:1}.market-book-row>span:last-child{color:#7890b2;font-size:8px}.market-book-row>i{position:absolute;right:-14px;top:2px;bottom:2px;z-index:0;transition:width .7s ease;background:#205b5833;max-width:calc(100% + 14px)}.market-book-row.is-ask{color:var(--market-down)}.market-book-row.is-ask>i{background:#72314730}.market-book-row.is-bid{color:var(--market-up)}.market-book-mid{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;border-top:1px solid #1a2940;border-bottom:1px solid #1a2940;padding:10px 0;margin:6px 0}.market-book-mid strong{font-size:17px;letter-spacing:-.3px;font-weight:500}.market-book-mid small{font-size:7px;color:#4a6386}.market-book-ratio{height:3px;display:flex;gap:2px;margin-top:11px;overflow:hidden;border-radius:2px}.market-book-ratio>span{width:58%;background:#218e79}.market-book-ratio>i{flex:1;background:#a5586b}.market-book-bottom{display:flex;justify-content:space-between;font-size:7px;color:#486384;margin-top:5px}.market-trade-row{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:9px;padding:6px 0;border-bottom:1px solid #142138}.market-trade-row small{font-size:7px;color:#526c8f;display:block;margin-top:3px}.market-trade-row time{color:#6882a5;font-size:7px}.market-trades-note{font-size:7px;line-height:1.8;color:#4a6386;margin:10px 0}.market-footer{border-top:1px solid var(--market-border);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 17px;background:#101d32}.market-simulation{display:flex;align-items:center;gap:6px;min-width:0;font-size:8px;color:#7893ba}.market-simulation i{height:4px;width:4px;background:#35d5ad;border-radius:50%;box-shadow:0 0 6px #35d5ad50;flex-shrink:0}.market-simulation i.is-paused{background:#7388a6;box-shadow:none}.market-simulation small{font-size:7px;color:#4f6b91;margin-left:7px}.market-create{font-size:9px!important;color:#8cb6ff!important;white-space:nowrap;padding:3px 0!important}.market-create:hover{color:#d2e5ff!important}.market-mobile-panel-toggle{display:none}.market-sr,.market-accessible-summary{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.market-terminal.is-expanded{position:fixed;inset:24px;z-index:150;margin:0!important;width:auto!important;height:calc(100dvh - 48px);display:flex;flex-direction:column;border-radius:18px;box-shadow:0 0 0 50px #030814e8}.market-terminal.is-expanded .market-body{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 230px}.market-terminal.is-expanded .market-chart-column{display:flex;flex-direction:column}.market-terminal.is-expanded .market-canvas-wrap{flex:1;height:auto;min-height:180px}.market-terminal.is-expanded .market-data-panel{padding-left:18px;padding-right:18px}.market-terminal.is-expanded .market-book-row{height:26px;font-size:10px}.market-terminal.is-expanded .market-book-mid{padding:17px 0}.market-terminal.is-expanded .market-price-group strong{font-size:27px}.market-terminal [hidden]{display:none!important}
@media(max-width:1200px){.market-body{grid-template-columns:minmax(0,1fr) 156px}.market-data-panel{padding:0 11px}.market-ohlc{gap:8px;font-size:7px;padding-left:13px}.market-ohlc-pair{display:none}.market-price-group strong{font-size:22px}.market-simulation small{font-size:6px;margin-left:2px}.market-create{font-size:8px!important}.market-footer{gap:8px}.market-book-row{font-size:7px}.market-book-row>span:last-child{font-size:7px}.market-data-tabs{gap:13px}.market-heading{padding:18px}.market-toolbar{padding-left:14px;padding-right:14px}}
@media(max-width:760px){.market-terminal{border-radius:13px}.market-heading{padding:16px 15px 14px;gap:9px}.market-identity{gap:8px}.market-coin{width:29px;height:29px;font-size:18px}.market-pair-label select{font-size:12px;max-width:119px;background-position:calc(100% - 4px) 7px,100% 7px;background-size:4px 4px;padding-right:13px}.market-subtitle{font-size:7px;margin-top:4px}.market-price-group{flex-direction:column;gap:3px;align-items:flex-end}.market-price-group strong{font-size:19px;letter-spacing:-.5px}.market-price-group>span{font-size:8px}.market-icon-button{height:24px;width:24px;font-size:19px!important;margin-left:2px;border-radius:6px}.market-toolbar{padding:8px 11px;gap:7px}.market-periods{gap:0}.market-periods button{font-size:9px;padding:5px 8px;min-height:25px}.market-indicators{gap:0}.market-indicators button{font-size:8px;padding:5px 6px}.market-indicators>span{margin:0 4px;height:10px}.market-indicators .market-play{font-size:13px;width:23px;min-height:23px;padding:3px}.market-body{display:block}.market-canvas-wrap{height:232px}.market-ohlc{padding:10px 13px 1px;gap:10px;min-height:31px;font-size:6px}.market-ohlc b{margin-left:2px}.market-canvas-watermark{font-size:24px;letter-spacing:6px;top:47%;left:40%}.market-canvas-watermark span{font-size:5px;letter-spacing:2px}.market-chart-controls{opacity:.8;left:10px;bottom:29px;gap:3px}.market-chart-controls button{height:23px;min-width:23px;font-size:11px;background:#13233bee}.market-chart-controls .market-latest{font-size:7px;padding:0 7px}.market-chart-meta{padding:7px 12px;min-height:29px;font-size:7px;gap:7px}.market-chart-meta>span:last-child{font-size:6px;letter-spacing:-.1px}.market-data-panel{display:none;border-left:0;border-top:1px solid var(--market-border);padding:0 15px 15px}.market-terminal.is-panel-open .market-data-panel{display:block}.market-data-tabs{height:40px;gap:22px;margin-bottom:8px}.market-data-tabs button{font-size:10px}.market-book-labels{font-size:8px}.market-book-row{height:22px;font-size:9px}.market-book-row>span:last-child{font-size:9px}.market-book-mid{padding:12px 0;margin:6px 0}.market-book-mid strong{font-size:18px}.market-book-mid small{font-size:8px}.market-book-bottom{font-size:8px}.market-trade-row{font-size:10px;padding:8px 0}.market-trade-row time{font-size:8px}.market-trade-row small{font-size:8px}.market-footer{padding:11px 12px;gap:7px;flex-wrap:wrap}.market-simulation{gap:5px;flex-wrap:wrap;flex:1;min-width:0;font-size:7px}.market-simulation small{display:block;width:100%;margin-left:9px;font-size:6px;line-height:1.5;white-space:nowrap}.market-mobile-panel-toggle{display:flex;gap:6px;align-items:center;color:#91afd7!important;white-space:nowrap;font-size:8px!important;padding:4px 0}.market-mobile-panel-toggle span{font-size:11px;transition:transform .2s}.market-terminal.is-panel-open .market-mobile-panel-toggle span{transform:rotate(180deg)}.market-create{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;font-size:10px!important;margin-top:3px;padding:8px 12px!important;border:1px solid #2d4c79;background:#192f50;border-radius:7px}.market-terminal.is-expanded{inset:10px;height:calc(100dvh - 20px);border-radius:14px;box-shadow:0 0 0 30px #030814eb}.market-terminal.is-expanded .market-body{display:flex;flex-direction:column;overflow:auto}.market-terminal.is-expanded .market-chart-column{flex:1;flex-shrink:0;min-height:320px}.market-terminal.is-expanded .market-canvas-wrap{min-height:250px;flex:1}.market-terminal.is-expanded .market-data-panel{flex-shrink:0}.market-terminal.is-expanded .market-price-group strong{font-size:21px}.market-terminal.is-expanded .market-book-row{height:23px}.market-terminal.is-expanded .market-footer{flex-shrink:0}.market-terminal.is-expanded .market-create{display:flex}}
@media(max-width:370px){.market-heading{padding:14px 11px;gap:7px}.market-coin{width:25px;height:25px;font-size:16px}.market-price-group strong{font-size:16px}.market-pair-label select{font-size:11px;max-width:110px}.market-subtitle{font-size:6px}.market-price-group>span{font-size:7px}.market-icon-button{height:23px;width:23px;font-size:17px!important}.market-toolbar{padding-left:8px;padding-right:8px}.market-periods button{font-size:8px;padding:5px 7px}.market-indicators button{font-size:7px;padding:5px}.market-ohlc{gap:6px;padding-left:10px;font-size:6px}.market-canvas-wrap{height:216px}.market-chart-meta{padding-left:10px;padding-right:10px}.market-footer{padding:10px}.market-mobile-panel-toggle{font-size:7px!important}}
@media(prefers-reduced-motion:reduce){.market-terminal *{transition:none!important}.market-chart-controls{opacity:1}}

/* Keep compact market tabs on one line. */
.market-data-tabs button{white-space:nowrap;flex-shrink:0}.market-data-tabs>span{flex-shrink:0}.market-data-tabs{gap:14px}

/* Public market feed: source, freshness, and transport controls stay visible. */
.market-live-source{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:var(--blue-soft);border-bottom:1px solid var(--line);color:var(--ink)}.market-live-source>span{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}.market-live-source .ui-icon{width:15px;height:15px;color:var(--blue-bright)}.market-live-source b{font-size:10px;font-weight:600}.market-live-source small{font-size:8px;color:var(--muted);padding-left:5px;border-left:1px solid var(--line)}.market-live-source>button{display:flex;align-items:center;gap:5px;color:var(--blue-bright);font-size:9px;white-space:nowrap;padding:4px}.market-live-source>button:disabled{opacity:.45;cursor:wait}.market-live-source>button .ui-icon{width:12px;height:12px}.market-connection-note{border-top:1px solid var(--line);padding:9px 17px;font-size:9px;line-height:1.6;color:var(--muted);background:var(--surface)}.market-connection-note.is-error{color:var(--amber);background:var(--amber-soft)}.market-terminal[data-market-source="live"] .market-canvas-watermark{font-size:27px;letter-spacing:5px;opacity:.08}.market-terminal[data-market-source="live"] .market-simulation small{font-size:7px;white-space:normal}.market-terminal[data-market-source="live"] .market-create:disabled{opacity:.4;cursor:not-allowed}.market-terminal[data-market-source="live"] .market-book-ratio>span{transition:width .25s}.market-terminal[data-feed-state="error"] .market-simulation i,.market-terminal[data-feed-state="stale"] .market-simulation i{background:var(--amber);box-shadow:none}.market-empty-data{min-height:42px;display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--muted);line-height:1.6;text-align:center;margin:0;padding:6px}.market-asset-letter{font-size:12px;font-weight:650;letter-spacing:0}.market-terminal[data-market-source="live"] .market-price-group>span{white-space:nowrap}.market-terminal[data-market-source="live"] .market-signal-heading{flex-wrap:wrap}.market-terminal[data-market-source="live"] .market-canvas-wrap{height:340px}.market-terminal[data-market-source="live"].is-expanded .market-canvas-wrap{height:auto}
@media(max-width:760px){.market-live-source{padding:10px 12px;gap:7px}.market-live-source b{font-size:9px}.market-live-source small{display:block;width:100%;padding-left:21px;border:0;font-size:7px;margin-top:-4px}.market-live-source>button{font-size:8px;gap:4px}.market-live-source>span{gap:6px}.market-live-source>span>.ui-icon{width:14px;height:14px}.market-connection-note{font-size:8px;padding:9px 12px}.market-terminal[data-market-source="live"] .market-canvas-wrap{height:255px}.market-terminal[data-market-source="live"] .market-simulation small{font-size:7px;line-height:1.6}.market-terminal[data-market-source="live"] .market-price-group>span{font-size:7px}.market-terminal[data-market-source="live"] .market-canvas-watermark{font-size:22px}.market-terminal[data-market-source="live"] .market-signal-heading{row-gap:3px}.market-terminal[data-market-source="live"] .market-signal-heading>span:last-child{font-size:8px}.market-terminal[data-market-source="live"].is-expanded .market-canvas-wrap{min-height:260px}.market-terminal[data-market-source="live"] .market-toolbar{flex-wrap:wrap}.market-terminal[data-market-source="live"] .market-indicators{margin-left:auto}.market-asset-letter{font-size:10px}}
