/* Native Rust SVG and browser-native details use the original terminal's frames.
   All surface, typography, spacing, responsive grid and calculator rules remain
   supplied by the unmodified design.css source artifact. */
.cv-terminal-page{min-width:0;width:100%}
.cv-terminal-page .c-terminal-plot{overflow:hidden;isolation:isolate}
.cv-terminal-page .cv-terminal-chart-svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;color:var(--color-muted)}
.cv-terminal-page .cv-terminal-chart-svg text{fill:var(--color-muted);font-family:inherit;font-size:11px;font-weight:400;font-variant-numeric:tabular-nums}
.cv-terminal-page .cv-chart-grid{stroke:var(--material-rim);stroke-width:1}
.cv-terminal-page .cv-terminal-empty{display:flex;flex:1;grid-column:1/-1;align-items:center;justify-content:center;min-height:120px;padding:16px;text-align:center;color:var(--color-muted);font-size:12px}
.cv-terminal-page .c-terminal-plot>.cv-terminal-empty{position:absolute;inset:0}
.cv-terminal-page .cv-terminal-stale{margin:0;padding:4px 8px;color:var(--color-muted);font-size:10px;line-height:1.4}
.cv-terminal-page .cv-terminal-chart-navigation{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--material-rim);border-radius:999px;background:var(--material-surface);opacity:0;transition:opacity 120ms ease}
.cv-terminal-page .c-terminal-plot:is(:hover,:focus-within) .cv-terminal-chart-navigation{opacity:1}
.cv-terminal-page .cv-terminal-chart-navigation button{display:flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 7px;border:0;border-radius:999px;background:transparent;color:var(--color-text);font-size:11px}
.cv-terminal-page .cv-terminal-chart-navigation button:is(:hover,:focus-visible){background:var(--material-hover)}
.cv-terminal-page .cv-terminal-step{position:relative;min-width:0;flex:none;z-index:5}
.cv-terminal-page .cv-terminal-step>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;width:auto;max-width:110px;min-height:26px;height:26px;padding:0 8px;list-style:none;font-size:10px;cursor:pointer}
.cv-terminal-page .cv-terminal-step>summary::-webkit-details-marker{display:none}
.cv-terminal-page .cv-terminal-step .c-select-menu{position:absolute;top:calc(100% + 6px);right:0;width:130px;max-height:260px;overflow:auto;padding:5px;z-index:100}
.cv-terminal-page .cv-terminal-step .c-select-option{width:100%;font-size:11px;min-height:28px}
.cv-terminal-page .cv-terminal-picker{position:fixed;z-index:100;left:50%;top:150px;transform:translateX(-50%);width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 174px)}
.cv-terminal-page .selector-showcase-coin-menu.cv-terminal-picker{height:min(540px,calc(100dvh - 174px))}
.cv-terminal-page .cv-terminal-picker[data-positioned=true]{transform:none}
.cv-terminal-page .cv-terminal-picker a.c-coin-choice{text-decoration:none}
.cv-terminal-page .cv-terminal-recorded{display:none}
/* Selection styling is owned by aria-pressed until a measured motion glider is
   installed by the shared DOM adapter; it never colors an entire track. */
.cv-terminal-page .c-chart-finance-track:not(.c-local-edge-segment)::before{display:none}
html[data-theme] .cv-terminal-page .c-chart-finance-track:not(.c-local-edge-segment)>button[aria-pressed=true]{background:var(--material-selected)!important;box-shadow:inset 0 1px 0 var(--material-top)!important}
@media(max-width:1179px){.cv-terminal-page .c-terminal-plot{min-height:260px!important}.cv-terminal-page .cv-terminal-picker{top:100px;max-height:calc(100dvh - 124px)}.cv-terminal-page .selector-showcase-coin-menu.cv-terminal-picker{height:min(540px,calc(100dvh - 124px))}}
@media(prefers-reduced-motion:reduce){.cv-terminal-page .cv-terminal-chart-navigation{transition:none}}

.cv-terminal-page .c-terminal-plot{--chart-line-long:#45d292;--chart-line-short:#f05b65;--chart-grid:rgba(255,255,255,.196);--chart-axis:#294137}
html[data-theme=light] .cv-terminal-page .c-terminal-plot{--chart-line-long:#16885c;--chart-line-short:#bd3548;--chart-grid:rgba(70,85,75,.188);--chart-axis:#bdd4c6}
.cv-terminal-page .cv-chart-grid{stroke:var(--chart-grid);stroke-dasharray:2 3;vector-effect:non-scaling-stroke}
.cv-terminal-page .cv-chart-axis-line{stroke:var(--chart-axis);vector-effect:non-scaling-stroke}
.cv-terminal-page .cv-chart-crosshair{stroke:var(--color-muted);stroke-width:1;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.cv-terminal-page .cv-chart-axis-text{font-size:11px;dominant-baseline:auto}
.cv-terminal-page .c-book-level[data-depth-selected=true]{background:var(--material-hover)!important}
.cv-terminal-page .c-terminal-plot{touch-action:none;user-select:none}

.cv-terminal-page .cv-chart-attribution{--fill:#d1d4dc;--stroke:#131722;position:absolute;left:10px;bottom:38px;width:35px;height:19px;z-index:3}
html[data-theme=light] .cv-terminal-page .cv-chart-attribution{--fill:#131722;--stroke:#fff}
.cv-terminal-page .cv-terminal-chart-svg text{fill:#bbc7c1}
html[data-theme=light] .cv-terminal-page .cv-terminal-chart-svg text{fill:#526f63}

/* Match source button treatment, including anchors used for navigation. */
.cv-terminal-page :is(a.c-tool-button,a.c-btn,a.c-entry-fee-source){text-decoration:none!important}
.cv-terminal-page .cv-terminal-chart-svg text{font-family:"Converge UI",sans-serif;letter-spacing:0}
.cv-terminal-page .c-terminal-plot{cursor:crosshair}
.cv-terminal-page .c-terminal-plot[data-platform-dragging]{cursor:grabbing}
.cv-terminal-page .c-terminal-plot:focus-visible{outline:1px solid var(--color-muted);outline-offset:2px}
/* Keep quantities away from the card edge while depth follows actual row size. */
html[data-theme] .cv-product-shell.cv-product-shell .cv-terminal-page .c-terminal[data-refined=true] .c-book-fixed-side .c-book-level{padding-right:14px!important}
html[data-theme] .cv-product-shell.cv-product-shell .cv-terminal-page .c-terminal[data-refined=true] .c-book-volume-bar{right:10px!important;max-width:50%!important;transition:width 220ms ease-out}
@media(prefers-reduced-motion:reduce){.cv-terminal-page .c-book-volume-bar{transition:none}}

.cv-terminal-page .c-terminal-plot{--chart-candle-down:#fa757a;--chart-area-opacity:.282353}
html[data-theme=light] .cv-terminal-page .c-terminal-plot{--chart-candle-down:#bd4560;--chart-area-opacity:.141176}

.cv-terminal-page{--chart-line-long:#45d292;--chart-line-short:#f05b65;--chart-crosshair:#bbc7c1;--chart-grid-vertical:#e7eee914}
html[data-theme=light] .cv-terminal-page{--chart-line-long:#16885c;--chart-line-short:#bd3548;--chart-crosshair:#526f63;--chart-grid-vertical:#cfe0d6}
.cv-terminal-page .cv-chart-vertical-grid{stroke:var(--chart-grid-vertical)}
.cv-terminal-page .cv-chart-crosshair{stroke:var(--chart-crosshair)}
html[data-theme] .cv-product-shell.cv-product-shell .c-terminal[data-refined=true] .c-chart-finance-toolbar .c-chart-finance-track:not(.c-local-edge-segment)>button[aria-pressed=true]{background:rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
html[data-theme=light] .cv-product-shell.cv-product-shell .c-terminal[data-refined=true] .c-chart-finance-toolbar .c-chart-finance-track:not(.c-local-edge-segment)>button[aria-pressed=true]{background:rgba(19,23,26,.12)!important}

/* Only the side badge is directional; venue names and quotes use source text ink. */
html[data-theme] .cv-terminal-page :is(.focus-route-card,.cv-terminal-step .c-select-option)[data-side]{color:var(--color-text)!important}

html[data-theme] .cv-terminal-page .c-book-units button[data-side]{color:inherit!important}

/* The original focus workspace flattens the inner grid into eight columns.
   A single funding venue fills both book columns; paired terminals keep their layout. */
@media(min-width:1180px){
  .cv-product-shell .cv-terminal-page .c-terminal[data-refined=true][data-terminal-mode=single] .focus-terminal-workspace .c-terminal-book{grid-column:5/7;grid-row:2}
  .cv-product-shell .cv-terminal-page .c-terminal[data-refined=true][data-terminal-mode=single] .focus-route-card{grid-column:3/7;grid-row:1}
}
@media(max-width:1179px){
  .cv-product-shell .cv-terminal-page .c-terminal[data-refined=true][data-terminal-mode=single] .c-terminal-grid{grid-template-columns:minmax(0,1fr)}
  .cv-product-shell .cv-terminal-page .c-terminal[data-refined=true][data-terminal-mode=single] .c-terminal-grid>.c-terminal-book{grid-column:1/-1;width:100%;min-width:0}
}

.cv-product-shell .cv-terminal-page .c-terminal[data-terminal-mode=single] .c-entry-comparison :is(th,td){width:100%}
/* Futures-only pickers still use two parallel choice columns. Mixed Long
   pickers keep Spot and Futures in their own columns, as in the source UI. */
.cv-terminal-page .selector-futures-only .selector-fixed-market-heads>div{grid-column:1/-1}
.cv-terminal-page .selector-showcase-short .selector-fixed-market-heads{grid-template-columns:repeat(2,minmax(0,1fr))}
.cv-terminal-page .selector-showcase-short .selector-market-results{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){
 .cv-terminal-page .selector-futures-only .selector-market-results{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cv-terminal-page .selector-futures-only .selector-market-results>.c-select-option{grid-column:auto!important;grid-row:auto!important}
 .cv-terminal-page .selector-showcase-short .selector-fixed-market-heads{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cv-terminal-page .selector-showcase-short .selector-market-results{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cv-terminal-page .selector-showcase-short .selector-market-results>.c-select-option{grid-column:auto!important;grid-row:auto!important}
 .cv-terminal-page .selector-fixed-markets:not(.selector-futures-only) .selector-market-results{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cv-terminal-page .selector-showcase-long .selector-market-results>.focus-route-option-spot{grid-column:1!important;grid-row:auto!important}
 .cv-terminal-page .selector-showcase-long .selector-market-results>.focus-route-option-long{grid-column:2!important;grid-row:auto!important}
}
/* Keep centering independent from the enter animation, which animates transform. */
.cv-terminal-page .cv-terminal-picker:not([data-positioned=true]){translate:-50% 0}
.cv-terminal-page .cv-terminal-picker[data-positioned=true]{translate:none}
