:root{--foreground: #bcbcbc}body{margin:0;font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a1a;color:#fff}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html,body,#root{height:100%}.App{text-align:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.App-header{padding:2rem;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.App-header h1{margin:0 0 1rem;font-size:2.5rem;font-weight:300}.App-header p{margin:0;font-size:1.2rem;opacity:.9}.App-main{padding:2rem;max-width:1200px;margin:0 auto}body.full-width-screen .App-main{max-width:none}.App-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem;margin-top:1rem;color:#fff}.App-content-row{display:grid;grid-template-columns:"1fr";gap:1rem;margin-top:1rem;color:#fff}.App-section{background:#ffffff1a;border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.App-error{background:#dc354533;border:1px solid rgba(220,53,69,.5);border-radius:12px;padding:2rem;margin:2rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.App-error h3{color:#ff6b6b;margin-top:0}.component{text-align:left}.component h3{margin-top:0;color:#fff;font-size:1.5rem;font-weight:400}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#ffffffe6}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;box-sizing:border-box}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff9}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf74d}.button{background:linear-gradient(135deg,#4dabf7,#339af0);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin:.5rem}.button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4dabf766}.button:active{transform:translateY(0)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button.secondary{background:linear-gradient(135deg,#868e96,#6c757d)}.button.danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52)}.output{background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:1rem;margin-top:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.output.success{border-color:#51cf66;background:#51cf661a}.output.error{border-color:#ff6b6b;background:#ff6b6b1a}.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status.loading{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.status.success{background:#51cf6633;color:#51cf66;border:1px solid rgba(81,207,102,.3)}.status.error{background:#ff6b6b33;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.slider{width:200px;margin:100px auto;background:#97fce4}input[type=range]{-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);width:100%;height:20px;margin:0;border:none;padding:1px 2px;border-radius:14px;background:#232528;box-shadow:inset 0 1px #0d0e0f,inset 0 -1px #3a3d42;-webkit-box-shadow:inset 0 1px 0 0 #0d0e0f,inset 0 -1px 0 0 #3a3d42;outline:none}input[type=range]::-moz-range-track{border:inherit;background:transparent}input[type=range]::-ms-track{border:inherit;color:transparent;background:transparent}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:transparent}input[type=range]::-ms-tooltip{display:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:18px;border:none;border-radius:12px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#529de1),color-stop(100%,#245e8f));background-image:-webkit-linear-gradient(top,#529de1 0,#245e8f 100%);background-image:linear-gradient(to bottom,#529de1 0,#245e8f)}input[type=range]::-moz-range-thumb{width:40px;height:18px;border:none;border-radius:12px;background-image:linear-gradient(to bottom,#529de1 0,#245e8f)}input[type=range]::-ms-thumb{width:40px;height:18px;border-radius:12px;border:0;background-image:linear-gradient(to bottom,#529de1 0,#245e8f)}@media (max-width: 768px){.App-header h1{font-size:2rem}.App-content{grid-template-columns:1fr;gap:1rem}.App-section{padding:1rem}}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{z-index:1;will-change:width,height}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg08IS0tIEdlbmVyYXRvcjogQWRvYmUgRmlyZXdvcmtzIENTNiwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DTwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DTxzdmcgaWQ9IlVudGl0bGVkLVBhZ2UlMjAxIiB2aWV3Qm94PSIwIDAgNiA2IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiDQl4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiDT4NCTxnIG9wYWNpdHk9IjAuMzAyIj4NCQk8cGF0aCBkPSJNIDYgNiBMIDAgNiBMIDAgNC4yIEwgNCA0LjIgTCA0LjIgNC4yIEwgNC4yIDAgTCA2IDAgTCA2IDYgTCA2IDYgWiIgZmlsbD0iIzAwMDAwMCIvPg0JPC9nPg08L3N2Zz4=);background-position:bottom right;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;cursor:se-resize}#content{width:100%}.layoutJSON{background:#ffffff1a;border:1px solid black;margin-top:10px;padding:10px}.columns{-moz-columns:120px;-webkit-columns:120px;columns:120px}.react-grid-item{box-sizing:border-box}.react-grid-item:not(.react-grid-placeholder){background:#ccc;border:1px solid black}.react-grid-item.resizing{opacity:.9}.react-grid-item.static{background:transparent;border:none}.react-grid-item .text{font-size:24px;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;height:24px}.react-grid-item .minMax{font-size:12px}.react-grid-item .add{cursor:pointer}.react-grid-dragHandleExample{cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}li b{font-size:19px;line-height:14px}.sdk-test-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sdk-test-config-input,.sdk-test-config-select{width:100%;padding:.5rem;margin-top:.25rem;font-size:1rem;border-radius:4px;border:1px solid #ccc;background-color:#fff;color:#333}.sdk-test-config-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.sdk-test-config-hint{display:block;margin-top:.25rem;font-size:.85rem}.sdk-test-config-hint.success{color:#28a745}.sdk-test-config-hint.warning{color:#ff9f43}.sdk-test-config-hint.info{color:#51cf66}.control-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.sdk-test-button-dismiss{margin-left:.5rem;padding:.25rem .5rem;font-size:.8rem;background-color:transparent;color:red;border:1px solid red;border-radius:4px;cursor:pointer}.sdk-test-button-dismiss:hover{background-color:#ff00001a}.sdk-test-status{margin-left:1rem}.sdk-test-status.success{color:#e0ffff}.sdk-test-status.error{color:red}.sdk-test-section{text-align:start;margin-bottom:2rem;border-radius:8px;overflow:hidden}.sdk-test-section-header{margin:0;padding:1rem;background-color:#1c1c1c;border-bottom:1px solid #ddd;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.sdk-test-section-header:hover{background-color:#2a2a2a}.sdk-test-section-chevron{font-size:.9rem;margin-left:1rem}.sdk-test-section-content{padding-top:.5rem}.sdk-test-result-item{padding:.75rem;margin-bottom:.5rem;border-radius:4px}.sdk-test-result-item.success{background-color:#d4edda;border:1px solid #c3e6cb}.sdk-test-result-item.error{background-color:#f8d7da;border:1px solid #f5c6cb}.sdk-test-result-content{flex:1}.sdk-test-result-message{color:#00f;font-weight:700;margin-bottom:.25rem}.sdk-test-result-error{color:#721c24;font-size:.9rem;margin-top:.25rem}.sdk-test-result-data{margin-top:.5rem}.sdk-test-result-data summary{cursor:pointer;font-size:.9rem;color:#666}.sdk-test-result-data pre{margin-top:.5rem;text-align:start;padding:.5rem;background-color:#363a3f;border-radius:4px;overflow:auto;font-size:.85rem}.sdk-test-result-timestamp{font-size:.8rem;color:#666;margin-left:1rem}.sdk-test-empty-state{text-align:center;padding:3rem;color:#051e0f}.ws-test-page{padding:2rem;max-width:1400px;margin:0 auto}.ws-test-page-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.connection-steps-container{margin-bottom:2rem;padding:1rem;border:1px solid #ccc;border-radius:8px;text-align:start;color:#747474;background-color:#28292a}.connection-steps-list{display:flex;flex-direction:column;gap:.5rem}.connection-step-item{padding:.75rem;border-radius:4px;display:flex;align-items:start;gap:.75rem}.connection-step-item.error{background-color:#f8d7da;border:1px solid #f5c6cb}.connection-step-item.success{background-color:#d4edda;border:1px solid #c3e6cb}.connection-step-item.in-progress{background-color:#fff3cd;border:1px solid #ffc107}.connection-step-item.pending{background-color:#e2e3e5;border:1px solid #d6d8db}.connection-step-icon{font-weight:700;min-width:20px}.connection-step-content{flex:1}.connection-step-title{font-weight:700;margin-bottom:.25rem}.connection-step-details{font-size:.85rem;color:#666;white-space:pre-wrap;word-break:break-word}.connection-step-timestamp{font-size:.75rem;color:#999;margin-top:.25rem}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.config-actions{margin-top:1rem;display:flex;gap:1rem;align-items:center}.config-input{width:100%;padding:.5rem;margin-top:.25rem}.config-select{width:100%;padding:.5rem;margin-top:.25rem;font-size:1rem;border-radius:4px;border:1px solid #ccc;background-color:#fff;color:#333}.config-input-disabled{width:100%;padding:.5rem;margin-top:.25rem;background-color:#f5f5f5}.config-input-disabled.has-value{background-color:#e7f3ff}.config-hint{display:block;margin-top:.25rem;color:#28a745}.channel-section{margin-top:1rem;border:1px solid #ddd;border-radius:8px;overflow:hidden}.channel-header{padding:1rem;background-color:#1c1c1c;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}.channel-title{margin:0;color:#fff}.channel-content{padding:1rem}.channel-buttons-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.channel-buttons-row{display:flex;gap:.5rem;flex-wrap:wrap}.private-note{margin-top:1rem;padding:.75rem;border:1px solid #ffc107;background-color:#f713a322;border-radius:4px}.private-note-text{color:#f6f669}.private-note-text-block{color:#f6f676;display:block;margin-top:.25rem}.messages-container{height:500px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:.5rem}.messages-container.public{text-align:start;color:#747474;background-color:#28292a}.messages-container.private{text-align:start;color:#747474;background-color:#253b51}.messages-empty{text-align:start;padding:2rem;color:#666}.messages-empty.private{text-align:center}.message-item{padding:.75rem;margin-bottom:.5rem;border-radius:4px}.message-item.error{background-color:#f8d7da;border:1px solid #f5c6cb}.message-item.success{background-color:#d4edda;border:1px solid #c3e6cb}.message-item.warning{background-color:#fff3cd;border:1px solid #ffc107}.message-item.debug{background-color:#e7f3ff;border:1px solid #b3d9ff}.message-item.info{background-color:#d1ecf1;border:1px solid #bee5eb}.message-header{display:flex;justify-content:space-between;align-items:start}.message-content{flex:1}.message-title{font-weight:700;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.message-step{font-size:.85rem;color:#666;font-style:italic}.message-body{margin-top:.5rem;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;font-size:.9rem;line-height:1.4}.funding-rate-details{margin-top:.5rem;padding:.75rem;background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;font-size:.9rem}.funding-rate-title{display:block;margin-bottom:.5rem}.funding-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;line-height:1.6}.funding-rate-stale{color:#dc3545;font-weight:600}.funding-rate-stale.valid{color:#28a745}.positions-container{margin-top:.5rem;padding:.75rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;font-size:.9rem}.positions-title{display:block;margin-bottom:.5rem}.positions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.position-card{padding:.75rem;background-color:#3f3f3f;border:1px solid #c3e6cb;border-radius:4px}.position-symbol{font-weight:600;margin-bottom:.5rem;color:#495057}.position-details{font-size:.85rem;line-height:1.6}.position-side-long{color:#28a745;font-weight:600}.position-side-short{color:#dc3545;font-weight:600}.position-pnl-positive{color:#28a745}.position-pnl-negative{color:#dc3545}.raw-data-summary{cursor:pointer;font-size:.9rem;color:#666;margin-top:.5rem}.raw-data-pre{margin-top:.5rem;text-align:start;padding:.5rem;background-color:#363a3f;color:#fff;border-radius:4px;overflow:auto;font-size:.85rem;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height;-webkit-user-select:none;user-select:none}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.tradingview-widget-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tradingview-widget-container{width:100%;height:630px;min-height:400px;position:relative}.tradingview-widget-container>div{width:100%;height:100%}.tradingview-widget-container iframe{width:100%;height:100%;border:none}.layout-container{display:flex;flex-direction:column;background:#0000004d;border-radius:8px;overflow:hidden}.layout-header{display:flex;justify-content:space-between;align-items:center;padding:.2rem 1rem;background:#0006;border-bottom:1px solid rgba(255,255,255,.1)}.layout-header-title{font-size:1rem;font-weight:600;color:#ffffffe6}.layout-header-actions{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:#ffffffb3}.layout-header .btn-icon{color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.layout-header img{width:1.25rem;height:1.25rem}.layout-header .btn-tab{display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .5s ease;padding:.25rem .5rem;color:#ffffffb3;border-radius:4px}.layout-header .btn-tab:hover{background:#ffffff1a;color:#ffffffe6}.status-indicator{display:flex;align-items:center;gap:.5rem}.status-dot{font-size:.7rem;font-weight:600}.status-dot.connected{color:#51cf66}.status-dot.disconnected{color:#ff6b6b}.table-container{flex:1;overflow-y:auto;display:flex;flex-direction:column}.table-container.shrinkable{min-height:0}.table-header{display:grid;gap:.5rem;padding:.75rem 1rem;background:#000000b0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.85rem;font-weight:500;color:#ffffffb3;position:sticky;top:0;z-index:10}.table-header-cell{cursor:pointer;display:flex;align-items:center}.table-header-cell.center{text-align:center}.table-row{display:grid;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .2s}.table-row:last-child{border-bottom:none}.table-row.even{background-color:#ffffff05}.table-row.clickable{cursor:pointer}.table-row.clickable:hover{background-color:#ffffff0d!important}.table-cell{color:#fffc}.table-cell.primary{color:#ffffffe6}.table-cell.right{text-align:right}.table-cell.center{text-align:center}.table-cell.monospace{font-family:monospace}.message{padding:2rem;text-align:center}.message.loading{color:#ffffffb3}.message.error{color:#ff6b6b}.message.empty{color:#ffffff80;font-size:.85rem}.message.warning{color:#ffffff80}.btn{padding:.4rem .8rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-danger{background:transparent;border:1px solid #ff6b6b;color:#ff6b6b}.btn-danger:hover{background:#ff6b6b;color:#fff}.btn-success{background:transparent;border:1px solid #51cf66;color:#51cf66}.btn-success:hover{background:#51cf66;color:#fff}.btn-buy{width:100%;padding:1rem;background:linear-gradient(135deg,#51cf66,#40c057);color:#fff;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-buy:disabled{cursor:not-allowed;opacity:.6}.btn-sell{width:100%;padding:1rem;background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-sell:disabled{cursor:not-allowed;opacity:.6}.btn-toggle{flex:1;padding:.75rem;border:none;border-radius:6px;background:transparent;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-toggle.active{background:linear-gradient(135deg,#97c8fc,#97fce4)}.btn-small{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;padding:.1rem .3rem;border-radius:2px;font-size:.7rem}.btn-tab{color:inherit}.btn-tab.active{color:#007bff}.color-buy{color:#51cf66}.color-sell{color:#ff6b6b}.color-text-primary{color:#ffffffe6}.color-text-secondary{color:#fffc}.color-text-muted{color:#ffffffb3}.color-text-dim{color:#ffffff80}.orderbook-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.orderbook-section{flex:1;overflow-y:auto;display:flex;flex-direction:column}.orderbook-section.bids{border-top:2px solid rgba(255,255,255,.2)}.orderbook-level{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;padding:.4rem 1rem;position:relative;font-size:.85rem;border-bottom:1px solid rgba(255,107,107,.1);transition:background-color .3s ease-out}.orderbook-level.bid{border-bottom:1px solid rgba(81,207,102,.1)}.orderbook-level:last-child{border-bottom:none}.orderbook-depth-bar{position:absolute;right:0;top:0;bottom:0;z-index:0}.orderbook-depth-bar.ask{background:#ff6b6b26}.orderbook-depth-bar.bid{background:#51cf6626}.orderbook-level-content{position:relative;z-index:1;text-align:left}.orderbook-level-content.ask{color:#ff6b6b}.orderbook-level-content.bid{color:#51cf66}.orderbook-level-content.right{text-align:right;color:#fffc}.orderbook-depth-indicator{position:relative;z-index:1;width:60px;height:100%;display:flex;align-items:center}.orderbook-depth-line{width:100%;height:4px;border-radius:2px}.orderbook-depth-line.ask{background:#ff6b6b66}.orderbook-depth-line.bid{background:#51cf6466}.orderbook-mid-price{padding:.75rem 1rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.orderbook-mid-price-value{font-size:1.1rem;font-weight:600;color:#ffffffe6;margin-bottom:.25rem}.orderbook-mid-price-spread{font-size:.75rem;color:#fff9}.orderbook-footer{padding:.5rem 1rem;background:#0006;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.orderbook-footer-legend{display:flex;align-items:center;gap:.5rem}.orderbook-footer-bar{width:40px;height:4px;border-radius:2px}.orderbook-footer-bar.bid{background:#51cf6699}.orderbook-footer-bar.ask{background:#ff6b6b99}.orderbook-ws-warning{padding:.75rem 1rem;background-color:#ffc10726;border-bottom:1px solid rgba(255,193,7,.3);display:flex;align-items:center;gap:.5rem;font-size:.8rem}.orderbook-ws-warning-icon{width:20px;height:20px;flex-shrink:0}.orderbook-ws-warning-text{color:#ffc107e6;flex:1}.trade-price-container{min-height:200px}.trade-price-main{padding:2rem 1rem;text-align:center;transition:background-color .3s ease-out}.trade-price-value{font-weight:700;margin-bottom:.5rem;font-family:monospace;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.trade-price-side{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;font-weight:600}.trade-price-details{padding:1rem;background:#0003;border-top:1px solid rgba(255,255,255,.1)}.trade-price-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:.85rem}.trade-price-detail-label{color:#fff9;margin-bottom:.25rem}.trade-price-detail-value{color:#ffffffe6;font-weight:600}.trade-price-trade-id{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.trade-price-trade-id-label{color:#fff9;font-size:.75rem;margin-bottom:.25rem}.trade-price-trade-id-value{color:#fffc;font-size:.75rem;font-family:monospace;word-break:break-all}.trade-op-config{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:.2rem}.trade-op-badge{display:flex;align-items:center;gap:.5rem}.trade-op-badge-label{padding:.25rem .75rem;background:#ffffff1a;border-radius:4px;font-size:.9rem}.trade-op-info-icon{cursor:pointer;width:16px;height:16px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:.7rem}.trade-op-order-type-selector{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#0000004d;padding:.25rem}.trade-op-form-group{margin-bottom:1.5rem}.trade-op-form-row{display:flex;justify-content:space-between;align-items:center}.trade-op-form-row.vertical{flex-direction:column;gap:.5rem}.trade-op-label{margin:0;padding-right:1rem}.trade-op-input{width:120px;text-align:right}.trade-op-available-funds{font-size:1.2rem;font-weight:500;color:#ffffffe6}.trade-op-size-controls{display:flex;align-items:center;gap:.5rem}.trade-op-size-buttons{display:flex;flex-direction:column;gap:.1rem}.trade-op-slider-labels{display:flex;justify-content:space-between;font-size:.75rem;margin-top:.25rem;opacity:.7}.trade-op-action-panel{display:grid;grid-template-columns:1fr 1fr;padding-top:1rem;padding-bottom:1rem;background-color:#0000004d}.trade-op-info-panel{background-color:#0000004d;padding-bottom:1rem}.trade-op-info-panel label{font-size:14px;font-family:sans-serif}.trade-op-panel-title{font-weight:600;font-size:1.1rem;margin-bottom:1rem}.trade-op-panel-title.buy{color:#51cf66}.trade-op-panel-title.sell{color:#ff6b6b}.trade-op-panel-size{font-size:.9rem;opacity:.8;margin-bottom:1rem}.trade-op-panel-details{font-size:.85rem;opacity:.8}.flash-up{background-color:#ffffff4d}.flash-down-ask{background-color:#ff6b6b33}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;overflow:auto}.modal-content{background:#14141ef2;border-radius:12px;padding:0;min-width:400px;max-width:500px;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1)}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#ffffffe6}.modal-body{padding:2rem 1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:1rem}.leverage-max-ratio{text-align:center;margin-bottom:2rem;padding:1rem;background:#0000004d;border-radius:8px}.leverage-max-ratio-label{font-size:.9rem;color:#ffffffb3;margin-bottom:.5rem}.leverage-max-ratio-value{font-size:2rem;font-weight:600;color:#ffffffe6}.leverage-slider-container{margin-top:1rem}.leverage-slider{width:100%;height:8px;border-radius:4px;background:#ffffff1a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.leverage-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4dabf7;cursor:pointer;border:2px solid rgba(255,255,255,.2)}.leverage-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#4dabf7;cursor:pointer;border:2px solid rgba(255,255,255,.2)}.leverage-slider-labels{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.85rem;color:#ffffffb3}.leverage-current-value{font-size:1.2rem;font-weight:600;color:#ffffffe6}.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fffc;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.btn-primary{background:linear-gradient(135deg,#66c8fc,#97fce4);border:1px solid #4dabf7;color:#fff;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:none}.btn-primary:hover{background:#339af0;border-color:#339af0}.flash-down-bid{background-color:#51cf6633}.flash-price-up{background-color:#51cf664d}.flash-price-down{background-color:#ff6b6b4d}.transfer-field-group{margin-bottom:1.5rem}.transfer-field-label{display:block;font-size:.9rem;color:#ffffffb3;margin-bottom:.5rem;font-weight:500}.transfer-select{width:100%;padding:.75rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffe6;font-size:.9rem;cursor:pointer;transition:all .2s ease;outline:none}.transfer-select:hover{border-color:#ffffff4d;background:#0006}.transfer-select:focus{border-color:#4dabf7;background:#0006}.transfer-select option{background:#14141ef2;color:#ffffffe6}.transfer-select:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background:#4dabf780;border-color:#4dabf780}.transfer-modal-content{max-width:520px}.transfer-modal-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);padding:0;margin:0;background:#0003}.transfer-tab{flex:1;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:#fff9;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;position:relative}.transfer-tab:hover{color:#ffffffe6;background:#ffffff08}.transfer-tab.active{color:#4dabf7;border-bottom-color:#4dabf7;background:#4dabf70d}.transfer-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#4dabf7;box-shadow:0 0 8px #4dabf766}.transfer-amount-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.transfer-available-balance{font-size:.85rem;color:#fff9;font-weight:400}.transfer-amount-display{text-align:center;padding:1rem;margin-bottom:1rem;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.transfer-amount-value{font-size:1.8rem;font-weight:600;color:#fffffff2;letter-spacing:-.02em}.transfer-amount-container{margin-top:.5rem}.transfer-amount-slider{width:100%;height:10px;border-radius:5px;background:linear-gradient(to right,rgba(77,171,247,.3) 0%,rgba(77,171,247,.3) var(--slider-progress, 0%),rgba(255,255,255,.1) var(--slider-progress, 0%),rgba(255,255,255,.1) 100%);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.transfer-amount-slider:hover{background:linear-gradient(to right,rgba(77,171,247,.4) 0%,rgba(77,171,247,.4) var(--slider-progress, 0%),rgba(255,255,255,.15) var(--slider-progress, 0%),rgba(255,255,255,.15) 100%)}.transfer-amount-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4dabf7,#339af0);cursor:pointer;border:3px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #4dabf766,0 0 #4dabf733;transition:all .2s ease}.transfer-amount-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 12px #4dabf799,0 0 0 4px #4dabf71a}.transfer-amount-slider::-webkit-slider-thumb:active{transform:scale(.95);box-shadow:0 2px 6px #4dabf780,0 0 0 2px #4dabf726}.transfer-amount-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4dabf7,#339af0);cursor:pointer;border:3px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #4dabf766;transition:all .2s ease}.transfer-amount-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 12px #4dabf799}.transfer-amount-slider::-moz-range-thumb:active{transform:scale(.95)}.transfer-amount-slider:disabled{opacity:.5;cursor:not-allowed}.transfer-amount-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;transform:none}.transfer-amount-slider:disabled::-moz-range-thumb{cursor:not-allowed;transform:none}.transfer-amount-labels{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.8rem;color:#fff9;font-weight:400}.transfer-insufficient-funds{padding:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:8px;color:#ff6b6b;font-size:.9rem;text-align:center;font-weight:500}.trading-test-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.trading-test-input,.trading-test-select{width:100%;padding:8px 12px;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;margin-top:5px}.trading-test-input:focus,.trading-test-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.trading-test-price-display{display:flex;align-items:center;padding:10px;background-color:#2a2a2a;border-radius:4px;color:#0f0;font-size:16px}.trading-test-price-range-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.trading-test-range{width:100%;margin-top:5px}.trading-test-chart-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.trading-test-chart-info{display:flex;gap:20px;color:#000;font-size:14px}.trading-test-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;color:#fff}.trading-test-button-primary{background-color:#007bff}.trading-test-button-primary:hover:not(:disabled){background-color:#0056b3}.trading-test-button-success{background-color:#28a745}.trading-test-button-success:hover:not(:disabled){background-color:#1e7e34}.trading-test-button-secondary{background-color:#6c757d}.trading-test-button-secondary:hover:not(:disabled){background-color:#545b62}.trading-test-button:disabled{opacity:.6;cursor:not-allowed}.trading-test-submission-buttons{display:flex;gap:15px;flex-wrap:wrap}.trading-test-results{background-color:#ffffff1a;border-radius:8px;padding:20px;margin-bottom:20px}.trading-test-results-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;background-color:#2a2a2a;border-radius:4px}.trading-test-results-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.trading-test-result-item{padding:12px;border-radius:4px;background-color:#2a2a2a;border-left:4px solid #6c757d}.trading-test-result-item.success{border-left-color:#28a745}.trading-test-result-item.error{border-left-color:#dc3545}.trading-test-result-item>div{display:flex;flex-direction:column;gap:5px}.trading-test-result-item strong{color:#fff;font-size:14px}.trading-test-result-item span{color:#aaa;font-size:12px}.trading-test-result-item .error-text{color:#dc3545}.price-amount-chart-container{width:100%;margin-top:15px}.price-amount-chart-instructions{margin-top:15px;padding:10px;background-color:#2a2a2a;border-radius:4px;color:#aaa;font-size:12px}.price-amount-chart-instructions p{margin:5px 0}.trading-test-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #333}.trading-test-tab{padding:12px 24px;background-color:transparent;border:none;border-bottom:3px solid transparent;color:#aaa;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:-2px}.trading-test-tab:hover{color:#fff;background-color:#2a2a2a}.trading-test-tab.active{color:#007bff;border-bottom-color:#007bff;background-color:#1a1a1a}.trading-test-pending-orders-controls{display:flex;flex-direction:column;gap:15px}.trading-test-cancel-buttons{display:flex;gap:10px;flex-wrap:wrap}.trading-test-button-info{background-color:#17a2b8}.trading-test-button-info:hover:not(:disabled){background-color:#138496}.trading-test-button-danger{background-color:#dc3545}.trading-test-button-danger:hover:not(:disabled){background-color:#c82333}@media (max-width: 768px){.trading-test-config-grid,.trading-test-price-range-controls{grid-template-columns:1fr}.trading-test-submission-buttons{flex-direction:column}.trading-test-button{width:100%}.trading-test-chart-controls{flex-direction:column;align-items:flex-start}}.toaster{z-index:9999}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #a8a8a8;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}
