*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e27;--bg-secondary: #131829;--bg-tertiary: #1a1f35;--bg-card: #1e2339;--bg-hover: #252b42;--accent-primary: #00d4ff;--accent-secondary: #7c3aed;--accent-success: #10b981;--accent-danger: #ef4444;--accent-warning: #f59e0b;--text-primary: #ffffff;--text-secondary: #a0aec0;--text-muted: #718096;--border-primary: #2d3748;--border-secondary: #4a5568;--status-connected: #10b981;--status-disconnected: #ef4444;--status-pending: #f59e0b;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Courier New", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-md);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.login-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:12px;padding:var(--spacing-xl);box-shadow:0 8px 32px #0000004d;border:1px solid var(--border-primary)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--text-primary);letter-spacing:-.5px}.login-subtitle{font-size:.875rem;color:var(--text-secondary);opacity:.8}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input{width:100%;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:1rem;font-family:var(--font-sans);transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-group input::placeholder{color:var(--text-muted)}.btn-login{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-md);font-size:1rem;font-weight:600}.login-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--accent-danger);border-radius:8px;color:var(--accent-danger);font-size:.875rem;text-align:center;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width: 480px){.login-card{padding:var(--spacing-lg);border-radius:8px}.login-header h1{font-size:1.5rem}}.container{max-width:100%;margin:0;background:var(--bg-primary);min-height:100vh}header{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);padding:var(--spacing-md);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}header h1{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--text-primary);letter-spacing:-.5px}.subtitle{font-size:.75rem;color:var(--text-secondary);opacity:.8}.btn-logout{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;white-space:nowrap}.controls{padding:var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.btn{padding:.875rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:var(--text-primary);box-shadow:0 2px 8px #00d4ff33}.btn-primary:active{transform:scale(.98);box-shadow:0 1px 4px #00d4ff4d}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:active{transform:scale(.98);background:var(--bg-hover)}.status-bar{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);font-size:.75rem}.status-item{display:flex;align-items:center;gap:var(--spacing-xs)}.status-label{color:var(--text-secondary);font-weight:500}.status-connected,.status-disconnected{padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.status-connected{background:#10b98133;color:var(--accent-success);border:1px solid var(--accent-success)}.status-disconnected{background:#ef444433;color:var(--accent-danger);border:1px solid var(--accent-danger)}.error-message{color:var(--accent-danger);font-size:.75rem;font-weight:500}.price-display{padding:var(--spacing-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);text-align:center}.price-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-sm);font-weight:600}.price-value{font-size:2.5rem;font-weight:700;color:var(--accent-primary);margin-bottom:var(--spacing-sm);font-family:var(--font-mono);transition:all .3s ease;text-shadow:0 0 20px rgba(0,212,255,.3)}.price-value.price-update{transform:scale(1.05);color:var(--accent-success)}.price-meta{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;font-size:.75rem;color:var(--text-secondary)}.price-change{font-weight:600;padding:.25rem .5rem;border-radius:4px;font-size:.7rem}.price-change.positive{color:var(--accent-success);background:#10b98133;border:1px solid var(--accent-success)}.price-change.negative{color:var(--accent-danger);background:#ef444433;border:1px solid var(--accent-danger)}.card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-primary)}.card-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.active-event-section{padding:var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.active-event-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.active-event-content{background:var(--bg-card);border-radius:12px;padding:var(--spacing-md);border:1px solid var(--border-primary)}.active-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.active-event-badge{background:linear-gradient(135deg,var(--accent-success) 0%,#059669 100%);color:var(--text-primary);padding:.375rem .75rem;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.active-event-status{background:var(--accent-danger);color:var(--text-primary);padding:.375rem .75rem;border-radius:6px;font-size:.7rem;font-weight:700;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.active-event-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:1.4}.active-event-countdown{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#10b98133,#05966933);border:1px solid var(--accent-success);border-radius:8px}.countdown-label{font-size:.75rem;color:var(--accent-success);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.countdown-value{font-size:1.5rem;font-weight:700;color:var(--accent-success);font-family:var(--font-mono);background:#10b9811a;padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;min-width:100px;text-align:center}.active-event-price-to-beat{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#00d4ff1a,#7c3aed1a);border:1px solid var(--accent-primary);border-radius:8px}.price-to-beat-label{font-size:.75rem;color:var(--accent-primary);font-weight:600;text-transform:uppercase}.price-to-beat-value{font-size:1.25rem;font-weight:700;color:var(--accent-primary);font-family:var(--font-mono);background:#00d4ff1a;padding:var(--spacing-sm) var(--spacing-md);border-radius:6px}.active-event-up-down-prices{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.up-down-button{padding:var(--spacing-md);border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-height:80px;touch-action:manipulation}.up-button{background:linear-gradient(135deg,var(--accent-success) 0%,#059669 100%);color:var(--text-primary);border:1px solid var(--accent-success)}.up-button:active{transform:scale(.98)}.down-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.down-button:active{transform:scale(.98);background:var(--bg-hover)}.up-down-button .button-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.up-down-button .button-price{font-size:1.25rem;font-weight:700;font-family:var(--font-mono);transition:all .3s ease}.up-down-button .button-price.price-update{transform:scale(1.1);color:var(--accent-warning)}.info-section,.events-section,.wallet-section,.orders-section,.trading-section{padding:var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.info-section h2,.events-section h2,.wallet-section h2,.orders-section h2,.trading-section h2{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.events-table-container,.trades-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-card)}.events-table,.trades-table,.orders-table{width:100%;border-collapse:collapse;font-size:.75rem;min-width:600px}.events-table thead,.trades-table thead,.orders-table thead{background:var(--bg-tertiary);position:sticky;left:0;z-index:10}.events-table th,.trades-table th,.orders-table th{padding:var(--spacing-sm);text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.events-table td,.trades-table td,.orders-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--border-primary);color:var(--text-primary);word-break:break-word}.events-table tbody tr,.trades-table tbody tr,.orders-table tbody tr{transition:background-color .2s}.events-table tbody tr:hover,.trades-table tbody tr:hover,.orders-table tbody tr:hover{background-color:var(--bg-hover)}.events-table tbody tr.current-event{background-color:#00d4ff1a;border-left:3px solid var(--accent-primary)}.status-active,.status-filled{color:var(--accent-success);background:#10b98133;border:1px solid var(--accent-success);padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;display:inline-block}.status-expired,.status-failed{color:var(--accent-danger);background:#ef444433;border:1px solid var(--accent-danger);padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;display:inline-block}.status-upcoming,.status-pending{color:var(--accent-warning);background:#f59e0b33;border:1px solid var(--accent-warning);padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;display:inline-block}.wallet-controls{display:flex;flex-direction:column;gap:var(--spacing-md)}.wallet-status{background:var(--bg-card);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--border-primary)}.wallet-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.wallet-info{background:var(--bg-card);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--border-primary)}.wallet-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.wallet-detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-primary);font-size:.875rem}.wallet-detail-item:last-child{border-bottom:none}.wallet-detail-item .detail-label{font-weight:600;color:var(--text-secondary)}.wallet-detail-item .detail-value{color:var(--text-primary);font-family:var(--font-mono);font-size:.75rem;word-break:break-all;text-align:right;max-width:60%}.trading-controls{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.strategy-config,.trading-status-panel{background:var(--bg-card);padding:var(--spacing-md);border-radius:8px;border:1px solid var(--border-primary)}.strategy-config h3,.trading-status-panel h3{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.config-grid{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.config-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.config-item label{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.config-item input[type=number],.config-item input[type=checkbox],.config-item select{padding:.75rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.875rem;background:var(--bg-tertiary);color:var(--text-primary);width:100%;min-height:44px;font-family:var(--font-mono)}.config-item input[type=number]:focus,.config-item select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d4ff1a}.config-item small{font-size:.7rem;color:var(--text-muted);font-style:italic;margin-top:var(--spacing-xs)}.config-actions,.trading-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.status-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.status-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.status-item .status-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-item .status-value{font-size:1rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.status-item .status-value.success,.status-item .status-value.profit{color:var(--accent-success)}.status-item .status-value.failed,.status-item .status-value.loss{color:var(--accent-danger)}.position-info{background:var(--bg-card);padding:var(--spacing-md);border-radius:8px;border:2px solid var(--accent-primary);margin-top:var(--spacing-md)}.position-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);font-size:.875rem}.position-details .profit{color:var(--accent-success);font-weight:700}.position-details .loss{color:var(--accent-danger);font-weight:700}.side-buy{color:var(--accent-success);background:#10b98133;border:1px solid var(--accent-success);padding:.25rem .5rem;border-radius:4px;font-weight:700;font-size:.7rem;display:inline-block}.side-sell{color:var(--accent-danger);background:#ef444433;border:1px solid var(--accent-danger);padding:.25rem .5rem;border-radius:4px;font-weight:700;font-size:.7rem;display:inline-block}.direction-badge{padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.7rem;display:inline-block;margin-left:var(--spacing-xs)}.direction-badge.direction-up{color:var(--accent-success);background:#10b98133;border:1px solid var(--accent-success)}.direction-badge.direction-down{color:var(--accent-danger);background:#ef444433;border:1px solid var(--accent-danger)}.orders-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.orders-count{font-size:.75rem;color:var(--text-secondary)}.event-slug,.order-id,.token-id{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.no-trades,.orders-empty,.orders-error{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-style:italic}@media (min-width: 640px){header h1{font-size:1.5rem}.price-value{font-size:3rem}.button-group{grid-template-columns:repeat(3,1fr)}.config-grid{grid-template-columns:repeat(2,1fr)}.status-summary{grid-template-columns:repeat(4,1fr)}.trading-controls{grid-template-columns:1fr 1fr;display:grid}}@media (min-width: 1024px){.container{max-width:1400px;margin:0 auto}header{padding:var(--spacing-lg)}header h1{font-size:1.75rem}.price-value{font-size:4rem}.active-event-up-down-prices{grid-template-columns:repeat(2,1fr);max-width:400px;margin:0 auto var(--spacing-md)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.loading{opacity:.6;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{animation:fadeIn .3s ease-out}.wallet-status-loading{color:var(--accent-primary);font-weight:600}.wallet-status-connected{color:var(--accent-success);font-weight:600}.wallet-status-disconnected{color:var(--text-secondary);font-weight:600}.wallet-status-error{color:var(--accent-danger);font-weight:600}.events-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.events-section-header:hover{opacity:.8}.events-chevron{font-size:1rem;color:var(--accent-primary);transition:transform .3s ease;font-weight:700}.events-section-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;max-height:5000px;opacity:1}.events-section-content.collapsed{max-height:0;opacity:0;overflow:hidden}.trades-history h3{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.order-row,.trade-row{transition:background-color .2s}.order-row.order-filled,.trade-row.trade-filled{background-color:#10b9811a}.order-row.order-live,.trade-row.trade-pending{background-color:#f59e0b1a}.order-row.order-position{background-color:#00d4ff1a;border-left:3px solid var(--accent-primary)}.btn-cancel-order,.btn-sell-order,.btn-sell-position{padding:.5rem .75rem;font-size:.75rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;min-height:36px;touch-action:manipulation}.btn-cancel-order{background:var(--accent-danger);color:var(--text-primary)}.btn-cancel-order:active:not(:disabled){transform:scale(.98);background:#dc2626}.btn-cancel-order:disabled{opacity:.5;cursor:not-allowed}.btn-sell-order,.btn-sell-position{background:var(--accent-success);color:var(--text-primary)}.btn-sell-order:active,.btn-sell-position:active{transform:scale(.98);background:#059669}.status-badge{padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.7rem;text-transform:uppercase;display:inline-block}.status-badge.status-position{background:var(--accent-primary);color:var(--text-primary)}.order-type{font-size:.65rem;padding:.125rem .375rem;background:var(--accent-secondary);color:var(--text-primary);border-radius:3px;margin-left:.25rem;font-weight:600;text-transform:uppercase}.reason{font-size:.7rem;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-position{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary);font-style:italic}
