:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d7e2e8;background:#080d11;font-synthesis:none;--bg:#0b1116;--surface:#10191f;--line:#243139;--muted:#788c99;--accent:#62c9d7;--accent-dim:#17343d;--red:#ed7487;--green:#7acaae;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,a,select,input{-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(hover:hover) and (pointer:fine){button:hover{color:#fff;background:#1c2b33}}button:disabled{opacity:.35;cursor:default}
@media(hover:hover) and (pointer:fine){button:disabled:hover{background:none}}a{color:inherit;text-decoration:none}.app-header{height:64px;min-height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #202c34;background:radial-gradient(ellipse at 55% 0,#14303966,transparent 64%),#0b1116}.brand{display:flex;gap:13px;align-items:center}.brand strong{font-size:19px;letter-spacing:2.6px;line-height:1}.brand strong span{display:block;font-size:9px;font-weight:500;letter-spacing:4.9px;color:#81959f;margin-top:6px}.brand-mark{width:28px;height:31px;display:flex;align-items:center;gap:4px}.brand-mark i{width:6px;height:17px;background:var(--accent);position:relative;border-radius:1px}.brand-mark i:before{content:'';position:absolute;left:2px;top:-5px;bottom:-5px;width:1px;background:var(--accent)}.brand-mark i:nth-child(2){height:26px;transform:translateY(-2px)}.brand-mark i:nth-child(3){height:13px;transform:translateY(-1px)}.workspace-name{display:flex;align-items:center;gap:11px;font-size:13px}.workspace-name strong{font-weight:500}.workspace-icon{font-size:22px;color:#8b9da8}.version{font-size:10px;color:#8ca3af;background:#19262e;padding:3px 5px;border:1px solid #2a3a44;border-radius:4px}.global-actions{display:flex;align-items:center;gap:16px}.demo-label{font-size:10px;letter-spacing:1.25px;color:#c2aa7c;border:1px solid #66513380;background:#45371c29;border-radius:4px;padding:6px 9px}.icon-button{height:29px;min-width:29px;border:1px solid #2b3a44;border-radius:6px;font-size:15px;color:#a3b4be}.workspace-bar{height:53px;min-height:53px;padding:0 20px 0 65px;display:flex;align-items:center;justify-content:space-between;background:#0b1116}.workspace-title{display:flex;align-items:baseline;gap:12px}.workspace-title h1{font-size:17px;font-weight:550;margin:0}.workspace-title>span{font-size:11px;color:var(--muted)}.workspace-controls{display:flex;align-items:center;gap:7px}.text-button{font-size:12px;padding:7px 10px;border-radius:5px;display:flex;align-items:center;gap:7px;color:#a7b8c2;white-space:nowrap}.text-button.selected{background:#19282f;border:1px solid #2d424d;color:#b7d6df}.text-button[aria-pressed=true]{color:var(--accent)}.divider{height:16px;width:1px;background:#2a353d;margin:0 6px}.workspace-shell{display:flex;flex:1;min-height:0}.tool-rail{width:48px;min-width:48px;display:flex;align-items:center;flex-direction:column;gap:9px;padding-top:9px;background:#0b1116;border-top:1px solid #17232b}.rail-button{width:34px;height:35px;display:grid;place-items:center;border-radius:5px;color:#8ba0ae;font-size:22px}.rail-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.rail-button.active{background:#17313a;color:var(--accent);box-shadow:inset 0 0 0 1px #315563}.rail-separator{width:22px;height:1px;background:#29373f;margin:3px 0}.rail-bottom{margin-top:auto;padding-bottom:14px;font-size:8px;letter-spacing:1px;color:#637b89}.chart-grid{padding:0 10px 10px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(240px,1fr));gap:8px;flex:1;min-width:0;overflow:auto}.chart-card{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--surface);border:1px solid #2a3740;border-radius:7px;overflow:hidden;transition:border-color .15s}.chart-card.active{border-color:#62b8c9;box-shadow:0 0 0 1px #62c9d720,0 0 15px #0ca1bd08}.chart-card:focus{outline:none}.chart-head{height:35px;min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 9px;background:#101a21;border-bottom:1px solid #26343e}.symbol-block{display:flex;align-items:center;gap:7px;min-width:0}.asset-mark{width:19px;height:19px;border-radius:50%;background:#24313a;color:#97acb8;display:grid;place-items:center;font-size:11px;font-weight:700}.symbol-name{font-size:13px;letter-spacing:.2px;font-weight:600}.chart-head-actions{display:flex;align-items:center;gap:4px}.tf-select{padding:3px 1px 3px 5px;font-size:11px;color:#b8cbd5;background:#192830;border:1px solid #2e404b;border-radius:4px;max-width:56px}.expand-button{font-size:16px;width:23px;height:23px;color:#7d929f;border-radius:3px}.kraft-panel{display:grid;grid-template-columns:minmax(30px,.8fr) repeat(2,minmax(26px,.8fr)) minmax(90px,2.5fr) repeat(2,minmax(26px,.8fr)) minmax(30px,.8fr);height:67px;min-height:67px;gap:1px;padding:4px;background:#101a21;border-bottom:1px solid #26343e}.panel-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:1px;min-width:0}.panel-button{font-size:clamp(9px,.65vw,12px);letter-spacing:.15px;color:#8ca1af;background:#1b2932;border-radius:2px;padding:0 1px;line-height:1;min-width:0;white-space:nowrap}.panel-button.on{background:#204450;color:#91deeb}
@media(hover:hover) and (pointer:fine){.panel-button:hover{background:#2d424e}}.panel-side{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #2c3a42;border-radius:3px;min-width:0;gap:4px}.panel-side .side-label{font-size:8px;color:#849aa7;letter-spacing:.8px}.swap-pair{font-size:11px;color:#718a98;display:flex;gap:4px}.swap-pair span:first-child{color:#ba7c89}.swap-pair span:last-child{color:#74a796}.panel-value{font-size:13px;color:#cbdae2;font-variant-numeric:tabular-nums}.panel-center{display:grid;grid-template-rows:2fr 1fr;min-width:0;gap:1px}.trade-group{display:flex;min-height:0;gap:1px}.trade-button{flex:1;padding:0 2px;background:#20303a;border:1px solid #324953;border-radius:3px;font-size:12px;font-weight:550;letter-spacing:.7px;min-width:0}.trade-button.on{color:#0d252b;background:var(--accent);border-color:var(--accent)}.hq-button{width:22px;flex-shrink:0;font-size:9px;border:1px solid #2c404b;border-radius:3px;color:#84a0ae;padding:0}.hq-button.on{background:#426576;color:#e0f2f7}.center-bottom{display:flex;gap:1px}.center-bottom>*{flex:1}.rr-button{color:#c3d7df;background:#24343f}.chart-body{position:relative;flex:1;min-height:80px;background:#111b22;isolation:isolate}.chart-surface{position:absolute;inset:0;z-index:0}.chart-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.chart-overlay line,.chart-overlay path{vector-effect:non-scaling-stroke}.fibo-handle{pointer-events:all;cursor:grab;fill:#14252d;stroke:#e9788b;stroke-width:1.4}
@media(hover:hover) and (pointer:fine){.fibo-handle:hover{fill:#e9788b}}.fibo-hit{pointer-events:stroke;stroke:transparent;stroke-width:16;cursor:grab}.fibo-dragging{cursor:grabbing!important}.chart-watermark{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-size:clamp(55px,6.4vw,160px);font-weight:300;letter-spacing:-8px;color:#acbeca;opacity:.045;z-index:1;line-height:1}.chart-caption{height:24px;min-height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;gap:5px;border-top:1px solid #24313a;color:#708996;font-size:9px;background:#101a21}.chart-caption .plan-state{color:#a0b4bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-caption .plan-state.armed{color:var(--accent)}.plan-open{font-size:10px;color:#83b4c1;border-radius:2px;padding:2px 4px;white-space:nowrap}.chart-caption .risk-control{display:flex;align-items:center;gap:4px;color:#849aa7;white-space:nowrap}.risk-control button{font-size:12px;padding:0 3px;border-radius:2px}.status-bar{height:27px;min-height:27px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;border-top:1px solid #1d2b33;color:#6d8696;font-size:10px;background:#0b1116}.status-bar>div{display:flex;align-items:center;gap:9px}.status-mark{width:5px;height:5px;background:#739bab;border-radius:50%}.footer-separator{color:#31424c}.status-bar a{font-size:9px;color:#698796}
@media(hover:hover) and (pointer:fine){.status-bar a:hover{color:#b1d8e6}}.chart-grid.expanded{grid-template-columns:1fr;grid-template-rows:1fr}.chart-grid.expanded .chart-card{display:none}.chart-grid.expanded .chart-card.active{display:flex}.chart-grid.expanded .kraft-panel{height:73px;min-height:73px;grid-template-columns:80px repeat(2,80px) 170px repeat(2,80px) 80px;justify-content:center}.chart-grid.expanded .panel-button{font-size:12px}.chart-grid.expanded .chart-watermark{font-size:200px}.chart-grid.expanded .chart-head{height:42px;min-height:42px}.chart-grid.expanded .chart-caption{height:30px;min-height:30px;font-size:11px}.classic .chart-body{background:#d6d5d1}.classic .chart-card.has-fibo .chart-body{background:#e3dcc6}.classic .chart-watermark{color:#302d22;opacity:.085}.classic .chart-card.active{border-color:#81ccd7}.classic .chart-caption{background:#17242d}.classic .chart-body .fibo-handle{fill:#e3dcc6;stroke:#d24a6a}
@media(hover:hover) and (pointer:fine){.classic .chart-body .fibo-handle:hover{fill:#d24a6a}}.drawing .chart-body{cursor:crosshair}#toast{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:50;background:#19323c;border:1px solid #3c6979;padding:12px 17px;border-radius:7px;box-shadow:0 8px 32px #0008;color:#d7edf3;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:min(550px,90vw);text-align:center}#toast.show{opacity:1}dialog{color:#d7e2e8;background:#101b23;border:1px solid #365260;border-radius:13px;box-shadow:0 24px 100px #0008;padding:27px;max-width:min(610px,calc(100vw - 24px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#02080dc4;backdrop-filter:blur(5px)}.dialog-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#6fabbc}.dialog-heading h2{font-size:23px;font-weight:550;margin:10px 0 16px;letter-spacing:-.6px}dialog p{font-size:13px;line-height:1.7;color:#9fb2be}.key-grid{display:grid;grid-template-columns:110px 1fr;gap:11px 15px;margin:24px 0;align-items:center}.key-grid span{font-size:12px;color:#b2c3ce}kbd{font-family:inherit;font-size:11px;display:inline-block;width:fit-content;padding:4px 7px;border-radius:4px;border:1px solid #334753;background:#1b2a33;color:#bed0da}.demo-note{padding:14px 16px;border:1px solid #544b3a;border-radius:6px;background:#453a201d}.demo-note strong{color:#c6b388;font-size:12px}.demo-note p{font-size:12px;margin:6px 0 0}.dialog-footnote{font-size:11px!important;color:#748e9f!important}.plan-dialog{width:490px}.plan-meta{font-size:11px;color:#82adbb;padding-bottom:17px;border-bottom:1px solid #293d48}.plan-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.plan-form label{font-size:11px;color:#9bb2bf;display:flex;flex-direction:column;gap:7px}.plan-form input,.plan-form select{width:100%;border:1px solid #344d5b;background:#0e1820;color:#d9e8ef;border-radius:5px;padding:9px;font-size:13px}.plan-readout{display:grid;grid-template-columns:1fr auto;gap:11px;font-size:12px;padding:18px 0;border-top:1px solid #293d48}.plan-readout span:nth-child(odd){color:#7e99a9}.plan-readout strong{font-variant-numeric:tabular-nums;font-weight:500}.primary-button{background:#62c9d7;color:#10252c;border:1px solid #7fdfeb;border-radius:5px;padding:10px 17px;font-size:12px;font-weight:600}
@media(hover:hover) and (pointer:fine){.primary-button:hover{background:#86deea;color:#0a252d}}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.empty-plan{padding:20px 0;color:#9eb3c0;font-size:13px}.card-index{font-size:9px;color:#526b7b}.demo-stamp{font-size:9px;color:#506976}.chart-grid.expanded .demo-stamp{font-size:11px}@media(min-width:1800px){.app-header{height:70px;min-height:70px}.workspace-bar{height:58px;min-height:58px}.chart-grid{gap:10px;padding-right:14px;padding-bottom:12px}.chart-head{height:41px;min-height:41px}.kraft-panel{height:77px;min-height:77px;padding:5px;gap:2px}.panel-stack{gap:2px}.panel-button{font-size:12px}.trade-button{font-size:15px}.panel-side .side-label{font-size:10px}.chart-caption{font-size:11px;height:28px;min-height:28px}.symbol-name{font-size:15px}.tf-select{font-size:12px}.plan-open{font-size:11px}.asset-mark{width:22px;height:22px}.status-bar{font-size:11px}.demo-label{font-size:11px}}
@media(max-width:1050px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(310px,1fr))}.workspace-name{display:none}.shortcut-hint{display:none}.panel-button{font-size:11px}.chart-grid.expanded .kraft-panel{grid-template-columns:minmax(30px,.8fr) repeat(2,minmax(26px,.8fr)) minmax(90px,2.5fr) repeat(2,minmax(26px,.8fr)) minmax(30px,.8fr)}.chart-watermark{font-size:90px}}
@media(max-width:590px){.app-header{padding:0 13px;height:58px;min-height:58px}.brand strong{font-size:16px}.brand strong span{font-size:8px;letter-spacing:4px}.brand-mark{transform:scale(.85)}.brand{gap:7px}.demo-label{font-size:8px;letter-spacing:.5px;padding:5px}.global-actions{gap:7px}.workspace-bar{height:50px;min-height:50px;padding:0 10px 0 13px}.workspace-title>span{display:none}.workspace-title h1{font-size:16px}.text-button{padding:7px 6px;font-size:10px}.divider{display:none}.workspace-controls{gap:0}#grid-button span{display:none}.tool-rail{width:38px;min-width:38px;gap:10px}.rail-button{width:30px;height:34px}.chart-grid{grid-template-columns:1fr;grid-template-rows:repeat(8,390px);gap:9px;padding-right:8px}.chart-head{height:39px;min-height:39px}.kraft-panel{height:71px;min-height:71px}.chart-caption{height:29px;min-height:29px;font-size:10px}.chart-grid.expanded{grid-template-rows:minmax(300px,1fr)}.chart-grid.expanded .panel-button{font-size:10px}.status-bar{padding:0 8px;font-size:9px}.status-bar a{max-width:92px;font-size:8px}.status-bar>div{gap:5px}.chart-watermark{font-size:110px}.key-grid{grid-template-columns:90px 1fr;gap:11px}.key-grid span{font-size:11px}dialog{padding:20px}.dialog-heading h2{font-size:20px}.chart-grid.expanded .chart-watermark{font-size:140px}.plan-form{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}.feed-info{padding:8px 24px;background:#14232c;color:#8ecad3;font-size:12px;border-bottom:1px solid #29404e}.feed-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;font-size:11px;line-height:1.45;text-align:center;padding:7px 11px;background:#13232bef;color:#b3d5dc;border:1px solid #36505e;border-radius:6px;width:max-content;max-width:calc(100% - 32px);overflow-wrap:anywhere;box-shadow:0 2px 8px #0002}.feed-error{color:#efc887}.feed-code{display:grid;gap:10px;color:#adc0cc}.feed-code input{padding:12px;background:#14232c;color:#e0eef4;border:1px solid #355362;border-radius:5px;width:100%}#login-error{color:#ecacb4}

.order-dialog{width:560px}.order-account{padding:10px 12px;border:1px solid #35636e;border-radius:5px;color:#8ad8e3;font-size:13px}.order-lots{font-size:20px;color:#86d7e2}.order-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:#cbdce5}.order-consent input{margin-top:4px}.order-history{display:block;width:100%;text-align:left;padding:10px;border-bottom:1px solid #31414b;font-size:12px}[data-message]{min-height:20px;overflow-wrap:anywhere}.order-dialog strong{overflow-wrap:anywhere;text-align:right}

.chart-card[hidden]{display:none!important}.workspace-pages{display:flex;gap:6px;padding:0 10px 8px 48px;overflow-x:auto;flex-shrink:0}.workspace-pages button{font-size:11px;padding:7px 12px;border-radius:5px;white-space:nowrap;color:#8ba3b0;border:1px solid #263943}.workspace-pages .selected{color:#87d9e7;background:#18323c;border-color:#376471}@media(max-width:590px){.workspace-pages{padding-left:38px}.workspace-controls{flex-wrap:wrap;justify-content:flex-end}.workspace-bar{height:auto;min-height:70px}.workspace-title h1{font-size:13px}.workspace-title{max-width:110px}}
/* Native EA state palette is applied to the actual chart canvas as well. */
.panel-side.swaps-panel,.panel-side.right-panel{padding:3px 1px;gap:1px;justify-content:flex-start;min-width:0;overflow:hidden}
.swap-line{font-size:10px;line-height:16px;white-space:nowrap}
.right-panel .panel-value{font-size:11px;line-height:17px;white-space:nowrap}
.right-panel .panel-sub{font-size:9px;line-height:14px;white-space:nowrap}
.right-panel:has(.panel-value.positive) .panel-value{font-weight:600}
.positive{color:#75bba0!important}.negative{color:#df927b!important}.panel-stale{opacity:.55}
/* Keep the button and its text node stable during repeated status updates. */
.trade-button{position:relative}
.trade-spinner{display:none;position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);pointer-events:none}
.trade-spinner i{position:absolute;left:7px;top:0;width:2px;height:5px;border-radius:1px;background:currentColor;transform-origin:1px 8px;transform:rotate(calc(var(--spoke) * 30deg));opacity:.2;animation:trade-spoke 1s linear infinite;animation-delay:calc(var(--spoke) * 1s / 12 - 1s)}
.trade-button[aria-busy=true]{opacity:1}
.trade-button[aria-busy=true] .trade-caption{visibility:hidden}
.trade-button[aria-busy=true] .trade-spinner{display:block}
@keyframes trade-spoke{0%{opacity:1}100%{opacity:.15}}
@media(prefers-reduced-motion:reduce){.trade-spinner i{animation:none;opacity:.65}}
.chart-card[data-phase=position] .trade-button.on{background:#294b3b;border-color:#79b498}
.chart-card[data-phase=pending] .trade-button.on{background:#244853;border-color:#6dbbc9}
.plan-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%}

/* Framed toolbar, native control proportions: 332 × 54 middle, 75 × 53 panels.
   All three groups participate in layout, with a separate chart body below. */
.chart-card{container-type:inline-size}
.chart-grid .chart-card .kraft-panel{
  --u:min(1px,calc((100cqw - 4px)/494));
  display:grid;grid-template-columns:calc(75 * var(--u)) minmax(0,1fr) minmax(0,calc(332 * var(--u))) minmax(0,1fr) calc(75 * var(--u));
  align-items:center;column-gap:calc(3 * var(--u));position:relative;flex:none;height:calc(54 * var(--u) + 12px);min-height:calc(54 * var(--u) + 12px);
  padding:5px 1px 6px;border-bottom:1px solid #314650;background:#0e1b23;
  box-shadow:inset 0 1px 0 #ffffff05;
}
.native-button-band{
  grid-column:3;display:grid;grid-template-columns:calc(16 * var(--u)) 1fr 1fr 2fr 1fr 1fr calc(16 * var(--u));
  width:100%;height:calc(54 * var(--u));gap:0;min-width:0;
}
.native-button-band .panel-stack{grid-template-rows:repeat(3,calc(18 * var(--u)));gap:0;min-width:0}
.native-button-band .panel-center{grid-template-rows:calc(36 * var(--u)) calc(18 * var(--u));gap:0;min-width:0}
.chart-grid .native-button-band .panel-button,
.native-button-band .trade-button,.native-button-band .hq-button{
  border:1px solid #0e1b23;border-radius:3px;background:#1b2b35;
  color:#a9c1cd;box-shadow:none;
  font:600 calc(10 * var(--u))/1 'Segoe UI',Arial,sans-serif;letter-spacing:0;padding:0;
  transition:background .12s,border-color .12s,color .12s,box-shadow .12s;
}
.chart-grid .native-button-band :is(.panel-button,.trade-button,.hq-button).on{
  background:#83cddb;color:#102d38;border-color:#0e1b23;box-shadow:none;
}
@media(hover:hover) and (pointer:fine){
 .chart-grid .native-button-band :is(.panel-button,.trade-button,.hq-button):hover:not(:disabled):not(:active):not(.awaiting){
  background:#334d5b;border-color:#0e1b23;color:#eefbff;
 }
 .chart-grid .native-button-band :is(.panel-button,.trade-button,.hq-button).on:hover:not(:disabled):not(:active):not(.awaiting){
  background:#a0e1eb;color:#102d38;
 }
}
.chart-grid .native-button-band :is(.panel-button,.trade-button,.hq-button):active:not(:disabled):not(.awaiting){
  background:#bfedf3;color:#112d37;border-color:#0e1b23;box-shadow:none;
}
.native-button-band .trade-group,.native-button-band .center-bottom{gap:0;min-width:0}
.native-button-band .center-bottom{display:grid;grid-template-columns:39fr 22fr 39fr}
.native-button-band .trade-button{font-size:calc(15 * var(--u));overflow:hidden;text-overflow:clip;white-space:nowrap;color:#dcebf1}
.native-button-band .hq-button{width:calc(33 * var(--u));font-size:calc(13 * var(--u))}
.chart-card .native-button-band .trade-button.on{font-size:calc(15 * var(--u))}
.chart-card .native-button-band .trade-button.awaiting{background:#49422d;color:#ffedb9;border-color:#897044;opacity:1;font-size:calc(12 * var(--u))}
.chart-card .native-button-band .trade-button.accepted:disabled{opacity:1;animation:none;background:#83cddb;color:#102d38;border-color:#0e1b23}
.chart-grid .native-button-band .risk-arrow{font:calc(12 * var(--u))/1 'Segoe UI Symbol',sans-serif}
.native-button-band .rr-button:disabled{opacity:1;color:#78939f;cursor:default;box-shadow:none;background:#172a33}
.chart-grid .chart-card .panel-side{
  width:calc(75 * var(--u));height:calc(53 * var(--u));display:grid;grid-template-rows:calc(18 * var(--u)) calc(17 * var(--u)) calc(18 * var(--u));
  justify-content:stretch;align-items:stretch;padding:0;gap:0;border:0;
  border-radius:3px;background:#1b2b35;color:#a9c1cd;
  box-shadow:none;font-family:Calibri,'Segoe UI',Arial,sans-serif;overflow:hidden;
}
.chart-grid .chart-card .swaps-panel{grid-column:1;grid-row:1}
.chart-grid .chart-card .right-panel{grid-column:5;grid-row:1}
.chart-grid.expanded .chart-card .kraft-panel{grid-template-columns:calc(75 * var(--u)) 0 minmax(0,calc(332 * var(--u))) 0 calc(75 * var(--u));justify-content:center}
.chart-grid .panel-side .side-label{
  display:flex;align-items:center;justify-content:center;border:0;border-bottom:1px solid #35505d;
  background:#1e3440;color:#bbd2dc;font:600 calc(12 * var(--u))/calc(16 * var(--u)) Calibri,'Segoe UI',Arial,sans-serif;letter-spacing:0;
}
.chart-grid .panel-side .swap-line,.chart-grid .right-panel .panel-value,.chart-grid .right-panel .panel-sub{
  display:block;align-self:center;font-size:calc(12 * var(--u));font-weight:400;line-height:calc(17 * var(--u));white-space:nowrap;color:#a9c1cd;
}
.chart-grid .right-panel[data-kind=PnL]{grid-template-rows:calc(18 * var(--u)) calc(22 * var(--u)) calc(13 * var(--u))}
.chart-grid .right-panel[data-kind=PnL] .panel-value{font-size:calc(23 * var(--u));line-height:calc(24 * var(--u));font-weight:400}
.chart-grid .right-panel[data-kind=PnL] .panel-sub{font-size:calc(11 * var(--u));line-height:calc(13 * var(--u))}
.positive{color:#77cbb0!important}.negative{color:#ed9486!important}
.chart-grid .panel-side.panel-stale{opacity:1}
.chart-caption .risk-value{font-variant-numeric:tabular-nums;white-space:nowrap}
.chart-grid .chart-watermark{font-size:clamp(100px,42cqw,260px);letter-spacing:-.06em}
.chart-grid.expanded .chart-watermark{font-size:clamp(160px,32cqw,420px)}
.chart-overlay [data-handle],.chart-overlay [data-fibo-hit]{touch-action:none}

.chart-card .chart-caption[hidden]{display:none}

/* Long press is handled by the chart; normal scrolling stays available before it activates. */
.chart-body{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.placing-fibo .chart-body{cursor:default}

/* One frame, a shared typographic grid and vector arrows instead of font glyphs. */
.chart-grid .chart-card .panel-side{
  grid-template-rows:calc(16 * var(--u)) minmax(0,1fr);border:1px solid #304953;
  border-radius:calc(4 * var(--u));background:#1b2b35;
  box-shadow:none;overflow:hidden;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.chart-grid .panel-side .side-label{
  background:#233843;border-bottom:1px solid #304953;font:600 calc(10 * var(--u))/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:calc(.55 * var(--u));color:#bddeea;
}
.panel-arrow{display:block;width:calc(11 * var(--u));height:calc(19 * var(--u));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;color:#86a9ba}
.panel-arrow[data-direction=down]{transform:rotate(180deg)}
.panel-arrow[data-direction=none]{display:none}
.swap-body{display:grid;grid-template-columns:calc(15 * var(--u)) minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:calc(4 * var(--u));padding:calc(2 * var(--u)) calc(5 * var(--u));align-items:center;text-align:left}
.swap-direction{grid-column:1;grid-row:1 / 3;width:calc(14 * var(--u));height:calc(27 * var(--u));justify-self:center}
.swap-heading{grid-column:2;grid-row:1;font-size:calc(10.5 * var(--u));font-weight:550;line-height:1;white-space:nowrap}
.swap-amount{grid-column:2;grid-row:2;font-size:calc(10.5 * var(--u));font-weight:650;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:calc(-.2 * var(--u))}
.swap-empty{display:none;grid-column:1/-1;grid-row:1/3;align-items:center;justify-content:space-around;height:100%}
.swaps-panel[data-direction=none] .swap-empty{display:flex}
.swaps-panel[data-direction=none] .swap-heading,.swaps-panel[data-direction=none] .swap-amount{display:none}
.swaps-panel[data-direction=down] .swap-heading{grid-row:2}
.swaps-panel[data-direction=down] .swap-amount{grid-row:1}
.swaps-panel[data-direction=both] .swap-body{grid-template-columns:minmax(0,1fr);text-align:center}
.swaps-panel[data-direction=both] .swap-heading,.swaps-panel[data-direction=both] .swap-amount{grid-column:1;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:calc(-.2 * var(--u))}
.right-body{display:grid;grid-template-rows:1fr 1fr;padding:calc(2 * var(--u)) calc(5 * var(--u));min-height:0}
.metric-row{display:flex;align-items:center;justify-content:center;min-width:0}
.metric-row.has-arrow{display:grid;grid-template-columns:calc(9 * var(--u)) minmax(0,1fr);column-gap:calc(4 * var(--u));text-align:left}
.metric-row .panel-arrow{width:calc(9 * var(--u));height:calc(13 * var(--u));stroke-width:2.4}
.chart-grid .right-panel .panel-value,.chart-grid .right-panel .panel-sub{font:600 calc(10.5 * var(--u))/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:calc(-.2 * var(--u))}
.chart-grid .right-panel[data-kind=PnL]{grid-template-rows:calc(16 * var(--u)) minmax(0,1fr)}
.chart-grid .right-panel[data-kind=PnL] .right-body{grid-template-rows:minmax(0,1fr) calc(10 * var(--u));padding:calc(1 * var(--u)) calc(4 * var(--u))}
.chart-grid .right-panel[data-kind=PnL] .panel-value{font-size:calc(21 * var(--u));font-weight:550;line-height:1}
.chart-grid .right-panel[data-kind=PnL] .panel-sub{font-size:calc(10 * var(--u));line-height:1;color:#a8c4d0}
@media(hover:hover) and (pointer:fine){
 .chart-grid .chart-card .panel-side:hover{border-color:#517280;background:#334d5b}
}
.chart-grid .chart-card .panel-side:active{border-color:#83cddb;background:#334d5b}

.chart-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.chart-background line{vector-effect:non-scaling-stroke}
.chart-surface{z-index:1}
.chart-grid .chart-watermark{z-index:0}
.drawing .chart-body,.drawing .chart-body canvas{touch-action:none}

/* Touch shortcuts stay in the chart frame, in one row beside the symbol. */
.chart-quick-actions{display:none}
@media(pointer:coarse),(max-width:590px){
 .chart-head{gap:3px;padding:0 4px;min-height:39px;height:39px}
 .chart-head .asset-mark{display:none}
 .chart-head .symbol-block{flex:1;overflow:hidden}
 .chart-head .symbol-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .chart-head-actions{flex:none;gap:2px}
 .chart-head .tf-select{max-width:48px;padding-left:2px}
 .chart-quick-actions{display:flex;flex:none;gap:2px;align-items:center}
 .chart-key{width:24px;height:34px;padding:0;border:1px solid transparent;border-radius:5px;background:#1b2b35;color:#aec2cf;font-size:11px;font-weight:600;box-shadow:none;touch-action:manipulation}
 .chart-key[aria-pressed=true]{background:#83cddb;border-color:transparent;color:#102d38;box-shadow:none}
 .chart-key:active:not(:disabled){background:#bfedf3;border-color:transparent;color:#112d37;box-shadow:none}
 .chart-key:disabled{opacity:.28}
 .chart-key[data-action=delete-fibo]:active:not(:disabled){background:#553039;border-color:#cb8593;color:#ffd9e0}
}
@media(hover:hover) and (pointer:fine){
 .chart-key:hover:not(:disabled):not(:active){background:#334d5b;color:#eefbff}
 .chart-key[aria-pressed=true]:hover:not(:disabled):not(:active){background:#a0e1eb;color:#102d38}
}

.notification-dialog{max-height:90dvh;overflow:auto}.notification-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.notification-settings label{display:flex;align-items:center;gap:8px}.notification-settings input[type=number]{max-width:85px}.activity-list{display:grid;gap:8px;margin-top:24px}.activity-list .order-history{display:grid;gap:5px;text-align:left;white-space:normal}.activity-list small{opacity:.65}.notification-dialog>div[data-settings]>.text-button{margin:10px}
/* Tool actions remain reachable as their labels wrap on narrow dialogs. */
.plan-dialog .dialog-actions{flex-wrap:wrap;justify-content:flex-start}.plan-dialog .dialog-actions button{max-width:100%;white-space:normal}

.position-close{position:absolute;z-index:9;width:24px;height:24px;padding:0;border:1px solid #fff8;border-radius:4px;background:#ce334b;color:#fff;font-size:22px;font-weight:600;line-height:20px;cursor:pointer;touch-action:manipulation}
@media(hover:hover) and (pointer:fine){.position-close:hover{background:#ea405a}}.position-close:disabled{opacity:.5;cursor:wait;background:#ce334b;color:#fff}.position-close[hidden]{display:none}
@media(pointer:coarse){.position-close{width:30px;height:30px;line-height:26px}}

/* Persistent Station/Risk navigation. Hidden Station retains its measured size,
   chart instances, subscriptions, drawings and scroll position. */
:root{--station-nav-height:calc(78px + env(safe-area-inset-bottom,0px))}
.station-view{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.station-view.station-inactive{visibility:hidden;pointer-events:none}
.risk-view{position:absolute;inset:0 0 var(--station-nav-height);background:#080b09;min-width:0;z-index:15}
.risk-view iframe{display:block;border:0;width:100%;height:100%;background:#080b09}
.station-navigation{height:var(--station-nav-height);min-height:var(--station-nav-height);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;align-items:stretch;background:#0b1116;z-index:20;position:relative}
.station-navigation,.station-navigation *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.station-tab-bar{display:flex;gap:4px;width:min(100%,480px);padding:3px;border:1px solid #2e3a41;border-radius:34px;background:#141b20;box-shadow:0 2px 12px #0003}
.station-navigation button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:44px;padding:5px 4px;font-size:11px;font-weight:500;line-height:1.2;letter-spacing:.02em;color:#a4b1b8;border:0;border-radius:28px;background:transparent}
.station-navigation button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.station-navigation button span{pointer-events:none}
.station-navigation button.selected{color:#78d4e4;background:#263b45;box-shadow:inset 0 1px 0 #ffffff08}
.station-navigation button:active{background:#304650}
.station-navigation button:focus-visible{outline:2px solid #78d4e4;outline-offset:1px}
/* Toasts stay centered in the viewport, independent of navigation height. */
@media(max-width:590px){.status-bar{min-height:27px}}

.position-rule-form{display:grid;gap:14px;margin:16px 0}.position-rule-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #2c4654;border-radius:6px;padding:14px}.position-rule-form legend,.position-rule-form summary{font-size:12px;color:#bcd2dd}.position-rule-form label{display:flex;align-items:center;gap:8px;font-size:12px;color:#aebfca}.position-rule-form .rule-value{flex-direction:column;align-items:stretch}.position-rule-form input[type=number],.position-rule-form select{min-width:0;max-width:100%;border:1px solid #344d5b;background:#0e1820;color:#d9e8ef;border-radius:5px;padding:9px;font-size:13px}.position-rule-form details fieldset{margin-top:12px}.position-rule-form summary{cursor:pointer;padding:8px 0}.position-rule-form>.primary-button{justify-self:end}@media(max-width:420px){.position-rule-form fieldset{grid-template-columns:1fr}}

.position-confirm-dialog{width:420px}.position-confirm-dialog h2{margin:0 0 12px;font-size:22px}.position-confirm-dialog strong{display:block;margin:14px 0;font-size:16px}.danger-button{background:#ce334b;border-color:#e45269;color:#fff}
@media(hover:hover) and (pointer:fine){.danger-button:hover{background:#e4425b;color:#fff}}
.retained-hq-manage{position:absolute;z-index:8;right:10px;bottom:12px;padding:6px 10px;border:1px solid #4f9d89;border-radius:5px;background:#153a30;color:#c2eddf;font:600 11px system-ui;cursor:pointer}.retained-hq-manage:disabled{opacity:.5;cursor:default}

/* Selected-account inventory count: full and partial distribution remain distinct. */
.chart-account-count{position:static;flex:none;white-space:nowrap;font-size:9px;font-variant-numeric:tabular-nums;line-height:1.2;padding:1px 3px;border:1px solid var(--positive,#527566);border-radius:3px;color:var(--text,#b5dec6)}.chart-account-count.incomplete,.chart-account-count.stale{border-color:var(--warning,#8e7147)}.chart-account-count[hidden]{display:none}
