*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#e0e0e0;height:100vh}#root{height:100%}.app{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto}.login{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}.login h1{font-size:2rem;color:#fff}.login p{color:#888;margin-bottom:1rem}.alt-signin{margin-top:1rem;background:none;border:1px solid #555;color:#aaa;padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem}.alt-signin:hover{border-color:#888;color:#fff}header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #333}header h1{font-size:1.1rem;color:#fff}header .indicator{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e88;margin-right:.5rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-info img{width:28px;height:28px;border-radius:50%}.user-info span{font-size:.85rem;color:#aaa}.sign-out{background:none;border:1px solid #555;color:#aaa;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem}.sign-out:hover{border-color:#888;color:#fff}.messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{position:relative;max-width:85%;padding:.75rem 1rem;border-radius:12px;line-height:1.6}.message.user{align-self:flex-end;background:#4285f4;color:#fff;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:#2a2a3e;color:#e0e0e0}.message.error{align-self:flex-start;background:#3e2a2a;color:#f88}.message.streaming .message-content:after{content:"▊";animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}.message-content h1,.message-content h2,.message-content h3{margin:.75rem 0 .25rem;color:#fff}.message-content p{margin:.25rem 0}.message-content pre{background:#1a1a2e;padding:.75rem;border-radius:6px;overflow-x:auto;margin:.5rem 0}.message-content code{font-family:Fira Code,JetBrains Mono,monospace;font-size:.85rem}.message-content ul,.message-content ol{padding-left:1.5rem;margin:.25rem 0}.message-content table{border-collapse:collapse;margin:.5rem 0;width:100%}.message-content th,.message-content td{border:1px solid #444;padding:.4rem .6rem;text-align:left}.message-content th{background:#333}.copy-btn{position:absolute;top:.4rem;right:.4rem;background:#ffffff1a;border:none;color:#888;font-size:1rem;cursor:pointer;border-radius:4px;padding:.15rem .4rem;opacity:0;transition:opacity .2s}.message:hover .copy-btn{opacity:1}.copy-btn.copied{color:#4caf50;opacity:1}.input-bar{padding:1rem;border-top:1px solid #333;display:flex;gap:.5rem}.input-bar textarea{flex:1;padding:.75rem 1rem;border:1px solid #444;border-radius:8px;background:#2a2a3e;color:#e0e0e0;font-size:1rem;font-family:inherit;outline:none;resize:none;min-height:44px;max-height:150px}.input-bar textarea:focus{border-color:#4285f4}.input-bar button{padding:.75rem 1.5rem;border:none;border-radius:8px;background:#4285f4;color:#fff;font-size:1rem;cursor:pointer;align-self:flex-end}.input-bar button:disabled{background:#555;cursor:not-allowed}.stop-btn{background:#d32f2f!important}.stop-btn:hover{background:#b71c1c!important}
