@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg: #ffffff;--bg-deep: #f5f5f5;--header-bg: #3a3a3a;--surface: #ffffff;--surface-alt: #fafafa;--divider: #E4E4E4;--border: #E4E4E4;--text: #2d3748;--text-muted: #718096;--text-paragraph: #4a5568;--accent: #3a3a3a;--accent-hover: #f0f4f8;--blue: #9DD2EF;--blue-dark: #7ABCE0;--green: #48bb78;--green-light: #c6f6d5;--red: #f56565;--red-light: #fed7d7;--amber: #f6ad55;--code-bg: #F5F5F5;--code-text: #2d3748;--inline-code-bg: #e8edf3;--inline-code-text: #d6336c;--table-bg: #fff;--table-hover: #f5f7fa;--table-border: #E4E4E4;--scrollbar-thumb: #cbd5e0;--hover-bg: #e2e8f0;--no-param-code-bg: #e2e8f0;--progress-track: #e2e8f0;--spinner-border: #2d3748;--pine-comment: #6a737d;--pine-string: #22863a;--pine-number: #d73a49;--pine-keyword: #6f42c1;--pine-declaration: #d73a49;--pine-type: #e36209;--pine-function: #005cc5;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--font-brand: "IBM Plex Mono", var(--mono);--mono: "Consolas", "Monaco", "Menlo", monospace;--radius: 0px;--radius-lg: 0px;--shadow: 0 1px 3px rgba(0,0,0,.06)}[data-theme=dark]{--bg: #1a1b26;--bg-deep: #16171f;--header-bg: #24283b;--surface: #1f2133;--surface-alt: #24283b;--divider: #3b3d57;--border: #3b3d57;--text: #c0caf5;--text-muted: #7982a9;--text-paragraph: #a9b1d6;--accent: #7aa2f7;--accent-hover: rgba(122,162,247,.12);--blue: #7aa2f7;--blue-dark: #5d87e0;--green: #9ece6a;--green-light: rgba(158,206,106,.18);--red: #f7768e;--red-light: rgba(247,118,142,.18);--amber: #e0af68;--code-bg: #1a1b26;--code-text: #c0caf5;--inline-code-bg: #292d42;--inline-code-text: #ff9e64;--table-bg: #1f2133;--table-hover: #292d42;--table-border: #3b3d57;--scrollbar-thumb: #3b3d57;--hover-bg: #292d42;--no-param-code-bg: #292d42;--progress-track: #292d42;--spinner-border: #3b3d57;--pine-comment: #565f89;--pine-string: #9ece6a;--pine-number: #ff9e64;--pine-keyword: #bb9af7;--pine-declaration: #f7768e;--pine-type: #e0af68;--pine-function: #7aa2f7;--shadow: 0 1px 3px rgba(0,0,0,.3)}html,body,#root{height:100%;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-alt)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.app{display:flex;flex-direction:column;height:100%}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--header-bg);color:#fff}.app-header h1{font-size:1.2em;font-weight:700;letter-spacing:.5px;font-family:var(--font-brand)}.app-header .user-info{display:flex;align-items:center;gap:12px;font-size:13px}.app-header .user-info button{background:#ffffff26;border:none;color:#fff;padding:4px 12px;cursor:pointer;font-size:12px}.app-header .user-info button:hover{background:#ffffff40}.tab-bar{display:flex;background:var(--surface);border-bottom:1px solid var(--divider)}.tab-bar button{flex:1;padding:12px 0;border:none;background:none;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.tab-bar button:hover{color:var(--accent);background:var(--accent-hover)}.tab-bar button.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.tab-content{flex:1;overflow:hidden}.create-tab{height:100%;display:flex;overflow:hidden}.create-editor-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--divider);margin:12px 0 12px 12px}.create-editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--divider);flex-shrink:0}.create-editor-header h2{color:var(--accent);font-size:1.1em;margin:0}.doc-toggle-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.doc-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.doc-toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.create-divider{width:6px;cursor:col-resize;background:var(--divider);flex-shrink:0;transition:background .15s;margin:12px 0}.create-divider:hover,.create-divider:active{background:var(--blue)}.create-doc-pane{flex-shrink:0;overflow:hidden;margin:12px 12px 12px 0;border:1px solid var(--divider);background:var(--surface)}.doc-panel{display:flex;height:100%}.doc-search-wrap{position:relative;padding:8px 8px 4px}.doc-search{width:100%;padding:5px 24px 5px 8px;border:2px solid var(--border);font-size:12px;font-family:var(--font);background:var(--surface);transition:border-color .15s}.doc-search:focus{outline:none;border-color:var(--accent)}.doc-search::placeholder{color:#a0aec0}.doc-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;line-height:1;padding:0 2px}.doc-search-clear:hover{color:var(--text)}.doc-no-results{padding:16px 10px;text-align:center;font-size:12px;color:var(--text-muted)}.doc-sidebar{width:170px;flex-shrink:0;border-right:1px solid var(--divider);overflow-y:auto;padding:8px 0;background:var(--surface-alt)}.doc-sidebar-section{margin-bottom:2px}.doc-sidebar-category{display:flex;align-items:center;gap:4px;width:100%;padding:5px 10px;border:none;background:none;font-size:11px;font-weight:700;color:var(--text-muted);cursor:pointer;text-align:left;font-family:var(--font);text-transform:uppercase;letter-spacing:.3px}.doc-sidebar-category:hover{color:var(--accent)}.doc-caret{display:inline-block;font-size:9px;transition:transform .15s;width:10px;text-align:center}.doc-caret.open{transform:rotate(90deg)}.doc-sidebar-entries{padding-left:10px}.doc-sidebar-entry{display:block;width:100%;padding:3px 10px;border:none;background:none;font-size:12px;color:var(--text-muted);cursor:pointer;text-align:left;font-family:var(--font);transition:all .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-sidebar-entry:hover{color:var(--accent);background:var(--accent-hover)}.doc-sidebar-entry.active{color:var(--accent);font-weight:600;border-left:2px solid var(--accent);padding-left:8px}.doc-content{flex:1;overflow-y:auto;padding:16px 20px;min-width:0}.doc-section{margin-bottom:28px;border-bottom:1px solid var(--divider);padding-bottom:20px}.doc-section:last-child{border-bottom:none}.doc-h1{font-size:1.3em;font-weight:700;color:var(--accent);margin:0 0 12px}.doc-h2{font-size:1.05em;font-weight:700;color:var(--text);margin:18px 0 6px;padding-top:10px;border-top:1px solid var(--divider)}.doc-section .doc-h2:first-child{border-top:none;padding-top:0}.doc-h3{font-size:.95em;font-weight:700;color:var(--text);margin:12px 0 4px}.doc-h4{font-size:.9em;font-weight:600;color:var(--text-muted);margin:10px 0 4px}.doc-p{font-size:13px;line-height:1.6;color:var(--text-paragraph);margin:0 0 8px}.doc-ul,.doc-ol{font-size:13px;color:var(--text-paragraph);margin:0 0 8px;padding-left:20px}.doc-ul li,.doc-ol li{margin-bottom:2px;line-height:1.5}.doc-hr{border:none;border-top:1px solid var(--divider);margin:16px 0}.doc-code{display:block;background:var(--code-bg);color:var(--code-text);padding:10px 12px;font-family:var(--mono);font-size:12px;line-height:1.5;overflow-x:auto;margin:6px 0 10px;white-space:pre}.doc-code code{background:none;padding:0;font-size:inherit;color:inherit}.pine-comment{color:var(--pine-comment);font-style:italic}.pine-string{color:var(--pine-string)}.pine-number{color:var(--pine-number)}.pine-keyword{color:var(--pine-keyword);font-weight:600}.pine-declaration{color:var(--pine-declaration);font-weight:700}.pine-type{color:var(--pine-type)}.pine-function{color:var(--pine-function)}.doc-inline-code{background:var(--inline-code-bg);padding:1px 5px;font-family:var(--mono);font-size:12px;color:var(--inline-code-text)}.doc-table-wrap{overflow-x:auto;margin:6px 0 10px}.doc-table{width:100%;border-collapse:collapse;font-size:12px}.doc-table th{text-align:left;padding:5px 8px;font-weight:700;font-size:11px;color:var(--text-muted);border-bottom:2px solid var(--divider);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.doc-table td{padding:4px 8px;border-bottom:1px solid var(--divider);color:var(--text);line-height:1.5}.doc-table td code{font-size:11px}.test-tab{display:grid;grid-template-columns:320px 1fr;height:100%;overflow:hidden}.test-sidebar{background:var(--surface);border-right:1px solid var(--divider);overflow-y:auto;padding:20px}.test-main{overflow:auto;padding:20px}.card{background:var(--surface);padding:20px;border:1px solid var(--divider)}.card+.card{margin-top:15px}.card h3{color:var(--accent);font-size:1.1em;margin-bottom:12px}.form-group{margin-bottom:10px}.form-group label{display:block;margin-bottom:4px;font-weight:600;color:var(--text-paragraph);font-size:13px}.form-group input,.form-group select{width:100%;padding:8px 10px;border:2px solid var(--border);font-size:13px;font-family:var(--font);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-group input.valid{border-color:var(--green)}.form-group input.invalid{border-color:var(--red)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-help{color:#a0aec0;font-size:12px;margin-top:2px}.error-message{color:var(--red);font-size:12px;margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#1a202c;width:100%;margin-top:15px}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-danger{background:var(--red);color:#fff;width:100%;margin-top:15px}.btn-danger:hover:not(:disabled){background:#e53e3e}.btn-paused{background:var(--amber);color:#fff;width:100%;margin-top:15px}.btn-sm{padding:6px 12px;font-size:12px}.btn-action{background:var(--blue);color:#1a202c;padding:6px 14px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.btn-action:hover{background:var(--blue-dark)}.btn-action:disabled{opacity:.4;cursor:not-allowed}.symbol-selector{position:relative}.symbol-selector input{width:100%}.symbol-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--surface);border:1px solid var(--divider);box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto}.symbol-item{padding:8px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--divider)}.symbol-item:hover,.symbol-item.active{background:var(--accent-hover)}.symbol-name{font-weight:600}.coin-name{color:var(--text-muted);margin-left:8px}.param-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.param-count{margin-top:12px;padding:8px;background:var(--surface-alt);text-align:center;font-size:12px;color:var(--text-paragraph)}.param-count.warning{background:#fef5e7;color:#c05621}.param-count.error{background:var(--red-light);color:#c53030}.no-parameters{text-align:center;padding:20px;background:var(--surface-alt);border:1px solid var(--border);color:var(--text-paragraph);font-size:13px}.no-parameters code{background:var(--hover-bg);padding:1px 5px;font-family:var(--mono);font-size:12px}.progress-container{margin-top:15px}.progress-bar-track{width:100%;height:8px;background:var(--hover-bg);overflow:hidden}.progress-bar-fill{height:100%;background:var(--blue);transition:width .3s ease}.progress-bar-fill.indeterminate{width:40%!important;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.progress-text{font-size:12px;color:var(--text-muted);margin-top:4px;text-align:center}.progress-details{font-size:11px;color:#a0aec0;text-align:center}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:15px}.summary-card{background:var(--surface);padding:12px;border:1px solid var(--divider);text-align:center}.summary-card .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-card .value{font-size:1.3em;font-weight:700;color:var(--text);margin-top:2px}.summary-card .value.positive{color:var(--green)}.summary-card .value.negative{color:var(--red)}.results-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.results-controls .export-group{display:flex;gap:6px}.results-table-wrap{overflow-x:auto;border:1px solid var(--divider)}.results-table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--mono);font-variant-numeric:tabular-nums}.results-table th{background:var(--table-bg);color:var(--text);padding:10px 12px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:5;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:var(--font);border-bottom:2px solid var(--divider)}.results-table th:hover{background:var(--accent-hover)}.results-table th .sort-arrow{margin-left:4px;font-size:9px}.results-table td{padding:7px 12px;border-bottom:1px solid var(--table-border);background:var(--table-bg)}.results-table tbody tr:hover td{background:var(--table-hover)}.results-table .positive{color:var(--green);font-weight:600}.results-table .negative{color:var(--red);font-weight:600}.results-table .cell-center{text-align:center}.results-info{font-size:12px;color:var(--text-muted);font-family:var(--font)}.actions-cell{white-space:nowrap}.row-action-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 4px;transition:background .15s;line-height:1;vertical-align:middle}.row-action-btn:hover{background:var(--hover-bg)}.param-tooltip{background:#2d3748;color:#fff;padding:10px 14px;min-width:180px;z-index:9999;box-shadow:0 8px 24px #0000004d;pointer-events:none}.param-tooltip-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#a0aec0;margin-bottom:6px;font-family:var(--font)}.param-tooltip-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0;font-size:12px;font-family:var(--mono)}.param-tooltip-key{color:#cbd5e0}.param-tooltip-val{color:#fff;font-weight:600}.results-table tr.row-error{background:#f565650a;color:var(--text-muted)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;color:var(--text-muted)}.trade-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:95%;max-width:1400px;height:90vh;margin:5vh auto;background:var(--surface);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.modal-content.modal-split{width:98%;max-width:none;height:96vh;margin:2vh auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--divider);background:var(--surface);flex-shrink:0}.modal-header-left{display:flex;align-items:center;gap:16px;min-width:0}.modal-header-left h2{margin:0;color:var(--text);font-size:1.2em;white-space:nowrap}.modal-header .trade-params{margin-bottom:0}.modal-close{background:none;border:none;font-size:1.6em;color:var(--text-muted);cursor:pointer;width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--hover-bg);color:var(--text)}.modal-summary-bar{display:flex;gap:0;border-bottom:1px solid var(--divider);flex-shrink:0;overflow-x:auto}.modal-summary-bar .summary-card{flex:1;text-align:center;padding:8px 12px;border-right:1px solid var(--divider);border:none;min-width:100px}.modal-summary-bar .summary-card:last-child{border-right:none}.modal-summary-bar .summary-card .label{font-size:10px}.modal-summary-bar .summary-card .value{font-size:1.1em}.modal-split-body{display:grid;grid-template-columns:1fr 6px 1fr;flex:1;min-height:0;overflow:hidden}.modal-split-divider{background:var(--divider);cursor:col-resize;position:relative;z-index:1;transition:background .15s}.modal-split-divider:hover,.modal-split-divider:active{background:var(--blue)}.modal-chart-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal-chart-pane .chart-container{flex:1;height:auto;margin-bottom:0}.modal-trades-pane{display:flex;flex-direction:column;min-height:0;padding:12px;overflow:hidden}.modal-trades-pane .trade-controls{flex-shrink:0}.modal-trades-pane .trade-table-wrap{flex:1;max-height:none;overflow:auto}.modal-trades-pane .pagination{flex-shrink:0}.trade-params{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.trade-params .param-item{background:var(--surface-alt);padding:4px 10px;font-size:13px;border:1px solid var(--border)}.chart-container{position:relative;width:100%;height:400px;background:#131722;overflow:hidden;margin-bottom:15px}.chart-container.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#718096;font-size:14px}.chart-legend{position:absolute;top:10px;left:10px;z-index:1000;background:#131722d9;color:#d1d4dc;padding:8px 12px;font-size:12px;font-family:var(--mono);box-shadow:0 2px 5px #0006;pointer-events:none}.loading-spinner{width:28px;height:28px;border:3px solid var(--spinner-border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.trade-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.trade-controls .trade-info{font-size:12px;color:var(--text-muted)}.trade-controls .export-group{display:flex;gap:6px}.cell-nowrap{white-space:nowrap}.trade-table-wrap{border:1px solid var(--divider);overflow:auto;max-height:400px}.trade-table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--mono);font-variant-numeric:tabular-nums}.trade-table th{background:var(--table-bg);color:var(--text);padding:10px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;font-family:var(--font);border-bottom:2px solid var(--divider)}.trade-table td{padding:8px 10px;border-bottom:1px solid var(--divider)}.trade-table tbody tr:hover{background:var(--accent-hover)}.trade-table .positive{color:var(--green);font-weight:600}.trade-table .negative{color:var(--red);font-weight:600}.trade-type.buy{color:#22543d;background:var(--green-light);padding:2px 6px;font-weight:600}.trade-type.sell{color:#c53030;background:var(--red-light);padding:2px 6px;font-weight:600}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text);text-align:center}.login-page h1{font-size:2.4em;margin-bottom:8px;font-family:var(--font-brand)}.login-page p{color:var(--text-muted);margin-bottom:30px}.login-button{display:inline-block;background:var(--blue);color:#1a202c;padding:12px 28px;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s}.login-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.connected{background:var(--green)}.status-dot.disconnected{background:var(--red)}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:16px}.no-results-msg{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}@media(max-width:900px){.create-doc-pane,.create-divider{display:none}.doc-sidebar{width:140px}}@media(max-width:768px){.test-tab{grid-template-columns:1fr}.test-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.results-summary{grid-template-columns:repeat(2,1fr)}.modal-content.modal-split{width:100%;height:100vh;margin:0}.modal-split-body{grid-template-columns:1fr!important}.modal-split-divider{display:none}.modal-chart-pane{border-bottom:1px solid var(--border);min-height:300px;max-height:40vh}.modal-header-left{flex-wrap:wrap}}.pricing-page{min-height:100vh;background:var(--bg-deep)}.pricing-container{max-width:1100px;margin:0 auto;padding:40px 20px}.pricing-title{text-align:center;font-size:1.8em;color:var(--text);margin-bottom:8px}.pricing-subtitle{text-align:center;color:var(--text-muted);margin-bottom:40px}.pricing-status-banner{text-align:center;color:var(--text-muted);font-size:.9em;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 16px;margin:-20px auto 24px;max-width:500px}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.pricing-card{background:var(--surface);border:2px solid var(--border);padding:24px;display:flex;flex-direction:column}.pricing-card-current{border-color:var(--blue)}.pricing-card-header h3{font-size:1.2em;color:var(--text);margin-bottom:8px}.pricing-card-price{margin-bottom:20px}.price-amount{font-size:2em;font-weight:700;color:var(--text)}.price-period{font-size:14px;color:var(--text-muted);margin-left:4px}.pricing-features{list-style:none;flex:1;margin-bottom:20px}.pricing-features li{padding:6px 0;font-size:13px;color:var(--text-paragraph);border-bottom:1px solid var(--divider)}.pricing-features li:last-child{border-bottom:none}.pricing-card-action{margin-top:auto}.pricing-card-action .btn{width:100%;margin-top:0}@media(max-width:900px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.pricing-grid{grid-template-columns:1fr}}.analyze-tab{display:grid;grid-template-columns:260px 1fr;height:100%;overflow:hidden}.analyze-sidebar{background:var(--surface);border-right:1px solid var(--divider);overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:0}.analyze-section{padding:6px 0;border-bottom:1px solid var(--divider)}.analyze-section:last-child{border-bottom:none}.analyze-section h3{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:6px;display:flex;align-items:center;gap:0}.analyze-section-boxed{padding:10px;margin-top:4px}.analyze-section-boxed h3{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:6px}.analyze-main{position:relative;overflow:hidden;display:flex;flex-direction:column}.analyze-field-select{margin-bottom:5px}.analyze-field-select label{display:block;font-size:11px;font-weight:600;color:var(--text-paragraph);margin-bottom:1px}.analyze-field-select select{width:100%;padding:4px 6px;font-size:12px;border:2px solid var(--border);background:var(--surface);font-family:var(--font)}.analyze-field-select select:focus{outline:none;border-color:var(--accent)}.analyze-slider{margin-bottom:5px}.analyze-slider label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text-paragraph);margin-bottom:1px}.analyze-slider .slider-value{color:var(--text-muted);font-weight:400;font-family:var(--mono)}.analyze-slider input[type=range]{width:100%;height:4px;cursor:pointer;accent-color:var(--accent)}.analyze-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-paragraph);margin-bottom:4px;cursor:pointer}.analyze-toggle input{accent-color:var(--accent)}.analyze-source-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.analyze-source-toggle{display:flex;gap:0;flex:1;min-width:0}.analyze-source-toggle button{flex:1;padding:5px 0;border:2px solid var(--border);background:var(--surface);font-size:11px;font-weight:600;cursor:pointer;color:var(--text-muted);transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analyze-source-toggle button:first-child{border-right:none}.analyze-source-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.analyze-source-toggle button:disabled{opacity:.4;cursor:not-allowed}.analyze-upload-info{font-size:10px;color:var(--text-muted);width:100%}.analyze-stat{font-size:11px;color:var(--text-muted);padding:1px 0;font-family:var(--mono)}.analyze-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px;grid-column:1 / -1}.analyze-empty h3{color:var(--text);margin-bottom:8px;font-size:1.3em}.analyze-empty p{margin-bottom:20px}.analyze-upload-area{display:flex;flex-direction:column;align-items:center;gap:8px}.axis-color-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle;border:1px solid rgba(0,0,0,.15)}.analyze-info-tip-wrap{position:relative;display:inline-flex;vertical-align:middle}.analyze-info-tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--border);color:var(--text-muted);font-size:9px;font-weight:700;cursor:help;margin-left:4px;line-height:1}.analyze-info-tip:hover{background:var(--accent);color:#fff}.analyze-info-popup{position:absolute;left:20px;top:-4px;z-index:1000;background:#1a1a1a;color:#ffffffd9;border:1px solid #444;border-radius:6px;padding:10px 12px;font-size:11px;line-height:1.5;width:260px;box-shadow:0 4px 16px #00000080;pointer-events:none}.analyze-export-btns{display:flex;gap:6px}.analyze-export-btns .btn-action{flex:1;text-align:center}.projection-map-wrap{flex:1;position:relative;min-height:0}.projection-map-canvas{width:100%;height:100%}.projection-map-overlay{position:absolute;top:10px;right:10px;display:flex;gap:8px;align-items:center;z-index:10}.projection-point-count{font-size:11px;color:#fff9;font-family:var(--mono);background:#0006;padding:3px 8px;display:flex;align-items:center;gap:4px}.projection-map-bottom-left{position:absolute;bottom:10px;left:10px;display:flex;gap:6px;z-index:10}.projection-screenshot-btn{background:#00000080!important;color:#ffffffb3!important;border:1px solid rgba(255,255,255,.15)!important;font-size:11px!important;padding:4px 10px!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:56px;text-align:center}.projection-screenshot-btn:hover{background:#ffffff26!important;color:#fff!important}.projection-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#ffffff26;color:#ffffffb3;font-size:10px;font-weight:700;cursor:pointer;margin-left:2px;line-height:1}.projection-help-trigger:hover{background:#ffffff4d}.projection-help-popup{position:absolute;top:44px;right:10px;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:12px 16px;z-index:20;color:#ffffffd9;font-size:12px;min-width:240px;box-shadow:0 4px 16px #0009}.projection-help-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;margin-bottom:8px;color:#fff}.projection-help-close{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;padding:0;line-height:1}.projection-help-close:hover{color:#fff}.projection-help-popup ul{list-style:none;padding:0;margin:0}.projection-help-popup li{padding:3px 0;color:#ffffffb3}.projection-help-popup li strong{color:#fffffff2;margin-right:4px}.theme-toggle{background:#ffffff26;border:none;color:#fff;padding:4px 10px;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;gap:4px;transition:background .15s}.theme-toggle:hover{background:#ffffff40}.logout-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:20000;display:flex;align-items:center;justify-content:center}.logout-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.logout-modal-box{position:relative;background:var(--surface);border:1px solid var(--divider);padding:28px 32px;max-width:360px;width:90%;box-shadow:0 12px 40px #00000040;text-align:center}.logout-modal-box h3{font-size:1.1em;color:var(--text);margin-bottom:8px}.logout-modal-box p{font-size:13px;color:var(--text-muted);margin-bottom:20px}.logout-modal-actions{display:flex;gap:10px;justify-content:center}.logout-modal-actions button{padding:8px 20px;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.logout-modal-actions .btn-cancel{background:var(--hover-bg);color:var(--text)}.logout-modal-actions .btn-cancel:hover{background:var(--divider)}.logout-modal-actions .btn-confirm-logout{background:var(--red);color:#fff}.logout-modal-actions .btn-confirm-logout:hover{opacity:.85}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .doc-search,[data-theme=dark] .analyze-field-select select{background:var(--surface-alt);color:var(--text)}[data-theme=dark] .doc-search::placeholder{color:var(--text-muted)}[data-theme=dark] .trade-type.buy{background:var(--green-light);color:var(--green)}[data-theme=dark] .trade-type.sell{background:var(--red-light);color:var(--red)}[data-theme=dark] .param-count.warning{background:#e0af681f;color:var(--amber)}@media(max-width:768px){.analyze-tab{grid-template-columns:1fr}.analyze-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.analyze-main{min-height:300px}}.admin-root{--admin-bg: #0a0a0f;--admin-bg-card: #12121a;--admin-bg-input: #1a1a26;--admin-border: #2a2a3a;--admin-text: #e0e0e8;--admin-text-dim: #8888a0;--admin-accent: #6366f1;--admin-accent-hover: #818cf8;--admin-danger: #ef4444;--admin-success: #22c55e;--admin-warn: #f59e0b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--admin-bg);color:var(--admin-text);line-height:1.5;height:100vh}.admin-root .admin-layout{display:flex;height:100vh}.admin-root .admin-sidebar{width:220px;background:var(--admin-bg-card);border-right:1px solid var(--admin-border);display:flex;flex-direction:column;flex-shrink:0}.admin-root .admin-sidebar-header{padding:20px 16px;border-bottom:1px solid var(--admin-border);font-size:15px;font-weight:700;letter-spacing:.5px}.admin-root .admin-sidebar-nav{flex:1;padding:8px 0}.admin-root .admin-sidebar-nav a{display:block;padding:10px 16px;color:var(--admin-text-dim);text-decoration:none;font-size:13px;font-weight:500;transition:color .15s,background .15s}.admin-root .admin-sidebar-nav a:hover,.admin-root .admin-sidebar-nav a.active{color:var(--admin-text);background:#6366f11a}.admin-root .admin-sidebar-nav a.active{border-left:2px solid var(--admin-accent)}.admin-root .admin-sidebar-footer{padding:12px 16px;border-top:1px solid var(--admin-border);font-size:12px;color:var(--admin-text-dim)}.admin-root .admin-sidebar-footer button{background:none;border:none;color:var(--admin-text-dim);cursor:pointer;font-size:12px;padding:4px 0}.admin-root .admin-sidebar-footer button:hover{color:var(--admin-danger)}.admin-root .admin-content{flex:1;overflow-y:auto;padding:24px 32px}.admin-root .admin-page-header{margin-bottom:24px}.admin-root .admin-page-header h1{font-size:20px;font-weight:700;margin-bottom:4px}.admin-root .admin-page-header p{font-size:13px;color:var(--admin-text-dim)}.admin-root .admin-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);padding:16px;margin-bottom:16px}.admin-root .admin-card-row{display:flex;gap:16px;margin-bottom:16px}.admin-root .admin-card-row .admin-card{flex:1;margin-bottom:0}.admin-root .admin-stat-label{font-size:11px;color:var(--admin-text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.admin-root .admin-stat-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.admin-root table{width:100%;border-collapse:collapse;font-size:13px}.admin-root thead th{text-align:left;padding:8px 12px;font-weight:700;color:#fff;background:var(--admin-bg-card);border-bottom:2px solid var(--admin-border);white-space:nowrap}.admin-root tbody td{padding:8px 12px;border-bottom:1px solid var(--admin-border);font-variant-numeric:tabular-nums}.admin-root tbody tr:hover{background:#6366f10a}.admin-root button{font-family:inherit;cursor:pointer}.admin-root .admin-btn-primary{background:var(--admin-accent);color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.admin-root .admin-btn-primary:hover{background:var(--admin-accent-hover)}.admin-root .admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-root .admin-btn-sm{padding:4px 10px;font-size:12px}.admin-root .admin-btn-danger{background:var(--admin-danger);color:#fff;border:none;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.admin-root .admin-btn-danger:hover{opacity:.85}.admin-root .admin-btn-ghost{background:none;border:1px solid var(--admin-border);color:var(--admin-text-dim)}.admin-root input[type=text],.admin-root input[type=search],.admin-root input[type=number],.admin-root select{background:var(--admin-bg-input);border:1px solid var(--admin-border);color:var(--admin-text);padding:8px 12px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.admin-root input:focus,.admin-root select:focus{border-color:var(--admin-accent)}.admin-root .admin-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-root .admin-badge-pending{background:#1a1a26;color:var(--admin-text-dim);border:1px solid var(--admin-border)}.admin-root .admin-badge-queued,.admin-root .admin-badge-dispatching{background:#6366f126;color:var(--admin-accent)}.admin-root .admin-badge-running,.admin-root .admin-badge-completed{background:#22c55e26;color:var(--admin-success)}.admin-root .admin-badge-failed{background:#ef444426;color:var(--admin-danger)}.admin-root .admin-badge-canceled{background:#8888a026;color:var(--admin-text-dim)}.admin-root .admin-badge-retry_pending{background:#f59e0b26;color:var(--admin-warn)}.admin-root .admin-login-page{display:flex;align-items:center;justify-content:center;height:100vh}.admin-root .admin-login-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);padding:40px;width:380px;text-align:center}.admin-root .admin-login-card h1{font-size:18px;font-weight:700;margin-bottom:8px}.admin-root .admin-login-card p{font-size:13px;color:var(--admin-text-dim);margin-bottom:24px}.admin-root .admin-error{color:var(--admin-danger);font-size:13px;margin-bottom:12px}.admin-root .admin-mfa-input{display:flex;gap:8px;justify-content:center;margin:16px 0}.admin-root .admin-mfa-input input{width:160px;text-align:center;font-size:18px;font-weight:700;letter-spacing:4px;font-variant-numeric:tabular-nums}.admin-root .admin-qr-container{margin:16px 0}.admin-root .admin-qr-container img{background:#fff;padding:8px}.admin-root .admin-secret-text{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--admin-text-dim);word-break:break-all;margin-top:8px}.admin-root .admin-pagination{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px;color:var(--admin-text-dim)}.admin-root .admin-pagination button{background:var(--admin-bg-input);border:1px solid var(--admin-border);color:var(--admin-text);padding:4px 12px;font-size:12px;cursor:pointer}.admin-root .admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-root .admin-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.admin-root .admin-loading{color:var(--admin-text-dim);padding:40px;text-align:center;font-size:13px;height:100vh;display:flex;align-items:center;justify-content:center}.admin-root .admin-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}
