:root{--bg: #0d1117;--bg2: #161b22;--border: #30363d;--text: #c9d1d9;--text2: #8b949e;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--yellow: #d29922;--purple: #bc8cff}[data-theme=light]{--bg: #fff;--bg2: #f6f8fa;--border: #d0d7de;--text: #1f2328;--text2: #656d76;--accent: #0969da;--green: #1a7f37;--red: #cf222e;--yellow: #9a6700;--purple: #8250df}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,system-ui,Segoe UI,sans-serif;background:var(--bg);color:var(--text);padding:12px;padding-top:env(safe-area-inset-top,12px);-webkit-tap-highlight-color:transparent}h1{color:var(--accent);font-size:22px;margin-bottom:4px}h2{color:var(--text2);margin:14px 0 8px;font-size:16px}table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:13px}th{background:var(--bg2);color:var(--text2);padding:7px 10px;text-align:left;border-bottom:1px solid var(--border);position:sticky;top:0;white-space:nowrap;font-size:12px}td{padding:5px 10px;border-bottom:1px solid var(--border);white-space:nowrap}tr:hover{background:var(--bg2)}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:12px}.win{color:var(--green)}.loss{color:var(--red)}.open{color:var(--yellow)}.skip,.neutral{color:var(--text2)}.badge{display:inline-block;padding:2px 6px;border-radius:8px;font-size:9px;font-weight:600}.badge-llm{background:#1f6feb22;color:var(--accent);border:1px solid var(--accent)}.badge-algo{background:#a371f722;color:var(--purple);border:1px solid var(--purple)}.badge-ok{background:#23862522;color:var(--green);border:1px solid var(--green)}.badge-rej{background:#f8514922;color:var(--red);border:1px solid var(--red)}.long{color:var(--green)}.short{color:var(--red)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px}.card .val{font-size:22px;font-weight:700;margin-top:2px}.card .label{color:var(--text2);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.card .sub{color:var(--text2);font-size:11px;margin-top:2px}.updated{color:var(--text2);font-size:10px;margin-top:12px;opacity:.7}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.header h1{margin:0}.theme-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer}.tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:8px 14px;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.compare .box{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px}.compare .box h3{font-size:12px;margin-bottom:6px}.compare .box .stat{display:flex;justify-content:space-between;padding:2px 0;font-size:11px}.compare .box .stat .k{color:var(--text2)}.filter-row{margin-bottom:8px;display:flex;gap:6px;align-items:center;font-size:11px}.filter-row select{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:11px}.reason{font-size:10px;color:var(--text2);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rules{display:flex;flex-direction:column;gap:10px}.rule{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.rule .info{flex:1;min-width:0}.rule .title{font-weight:600;font-size:12px;margin-bottom:3px}.rule .desc{color:var(--text2);font-size:10px}.rule .value{color:var(--accent);font-size:11px;margin-top:2px}.toggle{position:relative;width:40px;height:22px;cursor:pointer;flex-shrink:0}.toggle input{display:none}.toggle .slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--border);border-radius:11px;transition:.3s}.toggle .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:var(--text2);border-radius:50%;transition:.3s}.toggle input:checked+.slider{background:var(--green)}.toggle input:checked+.slider:before{transform:translate(18px);background:#fff}.status-on{color:var(--green);font-size:10px}.status-off{color:var(--text2);font-size:10px}.btn-swap{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:10px;cursor:pointer;white-space:nowrap}.btn-swap:hover{opacity:.8}.btn-save{background:var(--green);color:#fff;border:none;border-radius:4px;padding:5px 14px;font-size:12px;cursor:pointer;margin-top:10px}.btn-save:hover{opacity:.8}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:20px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-box h3{margin-bottom:10px;color:var(--accent)}.modal-box .item{padding:8px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;cursor:pointer;display:flex;justify-content:space-between}.modal-box .item:hover{background:var(--bg2)}.modal-box .close{float:right;cursor:pointer;font-size:18px;color:var(--text2)}.param-input{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;width:80px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:14px 24px;font-size:14px;font-weight:500;box-shadow:0 8px 30px #0006;z-index:200;animation:toastIn .3s ease,toastOut .3s ease 2.5s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.ws-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:6px;vertical-align:middle}.ws-dot.connected{background:var(--green)}.ws-dot.disconnected{background:var(--red)}@media (max-width: 600px){.summary{grid-template-columns:1fr 1fr}.card .val{font-size:16px}.compare{grid-template-columns:1fr}}
