.stockWatch-view{height:100%;display:flex;flex-direction:column;min-height:0}.stockWatch-body{flex:1;min-height:0;display:flex;flex-direction:column}.stockWatch-inner{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.stockWatch-quote-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.stockWatch-quote-table{border-collapse:collapse;font-size:11px;table-layout:fixed;min-width:auto}.stockWatch-quote-table th{text-align:right;padding:5px 2px;font-weight:500;color:var(--muted-foreground);border-bottom:1px solid var(--border);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stockWatch-quote-table th.stockWatch-sortable{cursor:pointer;user-select:none}.stockWatch-quote-table th.stockWatch-sortable:hover{color:var(--foreground)}.stockWatch-quote-table td{text-align:right;padding:5px 3px;border-bottom:1px solid var(--border)}.stockWatch-quote-table th.col-symbol,.stockWatch-quote-table td:first-child{position:sticky;left:0;z-index:1;background:var(--background);text-align:left}.stockWatch-quote-table th.col-symbol:after,.stockWatch-quote-table td:first-child:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--border)}.stockWatch-quote-table thead th.col-symbol{z-index:2}.stockWatch-quote-row:hover td:first-child{background:var(--accent)}.stockWatch-quote-table .col-symbol{width:110px;min-width:110px}.stockWatch-quote-table .col-price{width:56px}.stockWatch-quote-table .col-change{width:50px}.stockWatch-quote-table .col-pct{width:52px}.stockWatch-quote-table .col-open,.stockWatch-quote-table .col-high,.stockWatch-quote-table .col-low{width:46px}.stockWatch-quote-table .col-volume{width:56px}.stockWatch-quote-table .col-eps{width:52px}.stockWatch-quote-table .col-pe{width:44px}.stockWatch-quote-table .col-div{width:56px}.stockWatch-quote-table .col-growth{width:44px}.stockWatch-quote-table .col-delete{width:36px;min-width:36px}.stockWatch-quote-table .stockWatch-name{font-weight:500;color:var(--foreground);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stockWatch-quote-table .stockWatch-symbol{font-size:10px;color:var(--muted-foreground)}.stockWatch-quote-table .stockWatch-volume-date{font-size:9px;color:var(--muted-foreground);margin-top:1px}.stockWatch-eps-loading{font-size:9px;color:var(--muted-foreground);font-style:italic}.stockWatch-growth-cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.stockWatch-growth-tag{display:inline-block;padding:0 3px;border-radius:3px;font-size:9px;font-weight:600;line-height:1.4}.stockWatch-growth-turnaround{background:#ef44441f;color:#dc2626}.stockWatch-growth-turnloss{background:#22c55e1f;color:#16a34a}.stockWatch-up{color:#ef4444}.stockWatch-down{color:#22c55e}.stockWatch-flat{color:var(--muted-foreground)}.stockWatch-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--muted-foreground);text-align:center;gap:12px}.stockWatch-rank-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.stockWatch-rank-table th{text-align:right;padding:5px 3px;font-weight:500;color:var(--muted-foreground);border-bottom:1px solid var(--border);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stockWatch-rank-table th:first-child,.stockWatch-rank-table td:first-child{text-align:center;width:40px}.stockWatch-rank-table th:nth-child(2),.stockWatch-rank-table td:nth-child(2){text-align:left}.stockWatch-rank-table th:nth-child(6),.stockWatch-rank-table td:nth-child(6){text-align:center;width:56px}.stockWatch-rank-table td{text-align:right;padding:5px 3px;border-bottom:1px solid var(--border)}.stockWatch-rank-num{font-weight:700;font-size:15px}.stockWatch-rank-1{color:#ef4444}.stockWatch-rank-2{color:#f97316}.stockWatch-rank-3{color:#eab308}.stockWatch-chart-selector-row{display:flex;gap:6px}.stockWatch-chart-stock-select{flex:1;min-width:0}.stockWatch-chart-period-select{width:90px;flex-shrink:0}.stockWatch-chart-tab-content{display:flex;flex-direction:column;flex:1;min-height:0}.stockWatch-chart-container{padding:6px 8px;flex:1;min-height:0;display:flex;flex-direction:column}.stockWatch-chart-canvas-wrap{position:relative;width:100%;flex:3;min-height:180px}.stockWatch-chart-canvas{width:100%;height:100%;border-radius:8px;background:var(--card);border:1px solid var(--border);touch-action:none;display:block}.stockWatch-chart-overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;pointer-events:none;z-index:10}.stockWatch-indicator-wrap{position:relative;flex:1;min-height:70px;margin-top:4px}.stockWatch-indicator-canvas{width:100%;height:100%;display:block;border-radius:8px;background:var(--card);border:1px solid var(--border);touch-action:none}.stockWatch-indicator-overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;pointer-events:none;z-index:10}.stockWatch-chart-legend{display:flex;gap:12px;padding:4px 12px 0;flex-wrap:wrap;align-items:center}.stockWatch-chart-ma-badge{display:inline-block;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-left:4px}.stockWatch-ma-bullish{background:#ef44441f;color:#ef4444}.stockWatch-ma-bearish{background:#22c55e1f;color:#22c55e}.stockWatch-ma-golden_cross{background:#ef44441f;color:#ef4444}.stockWatch-ma-death_cross{background:#22c55e1f;color:#22c55e}.stockWatch-ma-consolidation{background:#f59e0b1f;color:#d97706}.stockWatch-ma-unclear{background:#6b72801f;color:#6b7280}.stockWatch-legend-item{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted-foreground)}.stockWatch-legend-dot{display:inline-block;width:10px;height:3px;border-radius:2px}.stockWatch-chart-zoom-controls{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 0}.stockWatch-chart-zoom-label{font-size:11px;color:var(--muted-foreground)}.stockWatch-bb-indicator{margin:8px 12px;padding:10px 12px;border-radius:8px;background:var(--accent);border:1px solid var(--border)}.stockWatch-bb-label{font-weight:600;font-size:13px;margin-bottom:4px}.stockWatch-bb-desc{font-size:12px;color:var(--muted-foreground);line-height:1.4}.stockWatch-add-form{display:flex;flex-direction:column;gap:12px}.stockWatch-add-hint{font-size:12px;color:var(--muted-foreground)}.stockWatch-add-error{font-size:12px;color:var(--destructive)}.stockWatch-loading{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--muted-foreground)}.stockWatch-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--destructive);gap:8px;text-align:center}.stockWatch-refresh{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:11px;color:var(--muted-foreground)}.stockWatch-fallback-price{color:var(--muted-foreground);font-style:italic;font-size:10px}.stockWatch-no-trade{color:var(--muted-foreground)!important;font-size:10px}.stockWatch-bb-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;background:var(--accent);color:var(--foreground)}.stockWatch-bb-loading,.stockWatch-bb-na{color:var(--muted-foreground);font-size:11px}.stockWatch-quote-row,.stockWatch-clickable-row{cursor:pointer;transition:background .15s}.stockWatch-quote-row:hover,.stockWatch-clickable-row:hover{background:var(--accent)}.stockWatch-signal-table{width:100%;border-collapse:collapse;font-size:11px}.stockWatch-signal-table th{text-align:center;padding:5px 3px;font-weight:500;color:var(--muted-foreground);border-bottom:1px solid var(--border);font-size:10px;white-space:nowrap}.stockWatch-signal-table th.stockWatch-signal-sortable{cursor:pointer;user-select:none;transition:color .15s}.stockWatch-signal-table th.stockWatch-signal-sortable:hover{color:var(--foreground)}.stockWatch-signal-table th:first-child{text-align:left}.stockWatch-signal-table td{text-align:center;padding:5px 3px;border-bottom:1px solid var(--border)}.stockWatch-signal-table td:first-child{text-align:left}.stockWatch-signal-period{display:block;font-weight:400;font-size:9px;color:var(--muted-foreground);margin-left:0}.stockWatch-signal-subheader th{font-weight:400;font-size:10px;color:var(--muted-foreground);padding:2px 8px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}.stockWatch-signal-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;min-width:28px;text-align:center}.stockWatch-signal-buy{background:#ef444426;color:#dc2626}.stockWatch-signal-buy-consider{background:#ef444414;color:#ef4444}.stockWatch-signal-sell{background:#22c55e26;color:#16a34a}.stockWatch-signal-sell-consider{background:#22c55e14;color:#22c55e}.stockWatch-signal-none{background:var(--accent);color:var(--muted-foreground)}.stockWatch-signal-ma{font-size:10px;font-weight:600;white-space:nowrap}.stockWatch-signal-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.stockWatch-signal-weeks{font-size:9px;color:var(--muted-foreground);white-space:nowrap}.stockWatch-signal-legend{display:flex;align-items:center;gap:6px;padding:12px;flex-wrap:wrap}.stockWatch-signal-legend-text{font-size:11px;color:var(--muted-foreground);margin-right:12px}.stockWatch-signal-note{padding:0 12px 10px;font-size:11px;color:var(--muted-foreground);line-height:1.5}.stockWatch-quote-table{min-width:auto;font-size:11px}.stockWatch-chart-canvas-wrap{flex:3;min-height:160px}.stockWatch-chart-selector{padding:8px 8px 0}.stockWatch-chart-selector-row{gap:6px}.stockWatch-chart-container{padding:6px 8px}.stockWatch-chart-legend{padding:2px 8px 0;gap:8px}.stockWatch-legend-item{font-size:10px}.stockWatch-bb-indicator{margin:6px 8px;padding:8px 10px}.stockWatch-bb-label{font-size:12px}.stockWatch-bb-desc{font-size:11px}.stockWatch-chart-zoom-controls{padding:4px 8px 0}.stockWatch-chart-zoom-label{font-size:10px}.stockWatch-tabs{padding:0 6px}.stockWatch-refresh{padding:4px 8px;font-size:10px}.stockWatch-signal-table{font-size:10px}.stockWatch-signal-table th{font-size:9px;padding:4px 2px}.stockWatch-signal-table td{padding:4px 2px}.stockWatch-signal-tag{font-size:9px;padding:1px 4px}.stockWatch-signal-period,.stockWatch-signal-weeks{font-size:8px}.stockWatch-signal-legend{padding:8px}.stockWatch-signal-note{padding:0 8px 8px;font-size:10px}.stockWatch-signal-changed{box-shadow:0 0 0 2px #f59e0b99;animation:stockWatch-signal-pulse 2s ease-in-out infinite}@keyframes stockWatch-signal-pulse{0%,to{box-shadow:0 0 0 2px #f59e0b80}50%{box-shadow:0 0 0 2px #f59e0be6,0 0 6px #f59e0b59}}.stockWatch-signal-delta{font-size:7px;color:#f59e0b;margin-left:1px;vertical-align:super;line-height:1}.stockWatch-signal-changed-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-left:4px;vertical-align:middle;animation:stockWatch-dot-pulse 1.5s ease-in-out infinite}@keyframes stockWatch-dot-pulse{0%,to{opacity:.4}50%{opacity:1}}.stockWatch-rank-table{font-size:11px}.stockWatch-empty{padding:36px 16px}.stockWatch-no-quote{font-size:10px;color:#9ca3af;margin-top:2px}.stockWatch-no-data{color:#9ca3af}
