:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--success-800: #065f46;--success-900: #064e3b;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-200: #fecaca;--danger-300: #fca5a5;--danger-400: #f87171;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--danger-800: #991b1b;--danger-900: #7f1d1d;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--info-50: #eff6ff;--info-100: #dbeafe;--info-200: #bfdbfe;--info-300: #93c5fd;--info-400: #60a5fa;--info-500: #3b82f6;--info-600: #2563eb;--info-700: #1d4ed8;--info-800: #1e40af;--info-900: #1e3a8a;--chart-positive: #10b981;--chart-negative: #ef4444;--chart-neutral: #6b7280;--chart-grid: #f3f4f6;--chart-crosshair: #2563eb;--chart-volume: #9ca3af;--indicator-sma-20: #f59e0b;--indicator-sma-50: #10b981;--indicator-sma-100: #3b82f6;--indicator-sma-200: #8b5cf6;--indicator-atr: #f59e0b;--indicator-support: #10b981;--indicator-resistance: #ef4444;--indicator-volume: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-accent: #eff6ff;--bg-overlay: rgba(255, 255, 255, .95);--bg-overlay-dark: rgba(0, 0, 0, .5);--bg-glass: rgba(255, 255, 255, .8);--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--text-accent: #2563eb;--text-muted: #d1d5db;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-accent: #2563eb;--border-light: #f3f4f6;--border-focus: #2563eb;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--radius-none: 0;--radius-sm: .25rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 50px 100px -20px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55);--z-auto: auto;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-header: 100;--z-dropdown: 1000;--z-sticky: 1020;--z-overlay: 1030;--z-modal: 1040;--z-tooltip: 1050;--z-notification: 1060;--z-max: 2147483647}[data-theme=dark]{--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-accent: #1e3a8a;--bg-overlay: rgba(17, 24, 39, .95);--bg-glass: rgba(17, 24, 39, .8);--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-inverse: #111827;--text-muted: #6b7280;--border-primary: #374151;--border-secondary: #4b5563;--border-light: #1f2937;--chart-grid: #374151;--chart-neutral: #d1d5db;--chart-volume: #6b7280}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}@keyframes slideInRight{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;-webkit-overflow-scrolling:touch}@media (max-width: 768px){body{-webkit-text-size-adjust:none}}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-4) 0;font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.03em}@media (max-width: 768px){h1{font-size:var(--font-size-2xl)}}@media (max-width: 480px){h1{font-size:var(--font-size-xl)}}h2{font-size:var(--font-size-2xl)}@media (max-width: 768px){h2{font-size:var(--font-size-xl)}}@media (max-width: 480px){h2{font-size:var(--font-size-lg)}}h3{font-size:var(--font-size-xl)}@media (max-width: 768px){h3{font-size:var(--font-size-lg)}}@media (max-width: 480px){h3{font-size:var(--font-size-base)}}h4{font-size:var(--font-size-lg)}@media (max-width: 768px){h4{font-size:var(--font-size-base)}}@media (max-width: 480px){h4{font-size:var(--font-size-sm)}}h5{font-size:var(--font-size-base)}@media (max-width: 768px){h5{font-size:var(--font-size-sm)}}@media (max-width: 480px){h5{font-size:var(--font-size-xs)}}h6{font-size:var(--font-size-sm)}@media (max-width: 768px){h6{font-size:var(--font-size-xs)}}p{margin:0 0 var(--spacing-4) 0;color:var(--text-secondary);line-height:var(--line-height-normal);max-width:65ch}@media (max-width: 768px){p{max-width:none}}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-base)}a:hover,a:focus{color:var(--primary-700);text-decoration:underline}a:focus-visible{outline:none;box-shadow:none}@media (prefers-contrast: high){a{text-decoration:underline}a:hover,a:focus{text-decoration:none;background-color:var(--primary-100);padding:2px 4px;border-radius:var(--radius-sm);outline:none;box-shadow:none}}@media (max-width: 768px){a{min-height:32px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2)}}input,textarea,select{font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-3);transition:border-color box-shadow}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-600);box-shadow:none}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--primary-600);box-shadow:none}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary);color:var(--text-tertiary)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-tertiary)}@media (prefers-contrast: high){input,textarea,select{border-width:2px}input:focus,textarea:focus,select:focus{border-color:var(--text-primary);outline:none;box-shadow:none}}@media (max-width: 768px){input,textarea,select{font-size:var(--font-size-base);padding:var(--spacing-3);min-height:32px}}button{background:none;border:none;margin:0;padding:0;cursor:pointer;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-4);transition:all var(--transition-base);min-height:32px;min-width:44px}button:focus{outline:none;box-shadow:none}button:focus-visible{outline:none;box-shadow:none;z-index:1}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (prefers-contrast: high){button{border-width:2px}button:focus-visible{outline:none;box-shadow:none}}@media (max-width: 768px){button{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);min-height:48px}}.btn-primary{background-color:var(--primary-600);color:var(--text-inverse);border-color:var(--primary-600)}.btn-primary:focus-visible{outline:none;box-shadow:none}.btn-secondary{background-color:var(--gray-600);color:var(--text-inverse);border-color:var(--gray-600)}.btn-success{background-color:var(--success-600);color:var(--text-inverse);border-color:var(--success-600)}.btn-danger{background-color:var(--danger-600);color:var(--text-inverse);border-color:var(--danger-600)}.btn-outline{background-color:transparent;color:var(--text-primary)}.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);min-height:32px;min-width:32px}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-lg);min-height:52px}@media (max-width: 768px){.btn-lg{min-height:56px}}ul,ol{margin:0 0 var(--spacing-4) 0;padding-left:var(--spacing-6)}ul li,ol li{margin-bottom:var(--spacing-1);line-height:var(--line-height-relaxed)}ul[role=list],ol[role=list]{list-style:none;padding-left:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-base)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-base)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::-webkit-scrollbar-corner{background:var(--bg-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--gray-400) var(--bg-tertiary)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-600);color:var(--text-inverse);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;border-radius:var(--radius-base);z-index:var(--z-max);font-weight:var(--font-weight-medium)}.skip-link:focus{top:6px;outline:none;box-shadow:none}:focus-visible{outline:none!important;box-shadow:none!important}@media (max-width: 768px){body{overflow-x:hidden}*{-webkit-overflow-scrolling:touch}html{font-size:14px}button,input,select,textarea,a{min-height:32px;min-width:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto!important}}@media (prefers-contrast: high){button,input,select,textarea{border-width:2px}a{text-decoration:underline}.focus-ring,:focus-visible{outline:none!important;box-shadow:none!important}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}h1,h2,h3,h4,h5,h6{page-break-after:avoid}blockquote,pre,tr,img,h1,h2,h3,h4,h5,h6{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}a{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-responsive-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 768px){.grid-responsive-2{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid-responsive-2{grid-template-columns:1fr}}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.place-center{place-items:center}.place-start{place-items:start}.place-end{place-items:end}.place-stretch{place-items:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.table-cell{display:table-cell}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-10{margin:var(--spacing-10)}.m-12{margin:var(--spacing-12)}.m-16{margin:var(--spacing-16)}.m-auto{margin:auto}.mx-0{margin-left:var(--spacing-0);margin-right:var(--spacing-0)}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-3{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.mx-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-5{margin-left:var(--spacing-5);margin-right:var(--spacing-5)}.mx-6{margin-left:var(--spacing-6);margin-right:var(--spacing-6)}.mx-8{margin-left:var(--spacing-8);margin-right:var(--spacing-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:var(--spacing-0);margin-bottom:var(--spacing-0)}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-3{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-5{margin-top:var(--spacing-5);margin-bottom:var(--spacing-5)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.my-8{margin-top:var(--spacing-8);margin-bottom:var(--spacing-8)}.mt-0{margin-top:var(--spacing-0)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:var(--spacing-0)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:var(--spacing-0)}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-5{margin-left:var(--spacing-5)}.ml-6{margin-left:var(--spacing-6)}.ml-8{margin-left:var(--spacing-8)}.ml-auto{margin-left:auto}.mr-0{margin-right:var(--spacing-0)}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-5{margin-right:var(--spacing-5)}.mr-6{margin-right:var(--spacing-6)}.mr-8{margin-right:var(--spacing-8)}.mr-auto{margin-right:auto}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-10{padding:var(--spacing-10)}.p-12{padding:var(--spacing-12)}.p-16{padding:var(--spacing-16)}.px-0{padding-left:var(--spacing-0);padding-right:var(--spacing-0)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-5{padding-left:var(--spacing-5);padding-right:var(--spacing-5)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0{padding-top:var(--spacing-0);padding-bottom:var(--spacing-0)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-5{padding-top:var(--spacing-5);padding-bottom:var(--spacing-5)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.pt-0{padding-top:var(--spacing-0)}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-3{padding-top:var(--spacing-3)}.pt-4{padding-top:var(--spacing-4)}.pt-5{padding-top:var(--spacing-5)}.pt-6{padding-top:var(--spacing-6)}.pt-8{padding-top:var(--spacing-8)}.pb-0{padding-bottom:var(--spacing-0)}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-4{padding-bottom:var(--spacing-4)}.pb-5{padding-bottom:var(--spacing-5)}.pb-6{padding-bottom:var(--spacing-6)}.pb-8{padding-bottom:var(--spacing-8)}.pl-0{padding-left:var(--spacing-0)}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-3{padding-left:var(--spacing-3)}.pl-4{padding-left:var(--spacing-4)}.pl-5{padding-left:var(--spacing-5)}.pl-6{padding-left:var(--spacing-6)}.pl-8{padding-left:var(--spacing-8)}.pr-0{padding-right:var(--spacing-0)}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-3{padding-right:var(--spacing-3)}.pr-4{padding-right:var(--spacing-4)}.pr-5{padding-right:var(--spacing-5)}.pr-6{padding-right:var(--spacing-6)}.pr-8{padding-right:var(--spacing-8)}.gap-0{gap:var(--spacing-0)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.w-0{width:0}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.w-fit{width:fit-content}.w-min{width:min-content}.w-max{width:max-content}.h-0{height:0}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.h-fit{height:fit-content}.h-min{height:min-content}.h-max{height:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.max-w-none{max-width:none}.max-w-full{max-width:100%}.max-w-screen{max-width:100vw}.max-h-none{max-height:none}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.border{border:1px solid var(--border-color)}.border-0{border:0}.border-t{border-top:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-primary{border-color:var(--border-primary)}.border-secondary{border-color:var(--border-secondary)}.border-accent{border-color:var(--border-accent)}.border-light{border-color:var(--border-light)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-transparent{background-color:transparent}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-accent{background-color:var(--bg-accent)}.bg-overlay{background-color:var(--bg-overlay)}.bg-gradient-primary{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.bg-gradient-accent{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--text-accent)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-mono{font-family:var(--font-family-mono)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.z-tooltip{z-index:var(--z-tooltip)}.z-notification{z-index:var(--z-notification)}.transition-none{transition:none}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transform{transform:translate(0) translateY(0) rotate(0) skew(0) skewY(0) scaleX(1) scaleY(1)}.transform-none{transform:none}.scale-0{transform:scale(0)}.scale-50{transform:scale(.5)}.scale-75{transform:scale(.75)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.scale-125{transform:scale(1.25)}.scale-150{transform:scale(1.5)}.rotate-0{transform:rotate(0)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.rotate-270{transform:rotate(270deg)}.translate-x-0{transform:translate(0)}.translate-x-1{transform:translate(var(--spacing-1))}.translate-x-2{transform:translate(var(--spacing-2))}.translate-y-0{transform:translateY(0)}.translate-y-1{transform:translateY(var(--spacing-1))}.translate-y-2{transform:translateY(var(--spacing-2))}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-crosshair{cursor:crosshair}.chart-positive{color:var(--chart-positive)}.chart-negative{color:var(--chart-negative)}.chart-neutral{color:var(--chart-neutral)}.success{color:var(--success-600)}.danger{color:var(--danger-600)}.warning{color:var(--warning-600)}.info{color:var(--info-600)}.bg-success{background-color:var(--success-100)}.bg-danger{background-color:var(--danger-100)}.bg-warning{background-color:var(--warning-100)}.bg-info{background-color:var(--info-100)}.indicator-sma-20{color:var(--indicator-sma-20)}.indicator-sma-50{color:var(--indicator-sma-50)}.indicator-sma-100{color:var(--indicator-sma-100)}.indicator-sma-200{color:var(--indicator-sma-200)}.indicator-atr{color:var(--indicator-atr)}.indicator-support{color:var(--indicator-support)}.indicator-resistance{color:var(--indicator-resistance)}.btn-base,.btn-icon,.btn-secondary,.btn-primary{background:none;border:none;margin:0;padding:0;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-4);transition:all var(--transition-base);cursor:pointer}.btn-base:focus,.btn-icon:focus,.btn-secondary:focus,.btn-primary:focus{outline:none;box-shadow:none}.btn-base:disabled,.btn-icon:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-600);color:var(--text-inverse);border:1px solid var(--primary-600)}.btn-primary:hover:not(:disabled){background-color:var(--primary-700);border-color:var(--primary-700)}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--border-secondary)}.btn-icon{padding:var(--spacing-2);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.input-base{font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-base)}.input-base:focus{outline:none;border-color:var(--primary-500);box-shadow:none}.input-base::placeholder{color:var(--text-tertiary)}.card-base{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:var(--spacing-4);box-shadow:var(--shadow-sm)}.card-base:hover{box-shadow:var(--shadow-md)}.dropdown-base{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.dropdown-base .dropdown-item{padding:var(--spacing-3) var(--spacing-4);cursor:pointer;transition:all var(--transition-base)}.dropdown-base .dropdown-item:hover{background:var(--bg-secondary)}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-primary);border-top:2px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-30px)}70%{transform:translateY(-15px)}90%{transform:translateY(-4px)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-ring{outline:none;box-shadow:none}.focus-visible-only:focus:not(:focus-visible){outline:none;box-shadow:none}.focus-visible-only:focus-visible{outline:none;box-shadow:none}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-to-content:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:var(--spacing-4);background:var(--primary-600);color:var(--text-inverse);z-index:var(--z-max);text-decoration:none;border-radius:var(--radius-base);margin:var(--spacing-2);outline:none;box-shadow:none}@media (prefers-contrast: high){.high-contrast{border:2px solid var(--text-primary);background:var(--bg-primary);color:var(--text-primary)}}@media (prefers-reduced-motion: reduce){.reduce-motion{animation:none!important;transition:none!important}}.hover\:bg-secondary:hover{background-color:var(--bg-secondary)}.hover\:bg-accent:hover{background-color:var(--bg-accent)}.hover\:text-primary:hover{color:var(--text-primary)}.hover\:text-accent:hover{color:var(--text-accent)}.hover\:border-primary:hover{border-color:var(--border-primary)}.hover\:shadow-md:hover{box-shadow:var(--shadow-md)}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:translate-y-1:hover{transform:translateY(-.25rem)}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{outline:none;box-shadow:none}.focus\:ring-primary:focus{outline:none;box-shadow:none}.focus\:ring-danger:focus{outline:none;box-shadow:none}.focus\:bg-secondary:focus{background-color:var(--bg-secondary)}.focus\:border-primary:focus{border-color:var(--border-primary)}.active\:bg-primary:active{background-color:var(--bg-primary)}.active\:scale-95:active{transform:scale(.95)}.active\:translate-y-0:active{transform:translateY(0)}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:flex-col{flex-direction:column}.md\:text-center{text-align:center}.md\:text-sm{font-size:var(--font-size-sm)}.md\:p-4{padding:var(--spacing-4)}.md\:m-2{margin:var(--spacing-2)}.md\:w-full{width:100%}.md\:min-h-screen{min-height:100vh}.md\:gap-4{gap:var(--spacing-4)}}@media (max-width: 480px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:flex-col{flex-direction:column}.sm\:w-full{width:100%}.sm\:text-center{text-align:center}.sm\:p-3{padding:var(--spacing-3)}.sm\:gap-3{gap:var(--spacing-3)}.sm\:text-sm{font-size:var(--font-size-sm)}.sm\:text-xs{font-size:var(--font-size-xs)}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-auto{will-change:auto}@media print{.print-hidden{display:none!important}.print-block{display:block!important}.print-inline{display:inline!important}}.chart-container,.chart-wrapper,.chart-loading .loading-spinner,.chart-tooltip{will-change:transform}.chart-app-container{width:100%;height:100%;min-height:400px;max-height:100vh;display:flex;flex-direction:column;flex:1;background:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden;box-sizing:border-box;position:relative;container-type:size;resize:both}.chart-app-container>.trading-toolbar{flex-shrink:0}.chart-app-container>.chart-wrapper{flex:1;min-height:0}@container (max-width: 768px){.chart-app-container .toolbar-label{display:none}.chart-app-container .bottom-toolbar{padding:var(--spacing-1) var(--spacing-2);gap:var(--spacing-1);height:auto;min-height:44px;flex-wrap:wrap}.chart-app-container .trading-toolbar{padding:var(--spacing-1);height:auto;min-height:48px;flex-wrap:wrap}}@container (max-width: 480px){.chart-app-container .timeframe-group{gap:0}.chart-app-container .timeframe-btn-compact{padding:var(--spacing-1);font-size:var(--font-size-xs);min-width:32px}}.chart-container-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;width:100%}.chart-container{flex:1;min-height:0;background:var(--bg-primary);overflow:hidden;display:flex;flex-direction:column}.chart-canvas{flex:1;height:100%;min-height:0}.chart-canvas.drawing-mode{cursor:crosshair!important;background-color:#ff00001a!important}.chart-canvas.drawing-mode *{cursor:crosshair!important}.chart-canvas.pen-mode{cursor:pointer!important;background-color:#00ff001a!important}.chart-canvas.pen-mode *{cursor:pointer!important}.chart-canvas.text-mode{cursor:text!important;background-color:#0000ff1a!important}.chart-canvas.text-mode *{cursor:text!important}.trading-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2);background:var(--bg-primary);border-bottom:1px solid var(--border-color);height:44px;min-height:44px;flex-shrink:0;width:100%;gap:var(--spacing-2);flex-wrap:nowrap;z-index:1001;position:relative;overflow:visible;flex:none;min-width:0}@media (max-width: 768px){.trading-toolbar{overflow-x:auto;overflow-y:visible;scrollbar-width:none;-webkit-overflow-scrolling:touch}.trading-toolbar::-webkit-scrollbar{display:none}}.ticker-search-group{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;flex:0 1 auto}.ticker-display{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;padding:4px 10px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-primary);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}[data-theme=dark] .ticker-display{background:#ffffff0d;border-color:#ffffff1a}.ticker-display:hover{background:var(--bg-tertiary);border-color:var(--border-secondary);box-shadow:var(--shadow-sm)}[data-theme=dark] .ticker-display:hover{background:#ffffff1a;border-color:#fff3}.ticker-display .search-icon{width:14px;height:14px;color:var(--text-tertiary);opacity:.7}.ticker-symbol{font-size:var(--font-size-md);font-weight:800;color:var(--text-primary);letter-spacing:-.01em;font-family:var(--font-family-mono)}.price-container{display:flex;align-items:center;gap:var(--spacing-2);margin-left:var(--spacing-1);padding-left:var(--spacing-2);border-left:1px solid var(--border-color)}.ticker-price{font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-family-mono)}.ticker-price.positive{color:#26a69a}.ticker-price.negative{color:#ef5350}.ticker-change{font-size:11px;font-weight:600;padding:1px 4px;border-radius:3px;font-family:var(--font-family-mono)}.ticker-change.positive{color:#26a69a;background:#26a69a1a}.ticker-change.negative{color:#ef5350;background:#ef53501a}.search-input-container{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.search-input-container:hover{border-color:var(--primary-300);background:var(--bg-primary)}.search-icon{color:var(--text-secondary);flex-shrink:0}.search-placeholder{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--text-primary)}.company-details{display:flex;flex-direction:column;gap:2px}.company-info-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3)}.company-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-bold);line-height:1.2;flex:1}.price-info{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.ticker-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary)}.ticker-price.positive{color:#10b981}.ticker-price.negative{color:#ef4444}.ticker-change{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 6px;border-radius:3px}.ticker-change.positive{color:#10b981;background-color:#10b9811a}.ticker-change.negative{color:#ef4444;background-color:#ef44441a}.ticker-input-group{position:relative}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.search-icon-input{position:absolute;left:var(--spacing-2);color:var(--text-secondary);z-index:1}.ticker-input-enhanced{width:220px;height:32px;padding:0 var(--spacing-2) 0 15px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;background:var(--bg-primary);color:var(--text-primary)}.search-results-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:var(--z-dropdown);margin-top:4px;max-height:200px;overflow-y:auto;min-width:220px}.search-results-dropdown .search-loading{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);color:var(--text-secondary);font-size:var(--font-size-sm)}.search-results-dropdown .search-loading .loading-spinner{width:16px;height:16px;animation:spin 1s linear infinite}.search-results-dropdown .search-no-results{padding:var(--spacing-3);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center;font-style:italic}.search-result-item{display:flex;flex-direction:column;padding:var(--spacing-2) var(--spacing-3);cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-secondary)}.result-symbol{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-0-5)}.result-name{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.2;margin-bottom:var(--spacing-0-5)}.result-exchange{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.ticker-input-enhanced:focus{border-color:var(--primary-color);outline:none;box-shadow:none}.ticker-input-enhanced::placeholder{color:var(--text-secondary);text-transform:none}.ticker-input{width:150px;height:24px;padding:0 var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-sm)}.ticker-input:focus{outline:none;border-color:var(--primary-600);box-shadow:none}.bottom-toolbar{display:flex;align-items:center;justify-content:flex-start;padding:0 var(--spacing-2);background:var(--bg-primary);border-top:1px solid var(--border-color);height:48px;min-height:48px;gap:var(--spacing-1);flex-wrap:nowrap;flex-shrink:0;z-index:1001;position:relative;overflow:visible}@media (max-width: 480px){.bottom-toolbar{height:52px;min-height:52px;gap:var(--spacing-0-5);padding:0 var(--spacing-2);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bottom-toolbar::-webkit-scrollbar{display:none}}.toolbar-label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-right:var(--spacing-2);white-space:nowrap}.bottom-dropdown{bottom:100%!important;top:auto!important;margin-bottom:4px;box-shadow:0 -4px 12px #0000001a;min-width:160px!important;max-width:160px!important}.toolbar-divider{height:24px;width:1px;background:var(--border-color);margin:0 var(--spacing-2)}[data-theme=dark] .toolbar-divider{background:#ffffff1a}.timeframe-group{display:flex;align-items:center;gap:2px;padding:2px;flex-shrink:0}.timeframe-btn-compact{height:32px;min-width:44px;padding:0 var(--spacing-3);border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0}.timeframe-btn-compact:hover{background:var(--bg-secondary);color:var(--text-primary)}.timeframe-btn-compact.active{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-sm)}.timeframe-btn-compact.default{position:relative}.timeframe-btn-compact .default-badge{font-size:10px;color:var(--primary-500);margin-left:2px}.active .timeframe-btn-compact .default-badge{color:#ffffffe6}.tool-dropdown{position:relative}.tool-btn{height:32px;min-width:32px;min-height:32px;padding:0 var(--spacing-2);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;white-space:nowrap}@media (max-width: 768px){.tool-btn{min-height:36px;min-width:36px}}.tool-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.tool-btn.has-active{background:var(--primary-100);color:var(--primary-700);border:1px solid var(--primary-300)}.tool-icon{font-size:14px!important;line-height:1}.tool-icon.filled,.tool-icon.favorited{fill:#f59e0b!important;color:#f59e0b!important}.tool-icon.filled svg,.tool-icon.favorited svg{fill:#f59e0b!important}.watchlist-icon{display:inline-flex;align-items:center;justify-content:center}.watchlist-icon.check-icon{color:var(--success-600)}.watchlist-icon.plus-icon{color:var(--text-secondary)}.watchlist-icon svg[data-lucide],.watchlist-icon svg.lucide{width:14px!important;height:14px!important}svg[data-lucide],svg.lucide{width:16px!important;height:16px!important;display:inline-block!important;vertical-align:middle!important}.tool-icon svg[data-lucide],.tool-icon svg.lucide{width:14px!important;height:14px!important}.tool-item-icon svg[data-lucide],.tool-item-icon svg.lucide{width:14px!important;height:14px!important}.header-icon svg[data-lucide],.header-icon svg.lucide{width:16px!important;height:16px!important}.menu-icon svg[data-lucide],.menu-icon svg.lucide{width:14px!important;height:14px!important}.status-icon svg[data-lucide],.status-icon svg.lucide{width:14px!important;height:14px!important}.compact-text-toolbar .toolbar-icon svg[data-lucide],.compact-text-toolbar .toolbar-icon svg.lucide{width:16px!important;height:16px!important}.compact-pen-toolbar .toolbar-icon svg[data-lucide],.compact-pen-toolbar .toolbar-icon svg.lucide{width:16px!important;height:16px!important}.compact-line-toolbar .toolbar-icon svg[data-lucide],.compact-line-toolbar .toolbar-icon svg.lucide{width:16px!important;height:16px!important}.data-info{font-size:9px;font-weight:var(--font-weight-medium);opacity:.8}.tool-menu{position:absolute;top:100%;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:180px;max-width:280px;z-index:9999;overflow:hidden;margin-top:4px}@media (max-width: 480px){.tool-menu{position:fixed;inset:auto 0 0;width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-top:0;animation:slideUp .3s ease;box-shadow:0 -4px 12px #0003}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tool-menu-header{padding:var(--spacing-2);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.tool-menu-section:not(:last-child){border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2)}.tool-section-header{padding:var(--spacing-1) var(--spacing-2);font-size:10px;font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--spacing-1)}.tool-subsection{margin-left:var(--spacing-2);border-left:1px solid var(--border-color);padding-left:var(--spacing-2)}.tool-subsection-header{padding:var(--spacing-1) var(--spacing-2);font-size:9px;font-weight:var(--font-weight-medium);color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.2px;margin-bottom:var(--spacing-1)}.tool-item-description{font-size:10px;color:var(--text-tertiary);margin-top:2px}.indicator-count{position:absolute;top:-4px;right:-4px;background:var(--primary-600);color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:600}.indicator-color-preview{width:12px;height:12px;border-radius:2px;border:1px solid var(--border-color)}.indicator-actions{display:flex;flex-direction:column;gap:var(--spacing-1);margin-left:auto}.indicator-action-btn{background:none;border:none;padding:2px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-base)}.indicator-action-btn .action-icon{width:12px;height:12px;color:var(--text-secondary)}.indicator-action-btn.favorite-btn .action-icon{transition:all .2s ease;color:#f59e0b;fill:none;stroke:currentColor;stroke-width:1.5}.indicator-action-btn.favorite-btn:hover .action-icon{color:#f59e0b;transform:scale(1.1)}.indicator-action-btn.favorite-btn.favorited .action-icon{color:#f59e0b;fill:#f59e0b;stroke:#f59e0b}.indicator-action-btn.favorite-btn.favorited:hover .action-icon{color:#f59e0b;fill:#f59e0b;stroke:#f59e0b;transform:scale(1.1)}.tool-menu-divider{height:1px;background:var(--border-color);margin:var(--spacing-1) 0}.tool-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);cursor:pointer;transition:background-color .15s ease}.tool-item:hover{background:var(--bg-secondary)}.tool-item input[type=checkbox]{width:12px;height:12px;margin:0;pointer-events:none}.tool-item-icon{font-size:6px!important;width:1em;text-align:center}.tool-item-label{font-size:var(--text-sm);color:var(--text-primary);flex:1}.sma-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.toolbar-right{display:flex;align-items:center;gap:var(--spacing-0-5);margin-left:auto;flex-shrink:0;flex-wrap:nowrap;padding-left:var(--spacing-2)}.company-info{display:flex;align-items:center;max-width:150px;overflow:hidden}.company-name{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.trading-toolbar{flex-wrap:nowrap;height:48px;min-height:48px;gap:var(--spacing-2);overflow-x:auto;padding:0 var(--spacing-3)}.ticker-search-group{order:1;flex:0 0 auto;min-width:80px}.toolbar-right{order:2;flex:1;justify-content:flex-end;gap:var(--spacing-2)}.company-name{display:none}.search-placeholder{font-size:var(--font-size-base)}}@media (max-width: 480px){.trading-toolbar{height:48px;min-height:48px;padding:0 var(--spacing-2);gap:var(--spacing-1)}.ticker-display{gap:var(--spacing-1);padding:2px 4px}.ticker-symbol{font-size:var(--font-size-base)}.price-container{padding-left:var(--spacing-1);margin-left:var(--spacing-1);gap:var(--spacing-1)}.ticker-price{font-size:12px}.ticker-change{font-size:10px;padding:0 2px}}@media (max-width: 360px){.trading-toolbar{padding:0 var(--spacing-1)}.ticker-search-group{flex:1 1 auto}.price-container{border-left:none;margin-left:1px;padding-left:1px;gap:2px}.ticker-symbol{font-size:13px}.ticker-price{font-size:11px}.ticker-change{display:none!important}.tool-btn{min-width:26px;padding:0 4px}.toolbar-right{gap:2px}}.tool-dropdown.active .tool-menu{animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chart-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-xs);contain:layout style}.chart-controls .controls-group{display:flex;align-items:center;gap:var(--spacing-2)}.chart-controls .controls-group.controls-left{flex:1}.chart-controls .controls-group.controls-right{justify-content:flex-end}.chart-info{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-4);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm);color:var(--text-secondary)}.chart-info .info-item{display:flex;align-items:center;gap:var(--spacing-1)}.chart-info .info-item.positive{color:var(--chart-positive)}.chart-info .info-item.negative{color:var(--chart-negative)}.system-lines .system-line,.technical-indicators .indicator,.timeframe-selector .timeframe-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none}.system-lines .system-line:focus,.technical-indicators .indicator:focus,.timeframe-selector .timeframe-btn:focus{outline:none;box-shadow:none}.system-lines .system-line,.technical-indicators .indicator,.timeframe-selector .timeframe-btn{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.system-lines .system-line:hover:not(:disabled),.technical-indicators .indicator:hover:not(:disabled),.timeframe-selector .timeframe-btn:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--text-primary)}.system-lines .system-line:disabled,.technical-indicators .indicator:disabled,.timeframe-selector .timeframe-btn:disabled{opacity:.6;cursor:not-allowed}.timeframe-selector{display:flex;align-items:center;gap:var(--spacing-1)}.timeframe-selector .timeframe-btn{color:var(--text-secondary);background-color:transparent}.timeframe-selector .timeframe-btn.active{background-color:var(--primary-600);color:var(--text-inverse);border-color:var(--primary-600)}.symbol-selector{position:relative}.symbol-selector .symbol-input{width:120px;padding:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);outline:none;transition:border-color box-shadow}.symbol-selector .symbol-input:focus{outline:none;border-color:var(--primary-600);box-shadow:none}.symbol-selector .symbol-suggestions{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:var(--z-dropdown)}.symbol-selector .symbol-suggestions .suggestion-item{padding:var(--spacing-2);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-base)}.symbol-selector .symbol-suggestions .suggestion-item:hover{background-color:var(--bg-secondary)}.symbol-selector .symbol-suggestions .suggestion-item.active{background-color:var(--primary-600);color:var(--text-inverse)}.system-lines .system-line,.technical-indicators .indicator{position:relative;display:flex;align-items:center;gap:var(--spacing-1)}.system-lines .system-line .indicator-label,.technical-indicators .indicator .indicator-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.system-lines .system-line .indicator-value,.technical-indicators .indicator .indicator-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.technical-indicators{display:flex;align-items:center;gap:var(--spacing-2)}.technical-indicators .indicator.active{background-color:var(--primary-100);border-color:var(--primary-600);color:var(--primary-600)}.system-lines{display:flex;align-items:center;gap:var(--spacing-2)}.system-lines .system-line.support{border-color:var(--indicator-support);color:var(--indicator-support)}.system-lines .system-line.support.active{background-color:#10b9811a}.system-lines .system-line.resistance{border-color:var(--indicator-resistance);color:var(--indicator-resistance)}.system-lines .system-line.resistance.active{background-color:#ef44441a}.chart-loading{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;background-color:var(--bg-overlay);z-index:var(--z-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chart-loading .loading-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--border-primary);border-top:3px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite;will-change:transform}.chart-loading .loading-text{margin-top:var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.chart-error{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:var(--spacing-8);color:var(--text-secondary);text-align:center}.chart-error .error-icon{width:3rem;height:3rem;margin-bottom:var(--spacing-4);color:var(--danger-600);font-size:var(--font-size-3xl)}.chart-error .error-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2);color:var(--text-primary)}.chart-error .error-details{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:40ch}.crosshair-info{position:absolute;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:var(--spacing-2);font-size:var(--font-size-xs);color:var(--text-primary);box-shadow:var(--shadow-md);z-index:var(--z-tooltip);pointer-events:none;contain:layout style}.crosshair-info .info-row{display:flex;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.crosshair-info .info-row:last-child{margin-bottom:0}.crosshair-info .info-label{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.crosshair-info .info-value{font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.crosshair-info .info-value.positive{color:var(--chart-positive)}.crosshair-info .info-value.negative{color:var(--chart-negative)}.chart-overlay{position:absolute;inset:0;pointer-events:none;z-index:5}.chart-overlay.interactive{pointer-events:all}.chart-marker{position:absolute;width:20px;height:20px;border-radius:50%;background-color:var(--bg-primary);border:2px solid var(--primary-600);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);cursor:pointer;transition:transform var(--transition-base);z-index:10}.chart-marker:hover{transform:scale(1.1)}.chart-marker.earnings{border-color:var(--success-500);background-color:var(--success-100)}.chart-marker.dividend{border-color:var(--warning-500);background-color:var(--warning-100)}.chart-marker.news{border-color:var(--info-500);background-color:var(--info-100)}.chart-line{position:absolute;left:0;right:0;height:2px;background-color:var(--primary-600);z-index:5;transition:opacity var(--transition-base)}.chart-line.support{background-color:var(--indicator-support)}.chart-line.resistance{background-color:var(--indicator-resistance)}.chart-line.hidden{opacity:0;pointer-events:none}.volume-bar{position:absolute;bottom:0;background-color:var(--chart-neutral);opacity:.6;transition:opacity var(--transition-base)}.volume-bar:hover{opacity:.8}.volume-bar.positive{background-color:var(--chart-positive)}.volume-bar.negative{background-color:var(--chart-negative)}.volume-panel{position:absolute;top:8px;left:8px;z-index:10;background:#1a1a1ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px;padding:4px 8px;min-width:120px;box-shadow:0 2px 8px #0000004d;transition:all var(--transition-base)}.volume-panel .volume-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.volume-panel .volume-label{display:flex;align-items:baseline;gap:6px}.volume-panel .volume-text{font-size:11px;font-weight:500;color:var(--text-secondary, #787b86);text-transform:uppercase;letter-spacing:.5px}.volume-panel .volume-value{font-size:13px;font-weight:600;font-family:Roboto Mono,Courier New,monospace}.volume-panel .volume-value.positive{color:var(--chart-positive, #26a69a)}.volume-panel .volume-value.negative{color:var(--chart-negative, #ef5350)}.volume-panel .volume-value:not(.positive):not(.negative){color:var(--text-primary, #d1d4dc)}.volume-panel .volume-toggle-btn{background:transparent;border:none;padding:2px 4px;cursor:pointer;color:var(--text-secondary, #787b86);display:flex;align-items:center;justify-content:center;border-radius:2px;transition:all var(--transition-base)}.volume-panel .volume-toggle-btn:hover{background:#ffffff1a;color:var(--text-primary, #d1d4dc)}.volume-panel .volume-toggle-btn .volume-toggle-icon{width:12px;height:12px}.volume-panel .volume-panel-content{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.volume-panel .volume-info{font-size:10px;color:var(--text-secondary, #787b86)}.volume-panel .volume-description{display:block}.chart-app-container:not(.dark-theme) .volume-panel{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.chart-app-container:not(.dark-theme) .volume-panel .volume-text{color:#787b86}.chart-app-container:not(.dark-theme) .volume-panel .volume-value:not(.positive):not(.negative){color:#131722}.chart-app-container:not(.dark-theme) .volume-panel .volume-toggle-btn{color:#787b86}.chart-app-container:not(.dark-theme) .volume-panel .volume-toggle-btn:hover{background:#0000000d;color:#131722}.chart-app-container:not(.dark-theme) .volume-panel .volume-panel-content{border-top-color:#0000001a}.chart-app-container:not(.dark-theme) .volume-panel .volume-info{color:#787b86}.dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);max-height:300px;overflow-y:auto;contain:layout style}.dropdown-menu .dropdown-item{padding:var(--spacing-2) var(--spacing-3);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-base)}.dropdown-menu .dropdown-item:hover{background-color:var(--bg-secondary)}.dropdown-menu .dropdown-item.active{background-color:var(--primary-100);color:var(--primary-600)}@media (max-width: 767px){.chart-controls{flex-direction:column;gap:var(--spacing-2)}.chart-controls .controls-group{width:100%;justify-content:center}.technical-indicators,.system-lines{justify-content:center;flex-wrap:wrap}.symbol-input{width:100px}.timeframe-btn{min-width:40px}.dropdown-menu{min-width:250px}}@media (max-width: 639px){.chart-info{flex-direction:column;gap:var(--spacing-1);text-align:center}.crosshair-info{font-size:var(--font-size-xs);padding:var(--spacing-1)}.chart-controls{padding:var(--spacing-2)}.dropdown-menu{min-width:200px;max-height:200px}.chart-marker{width:16px;height:16px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}@media (prefers-reduced-motion: reduce){.chart-loading .loading-spinner,.chart-marker,.chart-line{animation:none!important;transition:none!important}}@media (hover: hover){.chart-marker:hover{transform:scale(1.1)}.volume-bar:hover{opacity:.8}}@media print{.chart-controls,.chart-loading,.crosshair-info,.dropdown-menu{display:none!important}.chart-container{height:auto!important;min-height:400px}.chart-wrapper{border:1px solid #000}}.compact-pen-toolbar,.compact-text-toolbar,.compact-line-toolbar{position:absolute;display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-tooltip);min-width:120px}.compact-pen-toolbar .toolbar-icon,.compact-text-toolbar .toolbar-icon,.compact-line-toolbar .toolbar-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;color:var(--text-secondary)}.compact-pen-toolbar .toolbar-icon:hover,.compact-text-toolbar .toolbar-icon:hover,.compact-line-toolbar .toolbar-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.compact-pen-toolbar .toolbar-icon.active,.compact-text-toolbar .toolbar-icon.active,.compact-line-toolbar .toolbar-icon.active{background:var(--primary-100);color:var(--primary-700);border:1px solid var(--primary-300)}.compact-pen-toolbar .toolbar-icon.delete-icon,.compact-text-toolbar .toolbar-icon.delete-icon,.compact-line-toolbar .toolbar-icon.delete-icon{color:var(--error-600)}.compact-pen-toolbar .toolbar-icon.delete-icon:hover,.compact-text-toolbar .toolbar-icon.delete-icon:hover,.compact-line-toolbar .toolbar-icon.delete-icon:hover{background:var(--error-50);color:var(--error-700)}.compact-pen-toolbar .toolbar-dropdown,.compact-text-toolbar .toolbar-dropdown,.compact-line-toolbar .toolbar-dropdown{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-2);margin-top:var(--spacing-1);z-index:var(--z-dropdown);min-width:200px}.compact-pen-toolbar .toolbar-dropdown.color-dropdown .color-grid,.compact-text-toolbar .toolbar-dropdown.color-dropdown .color-grid,.compact-line-toolbar .toolbar-dropdown.color-dropdown .color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-1)}.compact-pen-toolbar .toolbar-dropdown.color-dropdown .color-option,.compact-text-toolbar .toolbar-dropdown.color-dropdown .color-option,.compact-line-toolbar .toolbar-dropdown.color-dropdown .color-option{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--border-color);cursor:pointer;transition:all .15s ease}.compact-pen-toolbar .toolbar-dropdown.color-dropdown .color-option:hover,.compact-text-toolbar .toolbar-dropdown.color-dropdown .color-option:hover,.compact-line-toolbar .toolbar-dropdown.color-dropdown .color-option:hover{transform:scale(1.1);border-color:var(--primary-300);box-shadow:0 2px 4px #0000001a}.compact-pen-toolbar .toolbar-dropdown.color-dropdown .color-option.selected,.compact-text-toolbar .toolbar-dropdown.color-dropdown .color-option.selected,.compact-line-toolbar .toolbar-dropdown.color-dropdown .color-option.selected{border-color:var(--primary-600);box-shadow:0 0 0 2px var(--primary-600);transform:scale(1.1)}.compact-pen-toolbar .toolbar-dropdown.size-dropdown .size-option,.compact-text-toolbar .toolbar-dropdown.size-dropdown .size-option,.compact-line-toolbar .toolbar-dropdown.size-dropdown .size-option{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.compact-pen-toolbar .toolbar-dropdown.size-dropdown .size-option:hover,.compact-text-toolbar .toolbar-dropdown.size-dropdown .size-option:hover,.compact-line-toolbar .toolbar-dropdown.size-dropdown .size-option:hover{background:var(--bg-secondary)}.compact-pen-toolbar .toolbar-dropdown.size-dropdown .size-option.selected,.compact-text-toolbar .toolbar-dropdown.size-dropdown .size-option.selected,.compact-line-toolbar .toolbar-dropdown.size-dropdown .size-option.selected{background:var(--primary-100);color:var(--primary-700)}.compact-pen-toolbar .toolbar-dropdown.size-dropdown .size-option .size-preview,.compact-text-toolbar .toolbar-dropdown.size-dropdown .size-option .size-preview,.compact-line-toolbar .toolbar-dropdown.size-dropdown .size-option .size-preview{border-radius:50%;background:var(--text-primary)}.interval-selector{position:relative;display:flex;align-items:center}.interval-selector.active .interval-btn{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300)}.interval-btn{display:flex;align-items:center;gap:var(--spacing-1);padding:0 var(--spacing-3);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;height:32px;white-space:nowrap}.interval-btn .interval-display{font-family:var(--font-family-mono)}.interval-btn .dropdown-arrow{font-size:9px;color:var(--text-tertiary);margin-left:2px}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.interval-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:9999;min-width:220px;overflow:hidden;animation:slideUpFade .2s ease-out}@media (max-width: 480px){.interval-dropdown{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 15px #00000026}}.interval-dropdown .interval-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);background:var(--bg-secondary)}.interval-dropdown .interval-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--spacing-2) var(--spacing-4);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-base);text-align:left}.interval-dropdown .interval-option:hover:not(.disabled){background:var(--bg-secondary)}.interval-dropdown .interval-option.active{background:var(--primary-100);color:var(--primary-700)}.interval-dropdown .interval-option.active .interval-label{color:var(--primary-600);font-weight:var(--font-weight-semibold)}.interval-dropdown .interval-option.active .interval-desc{color:var(--primary-500)}.interval-dropdown .interval-option.disabled{opacity:.5;cursor:not-allowed}.interval-dropdown .interval-option.disabled .interval-label,.interval-dropdown .interval-option.disabled .interval-desc{color:var(--text-tertiary)}.interval-dropdown .interval-option:last-child{border-radius:0 0 var(--radius-base) var(--radius-base)}.interval-dropdown .interval-option .interval-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-1)}.interval-dropdown .interval-option .interval-desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.interval-dropdown .interval-option.default .interval-label{position:relative}.interval-dropdown .interval-option .default-badge{display:inline-block;font-size:10px;color:var(--primary-500);margin-left:4px;vertical-align:middle}.active .interval-dropdown .interval-option .default-badge{color:var(--primary-600)}.pen-options-container{padding:var(--spacing-2);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.pen-option-section{margin-bottom:var(--spacing-3)}.pen-option-section:last-child{margin-bottom:0}.pen-option-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:.3px}.pen-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-1)}.pen-size-option{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;background:var(--bg-primary)}.pen-size-option:hover,.pen-size-option.selected{background:var(--bg-tertiary);border-color:var(--primary-600)}.pen-preview{border-radius:50%;background:var(--text-primary)}.pen-preview.size-1{width:2px;height:2px}.pen-preview.size-2{width:4px;height:4px}.pen-preview.size-3{width:6px;height:6px}.pen-preview.size-4{width:8px;height:8px}.pen-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-1)}.pen-color-option{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--border-color);cursor:pointer;transition:all .15s ease}.pen-color-option:hover,.pen-color-option.selected{border-color:var(--primary-600)}@media (prefers-color-scheme: dark){.chart-loading{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chart-marker{box-shadow:0 2px 4px #0000004d}.crosshair-info{box-shadow:var(--shadow-lg)}}.tool-section-header{display:flex;align-items:center;justify-content:space-between;flex-direction:column}.tool-section-header-text{width:100%;height:32px;text-align:center;display:flex;align-items:center;justify-content:center}.indicator-view-toggle{display:flex;align-items:center;width:100%;justify-content:center}.toggle-btn{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:10px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;min-width:60px;justify-content:center}.toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:#000;box-shadow:none}.toggle-btn .toggle-icon{width:12px;height:12px;transition:all .2s ease}.toggle-btn .toggle-label{font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-weight:var(--font-weight-semibold)}.favorites-section{margin-top:var(--spacing-1)}.tool-subsection-header{padding:var(--spacing-2) var(--spacing-3);font-size:10px;font-weight:var(--font-weight-bold);color:var(--primary-700);background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border:1px solid var(--primary-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-2);text-align:center;box-shadow:0 1px 3px #3b82f61a;text-transform:uppercase;letter-spacing:.5px}.no-favorites-message{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-6) var(--spacing-3);text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--border-color);margin:var(--spacing-2) 0}.no-favorites-message .no-favorites-icon{width:32px;height:32px;margin-bottom:var(--spacing-3);opacity:.6;color:var(--text-tertiary)}.no-favorites-message .no-favorites-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--text-secondary)}.no-favorites-message .no-favorites-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.5;max-width:200px}html,body{height:100vh;margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app-container{display:flex;flex-direction:column;height:100vh;background:var(--bg-secondary)}app-chart{display:block;width:100%;height:100%;flex:1}.recent-tickers-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%);background:var(--bg-primary);border:1px solid var(--border-color);border-right:none;border-radius:var(--radius-base) 0 0 var(--radius-base);padding:var(--spacing-3) var(--spacing-2);cursor:pointer;z-index:100;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.recent-tickers-toggle:hover{background:var(--bg-secondary);box-shadow:var(--shadow-lg);transform:translateY(-50%) translate(-2px)}.recent-tickers-toggle.pane-open{right:300px;border-radius:0 var(--radius-base) var(--radius-base) 0;border-left:none;border-right:1px solid var(--border-color)}@media (max-width: 768px){.recent-tickers-toggle.pane-open{right:280px}}@media (max-width: 480px){.recent-tickers-toggle.pane-open{right:260px}}.recent-tickers-toggle .toggle-arrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);transition:color var(--transition-base)}.recent-tickers-toggle:hover .toggle-arrow{color:var(--primary-600)}.recent-tickers-pane{width:300px;height:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:0;right:-320px;transition:right var(--transition-base);z-index:10;box-shadow:var(--shadow-xl);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.recent-tickers-pane.open{right:0}.recent-tickers-pane:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--warning-500) 0%,var(--warning-600) 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0}@media (max-width: 768px){.recent-tickers-pane{width:280px;right:-300px;border-radius:var(--radius-base) 0 0 var(--radius-base)}}@media (max-width: 480px){.recent-tickers-pane{width:260px;right:-280px}}.recent-tickers-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.recent-tickers-header .header-title{display:flex;align-items:center;gap:var(--spacing-2)}.recent-tickers-header .header-title .header-icon{font-size:var(--font-size-xl);color:var(--primary-600)}.recent-tickers-header .header-title .header-text{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary)}.recent-tickers-header .clear-recent-btn{background:none;border:none;font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-base);transition:all var(--transition-base);color:var(--text-secondary)}.recent-tickers-header .clear-recent-btn:hover{background:var(--danger-100);color:var(--danger-600)}@media (max-width: 768px){.recent-tickers-header{padding:var(--spacing-4)}}.recent-tickers-list{flex:1;overflow-y:auto;padding:var(--spacing-3) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-6);text-align:center;color:var(--text-secondary)}.empty-state .empty-icon{font-size:3rem;margin-bottom:var(--spacing-6);opacity:.6}.empty-state .empty-text{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);margin-bottom:var(--spacing-2);color:var(--text-primary)}.empty-state .empty-subtext{font-size:var(--font-size-sm);opacity:.8}.recent-ticker-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);cursor:pointer;transition:all var(--transition-base);border-bottom:1px solid var(--border-color);position:relative}.recent-ticker-item:hover{background:var(--bg-secondary)}.recent-ticker-item.current{background:linear-gradient(90deg,var(--primary-50) 0%,rgba(37,99,235,.05) 100%);border-left:4px solid var(--primary-600)}.recent-ticker-item .ticker-main{flex:1}.recent-ticker-item .ticker-main .ticker-symbol{font-weight:var(--font-weight-bold);font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:2px;font-family:var(--font-family-mono)}.recent-ticker-item .ticker-main .ticker-time{font-size:var(--font-size-xs);color:var(--text-secondary)}.recent-ticker-item .remove-ticker-btn{background:none;border:none;font-size:var(--font-size-base);color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-base);transition:all var(--transition-base);opacity:0;margin-left:var(--spacing-2)}.recent-ticker-item .remove-ticker-btn:hover{background:var(--danger-100);color:var(--danger-600)}.recent-ticker-item:hover .remove-ticker-btn{opacity:1}@media (max-width: 768px){.recent-ticker-item{padding:var(--spacing-3) var(--spacing-4)}}.control-row{display:flex;gap:var(--spacing-2);align-items:center;flex-wrap:nowrap;margin-bottom:0}.control-row:last-child{margin-bottom:0}@media (max-width: 768px){.control-row{flex-wrap:wrap;gap:var(--spacing-1)}}.control-group{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-1)}.control-group.symbol-group{min-width:140px}.control-group.interval-group{min-width:180px}@media (max-width: 768px){.control-group{width:100%;max-width:none;min-width:unset}}.control-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-right:var(--spacing-1);white-space:nowrap}.symbol-input-group{display:flex;gap:var(--spacing-1);align-items:center}@media (max-width: 768px){.symbol-input-group{flex-direction:row;gap:var(--spacing-1)}}.symbol-input{flex:1;padding:2px var(--spacing-1);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-base);min-width:80px;height:24px}.symbol-input:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 1px #2563eb1a}.symbol-input::placeholder{color:var(--text-tertiary)}@media (max-width: 768px){.symbol-input{min-width:unset;text-align:center}}.load-btn{padding:2px var(--spacing-2);background:var(--primary-600);color:var(--text-inverse);border:1px solid var(--primary-600);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);height:24px}.load-btn:hover{background:var(--primary-700);border-color:var(--primary-700);transform:translateY(-1px)}.load-btn:active{transform:translateY(0)}@media (max-width: 768px){.load-btn{width:100%}}.interval-buttons{display:flex;gap:1px;flex-wrap:nowrap}@media (max-width: 768px){.interval-buttons{justify-content:center}}.interval-btn{padding:2px var(--spacing-1);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);height:24px;min-width:28px}.interval-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.interval-btn.active{background:var(--primary-600);color:var(--text-inverse);border-color:var(--primary-600)}.dropdown-group{position:relative;display:inline-block;z-index:var(--z-dropdown)}.dropdown{position:relative}.dropdown.active .dropdown-toggle{background:var(--bg-secondary);border-color:var(--primary-600)}.dropdown-toggle{display:flex;align-items:center;gap:var(--spacing-1);padding:2px var(--spacing-1);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);height:24px}.dropdown-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.dropdown-toggle.has-active{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-300)}.dropdown-toggle .dropdown-arrow{font-size:var(--font-size-xs);color:var(--text-tertiary);transition:transform var(--transition-base)}.dropdown-toggle[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);min-width:200px;max-width:350px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;animation:fadeIn .15s ease-out}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);background:var(--bg-secondary)}.dropdown-subheader{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.dropdown-item{padding:var(--spacing-2) var(--spacing-4);cursor:pointer;transition:background-color var(--transition-base)}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item:last-child{border-radius:0 0 var(--radius-base) var(--radius-base)}.dropdown-item-header{display:flex;align-items:center;gap:var(--spacing-2)}.dropdown-item-header input[type=checkbox],.dropdown-item-header input[type=radio]{margin:0;accent-color:var(--primary-600)}.dropdown-item-header label{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.dropdown-item-description{margin-top:var(--spacing-1);padding-left:var(--spacing-5)}.dropdown-item-description small{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.dropdown-info{padding:var(--spacing-3) var(--spacing-4);background:var(--info-50);border-top:1px solid var(--border-color);font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.sma-color-indicator,.atr-color-indicator{width:12px;height:12px;border-radius:50%;margin-left:auto;flex-shrink:0}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--gray-300);margin-left:auto;flex-shrink:0;transition:background-color var(--transition-base)}.status-indicator.active{background:var(--success-500)}.lines-count{background:var(--primary-600);color:var(--text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);margin-left:var(--spacing-2);min-width:20px;text-align:center}.clear-all-btn{background:none;border:none;font-size:var(--font-size-xs);color:var(--danger-600);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);transition:all var(--transition-base)}.clear-all-btn:hover{background:var(--danger-100);color:var(--danger-700)}.loading-overlay{position:absolute;inset:0;background:var(--bg-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:var(--z-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg)}.loading-overlay .loading-spinner{width:3rem;height:3rem;border:3px solid var(--border-color);border-top:3px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}.loading-overlay .loading-text{margin-top:var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-align:center}@media (max-width: 768px){.loading-overlay .loading-spinner{width:2rem;height:2rem}}@media (max-width: 768px){.control-row{flex-direction:column;gap:var(--spacing-4)}.control-row .control-group{width:100%;max-width:none}.symbol-input-group{flex-direction:column;gap:var(--spacing-2)}.symbol-input-group .symbol-input{min-width:unset;text-align:center}.symbol-input-group .load-btn{width:100%}.interval-buttons{justify-content:center;flex-wrap:wrap}}@media (max-width: 480px){.control-row{gap:var(--spacing-3)}.recent-ticker-item{padding:var(--spacing-3) var(--spacing-4)}.loading-overlay .loading-spinner{width:2rem;height:2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dropdown-toggle:focus-visible,.symbol-input:focus-visible,.load-btn:focus-visible,.interval-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-600);color:var(--text-inverse);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;border-radius:var(--radius-base);z-index:var(--z-max)}.skip-link:focus{top:6px}.chart-container-wrapper,.recent-tickers-pane,.dropdown-group,.loading-spinner{will-change:transform}@media print{.recent-tickers-pane,.recent-tickers-toggle,.dropdown-group{display:none!important}.chart-container-wrapper{margin:0;box-shadow:none;border:1px solid #000}.chart-container.with-recent-pane{margin-right:0}}
/*# sourceMappingURL=styles-TWZY7SSW.css.map */
