*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--background: hsl(220, 25%, 6%);--foreground: hsl(200, 20%, 88%);--card: hsl(220, 22%, 10%);--card-foreground: hsl(200, 20%, 88%);--primary: hsl(170, 80%, 50%);--primary-foreground: hsl(220, 25%, 6%);--secondary: hsl(220, 18%, 16%);--secondary-foreground: hsl(200, 15%, 72%);--muted: hsl(220, 16%, 14%);--muted-foreground: hsl(200, 10%, 48%);--accent: hsl(260, 60%, 60%);--accent-foreground: hsl(200, 20%, 92%);--border: hsl(200, 15%, 18%);--input: hsl(220, 18%, 14%);--ring: hsl(170, 80%, 50%);--chat-user: hsl(170, 80%, 50%);--chat-user-foreground: hsl(220, 25%, 6%);--chat-bot: hsl(220, 18%, 14%);--chat-bot-foreground: hsl(200, 20%, 85%);--glow-primary: hsl(170, 80%, 50%);--glow-accent: hsl(260, 60%, 60%);--surface-glass: hsl(220, 20%, 12%);--radius: .75rem;font-family:Space Grotesk,sans-serif;font-size:16px;line-height:1.5;color:var(--foreground);background-color:var(--background)}.glow-primary{box-shadow:0 0 20px #19e6c426,0 0 60px #19e6c40d}.glow-border{border-color:#19e6c44d;box-shadow:inset 0 0 20px #19e6c408,0 0 15px #19e6c40f}.glass-surface{background:linear-gradient(135deg,#181d25cc,#14181ff2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.grid-bg{background-image:linear-gradient(hsla(200,15%,18%,.4) 1px,transparent 1px),linear-gradient(90deg,hsla(200,15%,18%,.4) 1px,transparent 1px);background-size:40px 40px}.scanline{background:repeating-linear-gradient(0deg,transparent,transparent 2px,hsla(170,80%,50%,.015) 2px,hsla(170,80%,50%,.015) 4px);pointer-events:none}.text-glow{text-shadow:0 0 10px hsla(170,80%,50%,.4),0 0 30px hsla(170,80%,50%,.15)}.font-mono{font-family:JetBrains Mono,monospace}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes typing-dot{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes msg-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}html,body{height:100%}#app{display:flex;flex-direction:column;height:100vh;position:relative}#app:before{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,hsla(170,80%,50%,.015) 2px,hsla(170,80%,50%,.015) 4px)}.header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid hsla(200,15%,18%,.6)}.header-left{display:flex;align-items:center;gap:.75rem}.header-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;background:#19e6c41a;border:1px solid hsla(170,80%,50%,.3);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.1rem;flex-shrink:0}.header-title{font-size:.875rem;font-weight:600;color:var(--foreground);display:flex;align-items:center;gap:.5rem}.available-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-family:JetBrains Mono,monospace;color:#3cdd71;background:#26d9621a;border:1px solid hsla(140,70%,50%,.3);border-radius:1rem;padding:.25rem .625rem}.available-dot{width:.375rem;height:.375rem;border-radius:50%;background:#3cdd71;animation:pulse 2s ease-in-out infinite}.header-subtitle{font-size:.6875rem;font-family:JetBrains Mono,monospace;color:var(--muted-foreground)}.header-right{display:flex;align-items:center;gap:.75rem}.status-pill{display:none;align-items:center;gap:.375rem;font-size:.625rem;font-family:JetBrains Mono,monospace;color:var(--muted-foreground);background:#1e222980;border:1px solid hsla(200,15%,18%,.5);border-radius:.375rem;padding:.25rem .5rem;animation:fade-in .3s ease-out}@media(min-width:640px){.status-pill{display:flex}}.status-pill-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--primary)}.messages{position:relative;z-index:20;flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;scroll-behavior:smooth}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:#273035cc;border-radius:2px}.message{display:flex;gap:.75rem;animation:msg-enter .35s cubic-bezier(.25,.46,.45,.94) both}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;border:1px solid}.message.user .message-avatar{background:#19e6c41a;border-color:#19e6c44d;color:var(--primary)}.message.bot .message-avatar{background:#855cd61a;border-color:#855cd64d;color:var(--accent)}.message-body{max-width:75%;display:flex;flex-direction:column;gap:.25rem}.message.user .message-body{align-items:flex-end}.message.bot .message-body{align-items:flex-start}.message-label{font-size:.625rem;font-family:JetBrains Mono,monospace;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.1em;padding:0 .25rem}.message-bubble{border-radius:var(--radius);padding:.625rem 1rem;font-size:.875rem;line-height:1.625;border:1px solid;max-width:100%;overflow:hidden}.message.user .message-bubble{background:#19e6c41a;border-color:#19e6c433;color:var(--foreground);border-top-right-radius:.25rem}.message.bot .message-bubble{background:linear-gradient(135deg,#181d25cc,#14181ff2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#27303599;color:var(--foreground);border-top-left-radius:.25rem;border-color:#19e6c44d;box-shadow:inset 0 0 20px #19e6c408,0 0 15px #19e6c40f}.message-quote{display:flex;gap:.5rem;border-radius:.375rem;padding:.375rem .5rem;margin-bottom:.375rem;background:#00000026}.message-quote-bar{width:3px;border-radius:99px;align-self:stretch;flex-shrink:0}.message-quote--user .message-quote-bar{background:var(--chat-user)}.message-quote--assistant .message-quote-bar{background:var(--accent)}.message-quote-body{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.message-quote-role{font-size:.7rem;font-weight:600}.message-quote--user .message-quote-role{color:var(--chat-user)}.message-quote--assistant .message-quote-role{color:var(--accent)}.message-quote-text{font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.typing-dots{display:flex;gap:.375rem;align-items:center;padding:.25rem}.typing-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--primary);animation:typing-dot 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.suggestions{position:relative;z-index:20;display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.25rem .75rem}.suggestion-chip{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--muted-foreground);background:#1e222980;border:1px solid hsla(200,15%,18%,.5);border-radius:1rem;padding:.375rem .875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.suggestion-chip:hover{color:var(--primary);border-color:#19e6c44d;background:#19e6c40d}.input-area{position:relative;z-index:20;display:flex;flex-direction:column;padding:0;border-top:1px solid hsla(200,15%,18%,.6);background:linear-gradient(135deg,#181d25cc,#14181ff2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.input-row{display:flex;gap:.75rem;padding:.75rem 1.25rem 1rem}.chat-input{flex:1;background:#1e222980;color:var(--foreground);border:1px solid hsla(200,15%,18%,.4);border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;font-family:JetBrains Mono,monospace;outline:none;resize:none;transition:all .2s ease;min-height:2.5rem;max-height:7.5rem;line-height:1.5}.chat-input::placeholder{color:var(--muted-foreground)}.chat-input:focus{border-color:#19e6c466;box-shadow:inset 0 0 20px #19e6c408,0 0 15px #19e6c40f}.send-btn{background:#19e6c426;color:var(--primary);border:1px solid hsla(170,80%,50%,.3);border-radius:.5rem;padding:.625rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;align-self:flex-end;font-size:1rem}.send-btn:hover:not(:disabled){background:#19e6c440;box-shadow:0 0 20px #19e6c426,0 0 60px #19e6c40d}.send-btn:disabled{opacity:.3;cursor:not-allowed}.clear-btn{background:transparent;color:var(--muted-foreground);border:1px solid hsla(200,15%,18%,.5);border-radius:.5rem;padding:.625rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;align-self:flex-end;font-size:.875rem}.clear-btn:hover{color:var(--foreground);border-color:#273035cc}.app-footer{position:relative;z-index:20;text-align:center;font-size:.6875rem;font-family:JetBrains Mono,monospace;color:var(--muted-foreground);padding:.5rem 1.25rem .75rem;line-height:1.6}.footer-link{color:#5ea6ed;text-decoration:none;font-weight:600}.footer-link:hover{text-decoration:underline}@media(max-width:639px){.chat-input{min-height:3.25rem}}@media(min-width:820px){#app{max-width:820px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}}.reply-banner{display:flex;align-items:center;gap:.625rem;padding:.5rem 1.25rem;background:#14181fe6;border-bottom:1px solid hsla(200,15%,18%,.5);animation:reply-banner-in .15s ease-out}.reply-banner[hidden]{display:none}@keyframes reply-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.reply-banner-bar{width:3px;align-self:stretch;border-radius:99px;flex-shrink:0}.reply-banner-bar--user{background:var(--chat-user)}.reply-banner-bar--assistant{background:var(--accent)}.reply-banner-body{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.reply-banner-role{font-size:.75rem;font-weight:600}.reply-banner-role--user{color:var(--chat-user)}.reply-banner-role--assistant{color:var(--accent)}.reply-banner-text{font-size:.8rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-banner-close{background:none;border:none;color:var(--foreground);opacity:.5;cursor:pointer;font-size:1rem;line-height:1;padding:.125rem .25rem;border-radius:.25rem;transition:opacity .15s;flex-shrink:0}.reply-banner-close:hover{opacity:1}.message{position:relative}.reply-btn{position:absolute;top:.5rem;opacity:0;background:#252b37e6;border:1px solid var(--border);border-radius:.375rem;color:var(--foreground);font-size:.85rem;cursor:pointer;padding:.2rem .4rem;transition:opacity .15s,background .15s;pointer-events:none}.message.user .reply-btn{right:calc(100% - 2.5rem)}.message.bot .reply-btn{left:calc(100% - 2.5rem)}.message:hover .reply-btn,.message:focus-within .reply-btn{opacity:1;pointer-events:auto}.reply-btn:hover{background:#353e50f2}.message-bubble{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
