*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--accent: #e94560;--accent-hover: #ff6b81;--text-primary: #eee;--text-secondary: #aab;--user-bubble: #e94560;--assistant-bubble: #222845;--input-bg: #222845;--border: #2a2a4a;--radius: 12px}html,body,#app{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary)}.conversation-list{display:flex;flex-direction:column;height:100%}.list-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.header-title{font-weight:700;font-size:16px}.new-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.new-btn:hover{background:var(--accent-hover)}.list-items{flex:1;overflow-y:auto;padding:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:12px}.empty-icon{font-size:48px;line-height:1}.empty-text{color:var(--text-secondary);font-size:14px}.empty-cta{margin-top:8px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.empty-cta:hover{background:var(--accent-hover);transform:scale(1.03)}.empty-cta:active{transform:scale(.97)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:4px;border-radius:var(--radius);cursor:pointer;transition:background .15s}.list-item:hover{background:var(--bg-tertiary)}.item-title{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.delete-btn{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s;line-height:1}.delete-btn:hover{color:var(--accent);background:#e9456026}.character-select{display:flex;flex-direction:column;height:100%}.character-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.character-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;text-align:center;color:var(--text-primary);font-family:inherit}.character-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 4px 20px #e9456033}.character-card:active{transform:translateY(0)}.card-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-emoji{font-size:28px;line-height:1}.card-name{font-weight:700;font-size:15px}.card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.chat-view{display:flex;flex-direction:column;height:100%}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.back-btn{background:none;border:none;color:var(--text-primary);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s}.back-btn:hover{background:var(--bg-tertiary)}.messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.message{display:flex;max-width:85%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message.user .bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.message.assistant .bubble{background:var(--assistant-bubble);color:var(--text-primary);border-bottom-left-radius:4px}.bubble.typing{display:flex;align-items:center;gap:4px;padding:12px 18px}.dot{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.chat-input{flex:1;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .2s;max-height:120px}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-secondary)}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;transition:background .2s,opacity .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.onboarding{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(160deg,var(--bg-primary) 0%,#1e1040 100%);padding:24px}.onboarding-inner{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:280px;text-align:center}.onboarding-emoji{font-size:56px;line-height:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.onboarding-title{font-size:28px;font-weight:800;background:linear-gradient(135deg,#fff 30%,var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.onboarding-subtitle{font-size:15px;color:var(--text-secondary);margin-top:-8px}.onboarding-input{width:100%;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:15px;font-family:inherit;outline:none;transition:border-color .2s;text-align:center}.onboarding-input:focus{border-color:var(--accent)}.onboarding-input::placeholder{color:var(--text-secondary)}.onboarding-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:13px 24px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s,opacity .2s}.onboarding-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.02)}.onboarding-btn:active:not(:disabled){transform:scale(.98)}.onboarding-btn:disabled{opacity:.4;cursor:not-allowed}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
