:root{--bg: #0b0e14;--panel: #0f1623;--border: #243044;--text: #e6edf3;--muted: #8aa0b4;--green: #3ddc84;--red: #ff6b6b;--blue: #5b8def}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;margin:0 auto;padding:24px 20px 60px}header{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}header h1{margin:0;font-size:28px;letter-spacing:-.5px}.tag{color:var(--muted);font-size:13px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.controls input,.controls select{background:#0a1018;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:14px;width:110px}.controls button{background:var(--green);color:#042713;border:none;font-weight:700;border-radius:8px;padding:10px 18px;font-size:14px;cursor:pointer;margin-left:auto}.controls button:disabled{opacity:.6;cursor:default}.error{margin-top:16px;padding:12px 16px;border-radius:8px;background:#2a1416;border:1px solid #5c2226;color:var(--red)}.verdict{margin-top:22px;padding:14px 18px;border-radius:10px;background:var(--panel);border:1px solid var(--border);font-size:16px}.verdict .good{color:var(--green)}.verdict .bad{color:var(--red)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:16px}.metric{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.metric-value{font-size:22px;font-weight:700}.metric-label{color:var(--muted);font-size:12px;margin-top:4px}.metric.good .metric-value{color:var(--green)}.metric.bad .metric-value{color:var(--red)}.chart,.trades{margin-top:24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.chart h2,.trades h2{margin:0 0 14px;font-size:16px;font-weight:600}.trade-list{display:flex;flex-direction:column;gap:2px;font-size:13px}.trade{display:grid;grid-template-columns:60px 1fr 1fr 1fr;gap:8px;padding:7px 10px;border-radius:6px;background:#0a1018}.trade.buy span:first-child{color:var(--green);font-weight:700}.trade.sell span:first-child{color:var(--red);font-weight:700}footer{margin-top:40px;color:var(--muted);font-size:12px;line-height:1.6}
