:root{--bg: #05070d;--panel: #0a0e18;--line: #161c2b;--text: #e6edf6;--muted: #6b7688;--green: #21c55d;--green-dim: #123d24;--red: #ef4444;--red-dim: #3d1414;--amber: #f5b642;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:6px}button:disabled{opacity:.4;cursor:not-allowed}.app{max-width:520px;margin:0 auto;padding:12px 12px 40px;display:flex;flex-direction:column;gap:12px}header .brand{display:flex;align-items:center;gap:8px;letter-spacing:.14em;font-size:12px}.dot{width:7px;height:7px;border-radius:50%;background:var(--red)}.dot.on{background:var(--green)}.badge{font-size:10px;padding:2px 6px;border-radius:4px;letter-spacing:.1em}.badge.dry{background:var(--red-dim);color:var(--red)}.badge.live{background:var(--green-dim);color:var(--green)}.market-title{margin-top:6px;color:var(--muted);font-size:12px}.picker form{display:flex;gap:6px}.picker input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.picker form button{padding:0 14px;letter-spacing:.1em}.events{margin-top:8px;max-height:380px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.event{border-bottom:1px solid var(--line)}.event:last-child{border-bottom:none}.event-head{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon title chev" "icon meta chev";align-items:center;gap:2px 8px;width:100%;padding:8px 10px;border:none;border-radius:0;text-align:left}.event.open .event-head{background:#161c2b99}.event-head img{grid-area:icon;width:26px;height:26px;border-radius:5px;object-fit:cover}.event-head .title{grid-area:title;font-size:12px;line-height:1.3}.event-head .meta{grid-area:meta;font-size:10px;color:var(--muted)}.event-head .chev{grid-area:chev;color:var(--muted);font-size:10px}.legs{list-style:none;margin:0;padding:0 10px 8px}.legs li{padding:6px 0;border-top:1px solid var(--line)}.leg-name{font-size:11px;color:var(--muted);margin-bottom:5px}.outcomes{display:flex;flex-wrap:wrap;gap:6px}.outcomes button{display:flex;align-items:center;gap:6px;padding:5px 9px;font-size:11px;max-width:100%}.outcomes .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.outcomes em{color:var(--muted);font-style:normal;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.tabs button{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:6px 22px 6px 10px;white-space:nowrap;background:var(--panel)}.tabs button.active{border-color:var(--green)}.tabs small{color:var(--muted);font-size:10px}.tabs i{position:absolute;top:4px;right:6px;font-style:normal;color:var(--muted)}.sizes{display:flex;gap:8px}.sizes label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.sizes input{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:7px 9px}.flash{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:12px}.ladder{display:flex;flex-direction:column;gap:10px}.ladder.empty{padding:32px 0;text-align:center;color:var(--muted)}.strategy-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.strategy-bar button{padding:14px 4px;letter-spacing:.08em;font-size:12px}.strategy-bar.sell button{border-color:var(--red);color:#ff8a8a;background:#ef444414}.strategy-bar.buy button{border-color:var(--green);color:#86efac;background:#21c55d14}.book-head{display:flex;justify-content:space-between;padding:5px 8px;border-radius:5px;font-size:10px;letter-spacing:.1em}.book-head.ask{background:#ef44441a;color:#ff8a8a}.book-head.bid{background:#21c55d1a;color:#86efac}.book-head .total{font-variant-numeric:tabular-nums}.ladder-head,.ladder-row{display:grid;grid-template-columns:56px 44px 1fr 68px;align-items:center;gap:8px}.ladder-row{position:relative;isolation:isolate}.depth-bar{position:absolute;right:0;top:2px;bottom:2px;z-index:-1;border-radius:3px 0 0 3px;pointer-events:none}.ladder-row.ask .depth-bar{background:#ef444424}.ladder-row.bid .depth-bar{background:#21c55d24}.ladder-row .size{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.ladder-head{font-size:10px;letter-spacing:.14em;color:var(--muted);padding:0 2px}.ladder-head .right{text-align:right}.ladder-body{display:flex;flex-direction:column}.ladder-row{padding:8px 2px;border-bottom:1px solid var(--line)}.ladder-row.thin{opacity:.45}.ladder-row .price{font-size:17px;font-weight:600}.ladder-row .price em{font-style:normal;font-size:11px}.ladder-row.ask .price{color:var(--red)}.ladder-row.bid .price{color:var(--green)}.ladder-row .coef{color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.actions button{padding:9px 0;font-size:11px;font-weight:600}.actions .buy{border-color:var(--green);color:#86efac;background:#21c55d12}.actions .sell{border-color:var(--red);color:#ff8a8a;background:#ef444412}.spread{padding:9px 2px;font-size:10px;letter-spacing:.1em;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#161c2b66;display:flex;justify-content:space-between;gap:8px}.ladder-row.open{border-bottom-style:dashed;background:#161c2b47}.ladder-row.mid .price{color:#c9d4e4}.ladder-row .size.tag{font-size:10px;letter-spacing:.1em;color:var(--muted)}.ladder-row .size.tag.mid{color:var(--amber)}.inside-note{padding:5px 2px;font-size:10px;letter-spacing:.06em;color:var(--muted)}.ladder-row.mine{box-shadow:inset 2px 0 0 var(--amber);background:#f5b6420f}.mine-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.mine-order{display:flex;align-items:center;gap:6px;padding:2px 3px 2px 6px;border:1px solid rgba(245,182,66,.4);border-radius:4px;background:#f5b64212;font-size:10px;color:var(--muted)}.mine-order b{letter-spacing:.06em}.mine-order b.buy{color:var(--green)}.mine-order b.sell{color:var(--red)}.mine-order .left{color:var(--text);font-variant-numeric:tabular-nums}.mine-order .done,.mine-order .sim{color:var(--amber)}.mine-order .cancel{padding:0 5px;border-color:var(--red);color:var(--red)}.tasks{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.tasks.empty{padding:14px;color:var(--muted);text-align:center}.tasks-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.14em;color:var(--muted)}.tasks-head button{padding:4px 8px;font-size:10px;margin-left:6px}.tasks ul{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.task{padding:8px 10px;border-bottom:1px solid var(--line)}.task-top{display:flex;align-items:center;gap:8px;font-size:11px}.task .side.buy{color:var(--green)}.task .side.sell{color:var(--red)}.task .strategy{color:var(--text)}.task .status{margin-left:auto;color:var(--muted);letter-spacing:.08em}.task.filled .status{color:var(--green)}.task.failed .status,.task.skipped .status{color:var(--red)}.task .cancel{padding:0 6px;border-color:var(--red);color:var(--red)}.task-meta,.task-log{font-size:11px;color:var(--muted);margin-top:3px}.error{color:var(--red);font-size:11px}.panel-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.14em;color:var(--muted);background:transparent}.panel-head.sub{border-top:1px solid var(--line)}.panel-head button{margin-left:auto;padding:3px 8px;font-size:10px}.panel-head .count,.panel-head .chev{margin-left:auto}.panel-head .tag{padding:1px 5px;border-radius:3px;background:var(--red-dim);color:var(--red);letter-spacing:.06em}.portfolio,.tape,.admin{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.portfolio ul,.tape ul,.admin .recent{list-style:none;margin:0;padding:0}.portfolio .empty,.tape .empty{margin:0;padding:12px 10px;color:var(--muted);font-size:11px}.position,.order{padding:8px 10px;border-bottom:1px solid var(--line)}.position .line,.order .line{display:flex;align-items:center;gap:8px;font-size:12px}.position .name,.order .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position .pnl{margin-left:auto;font-variant-numeric:tabular-nums}.pnl.up{color:var(--green)}.pnl.down{color:var(--red)}.position .meta,.order .meta{margin-top:3px;font-size:11px;color:var(--muted)}.order .side.buy{color:var(--green)}.order .side.sell{color:var(--red)}.order .cancel{margin-left:auto;padding:0 6px;border-color:var(--red);color:var(--red)}.tape ul{max-height:220px;overflow-y:auto}.print{display:grid;grid-template-columns:62px 36px 52px 1fr 84px;gap:6px;padding:4px 10px;font-size:11px;font-variant-numeric:tabular-nums;border-bottom:1px solid rgba(22,28,43,.5)}.print .time,.print .who{color:var(--muted)}.print .who{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print.buy .side,.print.buy .price{color:var(--green)}.print.sell .side,.print.sell .price{color:var(--red)}.print.mine{background:#21c55d12;border-left:2px solid var(--green)}.prefs-toggle{width:100%;padding:8px 10px;text-align:left;font-size:11px;color:var(--muted);background:var(--panel)}.prefs{display:flex;flex-direction:column;gap:10px;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.prefs label{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.prefs input{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--text);letter-spacing:normal}.prefs small{letter-spacing:normal;font-size:10px}.prefs-tabs{display:flex;gap:6px;overflow-x:auto}.prefs-tabs button{flex:1;padding:6px 4px;font-size:10px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.prefs-tabs button.active{border-color:var(--green);color:#86efac}.prefs-note{margin:0;font-size:11px;color:var(--muted);line-height:1.45}.prefs-row{display:flex;gap:8px}.prefs-row label{flex:1}.prefs-check{flex-direction:row;align-items:center;gap:8px;letter-spacing:normal;font-size:11px}.prefs-check input{width:auto;accent-color:var(--green)}.prefs-actions{display:flex;gap:8px}.prefs-actions button{flex:1;padding:9px;font-size:11px}.prefs-actions button[type=submit]{border-color:var(--green);color:#86efac;background:#21c55d14}.funds-toggle{width:100%;padding:8px 10px;text-align:left;font-size:11px;color:var(--muted);background:var(--panel)}.funds{display:flex;flex-direction:column;gap:10px;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.funds label{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.funds input,.funds select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--text);letter-spacing:normal}.funds small{letter-spacing:normal;font-size:10px}.funds-address{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.funds-address code{flex:1;font-size:11px;word-break:break-all}.funds-address button{padding:5px 9px;font-size:10px}.funds-warn{margin:0;padding:8px 10px;border:1px solid var(--red-dim);border-radius:6px;font-size:11px;line-height:1.45;color:#fca5a5}.funds .prefs-actions button.danger{border-color:var(--red);color:#fca5a5;background:#ef444414}.funds .prefs-actions button.danger:disabled{border-color:var(--line);color:var(--muted);background:none}.funds-close{padding:7px;font-size:10px;color:var(--muted)}.linkish{padding:0;border:none;background:none;color:var(--muted);text-decoration:underline;font-size:10px}.tags{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.tags button{padding:5px 9px;font-size:10px;white-space:nowrap;color:var(--muted)}.tags button.active{border-color:var(--green);color:#86efac}.results .liq{font-size:10px;color:var(--muted);align-self:center}.picker .empty{margin:8px 0 0;font-size:11px;color:var(--muted)}.ladder-legend{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;padding:6px 2px 0;font-size:10px;color:var(--muted)}.ladder-legend i{display:inline-block;width:16px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}.swatch-thin{background:var(--red);opacity:.45}.swatch-open{border:1px dashed var(--muted);background:#161c2b47}.swatch-mine{background:var(--amber)}.ladder-legend .pos{margin-left:auto}.ladder-head .center{text-align:center}.admin-body{padding:10px}.admin-body dl{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;margin:0 0 10px;font-size:11px}.admin-body dt{color:var(--muted)}.admin-body dd{margin:0}.admin .recent li{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line);font-size:11px}.admin .recent .email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin .recent .wallet{margin-left:auto;color:var(--muted)}.app.loading{padding:60px 0;text-align:center;color:var(--muted)}.auth-gate{max-width:360px;margin:0 auto;padding:64px 16px;display:flex;flex-direction:column;gap:12px}.auth-gate h1{margin:0;font-size:15px;letter-spacing:.18em}.auth-gate .sub{margin:0;color:var(--muted);font-size:12px}.auth-gate form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.auth-gate input{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px}.auth-gate form button{padding:12px;border-color:var(--green);color:#86efac;background:#21c55d14;letter-spacing:.1em}.auth-gate .switch{border:none;color:var(--muted);padding:4px 0;text-align:left;font-size:11px}.auth-gate .note{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.account{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.account-summary{width:100%;border:none;display:flex;align-items:center;gap:8px;padding:9px 10px;font-size:11px}.pill{padding:2px 6px;border-radius:4px;font-size:10px;letter-spacing:.08em;background:var(--red-dim);color:var(--red)}.pill.ready{background:var(--green-dim);color:var(--green)}.account-summary .wallet{color:var(--muted)}.account-summary .budget{margin-left:auto;color:var(--muted)}.account-summary .balance{color:var(--text)}.account-body{padding:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.account-body dl{display:grid;grid-template-columns:96px 1fr;gap:4px 10px;margin:0;font-size:11px}.account-body dt{color:var(--muted);letter-spacing:.06em}.account-body dd{margin:0;word-break:break-all}.account-body>button{padding:10px;border-color:var(--green);color:#86efac;background:#21c55d14;letter-spacing:.1em;font-size:11px}.account-body .signout{border-color:var(--line);color:var(--muted);background:transparent}.account-body .note{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
