.fx{--fx-bg:var(--bg);--fx-panel:var(--bg-card);--fx-panel-2:#f7f8f2;--fx-line:var(--border-md);--fx-line-2:#0f142833;--fx-text:var(--text);--fx-soft:var(--text-soft);--fx-dim:var(--text-dim);--fx-label:var(--text-label);--fx-buy:var(--green);--fx-buy-bg:#16a34a1a;--fx-sell:var(--red);--fx-sell-bg:#dc262617;--fx-warn:var(--orange);--fx-warn-bg:#d977061a;--fx-neutral:#64748b;--fx-neutral-bg:#64748b1a;--fx-accent:#7e9b00;background:var(--fx-bg);color:var(--fx-text);min-height:100%;font-family:var(--font-sans)}.fx-panel{background:var(--fx-panel);border:1px solid var(--fx-line)}.fx-panel-2{background:var(--fx-panel-2);border:1px solid var(--border)}.fx-head{border-bottom:1px solid var(--fx-line);background:#f7f8f2;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 10px;display:flex}.fx-title{letter-spacing:.12em;text-transform:uppercase;color:var(--fx-text);align-items:center;font-size:10.5px;font-weight:800;line-height:1.2;display:flex}.fx-title:before{content:"";background:var(--fx-accent);vertical-align:-1px;flex-shrink:0;width:3px;height:10px;margin-right:7px;display:inline-block}.fx-sub{color:var(--fx-dim);font-size:10.5px;line-height:1.3}.fx-label{letter-spacing:.1em;text-transform:uppercase;color:var(--fx-label);font-size:9.5px;font-weight:800;line-height:1.2}.fx-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.fx-dim{color:var(--fx-dim)}.fx-soft{color:var(--fx-soft)}.fx-buy{color:var(--fx-buy)}.fx-sell{color:var(--fx-sell)}.fx-warn{color:var(--fx-warn)}.fx-neutral{color:var(--fx-neutral)}.fx-btn{height:28px;color:var(--fx-text);background:var(--fx-panel);border:1px solid var(--fx-line);white-space:nowrap;border-radius:0;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.fx-btn:hover:not(:disabled){border-color:var(--fx-accent);background:var(--bg-hover)}.fx-btn:disabled{opacity:.55;cursor:default}.fx-btn-primary{background:var(--gold-bright);color:#1b2a05;border-color:#a8cc00}.fx-btn-primary:hover:not(:disabled){background:#c6f000}.fx-chip{letter-spacing:.04em;height:24px;color:var(--fx-dim);border:1px solid var(--fx-line);white-space:nowrap;background:0 0;border-radius:0;align-items:center;gap:5px;padding:0 9px;font-size:10.5px;font-weight:800;display:inline-flex}.fx-chip:hover{color:var(--fx-text);border-color:var(--fx-accent)}.fx-chip[data-on=true]{color:#1b2a05;border-color:var(--fx-accent);background:var(--gold-dim)}.fx-badge{letter-spacing:.03em;white-space:nowrap;border:1px solid;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.fx-input{height:30px;color:var(--fx-text);background:var(--fx-panel);border:1px solid var(--fx-line-2);border-radius:0;outline:none;padding:0 9px;font-size:12px}.fx-input:focus{border-color:var(--fx-accent)}.fx-tabs{scrollbar-width:none;overscroll-behavior-x:contain;gap:0;display:flex;overflow-x:auto}.fx-tabs::-webkit-scrollbar{display:none}.fx-tab{letter-spacing:.1em;text-transform:uppercase;height:40px;color:var(--fx-dim);border-right:1px solid var(--border);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 15px;font-size:12px;font-weight:800;display:inline-flex}.fx-tab:hover{color:var(--fx-text);background:var(--bg-hover)}.fx-tab[data-on=true]{color:var(--fx-text);background:var(--fx-panel);border-bottom-color:var(--fx-accent)}.fx .fx-table{border-collapse:collapse;width:100%;font-size:11.5px}.fx .fx-table thead th{letter-spacing:.1em;text-transform:uppercase;color:var(--fx-label);border-bottom:1px solid var(--fx-line);text-align:left;white-space:nowrap;background:#f7f8f2;padding:7px 8px;font-size:9.5px;font-weight:800}.fx .fx-table tbody td{border-bottom:1px solid var(--border);white-space:nowrap;color:var(--fx-text);padding:6px 8px;font-size:11.5px}.fx .fx-table tbody tr{cursor:pointer}.fx .fx-table tbody tr:hover td{background:var(--bg-hover)}.fx-tip{display:inline-flex;position:relative}.fx-tip-btn{width:16px;height:16px;color:var(--fx-dim);border:1px solid var(--fx-line);background:var(--fx-panel);justify-content:center;align-items:center;font-size:9.5px;font-weight:900;display:inline-flex}.fx-tip-btn:hover{color:#1b2a05;border-color:var(--fx-accent);background:var(--gold-dim)}.fx-tip-pop{z-index:40;letter-spacing:0;text-transform:none;width:260px;max-width:80vw;color:var(--fx-text);background:var(--bg-card);border:1px solid var(--fx-line);box-shadow:var(--shadow-lift);padding:10px 12px;font-size:11px;font-weight:500;line-height:1.5;position:absolute;top:22px;left:50%;transform:translate(-50%)}.fx-scroll{scrollbar-width:thin;scrollbar-color:var(--fx-line-2) transparent}.fx-pulse{animation:1.8s ease-in-out infinite fx-pulse}@keyframes fx-pulse{50%{box-shadow:0 0 0 6px #0000}}.fx-skel{background:linear-gradient(90deg,#f7f8f2,#ebeee0,#f7f8f2) 0 0/200% 100%;animation:1.4s infinite fx-skel}@keyframes fx-skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.fx-pulse,.fx-skel{animation:none}}.fx .spd-unzoom table{width:auto}.fx .spd-unzoom td{background:0 0;border:0;height:auto;padding:0}.fx-chart{height:var(--fx-mh)}@media (min-width:640px){.fx-chart{height:calc(var(--fx-ch) * var(--spd-z,1))}}@media (max-width:639px){.fx-tab{letter-spacing:.06em;gap:5px;height:36px;padding:0 10px;font-size:10.5px}.fx-head{min-height:32px;padding:6px 9px}.fx-btn{height:28px;padding:0 9px}.fx .fx-table thead th,.fx .fx-table tbody td{padding:6px 7px}}.fx .fx-matrix th,.fx .fx-matrix td{border:0;min-width:44px;height:36px;padding:0 2px;font-size:11px}.fx .fx-matrix thead th{background:0 0;height:auto;padding-bottom:4px}@media (max-width:639px){.fx .fx-matrix th,.fx .fx-matrix td{min-width:34px;height:28px;font-size:9.5px}}.fx-clock{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.fx-clock-main{align-items:center;gap:10px;min-width:0;display:flex}.fx-clock-dot{background:var(--fx-sell);width:9px;height:9px;box-shadow:0 0 0 3px var(--fx-sell-bg);border-radius:99px;flex-shrink:0}.fx-clock-dot[data-open=true]{background:var(--fx-buy);box-shadow:0 0 0 3px var(--fx-buy-bg);animation:2s ease-in-out infinite fx-pulse}.fx-clock-sess{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fx-clock-chip{border:1px solid var(--fx-line);background:var(--fx-panel);opacity:.7;align-items:center;gap:6px;height:26px;padding:0 8px 0 0;font-size:11px;display:inline-flex}.fx-clock-chip[data-on=true]{opacity:1;border-color:var(--c);background:color-mix(in srgb, var(--c) 9%, var(--fx-panel))}.fx-clock-bar{background:var(--c);align-self:stretch;width:3px}.fx-clock-live{letter-spacing:.08em;color:var(--c);font-size:9px;font-weight:900}@media (max-width:640px){.fx-clock-chip{height:24px;font-size:10.5px}.fx-clock-sess{gap:4px}}.fx-tmap-dir{letter-spacing:.08em;align-items:center;height:22px;padding:0 8px;font-size:10.5px;font-weight:900;display:inline-flex}.fx-tmap-dir[data-dir=buy]{color:var(--fx-buy);background:var(--fx-buy-bg)}.fx-tmap-dir[data-dir=sell]{color:var(--fx-sell);background:var(--fx-sell-bg)}.fx-tmap-row{border:1px solid var(--fx-line);background:var(--fx-panel);align-items:center;gap:8px;min-width:0;padding:0 8px 0 6px;display:flex;position:absolute;right:0}.fx-tmap-row[data-tone=entry]{border-color:color-mix(in srgb, var(--fx-accent) 55%, transparent);background:color-mix(in srgb, var(--fx-accent) 7%, var(--fx-panel))}.fx-tmap-row[data-tone=level]{opacity:.8;background:0 0;border-style:dashed}.fx-tmap-tag{text-align:center;letter-spacing:.08em;min-width:40px;color:var(--c);background:color-mix(in srgb, var(--c) 11%, transparent);flex-shrink:0;padding:2px 0;font-size:9.5px;font-weight:900}.fx-tmap-rrbar{gap:2px;height:6px;display:flex}.fx-tmap-rrbar>span{border-radius:1px}.fx{--fx-z:1.06}@media (min-width:1024px){.fx{--fx-z:1.12}}.fx-wrap>:not(.fixed){zoom:var(--fx-z)}.fx-wrap .spd-unzoom{zoom:calc(1 / (var(--spd-z,1) * var(--fx-z)))}@media (min-width:640px){.fx-wrap .fx-chart{height:calc(var(--fx-ch) * var(--spd-z,1) * var(--fx-z))}}@media (max-width:639px){.fx-wrap .fx-chart{height:calc(var(--fx-mh) * var(--fx-z))}}
