*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.subtitle{color:#666;font-size:1.1rem;margin-bottom:1rem}.App-main{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.App-footer{background:#fffffff2;box-shadow:0 -2px 10px #0000001a;color:#666;font-size:.9rem;padding:1rem;text-align:center}.filters-container{align-items:center;background:#fffffff2;border-radius:15px;box-shadow:0 4px 20px #0000001a;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{align-items:center;color:#666;display:flex;font-size:.9rem;font-weight:500;height:1.5rem}.filter-group>:not(label){align-items:center;display:flex;height:2.75rem}.filter-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s}.filter-input:focus{border-color:#667eea;outline:none}.filter-slider{-webkit-appearance:none;background:#e0e0e0;border-radius:8px;height:2.75rem;outline:none;position:relative;width:100%}.filter-slider::-webkit-slider-runnable-track{background:#0000;border-radius:8px;height:2.75rem;width:100%}.filter-slider::-moz-range-track{background:#0000;border-radius:8px;height:2.75rem;width:100%}.filter-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#667eea;border-radius:4px;cursor:pointer;height:2.75rem;-webkit-transition:background .3s;transition:background .3s;width:20px}.filter-slider::-webkit-slider-thumb:hover{background:#764ba2}.filter-slider::-moz-range-thumb{background:#667eea;border:none;border-radius:4px;cursor:pointer;height:2.75rem;-moz-transition:background .3s;transition:background .3s;width:20px}.filter-slider::-moz-range-thumb:hover{background:#764ba2}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .3s}.filter-select:focus{border-color:#667eea;outline:none}@media (max-width:768px){.App-header{padding-top:4.5rem}.App-header h1{font-size:2rem}.App-main{padding:1rem}.filters-container{flex-direction:column;gap:1rem}.filter-group{min-width:100%}}.signal-card{align-items:center;animation:slideIn .3s ease-out;background:#fffffff2;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;gap:1.5rem;min-height:80px;padding:1rem 1.5rem;transition:transform .2s,box-shadow .2s}.signal-card:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-2px)}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes newSignal{0%{background:#4caf504d;transform:scale(1.02)}to{background:#fffffff2;transform:scale(1)}}.signal-card.signal-new{animation:slideIn .2s ease-out,newSignal 1s ease-out}.signal-left{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.signal-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.signal-ticker{color:#333;font-size:1.3rem;font-weight:700;margin:0;position:relative;transition:color .2s;-webkit-user-select:none;user-select:none}.signal-ticker:hover{color:#667eea}.copy-feedback{animation:fadeIn .2s ease-in;color:#28a745;font-size:.7rem;font-weight:400;margin-left:.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}.signal-strength{align-self:stretch;font-size:1rem;gap:.5rem}.signal-strength,.strength-bar-container{align-items:center;display:flex;height:100%}.strength-bar-container{background:#e0e0e0;border-radius:6px;min-height:32px;overflow:hidden;position:relative;width:140px}.strength-bar{border-radius:6px;box-shadow:0 1px 3px #0003;height:100%;left:0;min-width:2px;position:absolute;top:0;transition:width .3s ease,background .3s ease}.strength-value{color:#333;font-size:.85rem;font-weight:700;padding-left:.5rem;position:relative;text-shadow:0 1px 2px #fffc;z-index:1}.signal-price{margin:0}.price-value{color:#667eea;display:inline-block;font-size:1.5rem;font-weight:700;min-width:160px;text-align:left}.signal-time{color:#666;font-size:.85rem}.signal-center{display:flex;flex:1 1;flex-direction:column;gap:.75rem}@media (min-width:769px){.signal-time-mobile{display:none}.signal-time-desktop{display:block}}@media (max-width:768px){.signal-deltas{align-items:center;display:flex;flex-direction:row;width:100%}.signal-strength{order:3;width:100%}.signal-buy-sell{margin-top:0;order:4}.signal-center{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.signal-deltas-row{flex-wrap:wrap;gap:.5rem}.signal-deltas-row,.signal-indicators-row{align-items:center;display:flex;flex-direction:row}.signal-indicators-row{gap:.75rem;width:100%}.signal-indicators-row .signal-buy-sell,.signal-indicators-row .signal-strength{flex:1 1;margin-top:0;order:0}}.signal-deltas{align-items:center;display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:flex-start}.signal-deltas .signal-strength{font-size:1rem;margin-left:0;text-align:left}.price-delta{align-items:center;border-radius:6px;display:flex;font-size:.85rem;gap:.4rem;padding:.4rem .8rem}.price-delta.positive{background:#d4edda;color:#155724}.price-delta.negative{background:#f8d7da;color:#721c24}.price-delta.neutral{background:#e2e3e5;color:#383d41}.delta-label{font-weight:600}.delta-arrow{font-size:1rem;margin:0 .2rem}.delta-arrow,.delta-value{font-weight:700}.delta-icon{display:none}.signal-buy-sell{display:flex;flex-direction:column;gap:.4rem}.signal-indicators-mobile{display:none}.buy-sell-bar{background:#f0f0f0;border-radius:12px;display:flex;height:24px;overflow:hidden}.buy-bar{background:linear-gradient(90deg,#28a745,#20c997)}.buy-bar,.sell-bar{transition:width .3s ease}.sell-bar{background:linear-gradient(90deg,#dc3545,#fd7e14)}.buy-sell-labels{display:flex;font-size:.85rem;justify-content:space-between}.buy-label{color:#28a745;font-weight:600}.sell-label{color:#dc3545;font-weight:600}.signal-right{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem;min-width:140px}.signal-stats{background:#f8f9fa;border-radius:6px;display:flex;gap:1rem;padding:.5rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.2rem}.stat-label{color:#666;font-size:.75rem}.stat-value{color:#333;font-size:1rem;font-weight:700}.signal-actions{gap:.5rem}.action-button,.signal-actions{align-items:center;display:flex}.action-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:1rem;justify-content:center;padding:.4rem .6rem;transition:all .2s}.action-button:hover{background:#e9ecef;border-color:#adb5bd;transform:scale(1.05)}.copy-button{min-width:36px}.binance-link{color:#667eea;display:inline-block;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s;white-space:nowrap}.binance-link:hover{color:#764ba2;text-decoration:underline}.binance-link-line1,.binance-link-line2{display:block;line-height:1.2}@media (min-width:769px){.binance-link-line1,.binance-link-line2{display:inline}.binance-link-line1:after{content:" "}}@media (max-width:1024px){.signal-card{align-items:flex-start;flex-direction:column;gap:1rem}.signal-left,.signal-right{min-width:auto;width:100%}.signal-right{align-items:flex-start}.signal-stats{justify-content:space-around;width:100%}}@media (max-width:768px){.signal-card{gap:.75rem;padding:.75rem}.signal-ticker{font-size:1rem}.signal-left{align-items:flex-start;flex-direction:column;gap:.5rem;width:100%}.signal-header{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-between;width:100%}.signal-time-desktop{display:none}.signal-time-mobile{display:block;flex-shrink:0;font-size:.7rem;white-space:nowrap}.signal-price{width:100%}.price-value{font-size:1.1rem}.signal-time{flex-shrink:0;font-size:.7rem;white-space:nowrap}.signal-center{width:100%}.signal-deltas{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem}.signal-buy-sell:not(.signal-buy-sell-mobile),.signal-deltas .signal-strength{display:none}.signal-indicators-mobile{align-items:flex-start;display:flex;flex-direction:row;gap:.75rem;margin-top:.5rem;width:100%}.signal-strength-mobile{align-items:flex-start;display:flex;flex:1 1;gap:.5rem;height:24px}.signal-strength-mobile .strength-bar-container{height:24px;min-height:24px;width:100px}.signal-buy-sell-mobile{display:flex;flex:1 1;flex-direction:column;gap:.4rem}.signal-buy-sell-mobile .buy-sell-bar{height:24px;width:100%}.price-delta{font-size:.75rem;padding:.3rem .6rem}.strength-bar-container{width:100px}.buy-sell-labels,.strength-value{font-size:.75rem}.signal-right{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.signal-stats{flex:1 1;gap:.75rem;padding:.4rem}.stat-label{font-size:.7rem}.stat-value{font-size:.9rem}.signal-actions{align-items:flex-end;flex-direction:column;gap:.25rem}.binance-link{align-items:flex-start;display:flex;flex-direction:column;font-size:.8rem;line-height:1.2;text-align:left}}.signal-list{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.signal-list-empty{background:#fffffff2;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:4rem 2rem;text-align:center}.signal-list-empty p{color:#666;font-size:1.2rem;margin-bottom:.5rem}.empty-hint{color:#999!important;font-size:.9rem!important}@media (max-width:768px){.signal-list{gap:1rem;grid-template-columns:1fr}}.connection-status{align-items:center;border-radius:20px;box-shadow:0 2px 8px #00000026;display:inline-flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;position:fixed;right:1rem;top:1rem;z-index:1000}.connection-status.connected{background:#d4edda;color:#155724}.connection-status.disconnected{background:#f8d7da;color:#721c24}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.connection-status.connected .status-dot{animation:pulse 2s infinite;background:#28a745}.connection-status.disconnected .status-dot{animation:blink 1s infinite;background:#dc3545}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}
/*# sourceMappingURL=main.35858a11.css.map*/