@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap";@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{--google-blue: #4285F4;--google-red: #EA4335;--google-yellow: #FBBC05;--google-green: #34A853;--primary-brand: #4285F4;--primary-brand-dark: #3367D6;--primary-brand-light: #8AB4F8;--primary-brand-rgb: 66, 133, 244;--primary-brand-light-rgb: 138, 180, 248;--accent-color: #4285F4;--accent-color-dark: #3367D6;--warning-color: #FBBC05;--danger-color: #EA4335;--success-color: #34A853;--background-main: #f8f9fa;--background-content: #ffffff;--background-elevated: #ffffff;--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #9aa0a6;--text-on-brand: #ffffff;--text-link: #4285F4;--border-primary: #dadce0;--border-secondary: #e8eaed;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--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);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--font-family-sans: "Google Sans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "JetBrains Mono", "Consolas", "Monaco", monospace;--navbar-height: 64px;--navbar-height-mobile: 56px;--navbar-bg: #5F6368;--navbar-text: #ffffff;--vertical-nav-width: 260px}html[data-theme=dark],html[data-theme=dark] body,.dark-theme{--background-main: #202124;--background-content: #292a2d;--background-elevated: #35363a;--text-primary: #e8eaed;--text-secondary: #9aa0a6;--text-tertiary: #6b7280;--text-on-brand: #ffffff;--text-link: #8AB4F8;--border-primary: #3c4043;--border-secondary: #35363a;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--primary-brand-light: #8AB4F8;--accent-color: #8AB4F8;--navbar-bg: #292a2d;--navbar-text: #e8eaed}*,*: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 - 56px);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:#267fc3;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}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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}}.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,#0075c5,#00a9e5);color:#fff;border:none;border-radius:24px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0075c54d}.continue-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0075c566;background:linear-gradient(135deg,#0068b0,#0095cc)}.continue-button:active{transform:translateY(0);box-shadow:0 2px 8px #0075c54d}.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}html[data-theme=dark] .typing-indicator .message-bubble,.dark-theme .typing-indicator .message-bubble{background:linear-gradient(135deg,#292a2d,#35363a);border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .typing-text,.dark-theme .typing-text{color:#e8eaed}html[data-theme=dark] .dot,.dark-theme .dot{background:linear-gradient(135deg,#8ab4f8,#c58af9);box-shadow:0 2px 4px #8ab4f84d}html[data-theme=dark] .message.bot .message-bubble,.dark-theme .message.bot .message-bubble{background-color:#292a2d;color:#e8eaed;border-color:#3c4043}html[data-theme=dark] .message.user .message-bubble,.dark-theme .message.user .message-bubble{background-color:#3367d6}html[data-theme=dark] .section-header,.dark-theme .section-header{background:#292a2dcc}html[data-theme=dark] .section-header:hover,.dark-theme .section-header:hover,html[data-theme=dark] .analysis-section.final-report .section-header,.dark-theme .analysis-section.final-report .section-header{background:#35363ae6}html[data-theme=dark] .analysis-section,.dark-theme .analysis-section{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .analysis-section.final-report,.dark-theme .analysis-section.final-report{background:linear-gradient(135deg,#1b3a2a,#1a332a);border-left-color:#34a853}html[data-theme=dark] .analysis-section.evaluation,.dark-theme .analysis-section.evaluation{background:linear-gradient(135deg,#2d1f33,#331f2d);border-left-color:#9c27b0}html[data-theme=dark] .section-title,.dark-theme .section-title{color:#e8eaed}html[data-theme=dark] .chat-input-area,.dark-theme .chat-input-area{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .chat-input-area input[type=text],.dark-theme .chat-input-area input[type=text]{background:#292a2d;color:#e8eaed}html[data-theme=dark] .chat-input-wrapper,.dark-theme .chat-input-wrapper{background:#202124;border-color:#3c4043}html[data-theme=dark] .selector-row,.dark-theme .selector-row{background:transparent}html[data-theme=dark] .question-selector-btn,.dark-theme .question-selector-btn{background:#35363a;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .question-dropdown,.dark-theme .question-dropdown{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .question-option,.dark-theme .question-option{color:#e8eaed}html[data-theme=dark] .question-option:hover,.dark-theme .question-option:hover{background:#35363a}html[data-theme=dark] .agent-selector-btn,.dark-theme .agent-selector-btn{background:#35363a;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .agent-dropdown,.dark-theme .agent-dropdown{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .file-preview-area,.dark-theme .file-preview-area{background:#35363a;border-color:#3c4043}html[data-theme=dark] .file-preview-item,.dark-theme .file-preview-item{background:#292a2d;border-color:#3c4043;color:#e8eaed}.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}html[data-theme=dark] .agent-trace-viewer,.dark-theme .agent-trace-viewer{background:linear-gradient(135deg,#202124,#292a2d);border-color:#3c4043}html[data-theme=dark] .trace-header,.dark-theme .trace-header{background:#292a2de6;color:#e8eaed;border-bottom-color:#3c4043}html[data-theme=dark] .trace-header:hover,.dark-theme .trace-header:hover{background:#35363af2}html[data-theme=dark] .trace-title,.dark-theme .trace-title{color:#e8eaed}html[data-theme=dark] .trace-count,.dark-theme .trace-count{background:#4285f433;color:#8ab4f8}html[data-theme=dark] .trace-toggle-btn,.dark-theme .trace-toggle-btn{background:#35363af2;color:#e8eaed;border-color:#3c4043}html[data-theme=dark] .trace-events-container,.dark-theme .trace-events-container{background:#202124}html[data-theme=dark] .trace-event,.dark-theme .trace-event{background:#292a2d;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .trace-event:hover,.dark-theme .trace-event:hover{background:#35363a}html[data-theme=dark] .event-label,html[data-theme=dark] .event-agent,.dark-theme .event-label,.dark-theme .event-agent{color:#9aa0a6}html[data-theme=dark] .event-detail,.dark-theme .event-detail{background:#35363a;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .sql-query,.dark-theme .sql-query{background:#1e1e1e;color:#d4d4d4}html[data-theme=dark] .result-preview-collapsible,.dark-theme .result-preview-collapsible{border-color:#3c4043}html[data-theme=dark] .result-preview-collapsible .result-header,html[data-theme=dark] .result-preview-header,.dark-theme .result-preview-collapsible .result-header,.dark-theme .result-preview-header{background:#35363a;color:#e8eaed}html[data-theme=dark] .result-preview-header:hover,.dark-theme .result-preview-header:hover{background:#3c4043}html[data-theme=dark] .result-preview-collapsible .result-content,.dark-theme .result-preview-collapsible .result-content{background:#292a2d;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .preview-label,.dark-theme .preview-label,html[data-theme=dark] .preview-toggle,.dark-theme .preview-toggle{color:#9aa0a6}html[data-theme=dark] .preview-table table,.dark-theme .preview-table table{background:#292a2d}html[data-theme=dark] .preview-table td,.dark-theme .preview-table td{border-bottom-color:#3c4043;color:#e8eaed}html[data-theme=dark] .preview-table tr:hover,.dark-theme .preview-table tr:hover{background:#35363a}html[data-theme=dark] .trace-summary,.dark-theme .trace-summary{background:#35363a;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .search-result-item,.dark-theme .search-result-item{background:#292a2d;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .grounding-source,.dark-theme .grounding-source{background:#35363a;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .trace-timeline,.dark-theme .trace-timeline{background:#20212480}html[data-theme=dark] .event-content,.dark-theme .event-content{background:#292a2d;box-shadow:0 2px 6px #0000004d;color:#e8eaed}html[data-theme=dark] .event-content:hover,.dark-theme .event-content:hover{box-shadow:0 4px 12px #0006}html[data-theme=dark] .event-icon,.dark-theme .event-icon{background:#35363a;box-shadow:0 2px 6px #0000004d}html[data-theme=dark] .event-title,.dark-theme .event-title{color:#e8eaed}html[data-theme=dark] .event-expand-btn,.dark-theme .event-expand-btn{background:#4285f433;color:#8ab4f8}html[data-theme=dark] .event-expand-btn:hover,.dark-theme .event-expand-btn:hover{background:#4285f44d}html[data-theme=dark] .event-expand-btn.expanded,.dark-theme .event-expand-btn.expanded{background:#ea433533;color:#f28b82}html[data-theme=dark] .event-detail,.dark-theme .event-detail{border-top-color:#3c4043}html[data-theme=dark] .user-query,.dark-theme .user-query{background:#35363a;color:#9aa0a6}html[data-theme=dark] .analysis-request,.dark-theme .analysis-request{background:#9c27b026;border-left-color:#ce93d8}html[data-theme=dark] .analysis-label,.dark-theme .analysis-label{color:#ce93d8}html[data-theme=dark] .analysis-text,.dark-theme .analysis-text{color:#e8eaed}html[data-theme=dark] .analysis-result,.dark-theme .analysis-result{background:#673ab726;border-left-color:#b39ddb}html[data-theme=dark] .analysis-preview,.dark-theme .analysis-preview{background:#35363a}html[data-theme=dark] .analysis-preview .preview-label,.dark-theme .analysis-preview .preview-label{color:#b39ddb}html[data-theme=dark] .analysis-preview .preview-text,.dark-theme .analysis-preview .preview-text{color:#e8eaed}html[data-theme=dark] .model-response,.dark-theme .model-response{background:#00bcd41a;border-left-color:#4dd0e1}html[data-theme=dark] .model-response .response-label,.dark-theme .model-response .response-label{color:#4dd0e1}html[data-theme=dark] .model-response .response-text,.dark-theme .model-response .response-text{color:#e8eaed}html[data-theme=dark] .sub-agent-event,.dark-theme .sub-agent-event{background:#9c27b026!important;border-left-color:#ce93d8!important}html[data-theme=dark] .sub-agent-event .event-title,.dark-theme .sub-agent-event .event-title{color:#ce93d8!important}html[data-theme=dark] .tool-call-detail,.dark-theme .tool-call-detail{background:#ff98001a;border-left-color:#ffb74d}html[data-theme=dark] .search-query-info,.dark-theme .search-query-info{background:#1976d226;border-left-color:#64b5f6}html[data-theme=dark] .search-query-text,.dark-theme .search-query-text{color:#90caf9}html[data-theme=dark] .found-urls-section,.dark-theme .found-urls-section{background:#4caf501a;border-left-color:#81c784}html[data-theme=dark] .found-url-item,.dark-theme .found-url-item{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .found-url-item:hover,.dark-theme .found-url-item:hover{background:#35363a;border-color:#81c784}html[data-theme=dark] .url-index,.dark-theme .url-index{color:#81c995}html[data-theme=dark] .url-link,.dark-theme .url-link{color:#8ab4f8}html[data-theme=dark] .url-link:hover,.dark-theme .url-link:hover{color:#aecbfa}.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}html[data-theme=dark] .search-results-viewer,.dark-theme .search-results-viewer{background:#202124;border-color:#3c4043}html[data-theme=dark] .search-results-header,.dark-theme .search-results-header{background:#292a2d;border-bottom-color:#3c4043}html[data-theme=dark] .search-results-header:hover,.dark-theme .search-results-header:hover{background:#35363a}html[data-theme=dark] .search-results-title,.dark-theme .search-results-title{color:#e8eaed}html[data-theme=dark] .search-queries-section,.dark-theme .search-queries-section{background:#1967d21f;border-left-color:#64b5f6}html[data-theme=dark] .search-queries-label,.dark-theme .search-queries-label{color:#8ab4f8}html[data-theme=dark] .search-query-item,.dark-theme .search-query-item{background:#292a2d;border-color:#3c4043;color:#8ab4f8}html[data-theme=dark] .search-results-section,.dark-theme .search-results-section{background:#252528}html[data-theme=dark] .search-results-section-header,.dark-theme .search-results-section-header{background:#35363a}html[data-theme=dark] .search-results-section-header:hover,.dark-theme .search-results-section-header:hover{background:#3c4043}html[data-theme=dark] .search-results-section-label,.dark-theme .search-results-section-label{color:#e8eaed}html[data-theme=dark] .search-result-item,.dark-theme .search-result-item{background:#292a2d;border-color:#3c4043}html[data-theme=dark] .search-result-title,html[data-theme=dark] .search-result-title a,.dark-theme .search-result-title,.dark-theme .search-result-title a{color:#8ab4f8}html[data-theme=dark] .search-result-url,.dark-theme .search-result-url{color:#9aa0a6}html[data-theme=dark] .search-result-snippet,.dark-theme .search-result-snippet{color:#bdc1c6}html[data-theme=dark] .search-result-confidence,.dark-theme .search-result-confidence{color:#81c995}html[data-theme=dark] .search-rendered-content,.dark-theme .search-rendered-content{background:#ff98001a;border-left-color:#ffb74d}html[data-theme=dark] .search-rendered-content>div,.dark-theme .search-rendered-content>div{color:#e8eaed}html[data-theme=dark] .search-metadata,.dark-theme .search-metadata{background:#4caf501a;border-left-color:#81c784}html[data-theme=dark] .metadata-item,.dark-theme .metadata-item{color:#81c995}html[data-theme=dark] .url-summary-section,.dark-theme .url-summary-section{background:#1967d21a;border-color:#3c4043}html[data-theme=dark] .url-summary-header,.dark-theme .url-summary-header{background:#292a2d;color:#e8eaed}html[data-theme=dark] .url-summary-list,.dark-theme .url-summary-list{background:#202124}html[data-theme=dark] .url-summary-item,.dark-theme .url-summary-item{background:#292a2d;border-color:#3c4043;color:#e8eaed}html[data-theme=dark] .url-summary-item:hover,.dark-theme .url-summary-item:hover{background:#35363a}html[data-theme=dark] .url-summary-item a,.dark-theme .url-summary-item a{color:#8ab4f8}html[data-theme=dark] .search-result-chunks,.dark-theme .search-result-chunks{background:#35363a;color:#9aa0a6}.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}.conversation-sidebar{width:var(--vertical-nav-width);height:100%;background:var(--background-content);border-right:1px solid var(--border-secondary);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease;overflow:hidden}.conversation-sidebar.collapsed{width:52px}.conversation-sidebar.collapsed .sidebar-header{flex-direction:column;padding:8px 6px;gap:6px}.sidebar-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border-secondary);flex-shrink:0}.new-chat-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:var(--google-blue);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:var(--font-family-sans)}.new-chat-btn:hover{background:var(--primary-brand-dark)}.new-chat-btn.icon-only{flex:none;width:32px;height:32px;padding:0;border-radius:50%}.collapse-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .2s}.collapse-btn:hover{background:var(--background-main);color:var(--text-primary)}.conversation-sidebar.collapsed .collapse-btn,.conversation-sidebar.collapsed .new-chat-btn.icon-only{width:36px;height:36px}.conversation-list{flex:1;overflow-y:auto;padding:8px}.conversation-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--border-radius-md);cursor:pointer;transition:background .15s;position:relative}.conversation-item:hover{background:var(--background-main)}.conversation-item.active{background:#4285f41a}.conv-icon{color:var(--text-tertiary);font-size:.85rem;flex-shrink:0}.conversation-item.active .conv-icon{color:var(--google-blue)}.conv-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv-title{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:.7rem;color:var(--text-tertiary)}.conv-delete{opacity:0;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 6px;border-radius:var(--border-radius-sm);font-size:.75rem;transition:all .15s;flex-shrink:0}.conversation-item:hover .conv-delete{opacity:1}.conv-delete:hover{color:var(--danger-color);background:#ea43351a}.sidebar-footer{flex-shrink:0;padding:12px;border-top:1px solid var(--border-secondary)}.session-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--background-main);border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary)}.session-dot{width:6px;height:6px;border-radius:50%;background:var(--google-green);animation:pulse 2s infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.session-text{font-size:.7rem;color:var(--text-secondary);font-family:var(--font-family-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.conversation-sidebar{display:none}}.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}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{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 .hljs-string{color:#98c379}.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-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.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;flex-direction:column;background:var(--navbar-bg);color:var(--navbar-text);height:56px;box-shadow:var(--shadow-md);position:relative;z-index:100;flex-shrink:0}.google-stripe{display:flex;width:100%;height:4px;flex-shrink:0}.google-stripe .stripe{flex:1}.google-stripe .stripe.blue{background:var(--google-blue)}.google-stripe .stripe.red{background:var(--google-red)}.google-stripe .stripe.yellow{background:var(--google-yellow)}.google-stripe .stripe.green{background:var(--google-green)}.nav-content{display:flex;align-items:center;flex:1;padding:0 24px;gap:32px}.nav-left{display:flex;align-items:center;flex-shrink:0}.app-title{font-size:1.1rem;font-weight:600;color:var(--navbar-text);white-space:nowrap}.nav-links{list-style:none;padding:0;margin:0;display:flex;height:100%;gap:4px}.nav-links li{height:100%;display:flex;align-items:center}.nav-links li a{text-decoration:none;color:#ffffffb3;font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:7px;padding:0 16px;height:100%;border-bottom:3px solid transparent;box-sizing:border-box;transition:all .2s ease}.nav-links li a:hover{color:#fff;background:#ffffff14}.nav-links li a.active{color:#fff;font-weight:600;border-bottom-color:#fff;background:#ffffff1a}.nav-links li a svg{font-size:.85rem;opacity:.85}.nav-links li a.active svg{opacity:1}.nav-right{display:flex;align-items:center;margin-left:auto;flex-shrink:0}.nav-logo{height:22px;opacity:.8;transition:opacity .2s}.nav-logo:hover{opacity:1}.mcp-tools-page{padding:32px;max-width:1200px;margin:0 auto}.mcp-tools-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-secondary)}.mcp-tools-page .page-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.refresh-button{display:flex;align-items:center;gap:8px;padding:8px 18px;background:var(--google-blue);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:var(--font-family-sans)}.refresh-button:hover:not(:disabled){background:var(--primary-brand-dark);transform:translateY(-1px)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.tools-message{padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:.85rem;font-weight:500;animation:fadeIn .2s ease}.tools-message.success{background:#34a8531a;color:#34a853;border:1px solid rgba(52,168,83,.2)}.tools-message.error{background:#ea43351a;color:#ea4335;border:1px solid rgba(234,67,53,.2)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.loading-container,.no-tools{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.status-card{background:var(--background-content);border-radius:12px;padding:20px 24px;margin-bottom:20px;border:1px solid var(--border-secondary);border-left:4px solid var(--border-primary)}.status-card.status-direct{border-left-color:#34a853}.status-card.status-mcp{border-left-color:#4285f4}.status-header{display:flex;align-items:center;gap:16px}.status-icon{font-size:2rem;flex-shrink:0}.status-icon.status-online{color:#34a853}.status-icon.status-mcp-icon{color:#4285f4}.status-info{flex:1}.status-info h2{margin:0 0 4px;font-size:1.2rem;font-weight:700;color:var(--text-primary)}.status-info p{margin:0;color:var(--text-secondary);font-size:.88rem}.mode-toggle{display:flex;gap:0;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;flex-shrink:0}.mode-btn{padding:8px 16px;border:none;background:var(--background-main);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;font-family:var(--font-family-sans)}.mode-btn:first-child{border-right:1px solid var(--border-primary)}.mode-btn.active{background:var(--google-blue);color:#fff}.mode-btn:hover:not(.active){background:var(--background-elevated)}.status-stats{display:flex;gap:16px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-secondary)}.stat{font-size:.82rem;font-weight:500;display:flex;align-items:center;gap:4px}.stat.active{color:#34a853}.stat.disabled{color:var(--text-tertiary)}.stat.total{color:var(--text-secondary);margin-left:auto}.last-refresh{font-size:.78rem;color:var(--text-tertiary);margin-left:8px}.bulk-actions{display:flex;gap:8px;margin-bottom:16px}.bulk-btn{padding:6px 14px;background:var(--background-content);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s;font-family:var(--font-family-sans)}.bulk-btn:hover{background:var(--background-main);color:var(--text-primary)}.service-list{display:flex;flex-direction:column;gap:2px}.service-block{background:var(--background-content);border:1px solid var(--border-secondary);border-radius:10px;overflow:hidden;transition:opacity .2s}.service-block.disabled{opacity:.6}.service-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:default}.expand-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;font-size:.8rem;transition:all .15s;flex-shrink:0}.expand-btn:hover{background:var(--background-main);color:var(--text-primary)}.service-title{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.service-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.service-block.disabled .service-name{color:var(--text-tertiary)}.service-count{font-size:.72rem;font-weight:500;padding:2px 8px;border-radius:10px;background:#4285f41a;color:#4285f4;flex-shrink:0}.service-block.disabled .service-count{background:var(--background-main);color:var(--text-tertiary)}.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border-primary);border-radius:11px;transition:.2s}.slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:#34a853}.switch input:checked+.slider:before{transform:translate(18px)}.service-tools{border-top:1px solid var(--border-secondary);padding:8px 16px 12px 54px;display:flex;flex-direction:column;gap:2px}.tool-row{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:6px;transition:background .1s}.tool-row:hover{background:var(--background-main)}.tool-row.disabled{opacity:.5}.tool-status-icon{margin-top:2px;font-size:.82rem;flex-shrink:0}.tool-status-icon.active{color:#34a853}.tool-status-icon.disabled{color:var(--text-tertiary)}.tool-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tool-fn-name{font-size:.85rem;font-weight:600;color:var(--text-primary);font-family:var(--font-family-mono)}.tool-row.disabled .tool-fn-name{color:var(--text-tertiary)}.tool-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.tool-row.disabled .tool-desc{color:var(--text-tertiary)}@media(max-width:768px){.mcp-tools-page{padding:16px}.mcp-tools-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.status-header{flex-direction:column;gap:12px}.mode-toggle{align-self:flex-start}.service-tools{padding-left:32px}}html[data-theme=dark] .status-card,.dark-theme .status-card,html[data-theme=dark] .service-block,.dark-theme .service-block{background:var(--background-content);border-color:var(--border-primary)}html[data-theme=dark] .service-count,.dark-theme .service-count{background:#8ab4f826;color:#8ab4f8}html[data-theme=dark] .mode-btn,.dark-theme .mode-btn{background:var(--background-elevated);color:var(--text-secondary);border-color:var(--border-primary)}html[data-theme=dark] .mode-btn.active,.dark-theme .mode-btn.active{background:#8ab4f8;color:#0d1117}html[data-theme=dark] .bulk-btn,.dark-theme .bulk-btn{background:var(--background-content);border-color:var(--border-primary)}html[data-theme=dark] .refresh-button,.dark-theme .refresh-button{background:var(--background-elevated);color:var(--text-primary)}html[data-theme=dark] .slider,.dark-theme .slider{background:var(--border-primary)}html[data-theme=dark] .switch input:checked+.slider,.dark-theme .switch input:checked+.slider{background:#34a853}.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}.memory-manager{margin-top:32px}.memory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.memory-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;font-family:Noto Sans KR,sans-serif}.memory-actions{display:flex;gap:10px;align-items:center}.type-filter{padding:6px 12px;border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);font-size:.85rem;font-family:Noto Sans KR,sans-serif;background:var(--background-content)}.btn-sm{padding:6px 14px;font-size:.8rem}.memory-form{background:var(--background-main);border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.form-row{display:flex;gap:10px}.form-input{padding:8px 12px;border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);font-size:.85rem;font-family:Noto Sans KR,sans-serif;flex:1}.form-input.full{width:100%}.form-select{padding:8px 12px;border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);font-size:.85rem;font-family:Noto Sans KR,sans-serif;min-width:130px;background:var(--background-content)}.form-textarea{padding:10px 12px;border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);font-size:.85rem;font-family:Noto Sans KR,sans-serif;resize:vertical;line-height:1.6}.form-buttons{display:flex;justify-content:flex-end;gap:8px}.memory-list{display:flex;flex-direction:column;gap:10px}.memory-card{background:var(--background-content);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:14px 16px;transition:box-shadow .2s ease}.memory-card:hover{box-shadow:var(--shadow-sm)}.memory-card-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.memory-type-badge{font-size:.7rem;color:#fff;padding:2px 8px;border-radius:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.memory-name{font-weight:600;font-size:.95rem;color:var(--text-primary);flex:1}.memory-date{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap}.memory-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.memory-content{font-size:.85rem;color:var(--text-primary);line-height:1.5;white-space:pre-wrap;max-height:120px;overflow:hidden;position:relative;padding:8px 10px;background:var(--background-main);border-radius:4px}.memory-card-actions{display:flex;gap:12px;margin-top:8px;justify-content:flex-end}.btn-link{background:none;border:none;color:var(--google-blue);cursor:pointer;font-size:.8rem;font-family:Noto Sans KR,sans-serif;padding:2px 4px}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--google-red)}.memory-loading,.memory-empty{text-align:center;padding:32px;color:var(--text-secondary);font-size:.9rem}.memory-manager.dark .memory-card{background:#292a2d;border-color:#3c4043}.memory-manager.dark .memory-content{background:#202124}.memory-manager.dark .memory-form{background:#35363a;border-color:#3c4043}.memory-manager.dark .form-input,.memory-manager.dark .form-select,.memory-manager.dark .form-textarea{background:#292a2d;color:#e8eaed;border-color:#3c4043}.memory-manager.dark .type-filter{background:#35363a;color:#e8eaed;border-color:#3c4043}.memory-manager.dark .memory-header h3,.memory-manager.dark .memory-name{color:#e8eaed}.memory-manager.dark .memory-description,.memory-manager.dark .memory-date,.memory-manager.dark .memory-loading,.memory-manager.dark .memory-empty{color:#9aa0a6}.memory-manager.dark .memory-content{color:#e8eaed}.memory-manager.dark .btn-link{color:#8ab4f8}.memory-manager.dark .btn-link.danger{color:#f28b82}.settings-page{flex-grow:1;padding:32px 40px;overflow-y:auto;max-width:1200px;font-family:Noto Sans KR,sans-serif}.settings-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 8px;font-family:Noto Sans KR,sans-serif}.settings-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 24px}.settings-message{padding:12px 16px;border-radius:var(--border-radius-md);margin-bottom:20px;font-size:.9rem}.settings-message.success{background:#34a8531a;color:#137333;border:1px solid rgba(52,168,83,.3);border-radius:var(--border-radius-lg)}.settings-message.error{background:#ea43351a;color:#c5221f;border:1px solid rgba(234,67,53,.3);border-radius:var(--border-radius-lg)}.settings-section{background:var(--background-content);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.settings-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:default;min-height:auto}.settings-page .section-header:hover{background:transparent}.settings-page .section-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;font-family:Noto Sans KR,sans-serif}.section-actions{display:flex;align-items:center;gap:12px}.char-count{font-size:.8rem;color:var(--text-tertiary);font-family:Noto Sans KR,sans-serif}.btn{padding:8px 20px;border:none;border-radius:var(--border-radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Noto Sans KR,sans-serif}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-brand-dark)}.btn-outline{background:transparent;color:var(--google-red);border:1px solid var(--google-red)}.btn-outline:hover:not(:disabled){background:#ea43351a}.settings-page.dark .btn-outline{color:#f28b82;border-color:#f28b82}.settings-page.dark .btn-outline:hover:not(:disabled){background:#f28b8226}.btn-secondary{background:var(--background-main);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-secondary)}.codemirror-container{border:1px solid var(--border-secondary);border-radius:var(--border-radius-md);overflow:hidden}.codemirror-container .cm-editor{min-height:500px;max-height:calc(100vh - 320px)}.codemirror-container .cm-editor.cm-focused{outline:none;box-shadow:0 0 0 2px rgba(var(--primary-brand-rgb),.25)}.editor-hint{margin-top:8px;font-size:.75rem;color:var(--text-tertiary);text-align:right}.settings-loading{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-secondary);font-size:1rem}.theme-section{margin-bottom:24px}.theme-selector{display:flex;gap:12px}.theme-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border:2px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--background-elevated);color:var(--text-secondary);font-size:.9rem;font-weight:500;font-family:Noto Sans KR,sans-serif;cursor:pointer;transition:all .2s ease}.theme-btn:hover{border-color:var(--google-blue);color:var(--text-primary)}.theme-btn.active{border-color:var(--google-blue);background:#4285f426;color:var(--google-blue);font-weight:600}.theme-icon{font-size:1.1rem}.mcp-section{margin-bottom:24px}.mcp-toggle-row{display:flex;align-items:center;gap:16px}.mcp-option-group{display:flex;gap:12px}.mcp-status{font-size:.85rem;font-weight:500;padding:4px 12px;border-radius:12px}.mcp-status.direct{color:var(--google-green);background:#34a8531a}.mcp-status.mcp{color:var(--google-blue);background:#4285f41a}.tools-grid-header{display:flex;justify-content:space-between;align-items:center;margin-top:20px;margin-bottom:10px}.tools-grid-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.tools-grid-actions{display:flex;align-items:center;gap:6px}.tools-grid-actions .btn-link{background:none;border:none;color:var(--google-blue);cursor:pointer;font-size:.8rem;font-family:Noto Sans KR,sans-serif;padding:2px 4px}.tools-grid-actions .btn-link:hover{text-decoration:underline}.tools-divider{color:var(--text-tertiary);font-size:.8rem}.tools-grid{display:flex;flex-wrap:wrap;gap:8px}.tool-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.82rem;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-primary);-webkit-user-select:none;user-select:none}.tool-chip input[type=checkbox]{display:none}.tool-chip.on{background:#4285f41a;border-color:var(--google-blue);color:var(--google-blue)}.tool-chip.off{background:var(--background-main);border-color:var(--border-primary);color:var(--text-tertiary)}.tool-chip:hover{box-shadow:var(--shadow-sm)}.tool-chip-name{font-weight:500}.tool-chip-count{font-size:.7rem;opacity:.7}.settings-page.dark{color:#e8eaed}.settings-page.dark .settings-section{background:#292a2d;border-color:#3c4043}.settings-page.dark .settings-header h2,.settings-page.dark .section-header h3{color:#e8eaed}.settings-page.dark .section-header{background:transparent}.settings-page.dark .settings-description,.settings-page.dark .char-count,.settings-page.dark .editor-hint{color:#9aa0a6}.settings-page.dark .btn-secondary{background:#35363a;color:#9aa0a6;border-color:#3c4043}.settings-page.dark .btn-secondary:hover:not(:disabled){background:#3c4043}.settings-page.dark .theme-btn{background:#35363a;color:#9aa0a6;border-color:#3c4043}.settings-page.dark .theme-btn:hover{color:#e8eaed}.settings-page.dark .theme-btn.active{background:#4285f433;border-color:#8ab4f8;color:#8ab4f8}.settings-page.dark .codemirror-container{border-color:#3c4043}.settings-page.dark .mcp-status.direct{color:#81c995;background:#34a85333}.settings-page.dark .mcp-status.mcp{color:#8ab4f8;background:#4285f433}.settings-page.dark .tools-grid-label{color:#9aa0a6}.settings-page.dark .tools-grid-actions .btn-link{color:#8ab4f8}.settings-page.dark .tool-chip.on{background:#4285f433;border-color:#8ab4f8;color:#8ab4f8}.settings-page.dark .tool-chip.off{background:#35363a;border-color:#3c4043;color:#6b7280}.settings-page.dark .settings-message.success{background:#34a85333;color:#81c995;border-color:#34a8534d}.settings-page.dark .settings-message.error{background:#ea433533;color:#f28b82;border-color:#ea43354d}.overview-page{max-width:100%;overflow-y:auto;height:100%;margin:-24px}.hero-section{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460 60%,#2c3e50);color:#fff;padding:72px 48px 56px;text-align:center;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(66,133,244,.15) 0%,transparent 70%);border-radius:50%}.hero-section:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(52,168,83,.1) 0%,transparent 70%);border-radius:50%}.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.hero-badge{display:inline-block;padding:6px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-title{font-size:2.8rem;font-weight:800;margin:0 0 16px;line-height:1.2;letter-spacing:-.5px}.hero-subtitle{font-size:1.1rem;line-height:1.7;opacity:.9;margin:0 0 32px;font-weight:400}.hero-actions{display:flex;gap:12px;justify-content:center;margin-bottom:40px}.hero-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-family-sans)}.hero-btn.primary{background:#fff;color:#1a1a2e}.hero-btn.primary:hover{background:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 16px #0003}.hero-btn.secondary{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.hero-btn.secondary:hover{background:#ffffff40;transform:translateY(-2px)}.hero-stats{display:flex;justify-content:center;align-items:center;gap:32px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-number{font-size:1.5rem;font-weight:800}.stat-label{font-size:.78rem;opacity:.7;text-transform:uppercase;letter-spacing:1px}.stat-divider{width:1px;height:36px;background:#ffffff40}.section{padding:56px 48px;max-width:1200px;margin:0 auto}.section-alt{background:var(--background-main);max-width:100%;padding:56px 48px}.section-alt>.section-header,.section-alt>.datasource-categories,.section-alt>.architecture-flow{max-width:1200px;margin-left:auto;margin-right:auto}.section-header{text-align:center;margin-bottom:40px}.section-header h2{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.section-header p{font-size:1rem;color:var(--text-secondary);margin:0}.section-logo{margin-bottom:12px}.section-logo-img{height:32px;object-fit:contain}.section-logo-img.mzs-logo{height:36px}.capabilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.capability-card{background:var(--background-content);border:1px solid var(--border-secondary);border-radius:12px;padding:28px 24px;transition:all .2s}.capability-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.capability-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:16px}.color-blue .capability-icon{background:#4285f41a;color:#4285f4}.color-red .capability-icon{background:#ea43351a;color:#ea4335}.color-green .capability-icon{background:#34a8531a;color:#34a853}.color-yellow .capability-icon{background:#fbbc051a;color:#f9ab00}.capability-card h3{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.capability-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin:0}.datasource-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.datasource-card{background:var(--background-content);border:1px solid var(--border-secondary);border-radius:10px;padding:20px;border-top:3px solid transparent}.datasource-card.color-blue{border-top-color:#4285f4}.datasource-card.color-green{border-top-color:#34a853}.datasource-card.color-red{border-top-color:#ea4335}.datasource-card.color-yellow{border-top-color:#f9ab00}.datasource-card.color-purple{border-top-color:#9c27b0}.datasource-card.color-teal{border-top-color:#00acc1}.datasource-card h4{font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.datasource-chips{display:flex;flex-wrap:wrap;gap:6px}.ds-chip{padding:4px 10px;background:var(--background-main);border:1px solid var(--border-secondary);border-radius:14px;font-size:.78rem;color:var(--text-secondary);font-weight:500}.gcp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gcp-card{background:var(--background-content);border:1px solid var(--border-secondary);border-radius:12px;padding:28px 24px;position:relative;transition:all .2s}.gcp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.gcp-card-highlight{display:inline-block;padding:3px 10px;background:#4285f41a;color:#4285f4;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}.gcp-card-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#4285f4,#3367d6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:14px}.gcp-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.gcp-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0}.architecture-flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:8px 0}.arch-layer{flex:1;background:var(--background-content);border:1px solid var(--border-secondary);border-radius:10px;padding:20px 16px;text-align:center;min-width:180px}.arch-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:12px}.arch-items{display:flex;flex-direction:column;gap:6px}.arch-chip{padding:6px 12px;border-radius:6px;font-size:.78rem;font-weight:500}.arch-chip.ui{background:#4285f41a;color:#4285f4}.arch-chip.agent{background:#34a8531a;color:#34a853}.arch-chip.tool{background:#fbbc051a;color:#e8a000}.arch-chip.gcp{background:#ea43351a;color:#ea4335}.arch-arrow{display:flex;align-items:center;padding:0 8px;color:var(--text-tertiary);font-size:1rem}.megazone-section{max-width:100%;background:linear-gradient(180deg,var(--background-content) 0%,var(--background-main) 100%)}.megazone-section>.section-header,.megazone-section>.mzs-grid{max-width:1200px;margin-left:auto;margin-right:auto}.mzs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mzs-card{background:var(--background-content);border:1px solid var(--border-secondary);border-radius:12px;padding:28px 24px;border-left:3px solid #1565c0;transition:all .2s}.mzs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.mzs-card-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#1565c0,#0d47a1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:14px}.mzs-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.mzs-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0}.cta-section{text-align:center;padding:56px 48px;background:var(--background-content);border-top:1px solid var(--border-secondary)}.cta-section h2{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.cta-section p{font-size:1rem;color:var(--text-secondary);margin:0 0 24px}@media(max-width:1024px){.capabilities-grid,.gcp-grid,.mzs-grid,.datasource-categories{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.hero-section{padding:48px 24px 40px}.hero-title{font-size:1.8rem}.hero-actions{flex-direction:column;align-items:center}.section,.section-alt{padding:40px 20px}.capabilities-grid,.gcp-grid,.mzs-grid,.datasource-categories{grid-template-columns:1fr}.architecture-flow{flex-direction:column}.arch-arrow{transform:rotate(90deg);padding:4px 0;justify-content:center}.hero-stats{gap:16px}.stat-number{font-size:1.2rem}}html[data-theme=dark] .hero-section{background:linear-gradient(135deg,#0d0d0d,#1a1a1a,#2d2d2d 60%,#1a1a2e)}html[data-theme=dark] .hero-btn.primary{background:#8ab4f8;color:#0d1117}html[data-theme=dark] .hero-btn.primary:hover{background:#aecbfa}html[data-theme=dark] .gcp-card-highlight{background:#8ab4f826;color:#8ab4f8}
