:root{color-scheme:dark;--plane: #0c0f14;--surface: #141922;--raised: #1a2029;--hairline: #222a36;--hairline-strong: #2e3847;--ink: #f2f4f7;--ink-2: #a8b0bd;--ink-muted: #79828f;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--font-label: "IBM Plex Sans Condensed", "Segoe UI", sans-serif;--font-ui: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--radius: 4px;--gap: 16px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--plane);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.label{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.prose{color:var(--ink-2);max-width:68ch}.signin{min-height:100%;display:grid;place-items:center;padding:32px 16px}.signin__card{width:min(520px,100%)}.signin__title{font-family:var(--font-label);font-size:22px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:8px 0 10px}.signin__steps{margin:0 0 16px;padding-left:18px;color:var(--ink-2)}.signin__steps li+li{margin-top:6px}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.app__body{display:grid;grid-template-columns:196px 1fr;min-height:0}.app__main{overflow-y:auto;padding:24px 28px 64px}.nav{border-right:1px solid var(--hairline);padding:20px 12px;display:flex;flex-direction:column;gap:2px}.nav__item{display:block;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:var(--radius);background:none;color:var(--ink-2);cursor:pointer}.nav__item:hover{background:var(--raised);color:var(--ink)}.nav__item[aria-current=page]{background:var(--raised);color:var(--ink);box-shadow:inset 2px 0 0 var(--series-1)}.nav__footer{margin-top:auto;padding:12px;border-top:1px solid var(--hairline);font-size:12px;color:var(--ink-muted)}.rail{display:flex;align-items:stretch;gap:28px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--hairline)}.rail--live{box-shadow:inset 0 3px 0 var(--critical)}.rail--halted{box-shadow:inset 0 3px 0 var(--warning)}.rail__mode{display:flex;flex-direction:column;gap:2px;min-width:168px}.rail__badge{font-family:var(--font-label);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.rail__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-muted)}.rail__dot--running{background:var(--good)}.rail__dot--error{background:var(--critical)}.rail__group{display:flex;gap:28px;align-items:center;flex:1}.rail__actions{display:flex;gap:8px;align-items:center}.rail__note{font-size:12px;color:var(--warning);display:flex;align-items:center;gap:6px}.meter{min-width:152px}.meter__head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.meter__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.meter__track{position:relative;height:6px;margin-top:6px;background:var(--hairline);border-radius:3px;overflow:hidden}.meter__fill{position:absolute;inset:0 auto 0 0;border-radius:3px}.meter__limit{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink-2)}.meter__caption{margin-top:4px;font-size:11px;color:var(--ink-muted)}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:16px 18px}.panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}.panel__title{font-size:14px;font-weight:600}.panel__hint{font-size:12px;color:var(--ink-muted)}.grid{display:grid;gap:var(--gap)}.grid--stats{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.grid--split{grid-template-columns:1fr 340px;align-items:start}.grid--fields{align-items:end}.grid--fields .label{display:flex;align-items:flex-end;min-height:2.4em}@media(max-width:900px){.rail,.rail__group{flex-wrap:wrap;gap:16px 24px}.rail__mode{min-width:0}.rail__actions{margin-left:auto}.meter{min-width:132px;flex:1 1 132px}}@media(max-width:1100px){.grid--split,.app__body{grid-template-columns:1fr}.nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--hairline)}.nav__footer{display:none}}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stat__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;margin-top:2px;letter-spacing:-.01em}.stat__value--sm{font-size:16px}.stat__sub{font-size:12px;color:var(--ink-muted);margin-top:2px}.up{color:var(--good)}.down{color:var(--critical)}.btn{border:1px solid var(--hairline-strong);background:var(--raised);color:var(--ink);padding:7px 14px;border-radius:var(--radius);cursor:pointer}.btn:hover:not(:disabled){border-color:var(--ink-muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--series-1);border-color:var(--series-1);color:#04121f;font-weight:600}.btn--danger{background:var(--critical);border-color:var(--critical);color:#180404;font-weight:600}.btn--ghost{background:none}.field{display:flex;flex-direction:column;gap:5px}.field__input{background:var(--plane);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:7px 9px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.field__input:disabled{color:var(--ink-muted)}.field__hint{font-size:11px;color:var(--ink-muted)}.notice{border:1px solid var(--hairline-strong);border-left:3px solid var(--ink-muted);border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--ink-2);background:var(--surface)}.notice--bad{border-left-color:var(--critical)}.notice--warn{border-left-color:var(--warning)}.notice--good{border-left-color:var(--good)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font-family:var(--font-label);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);text-align:left;font-weight:600;padding:0 10px 8px 0;border-bottom:1px solid var(--hairline)}.table td{padding:7px 10px 7px 0;border-bottom:1px solid var(--hairline);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table td:first-child,.table th:first-child{padding-left:2px}.table tbody tr:hover td{background:var(--raised)}.table__num{text-align:right}.tag{font-family:var(--font-label);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:3px;border:1px solid var(--hairline-strong);color:var(--ink-2);white-space:nowrap}.tag--buy{border-color:var(--series-1);color:var(--series-1)}.tag--sell{border-color:var(--series-2);color:var(--series-2)}.tag--stop{border-color:var(--critical);color:var(--critical)}.tag--target{border-color:var(--good);color:var(--good)}.chart{position:relative}.chart__svg{display:block;width:100%;overflow:visible}.chart__grid{stroke:var(--hairline);stroke-width:1}.chart__axis{stroke:var(--hairline-strong);stroke-width:1}.chart__tick{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;fill:var(--ink-muted)}.chart__legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:var(--ink-2)}.chart__swatch{width:10px;height:2px;border-radius:1px;display:inline-block;vertical-align:middle;margin-right:6px}.chart__empty{display:grid;place-items:center;min-height:180px;color:var(--ink-muted);font-size:13px;text-align:center;border:1px dashed var(--hairline-strong);border-radius:var(--radius)}.tooltip{position:absolute;pointer-events:none;background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:8px 10px;font-size:12px;min-width:132px;z-index:5;box-shadow:0 8px 24px #00000073}.tooltip__time{color:var(--ink-muted);margin-bottom:5px;font-size:11px}.tooltip__row{display:flex;justify-content:space-between;gap:14px}.tooltip__row span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.spinner{width:13px;height:13px;border:2px solid var(--hairline-strong);border-top-color:var(--series-1);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
