.room-page{background:linear-gradient(#fce7f3,#fdf2f8,#fff1f2);flex-direction:column;height:100dvh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;overflow:hidden}.room-page .chat-header{z-index:100;background:linear-gradient(135deg,#fbcfe8 0%,#fce7f3 100%);align-items:center;padding:.9375rem 0;display:flex;box-shadow:0 .125rem .625rem #0000001a}.room-page .back-btn{color:#333;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .75rem;text-decoration:none;display:flex}.room-page .back-btn:hover{opacity:.7}.room-page .back-btn svg{width:1.5rem;height:1.5rem;display:block}.room-page .chat-header h1{text-align:center;color:#333;flex:1;margin:0;font-size:1.125rem;font-weight:600}.room-page .chat-area{z-index:1;flex:1;min-height:0;position:relative;overflow:hidden}.room-page .chat-container-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.room-page .chat-container-bg-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.room-page .chat-container{z-index:1;-webkit-overflow-scrolling:touch;height:100%;padding:1.25rem 1rem;position:relative;overflow-y:auto}.room-page .chat-container .message{z-index:1;position:relative}.room-page .message{align-items:flex-end;margin-bottom:1rem;animation:.3s ease-in room-fade-in;display:flex}@keyframes room-fade-in{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:translateY(0)}}.room-page .message.ai-message{justify-content:flex-start}.room-page .message.user-message{justify-content:flex-end}.room-page .message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-right:.5rem;padding:.125rem;display:flex}.room-page .message-avatar img,.room-page .message-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.room-page .message-bubble{word-wrap:break-word;border-radius:1.125rem;max-width:75%;padding:.625rem 1rem;position:relative;box-shadow:0 .0625rem .125rem #0000001a}.room-page .ai-message .message-bubble{color:#333;background:#fff;border-top-left-radius:.25rem;margin-left:0}.room-page .user-message .message-bubble{color:#fff;background:linear-gradient(90deg,#fb7185 0%,#f472b6 100%);border-top-left-radius:.25rem;margin-right:0}.room-page .message-text{white-space:pre-wrap;font-size:.9375rem;line-height:1.5}.room-page .message-text .action-text{color:#7c3aed;font-style:italic}.room-page .message-text .dialogue{color:inherit;font-style:normal;font-weight:600}.room-page .typing-indicator{align-items:center;gap:.25rem;display:inline-flex}.room-page .typing-dot{background:#999;border-radius:50%;width:.5rem;height:.5rem;animation:1.4s infinite room-typing}.room-page .typing-dot:nth-child(2){animation-delay:.2s}.room-page .typing-dot:nth-child(3){animation-delay:.4s}@keyframes room-typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-.625rem)}}.room-page .input-container{z-index:100;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff;flex-shrink:0;align-items:center;gap:.75rem;display:flex;box-shadow:0 -.125rem .625rem #00000014}.room-page .message-input{color:#333;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#f3f4f6;border:0;border-radius:.5rem;outline:none;flex:1;min-width:0;padding:.75rem 1.125rem;font-size:1rem}.room-page .message-input::placeholder{color:#9ca3af}.room-page .message-input:focus{background:#e5e7eb}.room-page .send-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#fb7185 0%,#f472b6 100%);border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:transform .2s,box-shadow .2s;display:flex}.room-page .send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 .25rem .75rem #fb718566}.room-page .send-btn:active:not(:disabled){transform:scale(.95)}.room-page .send-btn:disabled{opacity:.5;cursor:not-allowed}.room-page .send-icon{width:1.375rem;height:1.375rem;display:block}.room-page .chat-container::-webkit-scrollbar{width:.375rem}.room-page .chat-container::-webkit-scrollbar-thumb{background:#0003;border-radius:.1875rem}@media (min-width:768px){.room-page{justify-content:center;align-items:center}.room-page .chat-header,.room-page .chat-area,.room-page .chat-container,.room-page .input-container{width:100%;max-width:50rem;margin:0 auto}.room-page .message-bubble{max-width:65%}}@media (min-width:1024px){.room-page .chat-header,.room-page .chat-area,.room-page .chat-container,.room-page .input-container{max-width:56.25rem}}@media (max-width:767px){.room-page .chat-header{width:100%;position:fixed;top:0;left:0;right:0}.room-page .chat-area{flex:1;min-height:0;margin:0;overflow:hidden}.room-page .chat-container{-webkit-overflow-scrolling:touch;overflow-y:auto}.room-page .input-container{width:100%;position:fixed;bottom:0;left:0;right:0}}
