:root{--bg: #0f1012;--panel: #151719;--line: #24272c;--line-soft: #1c1f23;--text: #d6d8dc;--muted: #7c8290;--dim: #4b505a;--up: #2ebd85;--down: #f6465d;--accent: #e0b04a;--ema20: #f2c94c;--ema50: #4c9df2;--ema200: #c9c9c9;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}.app{display:grid;grid-template-rows:38px 1fr;grid-template-columns:272px 1fr;height:100%}.top{grid-column:1 / -1;display:flex;align-items:center;gap:24px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.top .idx{display:flex;gap:8px;align-items:baseline;font-family:var(--mono);font-size:12px}.top .idx .lbl{color:var(--muted);font-family:var(--font)}.top .spacer{flex:1}.top .updated{color:var(--dim);font-size:12px}.side{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);min-height:0}.search{margin:8px;padding:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:3px;outline:none;width:calc(100% - 16px)}.search:focus{border-color:var(--dim)}.search::placeholder{color:var(--dim)}.list-head,.row{display:grid;grid-template-columns:minmax(0,1fr) 62px 70px;gap:6px;padding:0 10px;align-items:center}.list-head{height:24px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none}.list-head button{color:inherit;text-align:right}.list-head button:first-child{text-align:left}.list-head button.on{color:var(--text)}.list{overflow-y:auto;flex:1}.row{width:100%;height:38px;text-align:left;border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:11.5px;line-height:1.3}.row:hover{background:#1b1e22}.row.on{background:#1f2329;box-shadow:inset 2px 0 0 var(--accent)}.row .code{font-weight:600;font-family:var(--font);font-size:12.5px}.row .name{display:block;color:var(--dim);font-family:var(--font);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .num{text-align:right;white-space:nowrap}.row .num .sub{display:block;font-size:10.5px}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--muted)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.head{display:flex;align-items:center;gap:18px;height:46px;padding:0 16px;border-bottom:1px solid var(--line)}.head .ticker{display:flex;align-items:center;gap:4px;min-width:0}.sym{display:flex;align-items:baseline;gap:10px;min-width:0;padding:3px 8px;margin-left:-8px;border-radius:3px;text-align:left}.sym:hover{background:#1b1e22}.sym b{font-size:16px;white-space:nowrap}.sym span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head .quote{font-family:var(--mono);font-size:14px;display:flex;gap:10px;align-items:baseline}.head .ohlc{display:flex;gap:14px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.head .ohlc i{font-style:normal;color:var(--dim);margin-right:4px}.head .spacer{flex:1}.toolbar{display:flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-bottom:1px solid var(--line);font-size:11.5px}.toolbar .grp{display:flex;gap:2px;margin-right:14px}.toolbar button{padding:3px 7px;border-radius:3px;color:var(--muted)}.toolbar button:hover{color:var(--text)}.toolbar button.on{color:var(--text);background:#23272d}.toolbar .ema{display:inline-flex;align-items:center;gap:5px}.toolbar .ema .dot{width:8px;height:2px;display:inline-block}.toolbar .ema.off .dot{opacity:.25}.chart{flex:1;min-height:0;position:relative}.chart>div{position:absolute;inset:0}.empty{flex:1;display:grid;place-items:center;color:var(--dim)}.qs{position:relative;width:200px;max-width:100%}.qs input{width:100%;padding:3px 8px;background:var(--bg);border:1px solid var(--dim);border-radius:3px;outline:none;font-size:16px;font-weight:600}.qs input::placeholder{color:var(--dim);font-weight:600}.qs input:focus{border-color:var(--dim)}.qs input::placeholder{color:var(--dim)}.qs-list{position:absolute;top:calc(100% + 4px);left:0;z-index:10;min-width:260px;max-width:calc(100vw - 24px);margin:0;padding:4px 0;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:3px;box-shadow:0 8px 24px #00000080}.qs-list li{display:flex;gap:10px;align-items:baseline;padding:7px 12px;cursor:pointer;white-space:nowrap}.qs-list li span{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.qs-list li.on,.qs-list li:hover{background:#23272d}.back{display:none}@media(max-width:767px){.app{grid-template-columns:1fr;grid-template-rows:44px 1fr;height:100dvh}.top{gap:14px;padding:0 12px}.top .updated{display:none}.side,.main{grid-row:2;grid-column:1}.app.chart-open .side{display:none}.app:not(.chart-open) .main{display:none}.side{border-right:0}.search{margin:10px 12px;padding:9px 10px;width:calc(100% - 24px);font-size:15px}.list-head,.row{padding:0 12px;grid-template-columns:minmax(0,1fr) 78px 78px}.row{height:48px;font-size:13px}.row .code{font-size:14px}.row .name{font-size:11px}.row .num .sub{font-size:11.5px}.back{display:inline-flex;align-items:center;color:var(--muted);font-size:13px;padding:6px 8px 6px 0;margin-right:2px}.head{height:auto;flex-wrap:wrap;gap:4px 12px;padding:8px 12px}.head .ticker{flex:1 1 auto;min-width:0}.qs{flex:1;width:auto}.qs input{padding:6px 8px}.back{flex-shrink:0;white-space:nowrap}.sym{flex:1}.head .ohlc{flex:1 1 100%;gap:10px;overflow-x:auto;white-space:nowrap}.toolbar{height:auto;flex-wrap:wrap;padding:4px 8px;row-gap:2px}.toolbar .grp{margin-right:8px}.toolbar button{padding:5px 8px}}
