:root{--bg: #07090f;--card: #0d1117;--line: #1b2230;--txt: #c9d1e3;--dim: #5b6c8a;--neon: #00e5a0;--neg: #ff4d6a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.5 ui-monospace,SF Mono,Menlo,monospace;-webkit-tap-highlight-color:transparent}.app{max-width:760px;margin:0 auto;padding:14px 12px 60px}.glow{color:var(--neon);text-shadow:0 0 8px rgba(0,229,160,.8),0 0 24px rgba(0,229,160,.45);font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.topbar h1{font-size:20px;margin:0;letter-spacing:2px}.topbar nav{display:flex;gap:6px}button{background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer}button.on{border-color:var(--neon);color:var(--neon);box-shadow:0 0 10px #00e5a059,inset 0 0 8px #00e5a026}button:hover{border-color:var(--neon)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.card-title{color:var(--dim);font-size:13px;margin-bottom:10px;letter-spacing:1px}.card-green{border-color:#00e5a080;box-shadow:0 0 14px #00e5a040}.card-red{border-color:#ff4d6a80;box-shadow:0 0 14px #ff4d6a40}.neg{color:var(--neg);border-color:#ff4d6a66}.pos{color:var(--neon);text-shadow:0 0 6px rgba(0,229,160,.6)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.stat-label{color:var(--dim);font-size:12px;margin-bottom:4px}.stat-value{font-size:20px}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--dim);text-align:left;padding:4px 8px 8px 0;border-bottom:1px solid var(--line)}td{padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.chip{background:#00e5a01f;color:var(--neon);border:1px solid rgba(0,229,160,.35);border-radius:999px;padding:3px 10px;font-size:12px}.chip.bad{background:#ff4d6a1f;color:var(--neg);border-color:#ff4d6a59}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{text-align:center;color:var(--dim);font-size:12px;padding-bottom:4px}.cell{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;padding:2px}.cell small{font-size:10px;color:inherit;opacity:.85}.cell-pos{background:#00e5a024;border-color:#00e5a066;color:var(--neon);text-shadow:0 0 8px rgba(0,229,160,.5)}.cell-neg{background:#ff4d6a24;border-color:#ff4d6a66;color:var(--neg);text-shadow:0 0 8px rgba(255,77,106,.5)}.cell.best{outline:2px solid var(--neon);outline-offset:2px;box-shadow:0 0 16px #00e5a066}.connect{max-width:400px;margin:40px auto;text-align:center}.connect input{width:100%;margin:12px 0;padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--txt);font:inherit}.connect input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 10px #00e5a04d}.connect button{width:100%;border-color:var(--neon);color:var(--neon)}.hint{color:var(--dim);font-size:12px}.strat{display:grid;grid-template-columns:110px 1fr 90px auto;gap:10px;align-items:center;padding:6px 0}.strat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.bar{height:8px;background:var(--line);border-radius:999px;overflow:hidden}.bar-pos{height:100%;background:var(--neon);box-shadow:0 0 10px var(--neon);border-radius:999px}.bar-neg{height:100%;background:var(--neg);box-shadow:0 0 10px var(--neg);border-radius:999px}.strat-pnl{text-align:right;font-size:13px}@media (max-width: 600px){.app{max-width:100%;padding:8px 6px 60px}.topbar h1{font-size:16px}.topbar nav{gap:3px;flex-wrap:wrap}button{padding:5px 8px;font-size:12px}.card{padding:10px;margin-bottom:10px}.stat-value{font-size:16px}.grid{grid-template-columns:repeat(2,1fr);gap:6px}table{font-size:11px;overflow-x:auto;display:block;white-space:nowrap}td,th{padding:4px 5px}.strat{grid-template-columns:60px 1fr 60px;gap:4px;font-size:11px}.strat-pnl{display:none}.cal{gap:3px}.cell{font-size:10px}.cell small{font-size:8px}.hint{font-size:10px}.card-title{font-size:11px}}@media (max-width: 380px){.grid{grid-template-columns:1fr 1fr}.strat{grid-template-columns:50px 1fr 50px}}.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl table{min-width:480px}.topbar nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px}.topbar{flex-wrap:wrap}.card{overflow:hidden;min-width:0}input{min-width:0}
