@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}:root{color-scheme:dark;--surface-base: #0c0c10;--surface-glass: rgba(18, 18, 22, .72);--surface-soft: rgba(255, 255, 255, .04);--border-glass: rgba(255, 255, 255, .14);--border-soft: rgba(255, 255, 255, .08);--accent: rgba(94, 128, 255, 1);--accent-soft: rgba(94, 128, 255, .28);--accent-hover: rgba(94, 128, 255, .42);--accent-border: rgba(132, 158, 255, .5);--focus-ring: rgba(132, 158, 255, .35);--focus-ring-error: rgba(255, 94, 94, .35);--bubble-text: #f2f2f3;--bubble-text-secondary: rgba(255, 255, 255, .82);--placeholder-color: rgba(255, 255, 255, .42);--link-color: #9ab4ff;--bubble-bg-assistant: rgba(255, 255, 255, .04);--bubble-bg-user: rgba(94, 128, 255, .22);--bubble-border-assistant: rgba(255, 255, 255, .12);--bubble-border-user: rgba(94, 128, 255, .38);--error-fg: #ffc2c2;--error-bg: rgba(255, 94, 94, .12);--error-border: rgba(255, 94, 94, .35);--error-accent-border: rgba(255, 94, 94, .55);--error-accent-bg: rgba(255, 94, 94, .18);--error-accent-hover: rgba(255, 94, 94, .3);--error-accent-text: #fff0f0}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:radial-gradient(circle at 15% 20%,rgba(0,122,255,.07),transparent 40%),radial-gradient(circle at 85% 80%,rgba(255,0,80,.07),transparent 40%),#0a0c11;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.wrapper{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:60px}.chat-container{width:100%;max-width:1000px;height:85vh;display:flex;flex-direction:column}.messages{flex:1;display:flex;flex-direction:column;gap:38px;overflow-y:auto;padding:40px}.message-wrapper{max-width:65%;animation:fadeUp .35s ease;transition:transform .25s ease}.message-wrapper:hover{transform:translateY(-2px)}.message-wrapper.user{align-self:flex-end}.message-wrapper.assistant{align-self:flex-start}.message{background:#161921bf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:22px 30px;border-radius:28px;color:#d3d7dd;line-height:1.65;transition:all .3s ease}.message-wrapper.user .message{box-shadow:0 0 14px #007aff99,0 0 35px #007aff33}.message-wrapper.assistant .message{box-shadow:0 0 14px #ff005099,0 0 35px #ff005033}.actions{margin-top:10px;opacity:0;transition:opacity .2s ease}.message:hover .actions{opacity:1}.actions button{background:transparent;border:1px solid #2a2e38;border-radius:10px;padding:5px 12px;color:#888;cursor:pointer;font-size:12px;transition:all .2s ease}.actions button:hover{color:#fff;border-color:#444}.input{margin-top:30px;border-radius:28px;border:2px solid transparent;background:linear-gradient(#141821,#141821) padding-box,linear-gradient(90deg,#007aff,#ff0050) border-box;padding:20px;font-size:16px;color:#fff;outline:none;resize:none;transition:box-shadow .3s ease}.input:focus{box-shadow:0 0 15px #007aff80,0 0 35px #ff00504d}.send-btn{margin-top:22px;padding:15px;border-radius:28px;border:none;background:linear-gradient(135deg,#007aff,#ff0050);color:#fff;font-size:16px;cursor:pointer;transition:all .2s ease}.send-btn:hover{transform:translateY(-2px);box-shadow:0 0 15px #007aff80,0 0 30px #ff00504d}.toast{position:fixed;bottom:40px;right:40px;background:#111;color:#0fc;padding:12px 18px;border-radius:14px;box-shadow:0 0 18px #00ffc866;font-size:14px;animation:fadeIn .3s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.typing{display:flex;gap:6px;align-items:center}.typing span{width:8px;height:8px;background:#ff0050;border-radius:50%;animation:bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.conversation-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;padding-top:max(14px,env(safe-area-inset-top));background:var(--surface-glass, rgba(18, 18, 22, .72));border-bottom:1px solid var(--border-soft, rgba(255, 255, 255, .08));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.conversation-header__title{margin:0;font-size:15px;font-weight:600;color:var(--bubble-text, #f2f2f3);letter-spacing:.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.conversation-header__chip{flex:0 0 auto;padding:5px 11px;font-size:12px;font-weight:500;color:var(--bubble-text-secondary, rgba(255, 255, 255, .82));background:var(--surface-soft, rgba(255, 255, 255, .04));border:1px solid var(--border-glass, rgba(255, 255, 255, .14));border-radius:999px;white-space:nowrap}.bubble{max-width:min(72ch,100%);padding:14px 18px;border-radius:18px;line-height:1.55;font-size:15px;color:var(--bubble-text, #f2f2f3);word-wrap:break-word;overflow-wrap:break-word}.bubble--user{align-self:flex-end;background:var(--bubble-bg-user, rgba(94, 128, 255, .22));border:1px solid var(--bubble-border-user, rgba(94, 128, 255, .38))}.bubble--assistant{align-self:flex-start;background:var(--bubble-bg-assistant, rgba(255, 255, 255, .04));border:1px solid var(--bubble-border-assistant, rgba(255, 255, 255, .12));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bubble--error{border-color:var(--error-accent-border, rgba(255, 94, 94, .55))}.bubble__content{display:block}.bubble__text{margin:0;white-space:pre-wrap}.bubble__content p{margin:0 0 .75em}.bubble__content p:last-child{margin-bottom:0}.bubble__content ul,.bubble__content ol{margin:0 0 .75em;padding-left:1.4em}.bubble__content li{margin:.15em 0}.bubble__content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;padding:.1em .35em;border-radius:4px;background:#ffffff14}.bubble__content pre{margin:0 0 .75em;padding:12px 14px;border-radius:12px;background:#00000059;overflow-x:auto}.bubble__content pre code{padding:0;background:transparent;font-size:.9em}.bubble__content blockquote{margin:0 0 .75em;padding:.2em 0 .2em .9em;border-left:2px solid rgba(255,255,255,.25);color:var(--bubble-text-secondary, rgba(255, 255, 255, .82))}.bubble__content a{color:var(--link-color, #9ab4ff);text-decoration:underline;text-underline-offset:2px}.bubble__content a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring, rgba(132, 158, 255, .35));border-radius:2px}.bubble__content table{border-collapse:collapse;margin:0 0 .75em;font-size:.92em}.bubble__content th,.bubble__content td{border:1px solid var(--border-glass, rgba(255, 255, 255, .14));padding:6px 10px;text-align:left}.bubble__content h1,.bubble__content h2,.bubble__content h3,.bubble__content h4{margin:.6em 0 .35em;line-height:1.25}.bubble__error{margin:8px 0 0;font-size:12px;color:var(--error-fg, #ffc2c2)}.typing-indicator{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:12px 16px;border-radius:18px;background:var(--bubble-bg-assistant, rgba(255, 255, 255, .04));border:1px solid var(--bubble-border-assistant, rgba(255, 255, 255, .12));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.typing-indicator__dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--bubble-text-secondary, rgba(255, 255, 255, .72));opacity:.35;animation:typing-pulse 1.1s ease-in-out infinite}.typing-indicator__dot:nth-child(2){animation-delay:.15s}.typing-indicator__dot:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.typing-indicator__dot{animation:none;opacity:.7}}.message-list{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;padding:24px 20px 32px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.message-list::-webkit-scrollbar{width:8px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.message-list::-webkit-scrollbar-thumb:hover{background:#ffffff38}.message-list{scrollbar-color:rgba(255,255,255,.18) transparent;scrollbar-width:thin}.message-input{position:sticky;bottom:0;z-index:10;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--surface-glass, rgba(18, 18, 22, .72));border-top:1px solid var(--border-soft, rgba(255, 255, 255, .08));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.message-input__row{display:flex;align-items:flex-end;gap:10px;max-width:860px;margin:0 auto}.message-input__textarea{flex:1 1 auto;min-height:44px;max-height:168px;padding:12px 14px;border-radius:14px;border:1px solid var(--border-glass, rgba(255, 255, 255, .14));background:var(--surface-soft, rgba(255, 255, 255, .04));color:var(--bubble-text, #f2f2f3);font:inherit;font-size:15px;line-height:1.45;resize:none;overflow-y:auto;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.message-input__textarea::placeholder{color:var(--placeholder-color, rgba(255, 255, 255, .42))}.message-input__textarea:focus-visible{border-color:var(--accent-border, rgba(132, 158, 255, .65));box-shadow:0 0 0 3px var(--focus-ring, rgba(132, 158, 255, .35))}.message-input__textarea:disabled{opacity:.55;cursor:not-allowed}.message-input__button{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--accent-border, rgba(132, 158, 255, .5));background:var(--accent-soft, rgba(94, 128, 255, .28));color:var(--bubble-text, #f4f6ff);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}.message-input__button:hover:not(:disabled){background:var(--accent-hover, rgba(94, 128, 255, .42))}.message-input__button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring, rgba(132, 158, 255, .35))}.message-input__button:disabled{opacity:.45;cursor:not-allowed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-view{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;width:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--surface-base, #0c0c10);color:var(--bubble-text, #f2f2f3)}.chat-view__error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:var(--error-bg, rgba(255, 94, 94, .12));border-top:1px solid var(--error-border, rgba(255, 94, 94, .35));color:var(--error-fg, #ffc2c2);font-size:13px}.chat-view__error-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-view__error-button{flex:0 0 auto;padding:6px 12px;border-radius:10px;border:1px solid var(--error-accent-border, rgba(255, 94, 94, .55));background:var(--error-accent-bg, rgba(255, 94, 94, .18));color:var(--error-accent-text, #fff0f0);font-size:12px;font-weight:500;cursor:pointer;transition:background-color .12s ease}.chat-view__error-button:hover:not(:disabled){background:var(--error-accent-hover, rgba(255, 94, 94, .3))}.chat-view__error-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring-error, rgba(255, 94, 94, .35))}.chat-view__error-button:disabled{opacity:.5;cursor:not-allowed}.app{display:flex;height:100vh;height:100dvh;background:#0f172a;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.sidebar{width:280px;background:#111827;padding:20px;overflow-y:auto;border-right:1px solid rgba(255,255,255,.05)}.sidebar h3{font-size:12px;letter-spacing:1px;opacity:.6;margin-bottom:12px;margin-top:20px}.project-item,.conversation-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .2s ease}.project-item:hover,.conversation-item:hover{background:#ffffff0d}.project-item.active,.conversation-item.active{background:#3b82f626}.project-name-wrapper{flex:1;display:flex;align-items:center}.rename-input{width:100%;background:transparent;border:none;outline:none;color:inherit;font-size:inherit;font-family:inherit}.rename-input:focus{border-bottom:1px solid rgba(255,255,255,.4)}.menu-btn{opacity:0;font-size:14px;transition:opacity .2s ease}.project-item:hover .menu-btn{opacity:1}.drawer{width:360px;background:#0f172a;border-left:1px solid rgba(255,255,255,.05);padding:20px;overflow-y:auto;transition:transform .3s ease,opacity .3s ease}.drawer{transform:translate(-100%);opacity:0;pointer-events:none}.drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.drawer-header button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:16px}.icon-search{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;margin-bottom:16px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:12px}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .1s ease}.icon-wrapper:hover{background:#ffffff14;transform:scale(1.05)}.icon-wrapper.selected{background:#3b82f633}.color-picker{margin-top:10px;width:100%;height:36px;border:none;border-radius:8px;cursor:pointer;background:none}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}@media(max-width:767px){.sidebar,.drawer{display:none}}
