@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700;9..144,900&family=DM+Sans:wght@400;500;600;700&display=swap";.header{background:linear-gradient(135deg, var(--green-deep) 0%, var(--green-mid) 50%, var(--green-light) 100%);color:var(--white);flex-shrink:0;align-items:center;gap:14px;padding:18px 20px 22px;display:flex;position:relative;overflow:hidden}@media (width>=768px){.header{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}}.header:before{content:"";background-image:radial-gradient(circle, var(--gold) 2px, transparent 2px), radial-gradient(circle, var(--gold-light) 1.5px, transparent 1.5px);opacity:.18;background-position:0 0,9px 9px;background-size:18px 18px,12px 12px;border-radius:50%;width:180px;height:180px;position:absolute;top:-30px;right:-30px}.avatar{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);z-index:1;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;display:flex;position:relative;box-shadow:0 2px 8px #00000026}.header-info{z-index:1;flex:1;min-width:0;position:relative}.header-title{letter-spacing:-.2px;align-items:center;gap:6px;font-family:Fraunces,serif;font-size:17px;font-weight:700;display:flex}.header-subtitle{opacity:.85;letter-spacing:.3px;margin-top:2px;font-size:12px;font-weight:500}.flag-badge{filter:drop-shadow(0 1px 2px #0003);font-size:14px}.status-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;display:inline-block;box-shadow:0 0 #4ade80b3}@keyframes pulse{0%,to{box-shadow:0 0 #4ade80b3}50%{box-shadow:0 0 0 6px #4ade8000}}.card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid #0a5c3e14;max-width:280px;margin-top:4px;transition:transform .2s,box-shadow .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-img{background:linear-gradient(135deg, var(--cream-warm), var(--gold-light));background-position:50%;background-size:cover;width:100%;height:150px;position:relative}.card-img:after{content:"";background:linear-gradient(#0000 60%,#0000004d 100%);position:absolute;inset:0}.card-body{padding:12px 14px 14px}.card-title{color:var(--ink);justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;font-family:Fraunces,serif;font-size:15px;font-weight:700;display:flex}.card-stars{color:var(--gold);flex-shrink:0;font-size:12px}.card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.card-meta span{align-items:center;gap:3px;display:inline-flex}.card-rating{color:var(--gold);font-weight:600}.card-actions{gap:6px;display:flex}.card-btn{border:1.5px solid var(--green-mid);color:var(--green-mid);cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border-radius:100px;flex:1;justify-content:center;align-items:center;padding:7px 10px;font-family:inherit;font-size:11.5px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.card-btn:hover,.card-btn.primary{background:var(--green-mid);color:var(--white)}.card-btn.primary:hover{background:var(--green-deep)}.message{gap:10px;max-width:88%;animation:.4s cubic-bezier(.16,1,.3,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse;align-self:flex-end}.msg-avatar{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);border:1.5px solid var(--white);width:32px;height:32px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:16px;display:flex}.message.user .msg-avatar{background:linear-gradient(135deg, var(--terracotta) 0%, #e07060 100%)}.bubble{border-radius:var(--radius-md);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--shadow-sm);padding:12px 16px;font-size:14.5px;line-height:1.55}.message.bot .bubble{background:var(--white);color:var(--ink);border:1px solid #0a5c3e0f;border-top-left-radius:4px}.message.user .bubble{background:linear-gradient(135deg, var(--green-mid) 0%, var(--green-light) 100%);color:var(--white);border-top-right-radius:4px}.bubble strong{font-family:Fraunces,serif;font-weight:700}.bubble a{color:var(--green-mid);text-underline-offset:2px;word-break:break-all;text-decoration:underline}.message.user .bubble a{color:var(--white)}.typing-wrapper{gap:10px;max-width:88%;animation:.4s cubic-bezier(.16,1,.3,1) slideIn;display:flex}.typing{background:var(--white);border-radius:var(--radius-md);border:1px solid #0a5c3e0f;border-top-left-radius:4px;gap:4px;width:fit-content;padding:14px 18px;display:flex}.typing span{background:var(--green-mid);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.4s infinite bounce}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.quick-actions{flex-wrap:wrap;gap:8px;padding:0 12px 0 50px;animation:.4s cubic-bezier(.16,1,.3,1) slideIn;display:flex}.chip{background:var(--white);border:1.5px solid var(--green-mid);color:var(--green-mid);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.chip:hover{background:var(--green-mid);color:var(--white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:14px;padding:20px 16px;display:flex;overflow-y:auto}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-thumb{background:#0a5c3e33;border-radius:3px}.input-bar{background:var(--white);border-top:1px solid #0a5c3e14;flex-shrink:0;align-items:center;gap:10px;padding:12px 14px 18px;display:flex}.input-wrap{background:var(--cream);border:1.5px solid #0000;border-radius:100px;flex:1;align-items:center;gap:8px;padding:4px 4px 4px 18px;transition:border-color .2s;display:flex}.input-wrap:focus-within{border-color:var(--green-mid);background:var(--white)}.input-field{color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-family:inherit;font-size:14.5px}.input-field::placeholder{color:var(--ink-soft);opacity:.7}.send-btn{background:linear-gradient(135deg, var(--green-mid) 0%, var(--green-light) 100%);width:40px;height:40px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0a7a5259}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0a7a5280}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.send-btn svg{width:18px;height:18px}:root{--green-deep:#0a5c3e;--green-mid:#0e7a52;--green-light:#14a06b;--gold:#d4a155;--gold-light:#e8c789;--terracotta:#c75440;--cream:#fdf8ee;--cream-warm:#f5edd6;--ink:#1a2622;--ink-soft:#4a5853;--white:#fff;--shadow-sm:0 1px 3px #0a5c3e14;--shadow-md:0 4px 16px #0a5c3e1f;--shadow-lg:0 12px 40px #0a5c3e2e;--radius-sm:10px;--radius-md:18px;--radius-lg:24px;--radius-xl:32px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}body{background-image:radial-gradient(circle at 20% 30%, #d4a15514 0%, transparent 40%), radial-gradient(circle at 80% 70%, #0a5c3e0f 0%, transparent 40%), linear-gradient(180deg, var(--cream) 0%, var(--cream-warm) 100%);min-height:100vh;overflow:hidden}.app{background:var(--cream);max-width:480px;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=768px){.app{border-radius:var(--radius-xl);height:95vh;margin-top:2.5vh}}.banner{background:var(--terracotta);color:var(--white);text-align:center;padding:6px;font-size:12px;font-weight:500;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}
