@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-1Thin.woff) format("woff");font-weight:100;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-2ExtraLight.woff) format("woff");font-weight:200;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff) format("woff");font-weight:500;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff) format("woff");font-weight:600;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-7ExtraBold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-8Heavy.woff) format("woff");font-weight:800;font-display:swap}@font-face{font-family:S-Core Dream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-9Black.woff) format("woff");font-weight:900;font-display:swap}body{margin:0;font-family:Pretendard,SUIT,S-Core Dream,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;color:#1c1e21}h1,h2,h3,h4,h5,h6{font-family:Pretendard,SUIT,S-Core Dream,Noto Sans KR,sans-serif}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{display:flex;flex-direction:column;min-height:100vh}:root{--primary-brand: #78BE20;--primary-brand-dark: #5A9E10;--primary-brand-light: #A8D86E;--primary-brand-rgb: 120, 190, 32;--primary-brand-light-rgb: 168, 216, 110;--accent-color: #5A9E10;--accent-color-dark: #3D7A00;--warning-color: #F59E0B;--danger-color: #EF4444;--background-main: #F9F8F6;--background-content: #FFFFFF;--background-elevated: #FFFFFF;--text-primary: #000000;--text-secondary: #545045;--text-tertiary: #8A8A8A;--text-on-brand: #FFFFFF;--text-link: var(--text-secondary);--border-primary: #E0DCD5;--border-secondary: #EDEAE6;--accent-gold: #BFA14A;--accent-silver: #C0C0C0;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .07), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .05);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--font-family-sans: "Pretendard", "SUIT", "S-Core Dream", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--navbar-height: 64px;--navbar-height-mobile: 56px;--vertical-nav-width: 260px}*,*:before,*:after{box-sizing:border-box}body,html,#root{margin:0;padding:0;height:100%;font-family:var(--font-family-sans);background-color:var(--background-main);overflow-x:hidden;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.App-content-area{display:flex;flex-direction:row;flex-grow:1;height:calc(100vh - var(--navbar-height));overflow:hidden}@media(max-width:768px){.App-content-area{height:calc(100vh - var(--navbar-height-mobile))}}.App-main-content{flex-grow:1;overflow-y:auto;padding:24px;background-color:var(--background-main)}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-secondary)}.page-header h1{font-size:1.75rem;color:var(--text-primary);font-weight:600;margin:0;line-height:1.3}.page-header p.subtitle{font-size:.95rem;color:var(--text-secondary);margin-top:4px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-main);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--border-radius-sm);transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}code{font-family:var(--font-family-mono);background-color:var(--background-main);padding:.2em .4em;margin:0;font-size:.875em;border-radius:var(--border-radius-sm);color:var(--accent-color-dark)}pre{background-color:#2d2d2d;color:#ccc;padding:1em;border-radius:var(--border-radius-md);overflow-x:auto;margin:1em 0;border:1px solid #3f3f3f;box-shadow:var(--shadow-sm)}pre code{background-color:transparent;padding:0;margin:0;font-size:1em;color:inherit}.message-text pre code .token.keyword{color:#cc99cd}.message-text pre code .token.string{color:#7ec699}.message-text pre code .token.comment{color:#999}.message-text pre code .token.number,.message-text pre code .token.boolean{color:#f08d49}.message-text pre code .token.function{color:#6196ee}.message-text pre code .token.class-name{color:#ffda7b}.message-text pre code .token.operator,.message-text pre code .token.punctuation{color:#ccc}.App-header{background-color:#282c34;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;color:#fff}.chat-interface-page{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--background-content);box-sizing:border-box;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.page-header.chat-page-header{margin-bottom:0;border-bottom:2px solid var(--primary-brand);padding:16px 20px;flex-shrink:0}.page-header.chat-page-header{display:flex;align-items:center;justify-content:space-between}.page-header.chat-page-header h1{font-size:1.25rem;color:var(--accent-color-dark);font-weight:600}.agent-detailed-description{white-space:pre-line;text-align:right;font-size:.8rem;color:var(--text-secondary);margin-top:4px;margin-bottom:0}.session-id-badge{font-size:.75rem;color:var(--text-secondary);background-color:var(--background-secondary, #f0f0f0);padding:4px 10px;border-radius:12px;font-family:JetBrains Mono,monospace;cursor:default}.chat-interface{display:flex;flex-direction:column;flex-grow:1;width:100%;background-color:var(--background-content);overflow:hidden}.chat-messages{flex-grow:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;max-width:70%;width:70%;animation:fadeIn .3s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message.user{align-self:flex-end}.message.bot{align-self:flex-start}.message.system{align-self:center;font-style:normal;color:var(--text-secondary);max-width:90%;width:90%;text-align:left;font-size:.9rem;margin:12px 0}.message.system.agent-trace-message{max-width:95%;width:95%;align-self:flex-start}.message-bubble{padding:10px 16px;border-radius:var(--border-radius-lg);line-height:1.6;word-wrap:break-word;box-shadow:var(--shadow-sm);text-align:left;font-size:.9rem;width:100%;overflow-x:auto}.message.user .message-bubble{background-color:#5a9e10;color:#fff;border-bottom-right-radius:var(--border-radius-sm)}.message.bot .message-bubble{background-color:var(--background-main);color:var(--text-primary);border:1px solid var(--border-secondary);border-bottom-left-radius:var(--border-radius-sm);box-shadow:none}.message.system .message-bubble{background-color:transparent;color:var(--text-tertiary);border:none;box-shadow:none;padding:4px 10px}.message.system.agent-trace-message .message-bubble{padding:0;width:100%}.message-text{margin:0}.message-text strong,.message-text b{font-weight:700}.message.bot .message-text strong,.message.bot .message-text b{color:var(--text-primary);font-weight:700}.message.user .message-text strong,.message.user .message-text b{color:#fff;font-weight:700}.message-text>div>table{display:block;max-width:100%;overflow-x:auto}.message.user .message-text,.message.user .message-text p,.message.user .message-text code{color:var(--text-on-brand)}.message.user .message-text a{color:var(--text-on-brand);text-decoration:underline}.message.user .message-text :not(pre)>code{background-color:#ffffff26;border-color:#ffffff4d;color:var(--text-on-brand)}.message-timestamp{display:block;font-size:.7rem;margin-top:6px;text-align:right;opacity:.6}.message.user .message-timestamp{color:#0009}.message.bot .message-timestamp{color:var(--text-tertiary)}.attachments{margin-top:5px;margin-bottom:5px;display:flex;flex-direction:column;gap:8px}.attachments img{max-width:450px;max-height:400px;border-radius:8px;cursor:pointer;transition:transform .2s ease-in-out;border:1px solid var(--border-secondary)}.attachments img:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}.chat-input-area{display:flex;padding:16px 20px;border-top:1px solid var(--border-secondary);background-color:var(--background-content);align-items:center;flex-shrink:0}.chat-input-area input[type=text]{flex-grow:1;padding:12px 18px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);font-size:.95rem;margin-right:12px;outline:none;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;background-color:var(--background-content);color:var(--text-primary)}.chat-input-area input[type=text]:focus{border-color:var(--primary-brand);box-shadow:0 0 0 3px rgba(var(--primary-brand-rgb),.2)}.chat-input-area input[type=text]:disabled{background-color:var(--background-main);cursor:not-allowed}.chat-input-area button{background-color:var(--primary-brand);color:var(--text-on-brand);border:none;border-radius:var(--border-radius-md);width:auto;padding:0 16px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease;outline:none;flex-shrink:0;font-weight:500}.chat-input-area button.icon-only{width:46px;padding:0;border-radius:50%}.chat-input-area button svg{width:20px;height:20px;fill:currentColor}.chat-input-area button:hover:not(:disabled){background-color:var(--primary-brand-dark)}.chat-input-area button:active:not(:disabled){transform:scale(.97)}.chat-input-area button:disabled{background-color:var(--border-primary);color:var(--text-tertiary);cursor:not-allowed}.loader{border:3px solid var(--background-main);border-top:3px solid var(--primary-brand);border-radius:50%;width:20px;height:20px;animation:spin .8s linear infinite}.question-selector{position:relative;flex-shrink:0}.question-selector-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;background-color:var(--background-content);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.question-selector-btn:hover:not(:disabled){border-color:var(--accent-color);background-color:var(--background-main)}.question-selector-btn:disabled{opacity:.6;cursor:not-allowed}.question-selector-btn .question-icon{font-size:1.1rem}.question-selector-btn .question-label{font-weight:500;color:var(--text-primary)}.question-selector-btn .dropdown-arrow{font-size:.7rem;color:var(--text-tertiary);margin-left:4px}.question-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:350px;max-width:500px;max-height:400px;overflow-y:auto;background-color:var(--background-content);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1000}.question-option{display:flex;flex-direction:column;gap:4px;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--border-secondary)}.question-option:last-child{border-bottom:none}.question-option:hover{background-color:var(--accent-color);color:#fff}.question-option:hover .question-heading,.question-option:hover .question-text{color:#fff}.question-heading{font-size:.85rem;font-weight:600;color:var(--accent-color-dark)}.question-text{font-size:.9rem;color:var(--text-secondary);white-space:normal;line-height:1.4}.file-previews{display:flex;flex-wrap:wrap;gap:12px;padding:12px 20px;border-top:1px solid var(--border-secondary);background-color:var(--background-main)}.file-preview-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.preview-image{width:100%;height:100%;object-fit:cover}.remove-file-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;background-color:#0009;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0;transition:background-color .2s}.remove-file-btn:hover{background-color:#000c}.upload-btn{background-color:transparent;border:none;padding:0 12px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.upload-btn:hover{color:var(--primary-brand)}.typing-indicator{margin:16px 0}.typing-indicator .message-bubble{background:linear-gradient(135deg,#fff,#f8f9fa);color:var(--text-primary);border:2px solid #e0e0e0;border-radius:12px;display:flex;align-items:center;padding:16px 20px;box-shadow:0 2px 8px #0000001a;min-height:60px}.typing-text{margin-right:12px;font-size:.95rem;font-weight:500;color:var(--text-primary);letter-spacing:-.2px}.typing-dots{display:flex;align-items:center;gap:4px}.dot{width:8px;height:8px;margin:0 3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both;box-shadow:0 2px 4px #667eea4d}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1.2);opacity:1}}.message-text table{border-collapse:collapse;margin:1.5em 0;border:1px solid var(--border-secondary);box-shadow:var(--shadow-sm);border-radius:var(--border-radius-md);overflow:hidden}.message-text th,.message-text td{border:1px solid var(--border-secondary);padding:12px 14px;text-align:left;font-size:.875rem}.message-text th{background-color:var(--background-main);font-weight:600;color:var(--text-primary)}.message-text tr:nth-child(2n) td{background-color:var(--background-main)}.message-text tr:hover td{background-color:var(--primary-brand-light)!important;color:var(--primary-brand-dark)}.message-text :not(pre)>code{background-color:var(--primary-brand-light);padding:.2em .5em;margin:0 .1em;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.85em;border:1px solid var(--primary-brand)}.message.user .message-text :not(pre)>code{background-color:#fff3;border-color:#ffffff4d;color:var(--text-on-brand)}.message-text blockquote{border-left:3px solid var(--primary-brand);padding-left:1em;color:var(--text-secondary);margin:1em 0;font-style:italic}.message-text ul,.message-text ol{margin:.8em 0;padding-left:1.5em}.message-text li{margin-bottom:.3em}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin-top:1.5em;margin-bottom:.8em;font-weight:600;color:var(--text-primary);line-height:1.3}.message-text h1{font-size:1.5em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.15em}.message-text p{margin-bottom:1em;line-height:1.6}.message-text img{max-width:100%;height:auto;border-radius:var(--border-radius-md);margin:.5em 0;box-shadow:var(--shadow-sm)}.image-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer;animation:fadeIn .3s ease-out}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;cursor:default;animation:fadeIn .3s ease-out}.image-modal-content img{width:100%;height:100%;object-fit:contain;border-radius:8px}.image-modal-close{position:absolute;top:-15px;right:5px;color:#fff;font-size:40px;font-weight:700;cursor:pointer;transition:color .3s;text-shadow:0 1px 3px rgba(0,0,0,.5)}.image-modal-close:hover{color:#bbb}.file-preview-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--background-main);border:1px dashed var(--border-secondary);border-radius:8px;padding:8px;box-sizing:border-box}.file-preview-placeholder svg{width:28px;height:28px;color:var(--text-tertiary);margin-bottom:4px}.file-preview-placeholder span{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.file-attachment{display:inline-flex;align-items:center;gap:8px;background-color:var(--background-main);border:1px solid var(--border-secondary);padding:8px 12px;border-radius:var(--border-radius-md);color:var(--text-primary);text-decoration:none;transition:background-color .2s ease,border-color .2s ease;max-width:100%}.file-attachment:hover{background-color:var(--primary-brand-light);border-color:var(--primary-brand)}.file-attachment svg{width:20px;height:20px;flex-shrink:0;color:var(--primary-brand)}.file-attachment span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.chat-messages{padding:16px;gap:12px}.message{max-width:80%}.message-bubble{padding:8px 12px;font-size:.85rem}.chat-input-area{padding:12px 16px}.chat-input-area input[type=text]{padding:10px 16px;font-size:.9rem}.chat-input-area button,.chat-input-area button.icon-only{height:42px}.chat-input-area button.icon-only{width:42px}.chat-input-area button svg{width:18px;height:18px}.question-selector-btn{padding:8px 12px;font-size:.85rem}.question-dropdown{min-width:280px;max-width:350px}}@media(max-width:480px){.message{max-width:90%}.page-header.chat-page-header h1{font-size:1.1rem}}.message.system.thought-bubble{max-width:70%;align-self:flex-start}.message.system.thought-bubble .message-bubble{background-color:var(--background-main);border:1px dashed var(--border-primary);box-shadow:none;padding:0}.thought-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;cursor:pointer;font-style:normal;font-weight:500;font-size:.85rem;color:var(--text-secondary)}.thought-header:hover{background-color:#00000005}.thought-toggle-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-tertiary);transition:transform .2s ease-in-out;padding:0 4px}.thought-toggle-btn.expanded{transform:rotate(180deg)}.thought-content{border-top:1px solid var(--border-secondary);padding:8px;max-height:300px;overflow-y:auto;background-color:#00000003}.thought-content pre{background-color:var(--background-content);border:1px solid var(--border-secondary);padding:10px;border-radius:var(--border-radius-sm);margin:8px 0;white-space:pre-wrap;word-wrap:break-word;font-size:.75rem;color:var(--text-secondary)}.message.analysis-message{max-width:85%;width:85%;align-self:flex-start}.analysis-bubble{background:transparent!important;box-shadow:none!important;padding:0!important;width:100%}.analysis-section{margin-bottom:16px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:box-shadow .3s ease;width:100%}.analysis-section:hover{box-shadow:0 4px 12px #00000026}.analysis-section.plan{background:linear-gradient(135deg,#e8f4f8,#d1e7f0);border-left:4px solid #2196f3}.analysis-section.progress{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff9800}.analysis-section.final-report{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:6px solid #4caf50;box-shadow:0 4px 16px #4caf504d}.analysis-section.evaluation{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #9c27b0}.section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;min-height:52px}.section-header:hover{background:#fffc}.analysis-section.final-report .section-header{background:#fffc;font-weight:700;min-height:56px}.section-title{font-weight:600;font-size:16px;color:#202124;letter-spacing:-.2px}.analysis-section.final-report .section-title{font-size:18px;color:#2e7d32}.section-toggle{background:none;border:none;color:#5f6368;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s;border-radius:4px}.section-toggle:hover{background:#0000000d}.section-toggle.expanded{transform:rotate(0)}.section-content{padding:16px 20px;background:#ffffffe6;animation:slideDown .3s ease-out;overflow-x:auto}.analysis-section.final-report .section-content{background:#fffffff2;padding:20px 24px}.section-content>*:first-child{margin-top:0}.section-content>*:last-child{margin-bottom:0}.section-content h1,.section-content h2,.section-content h3{margin-top:16px;margin-bottom:12px;color:#202124}.section-content h1{font-size:1.5rem;font-weight:700}.section-content h2{font-size:1.3rem;font-weight:600}.section-content h3{font-size:1.1rem;font-weight:600}.section-content ul,.section-content ol{margin-left:20px;margin-bottom:12px}.section-content li{margin-bottom:6px}.section-content p{margin-bottom:12px;line-height:1.7}.section-content code{background:#0000000d;padding:2px 6px;border-radius:3px;font-family:JetBrains Mono,Courier,monospace;font-size:.9em}.section-content pre{background:#f5f5f5;padding:12px;border-radius:6px;overflow-x:auto;margin:12px 0}.section-content table{width:100%;border-collapse:collapse;margin:12px 0}.section-content table th,.section-content table td{border:1px solid #ddd;padding:8px 12px;text-align:left}.section-content table th{background:#0000000d;font-weight:600}.analysis-section.final-report{animation:pulseGlow 2s ease-in-out}@keyframes pulseGlow{0%,to{box-shadow:0 4px 16px #4caf504d}50%{box-shadow:0 6px 24px #4caf5080}}.upload-guide{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#f0f7ff;border-top:1px solid #d0e3f7;color:#1a5276;font-size:.82rem;line-height:1.4;flex-shrink:0}.upload-guide svg{flex-shrink:0;color:#2e86c1}.upload-guide strong{color:#1a5276;font-weight:600}.chat-input-wrapper{display:flex;flex-direction:column;gap:0;background:var(--background-content);flex-shrink:0}.chat-input-wrapper .chat-input-area{border-top:none}.selector-row{display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px 20px;border-top:1px solid var(--border-secondary)}.agent-selector{position:relative;flex-shrink:0}.agent-selector-btn{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:var(--background-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:all .2s ease}.agent-selector-btn:hover:not(:disabled){background:var(--background-hover, #e8e8e8);border-color:var(--primary-brand, #1a73e8)}.agent-selector-btn:disabled{opacity:.6;cursor:not-allowed}.agent-selector-btn.open{border-color:var(--primary-brand, #1a73e8);box-shadow:0 0 0 2px #1a73e833}.agent-selector-btn .agent-icon{font-size:1.1rem;flex-shrink:0}.agent-selector-btn .agent-btn-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.agent-selector-btn .agent-btn-info .agent-name{font-weight:500;font-size:.9rem;color:var(--text-primary)}.agent-selector-btn .agent-btn-info .agent-description{font-size:.75rem;color:var(--text-secondary)}.agent-selector-btn .dropdown-arrow{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.agent-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--background-content, white);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;box-shadow:0 4px 20px #00000026;z-index:1000;overflow:hidden;min-width:280px}.agent-option{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s ease}.agent-option:hover{background:var(--background-hover, #f5f5f5)}.agent-option.active{background:#1a73e814}.agent-option .agent-icon{font-size:1.3rem;flex-shrink:0}.agent-option .agent-info{flex:1;display:flex;flex-direction:column;gap:2px}.agent-option .agent-info .agent-name{font-weight:500;color:var(--text-primary);font-size:.9rem}.agent-option .agent-info .agent-description{font-size:.7rem;color:var(--text-secondary)}.agent-option .check-mark{color:var(--primary-brand, #1a73e8);font-weight:700;font-size:1.1rem}.continue-button-container{display:flex;justify-content:center;padding:16px 0;margin-bottom:8px}.continue-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#78be20,#a8d86e);color:#fff;border:none;border-radius:24px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #78be204d}.continue-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #78be2066;background:linear-gradient(135deg,#5a9e10,#78be20)}.continue-button:active{transform:translateY(0);box-shadow:0 2px 8px #78be204d}.continue-icon{font-size:.85rem}@keyframes pulse{0%{box-shadow:0 4px 12px #0075c54d}50%{box-shadow:0 4px 20px #0075c580}to{box-shadow:0 4px 12px #0075c54d}}.continue-button{animation:pulse 2s infinite}.continue-button:hover{animation:none}.analysis-bubble .search-results-viewer{margin-top:20px;background:#fff;border:2px solid #4caf50;border-radius:12px;box-shadow:0 4px 12px #4caf5033}.analysis-bubble .search-results-header{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-bottom:1px solid #4caf50}.analysis-bubble .search-results-title{color:#2e7d32;font-weight:600}.analysis-bubble .url-summary-section{background:#f1f8e9;border:1px solid #81c784}.analysis-bubble .url-summary-header{background:#c8e6c9}.analysis-bubble .url-summary-title{color:#2e7d32}.message-bubble-content sup,.message-bubble-content [href^="[V"],.message-bubble-content [href^="[W"]{font-weight:600;font-size:.85em;padding:1px 4px;border-radius:3px;margin:0 1px;cursor:help;text-decoration:none;white-space:nowrap}.message-bubble-content :is(p,li,td,th,blockquote,span):not(.search-result-item *):not(.url-item *):after{content:""}.message-bubble-content a[href*="[V"],.message-bubble-content a[href*="[W"]{text-decoration:none}.message-bubble-content a[href*="[V"]:hover,.message-bubble-content a[href*="[W"]:hover{text-decoration:underline}.data-visualizer-container{width:100%;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-secondary)}.visualization-controls-container{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.visualize-btn{background-color:var(--primary-brand);color:var(--text-on-brand);border:none;border-radius:var(--border-radius-md);padding:10px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.visualize-btn:hover{background-color:var(--primary-brand-dark)}.chart-options-container{display:flex;flex-direction:column;gap:8px;background-color:var(--background-content);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);padding:12px;box-shadow:var(--shadow-lg);width:100%;max-width:300px;z-index:10}.chart-options-container h4{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border-secondary);font-size:1rem;font-weight:600;color:var(--text-primary)}.chart-options{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.chart-options::-webkit-scrollbar{width:6px}.chart-options::-webkit-scrollbar-track{background:var(--background-main);border-radius:3px}.chart-options::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.chart-options::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.chart-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.9rem;color:var(--text-primary);transition:background-color .2s ease}.chart-option:hover{background-color:var(--background-main)}.chart-option-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--primary-brand);fill:currentColor}.chart-option-icon svg{width:100%;height:100%}.chart-option-name{flex-grow:1}.charts-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:16px}.chart-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.chart-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;align-self:flex-start}.recharts-responsive-container{font-size:.8rem}.recharts-tooltip-wrapper{background:var(--background-content)!important;border:1px solid var(--border-secondary)!important;border-radius:var(--border-radius-sm)!important;box-shadow:var(--shadow-md)!important}.recharts-legend-item-text{color:var(--text-primary)!important}.instruction-input{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);font-size:.9rem;font-family:var(--font-family-sans);resize:vertical;min-height:60px;outline:none;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;background-color:var(--background-content);color:var(--text-primary)}.instruction-input:focus{border-color:var(--primary-brand);box-shadow:0 0 0 3px rgba(var(--primary-brand-rgb),.2)}.generate-chart-btn{background-color:var(--primary-brand);color:var(--text-on-brand);border:none;border-radius:var(--border-radius-md);padding:10px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;align-self:flex-start}.generate-chart-btn:hover:not(:disabled){background-color:var(--primary-brand-dark)}.generate-chart-btn:disabled{background-color:var(--border-primary);cursor:not-allowed}.chart-loader{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%;color:var(--text-secondary);font-style:italic;font-size:1rem;gap:12px}.chart-loader .loader{border:3px solid var(--background-main);border-top:3px solid var(--primary-brand);border-radius:50%;width:30px;height:30px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-error{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%;color:var(--danger-color);background-color:rgba(var(--danger-color-rgb),.05);border:1px dashed rgba(var(--danger-color-rgb),.3);border-radius:var(--border-radius-md);padding:16px;text-align:center}.chart-error-inline{color:var(--danger-color);font-size:.85rem;margin-bottom:8px}.agent-trace-viewer{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;padding:0;margin:20px 0;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:visible;width:100%;min-height:60px}.trace-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 18px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);min-height:52px}.trace-header:hover{background:#fffffff2}.trace-header-left{display:flex;align-items:center;gap:12px}.trace-icon{font-size:20px}.trace-title{font-weight:600;color:#202124;font-size:16px;letter-spacing:-.2px}.trace-count{background:#e8f0fe;color:#1967d2;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.trace-toggle{background:none;border:none;color:#5f6368;cursor:pointer;font-size:14px;padding:4px 8px;transition:all .2s;border-radius:4px}.trace-toggle:hover{background:#f1f3f4}.trace-toggle.expanded{transform:rotate(0)}.trace-timeline{padding:16px;position:relative;background:#ffffff80}.trace-event{display:flex;gap:20px;margin-bottom:20px;position:relative;min-height:80px}.event-marker{display:flex;flex-direction:column;align-items:center;position:relative}.event-icon{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026;color:var(--event-color, #757575);z-index:2;flex-shrink:0}.event-line{width:2px;flex-grow:1;background:linear-gradient(to bottom,var(--event-color, #e0e0e0) 0%,transparent 100%);margin-top:4px}.event-content{flex:1;background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 2px 6px #0000001f;border-left:4px solid var(--event-color, #e0e0e0);transition:all .2s;margin-bottom:8px;min-height:60px;word-wrap:break-word;overflow-wrap:break-word}.event-content:hover{box-shadow:0 4px 12px #00000026;transform:translate(2px)}.event-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.event-title{font-weight:500;color:#202124;font-size:14px}.event-expand-btn{background:#e8f0fe;color:#1967d2;border:none;padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s;font-weight:500}.event-expand-btn:hover{background:#d2e3fc;transform:translateY(-1px)}.event-expand-btn.expanded{background:#fce8e6;color:#d93025}.event-detail{margin-top:12px;padding-top:12px;border-top:1px solid #f1f3f4}.user-query{font-style:italic;color:#5f6368;font-size:13px;padding:8px 12px;background:#f8f9fa;border-radius:6px}.sql-query{background:#f8f9fa;border-radius:8px;padding:12px;position:relative}.sql-label{font-size:12px;color:#5f6368;font-weight:500;margin-bottom:8px}.sql-code{background:#263238;color:#aed581;padding:16px;border-radius:6px;overflow-x:auto;font-size:13px;line-height:1.6;margin:0;font-family:JetBrains Mono,Courier,monospace;white-space:pre-wrap;word-wrap:break-word}.copy-sql-btn{position:absolute;top:16px;right:16px;background:#fff;border:1px solid #dadce0;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s;font-weight:500;box-shadow:0 1px 2px #0000001a}.copy-sql-btn:hover{background:#f8f9fa;border-color:#1967d2;color:#1967d2;box-shadow:0 2px 4px #00000026}.copy-sql-btn:active{transform:scale(.95)}.result-count{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e8f5e9;border-radius:6px}.result-label{font-size:12px;color:#5f6368;font-weight:500}.result-value{font-size:14px;color:#1e8e3e;font-weight:600}.event-detail{animation:slideDown .3s ease-out}@media(max-width:768px){.agent-trace-viewer{padding:12px}.event-marker{display:none}.trace-event{gap:0}.event-content{border-left-width:2px}.sql-code{font-size:11px;padding:12px}.copy-sql-btn{position:static;margin-top:8px;width:100%}}.sql-code::-webkit-scrollbar{height:8px}.sql-code::-webkit-scrollbar-track{background:#37474f;border-radius:4px}.sql-code::-webkit-scrollbar-thumb{background:#546e7a;border-radius:4px}.sql-code::-webkit-scrollbar-thumb:hover{background:#607d8b}.analysis-request{background:#f3e5f5;border-left:3px solid #9c27b0;padding:12px;border-radius:4px;margin-top:8px}.analysis-label{font-weight:600;color:#9c27b0;font-size:.85rem;margin-bottom:6px}.analysis-text{color:#4a148c;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.analysis-result{background:#ede7f6;border-left:3px solid #673ab7;padding:12px;border-radius:4px;margin-top:8px}.analysis-preview{margin-top:10px;padding:10px;background:#fff;border-radius:4px}.analysis-preview .preview-label{font-weight:600;color:#673ab7;font-size:.85rem;margin-bottom:6px}.analysis-preview .preview-text{color:#4a148c;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.model-response{background:#e0f2f1;padding:12px;border-radius:8px;border-left:4px solid #00bcd4;margin-top:8px}.model-response .response-label{font-weight:600;color:#00838f;font-size:.85rem;display:block;margin-bottom:8px}.model-response .response-text{color:#004d40;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sub-agent-event{background:#f3e5f5!important;border-left-width:4px!important;border-left-style:solid!important;border-left-color:#9c27b0!important}.sub-agent-event .event-title{color:#6a1b9a!important}.sub-agent-event:before{content:"🔍 ";font-size:14px;margin-right:4px}.tool-call-detail{background:#fff3e0;padding:12px;border-radius:8px;border-left:4px solid #ff9800;margin-top:8px}.tool-call-detail .result-label{font-weight:600;color:#e65100;font-size:.85rem;display:block;margin-bottom:8px}.tool-call-detail .result-value{color:#bf360c;font-size:.95rem;font-weight:600;display:block;margin-bottom:8px}.tool-parameters{margin-top:10px}.tool-parameters .param-label{font-weight:600;color:#e65100;font-size:.85rem;display:block;margin-bottom:6px}.tool-parameters .param-content{background:#fff;color:#424242;padding:10px;border-radius:4px;font-size:.85rem;line-height:1.5;overflow-x:auto;font-family:JetBrains Mono,Courier,monospace;white-space:pre-wrap;word-break:break-word}.tool-result-detail{background:#f1f8e9;padding:12px;border-radius:8px;border-left:4px solid #8bc34a;margin-top:8px}.tool-result-detail .result-label{font-weight:600;color:#558b2f;font-size:.85rem;display:block;margin-bottom:8px}.tool-result-detail .result-content{color:#33691e;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,Courier,monospace;background:#fff;padding:8px;border-radius:4px}.agent-group{margin-bottom:20px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.agent-group:hover{box-shadow:0 4px 16px #00000026}.agent-group.depth-0{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e0e0e0}.agent-group.depth-1{margin-left:24px;margin-top:16px;background:linear-gradient(135deg,#f3e5f5,#fce4ec);border:2px solid #ce93d8}.agent-group.depth-2{margin-left:48px;margin-top:16px;background:linear-gradient(135deg,#e3f2fd,#e1f5fe);border:2px solid #81d4fa}.agent-group-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);transition:all .2s ease;min-height:52px}.agent-group-header:hover{background:#ffffffe6}.agent-header-left{display:flex;align-items:center;gap:12px}.agent-icon{font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.agent-name{font-weight:600;font-size:16px;color:#202124;letter-spacing:-.2px}.agent-event-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;box-shadow:0 2px 4px #667eea4d}.agent-toggle{background:none;border:none;color:#5f6368;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .2s;border-radius:6px}.agent-toggle:hover{background:#0000000d;transform:scale(1.1)}.agent-toggle.expanded{transform:rotate(0)}.agent-group-content{padding:16px 20px;background:#ffffff80}.in-group-event{margin-bottom:12px}.in-group-event .event-marker{margin-top:4px}.sub-agent-groups{margin-top:16px}.agent-group-content .event-content{background:#fff;box-shadow:0 1px 3px #00000014}.agent-group-content .event-content:hover{box-shadow:0 2px 8px #0000001f}.agent-group-content{animation:slideDown .3s ease-out}.result-preview{margin-top:12px}.preview-label{font-size:12px;color:#5f6368;font-weight:600;margin-bottom:8px}.preview-table{overflow-x:auto;border-radius:8px;box-shadow:0 1px 3px #0000001a}.preview-table table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.preview-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 12px;text-align:left;font-weight:600;border-bottom:2px solid #5a67d8}.preview-table td{padding:10px 12px;border-bottom:1px solid #e0e0e0;color:#202124}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover{background:#f8f9fa}.search-query-info{margin-bottom:12px;padding:8px 12px;background:#e3f2fd;border-radius:6px;border-left:3px solid #1976d2}.search-query-text{color:#1565c0;font-weight:500;font-size:.95rem;margin-top:4px}.found-urls-section{margin:12px 0;padding:12px;background:#e8f5e9;border-radius:8px;border-left:4px solid #4caf50}.found-urls-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.found-url-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:4px;border:1px solid #c8e6c9;transition:all .2s}.found-url-item:hover{background:#f1f8e9;border-color:#81c784}.url-index{color:#2e7d32;font-weight:600;font-size:.85rem;min-width:28px}.url-link{color:#1565c0;text-decoration:none;font-size:.85rem;word-break:break-all;transition:color .2s}.url-link:hover{color:#0d47a1;text-decoration:underline}.result-preview-collapsible{margin-top:12px;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.result-preview-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f5f5f5;cursor:pointer;transition:background .2s}.result-preview-header:hover{background:#eee}.preview-toggle{font-size:12px;color:#666}.result-preview-collapsible .result-content{padding:12px;background:#fff;border-top:1px solid #e0e0e0;max-height:300px;overflow-y:auto}.search-results-viewer{margin-top:12px;border:1px solid #e0e0e0;border-radius:8px;background:#f8f9fa;overflow:hidden}.search-results-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #e0e0e0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.search-results-header:hover{background:#f5f5f5}.search-results-title{flex:1;font-weight:500;font-size:14px;color:#333}.search-results-content{padding:16px;display:flex;flex-direction:column;gap:20px}.search-queries-section{background:#f0f7ff;border-left:4px solid #1967d2;padding:12px 16px;border-radius:6px}.search-queries-label{font-weight:600;color:#1967d2;font-size:14px;margin-bottom:10px}.search-queries-list{display:flex;flex-wrap:wrap;gap:8px}.search-query-item{background:#fff;border:1px solid #d2e3fc;padding:6px 12px;border-radius:16px;font-size:13px;color:#1967d2;font-weight:500}.search-results-section{background:#fafafa;border-radius:6px;overflow:hidden}.search-results-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f0f0f0;cursor:pointer;transition:background-color .2s}.search-results-section-header:hover{background:#e8e8e8}.search-results-section-label{font-weight:600;color:#202124;font-size:14px}.section-header-actions{display:flex;align-items:center;gap:10px}.search-results-list{display:flex;flex-direction:column;gap:12px;padding:12px}.search-result-item{display:flex;gap:12px;padding:12px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.search-result-number{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#1a73e8;color:#fff;border-radius:50%;font-size:12px;font-weight:600}.search-result-details{flex:1;display:flex;flex-direction:column;gap:6px}.search-result-title{font-weight:500;font-size:14px;color:#1a73e8;line-height:1.4}.search-result-title a{color:#1a73e8;text-decoration:none}.search-result-title a:hover{text-decoration:underline}.search-result-url{font-size:12px;color:#5f6368;word-break:break-all}.search-result-snippet{font-size:13px;color:#555;line-height:1.5;margin-top:4px}.search-result-confidence{font-size:12px;color:#1e8e3e;font-weight:500;margin-top:4px}.search-rendered-content{padding:12px;background:#fff3e0;border-radius:6px;border-left:3px solid #ff9800}.rendered-content-label{font-weight:600;font-size:13px;color:#ff9800;margin-bottom:8px}.search-rendered-content>div{font-size:13px;color:#333}.search-metadata{background:#e8f5e9;border-left:3px solid #4caf50;padding:10px 14px;border-radius:6px;display:flex;flex-wrap:wrap;gap:16px}.metadata-item{font-size:12px;color:#2e7d32;font-weight:500}.url-summary-section{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;overflow:hidden}.url-summary-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#bbdefb;cursor:pointer;transition:background-color .2s}.url-summary-header:hover{background:#90caf9}.url-summary-title{flex:1;font-weight:600;font-size:13px;color:#1565c0}.url-summary-actions{display:flex;align-items:center;gap:8px}.copy-all-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#1565c0;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.copy-all-btn:hover{background:#0d47a1}.copy-feedback{font-size:11px;color:#2e7d32;font-weight:500;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.url-summary-list{padding:8px 12px;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.url-summary-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.url-index{font-size:11px;color:#666;font-weight:600;min-width:24px}.url-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.url-title{font-size:13px;color:#1565c0;text-decoration:none;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.url-title:hover{text-decoration:underline}.url-domain{font-size:11px;color:#888}.copy-url-btn{padding:4px;background:transparent;border:1px solid #ddd;border-radius:4px;cursor:pointer;color:#666;transition:all .2s;flex-shrink:0}.copy-url-btn:hover{background:#f5f5f5;border-color:#1565c0;color:#1565c0}.copy-url-btn-inline{padding:2px 4px;background:transparent;border:none;cursor:pointer;color:#888;margin-left:6px;transition:color .2s}.copy-url-btn-inline:hover{color:#1565c0}.search-result-url{display:flex;align-items:center;font-size:12px;color:#5f6368}.search-result-url a{color:#5f6368;text-decoration:none;word-break:break-all}.search-result-url a:hover{color:#1a73e8;text-decoration:underline}.search-result-domain{font-size:11px;color:#888;background:#f5f5f5;padding:2px 6px;border-radius:3px;display:inline-block;margin-bottom:4px}.vertex-search-section{background:#fef7e0;border:1px solid #fdd835}.vertex-search-section .search-results-section-header{background:#fff8e1;border-bottom:1px solid #fdd835}.vertex-search-section .search-results-section-header:hover{background:#fff3c4}.vertex-search-section .search-results-section-label{color:#f57f17;display:flex;align-items:center;gap:8px}.vertex-search-section .search-results-section-label svg{color:#f57f17}.vertex-search-list{background:#fffde7}.vertex-search-item{border:1px solid #fdd835;background:#fff}.vertex-search-item .search-result-number{background:#f57f17;color:#fff}.vertex-doc-title{display:flex;align-items:center;gap:8px;color:#e65100!important}.vertex-doc-title svg{color:#e65100;flex-shrink:0}.search-result-doc-id{font-size:11px;color:#888;background:#fff8e1;padding:2px 8px;border-radius:4px;display:inline-block;border:1px solid #fdd835}.vertex-search-item .search-result-confidence{color:#e65100;background:#fff3e0;padding:2px 8px;border-radius:4px;display:inline-block}.vertex-doc-link{color:#e65100!important;text-decoration:none;font-weight:500}.vertex-doc-link:hover{text-decoration:underline!important;color:#bf360c!important}.search-result-gcs-uri{font-size:11px;color:#888;word-break:break-all;font-family:JetBrains Mono,monospace}.search-result-chunks{font-size:11px;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:4px;display:inline-block}.inline-chart-container{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e0e0e0}.inline-chart-title{margin:0 0 12px;padding:0;font-size:14px;font-weight:600;color:#333;text-align:center}.inline-chart-container .recharts-responsive-container{min-height:350px}.inline-chart-container .chart-error{padding:20px;text-align:center;color:#d32f2f;background:#ffebee;border-radius:8px}.vertical-nav{width:var(--vertical-nav-width);height:100%;background:var(--background-content);padding:24px 0;box-shadow:var(--shadow-md);display:flex;flex-direction:column;flex-shrink:0;color:var(--text-primary);transition:width .3s ease;border-right:1px solid var(--border-secondary)}.logo-container{margin-bottom:32px;padding:0 24px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px}.header-logo{max-width:140px;height:auto;max-height:36px;object-fit:contain}.session-info{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--border-radius-md);width:100%;box-sizing:border-box;cursor:default;border:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.session-info:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.session-info .session-label{font-size:.65rem;color:#6c757d;text-transform:uppercase;letter-spacing:1px;font-weight:600;display:flex;align-items:center;gap:6px}.session-info .session-label:before{content:"●";color:#28a745;font-size:.8rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.session-info .session-value{font-size:.75rem;color:#495057;font-family:JetBrains Mono,monospace;font-weight:600;word-break:break-all;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e9ecef}.logo-container img,.logo-container svg{height:36px;margin-right:12px}.logo-text-main{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.logo-text-subtitle{font-size:.75rem;color:var(--text-secondary);display:block;margin-top:-2px}.vertical-nav ul{list-style-type:none;padding:0;margin:0;overflow-y:auto;flex-grow:1;min-height:0}.vertical-nav ul li{margin-bottom:4px}.vertical-nav ul li a{text-decoration:none;color:var(--text-secondary);font-size:.95rem;font-weight:500;display:flex;align-items:center;padding:12px 24px;margin:0 12px;border-radius:var(--border-radius-md);transition:background-color .2s ease,color .2s ease,fill .2s ease;position:relative}.vertical-nav ul li a:hover{background-color:var(--background-main);color:var(--accent-color-dark)}.vertical-nav ul li a.active-link{background-color:var(--background-main);color:var(--accent-color);font-weight:600;box-shadow:var(--shadow-sm)}.nav-icon{width:18px;height:18px;margin-right:12px;color:currentColor;transition:color .2s ease,transform .2s ease;opacity:.8}.vertical-nav ul li a:hover .nav-icon,.vertical-nav ul li a.active-link .nav-icon{opacity:1;transform:scale(1.1)}.nav-footer{flex-shrink:0;margin-top:auto;padding:20px 24px;border-top:1px solid var(--border-secondary)}.company-logos{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 12px;background:transparent;border:1px solid #e9ecef;border-radius:var(--border-radius-md);box-shadow:none}.footer-logo{max-width:100%;height:auto;object-fit:contain;transition:transform .2s ease,opacity .2s ease}.footer-logo:first-child{max-height:32px}.footer-logo:last-child{max-height:28px}.footer-logo:hover{transform:scale(1.05);opacity:.9}.data-preview-page{flex-grow:1;display:flex;flex-direction:column;height:100%;width:100%}.cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.data-card{background-color:var(--background-content);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);padding:16px;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}.data-card:hover{border-color:var(--primary-brand);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.data-card h3{font-size:.9rem;color:var(--text-secondary);margin-top:0;margin-bottom:6px;font-weight:600}.card-value{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.card-trend{font-size:.8rem;color:var(--accent-color);display:flex;align-items:center;margin-top:auto}.accordion-container{margin-top:24px}.accordion-container h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:16px;font-weight:600}.accordion-item{background-color:var(--background-content);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);margin-bottom:12px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.accordion-item.open{box-shadow:var(--shadow-md)}.accordion-header{background-color:var(--background-main);padding:16px 20px;width:100%;text-align:left;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header:hover{background-color:var(--background-main);color:var(--primary-brand)}.accordion-header svg{width:24px;height:24px;fill:currentColor;transition:transform .3s ease}.accordion-item.open .accordion-header svg{transform:rotate(180deg)}.accordion-content{padding:0 20px;background-color:var(--background-content);max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding-top .3s ease-out,padding-bottom .3s ease-out}.accordion-item.open .accordion-content{max-height:50vh;overflow:auto;padding-top:20px;padding-bottom:20px}.metadata-section{margin-bottom:24px}.metadata-section:last-child{margin-bottom:0}.metadata-section h4{font-size:.95rem;color:var(--text-secondary);margin-top:0;margin-bottom:12px;font-weight:600}.table-responsive{overflow:auto;max-height:400px;width:100%;border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:collapse;min-width:800px}th,td{border:none;border-bottom:1px solid var(--border-secondary);padding:12px 16px;text-align:left;font-size:.875rem;vertical-align:middle;white-space:nowrap}tr:last-child td{border-bottom:none}th{background-color:var(--background-main);font-weight:600;color:var(--text-primary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}tbody tr:hover td{background-color:var(--primary-brand-light);color:var(--primary-brand-dark)}.spinner-container{display:flex;justify-content:center;align-items:center;padding:40px 0}.hljs{display:block;overflow-x:auto;padding:.5em;color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta-string{color:#98c379}.hljs-built_in,.hljs-class .hljs-title{color:#e6c07b}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.solution-architecture-page{flex-grow:1;display:flex;flex-direction:column}.architecture-diagram-container{flex-grow:1;display:flex;justify-content:center;align-items:center;padding:20px;background-color:var(--background-content);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin:20px;overflow:hidden}.architecture-diagram{max-width:100%;max-height:80vh;max-width:80vh;height:auto;display:block;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}.workflow-diagram{max-width:100%;height:auto;display:block;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}.content-placeholder svg.placeholder-icon{width:80px;height:80px;fill:var(--primary-brand-light);margin-bottom:24px}.content-placeholder h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:8px;font-weight:600}.content-placeholder p{font-size:1rem;color:var(--text-secondary);margin-bottom:24px;max-width:500px;line-height:1.6}.content-placeholder .placeholder-action button{background-color:var(--primary-brand);color:var(--text-on-brand);border:none;padding:12px 24px;font-size:.95rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease}.content-placeholder .placeholder-action button:hover{background-color:var(--primary-brand-dark)}.content-placeholder img{max-width:250px;margin-top:20px;opacity:.5;border-radius:var(--border-radius-md)}.code-section-container{margin:20px;padding:20px;background-color:var(--background-content);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.code-section-container h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:20px;font-weight:600;border-bottom:1px solid var(--border-secondary);padding-bottom:10px}.code-blocks-rows{display:flex;flex-direction:column;gap:20px}.code-block-row{border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);overflow:hidden;background-color:var(--background-main);box-shadow:var(--shadow-sm)}.collapsible-header{font-size:1rem;color:var(--text-primary);margin:0;padding:12px 15px;background-color:var(--background-main);border-bottom:1px solid var(--border-secondary);font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.code-content{padding:0}.code-content pre{margin:0!important;padding:15px!important;overflow-x:auto!important}.code-content code{font-family:JetBrains Mono,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:.9rem!important;line-height:1.5!important}.horizontal-nav{display:flex;justify-content:space-between;align-items:center;background:#54585a;padding:0;color:#fff;border-bottom:1px solid linear-gradient(to right,#1a2a5a,#3a5a9a);height:56px;box-shadow:var(--shadow-xs)}.nav-left{display:flex;align-items:center;padding-left:24px}.app-info{display:flex;align-items:center}.app-logo{margin-right:8px}.app-title{font-size:1.1rem;font-weight:600;color:#fff}.nav-right{display:flex;align-items:center;padding-right:16px}.horizontal-nav .nav-links{list-style:none;padding:0;margin:0;display:flex;height:100%}.horizontal-nav .nav-links li{height:100%;display:flex;align-items:center}.horizontal-nav .nav-links li a{text-decoration:none;color:#fffc;font-size:.9rem;font-weight:500;display:flex;align-items:center;padding:0 20px;height:100%;transition:color .2s ease,border-bottom-color .2s ease;border-bottom:3px solid transparent;box-sizing:border-box}.horizontal-nav .nav-links li a:hover{color:#fff;border-bottom-color:var(--primary-brand-light)}.horizontal-nav .nav-links li a.active-link{color:#fff;font-weight:600;border-bottom-color:var(--primary-brand)}.user-options{position:relative;margin-left:24px;cursor:pointer;display:flex;align-items:center}.user-avatar{width:36px;height:36px;background-color:var(--primary-brand-light);border-radius:50%;margin-right:10px;display:flex;align-items:center;justify-content:center;color:var(--primary-brand-dark);font-size:1rem;font-weight:600;border:2px solid var(--background-content);box-shadow:var(--shadow-xs)}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-name{font-weight:500;color:#fff;font-size:.9rem}.user-name+svg{margin-left:6px;fill:var(--text-tertiary)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--background-elevated);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);list-style:none;padding:8px 0;margin:0;min-width:180px;z-index:1010;display:none;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.user-options:hover .dropdown-menu,.user-options.open .dropdown-menu{display:block;opacity:1;transform:translateY(0)}.dropdown-menu li a{text-decoration:none;color:var(--text-secondary);padding:10px 16px;font-size:.9rem;display:flex;align-items:center;transition:background-color .2s ease,color .2s ease}.dropdown-menu li a svg{margin-right:10px;fill:var(--text-tertiary);width:16px;height:16px}.dropdown-menu li a:hover{background-color:var(--primary-brand-light);color:var(--primary-brand-dark)}.dropdown-menu li a:hover svg{fill:var(--primary-brand-dark)}.dropdown-menu li.divider{height:1px;background-color:var(--border-secondary);margin:8px 0}.mcp-tools-page{padding:32px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.page-header h1{font-size:2rem;font-weight:700;color:#212529;display:flex;align-items:center;gap:12px}.refresh-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#4285f4,#3367d6);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #4285f44d}.refresh-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #4285f466}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.loading-container,.error-container,.no-tools{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6c757d}.error-container{color:#dc3545}.status-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 4px 12px #0000001a;border-left:6px solid #dee2e6;transition:all .3s ease}.status-card.status-online{border-left-color:#28a745;background:linear-gradient(135deg,#fff,#f1f9f4)}.status-card.status-offline{border-left-color:#dc3545;background:linear-gradient(135deg,#fff,#fdf3f4)}.status-card.status-not_configured{border-left-color:#ffc107;background:linear-gradient(135deg,#fff,#fffcf0)}.status-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.status-icon{font-size:2.5rem;flex-shrink:0}.status-icon.status-online{color:#28a745}.status-icon.status-offline{color:#dc3545}.status-icon.status-warning{color:#ffc107}.status-info h2{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:#212529}.status-info p{margin:0;color:#6c757d;font-size:1rem}.server-url{padding:12px 16px;background:#f8f9fa;border-radius:8px;margin-bottom:12px;border:1px solid #e9ecef}.server-url code{font-family:JetBrains Mono,monospace;color:#495057;font-weight:600}.last-refresh{font-size:.85rem;color:#6c757d;font-style:italic}.tools-container{margin-top:32px}.tools-container>h2{font-size:1.75rem;font-weight:700;color:#212529;margin-bottom:24px;display:flex;align-items:center;gap:12px}.tool-category{margin-bottom:40px}.category-title{font-size:1.25rem;font-weight:700;color:#495057;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e9ecef;text-transform:capitalize}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.tool-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;transition:all .3s ease}.tool-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001f}.tool-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tool-icon{color:#28a745;font-size:1.25rem}.tool-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#212529;font-family:JetBrains Mono,monospace}.tool-description{color:#6c757d;margin-bottom:16px;line-height:1.5}.tool-params{background:#f8f9fa;padding:12px;border-radius:8px;border:1px solid #e9ecef}.tool-params strong{display:block;margin-bottom:8px;color:#495057;font-size:.9rem}.tool-params ul{list-style:none;padding:0;margin:0}.tool-params li{padding:6px 0;font-size:.9rem;color:#495057}.tool-params code{background:#fff;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace;color:#e83e8c;font-weight:600;border:1px solid #e9ecef}.required-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#dc3545;color:#fff;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase}.param-desc{margin-left:4px;color:#6c757d;font-size:.85rem}@media(max-width:768px){.mcp-tools-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.tools-grid{grid-template-columns:1fr}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.agent-architecture-container{width:100%;height:100vh;display:flex;flex-direction:column;background:#f8f9fa;overflow:hidden}.architecture-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px;box-shadow:0 2px 8px #0000001a}.architecture-header h1{margin:0 0 8px;font-size:28px;font-weight:600}.architecture-header p{margin:0;font-size:14px;opacity:.95}.architecture-legend{display:flex;gap:20px;padding:15px 30px;background:#fff;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.reactflow-wrapper{flex:1;background:#fff;position:relative}.architecture-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px 30px;background:#f8f9fa;border-top:1px solid #e0e0e0;max-height:250px;overflow-y:auto}.info-section{background:#fff;border-radius:8px;padding:15px;box-shadow:0 1px 3px #0000001a}.info-section h3{margin:0 0 12px;font-size:16px;color:#333;border-bottom:2px solid #667eea;padding-bottom:8px}.info-section ul{margin:0;padding-left:20px;list-style:none}.info-section li{margin-bottom:8px;font-size:13px;color:#555;line-height:1.6;position:relative;padding-left:15px}.info-section li:before{content:"▸";position:absolute;left:0;color:#667eea;font-weight:700}.info-section code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#d63384}.react-flow__node{cursor:pointer;transition:all .2s ease}.react-flow__node:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.react-flow__edge-path{transition:stroke-width .2s ease}.react-flow__edge:hover .react-flow__edge-path{stroke-width:4!important}.react-flow__controls{box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.react-flow__controls-button{border:none;background:#fff;transition:background .2s}.react-flow__controls-button:hover{background:#f0f0f0}.react-flow__minimap{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}@media(max-width:1024px){.architecture-info{grid-template-columns:1fr;max-height:200px}.architecture-header h1{font-size:24px}}@media(max-width:768px){.architecture-legend{padding:10px 15px}.architecture-info{padding:15px}.reactflow-wrapper{min-height:400px}}.visualizations-showcase{padding:2rem;max-width:1400px;margin:0 auto;background:#f8f9fa;min-height:100vh}.visualizations-showcase .page-header{margin-bottom:2rem;text-align:center}.visualizations-showcase .page-header h1{font-size:2rem;color:#1a73e8;margin-bottom:.5rem}.visualizations-showcase .page-description{color:#5f6368;font-size:1rem;max-width:700px;margin:0 auto;line-height:1.6}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem;margin-bottom:3rem}@media(max-width:1100px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.chart-card:hover{box-shadow:0 4px 16px #0000001f}.chart-card.expanded{grid-column:1 / -1}.chart-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e8eaed;background:linear-gradient(135deg,#f8f9fa,#fff)}.chart-card-header h3{margin:0;font-size:1rem;color:#202124;font-weight:600}.expand-btn{background:#1a73e8;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .2s}.expand-btn:hover{background:#1557b0}.chart-container{padding:1rem;min-height:320px}.chart-info{padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e8eaed;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chart-description{margin:0 0 .75rem;color:#5f6368;line-height:1.6;font-size:.9rem}.chart-usecase{background:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;color:#3c4043;border-left:3px solid #1a73e8}.chart-usecase strong{color:#1a73e8}.usage-guide{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.usage-guide h2{text-align:center;color:#202124;margin-bottom:2rem;font-size:1.5rem}.guide-content{display:flex;justify-content:space-around;gap:2rem;flex-wrap:wrap}.guide-item{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:250px;max-width:350px}.guide-number{width:40px;height:40px;background:linear-gradient(135deg,#1a73e8,#4285f4);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0}.guide-text h4{margin:0 0 .5rem;color:#202124;font-size:1rem}.guide-text p{margin:0;color:#5f6368;font-size:.9rem;line-height:1.5}@media(max-width:768px){.visualizations-showcase{padding:1rem}.charts-grid{grid-template-columns:1fr}.guide-content{flex-direction:column;align-items:center}.guide-item{max-width:100%}}.recharts-tooltip-wrapper{z-index:1000}.recharts-default-tooltip{background:#fff!important;border:1px solid #e8eaed!important;border-radius:8px!important;box-shadow:0 2px 8px #0000001f!important}.recharts-legend-wrapper{padding-top:10px!important}
