.chart-compare-container{position:relative;display:inline-flex;align-items:center}.chart-compare__toggle{font-size:12px;padding:4px 10px;line-height:1;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:3px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.chart-compare__toggle:hover{background:var(--color-surface-2);border-color:var(--color-accent)}.chart-compare__dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:100;width:280px;background:var(--color-bg);border:1px solid var(--color-rule);border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:10px}.chart-compare__input{width:100%;padding:6px 10px;border:1px solid var(--color-rule);border-radius:4px;font-size:13px;box-sizing:border-box;transition:border-color .15s}.chart-compare__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #2962ff26}.chart-compare__list{max-height:220px;overflow-y:auto}.chart-compare__item{width:100%;display:block;padding:6px 8px;cursor:pointer;border:none;background:none;text-align:left;font-size:13px;border-radius:3px;transition:background .15s;color:var(--color-ink)}.chart-compare__item:hover{background:var(--color-surface-2)}.chart-compare__item:disabled{color:var(--color-rule);cursor:not-allowed}.chart-compare__empty{font-size:13px;color:#888;text-align:center;padding:8px 0}.chart-compare__pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-rule)}.chart-compare__pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--color-surface-2);border-radius:12px;font-size:12px}.chart-compare__pill-color{width:8px;height:8px;border-radius:50%}.chart-compare__pill-text{font-weight:500}.chart-compare__pill-close{background:none;border:none;cursor:pointer;font-size:14px;padding:0;color:var(--color-rule);line-height:1;transition:color .15s}.chart-compare__pill-close:hover{color:var(--color-bear)}.chart-symbol-search{position:relative;display:inline-block;flex-shrink:0;min-width:120px}.chart-symbol-search__input{width:120px;padding:4px 8px;font-size:12px;line-height:1.5;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:3px;outline:none;transition:width .2s ease,border-color .15s ease;font-family:var(--type-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.chart-symbol-search__input:focus{width:200px;border-color:var(--color-accent)}.chart-symbol-search__dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:10;min-width:100%;max-width:320px;max-height:200px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:3px;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .15));margin:0;padding:0;list-style:none}.chart-symbol-search__item{display:block;width:100%;text-align:left;padding:4px 8px;font-size:12px;line-height:1.4;background:transparent;border:none;cursor:pointer;color:var(--color-ink)}.chart-symbol-search__item:hover{background:var(--color-surface-2)}.chart-symbol-search__item-symbol{font-weight:700;font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);margin-right:6px}.chart-symbol-search__name{display:inline;color:var(--color-ink-muted);font-weight:400}.chart-symbol-search__dropdown:before{content:"";position:absolute;top:100%;left:0;right:0;height:6px;pointer-events:none}.chart-symbol-search__item--empty{color:var(--color-ink-muted);font-size:12px;text-align:center;cursor:default;font-style:italic}.chart-symbol-search__item--empty:hover{background:transparent}.add-indicator-modal{position:fixed;inset:0;z-index:1000;pointer-events:none}.add-indicator-modal__backdrop{position:absolute;inset:0;background:#0000004d;cursor:pointer;pointer-events:auto}.add-indicator-modal__panel{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% + 30px));max-width:400px;max-height:60vh;background:var(--color-surface-1);border:1px solid var(--color-rule);border-radius:6px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;z-index:1;pointer-events:auto}.add-indicator-modal__search{width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--color-rule);border-radius:0;font-size:14px;background:var(--color-surface-1);color:var(--color-ink);outline:none;box-sizing:border-box}.add-indicator-modal__search::placeholder{color:var(--color-muted)}.add-indicator-modal__search:focus{border-bottom-color:var(--color-accent)}.add-indicator-modal__list{max-height:calc(60vh - 60px);overflow-y:auto;margin-top:0;padding:0;list-style:none}.add-indicator-modal__row{width:100%;background:none;border-bottom:1px solid var(--color-rule-2);box-sizing:border-box;cursor:default}.add-indicator-modal__row:last-child{border-bottom:none}.add-indicator-modal__row-content{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;gap:4px}.add-indicator-modal__row-action{display:flex;justify-content:flex-start;align-items:center;flex:1;min-width:0;padding:0;background:none;border:none;cursor:pointer;color:var(--color-ink);font-size:14px;text-align:left;transition:background .15s,border-color .15s;font-family:inherit}.add-indicator-modal__row-action:hover{background:transparent}.add-indicator-modal__info{width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-muted);font-size:13px;font-weight:600;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.add-indicator-modal__info:hover{background:var(--color-surface-2);color:var(--color-ink)}.add-indicator-modal__row:hover{background:var(--color-surface-2)}.add-indicator-modal__row--expanded .add-indicator-modal__row-action{background:transparent}.add-indicator-modal__row--expanded .add-indicator-modal__info{background:var(--color-surface-2);color:var(--color-ink)}.add-indicator-modal__row--expanded .add-indicator-modal__row-content{background:transparent}.add-indicator-modal__row--active .add-indicator-modal__row-action{background:transparent;border-left:3px solid var(--color-accent);padding-left:7px}.add-indicator-modal__label{font-weight:500}.add-indicator-modal__badge{color:var(--color-accent);font-weight:700;font-size:16px;flex-shrink:0;margin-left:8px}.add-indicator-modal__meta{border-top:1px solid var(--color-rule-2);background:var(--color-surface-2);padding:8px 12px 10px}.add-indicator-modal__meta-line{font-size:12px;line-height:1.5;color:var(--color-ink);margin-bottom:4px}.add-indicator-modal__meta-line:last-child{margin-bottom:0}.add-indicator-modal__meta-label{font-weight:600;color:var(--color-ink)}.add-indicator-modal__meta-text{color:var(--color-ink)}.add-indicator-modal__empty{color:var(--color-muted);text-align:center;padding:20px;font-size:14px}.add-indicator-modal__bundles{border-top:1px solid var(--color-rule);margin-top:4px;padding:8px 0}.add-indicator-modal__bundles-title{font-size:11px;text-transform:uppercase;color:var(--color-muted);padding:0 12px;margin-bottom:4px}.add-indicator-modal__bundle-row{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;border-radius:0;cursor:pointer;color:var(--color-ink);font-size:13px;text-align:left;transition:background .15s,border-color .15s;padding:8px 12px;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:normal;box-sizing:border-box}.add-indicator-modal__bundle-row:hover{background:var(--color-surface-2)}.add-indicator-modal__bundle-row--active{border-left:3px solid var(--color-accent);padding-left:9px}.add-indicator-modal__bundle-name{font-weight:600;display:block}.add-indicator-modal__bundle-desc{color:var(--color-muted);font-style:italic;display:block;font-size:12px;margin-top:2px}.chart-layouts-modal{position:fixed;inset:0;z-index:999;pointer-events:none}.chart-layouts-modal__backdrop{position:absolute;inset:0;background:#0000004d;cursor:pointer;pointer-events:auto}.chart-layouts-modal__panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:520px;max-height:80vh;background:var(--color-surface-1);border:1px solid var(--color-rule);border-radius:6px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;z-index:1;pointer-events:auto;overflow:hidden}.chart-layouts-modal__tabs{display:flex;border-bottom:1px solid var(--color-rule)}.chart-layouts-modal__tab{flex:1;padding:12px;background:none;border:none;border-right:1px solid var(--color-rule);font-size:14px;font-weight:500;color:var(--color-ink);cursor:pointer;transition:background .15s,color .15s}.chart-layouts-modal__tab:last-child{border-right:none}.chart-layouts-modal__tab:hover{background:var(--color-surface-2)}.chart-layouts-modal__tab--active,.chart-layouts-modal__tab--active:hover{color:var(--color-accent);background:var(--color-surface-2)}.chart-layouts-modal__content{overflow-y:auto;padding:16px}.chart-layouts-modal__form{display:flex;flex-direction:column;gap:12px}.chart-layouts-modal__input{width:100%;padding:8px 12px;border:1px solid var(--color-rule);border-radius:4px;font-size:14px;background:var(--color-surface);color:var(--color-ink);outline:none;box-sizing:border-box}.chart-layouts-modal__input:focus{border-color:var(--color-accent)}.chart-layouts-modal__input-error{border-color:var(--color-error)}.chart-layouts-modal__error-text{color:var(--color-error);font-size:12px;margin-top:-8px}.chart-layouts-modal__success-text{color:var(--color-accent);font-size:14px;text-align:center;padding:16px}.chart-layouts-modal__save-btn{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.chart-layouts-modal__save-btn:disabled{opacity:.5;cursor:not-allowed}.chart-layouts-modal__layout-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.chart-layouts-modal__layout-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:4px;gap:8px}.chart-layouts-modal__layout-info{flex:1;min-width:0}.chart-layouts-modal__layout-name{font-weight:500;font-size:14px;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-layouts-modal__layout-summary{font-size:12px;color:var(--color-muted);margin-top:2px}.chart-layouts-modal__apply-btn{padding:4px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:3px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s;flex-shrink:0}.chart-layouts-modal__apply-btn:hover{opacity:.85}.chart-layouts-modal__delete-btn{width:28px;height:28px;padding:0;background:none;border:1px solid var(--color-rule);border-radius:3px;color:var(--color-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.chart-layouts-modal__delete-btn:hover{background:var(--color-error);color:#fff;border-color:var(--color-error)}.chart-layouts-modal__empty{color:var(--color-muted);text-align:center;padding:24px 16px;font-size:14px}.chart-top-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;width:100%}.chart-top-toolbar__symbol{font-size:var(--type-xl);font-weight:var(--weight-bold);margin:0 auto 0 0}.chart-top-toolbar__ind-btn{font-size:12px;padding:4px 10px;line-height:1;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:3px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.chart-top-toolbar__ind-btn:hover{background:var(--color-surface-2);border-color:var(--color-accent)}.chart-top-toolbar__ind-btn--active,.chart-top-toolbar__ind-btn--active:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.chart-top-toolbar__ind-btn--volume{font-size:12px;padding:4px 10px;line-height:1;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:3px;cursor:pointer}.chart-top-toolbar__ind-btn--add{font-size:12px;padding:4px 10px;line-height:1;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:3px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;font-weight:600}.chart-top-toolbar__ind-btn--add:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.chart-top-toolbar__fsbtn{width:28px;height:28px;padding:0;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);border-radius:4px;cursor:pointer}.chart-top-toolbar__fsbtn:hover{background:var(--color-surface-2);border-color:var(--color-accent)}.chart-top-toolbar__segmented{display:inline-flex;border:1px solid var(--color-rule);border-radius:4px;overflow:hidden}.chart-top-toolbar__segmented-btn{padding:2px 12px;font-size:12px;line-height:1;background:var(--color-surface);color:var(--color-ink);border:none;border-right:1px solid var(--color-rule);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.chart-top-toolbar__segmented-btn:last-child{border-right:none}.chart-top-toolbar__segmented-btn:hover{background:var(--color-surface-2)}.chart-top-toolbar__segmented-btn--active,.chart-top-toolbar__segmented-btn--active:hover{background:var(--color-accent);color:#fff}@media(max-width:480px){.chart-top-toolbar__segmented{flex-wrap:wrap;width:100%}.chart-top-toolbar__segmented-btn{white-space:normal;font-size:11px}}.chart-top-toolbar__ind-group,.chart-top-toolbar__ind-btn-with-color{position:relative;display:inline-flex;align-items:center}.chart-top-toolbar__gear-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:2px;font-size:14px;line-height:1;background:transparent;color:color-mix(in srgb,var(--color-ink) 40%,transparent);border:none;border-radius:2px;cursor:pointer;transition:color .15s,background .15s;padding:0}.chart-top-toolbar__gear-btn:hover,.chart-top-toolbar__gear-btn--active{color:var(--color-accent);background:var(--color-surface-2)}.indicator-settings-panel{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:6px;box-shadow:0 4px 16px #00000026;padding:0;min-width:220px;max-width:320px;display:inline-flex;flex-direction:column}.indicator-settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--color-rule);background:var(--color-surface-1)}.indicator-settings-panel__title{font-size:12px;font-weight:600;color:var(--color-ink)}.indicator-settings-panel__close-btn{background:none;border:none;cursor:pointer;color:var(--color-ink-muted);font-size:12px;padding:0;line-height:1}.indicator-settings-panel__close-btn:hover{color:var(--color-ink)}.indicator-settings-panel__fields{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px}.indicator-settings-panel__field{display:flex;flex-direction:column;gap:2px;min-width:70px}.indicator-settings-panel__field-label{font-size:11px;color:var(--color-ink-muted)}.indicator-settings-panel__input{width:70px;font-size:13px;padding:3px 6px;border:1px solid var(--color-rule);border-radius:3px;background:var(--color-bg);color:var(--color-ink)}.indicator-settings-panel__input:focus{outline:none;border-color:var(--color-accent)}.indicator-settings-panel__actions{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-top:1px solid var(--color-rule);background:var(--color-surface-1)}.indicator-settings-panel__reset-btn{font-size:11px;color:var(--color-ink-muted);background:none;border:1px solid var(--color-rule);border-radius:3px;padding:3px 8px;cursor:pointer}.indicator-settings-panel__reset-btn:hover{color:var(--color-ink);border-color:var(--color-accent)}.indicator-settings-panel__apply-btn{font-size:12px;font-weight:600;color:#fff;background:var(--color-accent);border:none;border-radius:3px;padding:3px 12px;cursor:pointer}.indicator-settings-panel__apply-btn:hover{opacity:.9}.chart-top-toolbar__ind-btn-with-color .chart-top-toolbar__ind-btn{display:inline-flex;align-items:center;gap:4px}.chart-top-toolbar__ind-btn-colorpicker{position:absolute;top:-2px;right:-2px;width:18px;height:18px;padding:0;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s ease;pointer-events:none}.chart-top-toolbar__ind-btn-with-color:hover .chart-top-toolbar__ind-btn-colorpicker,.chart-top-toolbar__ind-btn-colorpicker:focus{opacity:1;pointer-events:auto}.chart-top-toolbar__fsbtn--shortcuts{width:26px;height:26px;padding:0;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink-muted);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.chart-top-toolbar__fsbtn--shortcuts:hover{background:var(--color-surface-2);color:var(--color-ink)}.chart-price-header{display:flex;flex-direction:row;gap:16px;align-items:center;padding:8px 12px;background-color:var(--color-surface-1, #f5f5f5);border-bottom:1px solid var(--color-rule, #e5e5e7);font-size:.875rem;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;color:var(--color-ink, #0a0a0a)}.chart-price-header .price-value{font-variant-numeric:tabular-nums;font-weight:500}.chart-price-header .price-label{font-weight:600;color:var(--color-muted, #888);min-width:14px;-webkit-user-select:none;user-select:none}.chart-price-header .bullish{color:#26a69a}.chart-price-header .bearish{color:#ef5350}.chart-price-header .price-cell{display:flex;gap:4px}.chart-price-header .indicator-cell{padding-inline-start:4px}.chart-price-header .indicator-separator{border-left:1px solid var(--color-rule, #e5e5e7);margin-inline-start:8px;padding-inline-start:12px}.chart-tool-rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;height:100%}.chart-tool-rail__btn{width:40px;height:40px;border:1px solid var(--color-rule);border-radius:var(--radius-sm, 4px);background:var(--color-surface-1, var(--color-bg));color:var(--color-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.chart-tool-rail__btn--active{background:var(--color-accent, #2962ff);color:#fff;border-color:var(--color-accent, #2962ff)}.chart-tool-rail__btn--clear{margin-top:8px;color:var(--color-bear, #ef5350)}.chart-tool-rail__btn--undo,.chart-tool-rail__btn--redo{color:var(--color-ink)}.chart-tool-rail__btn--shortcuts{color:var(--color-ink-muted);margin-top:4px}.chart-tool-rail__btn--shortcuts:hover{color:var(--color-accent);background:var(--color-surface-2)}@media(max-width:1024px){.chart-tool-rail__btn{width:36px;height:36px;font-size:14px}}.chart-tool-rail__btn--snap{scroll-snap-align:start;flex-shrink:0}.shortcuts-panel{position:fixed;bottom:56px;right:calc(var(--gutter) + 24px);background:var(--color-bg);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:0;z-index:100;box-shadow:0 4px 12px #00000014;min-width:380px;max-width:500px;overflow:auto}.shortcuts-panel__content{padding:0}.shortcuts-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;border-bottom:1px solid var(--color-rule)}.shortcuts-panel__title{font-size:14px;font-weight:600;margin:0;color:var(--color-ink)}.shortcuts-panel__close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--color-ink-muted);padding:4px;line-height:1;border-radius:4px;display:flex;align-items:center;justify-content:center}.shortcuts-panel__close:hover{background:var(--color-surface-2);color:var(--color-ink)}.shortcuts-panel__content{padding:8px 16px 16px}.shortcuts-panel__category{font-size:11px;font-weight:600;color:var(--color-ink-muted);margin-top:12px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.shortcuts-panel__category:first-child{margin-top:0}.shortcuts-panel__row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0;color:var(--color-ink)}.shortcuts-panel__row--active{color:var(--color-accent);font-weight:500}.shortcuts-panel__desc{flex:1;color:var(--color-ink)}.shortcuts-panel__category-label{color:var(--color-ink-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.shortcuts-panel__row kbd{display:inline-block;padding:1px 6px;font-size:11px;font-family:var(--font-mono, monospace);background:var(--color-surface-1, var(--color-bg));border:1px solid var(--color-rule);border-radius:4px;color:var(--color-ink);white-space:nowrap;line-height:1.5}.shortcuts-panel__row kbd+kbd{margin-left:4px}.stock-chart__empty{display:flex;align-items:center;justify-content:center;height:24rem;background-color:var(--color-surface);border-radius:var(--radius-lg)}.stock-chart__empty-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0 1.5rem;text-align:center}.stock-chart__empty-text,.stock-chart__empty-hint{color:var(--color-ink-muted);margin:0}.stock-chart__empty-link{color:var(--color-accent, var(--color-bull));text-decoration:underline}.stock-chart__container{width:100%;height:100%;border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000a;flex:1;min-height:0}.watchlist{width:100%;margin-top:8px}.watchlist__tabs{display:flex;align-items:center;gap:2px;padding:4px 0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:8px;overflow-x:auto;scrollbar-width:thin}.watchlist__tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px 6px 0 0;font-size:12px;font-weight:500;color:var(--color-ink, #374151);background:transparent;border:1px solid transparent;border-bottom:none;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.watchlist__tab:hover{background:var(--color-surface-1, #f3f4f6)}.watchlist__tab--active{background:var(--color-surface-1, #f3f4f6);border-color:var(--color-border, #e5e7eb);color:var(--color-primary, #6366f1)}.watchlist__tab-input{font-size:12px;padding:2px 6px;border:1px solid var(--color-primary, #6366f1);border-radius:3px;outline:none;width:80px}.watchlist__add-list-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:1px dashed var(--color-border, #d1d5db);background:transparent;cursor:pointer;font-size:14px;color:var(--color-ink, #9ca3af);line-height:1;flex-shrink:0;margin-left:auto;transition:border-color .15s,color .15s}.watchlist__add-list-btn:hover{border-color:var(--color-primary, #6366f1);color:var(--color-primary, #6366f1)}.watchlist__remove-list-btn{display:inline;padding:0;min-width:auto;height:16px;width:16px;font-size:10px;line-height:1;border-radius:50%;border:none;background:transparent;color:var(--color-ink, #9ca3af);cursor:pointer;opacity:.5;transition:opacity .15s}.watchlist__tab--active .watchlist__remove-list-btn,.watchlist__tab:hover .watchlist__remove-list-btn{opacity:1}.watchlist__remove-list-btn:hover{color:var(--color-bear, #ef4444);background:var(--color-surface, #fef2f2)}.watchlist__search-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;outline:none;transition:border-color .15s;margin-bottom:8px;box-sizing:border-box}.watchlist__search-input:focus{border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px #6366f11a}.watchlist__search-input::placeholder{color:var(--color-ink, #9ca3af)}.watchlist__add-btn{width:100%;padding:5px 8px;font-size:12px;border:1px dashed var(--color-primary, #6366f1);border-radius:6px;background:transparent;cursor:pointer;color:var(--color-primary, #6366f1);margin-bottom:8px;transition:background .15s}.watchlist__add-btn:hover{background:var(--color-surface-1, #f3f4f6)}.watchlist__list{display:flex;flex-direction:column;gap:2px;min-height:50px}.watchlist__row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;background:var(--color-surface, #fff);transition:opacity .15s,background .15s}.watchlist__row--dragging{opacity:.4}.watchlist__row--drag-over{border-top:2px solid var(--color-primary, #6366f1)}.watchlist__row--drag-over:last-child{border-bottom:2px solid var(--color-primary, #6366f1)}.watchlist__drag-handle{font-size:12px;color:var(--color-ink, #d1d5db);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;width:16px;text-align:center;padding:0;line-height:1}.watchlist__drag-handle:active{cursor:grabbing}.watchlist__symbol-link{font-size:13px;font-weight:600;color:var(--color-ink, #1f2937);text-decoration:none;min-width:40px}.watchlist__symbol-link:hover{color:var(--color-primary, #6366f1)}.watchlist__price{font-size:12px;color:var(--color-ink, #6b7280);text-align:right;flex:1}.watchlist__change{font-size:11px;font-weight:500;padding:1px 4px;border-radius:3px;min-width:52px;text-align:center;flex-shrink:0}.watchlist__change--bull{color:var(--color-bull, #16a34a);background:#16a34a14}.watchlist__change--bear{color:var(--color-bear, #dc2626);background:#dc262614}.watchlist__remove-btn{font-size:14px;padding:0;min-width:20px;height:20px;line-height:1;border:none;background:transparent;color:var(--color-ink, #9ca3af);cursor:pointer;flex-shrink:0;transition:color .15s}.watchlist__remove-btn:hover{color:var(--color-bear, #ef4444)}.watchlist__empty{padding:16px 8px;text-align:center;font-size:13px;color:var(--color-ink, #9ca3af)}.watchlist__row:focus-visible{outline:2px solid var(--color-primary, #6366f1);outline-offset:-2px}.chart-insights{padding:0 var(--space-3) var(--space-3)}.chart-insights__title{font:var(--type-xs) var(--font-sans);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin:var(--space-3) 0 var(--space-2) 0;padding:0}.chart-insights__empty{padding:var(--space-2) var(--space-1);text-align:center;color:var(--color-ink-muted);font:var(--type-xs) var(--font-sans);margin:0}.chart-insights__alert-status{padding:var(--space-2) var(--space-3);margin:0 0 var(--space-2) 0;border-radius:var(--radius-lg);font:var(--type-xs) var(--font-sans);font-weight:var(--weight-medium);text-align:center}.chart-insights__alert-status--ok{color:#fff;background:var(--color-bull)}.chart-insights__alert-status--err{color:var(--color-bear);background:#ef44441a;border:1px solid var(--color-bear)}.chart-insights__level{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font:var(--type-xs) var(--font-mono);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;margin:0}.chart-insights__level-set-alert{background:none;border:none;color:var(--color-accent);font:var(--type-xs) var(--font-sans);font-weight:var(--weight-medium);cursor:pointer;padding:2px 6px;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);flex-shrink:0}.chart-insights__level-set-alert:hover{background:#6366f11a;color:var(--color-accent-hover)}.chart-insights__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.chart-insights__row{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-2) var(--space-3)}.chart-insights__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.chart-insights__pattern{font:var(--type-xs) var(--font-sans);font-weight:var(--weight-bold);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chart-insights__chip{font:var(--type-xs) var(--font-sans);font-weight:var(--weight-bold);padding:2px 8px;border-radius:9999px;white-space:nowrap;flex-shrink:0}.chart-insights__chip--bull{color:#fff;background-color:var(--color-bull)}.chart-insights__chip--bear{color:#fff;background-color:var(--color-bear)}.chart-insights__chip:not(.chart-insights__chip--bull):not(.chart-insights__chip--bear){color:var(--color-ink-muted);background-color:var(--color-rule)}.chart-insights__level{font:var(--type-xs) var(--font-mono);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;margin:0}.insight-freshness{font:var(--type-xs) var(--font-sans);color:var(--color-ink-muted);margin-left:auto;white-space:nowrap}.insight-freshness:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.insight-freshness--fresh:before{background:#22c55e}.insight-freshness--stale:before{background:#f59e0b}.insight-freshness--old:before{background:#ef4444}.chart-root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.chart-workspace{display:grid;grid-template-columns:56px 1fr 280px;flex:1;min-height:0;overflow:hidden}.chart-root>.chart-workspace{overflow:hidden}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-rule);background:var(--color-bg);flex-shrink:0}.chart-header__title{font:var(--type-lg) var(--font-mono);font-weight:var(--weight-bold);color:var(--color-ink);margin:0;letter-spacing:.04em;min-width:3em;text-align:center}.chart-header__refresh{margin-left:auto}.chart-workspace__rail{border-right:1px solid var(--color-rule);background:var(--color-bg)}.chart-workspace__main{display:flex;flex-direction:column;overflow:hidden;min-height:0;grid-column:2}.chart-workspace__watchlist{border-left:1px solid var(--color-rule);overflow-y:auto;background:var(--color-bg);display:flex;flex-direction:column;grid-column:3}.chart-workspace__watchlist-header{padding:12px;border-bottom:1px solid var(--color-rule);flex-shrink:0}.chart-workspace__watchlist-mobile{display:none}.chart-workspace__watchlist-desktop{display:flex}.chart-workspace__watchlist-mobile-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;border-left:none;background:var(--color-bg)}.chart-workspace__watchlist-desktop .chart-workspace__watchlist{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.chart-workspace__watchlist-desktop-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;background:var(--color-bg)}.stock-chart__uncovered{display:flex;align-items:center;justify-content:center;flex:1;background:var(--color-surface-1);padding:var(--gutter)}.stock-chart__uncovered-content{max-width:500px;text-align:center}.stock-chart__uncovered-text{font:var(--type-base) var(--font-sans);color:var(--color-ink);margin-bottom:var(--space-4);line-height:1.6}.stock-chart__uncovered-text a{color:var(--color-link);text-decoration:underline}.stock-chart__uncovered-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.stock-chart__uncovered-link{color:var(--color-link);text-decoration:none;font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border:1px solid var(--color-rule);border-radius:var(--radius-md);transition:background-color .15s ease}.stock-chart__uncovered-link:hover{background:var(--color-hover)}.stock-chart__uncovered-separator{color:var(--color-faint);font-size:.875rem}.stock-chart__uncovered-link--secondary{color:var(--color-faint)}@media(max-width:1024px){.chart-workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.chart-tool-rail{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:6px 8px;gap:4px;flex-shrink:0;background:var(--color-bg);border-bottom:1px solid var(--color-rule);grid-row:1;grid-column:1}.chart-workspace__main{grid-row:2;grid-column:1;min-height:60vh}.chart-workspace__watchlist{grid-row:3;grid-column:1}}@media(max-width:640px){.chart-workspace__main{min-height:78vh}.chart-workspace__watchlist-mobile{display:flex;flex-direction:column;flex:1;min-height:0}.chart-workspace__watchlist-desktop{display:none}.chart-workspace__watchlist{display:flex;flex-direction:column;flex:1;min-height:0}}@media(min-width:641px){.chart-workspace__watchlist-mobile{display:none}.chart-workspace__watchlist-desktop{display:flex}}@media(min-width:641px)and (max-width:1024px){.chart-workspace__watchlist-desktop .chart-workspace__watchlist{grid-column:1}}.chart-load-history{text-align:center;padding:1rem 0}.chart-load-history-btn{background:var(--color-surface-1);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:.5rem 1.25rem;color:var(--color-ink);cursor:pointer;font-size:.875rem;transition:background-color .2s}.chart-load-history-btn:hover{background:var(--color-surface-2)}.chart-mobile-tabs{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.chart-mobile-tabs__bar{display:flex;gap:0;border-bottom:1px solid var(--color-rule);background:var(--color-bg);flex-shrink:0;position:sticky;top:0;z-index:1}.chart-mobile-tabs__tab{flex:1;background:none;border:none;padding:var(--space-3) var(--space-2);font-family:var(--font-sans);font-size:var(--type-sm);font-weight:var(--weight-medium);color:var(--color-ink-muted);cursor:pointer;position:relative;transition:color var(--duration-fast) var(--ease-out);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-mobile-tabs__tab:hover,.chart-mobile-tabs__tab--active{color:var(--color-ink)}.chart-mobile-tabs__tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background-color:var(--color-accent);border-radius:1px}.chart-mobile-tabs__panel{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.chart-mobile-tabs__panel-content{flex:1;min-height:1px}.financial-info{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-3) var(--space-4)}.financial-info__section{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-3)}.financial-info__section-title{font:var(--type-xs) var(--font-sans);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin:0 0 var(--space-2) 0;padding:0}.financial-info__info{display:flex;flex-direction:column;gap:var(--space-1)}.financial-info__info-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.financial-info__info-label{font:var(--type-xs) var(--font-sans);color:var(--color-ink-muted);font-weight:var(--weight-medium);flex-shrink:0}.financial-info__info-value{font:var(--type-xs) var(--font-sans);color:var(--color-ink);text-align:right;word-break:break-all}.financial-info__info-value--mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.financial-info__stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.financial-info__stat{display:flex;flex-direction:column;gap:2px}.financial-info__stat-label{font:var(--type-xs) var(--font-sans);color:var(--color-ink-muted);font-weight:var(--weight-medium)}.financial-info__stat-value{font:var(--type-sm) var(--font-mono);font-weight:var(--weight-bold);color:var(--color-ink);font-variant-numeric:tabular-nums}.financial-info__bull{color:var(--color-bull)}.financial-info__bear{color:var(--color-bear)}.financial-info__empty{padding:var(--space-4) var(--space-3);text-align:center;color:var(--color-ink-muted)}.financial-info__empty-title{font:var(--type-xs) var(--font-sans);font-weight:var(--weight-bold);color:var(--color-ink);margin:0 0 var(--space-1) 0}.financial-info__empty-desc{font:var(--type-xs) var(--font-sans);margin:0}
