:root{--green:#173f2d;--green2:#315e45;--glass:rgba(7,18,12,.78);--line:rgba(255,255,255,.14);--text:#f6f5ef}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:#07110b;color:var(--text)}
.page-bg{position:fixed;inset:0;background:linear-gradient(rgba(1,8,4,.35),rgba(1,8,4,.62)),url('/assets/forest-background.jpg') center/cover;z-index:-1}
#launcher{position:fixed;right:22px;bottom:22px;border:1px solid rgba(255,255,255,.2);background:rgba(23,63,45,.94);color:#fff;padding:10px 16px 10px 10px;border-radius:999px;display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer;box-shadow:0 12px 45px #0008;z-index:10}
#launcher img{width:36px;height:36px;border-radius:50%;object-fit:cover}
#widget{position:fixed;right:24px;bottom:88px;width:390px;height:660px;display:block;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(5,14,9,.77);backdrop-filter:blur(18px);box-shadow:0 30px 90px #000b;transition:.25s;z-index:20}
#widget.closed{opacity:0;pointer-events:none;transform:translateY(20px) scale(.98)}
.brand-panel{display:none}
.brand-image{width:100%;max-height:255px;object-fit:cover;border-radius:20px;filter:brightness(.85)}
.brand-panel h1{font-size:28px;margin:24px 0 6px}.brand-panel p{color:#c7cec9;line-height:1.5}
.benefits{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#0c1711aa}
.benefits div{display:flex;gap:12px;margin:14px 0}.benefits span{display:flex;flex-direction:column}.benefits small{color:#aeb9b2;margin-top:3px}
.chat-panel{display:flex;flex-direction:column;min-width:0;height:100%;background:linear-gradient(rgba(4,13,8,.46),rgba(4,13,8,.72)),url('/assets/forest-background.jpg') center/cover}
header{height:76px;display:flex;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(2,10,5,.65)}
header img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid #ffffff55;margin-right:14px}
header div{display:flex;flex-direction:column;flex:1}header b{font-size:20px}header small{color:#b8c0bb;margin-top:4px}
header button{border:0;background:transparent;color:#fff;font-size:27px;cursor:pointer;padding:8px}
#messages{flex:1;overflow:auto;padding:18px 14px;scroll-behavior:smooth}
.date{width:max-content;margin:0 auto 20px;padding:7px 15px;border:1px solid var(--line);border-radius:999px;background:#152019cc;color:#d4dbd6;font-size:13px}
.message{max-width:88%;padding:14px 17px;border:1px solid var(--line);border-radius:20px;margin:10px 0;white-space:pre-wrap;line-height:1.55;box-shadow:0 10px 25px #0003}
.message.bot{background:linear-gradient(135deg,rgba(49,77,55,.94),rgba(25,42,30,.94));border-bottom-left-radius:5px}
.message.user{margin-left:auto;background:linear-gradient(135deg,#214c36,#102e20);border-bottom-right-radius:5px}
.meta{font-size:11px;color:#b8c0bb;text-align:right;margin-top:5px}
.typing{display:flex;align-items:center;gap:5px;margin:0 14px 8px;color:#c7cec9}.typing i{width:7px;height:7px;border-radius:50%;background:#c7cec9;animation:b 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.typing span{margin-left:7px;font-size:13px}.hidden{display:none!important}@keyframes b{50%{transform:translateY(-5px);opacity:.5}}
form{margin:0 10px 8px;display:flex;align-items:end;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:22px;background:#121914dd}
textarea{flex:1;resize:none;max-height:120px;border:0;outline:0;background:transparent;color:#fff;font:inherit;padding:10px}textarea::placeholder{color:#aab3ad}
form button{width:54px;height:54px;border:0;border-radius:50%;background:linear-gradient(135deg,#52765e,#234c35);color:#fff;font-size:24px;cursor:pointer}
.consent{text-align:center;color:#8f9a93;font-size:11px;padding:0 15px 14px}.consent a{color:#a9c8b1}
@media(max-width:800px){
 #widget{inset:0;display:block;border-radius:0}.brand-panel{display:none}.chat-panel{height:100dvh}
 header{height:78px;padding:12px 14px}header img{width:44px;height:44px}
 #messages{padding:18px 14px}.message{max-width:88%}
 form{margin:0 10px 8px}.consent{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 #launcher{right:14px;bottom:14px}
}

@media(min-width:801px){body.direct-open #widget{right:24px;bottom:24px}}
