#terminal .chart-tile canvas.chart-indicators{position:absolute;left:0;width:100%;pointer-events:none}
#terminal .indicator-legend{position:absolute;left:5px;display:grid;max-width:70%;pointer-events:none;font-size:10px;line-height:1.3;text-shadow:0 1px 2px #000}
#terminal .chart-tile[data-indicator-titles=false] :is(.indicator-legend,.chart-oscillators [data-study]>span){display:none}
#terminal .indicator-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(.chart-indicator-dialog,.named-workspaces-dialog){color:var(--fg,#eee);background:var(--box,#282828);border:1px solid #606060;border-radius:3px;font:13px "Segoe UI",sans-serif;padding:14px;min-width:min(320px,85vw)}
:is(.chart-indicator-dialog,.named-workspaces-dialog)::backdrop{background:#0008}
:is(.chart-indicator-dialog,.named-workspaces-dialog) h2{font-size:15px;margin:0 0 10px}
:is(.chart-indicator-dialog,.named-workspaces-dialog) form{display:grid;gap:7px}
:is(.chart-indicator-dialog,.named-workspaces-dialog) form label{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:8px}
:is(.chart-indicator-dialog,.named-workspaces-dialog) form label[hidden]{display:none}
:is(.chart-indicator-dialog,.named-workspaces-dialog) :is(button,input,select){background:#383838;border:1px solid #555;color:inherit;font:inherit;min-height:25px}
:is(.chart-indicator-dialog,.named-workspaces-dialog) .indicator-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}
.chart-indicator-dialog .indicator-list{max-height:26vh;overflow:auto;margin-bottom:8px}
.chart-indicator-dialog .indicator-list>div{display:grid;grid-template-columns:23px 1fr 28px;gap:4px;align-items:center;margin:3px 0}
:is(.chart-indicator-dialog,.named-workspaces-dialog) button{cursor:pointer}
.detached-chart-window #terminal[data-color-theme=light]{--base:#fafafa;--soft:#eaebec;--box:#d3d5d7;--fg:#172029;--dim:#424a52;color-scheme:light}
.detached-chart-window #terminal[data-color-theme=light] .chart-tile img{filter:invert(1) hue-rotate(180deg)}
#terminal .chart-layout-tabs{grid-column:1;display:flex;align-items:end;gap:2px;overflow-x:auto;scrollbar-width:thin;min-width:0;background:var(--base)}
#terminal .chart-layout-tabs[hidden],#terminal .chart-tile[hidden],#terminal .chart-tile:not([data-chart-id]),#terminal #chart-open-menu[hidden],#terminal .chart-resize{display:none}
#terminal .chart-deck[data-chart-tabs=true]{grid-template-rows:24px minmax(0,1fr)}
#terminal .chart-deck[data-chart-tabs=true]>.chart-tiles{grid-column:1;grid-row:2}
#terminal .chart-deck[data-chart-tabs=true]>.draw-tools{grid-column:2;grid-row:1/3}
#terminal .chart-layout-tabs button{flex:none;background:var(--soft);padding:3px 9px;white-space:nowrap}
#terminal .chart-layout-tabs button[aria-selected=true]{background:var(--box);color:var(--fg)}
#terminal .chart-tiles[data-layout=grid]:not(.single){grid-template-columns:repeat(var(--chart-cols),minmax(0,1fr));grid-template-rows:repeat(var(--chart-rows),minmax(0,1fr))}
#terminal .chart-tiles[data-layout=grid]>.chart-tile{grid-column:auto}
#terminal .chart-tiles[data-layout=grid]>.chart-tile[data-layout-lead=true]{grid-column:1/-1}
#terminal .chart-tile header {min-width:0;overflow:hidden}
#terminal .chart-tile > img:not([src]) {visibility:hidden}
#terminal .chart-tile:has(> img:not([src])) .load {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  margin:0;max-width:90%;pointer-events:none
}
#terminal .chart-tile header .chart-name,
#terminal .chart-tile header .load {min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#terminal .chart-tile header .period {flex-shrink:0}
#terminal .chart-tile header .chart-window-command {position:relative;width:19px;height:20px;flex:none;padding:0;border:0;background:transparent;color:var(--dim)}
#terminal .chart-tile header [data-chart-command=maximize]::before,
#terminal .chart-tile header [data-chart-command=restore]::before,
#terminal .chart-tile header [data-chart-command=restore]::after {
  content:"";position:absolute;box-sizing:border-box;left:5px;top:6px;width:9px;height:8px;border:1px solid currentColor;
}
#terminal .chart-tile header [data-chart-command=restore]::before {left:7px;top:4px}
#terminal .chart-tile header [data-chart-command=restore]::after {background:var(--box);width:8px;height:8px}
#terminal .chart-tile header button:focus-visible {outline:1px solid currentColor;outline-offset:-2px}
#terminal .chart-tile header .chart-window-command:hover{color:var(--fg);background:var(--box)}
#terminal .chart-tiles[data-layout=free]:not(.single){position:relative;display:block;overflow:hidden}
#terminal .chart-tiles[data-layout=free]:not(.single) .chart-tile{position:absolute;box-sizing:border-box;left:var(--chart-left);top:var(--chart-top);width:var(--chart-width);height:var(--chart-height)}
#terminal .chart-tiles[data-layout=free] .chart-tile[data-active=true]{z-index:2}
#terminal .chart-tiles[data-layout=free]:not(.single) .chart-resize{display:block;position:absolute;right:0;bottom:0;touch-action:none;cursor:nwse-resize;background:transparent;padding:0;color:var(--dim)}
#terminal .chart-tiles[data-layout=free] header{touch-action:none;cursor:move}
#terminal .chart-tiles[data-layout=grid]:not(.single) header[data-chart-drag]{cursor:move}
#terminal .chart-tiles[data-chart-moving=true] header[data-chart-drag],
#terminal .chart-free-moving header[data-chart-drag]{cursor:move}
#terminal:not(.drawing-active) .chart-tile[data-cursor=pointer] > img{cursor:default}
#terminal .chart-drag-source{opacity:.65}
#terminal .chart-drop-target{outline:2px solid var(--accent,#009345);outline-offset:-2px}
#terminal .chart-tile header .chart-view-reset{display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;width:20px;height:20px;flex:0 0 20px;padding:0;margin:0;border:0;background:transparent;color:var(--dim);cursor:pointer;font-size:17px;line-height:1;vertical-align:middle}
#terminal .chart-tile header .chart-view-reset:hover{background:var(--box);color:var(--fg)}
#terminal #chart-open-menu{position:fixed;z-index:30;display:grid;min-width:140px;max-height:60vh;overflow-y:auto;padding:3px;background:var(--box);border:1px solid var(--soft);box-shadow:0 3px 10px #0009}
#terminal #chart-open-menu button{background:transparent;text-align:start;padding:4px 8px}

#terminal .chart-tiles .chart-divider { display: none; }
#terminal .chart-tiles[data-layout=grid][data-count="4"]:not(.single) {
  position: relative;
  grid-template-columns: minmax(0,var(--chart-fraction-3,.5fr)) minmax(0,var(--chart-fraction-4,.5fr));
  grid-template-rows: minmax(0,var(--chart-fraction-0,1fr)) minmax(0,var(--chart-fraction-1,1fr)) minmax(0,var(--chart-fraction-2,1fr));
}
#terminal .chart-tiles[data-layout=grid][data-count="4"]:not(.single) .chart-divider {
  display: block; position: absolute; z-index: 4; touch-action: none; user-select: none;
}
#terminal .chart-divider-0, #terminal .chart-divider-1 { inset-inline: 0; height: 5px; cursor: row-resize; }
#terminal .chart-divider-2 { bottom: 0; width: 5px; cursor: col-resize; }
#terminal .chart-divider:is(:hover,:focus-visible) { background: var(--soft); outline: 1px solid var(--dim); outline-offset: -1px; }
#terminal .workspace-tools button[data-action=line], #terminal .workspace-tools button[data-action=dots] { font-size: 13px; }
#terminal .chart-quote-strip {position:absolute;z-index:4;top:26px;left:50%;transform:translateX(-50%);font:700 11px/1.15 Arimo,Arial,sans-serif;font-variant-numeric:tabular-nums;direction:ltr}
#terminal .chart-quote-strip[hidden],#terminal .chart-quote-strip [hidden] {display:none!important}
#terminal .chart-quote-strip button {box-sizing:border-box;border:0;border-radius:3px;margin:0;min-width:0;background:#666;color:#eee;font:inherit;padding:0}
#terminal .chart-quote-strip button:disabled {cursor:default}
#terminal .quote-prices,#terminal .quote-handles {display:flex;justify-content:center;gap:4px}
#terminal .quote-prices {position:relative;z-index:1}
#terminal .quote-prices button {display:flex;align-items:center;justify-content:space-between;min-width:70px;min-height:20px;line-height:20px;gap:3px;padding:0 2px 0 4px;white-space:nowrap}
#terminal .chart-quote-strip :is([data-quote-side],[data-place-side]) {background:var(--quote-color,#808080);color:#fff;opacity:.8;--quote-active-opacity:1}
#terminal .chart-quote-strip [data-quote-readable=false] {opacity:.3;--quote-active-opacity:.42}
#terminal .chart-quote-strip[data-active-quote-side=SELL] :is([data-quote-side=SELL],[data-place-side=SELL]),
#terminal .chart-quote-strip[data-active-quote-side=BUY] :is([data-quote-side=BUY],[data-place-side=BUY]) {opacity:var(--quote-active-opacity);background:var(--quote-hover,#8a8a8a)}
#terminal .quote-prices [data-quote-side=BUY] {padding:0 4px 0 2px}
#terminal .quote-prices button>span {display:flex;align-items:baseline}
#terminal .quote-prices small {font-size:.85em;line-height:inherit;vertical-align:baseline}
#terminal .quote-expanded {display:none;position:relative}
#terminal .chart-quote-strip[data-expanded=true] .quote-expanded {display:block}
#terminal .chart-quote-strip[data-expanded=true] [data-quote-side=SELL] {border-bottom-left-radius:0}
#terminal .chart-quote-strip[data-expanded=true] [data-quote-side=BUY] {border-bottom-right-radius:0}
#terminal [data-quote-side=SELL]:after,#terminal [data-quote-side=BUY]:before {content:'';width:13px;height:13px;flex:none;background:currentColor;clip-path:polygon(8% 43%,58% 43%,58% 23%,93% 50%,58% 77%,58% 57%,8% 57%)}
#terminal .chart-quote-strip button[data-direction=up] {--quote-color:#009345;--quote-hover:#10a651}
#terminal .chart-quote-strip button[data-direction=down] {--quote-color:#f05824;--quote-hover:#ff6c36}
#terminal [data-quote-side=SELL][data-direction=up]:after,#terminal [data-quote-side=BUY][data-direction=up]:before {transform:rotate(-45deg)}
#terminal [data-quote-side=SELL][data-direction=down]:after,#terminal [data-quote-side=BUY][data-direction=down]:before {transform:rotate(45deg)}
#terminal .quote-controls {display:grid;contain:inline-size;grid-template-columns:28px minmax(60px,1fr) 30px;gap:5px;align-items:center;height:24px}
#terminal .quote-controls>[data-place-side] {align-self:stretch;padding:3px 2px 0;border-radius:0 0 3px 3px;font-weight:400}
#terminal .quote-quantity {display:flex;align-items:stretch;height:19px;align-self:end;border-radius:3px;background:#2b2b2b;color:#fff;overflow:hidden}
#terminal .quote-quantity input {border:0;min-width:0;width:100%;height:100%;padding:0 1px;background:transparent;color:inherit;font:inherit}
#terminal .quote-quantity input[aria-invalid=true] {box-shadow:inset 0 -2px #d86e54}
#terminal .quote-step {display:grid;grid-template-rows:1fr 1fr;width:14px;flex:none}
#terminal .quote-quantity button {border-radius:0;background:transparent;color:#aaa;line-height:8px}
#terminal [data-volume-menu] {flex:none;width:13px}
#terminal .quote-handles {padding-top:4px}
#terminal .quote-handles button {display:flex;align-items:center;gap:4px;width:70px;height:19px;cursor:grab;font-size:11px;font-weight:400}
#terminal .quote-handles button:active {cursor:grabbing}
#terminal .chart-quote-strip .quote-handles button[data-drag-side=SELL] {background:#f05824;color:#120c09;opacity:.8}
#terminal .chart-quote-strip .quote-handles button[data-drag-side=BUY] {background:#009345;color:#fff;opacity:.8}
#terminal .quote-handles [data-volume-amount] {font:inherit}
#terminal .chart-pending-preview {position:absolute;z-index:6;height:13px;pointer-events:none;overflow:hidden;--preview-color:#c0461d;color:white;font:600 10px/13px Arimo,Arial,sans-serif}
#terminal .chart-pending-preview[hidden] {display:none}
#terminal .chart-pending-preview[data-side=BUY] {--preview-color:#007636}
#terminal .chart-pending-preview[data-valid=false] {--preview-color:#777}
#terminal .pending-preview-line {position:absolute;left:4px;top:6px;width:calc(var(--preview-line-width) - 4px);height:1px;background:repeating-linear-gradient(to right,var(--preview-color) 0 5px,transparent 5px 8px,var(--preview-color) 8px 10px,transparent 10px 13px)}
#terminal .pending-preview-volume,#terminal .pending-preview-price {position:absolute;top:0;background:var(--preview-color);padding:0 4px;border-radius:2px;white-space:nowrap}
#terminal .pending-preview-volume:after {content:'▴';margin-left:4px}
#terminal .chart-pending-preview:is([data-side=SELL][data-kind=STOP],[data-side=BUY][data-kind=LIMIT]) .pending-preview-volume:after {content:'▾'}
#terminal .pending-preview-price {right:2px;font-variant-numeric:tabular-nums}
#terminal .quote-handles i {width:7px;height:12px;margin-left:4px;background:radial-gradient(circle,currentColor 1px,transparent 1.4px) 0 0/3px 3px}
#terminal .quote-options {position:absolute;top:24px;left:30px;z-index:2;min-width:77px;max-height:140px;overflow:auto;background:#292929;border:1px solid #666;border-radius:3px}
#terminal .quote-options button {display:block;width:100%;padding:3px 8px;text-align:left;background:transparent;color:#eee}
#terminal .quote-options button:is(:hover,:focus-visible) {background:#505050}
#terminal .quote-notice {display:none;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(240px,75vw);background:#f6f6f6;color:#181818;border:1px solid #aaa;border-radius:3px;padding:4px 6px;box-shadow:0 1px 4px #0004;font:12px/1.3 Arial,sans-serif;pointer-events:none}
#terminal .chart-quote-strip[data-expanded=true]:has(.quote-prices:hover,.quote-prices:focus-within) .quote-notice {display:block}
#terminal .trade-actions {position:relative}
#terminal .trade-actions:has(button:hover,button:focus-visible) .quote-notice[data-market-side="both"]:not([hidden]),
#terminal .trade-actions:has(#buy:hover) .quote-notice[data-market-side="BUY"]:not([hidden]),
#terminal .trade-actions:has(#sell:hover) .quote-notice[data-market-side="SELL"]:not([hidden]),
#terminal .trade-actions:not(:has(button:hover)):has(#buy:focus-visible) .quote-notice[data-market-side="BUY"]:not([hidden]),
#terminal .trade-actions:not(:has(button:hover)):has(#sell:focus-visible) .quote-notice[data-market-side="SELL"]:not([hidden]) {display:block;z-index:2}

#terminal .chart-history-bar { display:flex; align-items:center; flex:none; height:13px; background:var(--soft); }
#terminal .chart-history-bar[hidden] { display:none; }
#terminal .chart-history-bar button { flex:none; width:13px; height:13px; padding:0; background:transparent; color:var(--dim); font-size:8px; }
#terminal .chart-history-bar input { appearance:none; flex:1; min-width:0; height:10px; margin:0; padding:0; border:0; border-radius:3px; background:transparent; cursor:ew-resize; }
#terminal .chart-history-bar input::-webkit-slider-thumb { appearance:none; height:6px; width:12%; min-width:16px; border-radius:3px; background:#878787; }
#terminal .chart-history-bar input::-moz-range-thumb { height:6px; width:12%; border:0; border-radius:3px; background:#878787; }
#terminal .chart-history-bar input:disabled { cursor:default; opacity:.55; }

#terminal[data-color-theme] .chart-tile[data-chart-palette="custom"] img {filter:none}
.chart-tile[data-price-alerts="false"] .chart-alert-layer,
.chart-tile[data-quick-trade-buttons="false"] .chart-quote-strip > :not(.market-sentiment),
.chart-tile[data-market-sentiment="false"] .chart-quote-strip .market-sentiment {display:none!important}
.chart-quote-strip {min-width:144px}
.market-sentiment {display:flex;align-items:center;gap:4px;height:5px;position:relative;margin:5px 0 0}
.market-sentiment[hidden],.market-sentiment > i[hidden] {display:none!important}
.market-sentiment > i {display:block;height:100%;flex-basis:0;border-radius:3px;pointer-events:none}
.market-sentiment > .sentiment-sell {background:#f05824}
.market-sentiment > .sentiment-buy {background:#009345}
.market-sentiment-tip {position:fixed;inset:auto;margin:0;box-sizing:border-box;width:max-content;max-width:min(246px,95vw);padding:6px 8px;border:1px solid #555;border-radius:3px;background:#1d1d1d;color:#f6f6f6;font:12px/1.35 Arial,sans-serif;text-align:start;pointer-events:none}
.market-sentiment-tip div {position:relative;padding-inline-start:10px}
.market-sentiment-tip div::before {content:"";position:absolute;inset-inline-start:0;top:.45em;width:5px;height:5px;border-radius:50%;background:#f05824}
.market-sentiment-tip div:nth-child(2)::before {background:#009345}
.market-sentiment-tip small {display:block;color:#bebebe;padding-inline-start:10px}
#terminal .quote-handles button[data-drag-side]:not(:disabled):hover {opacity:1}
#ticket-dock .market-sentiment {margin-bottom:5px}
.chart-appearance-dialog {
  box-sizing:border-box; width:min(29rem,calc(100vw - 1rem)); max-height:calc(100dvh - 1rem);
  overflow:auto; color:#e7e7e7; background:#303030; border:1px solid #626262;
  border-radius:4px; padding:14px; box-shadow:0 8px 32px #0008; font:13px "Segoe UI",sans-serif
}
.chart-appearance-dialog::backdrop {background:#0005}
.chart-appearance-dialog h2 {font-size:15px; font-weight:600; margin:0 0 12px}
.chart-color-fields {display:grid; gap:3px}
.chart-color-fields label {display:flex; align-items:center; justify-content:space-between; gap:12px}
.chart-color-fields input {box-sizing:border-box; width:50px; height:24px; padding:1px; cursor:pointer}
.chart-appearance-dialog footer {display:flex; gap:6px; margin-top:14px}
.chart-appearance-dialog footer button:first-child {margin-right:auto}
.chart-appearance-dialog footer button {color:inherit; background:#494949; border:0; border-radius:3px; padding:5px 9px}
.chart-appearance-dialog footer button:last-child {background:#007f41;color:white}
#terminal[data-color-theme="light"] .chart-appearance-dialog {color:#242424;background:#f5f5f5;border-color:#aaa}
#terminal[data-color-theme="light"] .chart-appearance-dialog footer button:not(:last-child) {background:#ddd}

.chart-period-favorites{display:inline-flex;flex:0 1 auto;min-width:0;overflow:auto;scrollbar-width:thin}
.chart-tile .period[role=button]{cursor:pointer}

.chart-tile .chart-time-axis{position:absolute;z-index:7;cursor:ew-resize;touch-action:none;user-select:none}
.chart-time-axis span{position:absolute;bottom:0;box-sizing:border-box;max-width:100%;padding:1px 4px;border-radius:2px;background:#535353;color:white;white-space:nowrap;overflow:hidden;pointer-events:none;font:12px/1.2 "Segoe UI",sans-serif}
.chart-time-axis[hidden],.chart-time-axis span[hidden]{display:none}
:is(#terminal,body) .chart-wheel-choice{width:min(570px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;border:1px solid var(--soft,#555);border-radius:4px;background:var(--box,#505050);color:var(--fg,#eee);padding:0;font:16px/1.3 "Segoe UI",sans-serif}
:is(#terminal,body) .chart-wheel-choice::backdrop{background:#0007}
:is(#terminal,body) .chart-wheel-choice form{margin:0}
:is(#terminal,body) .chart-wheel-choice header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px 6px 15px;background:var(--base,#282828)}
:is(#terminal,body) .chart-wheel-choice h2{min-width:0;overflow-wrap:anywhere;font:inherit;margin:0}
:is(#terminal,body) .chart-wheel-choice button{cursor:pointer;font:inherit;color:inherit;border:0;border-radius:3px}
:is(#terminal,body) .chart-wheel-choice .wheel-choice-close{flex:none;min-width:28px;min-height:28px;padding:0;background:transparent;font-size:26px;line-height:1}
:is(#terminal,body) .chart-wheel-choice .wheel-choice-content{display:grid;gap:18px;padding:16px 15px}
:is(#terminal,body) .chart-wheel-choice p{margin:0}
:is(#terminal,body) .chart-wheel-choice .wheel-preview{display:block;box-sizing:border-box;width:100%;aspect-ratio:540/280;overflow:hidden;background:#000;border:1px solid #282828}
:is(#terminal,body) .chart-wheel-choice .wheel-preview-grid{fill:none;stroke:#1a1a1a;stroke-width:1;vector-effect:non-scaling-stroke}
:is(#terminal,body) .chart-wheel-choice .wheel-preview-up{fill:#009345;stroke:#009345;stroke-width:1;vector-effect:non-scaling-stroke}
:is(#terminal,body) .chart-wheel-choice .wheel-preview-down{fill:#f05824;stroke:#f05824;stroke-width:1;vector-effect:non-scaling-stroke}
:is(#terminal,body) .chart-wheel-choice .wheel-choices{display:flex;align-items:center;justify-content:center;gap:20px;direction:ltr;padding:3px 0}
:is(#terminal,body) .chart-wheel-choice label{position:relative;cursor:pointer;min-width:0;overflow-wrap:anywhere;font:inherit;color:inherit}
:is(#terminal,body) .chart-wheel-choice input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(#terminal,body) .chart-wheel-choice label:has(input:focus-visible),:is(#terminal,body) .chart-wheel-choice button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
:is(#terminal,body) .chart-wheel-choice .wheel-mode-toggle{position:relative;flex:none;min-width:60px;width:60px;min-height:34px;height:34px;padding:0;border-radius:17px;background:var(--base,#282828)}
:is(#terminal,body) .chart-wheel-choice .wheel-mode-toggle::after{content:"";position:absolute;top:5px;left:5px;width:24px;height:24px;border-radius:50%;background:#14ba2f}
:is(#terminal,body) .chart-wheel-choice .wheel-mode-toggle[data-mode=zoom]::after{left:31px}
:is(#terminal,body) .chart-wheel-choice .wheel-choice-apply{width:100%;min-height:28px;padding:3px 12px;background:color-mix(in srgb,var(--box,#525252),var(--fg,#fff) 20%)}
:is(#terminal,body) .chart-wheel-choice .wheel-choice-apply:hover,:is(#terminal,body) .chart-wheel-choice .wheel-choice-close:hover{box-shadow:inset 0 0 0 1px currentColor}
@media(max-width:420px){:is(#terminal,body) .chart-wheel-choice{font-size:14px}:is(#terminal,body) .chart-wheel-choice .wheel-choice-content{gap:12px;padding:12px}:is(#terminal,body) .chart-wheel-choice .wheel-choices{gap:12px}}
:is(#terminal,body) .chart-wheel-choice .wheel-preview-plot{transform-origin:270px 140px}
:is(#terminal,body) .chart-wheel-choice .wheel-preview[data-mode=zoom] .wheel-preview-plot{animation:wheel-choice-zoom 4s ease-in-out infinite}
:is(#terminal,body) .chart-wheel-choice .wheel-preview[data-mode=scroll] .wheel-preview-plot{animation:wheel-choice-scroll 4s ease-in-out infinite}
@keyframes wheel-choice-zoom{0%,15%,100%{transform:scaleX(1)}45%,65%{transform:scaleX(1.6)}}
@keyframes wheel-choice-scroll{0%,15%,100%{transform:translateX(0)}45%,65%{transform:translateX(-64px)}}
@media(prefers-reduced-motion:reduce){:is(#terminal,body) .chart-wheel-choice .wheel-preview[data-mode] .wheel-preview-plot{animation:none}:is(#terminal,body) .chart-wheel-choice .wheel-preview[data-mode=zoom] .wheel-preview-plot{transform:scaleX(1.6)}}
.chart-period-dialog{box-sizing:border-box;width:min(44rem,96vw);max-height:92dvh;min-height:0;padding:0;color:#ececec;background:#303030;border:1px solid #626262;border-radius:4px;font:13px "Segoe UI",sans-serif}
.chart-period-dialog::backdrop{background:#0005}
.chart-period-dialog[open]{display:flex;flex-direction:column}
.chart-period-dialog header,.chart-period-columns section>div{display:flex;align-items:center;justify-content:space-between}
.chart-period-dialog header{padding:7px 12px}
.chart-period-dialog h2,.chart-period-dialog h3{font-size:inherit;margin:0}
.chart-period-dialog button{color:inherit;background:transparent;border:0;cursor:pointer;padding:4px;text-align:left}
.chart-period-dialog button[aria-pressed=true]{color:#3bd789}
.chart-period-dialog button:hover,.chart-period-dialog button:focus-visible{background:#555}
.chart-period-columns{display:grid;grid-template-columns:repeat(5,minmax(96px,1fr));overflow:auto;padding:0 6px 8px;gap:4px}
.chart-period-columns section>div>button:first-child{flex:1}
.chart-period-columns h3{position:sticky;top:0;background:#484848;padding:5px}
#terminal[data-color-theme=light] .chart-period-dialog{background:#fafafa;color:#222}
#terminal[data-color-theme=light] .chart-period-columns h3{background:#ddd}
#terminal[data-color-theme=light] .chart-period-dialog button[aria-pressed=true]{color:#007136}
#terminal[data-color-theme=light] .chart-period-dialog button:hover{background:#ddd}

.chart-smart-search {
  position: absolute; z-index: 12; top: 24px; left: 8px; width: min(350px,calc(100% - 16px));
  display: grid; grid-template-columns: auto minmax(0,1fr); padding: 3px;
  color: var(--fg,#eee); background: var(--box,#26292d); border: 1px solid var(--border,#54585f);
}
.chart-smart-search input,.chart-smart-search select { min-width: 0; font: inherit; color: inherit; background: inherit; }
.chart-smart-search [role=listbox] { grid-column: 1/-1; max-height: min(190px,38vh); overflow: auto; }
.chart-smart-search [role=option] { padding: 3px 6px; cursor: pointer; }
.chart-smart-search [role=option][aria-selected=true] { background: #346590; color: #fff; }

.chart-symbol-link, .chart-link-menu button {
  flex:none; display:grid; place-items:center; padding:0; height:19px; width:19px; border:2px solid transparent;
  border-radius:3px; color:white; background:var(--link-color) padding-box; font:bold 10px/1 Arial,sans-serif;
}
.chart-symbol-link[data-link-group=""], .chart-link-menu [data-link-choice=""] {
  background:linear-gradient(135deg,white 43%,#ef3b43 45% 55%,white 57%) padding-box;
}
.chart-link-menu:popover-open {
  display:grid; grid-template-columns:repeat(3,25px); gap:0; position:fixed; inset:auto; margin:0; padding:5px;
  border:1px solid #686e73; border-radius:3px; background:var(--panel,#282d32);
}
.chart-link-menu button { width:25px; height:25px; border-width:5px; cursor:pointer; }
.chart-link-menu button:is(:focus-visible,:hover) { outline:1px solid currentColor; outline-offset:-2px; }
