@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;600&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}button{color:#333}html,body,#root{height:100%;width:100%}.chat-container{height:100vh;width:100%;display:flex;flex-direction:column;background:#fffef9;font-family:Caveat,cursive;color:#333}.chat-header{padding:15px 20px;position:relative}.chat-header:after{content:"";position:absolute;bottom:0;left:10px;right:10px;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 4'%3E%3Cpath d='M0,2 Q20,0 40,2 T80,2 T120,2 T160,2 T200,2 T240,2 T280,2 T320,2 T360,2 T400,2' stroke='%23333' stroke-width='2' fill='none'/%3E%3C/svg%3E") repeat-x}.header-info{display:flex;align-items:center;gap:10px}.chat-header{display:flex;justify-content:space-between;align-items:center}.settings-btn{font-size:1.6rem;background:none;border:2px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:6px 12px;cursor:pointer;font-family:Caveat,cursive;transition:transform .2s}.settings-btn:hover{transform:rotate(-5deg) scale(1.1)}.provider-badge{font-size:1rem;color:#666;background:#ffeaa7;padding:2px 8px;border:1.5px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;display:inline-block;margin-top:2px}.avatar{display:none}.header-text h1{font-size:2rem;font-weight:600}.status{display:none}.messages-container{flex:1;overflow-y:auto;padding:25px;display:flex;flex-direction:column;gap:20px;background:#fffef9}.welcome-message{text-align:center;padding:40px 20px}.welcome-icon{font-size:50px;margin-bottom:10px}.welcome-message h2{font-size:2.2rem;margin-bottom:5px}.welcome-message p{font-size:1.4rem;color:#666;margin-bottom:25px}.suggestions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.suggestions button{padding:10px 18px;background:#fffef9;border:none;font-size:1.2rem;font-family:Caveat,cursive;cursor:pointer;position:relative;transition:transform .2s}.suggestions button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;pointer-events:none}.suggestions button:hover{transform:scale(1.03)}.message-wrapper{display:flex;gap:8px;max-width:75%}.message-wrapper.user{align-self:flex-end}.message-wrapper.assistant{align-self:flex-start}.avatar.small{display:none}.message{padding:14px 18px;background:#fffef9;position:relative}.message:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2.5px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;pointer-events:none}.message.user{transform:rotate(.5deg)}.message.user:before{border-radius:15px 255px 15px 225px/225px 15px 255px}.message.user p{margin:0;font-size:1.4rem;line-height:1.5}.message.assistant{padding:0;overflow:visible;transform:rotate(-.3deg)}.message.assistant:before{border-radius:225px 25px 255px 15px/25px 255px 15px 225px}.code-block{width:100%;padding:14px 18px}.code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;font-size:1.1rem;position:relative}.code-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 3'%3E%3Cpath d='M0,1.5 Q10,0 20,1.5 T40,1.5 T60,1.5 T80,1.5 T100,1.5 T120,1.5 T140,1.5 T160,1.5 T180,1.5 T200,1.5' stroke='%23333' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") repeat-x}.code-block .copy-btn{padding:5px 12px;background:#ffeaa7;border:2px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;font-family:Caveat,cursive;font-size:1.1rem;cursor:pointer;transition:transform .2s}.code-block .copy-btn:hover{transform:rotate(-2deg);background:#fdcb6e}.code-block pre{margin:0;font-family:Caveat,cursive;font-size:1.3rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.code-block code{font-family:inherit}.message.typing{padding:14px 18px}.typing-indicator{display:flex;gap:8px}.typing-indicator span{width:10px;height:10px;background:#333;border-radius:50%;animation:wiggle 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes wiggle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-5deg)}75%{transform:translateY(2px) rotate(3deg)}}.input-container{padding:15px 20px 20px;background:#fffef9;position:relative}.input-container:before{content:"";position:absolute;top:0;left:10px;right:10px;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 4'%3E%3Cpath d='M0,2 Q20,0 40,2 T80,2 T120,2 T160,2 T200,2 T240,2 T280,2 T320,2 T360,2 T400,2' stroke='%23333' stroke-width='2' fill='none'/%3E%3C/svg%3E") repeat-x}.input-wrapper{display:flex;gap:12px;padding:12px 15px;background:#fffef9;position:relative}.input-wrapper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2.5px solid #333;border-radius:15px 255px 20px 225px/255px 20px 225px 15px;pointer-events:none}.input-wrapper textarea{flex:1;background:transparent;border:none;font-size:1.4rem;font-family:Caveat,cursive;resize:none;padding:5px 0;max-height:100px;line-height:1.5;color:#333}.input-wrapper textarea::placeholder{color:#999}.input-wrapper textarea:focus{outline:none}.send-btn{width:45px;height:45px;background:#fffef9;border:2.5px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}.send-btn:hover:not(:disabled){transform:rotate(5deg) scale(1.05)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn svg{width:22px;height:22px;color:#333;stroke:#333}.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.input-hint{text-align:center;font-size:1.1rem;color:#999;margin-top:10px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#fffef9}.messages-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}@media (max-width: 600px){.message-wrapper{max-width:88%}.suggestions{flex-direction:column}.suggestions button{width:100%}.message.user p,.code-block pre,.input-wrapper textarea{font-size:1.2rem}.settings-panel{width:95%;max-height:90vh}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-panel{background:#fffef9;width:500px;max-height:85vh;overflow-y:auto;position:relative;padding:30px;border:3px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:12px;position:relative}.settings-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 4'%3E%3Cpath d='M0,2 Q20,0 40,2 T80,2 T120,2 T160,2 T200,2 T240,2 T280,2 T320,2 T360,2 T400,2' stroke='%23333' stroke-width='2' fill='none'/%3E%3C/svg%3E") repeat-x}.settings-header h2{font-family:Caveat,cursive;font-size:2rem;margin:0}.close-btn{background:none;border:2px solid #333;border-radius:50%;width:35px;height:35px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;font-family:sans-serif;color:#333}.close-btn:hover{transform:rotate(90deg);background:#ffeaa7}.settings-body{display:flex;flex-direction:column;gap:20px}.settings-loading{text-align:center;font-size:1.4rem;font-family:Caveat,cursive;color:#666}.settings-field{display:flex;flex-direction:column;gap:8px}.settings-field label{font-family:Caveat,cursive;font-size:1.4rem;font-weight:600}.settings-field select,.settings-field input{font-family:Caveat,cursive;font-size:1.3rem;padding:10px 14px;border:2.5px solid #333;border-radius:15px 255px 20px 225px/255px 20px 225px 15px;background:#fffef9;color:#333;outline:none;width:100%}.settings-field select:focus,.settings-field input:focus{border-color:#e17055}.api-key-input{display:flex;gap:8px;align-items:center}.api-key-input input{flex:1}.toggle-key-btn{background:none;border:2px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:8px 12px;cursor:pointer;font-size:1.1rem;transition:transform .2s}.toggle-key-btn:hover{transform:scale(1.1)}.field-hint{font-family:Caveat,cursive;font-size:1.1rem;color:#888}.settings-actions{display:flex;gap:12px;margin-top:10px}.save-btn,.clear-btn{flex:1;padding:12px 20px;font-family:Caveat,cursive;font-size:1.4rem;border:2.5px solid #333;border-radius:255px 15px 225px/15px 225px 15px 255px;cursor:pointer;transition:transform .2s}.save-btn{background:#55efc4}.save-btn:hover{transform:rotate(-1deg) scale(1.02);background:#00b894}.clear-btn{background:#fab1a0}.clear-btn:hover{transform:rotate(1deg) scale(1.02);background:#e17055}.settings-info{margin-top:15px;padding:15px;background:#ffeaa740;border:2px solid #333;border-radius:225px 25px 255px 15px/25px 255px 15px 225px}.settings-info p{font-family:Caveat,cursive;font-size:1.2rem;margin-bottom:8px;line-height:1.4}.settings-info ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.settings-info li a{font-family:Caveat,cursive;font-size:1.15rem;color:#0984e3;text-decoration:none;padding:3px 10px;border:1.5px solid #0984e3;border-radius:255px 15px 225px/15px 225px 15px 255px;transition:all .2s}.settings-info li a:hover{background:#0984e3;color:#fff;transform:rotate(-1deg)}
