@import"https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&display=swap";*{box-sizing:border-box;margin:0;padding:0}html{height:100%;display:flex;font-family:Google Sans Text,Google Sans}body{display:flex;flex-direction:column;flex:1;margin:0;overflow:hidden;--color-bg: light-dark(#fff, #000);--color-text: light-dark(#000, #fff);--color-inv-bg: light-dark(#000, #fff);--color-inv-text: light-dark(#fff, #000);--color-inv-bg2: light-dark(#333, #aaa);--color-inv-text2: light-dark(#ccc, #222);--color-accent: light-dark(#000, #fff);--color-accent2: light-dark(#444, #ccc);--color-accent-disabled: light-dark(#aaa, #aaa);--color-accent-text: light-dark(#fff, #000);--color-sidebar-border: light-dark(#ddd, #333);--color-bg2: light-dark(#f0f0f0, #333);--color-text2: light-dark(#333, #f0f0f0);--color-bg3: light-dark(#dadada, #4b4b4b);--color-text3: light-dark(#333, #f0f0f0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:light-dark(rgba(170,170,170,.7),rgba(130,130,130,.7));border-radius:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;--code-bg: #222;--code-text: #ccc;--code-editor-bg: var(--color-bg2);--code-editor-text: var(--color-text2);--color-error-bg: #ff3326;--color-error-text: #000;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--border-radius: 12px;--border-radius-sm: 8px}.playground{border-top:1px solid var(--color-sidebar-border)}textarea{border:none;overflow:auto;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;resize:none}.hidden{display:none!important}#editor textarea{font:monospace}#root,.playground{height:100vh;overflow:hidden}.playground{display:flex;flex-direction:row;flex:1}.sidebar{display:flex;flex-direction:column;flex:0 0 auto;width:33.333vw;overflow:hidden;border-right:1px solid var(--color-sidebar-border, #ddd);position:relative;min-width:200px;max-width:50vw;background:var(--color-bg);transition:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-sidebar-border, #ddd);background:var(--color-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-title{display:flex;align-items:center;gap:12px;font-weight:600;font-size:18px;color:var(--color-text)}.app-icon{color:#4f46e5}.tab-indicator{display:flex;align-items:center}.tab-badge{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.selector button{display:flex;gap:5px;border:none;outline:none;cursor:pointer;padding:14px 16px;transition:.3s;border-bottom:4px solid transparent;background:transparent;align-items:center;justify-content:center;align-content:center;flex-wrap:nowrap;flex-direction:row;color:var(--color-text)}.selector button:hover{background-color:var(--color-bg2);color:var(--color-text2)}.selected-tab,.selector button.active{background:transparent;border-bottom:4px solid var(--color-accent, #000)!important}.tabcontent{display:none}.showtab{display:flex!important}.toolbar{height:80px;display:flex;flex-direction:row;justify-content:center;border-top:1px solid var(--color-sidebar-border, #ddd)}.toolbar button{border:none;outline:none;cursor:pointer;padding:10px 5px 6px;transition:.3s;background:transparent;color:var(--color-accent)}.toolbar button:hover{background-color:transparent;color:var(--color-accent2)}.toolbar button.disabled{color:var(--color-accent-disabled)}#reloadCode{margin-right:25px}#clear{margin-left:25px}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}textarea{flex:1;min-height:30px;height:100px;width:100%}.main-container{display:flex;flex:1;flex-direction:column;background:var(--color-bg2)}.map-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--color-bg);border-bottom:1px solid var(--color-sidebar-border)}.map-header h2{font-size:20px;font-weight:600;margin:0;color:var(--color-text)}.map-controls{display:flex;gap:8px;align-items:center}.info-text{font-size:12px;color:var(--color-text2);font-style:italic}.map-container{width:100%;height:100%;min-height:400px}.analysis-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-weight:600;box-shadow:0 2px 8px #0000001a}.attribution{padding:16px;border-top:1px solid var(--color-border);margin-top:auto}.made-with-love{text-align:center;font-size:12px;color:var(--color-text2);line-height:1.4}.made-with-love strong{color:var(--color-text);font-weight:600}.event-info{font-size:11px;opacity:.8;font-style:italic}.control-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg2);border:1px solid var(--color-sidebar-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;color:var(--color-text2)}.control-btn:hover{background:var(--color-bg3);border-color:var(--color-accent2);transform:translateY(-1px)}main{display:flex;align-items:center;justify-content:center;flex:1}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:20px;scroll-behavior:smooth}.chat-messages *{overflow-anchor:none}.welcome-message{text-align:center;padding:40px 20px;color:var(--color-text2)}.welcome-icon{font-size:48px;margin-bottom:16px}.welcome-message h3{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.welcome-message p{font-size:16px;margin-bottom:24px;line-height:1.5}.example-prompts{display:flex;flex-direction:column;gap:12px;max-width:280px;margin:0 auto}.example-btn{background:var(--color-bg2);border:1px solid var(--color-sidebar-border);border-radius:var(--border-radius);padding:12px 16px;text-align:left;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--color-text2)}.example-btn:hover{background:var(--color-bg3);border-color:var(--color-accent2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.status-bar{display:none;padding:12px 20px;background:var(--color-bg2);border-top:1px solid var(--color-sidebar-border);animation:slideIn .3s ease}.status-bar.visible{display:block}.status-content{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text2);font-weight:500}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#chatStatus svg{margin-right:10px}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating{-webkit-animation:rotating 1s linear infinite;-moz-animation:rotating 1s linear infinite;-ms-animation:rotating 1s linear infinite;-o-animation:rotating 1s linear infinite;animation:rotating 1s linear infinite}.input-container{padding:20px;border-top:1px solid var(--color-sidebar-border);background:var(--color-bg)}.input-wrapper{display:flex;align-items:center;gap:12px;background:var(--color-bg2);border:2px solid transparent;border-radius:var(--border-radius);padding:4px;transition:all .2s ease}.input-wrapper:focus-within{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}#messageInput{flex:1;padding:12px 16px;border:none;background:transparent;color:var(--color-text);font-size:16px;outline:none;resize:none}#messageInput::placeholder{color:var(--color-text2);opacity:.7}#messageInput:disabled{opacity:.6;cursor:not-allowed}#sendButton{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}#sendButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}#sendButton:active:not(:disabled){transform:translateY(0)}#sendButton:disabled,#sendButton.disabled{background:var(--color-accent-disabled);cursor:not-allowed;transform:none;box-shadow:none}#anchor{overflow-anchor:auto;padding-top:45px}#editor{position:relative;overflow:auto;background-color:#1c1b1b;flex-direction:column;flex:1}#editor header{flex:0}#editor .code-container{width:max-content;position:relative}#editor .code-syntax,#editor .code-editor{flex:1 1 100%;white-space:pre;font-family:monospace;font-feature-settings:normal;font-kerning:auto;font-optical-sizing:auto;font-palette:normal;font-size:14px;font-size-adjust:none;font-stretch:100%;font-style:normal;font-synthesis-small-caps:auto;font-synthesis-style:auto;font-synthesis-weight:auto;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-emoji:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;font-weight:400;-webkit-font-smoothing:auto}#editor .code-syntax{pointer-events:none}#editor .code-editor{background:transparent;color:transparent;caret-color:var(--code-text);display:flex;position:absolute;top:0;left:0;flex:1;overflow:hidden;width:-webkit-fill-available;height:-webkit-fill-available}.turn{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-radius:var(--border-radius);max-width:85%;word-wrap:break-word;box-shadow:var(--shadow-sm);border:1px solid transparent}.turn .thinking{font-style:normal;background:var(--color-bg3);color:var(--color-text3);border-radius:var(--border-radius-sm);padding:12px 16px;margin-top:8px;border:1px solid var(--color-sidebar-border)}.turn .thinking p{margin:.75rem 0}.role-user{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;border:1px solid rgba(79,70,229,.2)}.role-user details{display:none}.role-assistant{background-color:var(--color-bg2);color:var(--color-text2);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--color-sidebar-border)}.role-system-ask{background-color:transparent;color:var(--color-text2);border:1px solid var(--color-text2, #333);align-self:flex-end;border-bottom-right-radius:4px}.role-system-ask details{display:none}.role-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;align-self:flex-start;border-bottom-left-radius:4px;border:1px solid rgba(239,68,68,.2)}.role-error details{display:none}.hidden{display:none}canvas{width:100%!important;height:100%!important;object-fit:contain}.turn>p{font-size:1rem;margin-bottom:1.3rem}.turn>p:nth-last-child(1){margin-bottom:0}.turn{line-height:1.5}.turn li{margin-left:1rem;margin-bottom:.5rem}.turn li:nth-last-child(1){margin-bottom:0}.turn pre,.turn code{background-color:var(--code-bg);box-sizing:content-box;color:var(--code-text);border-radius:4px;padding:0 5px;outline:3px solid var(--code-bg);outline-offset:-1px;font-family:Inconsolata,Courier New,monospace}.turn pre{overflow:auto;border-radius:10px;padding:15px;margin-top:.5em}#editor textarea{background-color:var(--code-editor-bg);color:var(--code-editor-text);padding:14px;position:absolute;top:0;left:0}.preview-iframe{width:100%;height:100%;border:0;outline:0;box-shadow:none;margin:0;padding:0;background-color:transparent;display:flex;flex:1}.button-label{position:relative}.resize-handle{position:absolute;top:0;right:-2px;width:6px;height:100%;background:transparent;cursor:col-resize;z-index:100;-webkit-user-select:none;user-select:none}.resize-handle:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);opacity:.5}.resize-handle:active{background:linear-gradient(135deg,#4f46e5,#7c3aed);opacity:.8}.button-tooltip{position:relative;top:-85px;height:0;width:0;pointer-events:none;cursor:default;overflow:visible;transition:.2s;opacity:0}.button-tooltip p{background:var(--color-inv-bg);color:var(--color-inv-text);border-radius:4px;padding:5px 8px;font-size:16px;width:max-content;transform:translate(calc(-50% + 20px));outline:1px solid rgba(255,255,255,.5)}.show-tooltip{opacity:1}.turn button{background:var(--color-accent);color:var(--color-accent-text);box-shadow:none;border:none;border-radius:16px;padding:8px;cursor:pointer;transition:.3s}.turn button:hover{background-color:var(--color-accent2)}.turn button.disabled{color:var(--color-accent-disabled)}#appMessages{display:flex;position:absolute;bottom:70px;width:100%;flex-direction:column-reverse;flex-wrap:nowrap;align-content:center;align-items:center}@media only screen and (max-width: 768px){.playground{flex-direction:column}.sidebar{flex:0 0 auto;height:50vh;min-height:300px;max-height:60vh;border-right:none;border-bottom:1px solid var(--color-sidebar-border)}.sidebar-header{padding:12px 16px}.app-title{font-size:16px}.chat-messages{padding:16px;gap:12px}.input-container{padding:16px}.welcome-message{padding:20px 16px}.welcome-message h3{font-size:20px}.example-prompts{max-width:100%}.map-header{padding:12px 16px}.map-header h2{font-size:18px}.resize-handle{display:none}}@media only screen and (max-width: 480px){.sidebar-header{flex-direction:column;align-items:flex-start;gap:8px}.tab-indicator{align-self:flex-end}.chat-messages{padding:12px}.turn{max-width:95%;padding:12px 16px}.input-container{padding:12px}.input-wrapper{gap:8px}#messageInput{font-size:16px;padding:10px 12px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: StackOverflow Dark
  Description: Dark theme as used on stackoverflow.com
  Author: stackoverflow.com
  Maintainer: @Hirse
  Website: https://github.com/StackExchange/Stacks
  License: MIT
  Updated: 2021-05-15

  Updated for @stackoverflow/stacks v0.64.0
  Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less
  Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less
*/.hljs{color:#fff;background:#1c1b1b}.hljs-subst{color:#fff}.hljs-comment{color:#999}.hljs-keyword,.hljs-selector-tag,.hljs-meta .hljs-keyword,.hljs-doctag,.hljs-section,.hljs-attr{color:#88aece}.hljs-attribute{color:#c59bc1}.hljs-name,.hljs-type,.hljs-number,.hljs-selector-id,.hljs-quote,.hljs-template-tag{color:#f08d49}.hljs-selector-class{color:#88aece}.hljs-string,.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr{color:#b5bd68}.hljs-meta,.hljs-selector-pseudo{color:#88aece}.hljs-built_in,.hljs-title,.hljs-literal{color:#f08d49}.hljs-bullet,.hljs-code{color:#ccc}.hljs-meta .hljs-string{color:#b5bd68}.hljs-deletion{color:#de7176}.hljs-addition{color:#76c490}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
