@font-face{font-family:D-DIN Exp;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/D-DINExp.woff) format("woff"),url(https://fonts.cdnfonts.com/s/23112/D-DINExp.woff) format("woff")}@font-face{font-family:D-DIN Exp;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/D-DINExp-Bold.woff) format("woff"),url(https://fonts.cdnfonts.com/s/23112/D-DINExp-Bold.woff) format("woff")}:root{color-scheme:dark;--bg: #0b0e14;--panel: #12161f;--panel2: #161b27;--border: #232a38;--text: #e6edf3;--muted: #8b95a7;--green: #2ecc71;--red: #ff4d4f;--amber: #f5a623;--yellow: #f1c40f;--alert-bg: #38330a;--alert-border: #f1c40f}html{box-sizing:border-box;overflow-x:hidden}*,*:before,*:after{box-sizing:inherit}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.5 D-DIN Exp,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:12px;width:100%;overflow-x:hidden}#root{width:100%;max-width:100%;overflow-x:hidden}header{margin-bottom:18px}h1{margin:0 0 4px;font-size:20px;display:flex;align-items:center;gap:10px}.countdown{display:inline-flex;align-items:center;line-height:0}.countdown .ring{transition:stroke-dashoffset .12s linear}.meta{color:var(--muted);font-size:12px;word-break:break-word;overflow-wrap:anywhere}.meta .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:middle}.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:100%}section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;min-width:0;max-width:100%}h2{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px}h2 .count{color:var(--muted);font-weight:400;font-size:11px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap::-webkit-scrollbar{height:4px}.table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}table{width:100%;border-collapse:collapse}th,td{padding:5px 6px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;font-size:11px}th .sort-th{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:baseline;gap:3px}th .sort-th .arrow{font-size:10px;opacity:.35}th .sort-th.active{color:var(--text)}th .sort-th.active .arrow{color:var(--amber);opacity:1}td:first-child,th:first-child{text-align:left}tbody tr.alert{background:var(--alert-bg)}tbody tr.alert td:first-child{box-shadow:inset 3px 0 0 var(--alert-border)}tbody tr.high-bull{background:#00ffff1f}tbody tr.high-bull td:first-child{box-shadow:inset 3px 0 #00ffffb3}tbody tr.alert.high-bull{background:linear-gradient(90deg,#f1c40f2e,#00ffff1f)}tbody tr.pinned-row td{border-bottom:1px dashed rgba(255,255,255,.15)}tbody tr.dropped-row td{opacity:.85;background:#ffffff05}th.col-rank,td.col-rank{width:1%;min-width:18px;max-width:22px;text-align:center;padding-left:1px;padding-right:1px;white-space:nowrap}th.col-shift,td.col-shift{width:1%;min-width:24px;max-width:28px;text-align:center;padding-left:1px;padding-right:1px;white-space:nowrap}th.col-shift .sort-th{justify-content:center;gap:1px}th.col-shift .sort-th .arrow{font-size:8px}th.col-60d,td.col-60d{width:1%;min-width:30px;text-align:center;white-space:nowrap}th.col-60d .sort-th{justify-content:center}.arrow-60d{font-size:11px;font-weight:700;display:inline-block;line-height:1}th.col-symbol,td.col-symbol{text-align:left}.rank-num{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600;display:inline-block;text-align:center}.shift-up{color:var(--green);font-size:11px;font-weight:600;display:inline-block;text-align:center;line-height:1}.shift-down,.shift-dropped{color:var(--red);font-size:11px;font-weight:600;display:inline-block;text-align:center;line-height:1}.pin-icon{font-size:11px;margin-right:2px;display:inline-block}.pos{color:var(--green)}.neg{color:var(--red)}.muted{color:var(--muted)}.badge{padding:1px 5px;border-radius:3px;font-size:11px;background:var(--panel2);border:1px solid var(--border)}.err,.amber{color:var(--amber)}.yellow{color:var(--yellow)}.white{color:#fff}.pink{color:#ff79c6;font-weight:500}.symbol-link{color:var(--text);text-decoration:none;font-weight:500;transition:color .15s ease}.symbol-link:hover{color:var(--amber);text-decoration:underline}.tabs{display:none;gap:4px;margin-bottom:12px;width:100%;max-width:100%}.tab{flex:1 1 0;min-width:0;padding:8px 4px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab.active{color:var(--text);border-color:var(--amber)}.tab .alert-num{color:var(--amber);font-weight:600}.chart-panel{display:flex;flex-direction:column;gap:6px}.chart-panel h2{flex-wrap:wrap;row-gap:6px}.chart-symbol{margin-left:auto;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font:inherit;font-size:12px;cursor:pointer;max-width:140px}.chart-symbol:hover{border-color:var(--amber)}.chart-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.ma-btn{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.ma-btn.off{opacity:.32}.chart-meta{color:var(--muted);font-size:11px;margin-left:auto}.chart-legend{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:11px;color:var(--muted);min-height:16px;font-variant-numeric:tabular-nums}.chart-legend b{font-weight:600;color:var(--text)}.chart-legend b.pos{color:var(--green)}.chart-legend b.neg{color:var(--red)}.chart-legend .lg-time{color:var(--amber);font-weight:600}.chart-host-wrap{position:relative;width:100%}.chart-host{width:100%;height:560px;border-radius:6px;overflow:hidden}.chart-board-marker{position:absolute;top:0;bottom:22px;width:0;border-left:1px dashed rgba(245,166,35,.85);pointer-events:none;z-index:3}.chart-board-marker .cbm-label{position:absolute;bottom:-21px;left:3px;background:var(--amber);color:#12161f;font-size:10px;font-weight:700;line-height:1.5;padding:0 4px;border-radius:3px;white-space:nowrap;font-variant-numeric:tabular-nums}.chart-board-marker.flip .cbm-label{left:auto;right:3px}.chart-mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b0e14b8;color:var(--muted);font-size:12px;pointer-events:none}tr.row-selectable{cursor:pointer}tr.row-selectable:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}tbody tr.chart-selected:not(.alert){background:#4d9dff1f}tbody tr.chart-selected:not(.alert)>td:first-child{box-shadow:inset 3px 0 #4d9dff}tbody tr.chart-selected .symbol-link{color:#4d9dff;font-weight:600}.paper-trading-section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:18px;width:100%}.paper-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:12px}.paper-title-wrap{display:flex;flex-direction:column;gap:8px}.badge-strategy{font-size:11px;font-weight:400;color:var(--amber);background:#f5a6231f;border:1px solid rgba(245,166,35,.3);padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.badge-leverage{font-size:11px;font-weight:700;color:#ff4d4f;background:#ff4d4f26;border:1px solid rgba(255,77,79,.4);padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.badge-margin{font-size:10px;color:#4d9dff;background:#4d9dff1f;border:1px solid rgba(77,157,255,.3);padding:1px 4px;border-radius:3px}.paper-stats-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{background:var(--panel2);border:1px solid var(--border);padding:4px 8px;border-radius:4px;font-size:11px;color:var(--text)}.chip b{font-weight:700}.chip-winrate{border-color:#2ecc7180;background:#2ecc7114}.chip-winrate b,.chip-pos b{color:var(--green)}.chip-neg b{color:var(--red)}.chip-active-count{border-color:#4d9dff66}.chip-active-count b{color:#4d9dff}.sub-counts{color:var(--muted);font-size:10px}.btn-history-toggle{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:11px;cursor:pointer;transition:all .2s ease}.btn-history-toggle:hover{background:var(--border);border-color:var(--muted)}.empty-paper-state{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px dashed var(--border);border-radius:6px;padding:12px 16px;color:var(--muted);font-size:12px}.empty-paper-state .empty-icon{font-size:16px}.paper-positions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}.paper-pos-card{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.paper-pos-card:hover{border-color:#4d9dff}.paper-pos-card.pos-card-selected{border-color:#4d9dff;box-shadow:0 0 0 1px #4d9dff inset}.pos-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:6px}.pos-card-symbol{display:flex;align-items:center;gap:6px}.pos-card-symbol a{color:var(--text);text-decoration:none;font-size:14px}.pos-card-symbol a:hover{text-decoration:underline;color:#4d9dff}.badge-short{font-size:10px;font-weight:700;color:#fff;background:#ff4d4fcc;padding:1px 5px;border-radius:3px}.pos-rank{font-size:10px;color:var(--muted);background:#ffffff0f;padding:1px 4px;border-radius:3px}.pos-card-timer{font-size:11px;color:var(--amber)}.pos-card-main{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#00000026;padding:8px;border-radius:6px}.pos-info-col{display:flex;flex-direction:column;gap:2px}.pos-info-col .label{font-size:10px;color:var(--muted)}.pos-info-col .val{font-size:12px;font-weight:600}.pos-info-col .current-val{color:#4d9dff}.pos-info-col .pos-gain{color:var(--green)}.pos-card-stages{display:flex;flex-direction:column;gap:6px}.stage-block{border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:6px 8px;font-size:11px;background:#ffffff05}.stage-block.stage-active{border-color:#4d9dff66;background:#4d9dff0a}.stage-block.stage-done{border-color:#2ecc714d;background:#2ecc7108}.stage-title{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--muted);font-size:10px}.stage-status{font-weight:600}.stage-done .stage-status{color:var(--green)}.stage-active .stage-status{color:#4d9dff}.stage-targets{display:flex;justify-content:space-between;font-size:11px}.target-green{color:var(--green)}.target-red{color:var(--red)}.paper-history-drawer{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.history-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.history-header h3{margin:0;font-size:13px;color:var(--text)}.loading-hint{font-size:11px;color:var(--muted)}.empty-history{color:var(--muted);font-size:12px;padding:10px 0}.paper-history-table{width:100%}.paper-history-table tr{cursor:pointer}@media (min-width: 900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 899px){body{padding:10px 8px}.tabs{display:flex}.grid section{display:none}.grid section.chart-panel,.grid section.chart-panel.active{display:flex}.grid section.active{display:block}.grid section.active h2{display:none}.chart-host{height:420px}.grid section.chart-panel.active h2{display:flex}}@media (max-width: 600px){body{padding:8px 6px}header{margin-bottom:12px}h1{font-size:18px}.meta{font-size:11px;line-height:1.4}section{padding:10px 6px;border-radius:8px}th,td{padding:5px 3px;font-size:12px}th{font-size:11px}th .sort-th{gap:2px}.tab{padding:7px 2px;font-size:11px}.chart-host{height:360px}.chart-symbol{max-width:110px;font-size:11px}.chart-meta{width:100%;margin-left:0}}
