:root{--bg: #f5f7fb;--surface: #ffffff;--surface-strong: #f0f4f8;--text: #18212f;--muted: #697386;--border: #dde4ee;--red: #d92d20;--green: #079455;--blue: #2563eb;--amber: #b7791f;--ink: #101828;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}#app{min-height:100vh}.terminal{width:min(1480px,100%);margin:0 auto;padding:24px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0 18px}.eyebrow{margin:0 0 6px;color:var(--blue);font-size:13px;font-weight:800}h1,h2,p{margin:0}h1{color:var(--ink);font-size:34px;line-height:1.1;letter-spacing:0}h2{color:var(--ink);font-size:17px;line-height:1.2;letter-spacing:0}h3{margin:0;color:var(--ink);font-size:14px;line-height:1.2;letter-spacing:0}.summary{max-width:760px;margin-top:10px;color:var(--muted);font-size:15px}.icon-button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface)}.icon-button.spinning svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.metric span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:10px;color:var(--ink);font-size:27px;line-height:1}.market-board{margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.recommend-board{margin:0 0 18px;padding:16px;border:1px solid var(--border);background:#fff}.recommend-board .panel-heading h2{display:flex;align-items:center;gap:8px}.model-badge{color:#667085;font-size:12px}.regime-status{max-width:340px;text-align:right}.recommend-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.recommendation-refresh{flex:0 0 auto}.recommendation-refresh:disabled{cursor:wait;opacity:.55}.regime-status strong,.regime-status span,.regime-status small{display:block}.regime-status strong{color:#b42318;font-size:13px}.regime-status span{margin-top:2px;color:#475467;font-size:11px}.regime-status small{margin-top:2px;color:#98a2b3;font-size:10px}.recommend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.recommend-item{display:grid;grid-template-columns:30px minmax(105px,1.2fr) minmax(90px,1fr) minmax(82px,.8fr) 56px;align-items:center;gap:9px;min-width:0;padding:12px 10px;border-bottom:1px solid var(--border);cursor:pointer}.recommend-item:nth-child(odd){border-right:1px solid var(--border)}.recommend-item:hover,.recommend-item:focus-visible{background:#f7f9fc;outline:none}.recommend-item.top-pick{background:#fff8f7;box-shadow:inset 3px 0 #d92d20}.recommend-rank{display:grid;width:25px;height:25px;place-items:center;color:#fff;font-size:12px;font-weight:700;background:#344054}.recommend-item:nth-child(-n+3) .recommend-rank{background:#d92d20}.recommend-name,.recommend-change,.potential-score,.recommend-item>div{min-width:0}.recommend-name strong,.recommend-name small,.recommend-change small,.recommend-item>div>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-name small,.recommend-change small,.recommend-item>div>small{margin-top:3px;color:#667085;font-size:11px}.recommend-name-line{display:flex;align-items:center;gap:6px;min-width:0}.recommend-name-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.best-pick-label{flex:0 0 auto;padding:2px 4px;color:#b42318;font-size:9px;font-weight:700;background:#fee4e2}.recommend-change strong{color:#d92d20}.potential-score{text-align:right}.potential-score strong{display:block;font-size:20px}.recommend-footer{grid-column:2 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#475467;font-size:11px}.recommend-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-gap{display:flex;align-items:center;gap:7px;flex:0 0 150px}.comparison-gap>i{width:62px;height:4px;overflow:hidden;background:#e4e7ec}.comparison-gap>i>b{display:block;height:100%;background:#d92d20}.comparison-gap small{min-width:80px;color:#667085;font-size:10px;text-align:right}.phase-tag{display:inline-block;padding:3px 7px;color:#344054;font-size:12px;font-weight:700;background:#eef2f6}.phase-tag.rushing{color:#b42318;background:#fee4e2}.phase-tag.building{color:#175cd3;background:#eaf2ff}.phase-tag.washing{color:#7a5d00;background:#fff3c4}.phase-tag.distribution{color:#475467;background:#e4e7ec}.phase-tag.large{padding:6px 12px;font-size:14px}.model-analysis{border-left:3px solid #3b82f6;padding-left:14px}.analysis-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis-title h3{margin-bottom:3px}.analysis-title span{color:#667085;font-size:11px}.analysis-meter{height:6px;margin:12px 0 9px;background:#e4e7ec}.analysis-meter span{display:block;height:100%;background:#3b82f6}.analysis-summary{margin:0 0 10px;font-size:13px;font-weight:600}.analysis-reasons{display:flex;flex-wrap:wrap;gap:6px}.analysis-reasons span{padding:4px 7px;color:#475467;font-size:11px;background:#f2f4f7}.analysis-note{margin:10px 0 0;color:#667085;font-size:11px}.timing-analysis{padding:13px 14px;border:1px solid #dce3ee;border-left:4px solid #98a2b3;background:#f8fafc}.timing-analysis>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.timing-analysis span{color:#667085;font-size:12px}.timing-analysis strong{font-size:17px}.timing-analysis p{margin:8px 0 5px;font-size:12px}.timing-analysis small{color:#667085;font-size:10px}.timing-analysis.buy{border-left-color:#d92d20}.timing-analysis.buy strong{color:#d92d20}.timing-analysis.sell{border-left-color:#16836b}.timing-analysis.sell strong{color:#16836b}.timing-analysis.hold{border-left-color:#d97706}.timing-analysis.hold strong{color:#b54708}.market-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.market-head p{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px;color:var(--muted);font-size:13px}.live-dot{width:7px;height:7px;border-radius:999px;background:var(--green);box-shadow:0 0 0 4px #0794551f}.market-head>span{flex:0 0 auto;padding:6px 9px;border-radius:7px;color:var(--red);background:#fff1f0;font-size:13px;font-weight:800}.market-head>span.loading{color:var(--blue);background:#eff6ff}.index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.index-card{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:13px;border:1px solid #ffd6d2;border-radius:8px;background:snow}.index-card.down{border-color:#c7ead9;background:#f6fef9}.index-card div{display:grid;gap:4px;min-width:0}.index-card strong{color:var(--ink)}.index-card b{color:var(--ink);font-size:22px;line-height:1}.index-card span{color:var(--red);font-size:14px;font-weight:800}.index-card.down span{color:var(--green)}.index-card>small{justify-self:end}.workspace{display:grid;grid-template-columns:280px minmax(560px,1fr) 330px;gap:16px;align-items:start}.filters,.main-board,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.filters{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;padding:16px}.filter-mobile-head{display:contents}.filter-expand-button{display:none}.panel-title,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{justify-content:flex-start;margin-bottom:14px}.searchbox{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-strong)}.searchbox input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.switches{display:grid;gap:8px;margin:16px 0}.toggle{display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid var(--border);border-radius:7px;color:var(--muted);background:#fff;text-align:left}.toggle span{width:9px;height:9px;border-radius:999px;background:#cbd5e1}.toggle.active{border-color:#2563eb73;color:var(--blue);background:#eff6ff}.toggle.active span{background:var(--blue)}.range-row{display:grid;gap:8px;margin-top:14px;color:var(--muted);font-size:13px}.range-row input{width:100%;accent-color:var(--blue)}.factor-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.factor-filter-heading>div{display:grid;gap:2px}.factor-filter-heading small{color:var(--muted);font-size:11px}.factor-filter-heading button{display:inline-flex;align-items:center;gap:5px;border:0;color:var(--blue);background:transparent;font-size:12px}.factor-filter-list{display:grid;gap:11px;margin-top:13px}.factor-filter-row{display:grid;gap:6px}.factor-filter-label{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--muted);font-size:12px}.factor-filter-label input{width:15px;height:15px;margin:0;accent-color:var(--blue)}.factor-filter-label b{color:var(--text);font-variant-numeric:tabular-nums}.factor-filter-row>input{width:100%;margin:0;accent-color:var(--blue)}.factor-filter-row>input:disabled{opacity:.35}.formula{margin-top:18px;padding:12px;border-radius:8px;background:#fff8e6;color:#6f4f00;font-size:13px}.formula strong{display:block;margin-bottom:4px}.watch-summary{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px;border:1px solid #c7d7fe;border-radius:8px;color:var(--blue);background:#eff6ff;font-size:13px}.watch-summary span{font-weight:800}.main-board{overflow:hidden}.panel-heading{padding:16px;border-bottom:1px solid var(--border)}.panel-heading p{margin-top:4px;color:var(--muted);font-size:13px}.sort-menu{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:7px;color:var(--muted);background:var(--surface-strong)}.sort-menu select{min-width:116px;border:0;outline:0;color:var(--text);background:transparent}.stock-table{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-head,.stock-row{display:grid;grid-template-columns:1.2fr .8fr 1.4fr .7fr 112px;gap:12px;align-items:center;min-width:850px;padding:12px 16px}.table-head{color:var(--muted);font-size:12px;font-weight:700;background:#f8fafc}.stock-row{border-top:1px solid var(--border);transition:background .2s ease,box-shadow .2s ease}.stock-row:hover,.stock-row:focus-visible,.stock-row.selected{outline:0;background:#fff7f6;box-shadow:inset 3px 0 0 var(--red)}.stock-name,.stock-row>div:nth-child(2){display:grid;gap:4px}.name-line{display:flex;align-items:center;gap:7px;min-width:0}.watch-button{display:inline-grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border:1px solid var(--border);border-radius:7px;color:#98a2b3;background:#fff}.watch-button.active{border-color:#d92d2059;color:var(--red);background:#fff1f0}.watch-button.active svg{fill:currentColor}.stock-name strong,.limit-card strong,.watch-card strong,.sector-row strong{color:var(--ink)}small{color:var(--muted);font-size:12px}.score{width:44px;padding:5px 0;border-radius:6px;color:#fff;background:var(--red);text-align:center;font-weight:800}.badges{display:flex;flex-wrap:wrap;gap:6px}.badges span{padding:4px 7px;border-radius:5px;color:#8a94a6;background:#eef2f6;font-size:12px}.badges .pass{color:#9f1d16;background:#fee4e2}.flow{display:flex;align-items:center;gap:5px;color:var(--red);font-weight:700}.flow.out{color:var(--green)}.flow small{padding:2px 5px;border-radius:5px;background:#f2f4f7}.spark{width:96px;height:38px}.spark polyline{fill:none;stroke:var(--red);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.empty{width:100%;min-width:0;padding:28px 16px;color:var(--muted);text-align:center}.empty.compact{min-width:0;padding:16px 0 0;font-size:13px}.insights{display:grid;gap:16px}.panel{padding:16px}.limit-card,.watch-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);cursor:pointer}.limit-card:hover,.limit-card:focus-visible,.watch-card:hover,.watch-card:focus-visible{outline:0;background:#f8fafc}.limit-card>div,.watch-card>div{display:grid;gap:4px}.limit-card span,.watch-card span{min-width:42px;padding:5px 0;border-radius:6px;color:#fff;text-align:center;font-weight:800}.limit-card span{background:var(--red)}.watch-card span{color:var(--text);background:#e8edf5}.watch-card span.hot{color:#fff;background:var(--red)}.watch-card .watch-actions{display:flex;grid-auto-flow:initial;align-items:center;gap:7px}.watch-remove{display:inline-grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:#fff}.watch-remove:hover,.watch-remove:focus-visible{border-color:#d92d2066;color:var(--red);outline:none}.sector-row{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.sector-row b{color:var(--red);font-size:13px}.heat{overflow:hidden;height:8px;border-radius:999px;background:#e5e7eb}.heat span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--red))}.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#10182842}.detail-drawer{width:min(980px,calc(100vw - 32px));height:100%;overflow-y:auto;padding:28px 32px;border-left:1px solid var(--border);background:var(--surface);box-shadow:-18px 0 48px #1018282e}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detail-head h2{font-size:26px}.detail-price{display:flex;align-items:baseline;gap:12px;margin-top:22px}.detail-price strong{color:var(--ink);font-size:38px;line-height:1}.detail-price span{padding:5px 8px;border-radius:6px;color:#fff;background:var(--red);font-weight:800}.detail-price span.down{background:var(--green)}.stock-classification{margin-top:18px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.classification-head,.classification-row{display:flex;align-items:flex-start;gap:14px}.classification-head{align-items:baseline;justify-content:space-between;margin-bottom:12px}.classification-head h3{margin:0;font-size:15px}.classification-head small{color:#98a2b3;font-size:10px}.classification-row+.classification-row{margin-top:10px}.classification-row>span{flex:0 0 60px;padding-top:3px;color:#667085;font-size:12px}.industry-path,.concept-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.industry-path b{color:#18212f;font-size:13px}.industry-path i{color:#98a2b3;font-size:11px;font-style:normal}.concept-tags span{padding:4px 7px;border:1px solid #d6e4ff;border-radius:4px;color:#175cd3;font-size:11px;background:#f2f6ff}.classification-row em,.classification-state{margin:0;color:#98a2b3;font-size:12px;font-style:normal}.factor-overview{padding:16px 0;border-bottom:1px solid var(--border)}.factor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.factor-heading h3{margin:0;font-size:15px}.factor-heading small{display:block;margin-top:3px;color:#98a2b3;font-size:10px}.factor-scores{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.factor-scores span{padding:4px 7px;color:#475467;font-size:10px;background:#eef2f6}.factor-scores b{margin-left:3px;color:#101828;font-size:12px}.factor-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:12px 0 0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.factor-metrics div{min-width:0;padding:9px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.factor-metrics dt{color:#667085;font-size:10px}.factor-metrics dd{margin:4px 0 0;overflow:hidden;color:#18212f;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.factor-state{margin:9px 0 0;color:#667085;font-size:11px}.factor-risks{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.factor-risks span{padding:4px 7px;color:#b42318;font-size:10px;background:#fee4e2}.detail-chart{width:100%;height:138px;margin:16px 0;border:1px solid var(--border);border-radius:8px;background:linear-gradient(#eef2f6 1px,transparent 1px),linear-gradient(90deg,#eef2f6 1px,transparent 1px);background-size:100% 34px,60px 100%}.detail-chart polyline{fill:none;stroke:var(--red);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.daily-chart-section{margin-top:18px}.daily-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.daily-chart-head h3{margin:0 0 3px;font-size:15px}.daily-chart-head span{color:#667085;font-size:12px}.chart-level-values{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.chart-level-values span{padding:4px 8px;color:#fff;font-weight:700}.chart-level-values .resistance-value{color:#b42318;background:#fee4e2}.chart-level-values .support-value{color:#067647;background:#dcfae6}.chart-level-values small{color:#667085;font-size:11px}.daily-chart{display:block;width:auto;max-width:none;min-height:420px;border:1px solid #dce3ee;background:#fbfcfe}.daily-chart-wrap{position:relative;min-width:0}.daily-chart-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-y:hidden;direction:rtl;scrollbar-color:#98a2b3 #eef2f6;scrollbar-width:thin}.daily-chart-scroll::-webkit-scrollbar{height:9px}.daily-chart-scroll::-webkit-scrollbar-track{background:#eef2f6}.daily-chart-scroll::-webkit-scrollbar-thumb{background:#98a2b3;border:2px solid #eef2f6}.daily-chart-scroll::-webkit-scrollbar-thumb:hover{background:#667085}.daily-chart-scroll .daily-chart{min-width:880px;direction:ltr}.ma-legend{position:absolute;z-index:1;top:50px;left:14px;display:flex;gap:12px;font-size:11px}.ma-legend span:nth-child(1){color:#d97706}.ma-legend span:nth-child(2){color:#2563eb}.ma-legend span:nth-child(3){color:#9333ea}.ma-legend span:nth-child(4){color:#0f766e}.ma-legend b{font-size:10px;font-weight:700}.ma-legend .buy-legend{color:#d92d20}.ma-legend .profit-legend{color:#b54708}.ma-legend .sell-legend{color:#16836b}.daily-candle-readout{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border:1px solid #dce3ee;border-bottom:0;color:#475467;font-size:12px;background:#f8fafc}.daily-candle-readout strong{color:#101828}.daily-candle-readout b{min-width:58px}.daily-candle-readout .up{color:#d92d20}.daily-candle-readout .down{color:#079455}.detail-price small{color:var(--muted);font-size:12px}.daily-candle-readout.locked{border-color:#93b4ff;background:#eff6ff}.daily-candle-readout em{padding:2px 5px;border-radius:3px;color:#175cd3;background:#dbeafe;font-size:10px;font-style:normal;font-weight:700}.daily-chart .chart-grid{stroke:#e6eaf0;stroke-width:1}.daily-chart .price-level line{stroke-width:1.2;stroke-dasharray:5 4}.daily-chart .price-level.resistance line{stroke:#d92d20}.daily-chart .price-level.support line{stroke:#16836b}.daily-chart g line{stroke:currentColor;stroke-width:1}.daily-chart g rect{fill:currentColor}.daily-chart g .volume-bar{opacity:.55}.daily-chart g .candle-hit{fill:transparent;cursor:crosshair;pointer-events:all}.daily-chart g.candle-selected>rect:not(.volume-bar):not(.candle-hit){stroke:#175cd3;stroke-width:2}.signal-list span.unavailable{border-style:dashed;color:var(--muted);background:var(--surface-strong)}.snapshot-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.snapshot-section-heading small{color:var(--muted);font-size:11px}.daily-chart .ma-line{fill:none;stroke-width:1.4}.daily-chart .ma-5{stroke:#d97706}.daily-chart .ma-10{stroke:#2563eb}.daily-chart .ma-20{stroke:#9333ea}.daily-chart .volume-axis{stroke:#cfd6e1}.daily-chart .volume-label{fill:#667085;font-size:10px}.daily-chart .timing-marker circle{stroke:#fff;stroke-width:1.5}.daily-chart .timing-marker text{fill:#fff;font-size:9px;font-weight:800}.daily-chart .timing-marker.buy circle{fill:#d92d20}.daily-chart .timing-marker.take-profit circle{fill:#d97706}.daily-chart .timing-marker.sell circle{fill:#16836b}.daily-chart .timing-marker.live circle{stroke:#101828;stroke-dasharray:2 2;stroke-width:2}.daily-chart .candle-up{color:#d92d20}.daily-chart .candle-down{color:#16836b}.daily-chart text{fill:#667085;font-size:11px}.daily-chart-state{display:grid;min-height:210px;place-items:center;border:1px solid #dce3ee;color:#667085;font-size:13px;background:#fbfcfe}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.detail-grid article{padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.detail-grid span{display:block;color:var(--muted);font-size:12px}.detail-grid strong{display:block;margin-top:6px;color:var(--ink);font-size:20px}.detail-section{margin-top:18px}.signal-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.signal-list span{padding:6px 8px;border-radius:6px;color:#8a94a6;background:#eef2f6;font-size:12px;font-weight:700}.signal-list span.pass{color:#9f1d16;background:#fee4e2}.order-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.order-summary article{padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.order-summary span{display:block;color:var(--muted);font-size:12px}.order-summary strong{display:block;margin-top:5px;color:var(--ink);font-size:16px}.order-book{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.order-book>div{overflow:hidden;border:1px solid var(--border);border-radius:8px}.order-book header{padding:8px 10px;color:var(--muted);background:#f8fafc;font-size:12px;font-weight:800}.order-book p{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:7px 10px;border-top:1px solid var(--border);font-size:12px}.order-book span{color:var(--muted)}.order-book strong{color:var(--red)}.order-book>div:first-child strong{color:var(--green)}.order-book small{justify-self:end}.fact-list{display:grid;gap:10px;margin:10px 0 0}.fact-list div{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--border)}.fact-list dt{color:var(--muted);font-size:12px}.fact-list dd{margin:0;color:var(--text);font-size:13px;font-weight:700}.detail-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;margin-top:20px;border:1px solid rgba(217,45,32,.35);border-radius:8px;color:var(--red);background:#fff1f0;font-weight:800}.detail-action.active svg{fill:currentColor}@media(max-width:1180px){.workspace{grid-template-columns:260px 1fr}.main-board{min-width:0}.insights{grid-column:2 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.recommend-board .panel-heading{align-items:flex-start;flex-direction:column}.recommend-heading-actions{width:100%;justify-content:space-between}.regime-status{max-width:none;text-align:left}.recommend-list{grid-template-columns:1fr}.recommend-item:nth-child(odd){border-right:0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:240px minmax(0,1fr)}.insights{grid-template-columns:1fr}}@media(max-width:820px){.recommend-board{margin:0 0 12px}.recommend-item{grid-template-columns:28px minmax(100px,1fr) 76px 72px 44px;gap:6px}.recommend-footer{grid-column:2 / -1;align-items:flex-start;flex-direction:column;gap:5px}.recommend-footer{max-width:100%;overflow:hidden}.recommend-footer>span{width:100%;max-width:100%}.comparison-gap{width:100%;flex-basis:auto}.daily-candle-readout{gap:7px 10px;flex-wrap:wrap}.ma-legend{position:static;gap:7px;padding:8px;border:1px solid #dce3ee;border-bottom:0;flex-wrap:wrap}.terminal{padding:14px}.topbar,.workspace,.insights{grid-template-columns:1fr}.filters,.main-board,.insights{grid-column:1;min-width:0}.topbar,.market-head{display:grid}.market-head>span{justify-self:start}.index-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading{align-items:flex-start;flex-direction:column}.sort-menu{width:100%;justify-content:space-between}.sort-menu select{width:100%}.filters{position:static;width:100%;max-height:none;overflow:hidden;padding:12px 14px}.filter-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-mobile-head .panel-title{margin-bottom:0}.filter-expand-button{display:inline-grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--surface-strong)}.filter-mobile-body{display:none;padding-top:14px}.filters.mobile-expanded .filter-mobile-body{display:block}h1{font-size:28px}.detail-backdrop{align-items:flex-end}.detail-drawer{width:100%;height:min(86vh,720px);padding:20px 16px;border-top:1px solid var(--border);border-left:0;border-radius:8px 8px 0 0}.detail-grid{grid-template-columns:1fr}.daily-chart{min-height:300px}.order-summary,.order-book{grid-template-columns:1fr}}@media(max-width:560px){.metrics-grid,.index-grid{grid-template-columns:1fr}.recommend-item{grid-template-columns:26px minmax(0,1fr) 72px;align-items:start;padding:11px 8px}.recommend-rank{grid-column:1;grid-row:1 / span 2}.recommend-name{grid-column:2;grid-row:1}.potential-score{grid-column:3;grid-row:1}.recommend-change{grid-column:2;grid-row:2}.recommend-item>div:nth-child(4){grid-column:3;grid-row:2}.recommend-footer{grid-column:2 / -1;grid-row:3}.table-head{display:none}.stock-table{overflow-x:hidden}.stock-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;padding:12px}.stock-row .stock-name{grid-column:1;grid-row:1}.stock-row>div:nth-child(2){grid-column:2;grid-row:1;justify-items:end}.stock-row .badges{grid-column:1 / -1;grid-row:2}.stock-row .flow{grid-column:1;grid-row:3}.stock-row .spark{grid-column:2;grid-row:3;justify-self:end}.recommend-heading-actions{align-items:flex-start}.detail-drawer{overscroll-behavior:contain}}
