@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);--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}.playground{border-top:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;overflow:hidden}.mapgpt-header{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,var(--color-accent) 0%,rgba(0,0,0,.05) 100%);border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}@media(prefers-color-scheme:dark){.mapgpt-header{background:linear-gradient(135deg,var(--color-accent) 0%,rgba(255,255,255,.05) 100%);border-bottom:1px solid rgba(255,255,255,.1)}}.mapgpt-icon{width:20px;height:20px;color:var(--color-accent);flex-shrink:0}.mapgpt-text{font-size:13px;font-weight:600;color:var(--color-text);letter-spacing:.3px}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:column;flex:1;position:relative;overflow:hidden}.sidebar{display:none}.selector{display:flex;flex-direction:row;flex:0;padding:0 1em;border-bottom:1px solid var(--color-sidebar-border, #ddd)}.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{flex:1;flex-direction:column;overflow:hidden}textarea{flex:1;min-height:30px;height:100px;width:100%}.main-container{display:flex;flex:1;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1}main{display:flex;align-items:center;justify-content:center;flex:1}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:1.25em;padding:1.5em 8px 8px;scroll-behavior:smooth}.chat-messages *{overflow-anchor:none}#chatStatus{background:var(--color-bg2, #f0f0f0);padding:.5em;display:flex;align-items:center;justify-content:flex-start;align-content:center;flex-direction:row;flex-wrap:wrap;font-weight:700}#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}#inputArea{display:flex;padding:15px;border-top:1px solid var(--color-sidebar-border);height:80px}#messageInput{flex-grow:1;padding:10px 10px 10px 16px;border:1px solid #ccc;border-radius:14px;margin-right:10px;font-size:1em;background:var(--color-bg2);color:var(--color-text2)}#messageInput:focus{outline:1px solid var(--color-accent, inherit)}#sendButton{padding:8px 6px 8px 10px;height:50px;background-color:var(--color-accent, inherit);color:var(--color-accent-text, inherit);border:none;border-radius:100px;cursor:pointer;font-size:1em;transition:background-color .2s;display:flex;aspect-ratio:1;align-content:center;align-items:center;justify-content:center;color:var(--color-accent-text)}#sendButton:hover{background-color:var(--color-accent2, #ddd)}#sendButton.disabled{background-color:var(--color-accent-disabled, #ccc);cursor:not-allowed}#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:10px 15px;border-radius:18px;max-width:85%;word-wrap:break-word}.turn .thinking{font-style:normal;background:var(--color-bg3);color:var(--color-text3);border-radius:10px;padding:.75em;margin-top:6px}.turn .thinking p{margin:.75rem 0}.role-user{background-color:var(--color-accent);color:var(--color-accent-text);align-self:flex-end;border-bottom-right-radius:4px}.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}.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-color:var(--color-error-bg);color:var(--color-error-text);align-self:flex-start;border-bottom-left-radius:4px}.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}.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}.chat-overlay{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:transparent;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-overlay *{pointer-events:auto}.chat-header{background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top-left-radius:24px;border-top-right-radius:24px;border:1px solid rgba(0,0,0,.08);box-shadow:0 -4px 24px #0000001f;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));position:relative;transition:border-radius .3s;pointer-events:auto}@media(prefers-color-scheme:dark){.chat-header{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 24px #0000004d}.chat-expanded-content{background:#1e1e1efa;border-top:1px solid rgba(255,255,255,.1)}}.chat-overlay.expanded .chat-header{border-radius:0;border-left:none;border-right:none}.chat-header-content{display:flex;align-items:center;gap:8px;max-width:1200px;margin:0 auto;pointer-events:auto;position:relative;z-index:1001;width:100%;box-sizing:border-box}.chat-header-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--color-accent);color:var(--color-accent-text);flex-shrink:0;cursor:pointer;touch-action:manipulation}.chat-header-icon svg{width:20px;height:20px}.chat-header-input{flex:1;border:none;outline:none;background:var(--color-bg2);padding:12px 16px;border-radius:24px;font-size:16px;color:var(--color-text);font-family:inherit;transition:all .2s;cursor:text;-webkit-user-select:text;user-select:text;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto!important;touch-action:auto!important;z-index:1002!important;position:relative;width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0)}.chat-header-input:focus{background:var(--color-bg);box-shadow:0 0 0 2px var(--color-accent);outline:none;border:none}.chat-header-input::placeholder{color:var(--color-text2)}.chat-header-input:disabled,.chat-header-input[readonly]{opacity:.6;cursor:not-allowed}.chat-header-send{width:48px;min-width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:var(--color-accent-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;box-shadow:0 2px 8px #00000026;padding:0}.chat-header-send:hover:not(.disabled){transform:scale(1.05);box-shadow:0 4px 12px #0003}.chat-header-send:active:not(.disabled){transform:scale(.95)}.chat-header-send.disabled{opacity:.5;cursor:not-allowed}.chat-header-send svg{width:24px;height:24px}.chat-status-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;margin-top:8px;font-size:14px;color:var(--color-text2);background:var(--color-bg2);border-radius:16px;max-width:fit-content;margin-left:auto;margin-right:auto}.chat-status-indicator svg{width:16px;height:16px}.chat-close-btn{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:var(--color-bg2);color:var(--color-text2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;flex-shrink:0;margin-left:8px}.chat-close-btn:hover{background:var(--color-bg3);transform:rotate(90deg) scale(1.1)}.chat-close-btn:active{transform:rotate(90deg) scale(.95)}.chat-close-btn svg{width:20px;height:20px}.chat-expanded-content{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);background:#fffffffa;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(0,0,0,.08)}.chat-overlay.expanded .chat-expanded-content{max-height:70vh;max-height:70dvh}.chat-expanded-content .chat-messages{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));max-height:70vh;max-height:70dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-welcome{text-align:center;padding:40px 20px;color:var(--color-text2)}.chat-welcome svg{width:64px;height:64px;margin:0 auto 20px;opacity:.6}.chat-welcome h3{font-size:20px;margin-bottom:12px;color:var(--color-text)}.chat-welcome p{font-size:14px;margin-bottom:20px;line-height:1.6}.chat-welcome ul{list-style:none;text-align:left;max-width:400px;margin:0 auto;padding:0}.chat-welcome li{padding:8px 12px;margin:8px 0;background:var(--color-bg2);border-radius:12px;font-size:14px;color:var(--color-text);border-left:3px solid var(--color-accent)}.mobile-nav{display:none}.mobile-nav-buttons{display:flex;justify-content:space-around;align-items:center;max-width:600px;margin:0 auto}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 24px;background:transparent;border:none;color:var(--color-text2);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px;position:relative;font-size:12px;font-weight:500}.mobile-nav-btn svg{width:24px;height:24px;transition:transform .3s}.mobile-nav-btn.active{color:var(--color-accent);background:var(--color-bg2)}.mobile-nav-btn.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--color-accent);opacity:.1;border-radius:50%}.mobile-nav-btn:active{transform:scale(.95)}.mobile-view-toggle{display:none;position:fixed;top:16px;right:16px;z-index:1001;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:var(--color-accent-text);border:none;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s;align-items:center;justify-content:center}.mobile-view-toggle:active{transform:scale(.9)}.mobile-view-toggle svg{width:24px;height:24px}@media only screen and (max-width:900px){html{font-size:14px}body{overflow-x:hidden;-webkit-overflow-scrolling:touch}.selector{display:none}#editor{display:none!important}.playground{height:100vh;height:100dvh;overflow:hidden}.chat-header{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top-left-radius:20px;border-top-right-radius:20px}.chat-header-content{gap:8px}.chat-header-icon{width:40px;height:40px;min-width:40px}.chat-header-icon svg{width:18px;height:18px}.chat-header-input{padding:10px 16px;font-size:16px;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0);pointer-events:auto!important;touch-action:auto!important;z-index:1002!important;flex:1;min-width:0}.chat-header-input:focus{outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.chat-header-input:active,.chat-header-input:focus,.chat-header-input:hover{pointer-events:auto!important;touch-action:auto!important}.chat-header-input[readonly],.chat-header-input[disabled]{pointer-events:auto!important;opacity:1!important;cursor:text!important}#chatInputField{pointer-events:auto!important;touch-action:auto!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;z-index:9999!important;position:relative!important}.chat-header-send{width:44px;min-width:44px;height:44px;flex-shrink:0}.chat-header-send svg{width:20px;height:20px}.chat-close-btn{width:34px;height:34px;min-width:34px;right:12px}.chat-close-btn svg{width:18px;height:18px}.chat-expanded-content .chat-messages{padding:12px;max-height:75vh;max-height:75dvh}.turn{max-width:90%;padding:12px 16px;border-radius:20px;font-size:.95rem}.role-user{border-bottom-right-radius:6px}.role-assistant{border-bottom-left-radius:6px}.chat-welcome{padding:30px 16px}.chat-welcome svg{width:48px;height:48px}.chat-welcome h3{font-size:18px}.chat-welcome p,.chat-welcome li{font-size:13px}button{min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.turn{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-expanded-content .chat-messages::-webkit-scrollbar{width:4px}.chat-expanded-content .chat-messages::-webkit-scrollbar-thumb{background:var(--color-accent);opacity:.3;border-radius:2px}}@media only screen and (max-width:480px){.chat-header{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.chat-header-content{gap:6px}.chat-header-icon{width:36px;height:36px;min-width:36px}.chat-header-icon svg{width:16px;height:16px}.chat-header-input{padding:8px 14px;font-size:16px;min-height:40px}.chat-header-send{width:40px;min-width:40px;height:40px}.chat-header-send svg{width:18px;height:18px}.chat-close-btn{width:32px;height:32px;min-width:32px;margin-left:6px}.chat-close-btn svg{width:16px;height:16px}.chat-expanded-content .chat-messages{padding:10px;max-height:80vh;max-height:80dvh}.turn{max-width:95%;padding:10px 14px;font-size:.9rem}.chat-welcome{padding:24px 12px}}@media only screen and (min-width:481px)and (max-width:768px){.chat-header{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.chat-header-content{gap:10px}.chat-header-icon{width:40px;height:40px;min-width:40px}.chat-header-input{padding:10px 16px;font-size:16px;min-height:44px}.chat-header-send{width:44px;min-width:44px;height:44px}.chat-close-btn{width:36px;height:36px;min-width:36px;margin-left:8px}.turn{max-width:85%;font-size:.95rem}}@media only screen and (max-width:900px)and (orientation:landscape){.chat-overlay.expanded .chat-expanded-content,.chat-expanded-content .chat-messages{max-height:50vh;max-height:50dvh}.chat-header{padding:8px 12px}.chat-header-content{gap:8px}.chat-header-icon{width:36px;height:36px}.chat-header-input{min-height:40px;padding:8px 12px}.chat-header-send{width:40px;height:40px}}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}
