@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-50: #e3f2fd;--primary-100: #bbdefb;--primary-500: #2196f3;--primary-600: #1976d2;--primary-700: #1565c0;--surface-0: #0a0e17;--surface-1: #111827;--surface-2: #1f2937;--surface-3: #374151;--surface-variant: rgba(255, 255, 255, .05);--on-surface: #ffffff;--on-surface-variant: #9ca3af;--on-primary: #ffffff;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--elevation-1: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--elevation-2: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--elevation-3: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--elevation-4: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--surface-0);color:var(--on-surface);line-height:1.5;height:100vh;display:flex;flex-direction:column;overflow:hidden}.progress-container{position:fixed;top:0;left:0;right:0;z-index:99;height:2px}.progress-bar{height:2px;background:var(--surface-2);opacity:0;transition:opacity var(--transition-normal)}.progress-bar.show{opacity:1}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));width:0%;transition:width var(--transition-normal)}.main-container{flex:1;display:grid;grid-template-columns:1fr 3fr 1fr;gap:var(--space-6);padding:var(--space-6);max-width:1400px;margin:0 auto;width:100%;height:100vh;box-sizing:border-box;overflow:hidden}.card{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:var(--radius-xl);box-shadow:var(--elevation-2);height:100%;max-height:calc(100vh - calc(var(--space-6) * 2));overflow:hidden;display:flex;flex-direction:column;transition:var(--transition-normal);margin:0}.card:hover{box-shadow:var(--elevation-3)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--surface-3)}.card-header h2{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-1);color:var(--on-surface)}.card-subtitle{color:var(--on-surface-variant);font-size:.875rem}.card-content{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.card-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.model-selector-container{display:flex;align-items:center;gap:var(--space-2)}.model-selector-container .select-input{flex-grow:1}.icon-btn{background:var(--surface-3);color:var(--on-surface-variant);border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-btn:hover{background:var(--surface-2);color:var(--on-surface)}.model-info-display{background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-2);font-size:.75rem;color:var(--on-surface-variant);display:none;animation:slideIn var(--transition-normal)}.model-info-display.show{display:block}.model-info-display p{margin:0 0 var(--space-1) 0;line-height:1.4}.model-info-display p:last-child{margin-bottom:0}.model-info-display strong{color:var(--on-surface);font-weight:500}.slider-container{display:flex;align-items:center;gap:var(--space-4)}.analysis-type-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--on-surface-variant);margin-bottom:var(--space-2);transition:var(--transition-fast)}.analysis-type-indicator.deep-analysis{background:#2196f31a;border-color:var(--primary-500);color:var(--primary-500)}.analysis-type-indicator.portfolio-analysis{background:#10b9811a;border-color:var(--success);color:var(--success)}.indicator-icon{font-size:.75rem}.indicator-text{font-weight:500}.slider-input{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:var(--surface-3);border-radius:var(--radius-sm);outline:none;transition:opacity .2s}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-500);cursor:pointer;border-radius:50%;border:2px solid var(--surface-1)}.slider-input::-moz-range-thumb{width:20px;height:20px;background:var(--primary-500);cursor:pointer;border-radius:50%;border:2px solid var(--surface-1)}.slider-value{font-size:.875rem;font-weight:500;color:var(--on-surface);background:var(--surface-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:3ch;text-align:center}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:.875rem;font-weight:500;color:var(--on-surface)}.text-input,.select-input{padding:var(--space-4);border:1px solid var(--surface-3);border-radius:var(--radius-md);background:var(--surface-2);color:var(--on-surface);font-family:inherit;font-size:.875rem;transition:var(--transition-fast)}.text-input:focus,.select-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px #2196f333}.input-with-action{display:flex;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--surface-3);transition:var(--transition-fast)}.input-with-action:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 2px #2196f333}.input-with-action .text-input{flex:1;border:none;border-radius:0}.add-btn{width:48px;height:48px;border:none;background:var(--primary-500);color:var(--on-primary);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.add-btn:hover{background:var(--primary-600)}.ticker-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-title{font-size:.875rem;font-weight:500;color:var(--on-surface)}.ticker-count{font-size:.75rem;color:var(--on-surface-variant);background:var(--surface-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.ticker-chips{min-height:60px;padding:var(--space-2);border:1px solid var(--surface-3);border-radius:var(--radius-md);background:var(--surface-2);display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:flex-start;align-content:flex-start}.ticker-chips.empty{justify-content:center;align-items:center}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--on-surface-variant);text-align:center}.empty-icon{font-size:1.25rem;opacity:.5}.empty-text{font-size:.875rem}.ticker-chip{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--primary-500);color:var(--on-primary);border-radius:var(--radius-md);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);animation:slideIn var(--transition-normal)}.ticker-chip:hover{background:var(--primary-600);transform:translateY(-1px)}.ticker-remove{width:14px;height:14px;border-radius:50%;background:#fff3;border:none;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.625rem;transition:var(--transition-fast)}.ticker-remove:hover{background:#ffffff4d}.primary-btn{background:var(--primary-500);color:var(--on-primary);border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);position:relative;overflow:hidden;min-height:48px;display:flex;align-items:center;justify-content:center}.primary-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--elevation-3)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.secondary-btn{background:var(--surface-3);color:var(--on-surface);border:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.secondary-btn:hover{background:var(--surface-2)}.outline-btn{background:transparent;color:var(--on-surface);border:1px solid var(--surface-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.outline-btn:hover{background:var(--surface-variant);border-color:var(--surface-2)}.btn-content,.btn-loading{display:flex;align-items:center;gap:var(--space-2)}.btn-loading{position:absolute;opacity:0}.primary-btn.loading .btn-content{opacity:0}.primary-btn.loading .btn-loading{opacity:1}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.help-text{font-size:.75rem;color:var(--on-surface-variant);text-align:center}.status-panel{display:flex;flex-direction:column;height:100%}.status-card{flex:1;display:flex;flex-direction:column;height:100%}.status-content{flex:1;padding:var(--space-6);display:flex;align-items:center;justify-content:center}.status-state{text-align:center;display:none;flex-direction:column;align-items:center;gap:var(--space-4)}.status-state.active{display:flex}.status-icon{font-size:3rem;margin-bottom:var(--space-2)}.status-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-1)}.status-message{color:var(--on-surface-variant);font-size:.875rem}.loading-animation{margin-bottom:var(--space-4)}.chart-animation{display:flex;justify-content:center;gap:var(--space-1);height:60px;align-items:end}.chart-animation .bar{width:8px;background:var(--primary-500);border-radius:var(--radius-sm);animation:bounce 1.4s ease-in-out infinite}.chart-animation .bar:nth-child(1){animation-delay:0s}.chart-animation .bar:nth-child(2){animation-delay:.1s}.chart-animation .bar:nth-child(3){animation-delay:.2s}.chart-animation .bar:nth-child(4){animation-delay:.3s}.chart-animation .bar:nth-child(5){animation-delay:.4s}.loading-steps{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-6)}.step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);opacity:.4;transition:opacity var(--transition-normal)}.step.active{opacity:1}.step-indicator{width:12px;height:12px;border-radius:50%;background:var(--surface-3);transition:var(--transition-normal)}.step.active .step-indicator{background:var(--primary-500)}.step-label{font-size:.75rem;color:var(--on-surface-variant)}.results-panel{display:flex;flex-direction:column;height:100%}.results-card{flex:1;display:flex;flex-direction:column;height:100%}.results-content{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;max-height:100%}.report-header{padding:var(--space-6);border-bottom:1px solid var(--surface-3);flex-shrink:0}.report-body{flex:1;padding:var(--space-6);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;position:relative}.report-body::-webkit-scrollbar{width:10px}.report-body::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--radius-sm)}.report-body::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-sm);transition:var(--transition-fast);border:2px solid var(--surface-2)}.report-body::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}.report-body{scrollbar-width:thin;scrollbar-color:var(--surface-3) var(--surface-2);scroll-behavior:smooth}.report-content{background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--radius-md);padding:var(--space-6);line-height:1.7;font-size:.875rem;word-break:break-word}.report-actions{padding:var(--space-6);border-top:1px solid var(--surface-3);display:flex;gap:var(--space-3);justify-content:center;flex-shrink:0}.explorer-panel{display:flex;flex-direction:column;height:100%}.file-tree{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.folder{border:1px solid var(--surface-3);border-radius:var(--radius-md);background:var(--surface-2);transition:var(--transition-fast)}.folder:hover{background:var(--surface-3);cursor:pointer}.folder-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.folder-icon{font-size:1.125rem}.folder-name{flex:1;font-size:.875rem;font-weight:500;color:var(--on-surface)}.folder-count{font-size:.75rem;color:var(--on-surface-variant);background:var(--surface-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.file-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.chat-panel{display:flex;flex-direction:column;height:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,40%,to{height:20px}20%{height:40px}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px) and (min-width: 769px){.main-container{grid-template-columns:300px 1fr;grid-template-rows:1fr auto;gap:var(--space-4);padding:var(--space-4);max-width:none}.explorer-panel{grid-column:1;grid-row:1 / -1}.results-panel{grid-column:2;grid-row:1}.chat-panel{grid-column:2;grid-row:2}.card{max-height:none}.card-content{padding:var(--space-4);gap:var(--space-4)}}@media (max-width: 768px){body{overflow-y:auto;height:auto;min-height:100vh}.main-container{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;padding:var(--space-3);gap:var(--space-3);height:auto;min-height:calc(100vh - calc(var(--space-3) * 2));overflow:visible}.card{max-height:none;height:auto;min-height:auto}.card-content{padding:var(--space-4);gap:var(--space-3)}.card-header{padding:var(--space-4)}.chat-panel{order:1}.results-panel{order:2;min-height:50vh}.explorer-panel{order:3}.text-input,.select-input{padding:var(--space-3) var(--space-4);font-size:16px;min-height:44px}.primary-btn{min-height:48px;padding:var(--space-3) var(--space-6);font-size:1rem}.secondary-btn,.outline-btn{min-height:44px;padding:var(--space-3) var(--space-4);font-size:.9rem}.add-btn{width:44px;height:44px;font-size:1.25rem}.ticker-chips{min-height:80px;padding:var(--space-3)}.ticker-chip{padding:var(--space-2) var(--space-3);font-size:.875rem;min-height:36px;display:flex;align-items:center}.slider-input{height:12px}.slider-input::-webkit-slider-thumb{width:24px;height:24px}.slider-input::-moz-range-thumb{width:24px;height:24px}.report-body{padding:var(--space-4);font-size:.9rem;line-height:1.6}.report-content{padding:var(--space-4);font-size:.9rem}.status-content{padding:var(--space-4)}.status-icon{font-size:2rem}.status-title{font-size:1rem}.status-message{font-size:.875rem}.loading-steps{flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.step{flex-direction:row;gap:var(--space-3);justify-content:center}.step-label{font-size:.875rem}.report-actions{padding:var(--space-4);flex-direction:column;gap:var(--space-3)}.report-actions button{width:100%;justify-content:center}}@media (max-width: 480px){.main-container{padding:var(--space-2);gap:var(--space-2)}.card-content{padding:var(--space-3);gap:var(--space-3)}.card-header{padding:var(--space-3)}.card-header h2{font-size:1.125rem}.card-subtitle{font-size:.8125rem}.text-input,.select-input{font-size:14px;padding:var(--space-2) var(--space-3)}.primary-btn{font-size:.9rem;padding:var(--space-3) var(--space-4)}.ticker-chip{font-size:.8125rem;padding:var(--space-1) var(--space-2)}.report-content{padding:var(--space-3);font-size:.875rem}.folder-header{padding:var(--space-2) var(--space-3)}.folder-name{font-size:.8125rem}}@media (max-width: 768px) and (orientation: landscape){.main-container{grid-template-columns:300px 1fr;grid-template-rows:1fr auto;height:100vh;overflow:hidden}.chat-panel{order:initial;grid-column:1;grid-row:1}.results-panel{order:initial;grid-column:2;grid-row:1 / -1}.explorer-panel{order:initial;grid-column:1;grid-row:2}.card{overflow:hidden}.results-panel .card{height:100%}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.chart-animation .bar{border-radius:calc(var(--radius-sm) / 2)}.step-indicator{border:1px solid rgba(255,255,255,.1)}}@media (prefers-reduced-motion: reduce){.ticker-chip{animation:none}.chart-animation .bar{animation:none;height:30px}.progress-fill{transition:none}}@media (max-height: 700px){.main-container{padding:var(--space-2);gap:var(--space-2)}.card-content{padding:var(--space-3);gap:var(--space-2)}.card-header{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-3)}.status-content,.results-empty{padding:var(--space-3)}.status-icon{font-size:2rem;margin-bottom:var(--space-1)}.loading-animation{margin-bottom:var(--space-2)}}@media (max-width: 768px){html,body{position:fixed;overflow:hidden;width:100%;height:100%}.main-container{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}button,.ticker-chip,.folder{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.report-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.text-input:focus{transform:translateZ(0)}.main-container{padding-bottom:env(safe-area-inset-bottom,0)}.card{transform:translateZ(0)}}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;max-width:calc(100vw - 2rem)}.toast{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);box-shadow:var(--elevation-3);pointer-events:auto;opacity:0;transform:translateY(-20px);transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--space-2);max-width:100%;word-wrap:break-word}.toast.show{opacity:1;transform:translateY(0)}.toast.toast-error{border-color:var(--error);background:#ef44441a}.toast.toast-success{border-color:var(--success);background:#10b9811a}.toast.toast-warning{border-color:var(--warning);background:#f59e0b1a}.toast-message{flex:1;color:var(--on-surface);font-size:.875rem}.toast-close{background:none;border:none;color:var(--on-surface-variant);cursor:pointer;font-size:1.125rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-fast)}.toast-close:hover{background:var(--surface-variant);color:var(--on-surface)}@media (max-width: 768px){.loading-steps{padding:var(--space-4)}.chart-animation{height:40px;margin:var(--space-4) 0}.chart-animation .bar{width:6px}}@media (display-mode: standalone){.main-container{padding-top:calc(var(--space-3) + env(safe-area-inset-top,0))}}@media (max-width: 768px){*{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.card{will-change:transform}.progress-fill{will-change:width}.spinner{will-change:transform}}.mobile-device .touch-active{transform:scale(.95);opacity:.8;transition:all .1s ease}.mobile-device button.touch-active{background:var(--primary-600)}.mobile-device .ticker-chip.touch-active{background:var(--primary-700);transform:scale(.95)}.mobile-device .folder.touch-active{background:var(--surface-2);transform:translateY(1px)}.keyboard-open .main-container{height:50vh;overflow-y:auto}.keyboard-open .chat-panel{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface-0);border-top:1px solid var(--surface-3)}.landscape .main-container{grid-template-columns:320px 1fr;grid-template-rows:1fr auto}.portrait .main-container{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}@supports (-webkit-touch-callout: none){.main-container{min-height:-webkit-fill-available}.card{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.text-input,.select-input{background-clip:padding-box}}@media (max-width: 768px){html{scroll-behavior:smooth}.main-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}@media (max-width: 768px){.primary-btn.loading{pointer-events:none}.primary-btn.loading .spinner{width:20px;height:20px}.loading-animation{transform:translateZ(0)}}@media (max-width: 768px){*:focus-visible{outline:3px solid var(--primary-500);outline-offset:3px}.card-subtitle,.help-text,.on-surface-variant{color:#b3b3b3}.report-content{line-height:1.7;letter-spacing:.01em}}
