1301 lines
29 KiB
CSS
1301 lines
29 KiB
CSS
/*
|
|
* BTC 5m Terminal UI
|
|
* Standalone visual layer: only covers typography, layering, color, and responsiveness; does not change any business JS bindings.
|
|
*/
|
|
|
|
:root {
|
|
--terminal-bg: #04070b;
|
|
--terminal-ink: #f2f7ff;
|
|
--terminal-muted: #9aa8b8;
|
|
--terminal-faint: #5f6f83;
|
|
--terminal-line: rgba(151, 166, 188, 0.15);
|
|
--terminal-line-strong: rgba(151, 166, 188, 0.28);
|
|
--terminal-card: rgba(9, 15, 24, 0.78);
|
|
--terminal-card-strong: rgba(13, 22, 34, 0.94);
|
|
--terminal-card-soft: rgba(255, 255, 255, 0.045);
|
|
--terminal-green: #2ee6a6;
|
|
--terminal-red: #ff6474;
|
|
--terminal-amber: #f5bd4f;
|
|
--terminal-blue: #62bdff;
|
|
--terminal-cyan: #41e8ff;
|
|
--terminal-radius: 20px;
|
|
--terminal-radius-lg: 28px;
|
|
--terminal-shadow: 0 22px 70px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.055);
|
|
--terminal-shadow-soft: 0 14px 44px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.045);
|
|
--terminal-font: "Avenir Next", "DIN Alternate", "PingFang SC", "Microsoft YaHei", sans-serif;
|
|
--terminal-num: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;
|
|
}
|
|
|
|
html {
|
|
background: var(--terminal-bg);
|
|
}
|
|
|
|
body {
|
|
min-width: 0;
|
|
color: var(--terminal-ink);
|
|
font-family: var(--terminal-font);
|
|
letter-spacing: 0.01em;
|
|
background:
|
|
radial-gradient(circle at 8% -8%, rgba(98, 189, 255, 0.24), transparent 30rem),
|
|
radial-gradient(circle at 92% 2%, rgba(46, 230, 166, 0.16), transparent 34rem),
|
|
radial-gradient(circle at 55% 110%, rgba(245, 189, 79, 0.11), transparent 24rem),
|
|
linear-gradient(135deg, #04070b 0%, #07111a 48%, #060a10 100%);
|
|
}
|
|
|
|
body::before {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
background-image:
|
|
linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
|
|
background-size: 44px 44px;
|
|
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 76%);
|
|
}
|
|
|
|
button,
|
|
input {
|
|
font-family: inherit;
|
|
}
|
|
|
|
input {
|
|
color-scheme: dark;
|
|
}
|
|
|
|
.up { color: var(--terminal-green) !important; }
|
|
.down { color: var(--terminal-red) !important; }
|
|
.yellow { color: var(--terminal-amber) !important; }
|
|
.gray { color: var(--terminal-faint) !important; }
|
|
|
|
::-webkit-scrollbar {
|
|
width: 9px;
|
|
height: 9px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: rgba(255, 255, 255, 0.028);
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: rgba(151, 166, 188, 0.26);
|
|
border: 2px solid rgba(4, 7, 11, 0.85);
|
|
border-radius: 999px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(151, 166, 188, 0.42);
|
|
}
|
|
|
|
#header,
|
|
#price-bar,
|
|
#strat-bar,
|
|
#observe-bar,
|
|
#main-wrap,
|
|
#pm-pnl,
|
|
#app-footer {
|
|
width: calc(100% - 32px);
|
|
max-width: 1880px;
|
|
margin-left: auto !important;
|
|
margin-right: auto !important;
|
|
}
|
|
|
|
/* Top Command Bar */
|
|
#header {
|
|
position: sticky;
|
|
top: 12px;
|
|
z-index: 5000;
|
|
margin-top: 14px !important;
|
|
padding: 12px 16px !important;
|
|
gap: 12px 14px !important;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: var(--terminal-radius-lg) !important;
|
|
background:
|
|
linear-gradient(135deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.022)),
|
|
rgba(7, 12, 20, 0.96) !important;
|
|
box-shadow: var(--terminal-shadow);
|
|
backdrop-filter: none;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
#header:has(.result-dot:hover),
|
|
#header:has(.order-latency-trigger:hover) {
|
|
z-index: 8000;
|
|
}
|
|
|
|
#header .window-info {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
color: var(--terminal-ink);
|
|
font-size: 16px !important;
|
|
font-weight: 900 !important;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
|
|
#header .window-info::before {
|
|
content: "";
|
|
width: 10px;
|
|
height: 32px;
|
|
flex: 0 0 auto;
|
|
border-radius: 999px;
|
|
background: linear-gradient(180deg, var(--terminal-green), var(--terminal-blue));
|
|
box-shadow: 0 0 24px rgba(46, 230, 166, 0.44);
|
|
}
|
|
|
|
#header .window-info span {
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
#app-version {
|
|
padding: 2px 7px;
|
|
border: 1px solid rgba(151, 166, 188, 0.13);
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.065);
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
#header > a {
|
|
padding: 6px 10px;
|
|
border: 1px solid rgba(245, 189, 79, 0.24);
|
|
border-radius: 999px;
|
|
background: rgba(245, 189, 79, 0.08);
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
#recent-results {
|
|
gap: 7px !important;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.result-dot {
|
|
width: 24px !important;
|
|
height: 24px !important;
|
|
border: 1px solid var(--terminal-line);
|
|
background: rgba(255, 255, 255, 0.055);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
}
|
|
|
|
.result-dot.up {
|
|
background: linear-gradient(135deg, rgba(46, 230, 166, 0.94), rgba(14, 128, 94, 0.94)) !important;
|
|
}
|
|
|
|
.result-dot.down {
|
|
background: linear-gradient(135deg, rgba(255, 100, 116, 0.96), rgba(138, 38, 52, 0.96)) !important;
|
|
}
|
|
|
|
#conn-dot {
|
|
width: 10px !important;
|
|
height: 10px !important;
|
|
background: var(--terminal-green) !important;
|
|
box-shadow: 0 0 0 5px rgba(46, 230, 166, 0.12), 0 0 22px rgba(46, 230, 166, 0.76) !important;
|
|
}
|
|
|
|
#conn-dot.disconnected {
|
|
background: var(--terminal-red) !important;
|
|
box-shadow: 0 0 0 5px rgba(255, 100, 116, 0.12), 0 0 20px rgba(255, 100, 116, 0.74) !important;
|
|
}
|
|
|
|
#ws-status {
|
|
gap: 7px !important;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.ws-light,
|
|
#kline-status {
|
|
min-height: 26px;
|
|
padding: 5px 9px;
|
|
gap: 6px;
|
|
border: 1px solid rgba(151, 166, 188, 0.12);
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.045);
|
|
color: var(--terminal-muted) !important;
|
|
font-size: 11px !important;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.ws-light .dot {
|
|
width: 7px !important;
|
|
height: 7px !important;
|
|
background: var(--terminal-red);
|
|
box-shadow: 0 0 10px rgba(255, 100, 116, 0.75);
|
|
}
|
|
|
|
.ws-light.on .dot,
|
|
.ws-light.http-fast .dot {
|
|
background: var(--terminal-green) !important;
|
|
box-shadow: 0 0 12px rgba(46, 230, 166, 0.78) !important;
|
|
}
|
|
|
|
.ws-light.http-slow .dot {
|
|
background: var(--terminal-amber) !important;
|
|
box-shadow: 0 0 12px rgba(245, 189, 79, 0.72) !important;
|
|
}
|
|
|
|
.mode-toggle {
|
|
margin-left: 0 !important;
|
|
padding: 5px 6px 5px 11px !important;
|
|
border-color: var(--terminal-line) !important;
|
|
background: rgba(255, 255, 255, 0.045) !important;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
.mode-toggle-label {
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
.mode-toggle-btn {
|
|
border-color: rgba(151, 166, 188, 0.22) !important;
|
|
background: rgba(255, 255, 255, 0.08) !important;
|
|
}
|
|
|
|
.mode-toggle-btn::after {
|
|
background: #d7e4f2 !important;
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.45);
|
|
}
|
|
|
|
.mode-toggle-btn.on {
|
|
border-color: rgba(46, 230, 166, 0.65) !important;
|
|
background: rgba(46, 230, 166, 0.18) !important;
|
|
}
|
|
|
|
.mode-toggle-btn.on::after {
|
|
background: var(--terminal-green) !important;
|
|
}
|
|
|
|
/* Decision Strip */
|
|
#price-bar {
|
|
margin-top: 14px !important;
|
|
padding: 0 !important;
|
|
display: grid !important;
|
|
grid-template-columns: minmax(190px, 1.25fr) minmax(190px, 1.25fr) repeat(3, minmax(145px, 0.82fr)) minmax(132px, 0.72fr);
|
|
gap: 12px !important;
|
|
border: 0 !important;
|
|
background: transparent !important;
|
|
}
|
|
|
|
.price-item {
|
|
position: relative;
|
|
min-height: 104px;
|
|
padding: 17px 18px !important;
|
|
justify-content: space-between;
|
|
overflow: hidden;
|
|
border: 1px solid var(--terminal-line);
|
|
border-radius: var(--terminal-radius);
|
|
background:
|
|
linear-gradient(145deg, rgba(255, 255, 255, 0.088), rgba(255, 255, 255, 0.018)),
|
|
var(--terminal-card) !important;
|
|
box-shadow: var(--terminal-shadow-soft);
|
|
}
|
|
|
|
.price-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
background:
|
|
linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 34%),
|
|
radial-gradient(circle at 85% 18%, rgba(98, 189, 255, 0.13), transparent 36%);
|
|
}
|
|
|
|
.price-item:nth-child(1),
|
|
.price-item:nth-child(2) {
|
|
min-height: 122px;
|
|
}
|
|
|
|
.price-item:nth-child(1)::before {
|
|
background:
|
|
linear-gradient(120deg, rgba(245, 189, 79, 0.13), transparent 38%),
|
|
radial-gradient(circle at 84% 22%, rgba(245, 189, 79, 0.18), transparent 36%);
|
|
}
|
|
|
|
.price-item:nth-child(2)::before {
|
|
background:
|
|
linear-gradient(120deg, rgba(46, 230, 166, 0.11), transparent 38%),
|
|
radial-gradient(circle at 84% 22%, rgba(65, 232, 255, 0.15), transparent 36%);
|
|
}
|
|
|
|
.price-label,
|
|
.compact-label {
|
|
position: relative;
|
|
z-index: 1;
|
|
color: var(--terminal-faint) !important;
|
|
font-size: 10px !important;
|
|
font-weight: 900;
|
|
letter-spacing: 0.14em !important;
|
|
}
|
|
|
|
.price-val,
|
|
#btc-diff,
|
|
#btc-diff-bn,
|
|
#btc-vol {
|
|
position: relative;
|
|
z-index: 1;
|
|
color: var(--terminal-ink);
|
|
font-family: var(--terminal-num);
|
|
font-size: clamp(21px, 1.7vw, 28px) !important;
|
|
font-weight: 900 !important;
|
|
letter-spacing: -0.045em;
|
|
}
|
|
|
|
.price-item:nth-child(1) .price-val,
|
|
.price-item:nth-child(2) .price-val {
|
|
font-size: clamp(26px, 2.1vw, 36px) !important;
|
|
}
|
|
|
|
#remaining {
|
|
color: var(--terminal-amber) !important;
|
|
text-shadow: 0 0 24px rgba(245, 189, 79, 0.35);
|
|
}
|
|
|
|
#remaining.ending {
|
|
color: var(--terminal-red) !important;
|
|
text-shadow: 0 0 24px rgba(255, 100, 116, 0.55);
|
|
}
|
|
|
|
/* Strategy And Observability */
|
|
#strat-bar,
|
|
#observe-bar {
|
|
position: relative;
|
|
margin-top: 12px !important;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: var(--terminal-radius) !important;
|
|
background:
|
|
linear-gradient(135deg, rgba(255, 255, 255, 0.062), rgba(255, 255, 255, 0.018)),
|
|
rgba(8, 14, 23, 0.96) !important;
|
|
box-shadow: var(--terminal-shadow-soft);
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
#strat-bar {
|
|
padding: 14px 16px !important;
|
|
z-index: 4000;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
#strat-bar:has(.strat-tip:hover),
|
|
#strat-bar:has(.tg-help-trigger:hover),
|
|
#strat-bar:has(#tg-config-body[style*="display: flex"]),
|
|
#strat-bar:has(.strat-popup.open) {
|
|
z-index: 9000;
|
|
}
|
|
|
|
#observe-bar {
|
|
padding: 10px 14px !important;
|
|
color: var(--terminal-muted) !important;
|
|
z-index: 200;
|
|
}
|
|
|
|
.strat-row {
|
|
position: relative;
|
|
z-index: 1;
|
|
align-items: center;
|
|
padding: 4px 0;
|
|
}
|
|
|
|
.strat-row:has(.strat-tip:hover),
|
|
.strat-row:has(.tip-box:hover),
|
|
.strat-row:has(.strat-popup.open) {
|
|
z-index: 100010;
|
|
}
|
|
|
|
.strat-group {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.strat-group:has(.strat-tip:hover),
|
|
.strat-group:has(.tip-box:hover) {
|
|
z-index: 100011;
|
|
}
|
|
|
|
.strat-group label {
|
|
position: relative;
|
|
z-index: 1;
|
|
padding: 6px 10px;
|
|
border: 1px solid rgba(151, 166, 188, 0.12);
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.035);
|
|
color: var(--terminal-muted);
|
|
transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
|
|
}
|
|
|
|
.strat-group label:hover {
|
|
z-index: 100012;
|
|
transform: translateY(-1px);
|
|
border-color: rgba(245, 189, 79, 0.32);
|
|
background: rgba(245, 189, 79, 0.06);
|
|
}
|
|
|
|
.strat-group input[type=checkbox] + .strat-tip::before {
|
|
color: rgba(151, 166, 188, 0.42);
|
|
}
|
|
|
|
.strat-group input[type=checkbox]:checked + .strat-tip::before,
|
|
.strat-group label:has(input:checked) {
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
.strat-amt {
|
|
height: 26px;
|
|
border-radius: 9px !important;
|
|
}
|
|
|
|
#strat-status {
|
|
min-height: 30px;
|
|
padding: 6px 11px;
|
|
border: 1px solid rgba(245, 189, 79, 0.18);
|
|
border-radius: 999px;
|
|
background: rgba(245, 189, 79, 0.075);
|
|
}
|
|
|
|
#strat-state-text {
|
|
font-weight: 900 !important;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
|
|
#strat-state-text.idle { color: var(--terminal-faint) !important; }
|
|
#strat-state-text.scan { color: var(--terminal-muted) !important; }
|
|
#strat-state-text.active { color: var(--terminal-amber) !important; }
|
|
#strat-state-text.hold { color: var(--terminal-green) !important; }
|
|
#strat-state-text.done { color: var(--terminal-blue) !important; }
|
|
#strat-state-text.fail { color: var(--terminal-red) !important; }
|
|
|
|
.strat-divider {
|
|
background: var(--terminal-line-strong) !important;
|
|
}
|
|
|
|
/* Workbench */
|
|
#main-wrap {
|
|
position: relative;
|
|
z-index: 100;
|
|
margin-top: 14px !important;
|
|
padding: 0 !important;
|
|
display: grid !important;
|
|
grid-template-columns: minmax(0, 1fr) 380px;
|
|
gap: 14px !important;
|
|
align-items: start;
|
|
}
|
|
|
|
#main-wrap:has(.allowance-wrap:hover) {
|
|
z-index: 7000;
|
|
}
|
|
|
|
#book,
|
|
#order-panel,
|
|
#pm-pnl {
|
|
position: relative;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: var(--terminal-radius-lg) !important;
|
|
background:
|
|
linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018)),
|
|
rgba(7, 12, 20, 0.96) !important;
|
|
box-shadow: var(--terminal-shadow);
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
#book {
|
|
z-index: 10;
|
|
padding: 0 !important;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#chart-toggle,
|
|
#book-toggle {
|
|
margin: 0 !important;
|
|
padding: 15px 17px !important;
|
|
border-bottom: 1px solid var(--terminal-line) !important;
|
|
background: rgba(255, 255, 255, 0.018);
|
|
}
|
|
|
|
#chart-toggle:hover,
|
|
#book-toggle:hover {
|
|
border-radius: 0 !important;
|
|
background: rgba(98, 189, 255, 0.075) !important;
|
|
}
|
|
|
|
#chart-toggle .toggle-label,
|
|
#book-toggle .toggle-label {
|
|
color: var(--terminal-muted) !important;
|
|
font-size: 11px !important;
|
|
font-weight: 900;
|
|
letter-spacing: 0.17em !important;
|
|
}
|
|
|
|
#chart-toggle .toggle-label::before,
|
|
#book-toggle .toggle-label::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
margin-right: 8px;
|
|
border-radius: 50%;
|
|
background: var(--terminal-blue);
|
|
box-shadow: 0 0 12px rgba(98, 189, 255, 0.72);
|
|
}
|
|
|
|
#book-toggle .toggle-label::before {
|
|
background: var(--terminal-amber);
|
|
box-shadow: 0 0 12px rgba(245, 189, 79, 0.72);
|
|
}
|
|
|
|
#chart-toggle .toggle-arrow,
|
|
#book-toggle .toggle-arrow {
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
#chart-collapsible {
|
|
max-height: 620px !important;
|
|
}
|
|
|
|
#chart-collapsible.collapsed {
|
|
max-height: 0 !important;
|
|
}
|
|
|
|
#price-chart {
|
|
margin: 12px !important;
|
|
overflow: hidden;
|
|
border: 1px solid rgba(151, 166, 188, 0.12) !important;
|
|
border-radius: 22px;
|
|
background:
|
|
radial-gradient(circle at 68% 14%, rgba(98, 189, 255, 0.13), transparent 34%),
|
|
linear-gradient(180deg, rgba(7, 12, 20, 0.92), rgba(4, 7, 11, 0.94)) !important;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
|
|
}
|
|
|
|
#price-chart canvas {
|
|
height: min(54vh, 560px) !important;
|
|
min-height: 400px;
|
|
}
|
|
|
|
#book-collapsible {
|
|
max-height: 720px !important;
|
|
padding: 0 12px 14px;
|
|
}
|
|
|
|
#book-collapsible.collapsed {
|
|
max-height: 0 !important;
|
|
padding-top: 0 !important;
|
|
padding-bottom: 0 !important;
|
|
}
|
|
|
|
#momentum-bar,
|
|
#spread-bar {
|
|
border-color: var(--terminal-line) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
#momentum-bar {
|
|
margin-top: 10px;
|
|
padding: 9px 10px !important;
|
|
border: 1px solid var(--terminal-line);
|
|
border-radius: 15px;
|
|
background: rgba(255, 255, 255, 0.035);
|
|
}
|
|
|
|
.mom-label,
|
|
.mom-name {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.mom-val {
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
.mom-val.up { color: var(--terminal-green) !important; }
|
|
.mom-val.down { color: var(--terminal-red) !important; }
|
|
.mom-val.flat { color: var(--terminal-faint) !important; }
|
|
|
|
.book-header {
|
|
margin-top: 8px;
|
|
padding: 9px 10px !important;
|
|
color: var(--terminal-faint) !important;
|
|
font-weight: 900;
|
|
}
|
|
|
|
.order-row {
|
|
min-height: 27px;
|
|
align-items: center;
|
|
margin: 2px 0;
|
|
padding: 5px 10px !important;
|
|
border: 1px solid transparent;
|
|
border-radius: 11px !important;
|
|
background: rgba(255, 255, 255, 0.025);
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
.order-row:hover {
|
|
border-color: rgba(151, 166, 188, 0.16);
|
|
background: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.order-row.ask .depth-bar {
|
|
background: linear-gradient(90deg, transparent, rgba(255, 100, 116, 0.58)) !important;
|
|
opacity: 0.2 !important;
|
|
}
|
|
|
|
.order-row.bid .depth-bar {
|
|
background: linear-gradient(90deg, rgba(46, 230, 166, 0.58), transparent) !important;
|
|
opacity: 0.2 !important;
|
|
}
|
|
|
|
.order-row .qty {
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
#spread-bar {
|
|
margin: 8px 0 !important;
|
|
padding: 10px !important;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: 15px;
|
|
background: rgba(255, 255, 255, 0.035);
|
|
}
|
|
|
|
#prob-bar {
|
|
padding: 12px 2px 0 !important;
|
|
}
|
|
|
|
.prob-label {
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
.prob-val {
|
|
font-family: var(--terminal-num);
|
|
font-size: 24px !important;
|
|
}
|
|
|
|
#prob-track {
|
|
height: 10px !important;
|
|
border: 1px solid rgba(151, 166, 188, 0.12);
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.06) !important;
|
|
}
|
|
|
|
#prob-fill-up {
|
|
background: linear-gradient(90deg, var(--terminal-green), var(--terminal-cyan), var(--terminal-amber)) !important;
|
|
box-shadow: 0 0 18px rgba(65, 232, 255, 0.25);
|
|
}
|
|
|
|
/* Order Panel */
|
|
#order-panel {
|
|
position: sticky;
|
|
top: 94px;
|
|
z-index: 60;
|
|
width: auto !important;
|
|
padding: 16px !important;
|
|
gap: 12px !important;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
#order-panel:has(.allowance-wrap:hover) {
|
|
z-index: 7001;
|
|
}
|
|
|
|
#order-panel .panel-title {
|
|
color: var(--terminal-ink) !important;
|
|
font-size: 15px !important;
|
|
font-weight: 900;
|
|
letter-spacing: 0.14em !important;
|
|
}
|
|
|
|
#order-panel > div:first-child {
|
|
padding-bottom: 10px;
|
|
border-bottom: 1px solid var(--terminal-line);
|
|
}
|
|
|
|
#account-block {
|
|
overflow: visible !important;
|
|
padding: 12px !important;
|
|
border: 1px solid rgba(151, 166, 188, 0.14);
|
|
border-radius: 19px !important;
|
|
background: rgba(255, 255, 255, 0.04) !important;
|
|
}
|
|
|
|
.acct-item {
|
|
gap: 8px;
|
|
min-height: 29px;
|
|
}
|
|
|
|
.acct-label,
|
|
.acct-sub,
|
|
#sync-time {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.acct-val {
|
|
font-family: var(--terminal-num);
|
|
color: var(--terminal-ink);
|
|
}
|
|
|
|
.verified-tag {
|
|
border: 1px solid rgba(151, 166, 188, 0.14);
|
|
border-radius: 999px !important;
|
|
background: rgba(255, 255, 255, 0.045) !important;
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.verified-tag.ok {
|
|
border-color: rgba(46, 230, 166, 0.28);
|
|
background: rgba(46, 230, 166, 0.1) !important;
|
|
color: var(--terminal-green) !important;
|
|
}
|
|
|
|
.btn-group {
|
|
gap: 9px !important;
|
|
}
|
|
|
|
.tog-btn,
|
|
.side-btn,
|
|
.quick-amt-btn,
|
|
.pm-refresh-btn,
|
|
.max-btn,
|
|
.step-btn,
|
|
#clear-all-btn,
|
|
#confirm-btn,
|
|
#limit-confirm-btn {
|
|
border-radius: 14px !important;
|
|
transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
|
|
.tog-btn,
|
|
.side-btn,
|
|
.quick-amt-btn {
|
|
border-color: rgba(151, 166, 188, 0.18) !important;
|
|
background: rgba(255, 255, 255, 0.055) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
.tog-btn:hover,
|
|
.side-btn:hover,
|
|
.quick-amt-btn:hover,
|
|
.pm-refresh-btn:hover,
|
|
.max-btn:hover,
|
|
.step-btn:hover {
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.tog-btn.active {
|
|
border-color: rgba(98, 189, 255, 0.55) !important;
|
|
background: rgba(98, 189, 255, 0.13) !important;
|
|
color: var(--terminal-blue) !important;
|
|
box-shadow: 0 0 0 3px rgba(98, 189, 255, 0.08);
|
|
}
|
|
|
|
.tog-btn.active-up {
|
|
border-color: rgba(46, 230, 166, 0.54) !important;
|
|
background: rgba(46, 230, 166, 0.13) !important;
|
|
color: var(--terminal-green) !important;
|
|
}
|
|
|
|
.tog-btn.active-down {
|
|
border-color: rgba(255, 100, 116, 0.54) !important;
|
|
background: rgba(255, 100, 116, 0.13) !important;
|
|
color: var(--terminal-red) !important;
|
|
}
|
|
|
|
.side-btn.active-buy {
|
|
border-color: rgba(98, 189, 255, 0.5) !important;
|
|
background: linear-gradient(135deg, rgba(98, 189, 255, 0.28), rgba(98, 189, 255, 0.09)) !important;
|
|
color: #c7eaff !important;
|
|
}
|
|
|
|
.side-btn.active-sell {
|
|
border-color: rgba(245, 189, 79, 0.5) !important;
|
|
background: linear-gradient(135deg, rgba(245, 189, 79, 0.3), rgba(245, 189, 79, 0.08)) !important;
|
|
color: #ffe4aa !important;
|
|
}
|
|
|
|
.dir-pct,
|
|
#amount-unit {
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
#amount-unit {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.input-row {
|
|
border-color: rgba(151, 166, 188, 0.18) !important;
|
|
border-radius: 15px !important;
|
|
background: rgba(255, 255, 255, 0.04) !important;
|
|
}
|
|
|
|
.input-row:focus-within {
|
|
border-color: rgba(98, 189, 255, 0.65) !important;
|
|
box-shadow: 0 0 0 3px rgba(98, 189, 255, 0.1);
|
|
}
|
|
|
|
.input-row input {
|
|
background: transparent !important;
|
|
color: var(--terminal-ink) !important;
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
.step-btn,
|
|
.max-btn {
|
|
background: rgba(255, 255, 255, 0.055) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
.quick-amt-btn {
|
|
min-height: 28px;
|
|
}
|
|
|
|
.quick-amt-btn:hover,
|
|
.quick-amt-btn.active {
|
|
border-color: rgba(245, 189, 79, 0.5) !important;
|
|
background: rgba(245, 189, 79, 0.1) !important;
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
#est-row,
|
|
#pos-summary,
|
|
#cond-panel,
|
|
#slippage-row,
|
|
#manual-limit-list {
|
|
border: 1px solid rgba(151, 166, 188, 0.12) !important;
|
|
border-radius: 15px !important;
|
|
background: rgba(255, 255, 255, 0.035) !important;
|
|
}
|
|
|
|
#est-row {
|
|
padding: 9px 11px !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
#est-row span {
|
|
color: var(--terminal-ink) !important;
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
#confirm-btn,
|
|
#limit-confirm-btn {
|
|
min-height: 52px;
|
|
border: 1px solid rgba(151, 166, 188, 0.16) !important;
|
|
background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035)) !important;
|
|
color: var(--terminal-muted) !important;
|
|
letter-spacing: 0.03em;
|
|
}
|
|
|
|
#confirm-btn.ready-buy,
|
|
#limit-confirm-btn.ready-buy {
|
|
border-color: rgba(46, 230, 166, 0.45) !important;
|
|
background: linear-gradient(135deg, rgba(46, 230, 166, 0.96), rgba(18, 129, 91, 0.96)) !important;
|
|
color: #04130e !important;
|
|
box-shadow: 0 14px 38px rgba(46, 230, 166, 0.22);
|
|
}
|
|
|
|
#confirm-btn.ready-sell,
|
|
#limit-confirm-btn.ready-sell {
|
|
border-color: rgba(245, 189, 79, 0.48) !important;
|
|
background: linear-gradient(135deg, rgba(245, 189, 79, 0.96), rgba(164, 88, 28, 0.96)) !important;
|
|
color: #170d04 !important;
|
|
box-shadow: 0 14px 38px rgba(245, 189, 79, 0.2);
|
|
}
|
|
|
|
#confirm-btn:not(:disabled):hover,
|
|
#limit-confirm-btn:not(:disabled):hover,
|
|
#clear-all-btn:hover:not(:disabled) {
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
#clear-all-btn {
|
|
border-color: rgba(255, 100, 116, 0.3) !important;
|
|
background: rgba(255, 100, 116, 0.08) !important;
|
|
color: var(--terminal-red) !important;
|
|
}
|
|
|
|
#clear-all-btn:hover:not(:disabled) {
|
|
border-color: rgba(255, 100, 116, 0.5) !important;
|
|
background: rgba(255, 100, 116, 0.13) !important;
|
|
}
|
|
|
|
#cond-panel,
|
|
#slippage-row {
|
|
padding: 9px 10px;
|
|
}
|
|
|
|
#cond-head {
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
#cond-body {
|
|
border-left-color: var(--terminal-line) !important;
|
|
}
|
|
|
|
/* Floating Surfaces */
|
|
.result-dot .dot-tip,
|
|
.allowance-tooltip,
|
|
.strat-tip .tip-box,
|
|
.tg-help-tip,
|
|
.order-latency-tip,
|
|
.order-latency-tip > div,
|
|
#tg-config-body {
|
|
z-index: 100000 !important;
|
|
border-color: var(--terminal-line-strong) !important;
|
|
background: rgba(7, 12, 20, 0.96) !important;
|
|
box-shadow: 0 22px 70px rgba(0, 0, 0, 0.56) !important;
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
.result-dot,
|
|
.allowance-wrap,
|
|
.strat-tip,
|
|
.tg-help-trigger,
|
|
.order-latency-trigger {
|
|
position: relative;
|
|
}
|
|
|
|
.result-dot:hover,
|
|
.allowance-wrap:hover,
|
|
.strat-tip:hover,
|
|
.tg-help-trigger:hover,
|
|
.order-latency-trigger:hover {
|
|
z-index: 100001;
|
|
}
|
|
|
|
.result-dot .dot-tip,
|
|
.allowance-tooltip,
|
|
.strat-tip .tip-box {
|
|
z-index: 100002 !important;
|
|
}
|
|
|
|
#tg-config-body {
|
|
width: min(460px, calc(100vw - 32px)) !important;
|
|
max-height: min(620px, calc(100vh - 120px));
|
|
overflow-y: auto;
|
|
overscroll-behavior: contain;
|
|
z-index: 100003 !important;
|
|
}
|
|
|
|
#tg-config-panel {
|
|
position: relative;
|
|
z-index: 100004;
|
|
}
|
|
|
|
.tg-help-tip {
|
|
z-index: 100005 !important;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#claim-tip {
|
|
position: relative;
|
|
}
|
|
|
|
#claim-tip:hover,
|
|
#claim-tip:has(.tg-help-tip:hover) {
|
|
z-index: 100010 !important;
|
|
}
|
|
|
|
#claim-tip::after {
|
|
left: auto !important;
|
|
right: 0 !important;
|
|
width: min(340px, calc(100vw - 32px));
|
|
height: 18px !important;
|
|
top: 100% !important;
|
|
z-index: 100009;
|
|
}
|
|
|
|
#claim-tip .tg-help-tip {
|
|
z-index: 100011 !important;
|
|
}
|
|
|
|
#tg-bot-token,
|
|
#tg-chat-id,
|
|
#vol-threshold,
|
|
.strat-amt,
|
|
#max-round-entries,
|
|
#strat-slippage,
|
|
#tg-interval,
|
|
#cond-tp-pct,
|
|
#cond-sl-pct,
|
|
#cond-sl-slippage,
|
|
#slippage-input {
|
|
border-color: rgba(151, 166, 188, 0.22) !important;
|
|
background: rgba(255, 255, 255, 0.05) !important;
|
|
color: var(--terminal-ink) !important;
|
|
}
|
|
|
|
#backtest-btn,
|
|
#tg-config-body button,
|
|
#cond-cancel-all-btn {
|
|
border-color: rgba(151, 166, 188, 0.22) !important;
|
|
background: rgba(255, 255, 255, 0.06) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
/* PnL Table */
|
|
#pm-pnl {
|
|
margin-top: 14px !important;
|
|
margin-bottom: 16px !important;
|
|
padding: 14px !important;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
#pm-pnl .hist-title {
|
|
margin-bottom: 10px !important;
|
|
color: var(--terminal-muted) !important;
|
|
font-size: 12px !important;
|
|
font-weight: 900;
|
|
letter-spacing: 0.14em !important;
|
|
}
|
|
|
|
#pm-pnl .pm-total {
|
|
color: var(--terminal-muted) !important;
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
#pm-pnl .pm-total .val-pos { color: var(--terminal-green) !important; }
|
|
#pm-pnl .pm-total .val-neg { color: var(--terminal-red) !important; }
|
|
|
|
.pm-refresh-btn {
|
|
padding: 6px 12px !important;
|
|
border-color: rgba(151, 166, 188, 0.18) !important;
|
|
background: rgba(255, 255, 255, 0.055) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
.pm-refresh-btn:hover {
|
|
border-color: rgba(98, 189, 255, 0.5) !important;
|
|
background: rgba(98, 189, 255, 0.12) !important;
|
|
color: #d9f1ff !important;
|
|
}
|
|
|
|
.pm-countdown {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
#pm-pnl-list {
|
|
gap: 5px !important;
|
|
height: min(42vh, 420px) !important;
|
|
}
|
|
|
|
.pm-item {
|
|
min-width: 920px;
|
|
padding: 7px 9px !important;
|
|
border: 1px solid rgba(151, 166, 188, 0.08);
|
|
border-radius: 12px !important;
|
|
background: rgba(255, 255, 255, 0.035) !important;
|
|
color: var(--terminal-muted) !important;
|
|
font-family: var(--terminal-num);
|
|
}
|
|
|
|
.pm-item:hover {
|
|
border-color: rgba(151, 166, 188, 0.17);
|
|
background: rgba(255, 255, 255, 0.055) !important;
|
|
}
|
|
|
|
.pm-header {
|
|
border-color: var(--terminal-line) !important;
|
|
background: transparent !important;
|
|
}
|
|
|
|
.pm-header > span {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.pm-item .pm-time,
|
|
.pm-item .pm-detail,
|
|
.pm-item .pm-title,
|
|
.pm-item .pm-amount .pm-amount-label,
|
|
.pm-item .pm-pos-pnl .pm-pos-pnl-label {
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
.pm-item .pm-kind.buy,
|
|
.pm-item .pm-outcome.up {
|
|
background: rgba(46, 230, 166, 0.12) !important;
|
|
color: var(--terminal-green) !important;
|
|
}
|
|
|
|
.pm-item .pm-kind.sell,
|
|
.pm-item .pm-outcome.down {
|
|
background: rgba(255, 100, 116, 0.12) !important;
|
|
color: var(--terminal-red) !important;
|
|
}
|
|
|
|
.pm-item .pm-kind.claim {
|
|
background: rgba(245, 189, 79, 0.13) !important;
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
.pm-item .pm-source {
|
|
background: rgba(98, 189, 255, 0.12) !important;
|
|
color: var(--terminal-blue) !important;
|
|
}
|
|
|
|
.pm-item .pm-source.manual {
|
|
background: rgba(245, 189, 79, 0.13) !important;
|
|
color: var(--terminal-amber) !important;
|
|
}
|
|
|
|
#app-footer {
|
|
margin-top: 0 !important;
|
|
margin-bottom: 16px !important;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: 16px;
|
|
background: rgba(255, 255, 255, 0.025);
|
|
color: var(--terminal-faint) !important;
|
|
}
|
|
|
|
/* Low Data Mode */
|
|
body.low-data-mode {
|
|
background:
|
|
radial-gradient(circle at 50% -10%, rgba(98, 189, 255, 0.18), transparent 30rem),
|
|
linear-gradient(135deg, #04070b, #071018 58%, #06080c) !important;
|
|
}
|
|
|
|
body.low-data-mode #header,
|
|
body.low-data-mode #price-bar,
|
|
body.low-data-mode #strat-bar,
|
|
body.low-data-mode #observe-bar {
|
|
width: min(980px, calc(100% - 32px)) !important;
|
|
max-width: none;
|
|
}
|
|
|
|
body.low-data-mode #header {
|
|
padding: 12px 16px !important;
|
|
}
|
|
|
|
body.low-data-mode #price-bar {
|
|
display: block !important;
|
|
margin-top: 12px !important;
|
|
border: 1px solid var(--terminal-line) !important;
|
|
border-radius: var(--terminal-radius-lg) !important;
|
|
background: var(--terminal-card-strong) !important;
|
|
box-shadow: var(--terminal-shadow);
|
|
}
|
|
|
|
body.low-data-mode #low-data-hero {
|
|
padding: 24px 24px 10px !important;
|
|
}
|
|
|
|
body.low-data-mode #low-data-detail {
|
|
padding: 10px 24px 18px !important;
|
|
border-top-color: var(--terminal-line) !important;
|
|
color: var(--terminal-muted) !important;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media (max-width: 1320px) {
|
|
#price-bar {
|
|
grid-template-columns: repeat(3, minmax(180px, 1fr));
|
|
}
|
|
|
|
#main-wrap {
|
|
grid-template-columns: 1fr !important;
|
|
}
|
|
|
|
#order-panel {
|
|
position: static;
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 860px) {
|
|
#header,
|
|
#price-bar,
|
|
#strat-bar,
|
|
#observe-bar,
|
|
#main-wrap,
|
|
#pm-pnl,
|
|
#app-footer {
|
|
width: calc(100% - 20px);
|
|
}
|
|
|
|
#header {
|
|
position: static;
|
|
margin-top: 10px !important;
|
|
border-radius: 20px !important;
|
|
}
|
|
|
|
#header .window-info {
|
|
width: 100%;
|
|
}
|
|
|
|
#recent-results {
|
|
margin-left: 0;
|
|
order: 3;
|
|
}
|
|
|
|
#ws-status {
|
|
order: 5;
|
|
width: 100%;
|
|
}
|
|
|
|
.mode-toggle {
|
|
order: 4;
|
|
}
|
|
|
|
#price-bar {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.price-item,
|
|
.price-item:nth-child(1),
|
|
.price-item:nth-child(2) {
|
|
min-height: 90px;
|
|
padding: 14px !important;
|
|
}
|
|
|
|
#price-chart canvas {
|
|
min-height: 320px;
|
|
height: 44vh !important;
|
|
}
|
|
|
|
#momentum-bar {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.mom-group {
|
|
width: 100%;
|
|
}
|
|
|
|
#prob-bar {
|
|
gap: 12px !important;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 560px) {
|
|
body {
|
|
font-size: 12px;
|
|
}
|
|
|
|
#price-bar {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
#book-collapsible {
|
|
padding: 0 8px 10px;
|
|
}
|
|
|
|
#price-chart {
|
|
margin: 8px !important;
|
|
}
|
|
|
|
#price-chart canvas {
|
|
min-height: 280px;
|
|
}
|
|
|
|
#order-panel {
|
|
padding: 12px !important;
|
|
}
|
|
|
|
.tog-btn,
|
|
.side-btn {
|
|
font-size: 13px !important;
|
|
}
|
|
|
|
#low-data-hero {
|
|
flex-direction: column;
|
|
align-items: flex-start !important;
|
|
}
|
|
|
|
body.low-data-mode #header,
|
|
body.low-data-mode #price-bar,
|
|
body.low-data-mode #strat-bar,
|
|
body.low-data-mode #observe-bar {
|
|
width: calc(100% - 20px) !important;
|
|
}
|
|
}
|