:root{color-scheme:dark;--bg: #121519;--surface: #181c22;--line: #262c35;--grid: #1d2229;--text: #e6ebf1;--text-2: #95a1ae;--muted: #7f8a97;--up: #26d07c;--down: #ff4d5e;--gap: 16px;--accent: #f5b43c;--move: #ff8f45;--stay: #4c8dff;--short: #f5b43c;--long: #b48cff;--exit: #c9ced6;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}*:focus,*:focus-visible{outline:none}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--accent)}button{font-family:var(--mono)}.home{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:0 24px calc(env(safe-area-inset-bottom,0px) + 72px)}.home-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.home-body{width:100%;display:flex;flex-direction:column;gap:var(--gap)}.brand-mark{width:92px;height:92px}.brand-name{font-size:30px;letter-spacing:.02em;font-weight:500}.brand-name.sm{font-size:17px}.brand-tagline{font-size:12.5px;color:var(--text-2);letter-spacing:.04em;margin-bottom:8px}.gate-hint{font-size:13px;color:var(--text-2)}.home-footer{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);display:flex;justify-content:center;gap:22px;font-size:11px;letter-spacing:.06em;pointer-events:none}.home-footer a{color:var(--muted);text-decoration:none;transition:color .12s ease;pointer-events:auto}.home-footer a:hover{color:var(--accent)}.btn-primary,.btn-ghost,.btn-quiet{display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;gap:6px;font-size:12px;line-height:1;letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,filter .12s ease}.btn-primary:disabled,.btn-ghost:disabled,.btn-quiet:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:500}.btn-primary:not(:disabled):hover{filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-ghost:not(:disabled):hover,.btn-ghost.active{background:var(--accent);color:var(--bg)}.btn-quiet{background:transparent;color:var(--text-2)}.btn-quiet:not(:disabled):hover{color:var(--text);border-color:var(--line)}.link-action{font-size:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 4px}.link-action:hover{color:var(--text)}.link-action.danger{color:var(--down)}.icon-btn{display:inline-flex;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px}.icon-btn:hover{color:var(--text)}.home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 16px) 0 14px;margin:0 0 var(--gap);flex-wrap:wrap;border-bottom:1px solid var(--line)}.home-brand{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);padding:0;cursor:pointer}.home-brand .brand-mark{width:34px;height:34px}.snackbar{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);z-index:40;max-width:min(560px,calc(100vw - 32px));padding:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:4px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%,calc(100% + 48px));transition:transform .2s ease;pointer-events:none}.snackbar.open{transform:translate(-50%)}.snackbar.error{color:var(--down)}.account-drop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:380px}.account-drop .key-panel{margin:0}.home-account{position:relative;display:flex;align-items:center;gap:12px}.account-name{font-size:12px;color:var(--text-2)}.chip{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:2px;border:1px solid var(--line);background:var(--surface);color:var(--text-2)}button.chip{cursor:pointer}button.chip:hover{border-color:var(--accent);color:var(--accent)}.key-panel{max-width:380px;margin:0 0 20px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;gap:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:4px}.panel.scroll{overflow-x:auto}.panel-label,.panel-hint{font-size:12px;color:var(--muted)}.panel-error{font-size:11px;color:var(--down)}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.field{font-family:var(--mono);font-size:13px;padding:9px 12px;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--text);min-width:0}.field:focus{border-color:var(--accent)}.dash-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:24px}.dash-period{justify-self:end}@media(max-width:720px){.dash-head{grid-template-columns:1fr}.dash-period{justify-self:start}}.dash-totals{display:flex;gap:36px;flex-wrap:wrap}.dash-totals div{display:flex;flex-direction:column;gap:4px}.dash-totals b{font-size:20px;font-weight:500}.movers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--gap)}.movers{overflow:hidden}.movers .panel-title{padding:10px 12px 7px}.movers .gate-hint{padding:0 12px 12px}.movers .tag{margin:-2px 0}.fees .field{width:130px;padding:5px 8px}.fees-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;font-size:12px}.fees-error{padding:0 12px 12px}.grid td.fill{width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis}.ticket{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.ticket-row{display:grid;gap:10px;justify-content:start}.ticket-row.listing{grid-template-columns:110px 190px minmax(200px,360px)}.ticket-row.position{grid-template-columns:100px 120px 110px 130px 130px 110px 110px}.ticket-row.move{grid-template-columns:repeat(6,130px)}.field:disabled{color:var(--muted)}.ticket-check{display:flex;align-items:center;gap:8px;min-height:37px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-2);cursor:pointer}.ticket-check input{accent-color:var(--accent);margin:0}@media(max-width:900px){.ticket-row,.ticket-row.listing,.ticket-row.position,.ticket-row.move{grid-template-columns:repeat(2,minmax(0,1fr))}}.ticket-field,.settings-field{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.ticket-field i,.settings-field i,.settings-field .panel-hint{font-style:normal;text-transform:none;letter-spacing:0}.field.num{text-align:right}.symbol-input{font-weight:500;color:var(--accent);letter-spacing:.04em}.dropdown{position:relative;text-transform:none;letter-spacing:0}.dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}.dropdown-trigger svg{color:var(--text-2)}.dropdown-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:100%;max-height:260px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:2px}.dropdown-menu li{padding:7px 12px;font-size:13px;color:var(--text-2);cursor:pointer}.dropdown-menu li.active{background:var(--grid);color:var(--text)}.dropdown-menu li.selected{color:var(--accent)}.ticket-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.ticket-preview{display:flex;gap:18px;font-size:12px;color:var(--text-2)}.ticket-preview b{font-weight:500;color:var(--text)}.muted{color:var(--muted)}.accent{color:var(--accent)}.up{color:var(--up)}.down{color:var(--down)}.fine{font-size:12px;color:var(--muted);margin:0}.symbol{font-weight:500;color:var(--accent)}.decision-title{font-size:17px}.grid,.card{width:100%;border-collapse:collapse}.grid th,.card th,.panel-title{font-weight:400;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.grid th,.card th{text-align:right;padding:10px 12px 7px;white-space:nowrap;border-bottom:1px solid var(--line)}.grid th .sort{position:relative;display:inline-block;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.grid th .sort:hover,.grid th .sort.active{color:var(--text-2)}.grid th .sort-icon{position:absolute;left:100%;top:50%;transform:translateY(-50%);display:flex;width:10px;height:10px}.grid th .sort-icon svg{display:block}.grid td{padding:11px 12px;border-top:1px solid var(--line);white-space:nowrap}.grid .fit{width:1%}.grid th,.grid td{text-align:left}.row-link{cursor:pointer}.row-link:hover td{background:var(--grid)}.row-actions{width:1%}.fine-row{font-size:11px;color:var(--text-2);margin-top:2px}.tag{display:inline-grid;justify-items:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px calc(7px - .1em) 3px 7px;border:1px solid var(--line);border-radius:2px;color:var(--muted)}.tag.good{border-color:var(--up);color:var(--up);font-weight:500}.tag>span{grid-area:1 / 1}.tag .tag-size{visibility:hidden}.tag.move{border-color:var(--move);color:var(--move);font-weight:500}.btn-ghost.stay{border-color:var(--up);color:var(--up)}.btn-ghost.stay:not(:disabled):hover,.btn-ghost.stay.active{background:var(--up);color:var(--bg)}.btn-ghost.move{border-color:var(--move);color:var(--move)}.btn-ghost.move:not(:disabled):hover,.btn-ghost.move.active{background:var(--move);color:var(--bg)}.periods{display:inline-flex}.periods button{white-space:nowrap;font-size:12px;line-height:1;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;background:var(--surface);color:var(--text-2);border:1px solid var(--line);cursor:pointer}.periods button:first-child{border-radius:2px 0 0 2px}.periods button:last-child{border-radius:0 2px 2px 0;border-left:none}.periods button.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.signals{overflow:hidden}.signals-head{display:flex;align-items:center;gap:12px;padding:10px 12px 7px}.signals-action{margin-left:auto;display:inline-flex}.signals-form{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}.signals-form textarea{resize:vertical}.signals-summary,.signals .gate-hint{padding:0 12px 10px}.signals a.link-action{text-decoration:none}.signals tbody.signal:hover td{background:var(--grid)}.signals tr.signal-detail td{border-top:none;padding:0 12px 11px;white-space:normal}.signal-says{padding:9px 12px;background:var(--line);border-radius:2px;color:var(--text-2);font-size:12px}.loading{pointer-events:none;animation:loading-fade 1.6s ease-in-out infinite}@keyframes loading-fade{0%,to{opacity:.35}50%{opacity:.55}}.loader-head{height:38px}.chart-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--gap);align-items:end}.card{min-width:960px;table-layout:fixed}.card td{text-align:right;padding:4px 12px;white-space:nowrap}.card th:first-child,.card td:first-child{text-align:left;width:190px}.card td.label{color:var(--text-2)}.card tr.expected td{font-weight:500;font-size:14px;padding-top:14px;border-top:1px solid var(--line)}.card small{font-size:11px;font-weight:400;opacity:.75}.card small.cost{color:var(--muted);opacity:1}.card tbody:last-child tr:last-child td{padding-bottom:12px}.decision-head{--head-gap: 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--head-gap)}.decide{display:flex;align-items:center;gap:8px}.decision-period{justify-self:end;display:flex;align-items:center;gap:var(--head-gap)}.steps{flex-shrink:0;display:flex;align-items:center;gap:6px}.step{display:inline-flex;padding:4px;background:none;border:1px solid var(--line);border-radius:2px;color:var(--text-2);cursor:pointer}.step:not(:disabled):hover{color:var(--text);border-color:var(--text-2)}.step:disabled{opacity:.4;cursor:default}.step-count{min-width:5ch;white-space:nowrap;text-align:center;font-size:12px;color:var(--text-2)}@media(max-width:720px){.decision-head{grid-template-columns:1fr}.decision-period{justify-self:start}}.legend{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 8px;font-size:11px;color:var(--text-2)}.legend span{display:flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:2px}.chart{position:relative;height:320px;padding:12px}.tooltip-anchor{display:inline-flex}.tooltip{position:fixed;z-index:10;max-width:280px;background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:6px 10px;font-size:11px;color:var(--text-2);pointer-events:none}
