:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e2e8f0;background:#020617;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app{height:100vh;display:grid;grid-template-rows:48px minmax(0,1fr) 32px;background:#020617}.titlebar{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid #1e293b;background:#0f172a}.titlebar h1{font-size:16px;margin:0}.workspace{min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr)}.watchlist{overflow:auto;border-right:1px solid #1e293b;background:#0f172a}.watchlist h2{margin:0;padding:14px;font-size:14px;color:#94a3b8}.symbol{width:100%;border:0;border-top:1px solid #1e293b;padding:12px 14px;color:#e2e8f0;background:transparent;display:flex;justify-content:space-between;cursor:pointer;text-align:left}.symbol:hover,.symbol.active{background:#1e293b}.quote{color:#94a3b8;font-variant-numeric:tabular-nums}.chartPanel{min-width:0;min-height:0;position:relative;display:grid;grid-template-rows:44px minmax(0,1fr) 200px}.toolbar{display:flex;align-items:center;gap:20px;padding:0 14px;border-bottom:1px solid #1e293b;background:#111827}.timeframes{display:flex;gap:4px}.timeframes button{color:#94a3b8;background:transparent;border:0;padding:6px 9px;cursor:pointer;border-radius:4px}.timeframes button:hover,.timeframes button.active{color:#fff;background:#334155}.chart{width:100%;height:100%;min-height:300px}.overlay{position:absolute;z-index:5;top:54px;left:14px;color:#94a3b8}.statusbar{display:flex;align-items:center;gap:20px;padding:0 12px;border-top:1px solid #1e293b;background:#0f172a;color:#94a3b8;font-size:12px}.connection.open{color:#22c55e}.connection.error{color:#ef4444}.connection.connecting{color:#f59e0b}.error{color:#ef4444;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.workspace{grid-template-columns:1fr}.watchlist{display:none}}.ohlc{margin-left:auto;display:flex;gap:12px;color:#94a3b8;font-size:12px;font-variant-numeric:tabular-nums}.ohlc strong{color:#64748b;font-size:10px;letter-spacing:.08em}.fatalError{min-height:100vh;padding:32px;color:#fecaca;background:#020617}.fatalError pre{max-width:900px;overflow:auto;padding:16px;color:#f8fafc;background:#111827;border:1px solid #334155;border-radius:6px}.fatalError button{padding:8px 14px;color:#f8fafc;background:#334155;border:0;border-radius:4px;cursor:pointer}.historyWaiting{display:flex;min-height:300px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#cbd5e1;background:#111827}.historyWaiting small{color:#64748b}.indicatorPanel{min-height:0;display:grid;grid-template-rows:28px minmax(0,1fr);border-top:1px solid #1e293b;background:#111827}.indicatorTitle{display:flex;align-items:center;padding:0 12px;color:#94a3b8;font-size:12px}.rsiChart{width:100%;height:100%;min-height:140px}.indicatorToggles{display:flex;align-items:center;gap:8px}.indicatorToggles label{display:flex;align-items:center;gap:4px;color:#94a3b8;font-size:12px}.indicatorToggles button,.indicatorToggles select{height:30px;color:#94a3b8;background:#0f172a;border:1px solid #334155;border-radius:4px}.indicatorToggles button{padding:0 10px;cursor:pointer}.indicatorToggles button.active{color:#fff;background:#2563eb;border-color:#2563eb}.indicatorToggles select{padding:0 4px}.indicatorToggles select:disabled{opacity:.45}.chartPanelNoRsi{grid-template-rows:44px minmax(0,1fr)}
