:root{--bg:#0f1115;--panel:#151922;--panel2:#1b202b;--line:#262c39;--text:#e6e9ef;--muted:#9aa3b2;--up:#26a69a;--down:#ef5350;--accent:#4c8dff;--warn:#f5c542;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:13px/1.45 system-ui,-apple-system,Segoe UI,Malgun Gothic,sans-serif}button,input,select{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:4px 10px}button:hover{border-color:#3a4256}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:disabled{opacity:.6;cursor:wait}button.link{color:var(--muted);background:0 0;border:none;padding:2px 0;text-decoration:underline}input,select{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 8px}input[type=number]{width:64px}.top{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 16px;display:flex}.brand{letter-spacing:.3px;font-size:16px}.brand b{color:var(--accent)}#symbol-input{text-transform:uppercase;width:170px}.quick{gap:4px;display:flex}.ticker{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.ticker .sym{font-size:15px;font-weight:700}.ticker .px{font-size:15px;font-weight:600}.ticker .k{color:var(--muted);margin-right:4px}.intervals{gap:4px;margin-left:auto;display:flex}.intervals button.on{background:var(--accent);border-color:var(--accent);color:#fff}.up{color:var(--up)}.down{color:var(--down)}.layout{height:calc(100% - 50px);min-height:0;display:flex}.chart-wrap{flex:1;min-width:0;position:relative}#chart{position:absolute;inset:0}.indicators{z-index:6;flex-wrap:wrap;gap:4px;max-width:calc(100% - 90px);display:flex;position:absolute;top:8px;left:8px}.indicators button{border:1px solid var(--line);color:var(--muted);opacity:.6;background:#151922d9;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;line-height:18px;text-decoration:line-through;display:inline-flex}.indicators button.on{color:var(--text);opacity:1;text-decoration:none}.indicators button i{border-radius:2px;width:10px;height:3px}.chart-status{z-index:5;color:var(--warn);pointer-events:none;position:absolute;top:36px;left:12px}.scanner{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;flex-shrink:0;gap:8px;width:580px;padding:12px 14px;display:flex;overflow-y:auto}.scan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.scan-head h2{margin:0;font-size:15px}.scan-head small{color:var(--muted);margin-left:4px;font-weight:400}.scan-ctrl{align-items:center;gap:8px;display:flex}.progress{background:var(--panel2);border-radius:2px;height:3px;overflow:hidden}#progress-bar{background:var(--accent);width:0;height:100%;transition:width .2s}.scan-status{color:var(--muted);font-size:12px}.box{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 10px}.box summary{cursor:pointer;padding:2px 0;font-weight:600}.set-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:7px 0;display:flex}.set-row:first-child{border-top:none}.set-row .name{min-width:118px;font-weight:600}.set-row .desc{color:var(--muted);flex-basis:100%;font-size:11.5px}.set-row label{align-items:center;gap:4px;display:inline-flex}.role-must{border-color:var(--down)!important}.role-any{border-color:var(--accent)!important}.summary{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:12px}.chip.hit{border-color:var(--down);color:#fff;background:#ef53502e;font-weight:700}.table-wrap{overflow-x:auto}#results{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%}#results th{text-align:right;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel);padding:4px 5px;font-size:11.5px;font-weight:500;position:sticky;top:0}#results td{text-align:right;border-bottom:1px solid #1d222d;padding:5px}#results th:first-child,#results td:first-child,#results th:nth-child(2),#results td:nth-child(2){text-align:left}#results tbody tr{cursor:pointer}#results tbody tr:hover{background:#1d2330}#results tr.signal{background:#ef53501f}#results tr.signal td:first-child{color:#fff;font-weight:700}#results tr.active td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.badge{text-align:center;color:#5d6577;background:#222836;border-radius:4px;min-width:20px;margin-right:2px;padding:0 3px;font-size:10.5px;display:inline-block}.badge.ok{background:var(--down);color:#fff}.badge.no{color:var(--muted)}.empty{color:var(--muted);text-align:center!important;padding:16px!important}#alert-list{max-height:220px;margin:6px 0;padding-left:20px;overflow-y:auto}#alert-list li{cursor:pointer;padding:2px 0}#alert-list li:hover{color:var(--accent)}#alert-list .t{color:var(--muted);margin-right:6px}.note{color:#6b7385;margin:4px 0 0;font-size:11px}@media (width<=1000px){.layout{flex-direction:column;height:auto}.chart-wrap{flex:none;height:60vh;min-height:320px;max-height:560px}.scanner{border-left:none;border-top:1px solid var(--line);width:100%;overflow:visible}.intervals{margin-left:0}.top{padding:8px 16px}}.side-tabs{background:var(--panel2);border:1px solid var(--line);border-radius:8px;gap:4px;padding:3px;display:flex}.side-tabs button{color:var(--muted);background:0 0;border:none;padding:5px 14px;font-weight:600}.side-tabs button.on.short{background:var(--down);color:#fff}.side-tabs button.on.long{background:var(--up);color:#fff}.side-tabs .cnt{background:#ffffff2e;border-radius:999px;min-width:18px;margin-left:2px;padding:0 5px;font-size:11px;display:inline-block}.side-tabs .cnt:empty{display:none}.side-tabs button:not(.on) .cnt{background:var(--warn);color:#111}.scanner.long .chip.hit{border-color:var(--up);background:#26a69a2e}.scanner.long #results tr.signal{background:#26a69a1f}.scanner.long .badge.ok{background:var(--up)}.badge{min-width:34px}.my-presets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-presets select{min-width:200px;max-width:100%}.my-presets input[type=text]{width:180px}.msg{color:var(--up);font-size:12px}.msg.err{color:var(--down)}.off-note{color:var(--warn);font-size:12px}.board-wrap{flex-direction:column;gap:4px;display:flex}.board{flex-wrap:wrap;gap:8px;display:flex}.board-side{background:var(--panel2);border:1px solid var(--line);border-radius:8px;flex:250px;min-width:0;padding:7px}.board-side.short{border-top:2px solid var(--down)}.board-side.long{border-top:2px solid var(--up)}.board-head{align-items:center;gap:6px;margin-bottom:6px;font-weight:700;display:flex}.board-head .dot{border-radius:50%;width:8px;height:8px}.board-head .dot.short{background:var(--down)}.board-head .dot.long{background:var(--up)}.board-sub{color:var(--muted);margin-left:auto;font-size:11.5px;font-weight:400}.board-sub b{color:var(--text)}.board-empty{color:var(--muted);text-align:center;padding:22px 0;font-size:12px}.tiles{grid-template-columns:repeat(4,1fr);grid-auto-rows:40px;grid-auto-flow:dense;gap:4px;display:grid}.tile{--a:.3;text-align:left;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:3px 6px;line-height:1.15;transition:transform .12s,border-color .12s;display:flex;position:relative;overflow:hidden}.tile.short{background:rgba(239, 83, 80, var(--a))}.tile.long{background:rgba(38, 166, 154, var(--a))}.tile:hover{border-color:#ffffff59;transform:translateY(-1px)}.tile b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.tile .meta{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.tile .dots{letter-spacing:1px;opacity:.85;font-size:8px}.tile .v{opacity:.9;font-variant-numeric:tabular-nums;font-size:11px;display:none}.tile.l{grid-column:span 2}.tile.l .v{display:block}.tile.xl{grid-area:span 2/span 2}.tile.xl b{font-size:16px}.tile.xl .meta{flex-direction:column;gap:2px;margin-top:2px}.tile.xl .dots{font-size:10px}.tile.xl .v{font-size:12.5px;display:block}.tile.sig{color:#fff;border-color:#ffffffbf}.tile.sig.short{animation:1.6s ease-in-out infinite glow-short;box-shadow:0 0 10px #ef5350bf}.tile.sig.long{animation:1.6s ease-in-out infinite glow-long;box-shadow:0 0 10px #26a69abf}.tile.cur{outline:2px solid var(--accent);outline-offset:1px}@keyframes glow-short{50%{box-shadow:0 0 3px #ef53504d}}@keyframes glow-long{50%{box-shadow:0 0 3px #26a69a4d}}@media (prefers-reduced-motion:reduce){.tile.sig.short,.tile.sig.long{animation:none}}.board-legend{color:#6b7385;font-size:11px}.board-legend .glow{color:var(--text)}.tile.pend{color:#fff;border:1px dashed #fffc}.st{vertical-align:1px;border-radius:4px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:600;display:inline-block}.st.conf{background:var(--warn);color:#111}.st.live{border:1px dashed var(--muted);color:var(--muted)}.alert-actions{gap:12px;display:flex}.alert-result{font-size:12px}.alert-result:empty{display:none}.alert-result p{margin:6px 0}.alert-result h4{margin:10px 0 4px;font-size:13px}.alert-result .muted{color:var(--muted)}table.mini{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.mini th,table.mini td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:2px 4px}table.mini th:first-child,table.mini td:first-child{text-align:left}table.mini th{color:var(--muted);font-weight:500}table.detail{max-height:320px;margin-top:8px;display:block;overflow:auto}table.detail tr[data-sym]{cursor:pointer}table.detail tr[data-sym]:hover td{background:var(--panel)}
