.ec{font-family:inherit;color:#222;font-size:14px;line-height:1.5}.ec [hidden],.ec[hidden]{display:none!important}.ec *{box-sizing:border-box}.ec button,.ec textarea{font:inherit}.ec button{cursor:pointer}.ec button:focus-visible,.ec a:focus-visible,.ec textarea:focus-visible{outline:3px solid #1868ac;outline-offset:3px}.ec-launcher-wrap{position:fixed;right:16px;bottom:16px;z-index:920;width:112px}.ec-launcher{display:block;width:112px;padding:0;border:0;background:transparent;color:#222}.ec-rig{display:block;position:relative;width:112px;height:112px;transform-origin:50% 90%;--eye-top:25.6%;--eye-left:43.1%;--eye-right:52.2%;--eye-width:5.8%;--eye-height:9.6%}.ec-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.ec-wave,.ec-sleep{visibility:hidden}.ec-rig.is-wave .ec-neutral,.ec-rig.is-sleep .ec-neutral{visibility:hidden}.ec-rig.is-wave .ec-wave,.ec-rig.is-sleep .ec-sleep{visibility:visible}.ec-eye{position:absolute;top:25.6%;top:var(--eye-top);width:5.8%;width:var(--eye-width);height:9.6%;height:var(--eye-height);border-radius:50%;overflow:hidden}.ec-eye-left{left:43.1%;left:var(--eye-left)}.ec-eye-right{left:52.2%;left:var(--eye-right)}.ec-pupil{position:absolute;width:50%;height:62%;left:25%;top:24%;border-radius:50%;background:#25221f}.ec-pupil:after{content:"";position:absolute;top:15%;left:15%;width:35%;height:25%;background:#fff;border-radius:50%}.ec-eye:after{content:"";position:absolute;inset:0;background:#d8b17e;border-bottom:1px solid #55402d;transform:translateY(-110%);transition:transform .1s}.ec-rig.is-blink .ec-eye:after{transform:translateY(0)}.ec-rig.is-sleep .ec-eye{visibility:hidden}.ec-launcher-label{display:block;margin-top:2px;padding:5px 7px;border-radius:12px;background:#fff;box-shadow:0 2px 12px #0002;font-size:11px;font-weight:700;white-space:nowrap}.ec-hint{position:absolute;bottom:58px;right:117px;width:205px;padding:14px 32px 14px 14px;background:#fff;border:1px solid #e3ded7;border-radius:14px 14px 0 14px;box-shadow:0 6px 24px #0001;font-size:14px}.ec-hint button{position:absolute;right:0;top:0;width:32px;height:32px;border:0;background:transparent;font-size:23px;color:#555}.ec-overlay{position:fixed;inset:0;z-index:1100}.ec-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.2)}.ec-dialog{position:absolute;right:20px;bottom:20px;display:flex;flex-direction:column;width:380px;height:560px;max-height:calc(100% - 40px);background:#fff;border:1px solid #e3ded7;border-radius:20px;box-shadow:0 16px 70px #0003;overflow:hidden}.ec-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 18px 14px;border-bottom:1px solid #ece8e2;background:#faf8f5}.ec-header h2{font-size:18px;line-height:1.3;margin:0 0 6px;font-weight:700}.ec-header p{font-size:12px;line-height:1.45;margin:0;color:#56514b}.ec-header a{color:#333;text-decoration:underline}.ec-close{flex-shrink:0;width:40px;height:40px;border:1px solid #e3ded7;border-radius:50%;font-size:26px;line-height:1;background:white;color:#333}.ec-scroll{flex:1;min-height:0;padding:18px;overflow-y:auto;overscroll-behavior:contain}.ec-welcome{font-size:15px;margin:0 0 16px}.ec-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.ec-quick button{padding:8px 11px;background:#fff;border:1px solid #d4ccc2;color:#3f3933;border-radius:12px;font-size:12px;text-align:left;line-height:1.4;min-height:36px}.ec-quick button:hover{border-color:#da1737;background:#fff8f9}.ec-message{margin:14px 0;overflow-wrap:anywhere;word-wrap:break-word}.ec-message p{margin:0 0 9px}.ec-message p:last-child{margin-bottom:0}.ec-message ul{padding-left:20px;margin:8px 0}.ec-message a{color:#a90f29;text-decoration:underline}.ec-message-user{margin-left:28px;padding:12px 14px;background:#f2eee8;border-radius:14px 14px 0 14px;white-space:pre-wrap}.ec-message-assistant{padding:0 0 10px;border-bottom:1px solid #eee9e2}.ec-message-error{padding:12px;border:1px solid #e5c5c9;border-radius:12px;color:#803043}.ec-status{min-height:21px;color:#625b53;font-size:12px;margin:10px 0 0}.ec-form{padding:12px 16px 14px;border-top:1px solid #ece8e2;background:#fff}.ec-compose{display:flex;align-items:flex-end;gap:8px}.ec-compose textarea{resize:none;display:block;flex:1;min-width:0;width:100%;border:1px solid #b9b1a7;border-radius:12px;padding:10px;color:#222;background:#fff;line-height:1.4;font-size:16px}.ec-compose textarea::placeholder{color:#70675d}.ec-compose button{flex-shrink:0;width:44px;height:44px;border:0;border-radius:12px;background:#da1737;color:#fff;font-size:26px;line-height:1}.ec-compose button:disabled{opacity:.5;cursor:wait}.ec-privacy{margin:9px 0 0;font-size:10px;line-height:1.45;color:#625b53}.ec-privacy a{color:#625b53;text-decoration:underline}.ec-products{display:grid;gap:10px;margin-top:12px}.ec-product{display:flex;gap:10px;padding:10px;border:1px solid #e4ded6;border-radius:12px}.ec-product img{width:60px;height:76px;object-fit:cover;border-radius:6px;flex-shrink:0}.ec-product-content{min-width:0}.ec-product-name{font-size:12px;font-weight:700;line-height:1.4}.ec-product-price{margin:5px 0!important;font-size:12px;line-height:1.5}.ec-product-open{font-size:12px}.ec-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:479px){.ec-launcher-wrap,.ec-launcher{width:64px}.ec-rig{width:64px;height:64px}.ec-launcher-label{font-size:10px;white-space:normal;line-height:1.15;padding:4px 2px}.ec-hint{right:72px;bottom:28px;width:190px}.ec-dialog{top:0;left:0;right:0;bottom:0;width:100%;height:100%;max-height:none;border:0;border-radius:0}.ec-header{padding-top:max(16px,env(safe-area-inset-top))}.ec-form{padding-bottom:max(14px,env(safe-area-inset-bottom))}.ec-scroll{padding:16px}}
@media(prefers-reduced-motion:reduce){.ec *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ec-rig{transform:none!important}}
.ec-rig.is-sleep:after{content:"z z Z";position:absolute;top:4%;right:0;font-size:13px;letter-spacing:3px;color:#65594b;animation:ec-snooze 3s ease-in-out infinite}.ec-rig.is-sleep{animation:ec-breathe 4s ease-in-out infinite}.ec-rig.is-wave{animation:ec-hello .6s ease-in-out 3}.ec-status:not(:empty):before{content:"●";display:inline-block;margin-right:7px;color:#b3122e;animation:ec-think 1.4s ease-in-out infinite}.ec-avatar{flex-shrink:0;width:42px;height:50px;overflow:hidden}.ec-avatar .ec-rig{width:48px;height:48px}.ec-header>div:nth-child(2){flex:1}.ec-product-price{white-space:pre-line}@keyframes ec-breathe{50%{transform:scaleY(.97) rotate(-1deg)}}@keyframes ec-snooze{0%{opacity:0;transform:translateY(6px)}45%{opacity:1}100%{opacity:0;transform:translateY(-9px)}}@keyframes ec-hello{50%{transform:rotate(3deg)}}@keyframes ec-think{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.ec-rig,.ec-rig:after,.ec-status:before{animation:none!important;transition:none!important}}

.ec-source{font-size:11px;color:#655c52;margin-bottom:8px!important}.ec-header .ec-avatar{margin-top:2px}


/* ==========================================================================
   Оболочка чата в стиле сайта (переопределяет минифицированные правила выше).
   Маскот, глаза и анимации — без изменений.
   ========================================================================== */
.ec { --ec-ink: #111114; --ec-ink-2: #5c6166; --ec-ink-3: #8a8f94; --ec-line: #e2e2dd; --ec-surface: #f5f5f3; --ec-red: #DA1737; --ec-radius: 14px; color: var(--ec-ink); }
.ec button:focus-visible, .ec a:focus-visible { outline: 2px solid var(--ec-red); outline-offset: 2px; }
.ec textarea:focus-visible { outline: none; }

/* лончер */
.ec .ec-launcher-label { display: inline-block; margin: 4px 0 0; padding: 6px 12px; border-radius: 999px; background: var(--ec-ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .01em; box-shadow: 0 6px 18px rgba(0,0,0,.18); text-align: center; white-space: nowrap; }
.ec .ec-launcher { text-align: center; }
.ec .ec-hint { bottom: 64px; right: 120px; width: 220px; padding: 12px 34px 12px 14px; border: 1px solid var(--ec-line); border-radius: 14px 14px 2px 14px; box-shadow: 0 10px 30px rgba(0,0,0,.12); font-size: 14px; line-height: 1.4; }
.ec .ec-hint button { color: var(--ec-ink-3); font-size: 20px; }

/* окно */
.ec .ec-backdrop { background: rgba(17,17,20,.28); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.ec .ec-dialog { right: 24px; bottom: 24px; width: 400px; height: 640px; max-height: calc(100% - 48px); border: 1px solid var(--ec-line); border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.28); background: #fff; }
.ec .ec-header { align-items: center; gap: 12px; padding: 14px 14px 14px 16px; border-bottom: 1px solid var(--ec-line); background: #fff; }
.ec .ec-header .ec-avatar { width: 44px; height: 44px; margin: 0; border-radius: 50%; background: var(--ec-surface); overflow: hidden; display: flex; align-items: flex-end; justify-content: center; }
.ec .ec-header .ec-avatar .ec-rig { width: 40px; height: 40px; }
.ec .ec-header h2 { margin: 0 0 2px; font-size: 16px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; }
.ec .ec-header p { font-size: 12px; line-height: 1.4; color: var(--ec-ink-2); }
.ec .ec-header p a { color: var(--ec-ink); text-decoration: none; font-weight: 600; white-space: nowrap; }
.ec .ec-header p a:hover { color: var(--ec-red); }
.ec .ec-close { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--ec-surface); color: var(--ec-ink-2); font-size: 22px; line-height: 36px; transition: background .15s, color .15s; }
.ec .ec-close:hover { background: var(--ec-line); color: var(--ec-ink); }

/* лента */
.ec .ec-scroll { padding: 18px 16px 8px; background: #fff; }
.ec .ec-welcome { margin: 0 0 14px; padding: 12px 14px; background: var(--ec-surface); border-radius: var(--ec-radius) var(--ec-radius) var(--ec-radius) 4px; font-size: 14px; line-height: 1.5; max-width: 92%; }
.ec .ec-quick { gap: 6px; margin-bottom: 18px; }
.ec .ec-quick button { min-height: 32px; padding: 6px 12px; border: 1px solid var(--ec-line); border-radius: 999px; background: #fff; color: var(--ec-ink); font-size: 13px; font-weight: 500; line-height: 1.3; transition: border-color .15s, background .15s; }
.ec .ec-quick button:hover { border-color: var(--ec-ink); background: #fff; }
.ec .ec-message { margin: 10px 0; font-size: 14px; line-height: 1.5; }
.ec .ec-message-user { margin-left: 15%; padding: 10px 14px; background: var(--ec-ink); color: #fff; border-radius: var(--ec-radius) var(--ec-radius) 4px var(--ec-radius); }
.ec .ec-message-assistant { padding: 12px 14px; border: 0; background: var(--ec-surface); border-radius: var(--ec-radius) var(--ec-radius) var(--ec-radius) 4px; max-width: 92%; }
.ec .ec-message-assistant a { color: var(--ec-ink); text-decoration: underline; text-decoration-color: rgba(17,17,20,.35); }
.ec .ec-message-assistant a:hover { color: var(--ec-red); }
.ec .ec-message-error { padding: 10px 14px; border: 1px solid #f0c8ce; border-radius: var(--ec-radius); background: #fff5f6; color: #8a1b2d; }
.ec .ec-source { margin: 0 0 6px !important; font-size: 11px; color: var(--ec-ink-3); text-transform: uppercase; letter-spacing: .06em; }
.ec .ec-status { margin: 6px 0 0; font-size: 12px; color: var(--ec-ink-3); }
.ec .ec-status:not(:empty):before { color: var(--ec-red); }
.ec .ec-products { gap: 8px; margin-top: 10px; }
.ec .ec-product { padding: 8px; border: 1px solid var(--ec-line); border-radius: 12px; background: #fff; }
.ec .ec-product img { width: 56px; height: 56px; border-radius: 8px; }
.ec .ec-product-name { font-size: 13px; }
.ec .ec-product-price { font-size: 12px; color: var(--ec-ink-2); }
.ec .ec-product-open { font-size: 12px; color: var(--ec-ink); font-weight: 600; text-decoration: none; }
.ec .ec-product-open:hover { color: var(--ec-red); }

/* ввод: поле и кнопка в одном пилюле-контейнере, поле растёт до 5 строк */
.ec .ec-form { padding: 10px 12px 12px; border-top: 1px solid var(--ec-line); background: #fff; }
.ec .ec-compose { align-items: flex-end; gap: 0; padding: 4px 4px 4px 14px; border: 1px solid var(--ec-line); border-radius: 22px; background: var(--ec-surface); transition: border-color .15s, background .15s, box-shadow .15s; }
.ec .ec-compose:focus-within { border-color: var(--ec-ink); background: #fff; box-shadow: 0 0 0 3px rgba(17,17,20,.06); }
.ec .ec-compose textarea { border: 0; background: transparent; padding: 9px 8px 9px 0; min-height: 36px; max-height: 132px; font-size: 15px; line-height: 1.4; color: var(--ec-ink); }
.ec .ec-compose textarea::placeholder { color: var(--ec-ink-3); }
.ec .ec-compose button { width: 36px; height: 36px; margin-bottom: 0; border-radius: 50%; background: var(--ec-red); color: #fff; font-size: 18px; line-height: 36px; display: flex; align-items: center; justify-content: center; transition: transform .15s, background .15s, opacity .15s; }
.ec .ec-compose button:hover { background: #b8122e; }
.ec .ec-compose button:active { transform: scale(.94); }
.ec .ec-compose button:disabled { opacity: .35; cursor: wait; }
.ec .ec-privacy { margin: 8px 4px 0; font-size: 11px; line-height: 1.4; color: var(--ec-ink-3); }
.ec .ec-privacy a { color: var(--ec-ink-3); }

@media (max-width: 479px) {
	.ec .ec-dialog { border-radius: 0; }
	.ec .ec-hint { right: 76px; }
	.ec .ec-message-user { margin-left: 10%; }
}


/* ==========================================================================
   Живой маскот: дыхание, вход, реакция на наведение, «думает», подпрыгивание, взгляд по сторонам
   ========================================================================== */
.ec .ec-launcher-wrap { animation: ec-enter .7s cubic-bezier(.2,.9,.3,1.2) both; }
.ec .ec-launcher { animation: ec-idle 4.2s ease-in-out infinite; transform-origin: 50% 95%; transition: transform .25s cubic-bezier(.2,.9,.3,1.3); }
.ec .ec-launcher:hover { animation: none; transform: translateY(-4px) scale(1.06); }
.ec .ec-launcher:hover .ec-launcher-label { background: var(--ec-red); }
.ec .ec-rig { transition: transform .35s cubic-bezier(.2,.8,.3,1); }
.ec .ec-pupil { transition: transform .18s ease-out; width: 44%; height: 58%; left: 28%; top: 26%; }
.ec .ec-rig.is-glance .ec-pupil { transition-duration: .3s; }
.ec .ec-rig.is-thinking { animation: ec-ponder 1.6s ease-in-out infinite; }
.ec .ec-rig.is-thinking .ec-pupil { transform: translate(1px, -1.4px) !important; }
.ec .ec-rig.is-hop { animation: ec-hop .55s cubic-bezier(.3,1.4,.5,1) 1; }
.ec .ec-rig.is-nod { animation: ec-nod .5s ease-in-out 2; }
.ec .ec-rig.is-wave { animation: ec-hello .5s ease-in-out 4; }
.ec .ec-launcher-wrap.is-sleeping .ec-launcher { animation: none; }
.ec .ec-rig.is-sleep { animation: ec-breathe 3.6s ease-in-out infinite; }
@keyframes ec-enter { from { opacity: 0; transform: translateY(40px) scale(.8); } to { opacity: 1; transform: none; } }
@keyframes ec-idle { 0%, 100% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(-.8deg); } 60% { transform: translateY(0) rotate(.6deg); } 80% { transform: translateY(-1px) rotate(0); } }
@keyframes ec-ponder { 0%, 100% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } }
@keyframes ec-hop { 0% { transform: translateY(0) scaleY(1); } 30% { transform: translateY(-12px) scaleY(1.06); } 60% { transform: translateY(0) scaleY(.94); } 80% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: none; } }
@keyframes ec-nod { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(5deg) translateY(2px); } }
@media (prefers-reduced-motion: reduce) { .ec .ec-launcher-wrap, .ec .ec-launcher, .ec .ec-rig { animation: none !important; transition: none !important; } }
