:root{--primary-color:#2e7d32;--secondary-color:#81c784;--accent-color:#ffb300;--bg-color:#f5f5f5;--surface-color:#fff;--text-color:#333;--text-muted:#666;--border-color:#e0e0e0;--user-bubble-bg:var(--primary-color);--user-bubble-text:#fff;--bot-bubble-bg:var(--surface-color);--bot-bubble-text:var(--text-color);--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #0000001a;--radius-md:12px;--radius-lg:20px}[data-theme=dark]{--bg-color:#121212;--surface-color:#1e1e1e;--text-color:#e0e0e0;--text-muted:#a0a0a0;--border-color:#333;--user-bubble-bg:#388e3c;--bot-bubble-bg:#2c2c2c;--shadow-sm:0 2px 4px #0003;--shadow-md:0 4px 12px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color .3s,color .3s;display:flex}.app-container{background:var(--bg-color);flex-direction:column;width:100%;max-width:1200px;height:100vh;margin:0 auto;display:flex}.header{background:var(--surface-color);box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.logo{object-fit:contain;width:auto;height:42px}.header-center h1{color:var(--primary-color);font-size:1.2rem;font-weight:600}.header-right{align-items:center;gap:12px;display:flex}.info-strip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);color:var(--text-muted);background:#ffffff1a;justify-content:center;gap:24px;padding:8px 24px;font-size:.9rem;display:flex}.chat-container{scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:32px;height:100%;display:flex}.welcome-title{color:var(--primary-color);margin-bottom:8px;font-size:2rem}.welcome-subtitle{color:var(--text-muted)}.suggestion-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;width:100%;max-width:800px;display:grid}.suggestion-chip{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);text-align:left;color:var(--text-color);padding:16px;transition:all .2s}.suggestion-chip:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.message-wrapper{width:100%;animation:.3s ease-out forwards slideIn;display:flex}.message-wrapper.user{justify-content:flex-end}.message-wrapper.assistant{justify-content:flex-start}.message-bubble{border-radius:var(--radius-lg);max-width:80%;box-shadow:var(--shadow-sm);overflow-wrap:break-word;word-break:break-word;padding:16px;line-height:1.5}.message-wrapper.user .message-bubble{background:var(--user-bubble-bg);color:var(--user-bubble-text);border-bottom-right-radius:4px}.message-wrapper.assistant .message-bubble{background:var(--bot-bubble-bg);color:var(--bot-bubble-text);border-bottom-left-radius:4px}.message-bubble p{margin-bottom:8px}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin-bottom:8px;margin-left:20px}.message-bubble a{color:inherit;word-break:break-all;overflow-wrap:anywhere;text-decoration:underline}.product-card{background:var(--card-bg,#fff);vertical-align:top;border:1px solid #00000014;border-radius:12px;max-width:200px;margin:8px 8px 8px 0;transition:transform .2s,box-shadow .2s;display:inline-block;overflow:hidden;box-shadow:0 2px 8px #0000001f}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000002e}.product-card-image{background:#f5f5f5;width:200px;height:160px;overflow:hidden}.product-card-image img{object-fit:cover;width:100%;height:100%;display:block}.product-card-name{color:var(--text-primary);text-align:center;background:var(--card-bg,#fff);border-top:1px solid #0000000f;padding:8px 12px;font-size:.82rem;font-weight:600}[data-theme=dark] .product-card{background:var(--card-bg,#1e1e1e);border-color:#ffffff1a}[data-theme=dark] .product-card-image{background:#2a2a2a}[data-theme=dark] .product-card-name{background:var(--card-bg,#1e1e1e);border-color:#ffffff14}.message-bubble .product-card+.product-card{margin-left:0}.message-source{opacity:.8;border-top:1px solid #0000001a;margin-top:8px;padding-top:8px;font-size:.75rem}[data-theme=dark] .message-source{border-top-color:#ffffff1a}.input-dock{background:var(--bg-color);border-top:1px solid var(--border-color);padding:24px;position:sticky;bottom:0}.input-container{background:var(--surface-color);max-width:800px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:24px;align-items:flex-end;gap:12px;margin:0 auto;padding:8px 16px;display:flex}.input-container:focus-within{border-color:var(--primary-color)}.chat-input{color:var(--text-color);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:150px;padding:12px 0;font-family:inherit;font-size:1rem}.send-button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;transition:background .2s;display:flex}.send-button:hover{background:var(--secondary-color)}.send-button:disabled{background:var(--border-color);cursor:not-allowed}.disclaimer{text-align:center;color:var(--text-muted);max-width:800px;margin-top:12px;margin-left:auto;margin-right:auto;font-size:.75rem}.typing-indicator{background:var(--bot-bubble-bg);border-radius:var(--radius-lg);width:fit-content;box-shadow:var(--shadow-sm);border-bottom-left-radius:4px;gap:4px;padding:16px;display:flex}.dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.theme-toggle,.lang-select{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:16px;padding:6px 12px;font-size:.9rem}.theme-toggle:hover,.lang-select:hover{background:var(--border-color)}
