.abai-container{padding:20px 0}
.abai-apps-grid{display:grid;gap:24px;margin-bottom:30px}
.abai-apps-grid[data-columns="2"]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.abai-apps-grid[data-columns="3"]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.abai-apps-grid[data-columns="4"]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.abai-apps-list{display:flex;flex-direction:column;gap:16px;max-width:800px;margin:0 auto}
.abai-app-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s;cursor:pointer;display:flex;flex-direction:column;height:100%}
.abai-app-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:#4285f4;transform:translateY(-2px)}
.abai-app-image{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#f5f5f5;display:flex;align-items:center;justify-content:center}
.abai-app-image img{width:100%;height:100%;object-fit:cover}
.abai-app-placeholder{color:#999;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.abai-app-info{flex:1;margin-bottom:16px}
.abai-app-name{font-size:18px;font-weight:600;margin:0 0 8px;color:#333}
.abai-app-description{font-size:14px;color:#666;line-height:1.5;margin:0}
.abai-chat-btn{width:100%;padding:12px 24px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}
.abai-chat-btn:hover{background:#3367d6}
.abai-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999}
.abai-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5)}
.abai-chat-window{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;height:80vh;max-height:700px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}
.abai-chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#4285f4;color:#fff}
.abai-chat-header h3{margin:0;font-size:18px;font-weight:600}
.abai-chat-close{background:rgba(255,255,255,.2);border:none;color:#fff;font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}
.abai-chat-close:hover{background:rgba(255,255,255,.3)}
.abai-chat-messages{flex:1;overflow-y:auto;padding:24px;background:#f8f9fa}
.abai-message{margin-bottom:16px;display:flex;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.abai-message-user{justify-content:flex-end}
.abai-message-content{max-width:70%;padding:12px 16px;border-radius:12px;line-height:1.5;word-wrap:break-word}
.abai-message-user .abai-message-content{background:#4285f4;color:#fff;border-bottom-right-radius:4px}
.abai-message-assistant .abai-message-content{background:#fff;color:#333;border:1px solid #e0e0e0;border-bottom-left-radius:4px}
.abai-chat-input-container{display:flex;align-items:flex-end;gap:12px;padding:16px 24px;background:#fff;border-top:1px solid #e0e0e0}
#abai-chat-input{flex:1;padding:12px 16px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;font-family:inherit;resize:none;max-height:120px}
#abai-chat-input:focus{outline:none;border-color:#4285f4}
.abai-send-btn{width:48px;height:48px;background:#4285f4;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.abai-send-btn:hover{background:#3367d6;transform:scale(1.05)}
.abai-send-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}
.abai-chat-loading{padding:12px 24px;text-align:center;background:#f8f9fa}
.abai-loading-dot{display:inline-block;width:8px;height:8px;background:#4285f4;border-radius:50%;margin:0 4px;animation:bounce 1.4s infinite ease-in-out both}
.abai-loading-dot:nth-child(1){animation-delay:-.32s}
.abai-loading-dot:nth-child(2){animation-delay:-.16s}
@keyframes bounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
.abai-notice{padding:20px;background:#f0f0f1;border-left:4px solid #4285f4;border-radius:4px;color:#333;text-align:center}
