#terminal canvas.chart-drawings{position:absolute;left:0;top:var(--drawing-top,23px);width:100%;height:var(--drawing-height,calc(100% - var(--drawing-top,23px)));pointer-events:none}
#terminal canvas.chart-drawings[hidden]{display:none}
#terminal.drawing-active .chart-tile img{cursor:crosshair;touch-action:none}
#terminal .draw-tools [data-drawing-tool][aria-pressed=true]{background:var(--soft);box-shadow:inset 2px 0 var(--fg)}
#terminal #drawing-delete{font-size:19px;line-height:16px}

#drawing-text-dialog{border:1px solid var(--soft,#555);border-radius:3px;padding:14px;color:var(--fg,#eee);background:var(--box,#272727);min-width:min(290px,80vw)}
#drawing-text-dialog::backdrop{background:#0008}
#drawing-text-dialog form{display:grid;gap:8px}
#drawing-text-dialog textarea{resize:vertical;background:var(--base,#171717);border:1px solid var(--soft,#555);color:inherit;font:inherit;padding:6px}
#drawing-text-dialog small{color:var(--dim,#aaa)}
#drawing-text-dialog form>div{display:flex;justify-content:flex-end;gap:6px}
#terminal .draw-tools {min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;align-self:start;max-height:100%;padding:4px 0;box-sizing:border-box}
#terminal .draw-tools::before {content:"";display:block;width:19px;height:5px;flex:none;margin-bottom:4px;background:radial-gradient(circle,#888 1px,transparent 1.3px) 0 0/4px 3px}
#terminal .draw-tools button {flex:none;position:relative}
#terminal.drawing-active .draw-tools [data-action=pointer]{background:transparent;box-shadow:none}
#terminal .drawing-family{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:100%}
#terminal .draw-tools .drawing-more{position:absolute;bottom:0;right:0;width:14px;height:16px;min-width:0;padding:0;border:0;background:transparent}
#terminal .drawing-more::after{content:"";position:absolute;bottom:1px;right:1px;border:3px solid transparent;border-right-color:currentColor;border-bottom-color:currentColor}
#terminal #drawing-color::before{content:"";display:inline-block;width:18px;height:17px;background:var(--drawing-color);border:1px solid #ffffff50;border-radius:3px}
#terminal #drawing-stroke::before{content:"";display:inline-block;width:var(--drawing-width);height:var(--drawing-width);background:#ddd;border-radius:50%;box-shadow:0 0 0 5px #6c6c6c}
#terminal .drawing-options{position:fixed;z-index:120;display:grid;gap:2px;max-height:calc(100dvh - 6px);overflow:auto;padding:5px;background:#454545;border:1px solid #6d6d6d;border-radius:3px;box-shadow:0 3px 12px #0009}
#terminal .drawing-options[hidden]{display:none}
#terminal .drawing-options button{display:flex;gap:8px;align-items:center;text-align:start}
#terminal .drawing-options label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px}
#terminal .drawing-swatches{display:grid;grid-template-columns:repeat(4,26px);gap:3px}
#terminal .drawing-swatches button{width:26px;height:24px;padding:0;border:1px solid #999}
#terminal .drawing-options :focus-visible,.draw-tools :focus-visible{outline:2px solid #eee;outline-offset:-2px}
#terminal [data-icon="ToolRay"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:0px 0px}
#terminal [data-icon="ToolArrowLine"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-18px 0px}
#terminal [data-icon="ToolElliottImpulse"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-36px 0px}
#terminal [data-icon="ToolElliottCorrection"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-54px 0px}
#terminal [data-icon="ToolElliottTriangle"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-72px 0px}
#terminal [data-icon="ToolElliottDoubleCombo"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-90px 0px}
#terminal [data-icon="ToolElliottTripleCombo"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-108px 0px}
#terminal [data-icon="ToolPitchfork"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-126px 0px}
#terminal [data-icon="ToolEquidistantPriceChannel"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-144px 0px}
#terminal [data-icon="ToolEllipse"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-162px 0px}
#terminal [data-icon="ToolTriangle"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-180px 0px}
#terminal [data-icon="ToolArrowUp"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-198px 0px}
#terminal [data-icon="ToolArrowDown"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:0px -18px}
#terminal [data-icon="ToolTriangleUp"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-18px -18px}
#terminal [data-icon="ToolTriangleDown"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-36px -18px}
#terminal [data-icon="ToolCircle"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-54px -18px}
#terminal [data-icon="ToolSquare"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-72px -18px}
#terminal [data-icon="ToolDiamond"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-90px -18px}
#terminal [data-icon="ToolStar"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-108px -18px}
#terminal [data-icon="ToolChartshot"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-126px -18px}
#terminal [data-icon="ToolPriceAlerts"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-144px -18px}
#terminal [data-icon="Settings"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-162px -18px}
#terminal [data-icon="ToolSynchronizedCrosshair"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-180px -18px}
#terminal [data-icon="ToolFibonacciExpansion"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-198px -18px}
#terminal [data-icon="ToolFibonacciFan"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:0px -36px}
#terminal [data-icon="ToolFibonacciArcs"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-18px -36px}
#terminal [data-icon="ToolFibonacciTimezones"]{mask-image:url(/chart-tool-icons.png);mask-size:216px 54px;mask-position:-36px -36px}
.chart-objects-menu {
  position:fixed; z-index:100; display:grid; min-width:190px; padding:3px;
  background:#393939; border:1px solid #555; box-shadow:0 3px 10px #0009;
}
.chart-objects-menu[hidden] { display:none; }
.chart-objects-menu button { text-align:start; border:0; background:transparent; color:inherit; padding:5px 9px; }
.chart-objects-menu button:focus-visible,.chart-objects-menu button:hover { background:#535353; }
.chart-objects-menu button:disabled { color:#909090; }
.chart-objects-menu [aria-checked=true]::after { content:'âœ“'; float:right; }
.chart-object-dialog { color:#e6e6e6; background:#292929; border:1px solid #585858; border-radius:4px; padding:14px; max-width:93vw; max-height:85vh; font:13px 'Segoe UI',sans-serif; }
.chart-object-dialog::backdrop { background:#0006; }
.chart-object-dialog h2 { font:600 16px 'Segoe UI',sans-serif; margin:0 0 10px; }
.chart-object-dialog button,.chart-object-dialog select,.chart-object-dialog input,.chart-object-dialog textarea {
  background:#414141; color:inherit; border:1px solid #555; border-radius:2px; padding:4px 7px; font:inherit;
}
.chart-object-dialog button:hover,.chart-object-dialog button:focus-visible { background:#565656; }
.chart-object-dialog button[aria-pressed=true] { border-color:#00a862; }
.chart-object-dialog form label { display:grid; grid-template-columns:minmax(70px,auto) minmax(160px,1fr); align-items:center; gap:12px; margin-bottom:6px; }
.chart-object-dialog .object-list { overflow:auto; max-height:55vh; margin:8px 0; }
.chart-object-dialog .object-row { display:grid; grid-template-columns:minmax(80px,1fr) repeat(5,auto); gap:3px; margin:3px 0; }
.chart-object-dialog .object-row button:first-child { text-align:start; white-space:normal; overflow-wrap:anywhere; }

#terminal .draw-tools::before{display:none}
#terminal .draw-tools .drawing-rail-grip{position:sticky;top:0;left:0;z-index:2;background:var(--box);order:-1;min-height:10px;width:100%;height:10px;padding:0;border:0;cursor:grab;touch-action:none}
#terminal .drawing-rail-grip::before{content:"";display:inline-block;vertical-align:top;width:20px;height:5px;background:radial-gradient(circle,currentColor 1px,transparent 1.3px) 0 0/3px 3px;opacity:.45}
#terminal .drawing-rail-grip:active{cursor:grabbing}
#terminal #drawing-color::before{width:19px;height:19px;opacity:var(--drawing-opacity,1)}
#terminal #drawing-stroke::before{width:13px;height:13px;background:radial-gradient(circle,var(--fg) 0 calc(var(--drawing-width)/2),#777 calc(var(--drawing-width)/2 + .4px));box-shadow:none}
#terminal #drawing-stroke::after{content:"";position:absolute;bottom:1px;left:3px;border:2px solid transparent;border-left-color:var(--dim);border-bottom-color:var(--dim)}
#terminal .drawing-options[data-palette=color]{grid-template-columns:minmax(0,1fr) 35px;align-items:end;background:var(--deep);padding:10px;gap:8px}
#terminal .drawing-options .drawing-swatches{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,19px);gap:5px;border-bottom:1px solid var(--soft);padding-bottom:10px}
#terminal .drawing-options .drawing-swatches button{width:19px;height:19px;background:var(--swatch);border:1px solid #aaa3;border-radius:0}
#terminal .drawing-options .drawing-swatches button:is(:hover,:focus-visible){outline:1px solid var(--fg)}
#terminal .drawing-options .drawing-opacity{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;gap:3px}
#terminal .drawing-opacity input{width:100%;margin:0;grid-column:1/-1;grid-row:2;accent-color:var(--accent)}
#terminal .drawing-options input[type=color]{width:34px;height:31px;padding:0;border:0;cursor:pointer}
#terminal .drawing-options[data-palette=thickness]{gap:0;background:var(--deep)}
#terminal .drawing-options [data-stroke-width]{box-sizing:border-box;min-width:90px;height:31px;background:transparent}
#terminal .drawing-options [data-stroke-width]::before{content:'';display:block;width:80px;height:var(--preview-width);background:var(--fg)}
#terminal .drawing-options [data-stroke-width]:is(:hover,[aria-pressed=true]){background:var(--soft)}
#terminal .chart-deck[data-rail-side]{position:relative}
#terminal .chart-deck[data-rail-target]::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:10;border:0 solid var(--accent)}
#terminal .chart-deck[data-rail-target=left]::after{border-left-width:4px}
#terminal .chart-deck[data-rail-target=right]::after{border-right-width:4px}
#terminal .chart-deck[data-rail-target=top]::after{border-top-width:4px}
#terminal .chart-deck[data-rail-target=bottom]::after{border-bottom-width:4px}
@media(min-width:0px){
  #terminal .chart-deck[data-rail-side=left]{grid-template-columns:30px minmax(0,1fr)}
  #terminal .chart-deck[data-rail-side=left]>.draw-tools{grid-column:1;grid-row:1/-1}
  #terminal .chart-deck[data-rail-side=left]>:is(.chart-layout-tabs,.chart-tiles){grid-column:2}
  #terminal .chart-deck[data-rail-side=left]:not([data-chart-tabs=true])>.chart-tiles{grid-row:1}
  #terminal .chart-deck:is([data-rail-side=top],[data-rail-side=bottom]){grid-template-columns:minmax(0,1fr);grid-template-rows:30px minmax(0,1fr)}
  #terminal .chart-deck[data-rail-side=bottom]{grid-template-rows:minmax(0,1fr) 30px}
  #terminal .chart-deck[data-rail-side=top][data-chart-tabs=true]{grid-template-rows:30px 24px minmax(0,1fr)}
  #terminal .chart-deck[data-rail-side=bottom][data-chart-tabs=true]{grid-template-rows:24px minmax(0,1fr) 30px}
  #terminal .chart-deck[data-rail-side=top]>.chart-tiles{grid-column:1;grid-row:-2}
  #terminal .chart-deck[data-rail-side=bottom]:not([data-chart-tabs=true])>.chart-tiles{grid-column:1;grid-row:1}
  #terminal .chart-deck[data-rail-side=top]>.draw-tools{grid-row:1;grid-column:1}
  #terminal .chart-deck[data-rail-side=bottom]>.draw-tools{grid-row:-2;grid-column:1}
}
#terminal .chart-deck:is([data-rail-side=top],[data-rail-side=bottom])>.draw-tools{flex-direction:row;justify-self:start;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0 3px;align-items:center}
#terminal .chart-deck:is([data-rail-side=top],[data-rail-side=bottom]) .drawing-family{width:auto}
#terminal .chart-deck:is([data-rail-side=top],[data-rail-side=bottom]) .drawing-rail-grip{width:12px;height:25px}
#terminal .chart-deck:is([data-rail-side=top],[data-rail-side=bottom]) .drawing-rail-grip::before{width:5px;height:18px;vertical-align:middle}

#terminal #drawing-delete:disabled{display:none}
@media(max-width:1000px){
  #terminal:not([data-empty-market=true]) .chart-deck[data-rail-side]>.draw-tools{display:flex}
  #terminal .chart-deck[data-rail-side=right]{grid-template-columns:minmax(0,1fr) 30px}
  #terminal .chart-deck[data-rail-side=right]>.draw-tools{grid-column:2;grid-row:1/-1}
}
.rr-tool { position:relative; }
.rr-tool .rr-arrow { position:absolute; right:0; bottom:0; font-size:8px; padding-left:3px; }
.drawing-options.rr-modes:not([hidden]) { display:flex; flex-direction:column; align-items:stretch; }
.rr-modes button { text-align:start; white-space:nowrap; }
.rr-editor { max-height:90dvh; overflow:auto; width:min(370px,94vw); }
.rr-editor form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 10px; }
.rr-editor form label { display:flex; flex-direction:column; align-items:stretch; min-width:0; gap:3px; }
.rr-editor form input,.rr-editor form select { width:100%; min-width:0; box-sizing:border-box; }
.rr-editor form input[type=checkbox] { width:auto; align-self:flex-start; }
.rr-editor output,.rr-editor [role=status],.rr-editor footer { grid-column:1/-1; }
.rr-editor [role=status]:empty { display:none; }
.rr-editor footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:4px; }

.rr-editor form { display:block; }
.rr-editor .rr-tabs { display:flex; margin-bottom:9px; }
.rr-editor .rr-tabs button { flex:1; }
.rr-editor .rr-tabs button[aria-selected=true] { border-bottom:2px solid var(--accent,#00944d); }
.rr-editor .rr-settings-page:not([hidden]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 10px; }
.rr-editor :is(.rr-style-page,.rr-visibility-page) fieldset { border:0; padding:3px 0; margin:0 0 6px; }
.rr-editor .rr-style-page fieldset { display:grid; grid-template-columns:minmax(0,1fr) 65px 36px; gap:4px; }
.rr-editor .rr-style-page canvas { width:100%; align-self:center; }
.rr-editor .rr-style-page input[type=color] { height:24px; padding:0; }
.rr-editor .rr-visibility-page [data-rr-period] { display:grid; align-items:center; grid-template-columns:minmax(68px,1fr) 48px minmax(40px,1.5fr) 48px; gap:4px; margin:3px 0; }
.rr-editor .rr-visibility-page [data-rr-period] label { display:flex; flex-direction:row; align-items:center; gap:4px; }
.rr-editor input[type=range] { min-width:0; accent-color:var(--accent,#00944d); }
.rr-editor footer { margin-top:9px; }
.rr-editor .rr-period-range { position:relative; height:20px; }
.rr-period-range::before { content:''; position:absolute; top:9px; left:4px; right:4px; height:2px; background:var(--accent,#00944d); }
.rr-editor .rr-period-range input { position:absolute; inset:0; width:100%; margin:0; background:transparent; appearance:none; pointer-events:none; }
.rr-editor .rr-period-range input::-webkit-slider-runnable-track { background:transparent; height:2px; }
.rr-editor .rr-period-range input::-moz-range-track { background:transparent; height:2px; }
.rr-editor .rr-period-range input::-webkit-slider-thumb { appearance:none; background:#aaa; width:10px; height:10px; margin-top:-4px; border-radius:50%; pointer-events:auto; cursor:ew-resize; }
.rr-editor .rr-period-range input::-moz-range-thumb { background:#aaa; width:10px; height:10px; border-radius:50%; pointer-events:auto; cursor:ew-resize; }
.fib-editor { width:min(440px,94vw); }
.fib-editor [role=tabpanel][hidden] { display:none; }
.fib-editor [role=tabpanel] { max-height:64vh; overflow:auto; margin:5px 0; }
.fib-editor .fib-level { display:grid; grid-template-columns:18px minmax(50px,1.4fr) 12px minmax(43px,.75fr) minmax(56px,1fr) 25px minmax(27px,.6fr); align-items:center; gap:3px; margin:3px 0; }
.fib-editor .fib-level input,.fib-editor .fib-level select { min-width:0; width:100%; margin:0; }
.fib-editor .fib-level input[type=checkbox] { width:15px; align-self:center; }
.fib-editor .fib-level input[type=color] { height:22px; padding:0; }

#drawing-text-dialog{position:fixed;inset:auto;margin:0;min-width:0;width:min(260px,90vw);padding:3px;border:1px dashed #999;background:var(--base,#242424)}
#drawing-text-dialog::backdrop{background:transparent}
#drawing-text-dialog form{gap:2px}
#drawing-text-dialog #drawing-text-title,#drawing-text-dialog #drawing-text-help{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}
#drawing-text-dialog textarea{min-width:0;padding:1px 2px;background:transparent;border:0;line-height:1.25}
#drawing-text-dialog form>div{gap:4px;justify-content:flex-end}
.chart-text-properties{width:min(350px,92vw)}
.chart-text-properties section[hidden]{display:none!important}
.chart-text-properties .chart-text-style{display:grid;grid-template-columns:minmax(0,1fr) minmax(66px,.6fr);gap:7px}
.chart-text-properties .chart-text-style label{display:flex;align-items:center;justify-content:space-between;gap:6px}
.chart-text-properties .chart-text-style :is(select,input:not([type=checkbox]),textarea){min-width:0;max-width:100%}
.chart-text-properties label:has([name=name]),.chart-text-properties label:has([name=text]),.chart-text-properties label:has([name=asDefault]){grid-column:1/-1}
.chart-text-properties [name=text]{width:100%;min-height:42px;padding:4px}
.chart-text-properties .text-type-switches{grid-column:1/-1;display:flex;gap:2px}
.chart-text-properties .text-type-switches button{flex:1}
.chart-text-properties [data-type-style=bold]{font-weight:bold}
.chart-text-properties [data-type-style=italic]{font-style:italic}
.chart-text-properties [data-type-style=underline]{text-decoration:underline}
.chart-text-properties [data-type-style][aria-pressed=true]{background:var(--accent,#009147);color:white}
.chart-text-properties .text-object-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.chart-text-properties .text-object-footer button:first-child{grid-column:1/-1}
.chart-text-properties .text-object-footer button[type=submit]{background:var(--accent,#009147);color:#fff}
.chart-text-properties .chart-text-style label:has([name=asDefault]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:7px}
.chart-text-properties .chart-text-style [name=asDefault]{align-self:center}

/* Source proposal only. Drawing mode/cursor rules are not changed. */
#terminal .drawing-options{background:var(--base,#292929);color:var(--fg,#eee);border-color:var(--box,#525252);font:12px/1.25 "Segoe UI",Arial,sans-serif}
#terminal .drawing-options[data-palette=tools]{min-width:190px;padding:4px}
#terminal .drawing-options[data-palette=tools] button{min-height:29px;padding:4px 10px;border:0;border-radius:1px;background:transparent;color:inherit;font:inherit}
#terminal .drawing-options[data-palette=tools] button:is(:hover,:focus-visible){background:var(--soft,#3b3b3b)}
#terminal .drawing-options :focus-visible,#terminal .draw-tools .drawing-more:focus-visible{outline-color:var(--accent,#009345)}
#terminal .draw-tools .drawing-more:is(:hover,[aria-expanded=true]){background:var(--soft,#3b3b3b)}
