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-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap");@tailwind base;@tailwind components;@tailwind utilities;:root{--bg:#0f1724;--card:#0b1220;--accent:#0a79c4;--muted:#94a3b8;--text:#e6eef8}*{box-sizing:border-box}body,html{height:100%;margin:0;background:linear-gradient(180deg,#061021,#081225);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;-webkit-text-size-adjust:100%;overscroll-behavior:contain}.app{display:flex;flex-direction:column;justify-content:space-between;max-width:900px;height:100vh;margin:24px auto;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(2,6,23,.6);background:linear-gradient(180deg,hsla(0,0%,100%,.02),rgba(0,0,0,.02))}.app-header{padding:20px;gap:12px;border-bottom:1px solid hsla(0,0%,100%,.04)}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px}.logo{height:30px;width:30px;border-radius:6px}.app-header h1{margin:0;font-size:20px;letter-spacing:.2px}.subtitle{margin:0;color:var(--muted);font-size:13px}.chat{padding:24px;display:flex;flex-direction:column;gap:16px;border-top:1px solid hsla(0,0%,100%,.02);border-bottom:1px solid hsla(0,0%,100%,.02)}.bubble{padding:16px 20px;border-radius:18px;line-height:1.6;color:var(--text);word-wrap:break-word}.user{align-self:flex-end;background:linear-gradient(90deg,rgba(24,160,251,.1),rgba(24,160,251,.03));border:1px solid rgba(24,160,251,.12);border-radius:12px;padding:6px 12px;max-width:70%;margin-top:4px;font-size:.9rem;line-height:1.5;display:inline-block;box-shadow:0 1px 6px rgba(24,160,251,.05);color:#f5f5f5;word-break:break-word;white-space:pre-wrap}.bot{align-self:flex-start;background:transparent;border:none;max-width:85%}.composer input{flex:1 1;padding:16px 18px}.composer button{width:48px;height:48px;font-size:20px;transition:.3s ease}.composer button:hover{transform:scale(1.05)}@media (max-width:600px){.app{margin:12px;max-width:100%;border-radius:0}.chat{padding:16px}.composer input{padding:14px 16px}.app{margin:0;max-width:100%;border-radius:0;height:100vh;.welcome-message{margin-top:80px;font-size:1.1rem;white-space:normal}}}@media (max-width:600px){.app-header{position:fixed;top:0;left:0;width:100%;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(15,23,36,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid hsla(0,0%,100%,.05);z-index:100}.chat{padding:16px;gap:12px;.chat{padding-top:4rem}}.bubble{font-size:15px;padding:12px 16px;border-radius:14px;max-width:100%;overflow-wrap:break-word;word-break:break-word}.bubble pre{font-size:13px;padding:12px;border-radius:10px;overflow-x:auto}.bubble code{font-size:13px;word-break:break-word}.user{max-width:90%}.bot{max-width:100%}.composer{padding:14px 16px;gap:8px}.composer input{padding:12px 14px;font-size:16px}.composer button{width:42px;height:42px;font-size:18px}.footer{padding:12px;text-align:center;font-size:12px}}footer{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;padding:1rem 0;font-size:.85rem;color:#a1a1aa;border-top:1px solid hsla(0,0%,100%,.05);background:transparent}footer>*{max-width:1200px;width:100%;padding-left:2rem;padding-right:2rem}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 0 10px rgba(0,0,0,.3);z-index:1000;font-size:14px}.toast button{margin-left:12px;background:transparent;color:#aaa;border:none;cursor:pointer}.upgrade-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;margin-top:8px;cursor:pointer;font-weight:600;transition:.3s ease}.upgrade-btn:hover{background:#0a8de0}.premium-banner{background:rgba(10,121,196,.1);border:1px solid rgba(10,121,196,.3);color:var(--accent);margin:16px;border-radius:8px;font-weight:500}.welcome-message{font-size:1.2rem;font-weight:500;color:#ddd;margin:1.5rem 0;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-btn{background:transparent;color:var(--text);border:1px solid hsla(0,0%,100%,.15);padding:8px 18px;border-radius:8px;font-weight:500;cursor:pointer;transition:.3s ease}.login-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.app-header{flex-direction:row;justify-content:space-between;padding:12px 16px;.app-header{position:relative;display:flex;align-items:center;padding:1rem 8rem 1rem 1rem}}.login-btn{padding:6px 14px;font-size:14px}.welcome-message{margin-top:100px;font-size:1.5rem;font-weight:600;color:#e6eef8;opacity:.9;animation:fadeIn 1s ease-in-out;line-height:1.5;max-width:90%;margin-left:auto;margin-right:auto}pre{background-color:var(--bubble-bot);padding:1rem;border-radius:12px;overflow-x:auto;margin:1rem 0;font-size:.95rem;line-height:1.5;box-shadow:0 2px 6px rgba(0,0,0,.1)}code{font-family:Fira Code,Courier New,monospace;color:var(--text-color)}.code-block{position:relative;margin:1rem 0;border-radius:12px;background-color:var(--bubble-bot);box-shadow:0 2px 6px rgba(0,0,0,.1);overflow:hidden}.copy-btn{position:absolute;top:.5rem;right:.5rem;background-color:#444;color:#fff;border:none;padding:.3rem .6rem;font-size:.75rem;border-radius:6px;cursor:pointer;z-index:1;transition:background-color .2s ease}.copy-btn:hover{background-color:#666}.bubble{position:relative;z-index:1}.chat{padding-top:4rem}.composer{position:relative;align-items:center;padding:18px 20px;background:transparent;border-top:1px solid hsla(0,0%,100%,.03)}.composer input{width:100%;padding:16px 60px 16px 18px;font-size:17px;border-radius:12px;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.05);color:var(--text);outline:none;transition:.2s}.composer input::placeholder{color:hsla(0,0%,100%,.5)}.composer button{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:none;background:var(--accent);color:#fff;font-size:18px;transition:.25s ease}.composer button:hover{background:#0a8de0;transform:translateY(-50%) scale(1.05)}.composer input{padding:14px 54px 14px 16px;font-size:16px}.composer button{right:26px;width:34px;height:34px;font-size:16px}#messageInput{padding:.75rem 1rem;font-size:1rem;border-radius:8px;overflow-y:auto;background-color:var(--input-bg);color:var(--input-text);white-space:pre-wrap;word-break:break-word}button{background:linear-gradient(90deg,rgba(24,160,251,.15),rgba(24,160,251,.05));border:1px solid rgba(24,160,251,.2);color:#e0e6f0;padding:.5rem 1rem;border-radius:.75rem;transition:all .2s ease;font-weight:500}button:hover{background:rgba(24,160,251,.2);border-color:rgba(24,160,251,.4);color:#fff}button:active{transform:scale(.97)}button+button{margin-left:10px}.composer button{background:linear-gradient(135deg,#1b263b,#22314d);color:#e0e6f0;border:1px solid #2a3b55;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .25s ease}.composer button:hover{background:linear-gradient(135deg,#24344e,#2e4366);border-color:#3d547c;box-shadow:0 0 8px rgba(77,140,255,.2);transform:translateY(-1px)}.user-bubble{background-color:#2563eb;color:#fff;border-radius:1rem;padding:.25rem 1.25rem;max-width:70%;box-shadow:0 2px 8px rgba(37,99,235,.2);transition:background-color .2s ease,transform .2s ease;display:inline-block;line-height:1.4;vertical-align:middle}.user-bubble:hover{background-color:#3b82f6;transform:translateY(-2px)}.ai-bubble{background-color:#1f2937;color:#fff;border-radius:.75rem;padding:1rem 1.25rem;width:100%;box-shadow:0 2px 10px rgba(0,0,0,.25)}.user{background:#182333}.composer{display:flex;align-items:flex-end;gap:10px;padding:12px;background:rgba(0,0,0,.15);border-top:1px solid hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;bottom:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composer>div{display:flex;align-items:center;padding:10px 16px;border-radius:30px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);width:100%}#messageInput{width:100%;background:transparent;color:#fff;border:none;resize:none;overflow-y:hidden;outline:none;font-size:16px;line-height:1.5;font-family:inherit}#messageInput::placeholder{color:hsla(0,0%,100%,.45)}.composer button[type=submit]{width:40px;height:40px;border-radius:50%;background:#3b82f6;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;cursor:pointer;position:absolute;right:20px;top:50%;transform:translateY(-50%);z-index:5;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:background .2s ease,box-shadow .2s ease}.composer button[type=submit]:hover{background:#5aa0ff;box-shadow:0 4px 14px rgba(0,0,0,.45)}.composer button[type=submit]:active{background:#2a6cd6;box-shadow:0 2px 10px rgba(0,0,0,.35)}@media (max-width:768px){.welcome-message{display:flex;justify-content:center;align-items:center;text-align:center;margin:0 auto;max-width:90%;font-size:.95rem;padding:10px;word-wrap:break-word;box-sizing:border-box}}.premium-banner{position:fixed;top:0;left:0;width:100%;background:linear-gradient(90deg,#4caf50,#43a047);color:#fff;text-align:center;padding:12px 20px;font-size:16px;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:1000;animation:slideDown .4s ease-out}.premium-banner button{background:transparent;border:none;color:#fff;font-size:18px;font-weight:700;margin-left:15px;cursor:pointer}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media (max-width:600px){.premium-banner{font-size:14px;padding:10px}}.welcome-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;font-size:clamp(15px,3.5vw,21px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85;padding:0 10px;box-sizing:border-box}.app-container{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10}.footer{flex:0 0 auto}.chat{flex:1 1;position:relative;overflow-y:auto;padding-top:calc(64px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.subscription-section{margin:1rem;padding:1rem;background:#f9f9f9;border-radius:8px;text-align:center}.subscription-section p{margin-bottom:.5rem;font-size:.95rem;color:#333}.subscription-section button{display:block;width:100%;padding:.75rem;margin-top:.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.subscription-section button:first-of-type{background:#0070f3;color:#fff}.subscription-section button.cancel-btn{background:#e63946;color:#fff}