:root{--canvas:#010102;--surface-1:#0f1011;--surface-2:#141516;--surface-3:#18191a;--surface-4:#191a1b;--hairline:#23252a;--hairline-strong:#34343a;--hairline-tertiary:#3e3e44;--ink:#f7f8f8;--ink-muted:#d0d6e0;--ink-subtle:#8a8f98;--ink-tertiary:#62666d;--primary:#5e6ad2;--primary-hover:#828fff;--primary-focus:#5e69d1;--on-primary:#fff;--success:#27a644;--warn:#d29922;--danger:#e5484d;--danger-hover:#ff6369;--focus-ring:#5e6ad280;--sans:"Inter", -apple-system, "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:9999px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;margin:0;font-size:14px;line-height:1.5}::selection{color:var(--ink);background:#5e6ad259}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}h1,h2,h3,h4,h5{letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:600}.mono{font-family:var(--mono)}.eyebrow{letter-spacing:.4px;color:var(--ink-tertiary);text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:500}.page-head{margin-bottom:28px}.page-head h1{letter-spacing:-.6px;font-size:28px;line-height:1.2}.page-head .sub{color:var(--ink-subtle);margin:6px 0 0;font-size:14px}.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg)}.btn{font:500 13px/1.2 var(--sans);letter-spacing:0;border-radius:var(--r-md);cursor:pointer;color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 13px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-sm{border-radius:var(--r-sm);padding:4px 10px;font-size:12px}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:active:not(:disabled){background:var(--primary-focus)}.btn-secondary{background:var(--surface-1);color:var(--ink);border-color:var(--hairline)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--hairline-strong)}.btn-ghost{color:var(--ink-subtle)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-1)}.btn-danger{color:var(--danger);border-color:var(--hairline)}.btn-danger:hover:not(:disabled){color:var(--danger-hover);background:#e5484d1f;border-color:#e5484d80}.input{background:var(--surface-1);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);font:400 14px/1.4 var(--sans);outline:none;padding:8px 12px;transition:border-color .12s}.input::placeholder{color:var(--ink-tertiary)}.input:focus{border-color:var(--hairline-strong);outline:2px solid var(--focus-ring);outline-offset:-1px}.badge{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;padding:2px 9px;font-size:12px;line-height:1.4;display:inline-flex}.badge:before{content:"";opacity:.9;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.dotless:before{display:none}.badge-running{color:var(--warn);background:#d2992214;border-color:#d2992247}.badge-running:before{animation:1.2s ease-in-out infinite pulse}.badge-success{color:#3fb950;background:#3fb95014;border-color:#3fb95047}.badge-failed{color:var(--danger);background:#e5484d14;border-color:#e5484d47}.badge-cancelled{color:var(--ink-subtle)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.signal{border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-muted);white-space:nowrap;align-items:center;padding:3px 12px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.signal-buy{color:#3fb950;background:#3fb9501a;border-color:#3fb95052}.signal-sell{color:#ff7b72;background:#e5484d1a;border-color:#e5484d52}.signal-hold{color:var(--ink-muted);background:var(--surface-2);border-color:var(--hairline-strong)}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{letter-spacing:.5px;text-transform:uppercase;color:var(--ink-tertiary);text-align:left;border-bottom:1px solid var(--hairline-strong);white-space:nowrap;padding:10px 16px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:12px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer;transition:background .1s}.table tbody tr.clickable:hover{background:var(--surface-2)}.empty{color:var(--ink-subtle);text-align:center;padding:40px 24px;font-size:13px}.empty.small{padding:18px 12px;font-size:12.5px}.form-error{color:var(--danger);font-size:12.5px}.error-panel{border-radius:var(--r-md);color:var(--danger-hover);white-space:pre-wrap;word-break:break-word;background:#e5484d12;border:1px solid #e5484d47;padding:10px 14px;font-size:13px}.markdown-body{color:var(--ink-muted);word-break:break-word;font-size:14px;line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5{color:var(--ink);letter-spacing:-.02em;margin:26px 0 12px;line-height:1.3}.markdown-body h1{border-bottom:1px solid var(--hairline);padding-bottom:8px;font-size:22px}.markdown-body h2{border-bottom:1px solid var(--hairline);padding-bottom:6px;font-size:18px}.markdown-body h3{font-size:15.5px}.markdown-body h4{font-size:14px}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body p{margin:0 0 12px}.markdown-body ul,.markdown-body ol{margin:0 0 12px;padding-left:22px}.markdown-body li{margin:4px 0}.markdown-body a{color:var(--primary)}.markdown-body a:hover{color:var(--primary-hover)}.markdown-body code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-xs);color:var(--ink);padding:1px 5px;font-size:12.5px}.markdown-body pre{border:1px solid var(--hairline);border-radius:var(--r-md);background:#0b0c0d;margin:0 0 14px;padding:12px 14px;overflow-x:auto}.markdown-body pre code{background:0 0;border:none;padding:0;font-size:12.5px;line-height:1.6}.markdown-body blockquote{border-left:3px solid var(--primary);color:var(--ink-subtle);margin:14px 0;padding:2px 16px}.markdown-body blockquote p{margin-bottom:6px}.markdown-body table{border-collapse:collapse;width:100%;margin:12px 0 16px;font-size:13px}.markdown-body th,.markdown-body td{border:1px solid var(--hairline);text-align:left;padding:6px 10px}.markdown-body th{background:var(--surface-2);color:var(--ink-muted);font-weight:500}.markdown-body hr{border:none;border-top:1px solid var(--hairline);margin:20px 0}.markdown-body img{border-radius:var(--r-md);max-width:100%}.page{max-width:1280px;margin:0 auto;padding:32px 24px 72px}.topnav[data-v-c43363e1]{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline);background:#010102d9;align-items:center;gap:28px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand[data-v-c43363e1]{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark[data-v-c43363e1]{background:var(--primary);width:22px;height:22px;color:var(--on-primary);letter-spacing:0;border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.brand-name[data-v-c43363e1]{letter-spacing:-.02em;font-size:14px;font-weight:600}.brand-tag[data-v-c43363e1]{letter-spacing:.4px;color:var(--ink-subtle);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:1px 8px;font-size:11px;font-weight:500}.nav-links[data-v-c43363e1]{gap:4px;display:flex}.nav-links a[data-v-c43363e1]{color:var(--ink-subtle);border-radius:var(--r-sm);padding:6px 12px;font-size:13.5px;text-decoration:none;transition:color .12s,background .12s}.nav-links a[data-v-c43363e1]:hover,.nav-links a.router-link-active[data-v-c43363e1]{color:var(--ink);background:var(--surface-1)}
