*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0f0f0f;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;font-size:14px;-webkit-font-smoothing:antialiased}#root{max-width:430px;margin:0 auto;min-height:100vh}.divider{height:1px;background:#1a1a1a}.section{padding:16px}.section-title{font-size:11px;font-weight:600;letter-spacing:.1em;color:#666;text-transform:uppercase;margin-bottom:12px}button{cursor:pointer;border:none;background:#1a1a1a;color:#fff;border-radius:6px;padding:8px 14px;font-size:13px;transition:background .15s}button:hover{background:#252525}button:active{background:#333}button:disabled{opacity:.4;cursor:not-allowed}input,select{background:#1a1a1a;border:1px solid #252525;border-radius:6px;color:#fff;padding:7px 10px;font-size:13px;outline:none;width:100%}input:focus,select:focus{border-color:#3b82f6}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-danger{background:transparent;color:#ff3b5c;padding:4px 8px;font-size:12px}.btn-danger:hover{background:#ff3b5c1a}.green{color:#0f8}.red{color:#ff3b5c}.muted{color:#666}.accent{color:#3b82f6}.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #1a1a1a;position:sticky;top:0;background:#0f0f0f;z-index:10}.app-title{font-size:16px;font-weight:700;letter-spacing:.05em}.conn-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#666}.conn-dot{width:8px;height:8px;border-radius:50%}.conn-dot.online{background:#0f8}.conn-dot.offline{background:#ff3b5c}.price-display{padding:20px 16px 16px}.price-live-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.price-label{font-size:11px;color:#666;letter-spacing:.08em;text-transform:uppercase}.live-indicator{display:flex;align-items:center;gap:5px;font-size:10px;color:#0f8;font-weight:600}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.dot-blink{display:inline-block;width:6px;height:6px;border-radius:50%;background:#0f8;animation:blink 1.4s ease-in-out infinite}.price-value{font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:6px;transition:color .2s}@keyframes pulse-price{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.price-value.pulse{animation:pulse-price .3s ease-out}.price-change{font-size:15px;font-weight:500}.chart-section{padding:0}.chart-header{display:flex;align-items:center;padding:10px 16px 6px;gap:8px}.chart-tf-label{font-size:11px;font-weight:700;color:#3b82f6;letter-spacing:.08em;text-transform:uppercase}.chart-container{height:220px;width:100%}.pattern-panel{flex:1;min-width:0;padding:16px 12px}.pattern-panels-row{display:flex;gap:0}.pattern-panels-row .pattern-panel:first-child{border-right:1px solid #1a1a1a}.pattern-table{width:100%;border-collapse:collapse;font-size:12px}.pattern-table th{text-align:left;color:#666;font-weight:500;padding:4px 4px 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.pattern-table td{padding:6px 4px;border-top:1px solid #1a1a1a;vertical-align:middle}.pattern-name-cell{font-weight:600;font-size:12px}.pattern-seq{font-size:10px;color:#666}.date-row{display:flex;gap:6px;margin-bottom:10px}.date-row input{font-size:11px;padding:5px 8px}.vixfix-grid{width:100%;border-collapse:collapse;font-size:12px}.vixfix-grid th{text-align:left;color:#666;font-weight:500;padding:4px 6px 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.vixfix-grid td{padding:7px 6px;border-top:1px solid #1a1a1a;font-variant-numeric:tabular-nums}.alert-badge{display:inline-block;background:#ff3b5c26;color:#ff3b5c;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.ok-badge{display:inline-block;background:#00ff881a;color:#0f8;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.vixfix-alerts-list{margin-top:14px}.vixfix-alert-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-top:1px solid #1a1a1a;font-size:12px}.vixfix-alert-tf{color:#3b82f6;font-weight:700;font-size:11px;min-width:30px}.vixfix-alert-val{color:#ff3b5c;font-weight:600}.vixfix-alert-time{color:#666;font-size:10px}.sequence-builder{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.seq-btn{width:36px;height:36px;border-radius:8px;font-size:13px;font-weight:700;padding:0;display:flex;align-items:center;justify-content:center}.seq-btn.green-btn{background:#00ff8826;color:#0f8}.seq-btn.green-btn:hover{background:#00ff8840}.seq-btn.red-btn{background:#ff3b5c26;color:#ff3b5c}.seq-btn.red-btn:hover{background:#ff3b5c40}.seq-preview{display:flex;flex-wrap:wrap;gap:4px;min-height:28px;align-items:center;margin-bottom:10px}.seq-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.seq-dot.G{background:#0f83;color:#0f8}.seq-dot.R{background:#ff3b5c33;color:#ff3b5c}.pattern-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-row{display:flex;gap:8px;align-items:center}.patterns-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid #1a1a1a}.pattern-badge-count{font-size:11px;color:#666;margin-bottom:10px}.notif-log{max-height:180px;overflow-y:auto}.notif-row{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid #1a1a1a}.notif-row:first-child{border-top:none}.notif-meta{display:flex;gap:8px;font-size:10px;color:#666}.notif-type-badge{font-weight:700;font-size:10px;padding:1px 5px;border-radius:3px}.notif-type-badge.pattern{background:#3b82f626;color:#3b82f6}.notif-type-badge.vixfix{background:#ff3b5c26;color:#ff3b5c}.notif-body{font-size:12px}.notif-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.settings-section{padding:16px}.settings-summary{cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.1em;color:#666;text-transform:uppercase;list-style:none;display:flex;align-items:center;gap:6px}.settings-summary:before{content:"▶";font-size:9px;transition:transform .2s}details[open] .settings-summary:before{transform:rotate(90deg)}.settings-body{margin-top:16px}.bootstrap-btn-row{margin-top:16px;padding-top:16px;border-top:1px solid #1a1a1a}.no-data{color:#666;font-size:12px;padding:12px 0;text-align:center}
