@font-face { font-family:"Silkscreen"; src:url("./fonts/Silkscreen-Regular.ttf") format("truetype"); font-display:swap; }
:root { color-scheme:light; --bg:#ede9de; --surface:#f8f5ed; --ink:#2f2b25; --muted:#6c6659; --green:#4541d4; --mint:#e5e2f5; --border:#cfc8b8; --red:#a03332; --radius:8px; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-size:14px; line-height:1.6; }
button,input,select { font:inherit; color:inherit; }
button { cursor:pointer; }button:disabled { opacity:.45; cursor:not-allowed; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
:is(button,a,input,select):focus-visible { outline:3px solid var(--green); outline-offset:4px; }
a { color:var(--green); text-underline-offset:4px; }[hidden] { display:none!important; }
h1,h2,h3,p { margin:0; }
h1 { font-family:"Silkscreen",var(--mono); font-size:clamp(24px,2.5vw,34px); line-height:1.3; letter-spacing:-.025em; font-weight:400; text-wrap:balance; }
h2 { font-size:19px; font-weight:600; letter-spacing:-.02em; }h3 { font-size:16px; font-weight:600; }small { font-size:11px; }
.sidebar { width:244px; background:var(--bg); border-right:1px solid var(--border); position:fixed; inset:0 auto 0 0; padding:32px 20px 0; display:flex; flex-direction:column; z-index:5; }
.brand { display:flex; align-items:center; gap:8px; padding:0 4px; color:var(--green); text-decoration:none; font-family:"Silkscreen",var(--mono); font-size:18px; font-weight:400; letter-spacing:-1px; }
.brand img { image-rendering:pixelated; }.brand-dot { color:var(--ink); }
.workspace { display:flex; align-items:center; gap:10px; border-block:1px solid var(--border); padding:16px 4px; margin:32px 0; }
.avatar { width:32px; height:32px; display:grid; place-items:center; background:#dfdacd; font:13px var(--mono); }
.workspace strong,.workspace small { display:block; font-size:11px; }.workspace small { color:var(--muted); margin-top:3px; font-size:10px; }.workspace-check { margin-left:auto; color:var(--green); }
.nav-label { font:10px var(--mono); color:var(--muted); letter-spacing:.15em; margin:0 12px 12px; }
nav { display:grid; gap:6px; }
.nav-item { display:flex; align-items:center; gap:12px; background:none; border:1px solid transparent; width:100%; padding:12px; text-align:left; color:var(--muted); font-size:13px; border-radius:6px; transition:background 160ms; }
.nav-item>span:first-child { width:20px; font-size:19px; text-align:center; line-height:1; }.nav-item:hover { background:#e4dfd1; }.nav-item.active { background:var(--mint); border-color:#c6c0e5; color:var(--green); font-weight:600; }
.nav-count { margin-left:auto; font:10px var(--mono); padding:2px 6px; background:#d5d0ee; border-radius:3px; }
.sidebar-bottom { border-top:1px solid var(--border); padding:24px 4px; margin-top:auto; }.safety-icon { color:var(--green); font-size:30px; margin-bottom:12px; }.sidebar-bottom strong { font-size:15px; line-height:1.4; display:block; }.sidebar-bottom p { color:var(--muted); font-size:12px; margin:12px 0 16px; }
.sidebar-footer { display:flex; align-items:center; gap:8px; border-top:1px solid var(--border); padding:20px 4px; font:10px var(--mono); color:var(--muted); }.sidebar-footer>span:last-child { margin-left:auto; }
.app-shell { margin-left:244px; }.topbar { min-height:76px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 36px; border-bottom:1px solid var(--border); }
.breadcrumb { font:11px var(--mono); color:var(--muted); }.breadcrumb span { margin:0 12px; }.breadcrumb strong { color:var(--ink); font-weight:500; }.topbar-right { display:flex; align-items:center; gap:16px; }#clock { font:10px var(--mono); color:var(--muted); font-variant-numeric:tabular-nums; }
.pill { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; font:9px/1.6 var(--mono); letter-spacing:.03em; border:1px solid transparent; border-radius:4px; white-space:nowrap; }.pill.mint { background:var(--mint); color:#403aa5; border-color:#c6c0e5; }.pill.amber { background:#f0e5c9; color:#755416; border-color:#d9c698; }.pill.gray { background:#e8e3d7; color:#625c50; border-color:var(--border); }.pill.outlined { border-color:var(--border); color:var(--ink); font-size:10px; }
.status-dot { display:inline-block; width:6px; height:6px; background:var(--green); flex-shrink:0; }.gray .status-dot { background:var(--muted); }
.emergency-btn { background:none; border:1px solid #ba8a79; border-radius:6px; padding:8px 12px; font-size:11px; color:#8c3d31; }.emergency-btn:hover,.emergency-btn.locked { background:#f1dbd2; }
main { max-width:1570px; margin:0 auto; padding:40px 36px 24px; min-height:calc(100vh - 140px); }.page-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:32px; }.eyebrow { display:none; }.page-heading p { color:var(--muted); font-size:13px; margin-top:12px; max-width:65ch; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:6px; padding:12px 16px; font-size:12px; font-weight:600; border:1px solid transparent; white-space:nowrap; transition:background 160ms; }.button.primary { background:var(--green); color:#fff; box-shadow:0 2px 2px #2f2b2515; }.button.primary:hover:not(:disabled) { background:#3430ad; }.button.secondary { background:var(--surface); border-color:var(--border); color:var(--ink); }.button.secondary:hover:not(:disabled) { background:#e4dfd1; }.button.small { padding:8px 12px; font-size:11px; gap:6px; }.button>span { font-size:16px; line-height:1; }
.overview-grid { display:grid; grid-template-columns:1.8fr 1fr; gap:24px; }.portfolio-hero { background:#272438; color:#f5f2ea; border:1px solid #272438; border-radius:var(--radius); padding:24px 28px; overflow:hidden; }.hero-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }.hero-top>span { font:10px var(--mono); letter-spacing:.1em; color:#d0c9e6; display:flex; align-items:center; gap:8px; }.hero-top .status-dot { background:#a69cf4; }
.hero-label { color:#d0c9e6; font-size:13px; margin-top:24px; margin-bottom:6px; }.hero-value { font:500 clamp(28px,3vw,40px)/1.3 var(--mono); letter-spacing:-.035em; display:flex; align-items:center; gap:16px; flex-wrap:wrap; font-variant-numeric:tabular-nums; }.hero-growth { font:11px var(--mono); color:#cee9d4; background:#344c41; padding:6px 8px; border-radius:4px; }.hero-growth.loss { color:#ffdfd8; background:#603b40; }.hero-growth small { font-size:9px; color:inherit; margin-left:4px; }
.equity-chart { display:block; width:100%; height:116px; margin:16px 0 8px; }.chart-grid { stroke:#494457; stroke-width:1; fill:none; }.chart-area { fill:#a499ed14; }.chart-line { stroke:#bbb0ff; stroke-width:2; fill:none; vector-effect:non-scaling-stroke; }.chart-empty { height:130px; display:grid; place-items:center; color:#d0c9e6; font-size:12px; text-align:center; }
.hero-bottom { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #494457; padding-top:16px; gap:12px; }.hero-bottom span { font-size:11px; color:#d0c9e6; display:block; margin-bottom:6px; }.hero-bottom strong { font:13px var(--mono); }
.panel { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; }.section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }.section-heading .muted { margin-top:4px; }.muted { color:var(--muted); font-size:12px; line-height:1.7; }.risk-panel>.muted { margin-top:16px; }.shield { color:var(--green); font-size:24px; }
.risk-number { font:23px var(--mono); letter-spacing:-.025em; margin:12px 0; }.risk-number>span { font-size:12px; color:var(--muted); }.risk-progress { display:block; width:100%; height:6px; border:0; border-radius:0; overflow:hidden; background:#e4dfd1; }.risk-progress::-webkit-progress-bar { background:#e4dfd1; }.risk-progress::-webkit-progress-value { background:var(--green); }.risk-progress::-moz-progress-bar { background:var(--green); }.risk-legend { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; margin:8px 0 12px; }
.risk-row { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; }.risk-row>span { color:var(--muted); }.risk-row strong { font:11px/1.6 var(--mono); text-align:right; }
.text-button { display:inline-flex; gap:12px; align-items:center; border:0; background:none; color:var(--green); padding:4px 0; font-size:12px; font-weight:600; }.text-button:hover { text-decoration:underline; text-underline-offset:4px; }.risk-panel>.text-button { margin-top:12px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:24px; border-block:1px solid var(--border); }.metric-card { padding:20px 16px; display:flex; align-items:center; gap:12px; border-right:1px solid var(--border); min-width:0; }.metric-card:last-child { border-right:0; }.metric-icon { color:var(--green); width:28px; display:grid; place-items:center; font-size:24px; flex-shrink:0; }.metric-card>div>span { display:block; color:var(--muted); font-size:11px; margin-bottom:6px; }.metric-card strong { display:block; font:20px/1.3 var(--mono); letter-spacing:-.03em; }.metric-card strong small { color:var(--muted); font:10px/1.6 var(--mono); letter-spacing:0; }.metric-card .connection-value { font:12px/1.6 var(--mono); letter-spacing:0; }.text-button.mini { font-size:10px; margin-top:4px; }
.bot-section-heading { margin:32px 0 16px; }.count { font:11px var(--mono); color:var(--muted); margin-left:8px; }.bot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.bot-card { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); padding:24px; display:flex; flex-direction:column; min-width:0; }.bot-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }.bot-icon { color:var(--green); font-size:28px; line-height:1; }.bot-sub { color:var(--muted); font:10px/1.7 var(--mono); margin-top:8px; }.bot-sub>span { margin:0 4px; }
.bot-rule { font-size:12px; color:var(--muted); padding:16px 0; }.bot-rule strong { font:12px var(--mono); color:var(--ink); }.bot-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px 0; border-block:1px solid var(--border); }.bot-stats span { display:block; font-size:11px; color:var(--muted); margin-bottom:6px; }.bot-stats strong { font:12px var(--mono); }.bot-message { font-size:12px; color:var(--muted); line-height:1.7; min-height:56px; padding:16px 0; overflow-wrap:anywhere; }.bot-actions { display:flex; gap:8px; margin-top:auto; flex-wrap:wrap; }
.position-box { display:grid; gap:4px; padding:12px; background:#ebe7f4; border:1px solid #c6c0e5; margin-top:12px; border-radius:4px; }.position-box strong { font:11px/1.6 var(--mono); }.position-box span { font-size:11px; color:#625b75; }
.new-bot-card { display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px dashed #a59bab; background:transparent; border-radius:var(--radius); padding:24px; min-height:260px; }.new-bot-card>span { color:var(--green); font-size:32px; margin-bottom:12px; }.new-bot-card strong { font-size:15px; font-weight:600; }.new-bot-card p { color:var(--muted); font-size:12px; margin:8px 0 16px; }.new-bot-card small { font-size:11px; color:var(--green); }.new-bot-card:hover { background:#e5e0ed; border-color:var(--green); }
.bottom-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }.watch-panel>.muted { margin-top:8px; }.watch-list { margin-top:16px; }.watch-item { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); }.watch-item:last-child { border-bottom:0; }.ticker-avatar { display:grid; place-items:center; border:1px solid var(--border); width:32px; height:32px; font:10px var(--mono); color:var(--green); background:var(--bg); }.watch-item strong { display:block; font:12px var(--mono); }.watch-item small { color:var(--muted); font:10px/1.6 var(--mono); display:block; margin-top:4px; }.watch-item>div:last-child { margin-left:auto; text-align:right; }
.positive { color:#2d704a!important; }.negative { color:#a03332!important; }.activity-list { margin-top:24px; }.activity-item { display:flex; gap:12px; padding-bottom:20px; }.activity-dot { width:6px; height:6px; background:var(--green); margin-top:7px; flex-shrink:0; }.activity-dot.warn { background:#94671c; }.activity-dot.error { background:var(--red); }.activity-item p { font-size:12px; color:var(--muted); line-height:1.7; }.activity-item small { color:var(--muted); font:10px var(--mono); display:block; margin-top:6px; }
.journal-preview { margin-top:24px; }.table-scroll { overflow-x:auto; }table { width:100%; border-collapse:collapse; font-size:12px; margin-top:20px; text-align:left; }th { color:var(--muted); font:10px var(--mono); border-bottom:1px solid var(--border); padding:12px 16px 12px 0; white-space:nowrap; }td { padding:16px 16px 16px 0; border-bottom:1px solid var(--border); color:var(--ink); font-variant-numeric:tabular-nums; }td strong { font-weight:600; }td small { display:block; margin-top:6px; font-size:10px; color:var(--muted); }.side { padding:4px 8px; border:1px solid var(--border); border-radius:4px; font:10px var(--mono); }.side.buy { background:#e3ecdf; color:#2d704a; }.side.sell { background:#f0e0d7; color:#913d31; }.nowrap { white-space:nowrap; font:10px var(--mono); }
.empty { text-align:center; padding:56px 24px; color:var(--muted); }.empty h3,.empty h2 { color:var(--ink); margin-bottom:12px; }.empty p { font-size:13px; max-width:65ch; margin:0 auto; }.empty .button { margin-top:20px; }.empty.compact { padding:32px 16px; }.empty.compact h3 { font-size:15px; }.empty.compact p { font-size:12px; }.empty-symbol { display:block; font-size:28px; color:var(--green); margin-bottom:12px; }.feed-note { color:var(--muted); font-size:11px; line-height:1.8; margin-top:24px; }
.main-footer { border-top:1px solid var(--border); display:flex; justify-content:space-between; gap:16px; padding:20px 36px; color:var(--muted); font:10px/1.7 var(--mono); }.notice { border-radius:6px; padding:16px; margin-bottom:24px; font-size:12px; line-height:1.8; display:flex; gap:10px; align-items:center; flex-wrap:wrap; overflow-wrap:anywhere; }.notice.subtle { background:#e8e4f2; border:1px solid #c6c0e5; color:#514778; }.notice.warning { background:#f2e8cf; border:1px solid #d9c698; color:#715018; }.notice.danger { background:#f3dfd7; border:1px solid #d7a899; color:#90382b; }
.preset-panel { margin-top:32px; }.preset-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:24px; }.preset-grid>div { padding-right:20px; border-right:1px solid var(--border); }.preset-grid>div:last-child { border:0; }.preset-grid h3 { font-size:16px; margin-bottom:12px; }.preset-grid p { color:var(--muted); font-size:12px; line-height:1.8; }
.broker-grid,.settings-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; margin-bottom:24px; }.broker-brand { display:flex; align-items:center; gap:12px; }.broker-mark { width:40px; height:40px; display:grid; place-items:center; color:var(--green); font-size:28px; border:1px solid var(--border); background:var(--bg); }.connection-panel { margin-bottom:24px; }.broker-grid .connection-panel { margin-bottom:0; }.connection-panel .notice { margin-top:20px; }.connection-panel .button { margin-top:20px; }
.setup-steps { counter-reset:setup; list-style:none; padding:0; margin:24px 0 0; }.setup-steps li { counter-increment:setup; padding-left:36px; margin-bottom:24px; position:relative; }.setup-steps li::before { content:counter(setup); position:absolute; left:0; top:0; border:1px solid var(--border); color:var(--green); width:24px; height:24px; display:grid; place-items:center; font:11px var(--mono); }.setup-steps strong { font-size:13px; font-weight:600; }.setup-steps p { color:var(--muted); font-size:12px; margin-top:8px; line-height:1.8; }code { background:#e4dfd1; color:#514778; padding:2px 4px; border-radius:3px; font:11px/1.8 var(--mono); overflow-wrap:anywhere; }
.onboarding-panel { margin-bottom:24px; min-width:0; }.onboarding-panel .section-heading { flex-wrap:wrap; }.setup-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:24px 0; }.setup-step { display:flex; align-items:center; gap:10px; min-width:0; text-align:left; padding:12px; background:var(--bg); border:1px solid var(--border); border-radius:6px; font-size:12px; }.setup-step>span { display:grid; place-items:center; flex-shrink:0; width:24px; height:24px; font:11px var(--mono); border:1px solid var(--border); }.setup-step.active { color:var(--green); background:var(--mint); border-color:#a69cf4; }.setup-step.active>span { background:var(--green); color:white; border-color:var(--green); }.setup-content { border-top:1px solid var(--border); padding-top:24px; }.setup-content>h3 { font-size:20px; margin-bottom:8px; }.setup-content h3:focus-visible,.setup-code pre:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.setup-code { margin-top:12px; min-width:0; }.setup-code>span { font-size:11px; color:var(--muted); }.setup-code pre { background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:14px; margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }.setup-code code { padding:0; background:none; }.setup-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid var(--border); padding-top:20px; margin-top:24px; }.setup-actions p { flex:1; }.setup-checks { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:20px 0; }
@media(max-width:1000px) { .setup-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.setup-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; cursor:pointer; list-style:none; }.setup-summary::-webkit-details-marker { display:none; }.setup-summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.setup-disclosure { color:var(--green); font-size:12px; white-space:nowrap; }.setup-disclosure::after { content:" +"; font:16px var(--mono); }.onboarding-panel[open] .setup-disclosure::after { content:" -"; }.setup-progress { margin-top:20px; }
.setup-manual { margin-top:16px; }.setup-manual summary { cursor:pointer; color:var(--green); font-size:12px; }.setup-manual summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }#broker-config-form .notice { margin:16px 0 0; }#broker-config-form .form-error:empty { display:none; }
.notice.removable-notice { display:block; }.notice-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.notice-header>strong { padding-top:8px; }.notice-dismiss { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:0; border-radius:4px; background:transparent; color:inherit; font-size:24px; line-height:1; }.notice-dismiss:hover { background:#2f2b2510; }.removable-notice .notice-content { margin-top:8px; }
@media(max-width:650px) { nav.setup-nav { display:grid; overflow:visible; }.setup-step { font-size:11px; padding:10px; gap:6px; }.setup-actions .button { white-space:normal; }.setup-actions p { flex-basis:100%; order:3; } }
.account-panel { margin-bottom:24px; }.account-panel>.muted { margin-top:12px; }.settings-grid form { margin-top:24px; }label { display:block; color:var(--ink); font-size:12px; font-weight:600; margin-top:16px; }input,select { display:block; width:100%; min-width:0; border:1px solid #aaa18f; background:#fcfaf5; padding:12px; color:var(--ink); font-size:13px; border-radius:6px; margin-top:8px; }input::placeholder { color:#71695d; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.form-help { color:var(--muted); font-size:12px; margin-top:12px; line-height:1.8; }.form-error { color:var(--red); font-size:12px; margin:16px 0; min-height:18px; }
.safety-list { margin:24px 0; display:grid; gap:24px; }.safety-list>div { display:flex; gap:12px; }.safety-list>div>span { color:var(--green); font-size:14px; width:20px; flex-shrink:0; }.safety-list p { font-size:12px; color:var(--muted); line-height:1.8; }.safety-list strong { display:block; font-size:14px; color:var(--ink); margin-bottom:6px; font-weight:600; }
dialog { background:var(--surface); color:var(--ink); border:1px solid var(--border); border-radius:8px; padding:28px; max-width:600px; width:calc(100% - 32px); box-shadow:0 24px 64px #2f2b2540; max-height:90vh; overflow-y:auto; }dialog::backdrop { background:#2f2b2580; }.dialog-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:16px; }.dialog-heading h2 { font-size:25px; }.icon-button { font-size:26px; color:var(--muted); background:none; border:0; padding:4px 12px; }dialog .notice { margin:24px 0 0; }.dialog-actions { display:flex; justify-content:flex-end; gap:12px; border-top:1px solid var(--border); padding-top:20px; margin-top:16px; }
.toast { position:fixed; bottom:24px; left:calc(50% + 122px); transform:translateX(-50%); z-index:20; background:#36315b; color:#fff; border:1px solid #8073af; border-radius:6px; box-shadow:0 8px 24px #2f2b2520; padding:16px 20px; font-size:13px; max-width:min(90vw,650px); width:max-content; }.toast.error { background:#8d352d; border-color:#be7d70; }.loading { min-height:65vh; display:flex; gap:16px; align-items:center; justify-content:center; color:var(--muted); }.loading-mark { width:18px; height:18px; border:2px solid var(--border); border-top-color:var(--green); border-radius:50%; animation:spin 1s linear infinite; }@keyframes spin { to { transform:rotate(360deg); } }
@media(min-width:1600px) { main { padding-top:48px; }.portfolio-hero { padding:32px; }.equity-chart { height:144px; }.risk-panel { padding:32px; } }
@media(max-width:1200px) { .sidebar { width:216px; padding-inline:16px; }.app-shell { margin-left:216px; }main,.topbar { padding-inline:24px; }.overview-grid { grid-template-columns:1.5fr 1fr; }.metric-grid { grid-template-columns:repeat(2,1fr); }.metric-card:nth-child(2) { border-right:0; }.metric-card:nth-child(-n+2) { border-bottom:1px solid var(--border); }.bot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.broker-grid,.settings-grid { grid-template-columns:1fr; }.hero-growth small { display:none; }.topbar-right { gap:12px; }#clock { display:none; } }
@media(max-width:900px) { .sidebar { width:188px; padding:24px 12px 0; }.brand { font-size:18px; }.brand img { width:28px; height:28px; }.app-shell { margin-left:188px; }.workspace-check { display:none; }.workspace strong { font-size:10px; }.workspace small { font-size:9px; }.nav-item { font-size:12px; gap:8px; }.overview-grid,.bottom-grid { grid-template-columns:1fr; }.preset-grid { grid-template-columns:1fr 1fr; }.preset-grid>div { border:0; }.hero-value { font-size:34px; }.main-footer { flex-direction:column; gap:8px; padding-inline:24px; }.toast { left:calc(50% + 94px); } }
@media(max-width:650px) { .sidebar { position:static; width:100%; padding:20px 16px 0; border-right:0; border-bottom:1px solid var(--border); }.brand { font-size:24px; }.workspace,.nav-label,.sidebar-bottom,.sidebar-footer { display:none; }nav { display:flex; margin-top:16px; overflow-x:auto; gap:2px; }.nav-item { width:auto; white-space:nowrap; flex-shrink:0; font-size:11px; padding:12px 10px; border-radius:4px 4px 0 0; }.nav-item>span:first-child,.nav-count { display:none; }.app-shell { margin-left:0; }.topbar { min-height:60px; padding:12px 16px; }.breadcrumb { display:none; }.topbar-right { width:100%; justify-content:space-between; }main { padding:28px 16px; }.page-heading { align-items:flex-start; gap:12px; }.page-heading h1 { font-size:28px; }.page-heading p { font-size:12px; }.page-heading .button { padding:10px; gap:6px; font-size:11px; }.bot-grid { grid-template-columns:1fr; }.metric-card { padding:16px 8px; gap:8px; }.metric-icon { width:20px; font-size:20px; }.metric-card strong { font-size:18px; }.metric-card strong small { display:block; }.metric-card .connection-value { font-size:11px; }.hero-value { font-size:27px; }.portfolio-hero,.panel,.bot-card { padding:20px; }.hero-bottom strong { font-size:11px; }.hero-bottom span { font-size:10px; }.hero-top { flex-wrap:wrap; }.toast { left:50%; bottom:16px; }.form-grid { gap:12px; }.main-footer { padding:16px; }.section-heading { flex-wrap:wrap; gap:10px; }.new-bot-card { min-height:200px; }dialog { padding:20px; }.risk-row { font-size:11px; }.risk-row strong { font-size:10px; }.preset-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.logs-heading { margin-top:20px; }.logs-heading h1,.logs-panel { overflow-wrap:anywhere; }
.logs-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; }.logs-toolbar label { margin:0; }.logs-toolbar input { width:auto; }.log-status { margin-top:20px; }
.notice.collapsible-notice { display:block; }.collapsible-notice summary { cursor:pointer; font-weight:700; }.collapsible-notice summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.collapsible-notice .notice-content { margin-top:10px; }
.analysis-entry { border-top:1px solid var(--border); padding:16px 0; }.analysis-entry summary { cursor:pointer; font-size:12px; }.analysis-entry summary time { font-family:var(--mono); margin-right:16px; }.analysis-entry summary strong { margin-right:16px; }.analysis-entry summary>span { display:inline-block; font-family:var(--mono); }.analysis-entry summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.analysis-entry[open] summary { margin-bottom:12px; }.analysis-entry p { font-size:12px; margin-top:8px; }.analysis-entry pre { background:var(--bg); border:1px solid var(--border); padding:16px; font:11px/1.8 var(--mono); white-space:pre-wrap; overflow-wrap:anywhere; max-height:480px; overflow:auto; }.analysis-entry pre:focus-visible { outline:3px solid var(--green); outline-offset:2px; }
@media(max-width:650px) { .analysis-entry summary time { display:block; margin:0 0 4px; }.logs-toolbar { gap:12px; } }
:root[data-theme="dark"] { color-scheme:dark; --bg:#191820; --surface:#24222e; --ink:#f0ece4; --muted:#b4aebf; --green:#b5aaff; --mint:#332e4d; --border:#4e485c; --red:#ffaaa2; }
:root[data-theme="dark"] .avatar { background:#37333f; }
:root[data-theme="dark"] :is(.nav-item:hover,.button.secondary:hover:not(:disabled)) { background:#37333f; }
:root[data-theme="dark"] :is(.nav-item.active,.pill.mint,.position-box,.notice.subtle) { background:var(--mint); border-color:#655a8c; color:#d1c8ff; }
:root[data-theme="dark"] .nav-count { background:#4a4166; }
:root[data-theme="dark"] .pill.gray { background:#37333f; color:var(--muted); }
:root[data-theme="dark"] :is(.pill.amber,.notice.warning) { background:#3f331f; color:#f0cd89; border-color:#8b703b; }
:root[data-theme="dark"] :is(.notice.danger,.emergency-btn:hover,.emergency-btn.locked) { background:#442a2b; color:#ffb7ab; border-color:#99625b; }
:root[data-theme="dark"] .emergency-btn { color:#ffb7ab; border-color:#99625b; }
:root[data-theme="dark"] .button.primary { color:#191820; }
:root[data-theme="dark"] .button.primary:hover:not(:disabled) { background:#c9c0ff; }
:root[data-theme="dark"] .setup-step.active>span { color:#191820; }
:root[data-theme="dark"] .risk-progress { background:#37333f; }
:root[data-theme="dark"] .risk-progress::-webkit-progress-bar { background:#37333f; }
:root[data-theme="dark"] .position-box span { color:#c6bddb; }
:root[data-theme="dark"] .new-bot-card { border-color:#827690; }
:root[data-theme="dark"] .new-bot-card:hover { background:var(--mint); border-color:var(--green); }
:root[data-theme="dark"] .positive { color:#9cdbaf!important; }
:root[data-theme="dark"] .negative { color:var(--red)!important; }
:root[data-theme="dark"] .activity-dot.warn { background:#f0cd89; }
:root[data-theme="dark"] .side.buy { background:#293d32; color:#9cdbaf; }
:root[data-theme="dark"] .side.sell { background:#442a2b; color:#ffb7ab; }
:root[data-theme="dark"] code { background:#37333f; color:#d1c8ff; }
:root[data-theme="dark"] .setup-code code { background:none; }
:root[data-theme="dark"] :is(input,select) { background-color:#1c1a24; border-color:#827690; }
:root[data-theme="dark"] input::placeholder { color:var(--muted); }
:root[data-theme="dark"] dialog::backdrop { background:#09080db3; }
#theme-toggle[aria-pressed="true"] { background:var(--mint); border-color:var(--green); color:var(--green); }
.theme-status { padding:12px 36px; color:var(--red); font-size:12px; }
.topbar-right { flex-wrap:wrap; }
@media(max-width:650px) { .theme-status { padding-inline:16px; } }
.backtest-controls { margin-bottom:20px; }.backtest-controls input,.backtest-controls select { min-height:48px; line-height:1.6; }.backtest-controls select { appearance:none; -webkit-appearance:none; padding:12px 40px 12px 12px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%236c6659' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:12px 12px; }
.backtest-saved { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:20px 0; }#backtest-results-dialog { max-width:800px; }#backtest-results-title { outline-offset:4px; }.backtest-result-meta { font-weight:600; overflow-wrap:anywhere; }#backtest-results-content>.muted { margin-top:8px; }.backtest-summary { margin:20px 0; }.backtest-coverage { margin:20px 0; }.backtest-coverage summary { cursor:pointer; font-weight:600; }.backtest-coverage summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.backtest-coverage p { margin-top:8px; font-size:12px; }.backtest-downloads { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:12px; }#backtest-results-content>.notice { margin-top:20px; }
.backtest-learn-more>summary { cursor:pointer; font-size:18px; font-weight:600; }.backtest-learn-more>summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }.backtest-guide { margin-top:20px; }
:root[data-theme="dark"] .backtest-controls select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23b4aebf' stroke-width='1.5'/%3E%3C/svg%3E"); }
