:root{color-scheme:dark;--bg: #0e1116;--panel: #151a22;--border: #232a35;--fg: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--pos: #3fb950;--neg: #f85149;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}button,input{font:inherit}input{background:#0b0e13;color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 10px}button{background:var(--accent);color:#0b0e13;border:0;border-radius:4px;padding:6px 12px;cursor:pointer;font-weight:600}button.secondary{background:var(--panel);color:var(--fg);border:1px solid var(--border)}.app{display:grid;grid-template-columns:220px 1fr 320px;height:100vh}.app--wl-collapsed{grid-template-columns:28px 1fr 320px}.app--sig-collapsed{grid-template-columns:220px 1fr 28px}.app--wl-collapsed.app--sig-collapsed{grid-template-columns:28px 1fr 28px}.sidebar,.right{background:var(--panel);border-right:1px solid var(--border);overflow-y:auto}.right{border-right:0;border-left:1px solid var(--border)}.collapsed-rail{display:flex;flex-direction:column;align-items:center;width:28px;height:100%;cursor:pointer;background:var(--panel);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border)}.collapsed-rail:hover{background:var(--accent, #4af);color:#000}.collapsed-rail:hover .chev,.collapsed-rail:hover .label{color:#000}.collapsed-rail .chev{padding:10px 0 4px;color:var(--fg);font-size:16px;font-weight:700}.collapsed-rail .label{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:1px;font-size:11px;color:var(--muted);margin-top:6px}.section-title-row{display:flex;align-items:center;justify-content:space-between;padding-right:6px}.section-title-row .collapse-btn{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:2px 10px;font-weight:700;font-size:14px;line-height:1;cursor:pointer}.section-title-row .collapse-btn:hover{background:var(--accent, #4af);color:#000;border-color:var(--accent, #4af)}.main{display:flex;flex-direction:column;overflow:hidden}header.topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--panel)}header.topbar h1{margin:0;font-size:14px;letter-spacing:.5px;color:var(--muted)}.watchlist-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border)}.watchlist-item:hover,.watchlist-item.active{background:#1c222c}.watchlist-item .price{font-variant-numeric:tabular-nums}.watchlist-item .change.pos{color:var(--pos)}.watchlist-item .change.neg{color:var(--neg)}.section-title{text-transform:uppercase;font-size:11px;color:var(--muted);padding:10px 12px 6px;letter-spacing:.5px}.news-item{padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px}.news-item a{color:var(--fg);text-decoration:none}.news-item a:hover{color:var(--accent)}.news-item .meta{display:flex;gap:8px;color:var(--muted);font-size:11px;margin-top:4px}.sentiment.pos{color:var(--pos)}.sentiment.neg{color:var(--neg)}.signal-item{padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px}.signal-item .dir.long{color:var(--pos)}.signal-item .dir.short{color:var(--neg)}.signal-item .dir.flat{color:var(--muted)}.chart{flex:1}.indicators-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--panel)}.indicator-card{background:#0b0e13;border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12px}.indicator-card .name{color:var(--muted);text-transform:uppercase;font-size:10px}.indicator-card .val{font-variant-numeric:tabular-nums}.login{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:80px auto;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.login h2{margin:0 0 8px}.error{color:var(--neg);font-size:13px}.tabs{display:flex;gap:4px;margin-left:16px}.tab{background:transparent;color:var(--muted);border:1px solid var(--border);padding:4px 12px;font-size:12px;font-weight:500}.tab.active{background:var(--accent);color:#0b0e13;border-color:var(--accent)}.backtest{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0}.main>div:not(.chart):not(.indicators-panel){flex:1;min-height:0;overflow-y:auto}.bt-form{padding:14px;border-bottom:1px solid var(--border);background:var(--panel)}.bt-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px}.bt-row label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.bt-row label input[type=checkbox]{margin-right:4px}.bt-row input,.bt-row select{font-size:12px;padding:4px 8px}.bt-indicators{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}.indicator-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:12px;font-size:11px;cursor:pointer;background:#0b0e13}.indicator-pill input{margin:0}.bt-result{display:flex;flex-direction:column;gap:12px;padding:14px}.bt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.bt-card{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:8px 10px}.bt-card .label{color:var(--muted);font-size:11px;text-transform:uppercase}.bt-card .value{font-size:18px;font-variant-numeric:tabular-nums;margin-top:2px}.bt-card .value.pos{color:var(--pos)}.bt-card .value.neg{color:var(--neg)}.bt-chart{height:320px;border:1px solid var(--border);border-radius:4px}.bt-trades{background:var(--panel);border:1px solid var(--border);border-radius:4px}.bt-trades table{width:100%;border-collapse:collapse;font-size:12px}.bt-trades th,.bt-trades td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border)}.bt-trades th{color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase}.bt-trades td.pos,.bt-trades .pos{color:var(--pos)}.bt-trades td.neg,.bt-trades .neg{color:var(--neg)}.bt-trades .dir.long{color:var(--pos);font-weight:600}.bt-trades .dir.short{color:var(--neg);font-weight:600}.bt-row-selected td{background:#1c222c!important}.bt-trades tbody tr:hover td{background:#161b22}.bt-best{box-shadow:inset 0 -2px #d29922;font-weight:600}.chart-wrap{position:relative;border:1px solid #2a2a2a;border-radius:6px}.chart-wrap--fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0e1116;border-radius:0;border:0}
