*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;color:#333;background-color:#f5f5f5}.app{height:100vh;width:100vw;display:flex;flex-direction:column;background-color:#f5f5f5}.chat-container{flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden}.top-header{padding:8px 20px;text-align:center}.letter-link{color:#666;font-size:14px;transition:color .2s}.letter-link:hover{color:#333;text-decoration:underline}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;max-width:70%;word-wrap:break-word}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{padding:12px 16px;border-radius:18px}.markdown-body pre{max-width:70vw;overflow-x:auto}.message.user .message-content{background-color:#007bff;color:#fff}.message.assistant .message-content{background-color:#e9ecef;color:#333}.loading{display:flex;gap:4px;padding:12px 16px}.loading span{width:8px;height:8px;border-radius:50%;background-color:#666;animation:bounce 1.4s infinite ease-in-out both}.loading span:nth-child(1){animation-delay:-.32s}.loading span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error-message{background-color:#fee;color:#c33;padding:12px 16px;border-radius:8px;align-self:center;max-width:90%}.input-form{display:flex;gap:12px;padding:20px;background-color:#fff;border-top:1px solid #e0e0e0}.input-box{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px;font-size:16px;outline:none;transition:border-color .2s}.input-box:focus{border-color:#007bff}.input-box:disabled{background-color:#f5f5f5}button{padding:12px 24px;border:none;border-radius:24px;background-color:#007bff;color:#fff;font-size:16px;cursor:pointer;transition:background-color .2s}button:hover:not(:disabled){background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}.message-wrapper{display:flex;align-items:flex-start;gap:8px;width:100%}.message.user .message-wrapper{flex-direction:row-reverse}.edit-button{padding:4px 12px;font-size:14px;background-color:transparent;color:#666;border:1px solid #ddd;border-radius:12px;opacity:0;transition:opacity .2s}.message:hover .edit-button{opacity:1}.edit-button:hover:not(:disabled){background-color:#f0f0f0;color:#333}.edit-container{display:flex;flex-direction:column;gap:8px;width:100%}.edit-textarea{width:100%;min-height:60px;padding:12px 16px;border:1px solid #007bff;border-radius:18px;font-family:inherit;font-size:inherit;line-height:1.5;resize:vertical;outline:none}.edit-buttons{display:flex;gap:8px;justify-content:flex-end}.save-button,.cancel-button{padding:6px 16px;font-size:14px;border-radius:16px}.save-button{background-color:#28a745}.save-button:hover:not(:disabled){background-color:#218838}.cancel-button{background-color:#6c757d}.cancel-button:hover:not(:disabled){background-color:#5a6268}.navigation-buttons{display:flex;align-items:center;gap:8px;margin-left:8px}.message.user .navigation-buttons{margin-left:0;margin-right:8px}.nav-button{padding:4px 8px;font-size:14px;background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:8px;min-width:30px}.nav-button:hover:not(:disabled){background-color:#e0e0e0}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-indicator{font-size:12px;color:#666;white-space:nowrap}.blank-state{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px}.blank-state-content{text-align:center;color:#666}.blank-state-prompt{font-size:16px;margin:0;color:#888}.send-button{position:relative;overflow:visible}.send-animation-container{position:absolute;width:24px;height:24px;top:50%;left:50%;transform:translate(-50%,-50%);animation:popOutAndSpin 1s linear;pointer-events:none}.send-animation{width:100%;height:100%}.send-animation-overlay{position:absolute;width:12px;height:12px;top:5px;left:-6px;pointer-events:none}@keyframes popOutAndSpin{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}10%{opacity:1}50%{transform:translate(-50%,-50%) scale(2.5) rotate(360deg)}90%{opacity:1}to{transform:translate(-50%,-50%) scale(0) rotate(720deg);opacity:0}}
