:root{--bg:#08090c;--bg-elevated:#0e1016;--panel:#12141ce0;--panel-solid:#12141c;--panel-2:#1a1d28;--panel-3:#222633;--line:#ff465524;--line-strong:#ff465547;--grid-red:#ff3c4b1c;--grid-red-strong:#ff3c4b2e;--text:#f2f4f8;--text-dim:#c4cad6;--muted:#7a8499;--accent:#ff3b4a;--accent-hot:#ff6b78;--accent-dim:#ff3b4a29;--accent-glow:#ff3b4a59;--ok:#00e676;--ok-dim:#00e6761f;--ok-border:#00e67652;--warn:#ffb020;--warn-dim:#ffb0201f;--err:#ff3b4a;--err-dim:#ff3b4a1f;--s1:#5b9dff;--s2:#ff3b4a;--ema:#ffb020;--radius:14px;--radius-sm:10px;--shadow:0 8px 32px #00000073, 0 0 0 1px #ff3b4a0f;--font:"DM Sans", ui-sans-serif, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--bg);background-image:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px), radial-gradient(ellipse 80% 50% at 50% -10%, #ff3b4a1f, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 100%, #00e6760a, transparent 50%);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;background-size:48px 48px,48px 48px,100% 100%,100% 100%;background-attachment:fixed}code{font-family:var(--mono);color:var(--accent-hot);background:var(--accent-dim);border-radius:5px;padding:1px 6px;font-size:.88em}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:linear-gradient(#12141cf2,#0c0d12eb);justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0;box-shadow:0 1px #ff3b4a14,0 12px 40px #00000059}.brand{align-items:center;gap:14px;display:flex}.brand h1{letter-spacing:-.02em;background:linear-gradient(90deg, var(--text), var(--text-dim));-webkit-background-clip:text;background-clip:text;margin:0;font-size:17px;font-weight:700}.brand .sub{margin:2px 0 0}.brand-mark-svg{border-radius:12px;flex:none;display:block;box-shadow:inset 0 0 0 1px #ffffff1a,0 4px 16px #ff3b4a47,0 0 28px #ff3b4a1f}.brand-mark-svg.lg{border-radius:15px;margin-bottom:10px}.topbar-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.sub{color:var(--muted);margin:4px 0 0;font-size:13px}.hnav{flex:1;align-items:center;gap:2px;min-width:0;margin:0 8px;display:flex;overflow:visible}.hnav-item{position:relative}.hnav-btn{color:var(--muted);font:inherit;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:5px;padding:8px 12px;font-size:13px;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.hnav-btn:hover{color:var(--text);border-color:var(--line);background:#ffffff0a}.hnav-btn.on,.hnav-btn-on{color:var(--text);background:#ff3b4a1f;border-color:#ff3b4a59}.hnav-caret{opacity:.7;font-size:10px;line-height:1;transition:transform .15s}.hnav-caret.on{transform:rotate(180deg)}.hnav-drop{z-index:60;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#161822fa,#0c0d12fa);border-radius:12px;min-width:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #00000080,0 0 0 1px #ff3b4a14}.hnav-drop li{margin:0}.hnav-link{text-align:left;width:100%;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:block}.hnav-link:hover{color:var(--text);background:#ff3b4a1a}.hnav-link-on{color:var(--text);background:#ff3b4a29;font-weight:600}@media (width<=900px){.hnav{display:none}}.pill{border:1px solid var(--line);background:var(--panel-2);letter-spacing:.01em;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.pill-active{color:var(--ok);border-color:var(--ok-border);background:var(--ok-dim);box-shadow:0 0 20px #00e67614}.app-body{flex:1;min-height:0;display:flex;position:relative}.main{flex:1;width:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:24px 28px 40px;transition:margin-right .22s}.app-nav-open .main{margin-right:280px}@media (width<=959px){.app-nav-open .main{margin-right:0}}.main.main-chart-full{flex-direction:column;height:calc(100vh - 70px);max-height:calc(100vh - 70px);padding:0;display:flex;overflow:visible}.main.main-chart-full .chart-page{overflow:visible}.main.main-chart-full .chart-stage{z-index:5;overflow:visible}.main.main-chart-full .chart-toolbar-card{z-index:50;position:relative;overflow:visible!important}.main.main-chart-full .chart-card,.main.main-chart-full .chart-canvas{overflow:hidden}.stack{flex-direction:column;gap:16px;display:flex}.strat-metric-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));justify-items:center;gap:12px;margin-top:4px;display:grid}.strat-metric-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:inherit;font:inherit;text-align:center;cursor:default;flex-direction:column;align-items:center;gap:10px;width:100%;padding:14px 14px 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}button.strat-metric-card{cursor:pointer}button.strat-metric-card:hover{border-color:var(--line-strong);background:var(--panel-3);box-shadow:0 0 20px #ff3b4a14}.strat-metric-head{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.strat-metric-head strong{font-size:14px;font-weight:700}.strat-metric-stats{justify-content:center;gap:8px;width:100%;margin:0}.strat-metric-stats .stat{text-align:center;flex:1;align-items:center;min-width:0;padding:8px 6px}.strat-metric-stats .stat-num{font-size:15px}.strat-metric-foot{text-align:center;width:100%;margin:0;font-size:12px}.asset-type-card{background:#12141cb8}.strat-perf-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=1100px){.strat-perf-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.strat-perf-list{grid-template-columns:1fr}}.strat-perf-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);flex-direction:column;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.strat-perf-header{width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:8px;padding:12px 10px 8px;display:flex}.strat-perf-header:hover{background:#ff3b4a0a}.strat-perf-header .strat-metric-head{justify-content:center;gap:6px;width:100%}.strat-perf-header .strat-metric-head strong{font-size:13px}.strat-perf-header .strat-metric-stats{justify-content:center;gap:6px;width:100%;margin:0}.strat-perf-header .strat-metric-stats .stat{text-align:center;flex:1 1 0;align-items:center;min-width:0;padding:6px 4px}.strat-perf-header .strat-metric-stats .stat-num{font-size:14px;line-height:1.15}.strat-perf-header .strat-metric-stats .stat-label{font-size:10px}.strat-perf-header .strat-metric-foot{text-align:center;width:100%;margin:0;font-size:11px;line-height:1.3}.strat-perf-block .table-scroll{-webkit-overflow-scrolling:touch;flex:auto;width:100%;min-height:0;margin:0;padding:0 0 6px;display:block;overflow-x:auto}.asset-type-table{table-layout:fixed;border-collapse:collapse;text-align:center;width:100%;margin:0;font-size:11px}.asset-type-table th,.asset-type-table td{text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;padding:5px 3px;overflow:hidden}.asset-type-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:9.5px;font-weight:600}.asset-type-table .path{text-align:left;white-space:normal;word-break:break-word;padding-left:8px}.asset-type-table th:first-child,.asset-type-table td:first-child{width:22%}.asset-type-table th:nth-child(2),.asset-type-table td:nth-child(2){width:14%}.asset-type-table th:nth-child(3),.asset-type-table td:nth-child(3),.asset-type-table th:nth-child(4),.asset-type-table td:nth-child(4){width:12%}.asset-type-table th:nth-child(5),.asset-type-table td:nth-child(5){width:10%}.asset-type-table th:nth-child(6),.asset-type-table td:nth-child(6),.asset-type-table th:nth-child(7),.asset-type-table td:nth-child(7){width:9%}.asset-type-table th:nth-child(8),.asset-type-table td:nth-child(8){width:12%}.cmp.center-table{text-align:center;width:100%;margin:0 auto}.cmp.center-table th,.cmp.center-table td{text-align:center;vertical-align:middle}.cmp.center-table .path{text-align:center}.card>.table-scroll.center-scroll{width:100%;display:block;overflow-x:auto}.hamburger{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.hamburger:hover{border-color:var(--line-strong);background:var(--panel-3)}.hamburger span{background:var(--text);border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.hamburger-on span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-on span:nth-child(2){opacity:0}.hamburger-on span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.rnav-page-pill{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--text-dim);border-color:var(--line);background:0 0;font-weight:500;overflow:hidden}@media (width<=720px){.rnav-page-pill{display:none}}.rnav-scrim{opacity:0;pointer-events:none;z-index:40;background:#00000073;transition:opacity .22s;position:fixed;inset:0}.rnav-scrim-on{opacity:1;pointer-events:auto}@media (width>=960px){.rnav-scrim{display:none}}.rnav{z-index:50;border-left:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#12141cfa,#0a0b10fa);flex-direction:column;width:280px;height:100vh;transition:transform .22s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px #00000073,0 0 0 1px #ff3b4a0f}.rnav-open{transform:translate(0)}.rnav-head{border-bottom:1px solid var(--line);padding:16px 16px 12px;padding-top:max(16px, env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:12px;display:flex}.rnav-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.rnav-close{border:1px solid var(--line);background:var(--panel-2);width:34px;height:34px;color:var(--text-dim);cursor:pointer;border-radius:8px;font-size:14px}.rnav-close:hover{color:var(--text);border-color:var(--line-strong)}.rnav-body{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;padding:10px 10px 28px;overflow-y:auto}.rnav-group{border-radius:12px;margin-bottom:4px;overflow:hidden}.rnav-group-active .rnav-group-btn{color:var(--text)}.rnav-group-btn{width:100%;color:var(--text-dim);font:inherit;letter-spacing:.02em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;font-size:13px;font-weight:700;transition:background .15s,color .15s;display:flex}.rnav-group-btn:hover,.rnav-group-btn.on{color:var(--text);background:#ff3b4a14}.rnav-chevron{color:var(--muted);font-size:11px;transition:transform .18s;display:inline-block}.rnav-chevron.on{color:var(--accent-hot);transform:rotate(90deg)}.rnav-sub{border-left:1px solid var(--line);margin:0 0 6px 14px;padding:2px 0 6px 6px;list-style:none}.rnav-sub li{margin:0}.rnav-link{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:block}.rnav-link:hover{color:var(--text);background:#ffffff0a}.rnav-link-on{color:var(--text);background:var(--accent-dim);border:1px solid #ff3b4a38;font-weight:600;box-shadow:0 0 16px #ff3b4a14}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 22px;position:relative;overflow:hidden}.card:before{content:"";background-image:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px);opacity:.45;pointer-events:none;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#00000059,#0000 55%);mask-image:linear-gradient(135deg,#00000059,#0000 55%)}.card>*{z-index:1;position:relative}.card h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700}.card h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 14px;font-size:11px;font-weight:700}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions.end{justify-content:flex-end;margin-top:18px}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s}.btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-3);box-shadow:0 0 0 1px #ff3b4a14}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(145deg,#ff5a66,#e0182e 50%,#b01020);border:1px solid #ffffff1a;box-shadow:0 4px 18px #ff3b4a4d}.btn-primary:hover:not(:disabled){background:linear-gradient(145deg,#ff6b78,#f02038 50%,#c01224);border-color:#ffffff29;box-shadow:0 6px 24px #ff3b4a66}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--line);background:#ffffff0a}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex;position:relative}.field label{color:var(--muted);letter-spacing:.02em;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.field input,.field select,.login-card input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.field-dirty input,.field-dirty select{border-color:var(--warn)}.dot{background:var(--warn);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #ffb02080}.was{color:var(--muted);font-size:11px}.toggle{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elevated);cursor:pointer;color:var(--muted);align-items:center;gap:9px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s;display:flex}.toggle .knob{background:#2a2f3c;border-radius:999px;flex-shrink:0;width:34px;height:18px;transition:background .18s;position:relative}.toggle .knob:after{content:"";background:#8b93a7;border-radius:50%;width:14px;height:14px;transition:all .18s cubic-bezier(.34,1.2,.64,1);position:absolute;top:2px;left:2px}.toggle.on{color:var(--text);border-color:#ff3b4a59}.toggle.on .knob{background:#ff3b4a73}.toggle.on .knob:after{background:#fff;left:18px}.toggle em{font-style:normal}.switch{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.alert{border-radius:var(--radius-sm);margin-bottom:12px;padding:11px 14px;font-size:13px;font-weight:500}.alert-error{background:var(--err-dim);color:#ffb0b6;border:1px solid #ff3b4a59}.alert-ok{background:var(--ok-dim);color:#7dffb8;border:1px solid var(--ok-border)}.alert-info{color:#b8c8ff;background:#78a0ff14;border:1px solid #78a0ff47}.tag.live-tag{background:var(--ok-dim);color:var(--ok);border:1px solid var(--ok-border)}.stat-num.s1-num{color:var(--s1)}.stat-num.s2-num{color:var(--s2)}.warn-banner{border-radius:var(--radius-sm);background:var(--warn-dim);color:#ffd08a;border:1px solid #ffb0204d;padding:11px 14px;font-size:13px}.stat-row{flex-wrap:wrap;gap:20px;margin-bottom:14px;display:flex}.stat{border-radius:var(--radius-sm);border:1px solid var(--line);background:#00000040;flex-direction:column;min-width:88px;padding:10px 14px;display:flex}.stat-num{font-size:22px;font-weight:700;font-family:var(--mono);letter-spacing:-.03em;line-height:1.2}.stat-num.accent{color:var(--warn)}.stat-num.pos{color:var(--ok)}.stat-num.neg{color:var(--err)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px;font-weight:600}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;font-size:13px;display:flex}.legend b{color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;margin-right:6px;font-size:11px;display:inline-grid}.legend b.s1{background:var(--s1)}.legend b.s2{background:var(--s2)}.table-scroll{border-radius:var(--radius-sm);border:1px solid var(--line);background-image:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px);background-color:#08090c80;background-size:32px 32px;overflow-x:auto}table.cmp{border-collapse:collapse;background:#0c0d12b8;width:100%;font-size:13px}table.cmp th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--line-strong);white-space:nowrap;z-index:1;background:#12141ce6;padding:11px 14px;font-size:10px;font-weight:700;position:sticky;top:0}table.cmp td{border-bottom:1px solid #ff3b4a0f;padding:10px 14px}table.cmp tbody tr{transition:background .12s}table.cmp tbody tr:hover{background:#ff3b4a0a}table.cmp tr:last-child td{border-bottom:0}.row-diff{background:#ff3b4a0f!important}table.cmp.side-by-side th.col-live,table.cmp.side-by-side td.col-live{background:#00e6760a}table.cmp.side-by-side th.col-shadow,table.cmp.side-by-side td.col-shadow{background:#78a0ff0d}table.cmp.side-by-side td.muted{opacity:.45}.book-group-row td{border-top:1px solid var(--line-strong);background:var(--panel-2)!important;border-bottom:1px solid var(--line)!important;padding:10px 14px!important}.book-group-row.book-both td,.book-group-row.book-live_only td{border-left:3px solid var(--ok)}.book-group-row.book-shadow_only td{border-left:3px solid #7aa2ff}.book-group-label{color:var(--muted);margin-left:10px;font-size:12px;font-weight:600}.book-tag{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.book-tag-both{color:var(--ok);border-color:var(--ok-border);background:var(--ok-dim)}.book-tag-live,.book-tag-live_only{color:var(--ok);background:#00e6761a;border-color:#00e67666}.book-tag-shadow,.book-tag-shadow_only{color:#b8c8ff;background:#78a0ff1a;border-color:#78a0ff66}.book-pills{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.book-pill{font-family:var(--mono);letter-spacing:.04em;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.book-pill.live{color:var(--ok);background:#00e6761f}.book-pill.shadow{color:#b8c8ff;background:#78a0ff1f}.book-pill.off{opacity:.45;text-decoration:line-through;text-decoration-thickness:1px}.shadow-lot{white-space:nowrap;margin-right:6px;display:inline-block}table.cmp tbody tr.book-row-both{background:#00e67608}table.cmp tbody tr.book-row-live_only{background:#00e67604}table.cmp tbody tr.book-row-shadow_only{background:#78a0ff0a}td.path{font-family:var(--mono);color:var(--text);white-space:nowrap;font-weight:500}td.v{font-family:var(--mono);color:var(--text-dim);font-size:12.5px}td.v.day-dt{white-space:nowrap;color:var(--text);letter-spacing:.01em;font-weight:500}td.v.s1{color:var(--s1)}td.v.pos{font-weight:600;color:var(--ok)!important}td.v.neg{font-weight:600;color:var(--err)!important}.tag{background:var(--panel-2);color:var(--muted);border-radius:999px;margin-left:8px;padding:2px 7px;font-family:inherit;font-size:10px}.json{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-dim);font-size:12.5px;font-family:var(--mono);margin:0;padding:14px;overflow-x:auto}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.toolbar label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.toolbar select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);min-width:130px;padding:9px 11px;font-family:inherit;font-size:14px}.chart-wrap{width:100%}.chart-svg{width:100%;height:460px;display:block}.chart-svg.rsi{height:140px}line.grid,.chart-svg .grid{stroke:var(--grid-red-strong);stroke-width:1px}line.grid.threshold,.chart-svg .grid.threshold{stroke:#ffb02059;stroke-dasharray:3 4}.axis-label{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}.axis-label.time{text-anchor:middle;font-size:10px}.candle .wick{stroke-width:1px;opacity:.9}.candle .body{stroke-width:0}.candle .body.flat{shape-rendering:crispedges}.candle.up .wick{stroke:var(--ok)}.candle.up .body{fill:var(--ok)}.candle.down .wick{stroke:var(--err)}.candle.down .body{fill:var(--err)}.chart-page{flex-direction:column;flex:1;gap:0;height:100%;min-height:0;display:flex;overflow:hidden auto}.chart-stage{flex-direction:column;flex:auto;min-width:0;height:auto;min-height:calc(100vh - 72px);display:flex;overflow:visible}.chart-toolbar-card{z-index:40;border-top:0;border-left:0;border-right:0;border-radius:0;flex-shrink:0;padding:8px 12px;overflow:visible!important}.chart-toolbar-card:before{display:none}.chart-status-card{border-left:0;border-right:0;border-radius:0;flex:1}.chart-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chart-details{flex-direction:column;flex-shrink:0;gap:0;padding:0 0 24px;display:flex}.chart-details .card{border-left:0;border-right:0;border-radius:0}.symbol-search{z-index:60;flex:0 280px;min-width:240px;position:relative}.symbol-search input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elevated);width:100%;color:var(--text);letter-spacing:.02em;font-size:14px;font-weight:600;font-family:var(--mono);text-transform:uppercase;padding:10px 40px 10px 14px}.symbol-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.symbol-search-count{font-size:10px;font-weight:700;font-family:var(--mono);color:var(--muted);pointer-events:none;opacity:.85;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.chart-typeahead-panel{pointer-events:auto;background:#12141c;border:1px solid #ff465566;border-radius:12px;flex-direction:column;max-height:min(420px,55vh);margin:0;padding:0;display:flex;overflow:hidden;box-shadow:0 20px 56px #000000bf;z-index:2147483000!important;position:fixed!important}.chart-typeahead-panel .typeahead-meta{color:#8b93a7;background:#ff3b4a0f;border-bottom:1px solid #ffffff14;flex-shrink:0;padding:8px 12px;font-size:11px}.chart-typeahead-list{max-height:min(360px,48vh);margin:0;padding:4px;list-style:none;overflow-y:auto}.chart-typeahead-list li button{color:#f2f4f8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;display:flex}.chart-typeahead-list li button:hover,.chart-typeahead-list li button.ta-on{background:#ff3b4a29}.ta-sym{font-weight:700;font-family:var(--mono);letter-spacing:.03em}.ta-cat{color:#8b93a7;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.typeahead-empty{color:#8b93a7;padding:12px;font-size:12.5px}.typeahead{z-index:80;background:#12141c;border:1px solid #ff465559;border-radius:12px;min-width:260px;max-height:min(360px,50vh);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0000008c}.typeahead li button{color:#f2f4f8;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:8px;justify-content:space-between;padding:8px 12px;display:flex}.typeahead li button:hover,.typeahead li button.ta-on{background:#ff3b4a29}.tf-group,.strat-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tf-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .12s}.tf-btn:hover{color:var(--text);border-color:var(--line-strong)}.tf-btn.on{background:var(--accent-dim);color:var(--accent-hot);border-color:#ff3b4a73;box-shadow:0 0 12px #ff3b4a1f}.strat-group{margin-left:auto}.chart-card{border-bottom:0;border-left:0;border-right:0;border-radius:0;flex-direction:column;flex:auto;min-height:calc(100vh - 160px);padding:8px 10px 0;display:flex;overflow:hidden}.chart-head{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.chart-canvas{flex-direction:column;flex:auto;gap:0;min-height:480px;display:flex;overflow:hidden}.chart-title{letter-spacing:-.02em;align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex}.tf-chip,.cat-chip{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600}.gate-strip{flex-wrap:wrap;gap:8px;display:flex}.gate{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);font-size:11px;font-weight:600;font-family:var(--mono);border-radius:999px;padding:4px 11px}.gate em{opacity:.7;font-style:normal}.gate.on{color:var(--ok);border-color:var(--ok-border);background:var(--ok-dim)}.gate.src{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-hot);border-color:#ff3b4a4d;font-size:10px}.chart-wrap.fill{border:1px solid var(--line);background:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px), var(--bg-elevated);background-size:40px 40px,40px 40px,auto;border-left:0;border-right:0;border-radius:0;flex:auto;width:100%;height:min(58vh,720px);min-height:420px;display:block;position:relative;overflow:hidden}.chart-wrap.fill .chart-svg{max-width:none;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.rsi-wrap{border:1px solid var(--line);background:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px), var(--bg-elevated);background-size:40px 40px,40px 40px,auto;border-top:0;border-left:0;border-right:0;border-radius:0;flex:0 0 110px;width:100%;height:110px;margin-top:0;display:block;position:relative;overflow:hidden}.rsi-wrap .chart-svg,.chart-svg.rsi{max-width:none;display:block;width:100%!important;height:100%!important}.chart-legend{flex-shrink:0;margin-bottom:4px}.measure-hint{flex-shrink:0;margin:4px 10px 6px!important;font-size:11px!important}.axis-label.rsi-title{fill:var(--accent-hot);letter-spacing:.06em;font-size:11px;font-weight:700}.chart-svg.measure-on{cursor:crosshair;touch-action:none}.chart-svg.measure-linking{cursor:crosshair}.chart-svg.measure-dragging,.chart-svg.measure-dragging .measure-handle{cursor:grabbing}.measure-toggle{cursor:pointer;appearance:none;font-family:inherit}.measure-toggle.on{color:var(--accent-hot)!important;background:var(--accent-dim)!important;border-color:#ff3b4a73!important}.measure-readout.neg{color:var(--err)!important;background:var(--err-dim)!important;border-color:#ff3b4a66!important}.measure-readout.on{color:var(--ok)!important;border-color:var(--ok-border)!important;background:var(--ok-dim)!important}.measure-hint{margin:8px 0 0;font-size:12px}.measure-hint kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);border-radius:4px;padding:1px 6px;font-size:11px}.measure-layer .measure-v{stroke:#ffffff38;stroke-width:1px;stroke-dasharray:3 4}.measure-layer .measure-h{stroke:#ffffff2e;stroke-width:1px;stroke-dasharray:2 3}.measure-layer .measure-line{stroke-width:1.75px;stroke-linecap:round}.measure-layer.up .measure-line{stroke:var(--ok)}.measure-layer.down .measure-line{stroke:var(--err)}.measure-layer.linking .measure-line{stroke-dasharray:5 4;opacity:.95}.measure-layer .measure-dot{stroke:#0b0f17;stroke-width:1.5px}.measure-layer.up .measure-dot{fill:var(--ok)}.measure-layer.down .measure-dot{fill:var(--err)}.measure-layer.linking .measure-dot.b,.measure-layer .measure-dot.preview{opacity:.85;stroke-dasharray:2 1}.measure-layer .measure-dot.active{stroke:#fff;stroke-width:2px;filter:drop-shadow(0 0 4px #ffffff59)}.measure-layer .measure-handle{fill:#0000;stroke:#0000;cursor:grab;pointer-events:all}.measure-layer.dragging .measure-handle{cursor:grabbing}.measure-layer.locked:not(.dragging) .measure-handle:hover{stroke:#ffffff47;stroke-width:1.5px;fill:#ffffff0f}.measure-label-hint{fill:var(--muted);text-anchor:middle;font-size:9px;font-weight:600;font-family:var(--mono);letter-spacing:.04em}.measure-readout.linking{border-style:dashed!important}.measure-layer .measure-fill{opacity:.12}.measure-layer.up .measure-fill{fill:var(--ok)}.measure-layer.down .measure-fill{fill:var(--err)}.measure-label-bg{fill:#08090ceb;stroke-width:1px}.measure-layer.up .measure-label-bg{stroke:#00e6768c}.measure-layer.down .measure-label-bg{stroke:#ff3b4a8c}.measure-label-pct{fill:#fff;text-anchor:middle;font-size:13px;font-weight:800;font-family:var(--mono)}.measure-layer.up .measure-label-pct{fill:var(--ok)}.measure-layer.down .measure-label-pct{fill:var(--err)}.measure-label-sub{fill:var(--muted);text-anchor:middle;font-size:10px;font-weight:600;font-family:var(--mono)}.measure-axis-tag{fill:var(--text);font-size:10px;font-weight:700;font-family:var(--mono)}.measure-layer.up .measure-axis-tag{fill:var(--ok)}.measure-layer.down .measure-axis-tag{fill:var(--err)}.reg-envelope{fill:#ff3b4a0d;stroke:none}.reg-band{fill:none;stroke-linejoin:round}.reg-band.reg-2s{stroke:#ff6b78bf;stroke-width:1.25px}.reg-band.reg-1s{stroke:#ff6b7866;stroke-width:1px;stroke-dasharray:4 4}.reg-band.reg-mid{stroke:#ff6b788c;stroke-width:1px;stroke-dasharray:6 5}.reg-band.projected{opacity:.42}.swatch.reg2{background:#ff6b78d9;border-radius:2px;height:3px}.swatch.reg1{background:repeating-linear-gradient(90deg,#ff6b7899 0 4px,#0000 4px 8px);border-radius:0;height:3px}.session-break{stroke:#ff3b4a26;stroke-width:1px;stroke-dasharray:2 5}.eth-band{pointer-events:none}.eth-band-pre{fill:#ffb0200f}.eth-band-post{fill:#a78bfa12}.eth-band-overnight{fill:#38bdf80d}.candle.eth .body{opacity:.88}.candle.eth .wick{opacity:.75}.candle.up.eth-pre .body{fill:#f0b429}.candle.up.eth-pre .wick{stroke:#f0b429}.candle.down.eth-pre .body{fill:#c47a2a}.candle.down.eth-pre .wick{stroke:#c47a2a}.candle.up.eth-post .body{fill:#a78bfa}.candle.up.eth-post .wick{stroke:#a78bfa}.candle.down.eth-post .body{fill:#e879f9}.candle.down.eth-post .wick{stroke:#e879f9}.candle.up.eth-overnight .body{fill:#38bdf8}.candle.up.eth-overnight .wick{stroke:#38bdf8}.candle.down.eth-overnight .body{fill:#64748b}.candle.down.eth-overnight .wick{stroke:#64748b}.candle.eth-closed .body{fill:#4b5563;opacity:.45}.candle.eth-closed .wick{stroke:#4b5563;opacity:.4}.swatch.eth-pre{background:linear-gradient(90deg,#f0b429 50%,#c47a2a 50%)}.swatch.eth-post{background:linear-gradient(90deg,#a78bfa 50%,#e879f9 50%)}.swatch.eth-overnight{background:linear-gradient(90deg,#38bdf8 50%,#64748b 50%)}.swatch.ext{opacity:.7;background:#f0b429}.swatch.last{background:repeating-linear-gradient(to right, var(--ok) 0 3px, transparent 3px 6px);border-radius:0;height:3px}.last-price line{stroke-width:1px;stroke-dasharray:3 3;opacity:.85}.last-price rect{stroke:none}.last-price text{fill:#08090c;font-size:10.5px;font-weight:700;font-family:var(--mono)}.last-price.up line{stroke:var(--ok)}.last-price.up rect{fill:var(--ok)}.last-price.down line{stroke:var(--err)}.last-price.down rect{fill:var(--err)}.live-bar-edge{stroke:#ffffff12;stroke-width:1px;stroke-dasharray:2 4;pointer-events:none}.ema200-line{fill:none;stroke:var(--ema);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;opacity:.95}.rsi-line{fill:none;stroke:var(--accent-hot);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.rsi-band{fill:#ff3b4a0f}.mark polygon{opacity:.95}.mark text{text-anchor:middle;letter-spacing:.03em;font-size:9.5px;font-weight:700;font-family:var(--mono)}.mark.buy polygon,.mark.buy text{fill:var(--ok)}.mark.sell polygon,.mark.sell text{fill:var(--err)}.chart-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:12px;font-size:12px;display:flex}.chart-legend .swatch{vertical-align:-1px;border-radius:2px;width:11px;height:11px;margin-right:6px;display:inline-block}.swatch.ema200{background:var(--ema);border-radius:2px;height:3px}.swatch.gap{background:repeating-linear-gradient(#ff3b4a80 0 2px,#0000 2px 5px);width:2px;height:12px}.legend-val{color:var(--ema);font-family:var(--mono);margin-left:6px}.legend-note{color:var(--muted);font-style:italic}.swatch.up{background:var(--ok)}.swatch.down{background:var(--err)}.swatch.buy{background:var(--ok);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.swatch.sell{background:var(--err);clip-path:polygon(50% 100%,100% 0,0 0);border-radius:0}.buy-text{color:var(--ok)!important}.sell-text{color:var(--err)!important}td.v.s1{color:var(--s1);font-weight:700}td.v.s2{color:var(--s2);font-weight:700}.empty{text-align:center;padding:28px}.empty-title{margin:0 0 4px;font-size:16px;font-weight:700}.hint{color:var(--muted);max-width:520px;margin:10px auto 14px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#040508c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:540px;max-height:80vh;overflow-y:auto;border-color:var(--line-strong)!important}button.sym-link{appearance:none;font:inherit;font-family:var(--mono);color:var(--accent-hot);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin:0;padding:0;font-weight:600;-webkit-text-decoration:underline #ff3b4a59;text-decoration:underline #ff3b4a59}button.sym-link:hover{color:#fff;-webkit-text-decoration-color:var(--accent-hot);text-decoration-color:var(--accent-hot)}.chart-popup-backdrop{z-index:60;place-items:center;padding:16px}.modal.chart-popup{flex-direction:column;gap:10px;width:100%;max-width:min(1180px,98vw);max-height:min(92vh,920px);padding:14px 16px 12px;display:flex;overflow:hidden}.chart-popup-head{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.chart-popup-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chart-popup-head .tf-group.compact .tf-btn{padding:4px 8px;font-size:11px}.chart-popup-close{min-width:36px;font-size:16px;line-height:1}.chart-popup-price{flex:auto;min-height:280px;max-height:48vh}.chart-popup-rsi{flex:none;height:120px;min-height:100px}.chart-popup-foot{flex-shrink:0;margin:0}.diff-list{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.diff-list li{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 11px;font-size:13px;display:flex}.diff-list code{color:var(--text);background:0 0;padding:0}.diff-list .old{color:var(--muted);text-decoration:line-through}.diff-list .arrow{color:var(--muted)}.diff-list .new{color:var(--ok);font-weight:600}.login-wrap{background-image:linear-gradient(var(--grid-red) 1px, transparent 1px), linear-gradient(90deg, var(--grid-red) 1px, transparent 1px), radial-gradient(ellipse 70% 50% at 50% 0%, #ff3b4a2e, transparent 55%), radial-gradient(ellipse 50% 40% at 50% 100%, #00e6760d, transparent 50%);background-size:40px 40px,40px 40px,100% 100%,100% 100%;background-color:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{flex-direction:column;width:100%;max-width:400px;display:flex;box-shadow:0 24px 64px #0000008c,0 0 0 1px #ff3b4a1f}.login-card h1{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:700}.login-card label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:16px 0 6px;font-size:12px;font-weight:600}.login-card .btn{width:100%;margin-top:22px;padding:12px}.progress{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;height:6px;margin:10px 0 6px;overflow:hidden}.progress .bar{background:linear-gradient(90deg, var(--accent), var(--ok));height:100%;transition:width .4s;box-shadow:0 0 12px #ff3b4a66}@media (width<=640px){.main{padding:16px}.topbar{padding:12px 16px}.tabs{padding:0 12px}.stat{min-width:72px;padding:8px 10px}.stat-num{font-size:18px}}.strat-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.strat-cards-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}@media (width<=1200px){.strat-cards-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.strat-cards-row{grid-template-columns:1fr}}.strat-card{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.strat-card:hover{border-color:var(--accent);background:#202a3c}.strat-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.strat-card strong{font-size:13.5px;line-height:1.25}.strat-sub{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.strat-desc{color:var(--muted);font-size:12px}.tag-fam{letter-spacing:.06em;text-transform:none;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.tag-fam.sgasmr,.tag-fam.smr,.tag-fam.sga{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-color:#0000}.param-val{border:1px solid var(--line);color:var(--text);background:#0f141f;border-radius:8px;padding:8px 11px;font-family:ui-monospace,Menlo,monospace;font-size:13px}.strat-link{color:var(--accent);margin-top:2px;font-size:11.5px;font-weight:700}.desk-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;display:grid}.float-pill{font-family:ui-monospace,Menlo,monospace;font-weight:700}.float-pill.pos{color:var(--ok);background:#2fbf711f;border-color:#2fbf7166}.float-pill.neg{color:var(--err);background:#ff5c6c1f;border-color:#ff5c6c66}.float-inline{text-transform:none;letter-spacing:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:700}.float-inline.pos{color:var(--ok)}.float-inline.neg{color:var(--err)}tr.venue-sep td{background:var(--panel-2);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-top:2px solid var(--line);padding:8px 12px;font-size:11px;font-weight:800}.venue-count{float:right;letter-spacing:0;text-transform:none;font-weight:600}.strat-best{letter-spacing:.02em;color:var(--muted);margin-top:4px;font-size:11.5px;font-weight:700;display:inline-block}.strat-best.pos{color:var(--ok)}.strat-best.neg{color:var(--err)}tr.subtotal-row td{background:color-mix(in srgb, var(--panel-2) 55%, transparent);color:var(--text);border-top:1px solid var(--line);padding:7px 12px;font-weight:700}tr.totals-row td{background:var(--panel-2);color:var(--text);border-top:2px solid var(--accent);padding:9px 12px;font-weight:800}.strat-tabs{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.strat-tab{cursor:pointer;border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.strat-tab:hover{color:var(--text);border-color:var(--accent)}.strat-tab.on{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.ufeed{flex-direction:column;gap:14px;min-height:0;display:flex}.ufeed-hero{padding:16px 18px}.ufeed-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ufeed-hero h2{margin:0 0 4px;font-size:18px}.ufeed-kpis{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ufeed-kpi{text-align:center;min-width:64px}.ufeed-kpi .stat-num{font-family:var(--mono);font-size:18px;font-weight:700;display:block}.ufeed-kpi .stat-num.ok{color:var(--ok)}.ufeed-kpi .stat-num.warn{color:var(--warn)}.ufeed-kpi .stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.ufeed-filters{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.ufeed-filter{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.ufeed-filter em{font-style:normal;font-family:var(--mono);opacity:.75;font-size:11px}.ufeed-filter:hover{color:var(--text);border-color:var(--line-strong)}.ufeed-filter.on{color:#fff;background:#ff3b4a2e;border-color:#ff3b4a73}.ufeed-asof{margin:10px 0 0;font-size:12px}.ufeed-marquee{border:1px solid var(--line);background:linear-gradient(90deg,#ff3b4a0f,#0000 30% 70%,#00e6760d);border-radius:12px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.ufeed-marquee-track{gap:8px;width:max-content;padding:10px 12px;animation:80s linear infinite ufeed-marquee;display:flex}.ufeed-marquee:hover .ufeed-marquee-track{animation-play-state:paused}@keyframes ufeed-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.ufeed-chip{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:#12141ceb;border-radius:999px;align-items:baseline;gap:8px;padding:6px 12px;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.ufeed-chip b{font-family:var(--mono);letter-spacing:.03em;font-weight:700}.ufeed-chip span{color:var(--text-dim);font-family:var(--mono)}.ufeed-chip em{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600}.ufeed-chip.up em{color:var(--ok)}.ufeed-chip.down em{color:var(--err)}.ufeed-chip:hover{border-color:var(--line-strong);background:var(--panel-3)}.ufeed-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch;gap:12px;display:grid}.ufeed-grid-single{grid-template-columns:minmax(280px,420px)}.ufeed-col{border:1px solid var(--line);background:var(--panel);min-height:360px;max-height:min(62vh,560px);box-shadow:var(--shadow,0 8px 28px #00000059);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.ufeed-col-head{border-bottom:1px solid var(--line);background:linear-gradient(#ffffff08,#0000);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 10px;display:flex}.ufeed-col-head h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.ufeed-col-head .sub{margin:3px 0 0;font-size:11px}.ufeed-badge{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}.ufeed-scroll{scrollbar-width:thin;scrollbar-color:#ff3b4a59 transparent;flex:1;padding:6px;overflow-y:auto}.ufeed-row{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;transition:background .12s;display:grid}.ufeed-row:hover{background:#ff3b4a1a}.ufeed-sym{font-family:var(--mono);letter-spacing:.03em;font-size:12.5px;font-weight:700}.ufeed-px{font-family:var(--mono);color:var(--text-dim);text-align:right;font-size:12px}.ufeed-chg{font-family:var(--mono);text-align:right;min-width:52px;color:var(--muted);font-size:11px;font-weight:600}.ufeed-chg.up,.ufeed-row.up .ufeed-chg{color:var(--ok)}.ufeed-chg.down,.ufeed-row.down .ufeed-chg{color:var(--err)}.ufeed-row.flash-up{animation:.7s ufeed-flash-up}.ufeed-row.flash-down{animation:.7s ufeed-flash-down}@keyframes ufeed-flash-up{0%{background:#00e67638}to{background:0 0}}@keyframes ufeed-flash-down{0%{background:#ff3b4a38}to{background:0 0}}.ufeed-col.tone-crypto{border-top:2px solid #f0b429}.ufeed-col.tone-equity{border-top:2px solid #4fd3ff}.ufeed-col.tone-etf{border-top:2px solid #a78bfa}.ufeed-col.tone-fx{border-top:2px solid #2fbf71}.ufeed-col.tone-metal{border-top:2px solid #ffb020}.ufeed-col.tone-fut{border-top:2px solid #ff6b78}.ufeed-col.tone-cmd{border-top:2px solid #38bdf8}.ufeed-col.tone-idx{border-top:2px solid #c4cad6}.ufeed-col.tone-other{border-top:2px solid var(--line-strong)}@media (width<=720px){.ufeed-grid{grid-template-columns:1fr}.ufeed-col{max-height:420px}}.input{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;min-width:150px;padding:7px 10px;font-size:13px}.input:focus{border-color:var(--accent);outline:none}.typeahead-pop{z-index:20;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-width:100%;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 8px 24px #0006}.typeahead-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:13px;display:block}.typeahead-item:hover{background:var(--panel);color:var(--accent)}.sug-row{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr auto auto;align-items:center;gap:10px;padding:7px 0;display:grid}.sug-row:last-child{border-bottom:0}.row-muted td{opacity:.55}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:10px;padding:7px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.ticker-track{white-space:nowrap;will-change:transform;gap:26px;animation:linear infinite ticker-scroll;display:inline-flex}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.ticker-item{align-items:baseline;gap:7px;font-size:12.5px;display:inline-flex}.ticker-strat{color:var(--muted);font-size:11px}.ticker-pnl{font-variant-numeric:tabular-nums;font-weight:700}.ticker-pnl.pos{color:var(--ok)}.ticker-pnl.neg{color:var(--err)}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker{overflow-x:auto}}.restate-badge{color:var(--muted,#94a3b8);border:1px solid var(--border,#334155);white-space:nowrap;border-radius:5px;margin-left:.35rem;padding:.05rem .35rem;font-size:.68rem;font-weight:600}.scanner-health .sh-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.scanner-health .sh-sub{color:var(--muted);font-size:12px}.scanner-health .sh-note{color:var(--muted);max-width:76ch;margin:0 0 10px;font-size:12px;line-height:1.5}.scanner-health .sh-banner{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.scanner-health p.sh-banner{padding-left:0}.scanner-health .sh-detail{color:var(--muted);font-size:12px}.scanner-health .sh-venue{white-space:nowrap;font-size:12px}.scanner-health .sh-muted{color:var(--muted);opacity:.5}.scanner-health .pos{color:var(--ok)}.scanner-health .neg{color:var(--err)}.scanner-health .warn{color:var(--warn)}.scanner-health td.neg,.scanner-health td.pos{font-weight:600}.sh-pill{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#ffffff0a;border:1px solid;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.sh-pill.pos{color:var(--ok)}.sh-pill.neg{color:var(--err)}.sh-pill.warn{color:var(--warn)}
