:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.app{--surface-1:#fcfcfb;--surface-2:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--border:#0b0b0b1a;--price-up:#d03b3b;--price-down:#2a78d6;background:var(--surface-2);color:var(--text-primary);min-height:100vh;padding:24px 16px 64px}@media (prefers-color-scheme:dark){.app{--surface-1:#1a1a19;--surface-2:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--border:#ffffff1a;--price-up:#e66767;--price-down:#3987e5}}.app__header{max-width:960px;margin:0 auto 16px}.app__header h1{margin:0 0 6px;font-size:20px}.app__subtitle{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.app__notice{max-width:960px;color:var(--text-muted);margin:0 auto;font-size:14px}.app__summary{max-width:960px;color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:0 auto 12px;font-size:13px;display:flex}.app__updated{color:var(--text-muted);margin-left:auto}.app__error-note{max-width:960px;color:var(--text-muted);margin:12px auto 0;font-size:12px}.filters{max-width:960px;color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;margin:0 auto 12px;font-size:13px;display:flex}.filters label{align-items:center;gap:6px;display:flex}.filters select{font:inherit;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:13px}.filter-count{color:var(--text-muted);font-size:12px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;max-width:960px;margin:0 auto;overflow:auto}.empty{color:var(--text-muted);margin:0;padding:16px;font-size:13px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--grid);white-space:nowrap;padding:9px 12px}th.align-left,td.align-left{text-align:left}th.align-right,td.align-right{text-align:right}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:500}tbody tr:hover{background:var(--surface-2)}td a{color:inherit;text-decoration:underline}.positive{color:var(--price-up);font-weight:600}.negative{color:var(--price-down);font-weight:600}.tag{white-space:nowrap;border-radius:4px;margin:1px 4px 1px 0;padding:2px 6px;font-size:11px;display:inline-block}.tag--buy{color:var(--price-up);background:#d03b3b1f}.tag--sell{color:var(--price-down);background:#2a78d61f}.chart-button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px}.chart-button:hover{background:var(--surface-1)}.chart-modal__overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.chart-modal{background:var(--surface-1);color:var(--text-primary);border-radius:12px;width:100%;max-width:640px;max-height:90vh;padding:20px;overflow:auto}.chart-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.chart-modal__code{font-weight:700}.chart-modal__price{color:var(--text-secondary);font-size:13px}.chart-modal__close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:22px;line-height:1}.chart-modal__tags{margin-bottom:8px}.chart-modal__tabs{gap:8px;margin-bottom:8px;display:flex}.chart-modal__tabs button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:5px 14px;font-size:13px}.chart-modal__tabs button.active{background:var(--text-primary);color:var(--surface-1)}.chart-modal__tabs button:disabled{opacity:.4;cursor:not-allowed}.tf-chart__price,.tf-chart__rsi{width:100%}.tf-chart__rsi-label{color:var(--text-muted);margin:6px 0 2px;font-size:11px}.chart-modal__legend{color:var(--text-muted);margin-top:8px;font-size:11px;line-height:2}.legend-swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin:0 4px 0 12px;display:inline-block}.legend-swatch--buy{background:var(--price-up);margin-left:0}.legend-swatch--sell{background:var(--price-down)}.chart-modal__links{gap:16px;margin-top:8px;font-size:13px;display:flex}
