:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--series-2:#eb6834;--gain:#006300;--loss:#c62828;--selected:#2a78d61a;--star:#b07800;--series-neg:#e34948;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--gain:#0ca30c;--loss:#ef6b6b;--selected:#3987e52e;--star:#eda100;--series-neg:#e66767}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#f0efec;--text-secondary:#c3c2b7;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--gain:#0ca30c;--loss:#ef6b6b;--selected:#3987e52e;--star:#eda100;--series-neg:#e66767}*{box-sizing:border-box}body{background:var(--page);color:var(--text-primary);margin:0}h1{margin:0 8px 0 0;font-size:16px}h2{margin:0 0 4px;font-size:16px}h3{color:var(--text-secondary);margin:16px 0 6px;font-size:13px}code{font-size:12px}button,input,select{font:inherit;color:inherit;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:4px 8px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}label{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}input[type=number]{width:64px}.muted{color:var(--text-muted)}.pad{padding:12px}.error{color:var(--loss);white-space:pre-wrap;margin:0;padding:8px 16px}.empty{max-width:640px;color:var(--text-secondary);padding:32px 16px}.app{flex-direction:column;height:100vh;display:flex}.toolbar,.filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.toolbar{background:var(--surface-1)}.path{min-width:120px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}main{flex-direction:column;flex:1;min-height:0;display:flex}.split{flex:1;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);min-height:0;display:grid}.table-wrap{border-right:1px solid var(--border);overflow:auto}.detail{background:var(--surface-1);padding:16px;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap;padding:6px 8px}th{background:var(--page);z-index:1;position:sticky;top:0}th button{color:var(--text-secondary);background:0 0;border:none;padding:0;font-weight:600}.num{text-align:right}tbody tr{cursor:pointer}tbody tr:hover,tbody tr:focus{background:var(--selected);outline:none}tr.selected{background:var(--selected)}.gain{color:var(--gain)}.loss{color:var(--loss)}.tag{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:11px}.updates{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.update-available{align-items:center;gap:6px;font-weight:600;display:inline-flex}.error-inline{color:var(--loss);align-items:center;gap:6px;display:inline-flex}.update-error{flex-basis:100%;padding:0;font-size:12px}.token-form{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;display:flex}.token-form input{width:320px;max-width:100%}.learn{border:1px solid var(--border);border-radius:8px;margin:10px 0;padding:4px 10px}.learn h3{margin-top:6px}.learn p{margin:4px 0}.source-text{white-space:pre-line;color:var(--text-secondary);font-size:12px}.tabs{border-bottom:1px solid var(--border);background:var(--surface-1);gap:2px;padding:0 16px;display:flex}.tabs button{color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--series-1);font-weight:600}.history{flex-direction:column;flex:1;min-height:0;display:flex}.stats.history-stats{grid-template-columns:repeat(3,1fr);margin:12px 16px}.history-table{border-right:none;flex:1}tr.static{cursor:default}.kind{font-weight:600}.kind-sale,.kind-vendor_sale{color:var(--gain)}.kind-buy,.kind-vendor_buy{color:var(--series-1)}.kind-expired,.kind-cancelled{color:var(--text-secondary)}.history-chart{padding:0 16px}.daily-profit{margin-top:4px}.daily-profit figcaption .muted{font-size:12px;font-weight:400}.bar-gain{fill:var(--series-1)}.bar-loss{fill:var(--series-neg)}.key-gain{background:var(--series-1)}.key-loss{background:var(--series-neg)}.settings-panel{border-bottom:1px solid var(--border);background:var(--surface-1);flex-wrap:wrap;gap:24px;padding:12px 16px;display:flex}.settings-group{flex-direction:column;gap:8px;min-width:280px;max-width:560px;display:flex}.settings-group h3{margin:0}.settings-row{flex-wrap:wrap;gap:8px;display:flex}.settings-group label input:not([type=checkbox]):not([type=radio]),.settings-group select{flex:1}.settings-group label{justify-content:space-between}.settings-group label.check{justify-content:flex-start}.small{margin:0;font-size:12px}.houses td,.houses th{padding:3px 6px}.market-status{color:var(--text-secondary)}button.active{border-color:var(--series-1)}.src{color:var(--text-muted);margin-left:2px;font-size:10px}.plan-control{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.plan-control input,.shopping input[type=number]{width:64px}.shopping{flex:1;padding:12px 16px;overflow:auto}.shopping-group{margin-bottom:16px}.shopping-group h3{margin:4px 0 6px}.shopping-status{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;margin:0 0 16px;padding:8px 10px}.notice{border-bottom:1px solid var(--border);background:var(--selected);margin:0;padding:6px 16px;font-size:12px}.star-col{width:28px;padding-right:0}.star{color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.star:hover{color:var(--text-primary)}.star.on{color:var(--star)}.detail-title{align-items:center;gap:6px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reagents td{white-space:normal;border-bottom:none;padding:3px 6px 3px 0}.reagents tr.sub td{font-size:12px}.reagents th{color:var(--text-muted);border-bottom:1px solid var(--grid);background:0 0;padding:2px 6px 4px 0;font-size:12px;font-weight:600;position:static}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.stats div{border:1px solid var(--border);border-radius:8px;padding:8px}.stats dt{color:var(--text-muted);font-size:12px}.stats dd{margin:2px 0 0;font-size:16px;font-weight:600}.chart{margin:20px 0 0}.chart figcaption{margin-bottom:4px;font-weight:600}.chart-body{position:relative}.legend{color:var(--text-secondary);gap:12px;margin:0 0 4px;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend .key,.line-key{border-radius:1px;width:14px;height:2px;display:inline-block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{stroke:var(--axis);stroke-width:1px}.chart .tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .direct-label{fill:var(--text-secondary);font-size:11px}.chart .crosshair{stroke:var(--axis);stroke-width:1px}.chart .hover-dot{stroke:var(--surface-1);stroke-width:2px}.tooltip{pointer-events:none;background:var(--surface-1);border:1px solid var(--border);white-space:nowrap;border-radius:6px;padding:6px 8px;font-size:12px;position:absolute;top:8px;box-shadow:0 2px 8px #0000001f}.tooltip-date{color:var(--text-muted);margin-bottom:2px}.tooltip-row{align-items:center;gap:6px;display:flex}@media (width<=900px){.app{height:auto;min-height:100vh}.split{display:block}.table-wrap{border-right:none;border-bottom:1px solid var(--border);max-height:50vh}.stats{grid-template-columns:1fr}.stats.history-stats{grid-template-columns:repeat(2,1fr)}}.relay-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.relay-main>.split{flex:1}.relay-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:12px 0 20px}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}table.compact th,table.compact td{padding:4px 6px;font-size:12px}.login{text-align:center;max-width:420px;margin:18vh auto 0;padding:24px}.login h1{margin:0 0 8px;font-size:20px}.button-link{background:var(--series-1);color:#fff;border-radius:6px;margin-top:12px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-block}.toolbar form{margin:0}@media (width<=800px){.split{grid-template-columns:1fr}.table-wrap{border-right:none}}
