body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.app{background:#fff;box-shadow:0 0 20px #0000001a;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1200px}.login-app{align-items:center;background:linear-gradient(160deg,#1a252f,#2c3e50 55%,#34495e);box-shadow:none;justify-content:center;max-width:none}.login-card{background:#fff;border-radius:8px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;gap:.6rem;padding:2rem 2.25rem;width:min(380px,92vw)}.login-card h1{color:#2c3e50;font-size:1.4rem;margin:0}.login-sub{color:#666;font-size:.95rem;margin:0 0 .5rem}.login-card label{color:#444;font-size:.85rem}.login-card input{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.6rem .75rem}.login-card button{background:#2980b9;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:.75rem;padding:.65rem 1rem}.login-card button:disabled{cursor:not-allowed;opacity:.6}.login-error{color:#c0392b;font-size:.9rem}.user-badge{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.logout-button{background:#0000;border:1px solid #ffffff80;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.35rem .65rem}.data-mode-fixed{font-size:.85rem;opacity:.9}.header{align-items:center;background:#2c3e50;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 2rem}.header h1{font-size:1.5rem;margin:0}.header-controls{flex-wrap:wrap;gap:1rem}.course-input,.header-controls{align-items:center;display:flex}.course-input{gap:.5rem}.course-input label{font-size:.9rem;white-space:nowrap}.course-combobox{align-items:stretch;display:flex;min-width:280px;position:relative}.course-combobox input{background:#fff;border:1px solid #ddd;border-radius:4px;color:#222;flex:1 1;font-size:.9rem;min-width:0;padding:.5rem 2rem .5rem .5rem}.course-combobox-toggle{background:#0000;border:none;bottom:0;color:#555;cursor:pointer;font-size:.75rem;line-height:1;position:absolute;right:0;top:0;width:1.75rem}.course-combobox-menu{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #0000002e;left:0;list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 2px);z-index:40}.course-combobox-empty{color:#666;font-size:.8rem;padding:.6rem .75rem}.course-option{align-items:flex-start;background:#0000;border:none;color:#222;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;padding:.45rem .75rem;text-align:left;width:100%}.course-option.selected,.course-option:hover{background:#e8f1fb}.course-option-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.course-option-name{color:#555;font-size:.75rem}.course-input input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:200px;padding:.5rem}.persona-input{align-items:center;display:flex;gap:.5rem}.persona-input label{font-size:.9rem;white-space:nowrap}.persona-input select{background:#fff;border:1px solid #ddd;border-radius:4px;color:#2c3e50;font-size:.9rem;max-width:280px;min-width:220px;padding:.5rem}.clear-button{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.clear-button:hover{background:#c0392b}.mcp-toggle-button{background:#8e44ad;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.mcp-toggle-button:hover{background:#7d3c98}.mcp-toggle-button.active{background:#6c3483;box-shadow:inset 0 0 0 2px #ffffff59}.chat-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.messages{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1rem}.welcome-message{background:#f8f9fa;border-radius:8px;color:#666;margin:1rem 0;padding:2rem;text-align:center}.welcome-message h3{color:#2c3e50;margin-top:0}.welcome-message ul{margin:1rem auto;max-width:400px;text-align:left}.message{margin-bottom:1rem;max-width:80%}.message.user{align-self:flex-end;margin-left:auto}.message.assistant,.message.error{align-self:flex-start}.message-header{align-items:center;color:#666;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.5rem}.message-type{font-weight:700}.message.user .message-type{color:#3498db}.message.assistant .message-type{color:#27ae60}.message.error .message-type{color:#e74c3c}.message-content{word-wrap:break-word;background:#f8f9fa;border-radius:8px;padding:1rem;white-space:pre-wrap}.message.user .message-content{background:#3498db;color:#fff}.message.assistant .message-content{background:#e8f5e8;border-left:4px solid #27ae60}.message.error .message-content{background:#fdf2f2;border-left:4px solid #e74c3c;color:#e74c3c}.message-details{margin-top:.5rem}.message-details summary{background:#f0f0f0;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;margin-bottom:.5rem;padding:.5rem}.message-details summary:hover{background:#e0e0e0}.sql-query{background:#2c3e50;border-radius:4px;color:#ecf0f1;font-size:.9rem}.raw-data,.sql-query{font-family:Courier New,monospace;margin:0;overflow-x:auto;padding:1rem}.raw-data{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;font-size:.8rem;max-height:300px;overflow-y:auto}.message-meta{color:#666;font-size:.8rem;font-style:italic;margin-top:.5rem}.loading{align-items:center;display:flex;gap:.5rem}.loading:after{animation:spin 1s linear infinite;border:2px solid #27ae60;border-radius:50%;border-top-color:#0000;content:"";height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.input-container{align-items:flex-end;background:#f8f9fa;border-top:1px solid #ddd;display:flex;gap:1rem;padding:1rem}.input-container textarea{border:1px solid #ddd;border-radius:8px;flex:1 1;font-family:inherit;font-size:1rem;max-height:120px;min-height:40px;padding:.75rem;resize:vertical}.input-container textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.send-button{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;height:fit-content;min-width:100px;padding:.75rem 1.5rem}.send-button:hover:not(:disabled){background:#2980b9}.send-button:disabled{background:#bdc3c7;cursor:not-allowed}.debug-button{background:none;border:1px solid #999;border-radius:3px;color:#666;cursor:pointer;font-size:.75rem;margin-top:.4rem;padding:.2rem .5rem}.debug-button:hover{background:#eee;color:#333}.chat-container.with-debug{margin-right:420px}.chat-container.with-snapshot{flex-direction:row}.chat-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.chat-container.with-snapshot .messages{display:flex;flex-direction:column}.snapshot-panel{background:#f8f9fa;border-right:1px solid #ddd;font-size:.85rem;min-width:300px;overflow-y:auto;padding:1rem;width:300px}.snapshot-panel h3{color:#2c3e50;font-size:1rem;margin:0 0 .75rem}.snapshot-debug-subtitle{border-left:3px solid #ddd;color:#888;font-size:.72rem;font-style:italic;line-height:1.35;margin:-.35rem 0 .75rem;padding-left:.5rem}.snapshot-panel.error,.snapshot-panel.loading{color:#666;font-style:italic}.snapshot-metrics{display:flex;flex-direction:column;gap:.75rem}.snapshot-metric{background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;gap:.15rem;padding:.5rem}.snapshot-metric strong{color:#2c3e50;text-transform:capitalize}.snapshot-metric small{color:#666;line-height:1.3}.snapshot-posts{margin-top:1rem}.snapshot-posts summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.snapshot-post{background:#fff;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:.75rem;padding:.5rem}.snapshot-support{line-height:1.35;margin-bottom:.35rem}.snapshot-rationale{color:#555;font-style:italic}.debug-panel{background:#1e1e1e;box-shadow:-2px 0 8px #0000004d;color:#d4d4d4;display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:.8rem;height:100vh;position:fixed;right:0;top:0;width:420px;z-index:100}.debug-panel-header{align-items:center;background:#2d2d2d;border-bottom:1px solid #444;display:flex;font-size:.9rem;font-weight:700;justify-content:space-between;padding:.75rem 1rem}.debug-panel-header button{background:#555;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .8rem}.debug-panel-header button:hover{background:#777}.debug-panel-content{flex:1 1;overflow-y:auto;padding:.5rem}.debug-step{border-radius:4px;margin-bottom:.5rem;overflow:hidden}.debug-step-header{font-size:.75rem;font-weight:700;padding:.4rem .6rem;text-transform:uppercase}.debug-tool-name{font-weight:400;text-transform:none}.debug-step-args,.debug-step-content{word-wrap:break-word;font-size:.75rem;line-height:1.4;margin:0;max-height:300px;overflow-y:auto;padding:.5rem .6rem;white-space:pre-wrap}.debug-step-args{background:#ffffff0d;border-bottom:1px solid #ffffff1a}.debug-system .debug-step-header{background:#3a3a3a;color:#aaa}.debug-system .debug-step-content{background:#2a2a2a}.debug-user .debug-step-header{background:#1a3a5c;color:#6cb4ee}.debug-user .debug-step-content{background:#142a42}.debug-assistant .debug-step-header{background:#1a3c1a;color:#6cc06c}.debug-assistant .debug-step-content{background:#142a14}.debug-tool_call .debug-step-header{background:#4a3a1a;color:#e8b84c}.debug-tool_call .debug-step-args,.debug-tool_call .debug-step-content{background:#3a2a10}.debug-tool_result .debug-step-header{background:#3a1a4a;color:#c06cc0}.debug-tool_result .debug-step-content{background:#2a142a}.debug-error .debug-step-header{background:#4a1a1a;color:#ee6c6c}.debug-error .debug-step-content{background:#3a1010}.mcp-panel{background:#1a1f2e;box-shadow:-2px 0 8px #0000004d;color:#e8eaf0;display:flex;flex-direction:column;font-size:.85rem;height:100vh;position:fixed;right:0;top:0;width:420px;z-index:100}.mcp-panel-header{align-items:center;background:#252b3d;border-bottom:1px solid #3d4560;display:flex;font-size:.95rem;font-weight:700;justify-content:space-between;padding:.75rem 1rem}.mcp-panel-header-actions{display:flex;gap:.4rem}.mcp-panel-header button{background:#4a5570;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .8rem}.mcp-panel-header button:hover:not(:disabled){background:#5c6888}.mcp-panel-header button:disabled{cursor:not-allowed;opacity:.6}.mcp-panel-body{flex:1 1;overflow-y:auto;padding:.75rem 1rem 1.5rem}.mcp-section{margin-bottom:1.25rem}.mcp-section h4,.mcp-section>label{color:#a8b0c8;display:block;font-size:.8rem;letter-spacing:.03em;margin:0 0 .4rem;text-transform:uppercase}.mcp-field-control input,.mcp-field-control select,.mcp-field-control textarea,.mcp-section select{background:#121722;border:1px solid #3d4560;border-radius:4px;box-sizing:border-box;color:#e8eaf0;font-family:inherit;font-size:.85rem;padding:.45rem .55rem;width:100%}.mcp-field-control input:focus,.mcp-field-control select:focus,.mcp-field-control textarea:focus,.mcp-section select:focus{border-color:#8e44ad;box-shadow:0 0 0 2px #8e44ad40;outline:none}.mcp-tool-desc{color:#b0b8d0;font-size:.8rem;line-height:1.4;margin:.5rem 0 0}.mcp-field{margin-bottom:.85rem}.mcp-field>label{align-items:center;color:#d4daf0;display:flex;font-size:.85rem;font-weight:600;gap:.35rem;margin-bottom:.25rem}.mcp-required{color:#e74c3c}.mcp-type{color:#7a849e;font-size:.7rem;font-weight:400;text-transform:uppercase}.mcp-field-desc{color:#8a94ae;font-size:.75rem;line-height:1.35;margin:0 0 .35rem}.mcp-checkbox{align-items:center;cursor:pointer;display:inline-flex;gap:.4rem}.mcp-checkbox input{width:auto}.mcp-call-button{background:#8e44ad;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:.5rem;padding:.65rem 1rem;width:100%}.mcp-call-button:hover:not(:disabled){background:#7d3c98}.mcp-call-button:disabled{background:#5a4a6a;cursor:not-allowed}.mcp-muted{color:#8a94ae;font-style:italic;margin:.25rem 0}.mcp-error{color:#ee6c6c;line-height:1.35;margin:.25rem 0 .5rem}.mcp-result{word-wrap:break-word;background:#121722;border:1px solid #3d4560;border-radius:4px;color:#c8d0e8;font-family:Courier New,monospace;font-size:.75rem;line-height:1.4;margin:0;max-height:45vh;overflow:auto;padding:.75rem;white-space:pre-wrap}@media (max-width:768px){.app{height:100vh}.header{align-items:stretch;flex-direction:column;padding:1rem}.header-controls{justify-content:space-between}.course-input{flex:1 1}.course-combobox{flex:1 1;min-width:0}.course-input input{min-width:150px}.message{max-width:95%}.input-container{flex-direction:column;gap:.5rem}.send-button{align-self:flex-end}}
/*# sourceMappingURL=main.dbc69a6d.css.map*/