.ticker-form-card{margin-bottom:1.5rem}.ticker-form-header{padding:1.5rem 1.5rem .5rem}.ticker-form-header-row{display:flex;align-items:center;justify-content:center;gap:.75rem}.ticker-form-header-row svg{width:20px;height:20px;color:var(--color-primary)}.ticker-form-title{font-size:1.125rem;font-weight:600;color:#18181b;margin:0}.ticker-form-content{padding:.75rem 1.5rem 1.5rem}.ticker-form-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.ticker-input-group{display:flex;align-items:center;gap:.75rem}.form-label-inline{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap}.form-label-inline svg{width:16px;height:16px;color:#6b7280}.ticker-input{width:140px;text-transform:uppercase;font-family:var(--font-mono);font-weight:600;letter-spacing:.05em}.period-mode-group{display:flex;gap:1rem;padding:.5rem 1rem;background:#f9fafb;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.period-mode-option{display:flex;align-items:center;cursor:pointer}.period-mode-option input[type=radio]{appearance:none;width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-radius:50%;margin-right:.5rem;cursor:pointer;position:relative;transition:all .2s ease;background:#fff}.period-mode-option input[type=radio]:checked{border-color:var(--color-primary);background:var(--color-primary)}.period-mode-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.period-mode-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;transition:color .2s ease}.period-mode-option:hover .period-mode-label{color:var(--color-primary)}.period-mode-icon{display:flex;align-items:center;justify-content:center}.period-mode-icon .period-mode-svg{width:20px;height:20px;transition:transform .2s ease,filter .2s ease}.period-mode-option:hover .period-mode-svg{transform:scale(1.1);filter:drop-shadow(0 0 4px rgba(0,208,148,.5))}.period-mode-option input[type=radio]:checked+.period-mode-label .period-mode-svg{filter:drop-shadow(0 0 6px rgba(0,208,148,.6))}.btn-apply{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--color-primary) 0%,#10B981 100%);color:#fff;font-weight:600;font-size:.875rem;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease}.btn-apply:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d09466}.btn-apply:disabled{opacity:.5;cursor:not-allowed}.btn-apply svg{width:16px;height:16px}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:.875rem}.chart-card{margin-bottom:1.5rem;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 4px 20px #00000014}.chart-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.08);flex-wrap:wrap;gap:1rem;background:#fafafa}.chart-title-row{display:flex;align-items:center;gap:.75rem}.chart-title-row svg{width:20px;height:20px;color:var(--color-primary)}.chart-title{font-size:1.125rem;font-weight:600;color:#18181b}.selected-period-badge{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#f3f4f6;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.period-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.period-dates{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-weight:600}.entry-date{color:#16a34a}.exit-date{color:#dc2626}.period-arrow{color:#9ca3af}.period-mode-badge{padding:.25rem .5rem;background:#dbeafe;color:#2563eb;font-size:.75rem;font-weight:600;border-radius:4px}.period-mode-badge.crossing{background:#fef3c7;color:#d97706}.chart-actions{display:flex;justify-content:center;padding:1.5rem;border-top:1px solid rgba(0,0,0,.08);background:#fafafa}.btn-analyze{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-primary) 0%,#10B981 100%);color:#fff;font-weight:600;font-size:1rem;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease}.btn-analyze:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00d09466}.btn-analyze svg{width:20px;height:20px}.pattern-preview-chart-container{padding:1rem 1.5rem;background:#fff}.pattern-preview-chart{cursor:crosshair}.pattern-preview-chart.dragging{cursor:pointer}.pattern-chart-instructions{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;padding:.625rem 1rem;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px;font-size:.8rem;color:#6b7280}.instruction-icon{font-size:1rem}.instruction-text .entry-label{color:#16a34a;font-weight:600}.instruction-text .exit-label{color:#dc2626;font-weight:600}.loading-card{padding:3rem;text-align:center;background:#fff!important;border:1px solid rgba(0,0,0,.1)!important;border-radius:16px;box-shadow:0 4px 20px #00000014}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-whale{width:80px;height:80px}.loading-logo{width:60px;height:60px;animation:loadingLogoSpin 2s linear infinite}@keyframes loadingLogoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-content p{color:#6b7280;font-size:.95rem}.loading-content strong{color:#18181b;font-family:var(--font-mono)}@media(max-width:768px){.ticker-form-row{flex-direction:column;align-items:stretch;gap:1rem}.ticker-input-group{width:100%}.ticker-input{flex:1;width:100%}.period-mode-group{flex-direction:column;gap:.75rem}.btn-apply{width:100%;justify-content:center}.chart-card-header{flex-direction:column;align-items:flex-start}.selected-period-badge{width:100%;justify-content:center}}.markets-hint{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#ecfeff;border:1px solid #A5F3FC;border-radius:.5rem;font-size:.875rem;color:#6b7280}.markets-hint-icon{font-size:1rem;flex-shrink:0}.markets-hint-text{line-height:1.4}.markets-hint-text strong{color:#18181b;font-weight:600}.markets-hint-link{color:var(--color-primary);text-decoration:none;font-weight:500;white-space:nowrap}.markets-hint-link:hover{text-decoration:underline}@media(max-width:640px){.markets-hint{flex-direction:column;text-align:center;gap:.25rem}}.app-page-wrapper .empty-state{background:linear-gradient(145deg,#fff,#f9fafb);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px #00000014}.app-page-wrapper .empty-state-gradient{background:radial-gradient(ellipse at center,rgba(0,208,148,.08) 0%,transparent 70%)}.app-page-wrapper .empty-state-whale-bg{background:radial-gradient(circle,rgba(0,208,148,.15) 0%,transparent 70%)}.app-page-wrapper .empty-state-title{color:#18181b}.app-page-wrapper .empty-state-description{color:#6b7280}.app-page-wrapper .quick-tip{background:#f3f4f6;border:.5px solid rgba(0,0,0,.08);color:#374151}.app-page-wrapper .quick-tip:hover{border-color:#00d0944d;background:#e5e7eb;color:#18181b}.app-page-wrapper .quick-tip-dot{background:var(--color-primary)}.app-page-wrapper .highlight-badge{background:#00d09426;color:#059669}.app-page-wrapper .period-section{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px #00000014}.app-page-wrapper .period-header{border-bottom:1px solid rgba(0,0,0,.08)}.app-page-wrapper .period-header-icon{background:#00d0941a}.app-page-wrapper .period-header-title{color:#18181b}.app-page-wrapper .period-header-hint{color:#9ca3af}.app-page-wrapper .period-label-text{color:#6b7280}.app-page-wrapper .period-btn{background:#f9fafb;border:1px solid rgba(0,0,0,.08)}.app-page-wrapper .period-btn:hover{background:#00d09414;border-color:#00d0944d}.app-page-wrapper .period-btn-name{color:#18181b}.app-page-wrapper .period-btn-date{color:#6b7280}.app-page-wrapper .period-btn-earnings,.app-page-wrapper .period-btn-qtr{background:#f9fafb;border:1px solid rgba(0,0,0,.08)}.app-page-wrapper .period-btn-earnings span:first-child,.app-page-wrapper .period-btn-qtr span:first-child{color:#18181b}.app-page-wrapper .period-btn-earnings span:last-child,.app-page-wrapper .period-btn-qtr span:last-child{color:#6b7280}.app-page-wrapper .period-btn-earnings:hover{background:#3b82f614;border-color:#3b82f64d}.app-page-wrapper .period-btn-qtr:hover{background:#8b5cf614;border-color:#8b5cf64d}
