@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/manrope-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/manrope-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--paper:#fff;--ink:#16222c;--muted:#58646e;--blue:#056795;--deep:#0a3f5f;--orange:#ad5f26;--mist:#eef2f5;--line:#d7dee4}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--mist);display:flex;flex-direction:column;min-height:100dvh}
.top{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.04em;color:var(--deep);text-decoration:none;font-size:1.05rem}
.brand span{color:var(--orange)}
.lang button{border:1px solid var(--line);background:#fff;padding:.3rem .55rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--muted)}
.lang button:first-child{border-radius:6px 0 0 6px}.lang button:last-child{border-radius:0 6px 6px 0}
.lang button.on{background:var(--deep);color:#fff;border-color:var(--deep)}
.chat{flex:1;overflow-y:auto;padding:1rem;max-width:760px;width:100%;margin:0 auto}
.intro{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem}
.intro h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--deep)}
.intro p{margin:0 0 .8rem;line-height:1.55}
.small{font-size:.9rem;color:var(--muted)}
.btn{display:inline-block;border:2px solid var(--deep);background:var(--deep);color:#fff;font:inherit;font-weight:700;padding:.8rem 1.3rem;border-radius:6px;cursor:pointer}
.msg{max-width:85%;margin:.5rem 0;padding:.7rem .95rem;border-radius:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.msg.me{background:var(--deep);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.msg img{display:block;max-width:220px;border-radius:8px;margin-bottom:.4rem}
.msg.typing{color:var(--muted);font-style:italic}
.msg.err{background:#fff3ec;border:1px solid #f0c9ae;color:#7a3b12}
.composer{display:flex;align-items:flex-end;gap:.35rem;padding:.7rem .8rem .7rem 1rem;background:#fff;border-top:1px solid var(--line);max-width:760px;width:100%;margin:0 auto;position:relative}
.composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;font:inherit;font-size:1rem;max-height:160px;line-height:1.4}
.composer textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
.attach,.send{border:0;background:none;color:var(--deep);cursor:pointer;padding:.6rem;border-radius:8px;display:flex;flex:none;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.attach{margin-left:.25rem}
.attach:hover,.send:hover{background:var(--mist)}
.attach input{position:absolute;width:1px;height:1px;opacity:0}
.sr{position:absolute;left:-9999px}
.preview{position:absolute;bottom:100%;right:1rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.4rem;display:flex;gap:.4rem;align-items:flex-start}
.preview img{max-height:90px;border-radius:6px}
.preview button{border:0;background:var(--mist);border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:1rem;line-height:1}
.foot{font-size:.78rem;color:var(--muted);text-align:center;padding:.6rem 1rem 1rem;line-height:1.5}
.foot a{color:var(--muted)}
@media (max-width:600px){.msg{max-width:92%}}
