:root,[data-theme=warm]{--bg-color: #F5F0E6;--card-bg: #FFFFFF;--text-color: #333333;--text-secondary: #666666;--border-color: #E8E0D5;--up-color: #E74C3C;--down-color: #27AE60;--flat-color: #999999;--accent-color: #E67E22;--btn-bg: #E67E22;--btn-hover: #D35400;--danger-color: #C0392B;--success-color: #27AE60;--hover-bg: #FAF6EE}[data-theme=light]{--bg-color: #F8F8F8;--card-bg: #FFFFFF;--text-color: #333333;--text-secondary: #666666;--border-color: #E0E0E0;--up-color: #E74C3C;--down-color: #27AE60;--flat-color: #95A5A6;--accent-color: #3498DB;--btn-bg: #3498DB;--btn-hover: #2980B9;--danger-color: #C0392B;--success-color: #27AE60;--hover-bg: #F1F5F9}[data-theme=dark]{--bg-color: #1E1E2E;--card-bg: #2A2A3E;--text-color: #E8E8E8;--text-secondary: #B0B0B0;--border-color: #3A3A4E;--up-color: #FF4757;--down-color: #2ED573;--flat-color: #95A5A6;--accent-color: #5B9BD5;--btn-bg: #5B9BD5;--btn-hover: #4A8AC4;--danger-color: #E74C3C;--success-color: #2ED573;--hover-bg: #34344A}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,-apple-system,sans-serif;background:var(--bg-color);color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;transition:background .3s,color .3s}#app{width:100%;flex:1 0 auto;max-width:1200px;margin:0 auto}.app-version{width:100%;max-width:1200px;margin:18px auto 0;padding-top:10px;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;line-height:1.5;text-align:center}button,select,input,textarea{font-family:inherit;color:var(--text-color)}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:12px}.app-header h1{font-size:22px;font-weight:600}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.refresh-label{font-size:14px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px}#refresh-select{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-size:14px;cursor:pointer}#theme-toggle{background:var(--card-bg);border:1px solid var(--border-color);font-size:14px;cursor:pointer;padding:6px 12px;border-radius:6px;transition:background .2s,border-color .2s}#theme-toggle:hover{background:var(--hover-bg)}.toolbar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:16px}.add-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.search-input-wrap{position:relative;flex:1;display:flex}#code-input{width:100%;flex:1;height:38px;padding:0 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);font-size:14px}#code-input:focus{outline:none;border-color:var(--accent-color)}.suggest-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:120;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000040;max-height:360px;overflow-y:auto}.suggest-list{list-style:none;margin:0;padding:4px 0}.suggest-item{display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:38px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .12s;-webkit-user-select:none;user-select:none}.suggest-item:last-child{border-bottom:none}.suggest-item:hover,.suggest-item.is-preselected{background:var(--hover-bg)}.suggest-item.is-active{background:var(--hover-bg);outline:2px solid var(--accent-color);outline-offset:-2px}.suggest-item.is-disabled{opacity:.55;cursor:not-allowed}.suggest-code{font-family:monospace;font-weight:600;font-size:13px;min-width:76px;color:var(--accent-color)}.suggest-name{font-weight:500;font-size:14px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-board-badge{font-size:11px;padding:1px 6px;border-radius:4px;background:#80808026;color:var(--text-secondary);white-space:nowrap}.suggest-status-badge{font-size:11px;padding:1px 6px;border-radius:4px;background:#e74c3c33;color:var(--up-color);font-weight:600;white-space:nowrap}.suggest-former-name{font-size:12px;color:var(--text-secondary);font-style:italic;margin-left:auto;white-space:nowrap}.suggest-added-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#80808033;color:var(--text-secondary);margin-left:auto;white-space:nowrap}.suggest-state-row,.suggest-footer-row,.suggest-status-notice,.suggest-as-of-date{padding:8px 12px;font-size:12px;color:var(--text-secondary);text-align:center}.suggest-footer-row,.suggest-as-of-date{border-top:1px dashed var(--border-color);background:var(--hover-bg)}.suggest-status-notice{color:var(--accent-color);border-top:1px solid var(--border-color);background:var(--hover-bg)}.suggest-match-highlight{background:transparent;color:var(--accent-color);font-weight:600;text-decoration:underline}.btn-suggest-retry{margin-left:8px;padding:2px 8px;font-size:12px;border-radius:4px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--accent-color);cursor:pointer}.add-actions{display:flex;flex-direction:row;gap:8px;flex-shrink:0}.list-actions{display:flex;gap:8px;flex-wrap:wrap}.voice-bar,.alert-bar,.ctl-bar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.ctl-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ctl-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-color)}.ctl-inline-label{color:var(--text-secondary);font-size:13px}.ctl-inline select{background:var(--bg-color);border:1px solid var(--border-color);border-radius:5px;padding:4px 8px;font-size:13px;color:var(--text-color)}.ctl-inline input[type=number],.ctl-inline input[type=text]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:5px;padding:4px 8px;font-size:13px;color:var(--text-color);width:64px;font-family:Roboto Mono,Consolas,monospace;text-align:right}.ctl-inline input[type=text]:focus,.ctl-inline input[type=number]:focus{outline:none;border-color:var(--accent-color)}.ctl-volume-wrap{flex:1;min-width:200px;max-width:320px}.ctl-volume-wrap input[type=range]{flex:1;min-width:80px;accent-color:var(--accent-color)}.ctl-volume-wrap .volume-label{min-width:40px;text-align:right;font-family:Roboto Mono,Consolas,monospace;color:var(--text-secondary);font-size:13px}.ctl-hint{margin-left:auto;font-size:12px;color:var(--text-secondary);font-family:Roboto Mono,Consolas,monospace}.ctl-push-right{margin-left:auto}.btn-ctl-toggle,.btn-ctl-active{font-size:15px;font-weight:600;padding:10px 20px;border-radius:8px;cursor:pointer;border:2px solid var(--btn-bg);transition:background .15s,border-color .15s,transform .05s;min-width:200px}.btn-ctl-toggle{background:var(--btn-bg);color:#fff}.btn-ctl-toggle:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.btn-ctl-active{background:var(--danger-color);color:#fff;border-color:var(--danger-color);animation:ctl-pulse 2s ease-in-out infinite}.btn-ctl-active:hover{opacity:.92}.btn-ctl-toggle:disabled,.btn-ctl-active:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes ctl-pulse{0%,to{box-shadow:0 0 #e74c3c66}50%{box-shadow:0 0 0 6px #e74c3c00}}.field-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-color);font-size:13px;cursor:default;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.field-toggle:hover{border-color:var(--accent-color)}.field-toggle.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.field-toggle-inner{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.field-toggle-inner input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent-color);cursor:pointer}.field-toggle.active .field-toggle-inner input[type=checkbox]{accent-color:#fff}.field-order{display:inline-flex;flex-direction:column;gap:0;border-left:1px solid var(--border-color);padding-left:4px;margin-left:2px}.field-toggle.active .field-order{border-left-color:#fff6}.field-move{background:transparent;border:none;color:var(--text-secondary);font-size:9px;line-height:1;padding:1px 4px;cursor:pointer;font-family:inherit}.field-move:hover{color:var(--accent-color)}.field-toggle.active .field-move{color:#ffffffe6}.field-toggle.active .field-move:hover{color:#fff}.field-move:disabled{opacity:.3;cursor:not-allowed}.schedule-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);font-size:13px;color:var(--text-color)}.schedule-toggle input{accent-color:var(--accent-color)}.schedule-toggle.active{border-color:var(--accent-color)}.schedule-toggle:has(input:disabled){opacity:.55}.ctl-row .perm-label{font-family:Roboto Mono,Consolas,monospace;color:var(--text-secondary);font-size:13px}button{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s,transform .05s}button:hover{background:var(--hover-bg)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--btn-bg);color:#fff;border-color:var(--btn-bg)}.btn-primary:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.btn-danger{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.btn-danger:hover{opacity:.9}.btn-link{background:transparent;border:none;color:var(--accent-color);padding:4px 8px}.btn-link:hover{background:var(--hover-bg)}.table-wrap{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px}.empty{padding:48px 24px;text-align:center;color:var(--text-secondary);font-size:14px}.watch-table{width:100%;border-collapse:collapse;font-size:14px}.watch-table thead{background:var(--bg-color)}.watch-table th,.watch-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.watch-table th{font-weight:600;color:var(--text-secondary);font-size:13px}.watch-table tbody tr:hover{background:var(--hover-bg);cursor:pointer}.watch-table tbody tr.active{background:var(--hover-bg);box-shadow:inset 3px 0 0 var(--accent-color);font-weight:600}.watch-table tbody tr.stale td.num,.watch-table tbody tr.stale td.name,.watch-table tbody tr.stale td.code{opacity:.55;font-style:italic}.watch-table tbody tr.stale td[data-field=price]:after{content:" ⏳";font-style:normal;opacity:.8}.watch-table tbody tr.chart-row{cursor:default}.watch-table tbody tr.chart-row:hover{background:transparent}.watch-table tbody tr.chart-row td.chart-td{padding:12px 16px 16px;background:var(--card-bg);border-bottom:2px solid var(--accent-color)}.chart-inline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;gap:12px;flex-wrap:wrap}.chart-inline-header>strong{font-weight:600}.chart-inline-code{color:var(--text-secondary);margin-left:8px;font-family:Roboto Mono,Consolas,monospace;font-size:12px}.watch-table tbody tr.chart-row .chart-host{width:100%;min-height:320px}.chart-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}.chart-pane{min-width:0}.chart-pane-title{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.intraday-legend:before{content:"";display:inline-block;width:14px;height:2px;margin-right:4px;vertical-align:middle;background:currentColor}.intraday-legend-price{color:#2980b9}.intraday-legend-average{color:#f39c12}.intraday-chart-host,.lu-intraday-chart-host{position:relative;width:100%;height:360px;min-height:320px;background:var(--card-bg);border-radius:6px;overflow:hidden}.watch-table tbody tr.chart-row .chart-host,.lu-chart-host{position:relative;height:360px;min-height:320px}.chart-crosshair-detail{margin:0 0 4px;height:34px;overflow:hidden;color:var(--text-color);background:color-mix(in srgb,var(--card-bg) 88%,transparent);border-radius:3px;padding:0 5px;font:11px/17px Roboto Mono,Consolas,monospace}.chart-crosshair-detail .legend-line{display:block;height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-table tbody tr.chart-row .period-tabs{margin:0}.watch-table tbody tr:last-child td{border-bottom:none}.watch-table .num{text-align:right;font-family:Roboto Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.watch-table .col-check{width:32px;text-align:center}.watch-table .col-sub{width:64px;text-align:center}.watch-table .col-sub input[type=checkbox]{accent-color:var(--accent-color);cursor:pointer;width:16px;height:16px}.watch-table thead .col-sub{font-size:13px;white-space:nowrap;color:var(--accent-color)}.watch-table thead .col-check{font-size:14px;color:var(--text-secondary)}.watch-table .col-op{text-align:center;width:70px}.watch-table .code{font-family:Roboto Mono,Consolas,monospace;color:var(--text-secondary)}.watch-table .up{color:var(--up-color)}.watch-table .down{color:var(--down-color)}.watch-table .flat{color:var(--flat-color)}.pin-btn{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);border-radius:4px;padding:.2rem .45rem;cursor:pointer;font-size:.82rem;white-space:nowrap}.pin-btn:hover{background:var(--hover-bg);color:var(--text-color)}.pin-btn.active{border-color:var(--accent-color);color:#fff;background:var(--accent-color)}.momentum-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-bottom:12px}.momentum-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--bg-color);border-bottom:1px solid var(--border-color)}.momentum-title{font-weight:600}.momentum-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.momentum-status{color:var(--text-secondary);font-size:13px}.momentum-empty{padding:18px 12px;color:var(--text-secondary);font-size:14px}.momentum-table{width:100%;border-collapse:collapse;font-size:14px}.momentum-table th,.momentum-table td{padding:9px 12px;border-bottom:1px solid var(--border-color);text-align:left}.momentum-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-color)}.momentum-table .num{text-align:right;font-family:Roboto Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.momentum-table .col-check,.momentum-table .col-sub{width:48px;text-align:center}.momentum-table input[type=checkbox]{accent-color:var(--accent-color);cursor:pointer;width:16px;height:16px}.momentum-table .code{font-family:Roboto Mono,Consolas,monospace;color:var(--text-secondary)}.momentum-table .up{color:var(--up-color)}.momentum-table .down{color:var(--down-color)}.momentum-table .flat{color:var(--flat-color)}.momentum-gain-cell{vertical-align:middle}.momentum-gain-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.momentum-gain-main{font-weight:600;font-family:Roboto Mono,Consolas,monospace}.momentum-gain-main.up{color:var(--up-color)}.momentum-gain-main.down{color:var(--down-color)}.momentum-gain-main.flat{color:var(--flat-color)}.momentum-gain-sub{font-size:11px;font-weight:400;color:var(--text-secondary);background:var(--hover-bg);padding:1px 4px;border-radius:3px;white-space:nowrap;letter-spacing:-.2px}.momentum-table tr.momentum-pinned{background:var(--hover-bg)}.momentum-table tbody tr:hover{background:var(--hover-bg);cursor:pointer}.momentum-table tbody tr.active{background:var(--hover-bg);box-shadow:inset 3px 0 0 var(--accent-color);font-weight:600}.momentum-table tbody tr.momentum-chart-row{cursor:default}.momentum-table tbody tr.momentum-chart-row:hover{background:transparent}.momentum-table tbody tr.momentum-chart-row td.chart-td{padding:12px 16px 16px;background:var(--card-bg);border-bottom:2px solid var(--accent-color)}.chart-host.momentum-chart-host{position:relative;width:100%;height:340px;min-height:300px;background:var(--card-bg);border-radius:6px;overflow:hidden}.momentum-industry,.momentum-reason{max-width:220px;word-break:break-word}.status-bar{font-size:13px;color:var(--text-secondary);padding:8px 4px;text-align:right}.chart-panel{display:none;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px 16px;margin-bottom:16px}.chart-panel.open{display:block}.chart-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.chart-title{display:inline-flex;align-items:baseline;gap:8px;font-size:15px;margin-right:auto}.chart-title strong{font-weight:600}.chart-title-code{font-family:Roboto Mono,Consolas,monospace;font-size:13px;color:var(--text-secondary)}.period-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--bg-color);padding:4px;border-radius:8px;border:1px solid var(--border-color)}.period-tab{background:transparent;border:none;padding:4px 10px;font-size:13px;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.period-tab:hover{background:var(--card-bg);color:var(--text-color)}.period-tab.active{background:var(--accent-color);color:#fff}.period-tab.active:hover{background:var(--accent-color);color:#fff;opacity:.92}.chart-close{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;border-radius:6px;font-size:13px}.chart-close:hover{background:var(--hover-bg);color:var(--text-color)}.chart-status{font-size:12px;color:var(--text-secondary);min-height:18px;margin-bottom:6px}.chart-status.has-error{color:var(--danger-color)}#table-wrap,.lu-group-section,.momentum-section{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-host,.lu-chart-host{position:relative;width:100%;height:400px;min-height:360px;background:var(--card-bg);border-radius:6px;overflow:hidden}@media (max-width: 768px){.chart-host,.intraday-chart-host,.lu-chart-host,.lu-intraday-chart-host,.momentum-chart-host{height:300px;min-height:260px}.chart-split{grid-template-columns:1fr}.chart-header{gap:8px}.chart-title{font-size:13px}.period-tab{padding:3px 6px;font-size:12px}}@media (max-width: 768px){body{padding:10px}.add-row{flex-direction:column;align-items:stretch}.search-input-wrap{width:100%}.suggest-dropdown{max-height:280px}.suggest-item{min-height:44px;padding:10px 12px}.add-actions{flex-direction:row}.add-actions button{flex:1}.watch-table{font-size:13px}.watch-table th,.watch-table td{padding:8px 6px}.watch-table th:nth-child(7),.watch-table td:nth-child(7),.watch-table th:nth-child(8),.watch-table td:nth-child(8),.watch-table th:nth-child(9),.watch-table td:nth-child(9){display:none}.watch-table th.col-op,.watch-table td.col-op{display:table-cell}.app-header h1{font-size:18px}.voice-bar,.alert-bar,.ctl-bar{padding:10px 12px}.ctl-row{gap:8px}.btn-ctl-toggle,.btn-ctl-active{flex:1 1 100%;min-width:0;font-size:14px;padding:10px}.ctl-volume-wrap{flex:1 1 100%;max-width:none}.ctl-hint{margin-left:0;flex:1 1 100%}}.app-nav{display:inline-flex;gap:.5rem;margin-right:auto;align-items:center}.app-nav .nav-link{padding:.4rem .9rem;border-radius:6px;color:var(--text-color);text-decoration:none;font-size:.95rem;border:1px solid transparent;transition:background .15s,border-color .15s}.app-nav .nav-link:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.app-nav .nav-link.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.lu-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);margin-bottom:.75rem}.lu-toolbar-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.lu-inline{display:inline-flex;align-items:center;gap:.4rem}.lu-inline-label{color:var(--text-secondary);font-size:.9rem}.lu-hint{color:var(--text-secondary);font-size:.9rem;margin-left:auto}.lu-date-wrap{display:inline-flex;align-items:center;gap:.3rem}.lu-date-input{padding:.25rem .4rem;border:1px solid var(--border-color);border-radius:4px;background:var(--card-bg);color:var(--text-color);font:inherit}.lu-date-today{padding:.25rem .5rem;font-size:.85rem;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);border-radius:4px;cursor:pointer}.lu-date-today:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.lu-date-shift{padding:.25rem .5rem;font-size:.85rem;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);border-radius:4px;cursor:pointer}.lu-date-shift:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.lu-date-shift:disabled{opacity:.4;cursor:not-allowed}.lu-groups{display:flex;flex-direction:column;gap:.75rem}.lu-group{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.lu-group-body{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.lu-group-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--hover-bg, rgba(0, 0, 0, .03));border-bottom:1px solid var(--border-color);font-weight:600}.lu-group-title{font-size:1rem}.lu-group-count{color:var(--text-secondary);font-size:.9rem;font-weight:400}.lu-table{width:100%;border-collapse:collapse;font-size:.9rem}.lu-table th,.lu-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--border-color)}.lu-table th{color:var(--text-secondary);font-weight:500;background:var(--hover-bg, rgba(0, 0, 0, .02))}.lu-table th.lu-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.lu-table th.lu-sortable:hover,.lu-table th.lu-sortable.active{color:var(--accent-color)}.lu-table td.num,.lu-table th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:Roboto Mono,Consolas,monospace}.lu-table tbody tr{cursor:pointer;transition:background .1s}.lu-table tbody tr:hover{background:var(--hover-bg)}.lu-pct.up{color:var(--up-color);font-weight:600}.lu-pct.down{color:var(--down-color);font-weight:600}.lu-pct.flat{color:var(--flat-color)}.lu-st-badge{display:inline-block;background:var(--danger-color);color:#fff;font-size:.7rem;padding:0 .4rem;margin-left:.3rem;border-radius:3px;vertical-align:middle;font-weight:600}@media (max-width: 768px){.lu-table{font-size:.8rem}.lu-table th,.lu-table td{padding:.35rem .4rem}.lu-toolbar-row{gap:.5rem}.lu-group-table-wrap,.momentum-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.lu-table th:nth-child(8),.lu-table td:nth-child(8),.lu-table th:nth-child(9),.lu-table td:nth-child(9),.lu-table th:nth-child(12),.lu-table td:nth-child(12),.lu-table th:nth-child(13),.lu-table td:nth-child(13){display:none}.momentum-table th:nth-child(7),.momentum-table td:nth-child(7),.momentum-table th:nth-child(8),.momentum-table td:nth-child(8){display:none}}.lu-sort-wrap{display:inline-flex;align-items:center;gap:.4rem}.lu-select-wrap{display:inline-flex;align-items:center;gap:.5rem;margin-left:.4rem}.lu-select-link{color:var(--accent-color);text-decoration:none;font-size:.9rem;cursor:pointer}.lu-select-link:hover{text-decoration:underline}.lu-sep{color:var(--text-secondary)}.lu-selected-count{color:var(--text-secondary);font-size:.9rem;font-variant-numeric:tabular-nums}.lu-table td.lu-check{text-align:center;width:32px}.lu-table td.lu-pin,.lu-table th.lu-pin{text-align:center;width:74px}.lu-table td.lu-reason,.lu-table th.lu-reason{max-width:280px;font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lu-table td.lu-reason{cursor:help}.lu-table tbody tr.lu-active{background:var(--hover-bg, rgba(0, 0, 0, .05));font-weight:600}.lu-table tbody tr.lu-active:hover{background:var(--hover-bg, rgba(0, 0, 0, .08))}.lu-table tbody tr.lu-pinned-row{box-shadow:inset 3px 0 0 var(--accent-color)}.lu-table tbody tr.lu-chart-row>td.lu-chart-td{padding:.6rem .8rem .8rem;background:var(--card-bg);border-top:2px solid var(--accent-color);border-bottom:1px solid var(--border-color)}.lu-table tbody tr.lu-chart-row{background:transparent}.lu-chart-inline-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.lu-chart-inline-title{font-size:1rem;font-weight:600;display:inline-flex;align-items:baseline;gap:.4rem;flex:1 1 auto;min-width:0}.lu-chart-inline-title strong{color:var(--text-color)}.lu-chart-inline-code{color:var(--text-secondary);font-size:.85rem;font-weight:400;font-family:Roboto Mono,Consolas,monospace}.lu-table .lu-chart-row .period-tabs{display:inline-flex;gap:.25rem}.lu-table .lu-chart-row .lu-period-tab{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:.25rem .6rem;cursor:pointer;font-size:.85rem;color:var(--text-color)}.lu-table .lu-chart-row .lu-period-tab:hover{background:var(--hover-bg)}.lu-table .lu-chart-row .lu-period-tab.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.lu-table .lu-chart-row .lu-chart-close{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:.25rem .6rem;cursor:pointer;color:var(--text-color)}.lu-table .lu-chart-row .lu-chart-close:hover{background:var(--hover-bg)}.lu-table .lu-chart-row .chart-status{color:var(--text-secondary);font-size:.85rem;margin-bottom:.4rem}.lu-table .lu-chart-row .chart-status.has-error{color:var(--danger-color)}.app-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;box-shadow:0 4px 16px #0003;display:none;animation:toast-in .25s ease-out;pointer-events:none}.app-toast-error{background:var(--up-color, #e74c3c);color:#fff}.app-toast-info{background:var(--accent-color, #3498db);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes input-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.input-shake{animation:input-shake .3s ease-in-out;border-color:var(--up-color, #e74c3c)!important}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade-in .2s ease-out}.app-modal-dialog{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:420px;box-shadow:0 10px 25px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:modal-pop-in .2s cubic-bezier(.16,1,.3,1)}.app-modal-header{padding:16px 20px 12px;border-bottom:1px solid var(--border-color)}.app-modal-title{font-size:16px;font-weight:600;color:var(--text-color);margin:0}.app-modal-body{padding:20px;font-size:14px;line-height:1.6;color:var(--text-color)}.app-modal-footer{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:12px;background:var(--hover-bg);border-top:1px solid var(--border-color)}.app-modal-btn{padding:8px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s}.app-modal-btn.btn-secondary{background:transparent;border-color:var(--border-color);color:var(--text-color)}.app-modal-btn.btn-secondary:hover{background:var(--card-bg)}.app-modal-btn.btn-primary{background:var(--btn-bg);color:#fff}.app-modal-btn.btn-primary:hover{background:var(--btn-hover)}.app-modal-btn.btn-danger{background:var(--danger-color);color:#fff}.app-modal-btn.btn-danger:hover{opacity:.9}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){body{padding:10px}.app-header{flex-direction:column;align-items:flex-start;gap:8px}.header-actions{width:100%;justify-content:space-between}.toolbar{flex-direction:column;align-items:stretch}.toolbar .input-group,.toolbar input[type=text]{width:100%}.list-actions{flex-wrap:wrap;gap:6px}.table-wrap,.momentum-table-wrap,.lu-group-body{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.watch-table th[data-field=open],.watch-table td[data-field=open],.watch-table th[data-field=volume],.watch-table td[data-field=volume],.lu-table th.lu-open,.lu-table td.lu-open,.lu-table th.lu-ratio,.lu-table td.lu-ratio,.lu-table th.lu-amount,.lu-table td.lu-amount,.momentum-table th[data-field=amount],.momentum-table td[data-field=amount],.momentum-table th[data-field=industry],.momentum-table td[data-field=industry]{display:none}.watch-table th,.watch-table td,.lu-table th,.lu-table td,.momentum-table th,.momentum-table td{padding:8px 6px;font-size:13px}}
