:root{--bg: #eef2f8;--bg2: #f6f8fd;--panel: #ffffff;--panel2: #f1f4fa;--border: #e5e9f1;--border2: #d8dfea;--text: #131a2b;--dim: #5c6880;--dim2: #95a0b5;--accent: #3b6bff;--accent2: #7c5cff;--up: #0a9d78;--up-soft: rgba(10, 157, 120, .1);--down: #e5484d;--down-soft: rgba(229, 72, 77, .1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;background-image:radial-gradient(900px 500px at 100% -10%,rgba(59,107,255,.06),transparent 55%),radial-gradient(700px 500px at -5% 110%,rgba(124,92,255,.06),transparent 55%)}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.wrap{max-width:1080px;margin:0 auto;padding:34px 22px 60px}header.top{display:flex;align-items:center;gap:14px;margin-bottom:8px}.logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:19px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 22px -10px #3b6bff99}h1{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:0}.sub{color:var(--dim);font-size:13.5px;margin:2px 0 0}.live-badge{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--dim);background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:6px 13px}.dot{width:8px;height:8px;border-radius:50%;background:var(--up);animation:pulse 1.8s infinite}.dot.idle{background:var(--dim2);animation:none}@keyframes pulse{0%{box-shadow:0 0 #0a9d7866}70%{box-shadow:0 0 0 7px #0a9d7800}to{box-shadow:0 0 #0a9d7800}}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;margin-top:20px;box-shadow:0 1px 2px #141e370a,0 18px 40px -32px #141e3747}.card h2{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);margin:0 0 14px}.row{display:flex;gap:14px;flex-wrap:wrap}.fgroup{flex:1;min-width:170px}label{display:block;font-size:12px;font-weight:600;color:var(--dim);margin:0 0 6px}select,input{width:100%;background:var(--bg2);color:var(--text);border:1px solid var(--border2);border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit}select:focus,input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b6bff26}table{width:100%;border-collapse:collapse}.legs th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim2);text-align:left;padding:0 8px 8px;font-weight:700}.legs td{padding:5px 8px}.legs select,.legs input{padding:9px 10px}.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--border2);border-radius:9px;overflow:hidden}.seg button{background:transparent;border:none;color:var(--dim);padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.seg button.on.sell{background:var(--down-soft);color:var(--down)}.seg button.on.buy{background:var(--up-soft);color:var(--up)}.seg button.on.call{background:#3b6bff1f;color:var(--accent)}.seg button.on.put{background:#7c5cff1f;color:#7c5cff}.icon-btn{background:#fff;border:1px solid var(--border2);color:var(--dim);border-radius:9px;width:36px;height:38px;cursor:pointer;font-size:16px}.icon-btn:hover{border-color:var(--down);color:var(--down)}.addleg{margin-top:8px;background:transparent;border:1px dashed var(--border2);color:var(--dim);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.addleg:hover{border-color:var(--accent);color:var(--accent)}.actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.btn{border:none;border-radius:11px;padding:13px 26px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 12px 24px -12px #3b6bff99}.btn-primary:disabled{opacity:.5;cursor:default;box-shadow:none}.btn-ghost{background:var(--panel2);color:var(--dim);border:1px solid var(--border2)}.btn-ghost:hover{color:var(--text)}.err{background:var(--down-soft);border:1px solid rgba(229,72,77,.3);color:#c0343a;border-radius:11px;padding:12px 15px;font-size:13.5px;margin-top:16px}.muted{color:var(--dim);font-weight:500}.res th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim2);text-align:right;padding:11px 12px;border-bottom:1px solid var(--border);font-weight:700}.res th:first-child,.res th.l{text-align:left}.res td{padding:11px 12px;border-bottom:1px solid var(--border);font-size:14px;text-align:right}.res td:first-child,.res td.l{text-align:left}.res tr:last-child td{border-bottom:none}.pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;letter-spacing:.3px}.pill.sell{background:var(--down-soft);color:var(--down)}.pill.buy{background:var(--up-soft);color:var(--up)}.pill.roll{background:#3b6bff1f;color:var(--accent)}.typ{color:var(--dim);font-size:12.5px}.pnl.pos{color:var(--up);font-weight:700}.pnl.neg{color:var(--down);font-weight:700}.missing{color:var(--down);font-size:12.5px}.res tfoot td{padding:13px 12px;font-weight:800;font-size:14.5px;border-top:2px solid var(--border2)}.footnote{color:var(--dim2);font-size:12px;margin-top:16px;line-height:1.6}.updated{font-size:12px;color:var(--dim2)}.saved-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.trades-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.trow{display:flex;align-items:center;gap:14px;background:#fbfcfe;border:1px solid var(--border);border-radius:12px;padding:13px 16px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.trow:hover{border-color:var(--accent);box-shadow:0 8px 20px -12px #3b6bff73}.trow .tinfo{min-width:0}.trow .tname{font-weight:800;font-size:15px}.trow .tmeta{color:var(--dim);font-size:12.5px;margin-top:2px}.trow .tnet{margin-left:auto;font-size:18px;font-weight:800;letter-spacing:-.01em}.trow .tnet.pos{color:var(--up)}.trow .tnet.neg{color:var(--down)}.trow-rm{background:#fff;border:1px solid var(--border2);color:var(--dim);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:13px;flex:0 0 auto}.trow-rm:hover{border-color:var(--down);color:var(--down)}.trow .tchev{color:var(--dim2);font-size:20px;flex:0 0 auto}.trades-empty{color:var(--dim2);font-size:13.5px;margin-top:14px}.trade-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}.trade-name{font-weight:800;font-size:18px;letter-spacing:-.01em}.trade-sub{color:var(--dim);font-size:12.5px;margin-top:2px}.trade-net{font-size:26px;font-weight:800;letter-spacing:-.02em}.trade-net.pos{color:var(--up)}.trade-net.neg{color:var(--down)}.backbtn{margin-top:20px}.section-h{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);margin:24px 0 4px}.sub-hint{color:var(--dim);font-size:12.5px;margin:0 0 12px;line-height:1.55}.churn td{padding:5px 8px}.strike-roll{display:flex;align-items:center;gap:5px}.strike-roll input{flex:0 0 86px;width:86px;min-width:0;text-align:center}.roll-arrow{color:var(--dim2);font-size:14px}.realized.pos{color:var(--up);font-weight:700}.realized.neg{color:var(--down);font-weight:700}.churn-banked{margin-top:11px;font-size:13px;color:var(--dim)}.churn-banked b.pos{color:var(--up)}.churn-banked b.neg{color:var(--down)}.churn-empty{color:var(--dim2);font-size:12.5px;margin:2px 0 4px}.netbreak{font-size:12.5px;color:var(--dim);margin-top:3px}.netbreak .b{color:var(--up)}.netbreak .r{color:var(--down)}.roll-btn{background:#fff;border:1px solid var(--border2);color:var(--accent);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}.roll-btn:hover{border-color:var(--accent);background:#3b6bff0f}.roll-editor{background:var(--panel2);border:1px dashed var(--border2);border-radius:10px;padding:14px 16px}.roll-editor .re-h{font-size:12px;font-weight:700;color:var(--dim);margin-bottom:10px}.roll-editor .re-grid{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.roll-editor .re-f{flex:1;min-width:120px}.roll-editor label{font-size:11px}.roll-editor .re-act{display:flex;gap:8px}.re-apply{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:9px;padding:11px 18px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit}.re-cancel{background:#fff;color:var(--dim);border:1px solid var(--border2);border-radius:9px;padding:11px 16px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}.re-note{font-size:12px;color:var(--dim2);margin-top:9px}.re-note b.pos{color:var(--up)}.re-note b.neg{color:var(--down)}.hidden{display:none}.closed-pill{background:var(--panel2);color:var(--dim);border:1px solid var(--border2);margin-left:9px;vertical-align:middle}.trow.closed{background:var(--panel2)}.trow.closed .tname{color:var(--dim)}.trow.closed .tnet{opacity:.85}.exitbtn{padding:10px 18px;font-size:13.5px;white-space:nowrap}.exitbtn:disabled{opacity:.45;cursor:not-allowed}.exit-panel{background:var(--panel2);border:1px dashed var(--border2);border-radius:12px;padding:16px 18px;margin-top:14px}.exit-panel .re-h{font-size:12.5px;font-weight:700;color:var(--dim);margin-bottom:8px}.exit-panel .res td,.exit-panel .res th{padding:8px 10px}.trow-exit{background:#fff;border:1px solid var(--border2);color:var(--accent);border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;flex:0 0 auto}.trow-exit:hover:not(:disabled){border-color:var(--accent);background:#3b6bff0f}.trow-exit:disabled{opacity:.4;cursor:not-allowed}.trow-wrap{display:flex;flex-direction:column}.trow-confirm{border:1px solid var(--accent);border-top:none;border-radius:0 0 12px 12px;background:var(--panel2);padding:13px 16px;margin-top:-1px}.trow-wrap .trow:has(+.trow-confirm){border-radius:12px 12px 0 0;border-color:var(--accent)}.tc-legs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--dim)}.tc-leg b{color:var(--text);font-weight:700}.tc-sum{font-size:12.5px;color:var(--dim);margin-top:9px}.tc-sum b.pos{color:var(--up)}.tc-sum b.neg{color:var(--down)}.tc-act{display:flex;gap:8px;margin-top:12px}.tc-act .re-apply,.tc-act .re-cancel{padding:9px 16px;font-size:13px}.exit-leg{color:var(--dim)}.exit-leg:hover:not(:disabled){border-color:var(--down);color:var(--down);background:var(--down-soft)}.exit-leg:disabled{opacity:.4;cursor:not-allowed}.leg-exited td{background:var(--panel2)}.leg-exited .typ,.leg-exited .mono{opacity:.75}
