.connect-page{max-width:1060px;margin:0 auto;padding:32px 24px 64px}.connect-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.connect-sub{color:var(--text-mid);max-width:560px;margin:6px 0 0}.connect-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:20px;display:grid}.walkthrough{counter-reset:step;flex-direction:column;gap:18px;margin:14px 0 0;padding:0;list-style:none;display:flex}.walkthrough li{counter-increment:step;flex-direction:column;gap:10px;display:flex}.walkthrough .step-text{flex-direction:column;gap:2px;display:flex}.walkthrough .step-text strong:before{content:counter(step) ". ";color:var(--accent);font-family:var(--mono)}.walkthrough .step-text span{color:var(--text-mid);font-size:13.5px}.step-placeholder{border:1px dashed var(--border);background:var(--bg-input);border-radius:10px;justify-content:center;align-items:center;height:120px;display:flex}.step-shot{border:1px solid var(--border);border-radius:10px;width:100%;display:block}.connect-form form{margin-top:14px}.connect-form button.primary{width:100%}.connect-note{color:var(--text-dim);margin:12px 0 0;font-size:12.5px}@media (width<=860px){.connect-grid{grid-template-columns:1fr}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:100%;max-width:400px;padding:32px}.login-brand{font-family:var(--mono);letter-spacing:.18em;margin:4px 0 10px;font-size:30px}.login-brand .cursor{color:var(--accent)}.login-sub{color:var(--text-mid);margin:0 0 22px;font-size:13.5px}.login-submit{width:100%;margin-bottom:10px}.builder{border:1px solid var(--line,#1b221d);background:var(--card,#101512);border-radius:16px;margin-bottom:18px;padding:18px}.builder-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.builder-title{font-size:15px;font-weight:700}.builder-sub{color:var(--dim,#8b968d);max-width:460px;margin-top:3px;font-size:12.5px}.builder-meter{color:var(--mint,#75fb9a);white-space:nowrap;align-items:center;gap:6px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.builder-meter .meter-dot{color:var(--dim,#8b968d)}.builder-meter .meter-zero{color:var(--amber,#f5c86b)}.builder-input{resize:vertical;border:1px solid var(--line,#1b221d);background:var(--bg,#080b09);width:100%;min-height:96px;color:var(--text,#edf2ee);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5}.builder-input:focus{border-color:var(--mint,#75fb9a);outline:none}.builder-row{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.builder-count{color:var(--dim,#8b968d);font-family:ui-monospace,monospace;font-size:11.5px}.builder-btn,.refine-btn,.review-confirm{background:var(--mint,#75fb9a);color:#06120c;cursor:pointer;border:0;border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:700}.builder-btn:disabled,.refine-btn:disabled,.review-confirm:disabled{opacity:.5;cursor:default}.builder-note,.builder-hardstop{border:1px solid var(--line,#1b221d);background:var(--bg,#080b09);border-radius:12px;padding:16px}.builder-hardstop{border-color:#f5c86b66}.hardstop-title,.note-title{margin-bottom:4px;font-size:14px;font-weight:700}.hardstop-sub,.note-body{color:var(--dim,#8b968d);font-size:13px}.note-missing{color:var(--dim,#8b968d);margin:8px 0 0;padding-left:18px;font-size:13px}.builder-link{color:var(--mint,#75fb9a);cursor:pointer;background:0 0;border:0;padding:8px 0 0;font-size:12.5px;font-weight:600}.builder-error{color:var(--red,#ff6b7a);margin-top:10px;font-size:12.5px}.review{border:1px solid var(--mint-deep,#3ecf71);background:var(--bg,#080b09);border-radius:14px;padding:18px}.review-badge{letter-spacing:.12em;color:var(--amber,#f5c86b);margin-bottom:8px;font-family:ui-monospace,monospace;font-size:10px}.review-name{font-size:18px;font-weight:700}.review-symbol{color:var(--mint,#75fb9a);margin-bottom:12px;font-family:ui-monospace,monospace;font-size:13px}.review-grid{grid-template-columns:130px 1fr;gap:7px 12px;margin:0 0 14px;display:grid}.review-grid dt{color:var(--dim,#8b968d);font-size:12.5px}.review-grid dd{margin:0;font-size:13px}.review-grid .req{color:var(--amber,#f5c86b)}.review-grid .dd-highlight{color:var(--mint,#75fb9a);font-weight:600}.review-refine{gap:8px;margin-bottom:12px;display:flex}.refine-input{border:1px solid var(--line,#1b221d);background:var(--card,#101512);color:var(--text,#edf2ee);border-radius:10px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.refine-input:focus{border-color:var(--mint,#75fb9a);outline:none}.refine-btn{color:var(--mint,#75fb9a);border:1px solid var(--mint,#75fb9a);background:0 0}.review-actions{justify-content:flex-end;gap:10px;display:flex}.review-discard{color:var(--dim,#8b968d);border:1px solid var(--line,#1b221d);cursor:pointer;background:0 0;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600}.strategies-page{max-width:1160px;margin:0 auto;padding:32px 24px 64px}.strategies-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.strategies-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kill-btn{font-family:var(--mono);letter-spacing:.12em;color:var(--red);background:0 0;border:1px solid #ff4d6a80;font-size:12px}.kill-btn:hover:not(:disabled){border-color:var(--red)}.kill-btn.engaged{background:var(--red);border-color:var(--red);color:#1a0308}.strategies-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:20px;display:grid}.strategies-list-header{justify-content:space-between;align-items:center;display:flex}.strategy-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.strategy-row{text-align:left;background:var(--bg-input);flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.strategy-row.selected{border-color:var(--accent-border);background:var(--accent-dim)}.strategy-name{font-weight:600}.spec-editor{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--mono);resize:vertical;background:#060b14;border-radius:10px;margin-top:12px;padding:14px;font-size:12.5px;line-height:1.6}.spec-editor:focus{border-color:var(--accent-border);outline:none}.editor-actions{gap:10px;margin-top:12px;display:flex}.decisions-card{margin-top:20px}.decisions-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.decision-list{flex-direction:column;gap:6px;max-height:360px;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.decision-row{font-family:var(--mono);border-bottom:1px solid var(--border-soft);align-items:baseline;gap:10px;padding-bottom:6px;font-size:12px;display:flex}.decision-ts{flex-shrink:0}.decision-kind{flex-shrink:0;min-width:110px}.decision-kind.kind-lifecycle{color:var(--text-dim)}.decision-kind.kind-entry,.decision-kind.kind-exit{color:var(--accent)}.decision-kind.kind-gate_blocked,.decision-kind.kind-warning{color:var(--amber)}.decision-kind.kind-error{color:var(--red)}.decision-message{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=920px){.strategies-grid{grid-template-columns:1fr}}.advanced-toggle{color:var(--dim,#8b968d);cursor:pointer;text-align:left;background:0 0;border:0;padding:4px 0 12px;font-size:12.5px;font-weight:600}.advanced-toggle:hover{color:var(--text,#edf2ee)}.trade-page{max-width:1160px;margin:0 auto;padding:20px 24px 64px}.topbar{flex-wrap:wrap;align-items:center;gap:16px;padding:10px 0 20px;display:flex}.topbar-brand{flex-direction:column;line-height:1.2;display:flex}.brand-name{font-family:var(--mono);letter-spacing:.18em;font-size:20px}.brand-cursor{color:var(--accent)}.topbar-chips{flex-wrap:wrap;flex:1;gap:8px;display:flex}.topbar-actions{gap:8px;display:flex}.trade-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.trade-col{flex-direction:column;gap:20px;display:flex}.dim{color:var(--text-dim);font-size:13.5px}.account-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.account-row{border:1px solid var(--border);cursor:pointer;background:var(--bg-input);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.account-row.selected{border-color:var(--accent-border);background:var(--accent-dim)}.account-row.disabled{opacity:.55;cursor:not-allowed}.account-row input{width:auto}.account-text{flex-direction:column;flex:1;display:flex}.account-name{font-family:var(--mono);font-size:13.5px}.account-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.account-balance{font-family:var(--mono);font-size:15px}.resolve-row{gap:10px;margin:12px 0;display:flex}.resolve-row input{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.contract-card{border:1px solid var(--border);background:var(--bg-input);border-radius:10px;padding:14px}.contract-id{font-family:var(--mono);letter-spacing:.06em;font-size:16px}.contract-meta{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.side-toggle{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px;display:grid}button.side{font-family:var(--mono);letter-spacing:.18em;padding:12px}button.side.buy.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}button.side.sell.active{background:var(--red-dim);color:var(--red);border-color:#ff4d6a66}.ticket-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ticket-row:has(>:nth-child(3)){grid-template-columns:1fr 1fr 1fr}.ticket-row.brackets .field label{color:var(--amber)}.risk-line{font-family:var(--mono);align-items:baseline;gap:10px;margin:4px 0 12px;display:flex}.risk-loss{color:var(--red)}.risk-gain{color:var(--accent)}.submit-order{width:100%;font-family:var(--mono);letter-spacing:.06em;padding:13px}.feed-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.feed-list{flex-direction:column;gap:6px;max-height:340px;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.feed-row{font-family:var(--mono);border-bottom:1px solid var(--border-soft);align-items:baseline;gap:10px;padding-bottom:6px;font-size:12px;display:flex}.feed-ts{flex-shrink:0}.feed-type{flex-shrink:0;min-width:74px}.feed-type.feed-trade{color:var(--accent)}.feed-type.feed-position{color:var(--amber)}.feed-type.feed-order{color:var(--text)}.feed-type.feed-hub_status{color:var(--text-dim)}.feed-data{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.order-summary{font-family:var(--mono);letter-spacing:.06em;margin:10px 0 6px;font-size:15.5px}.trade-page pre{max-height:380px;overflow-y:auto}@media (width<=920px){.trade-grid{grid-template-columns:1fr}}:root{--shell:#090f1a;--bg-card:#0e1626;--bg-card2:#101a2e;--bg-input:#0b1220;--border:#ffffff14;--border-soft:#ffffff0d;--accent:#00e676;--accent-dim:#00e6761f;--accent-border:#00e67659;--red:#ff4d6a;--red-dim:#ff4d6a1f;--amber:#ffc24d;--amber-dim:#ffc24d1a;--text:#f0f1f5;--text-mid:#9ba0b5;--text-dim:#767b92;--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--radius:14px}*{box-sizing:border-box}body{background:var(--shell);color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}#root{min-height:100vh}h1,h2,h3{margin:0 0 .5rem;font-weight:600}a{color:var(--accent)}.micro{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.card{background:linear-gradient(180deg, var(--bg-card2), var(--bg-card));border:1px solid var(--border);border-radius:var(--radius);padding:20px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);font-size:11px}input,select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px}input:focus,select:focus{border-color:var(--accent-border);outline:none}input::placeholder{color:var(--text-dim)}button{border:1px solid var(--border);background:var(--bg-card2);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600}button:hover:not(:disabled){border-color:var(--accent-border)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#04180d}button.ghost{color:var(--text-mid);background:0 0}.banner{border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:10px 14px;font-size:13.5px}.banner.info{background:var(--accent-dim);border-color:var(--accent-border);color:var(--text)}.banner.warn{background:var(--amber-dim);color:var(--amber);border-color:#ffc24d66}.banner.error{background:var(--red-dim);color:var(--red);border-color:#ff4d6a66}.chip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-mid);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.chip.warn{color:var(--amber);background:var(--amber-dim);border-color:#ffc24d66}.chip.ok{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.splash{min-height:100vh;font-family:var(--mono);letter-spacing:.3em;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.splash .error-box{text-align:center;letter-spacing:normal;max-width:480px;color:var(--text-mid);font-family:inherit}code{font-family:var(--mono);background:var(--bg-input);border:1px solid var(--border);word-break:break-all;border-radius:6px;padding:2px 6px;font-size:13px}pre{border:1px solid var(--border);font-family:var(--mono);background:#060b14;border-radius:10px;margin:0;padding:14px;font-size:12.5px;line-height:1.6;overflow-x:auto}
