*{box-sizing:border-box}body{margin:0;background:#f6efeb;color:#382f31;font:16px/1.65 system-ui,-apple-system,"Noto Sans Bengali",sans-serif}.app{max-width:900px;margin:auto;min-height:100dvh;padding:0 30px 12px;display:flex;flex-direction:column;background:#fbf6f2}header{height:88px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #eee0de;flex-shrink:0}.wordmark{display:flex;align-items:center;flex-shrink:0}.wordmark svg{display:block;width:96px;height:32px}.heart{margin-left:auto;color:#d04569;font-size:34px}details{position:relative}summary{font-size:31px;font-weight:900;color:#bd466c;cursor:pointer;list-style:none;line-height:1}summary::-webkit-details-marker{display:none}nav{position:absolute;top:45px;left:0;width:205px;z-index:3;background:white;border:1px solid #eedfe2;border-radius:18px;box-shadow:0 12px 40px #3e142323;padding:12px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:#f1e0e4;color:#4d303a;border-radius:14px;padding:11px 18px}button:disabled{opacity:.5;cursor:wait}nav button{display:block;width:100%;text-align:left;background:transparent;padding:9px 12px}nav button:hover{background:#faeef1}nav small{display:block;color:#86777b;padding:8px 12px;font-size:11px}.primary{background:#aa526a;color:white;font-weight:600}.primary:hover:not(:disabled){background:#94445c}#login{max-width:480px;width:100%;margin:70px auto}.eyebrow{font-size:11px;letter-spacing:2px;color:#b16d80}h1{font-size:38px;font-weight:650;line-height:1.4;margin:16px 0 8px}p{margin:10px 0}.intro>p{color:#857779}#connect-form{margin-top:38px}label{display:block;font-size:14px;margin-bottom:8px}input{width:100%;background:white;border:1px solid #e5d3d8;border-radius:14px;padding:14px}input:focus,textarea:focus{outline:2px solid #ca8ba0;outline-offset:2px}.hint,.composer-hint{font-size:12px;color:#89777b}.hint{margin:12px 0 20px}#connect{width:100%}#conversation{flex:1;min-height:0}#messages{height:calc(100dvh - 265px);min-height:180px;overflow:auto;padding:24px 3px 10px;scroll-behavior:smooth}.bubble{max-width:80%;width:fit-content;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 19px;border-radius:22px;margin:0 0 18px;background:white}.bubble.user{margin-left:auto;background:#f3e0e5}.bubble.assistant{border-bottom-left-radius:6px}.memory-saved{display:block;margin:10px 0 0;padding:0;background:transparent;color:#886473;font-size:11px;text-align:left}.memory-saved:hover{text-decoration:underline}.bubble a{color:#91415d}.bubble img{display:block;max-width:100%;max-height:580px;object-fit:contain;border-radius:14px;margin-top:12px;cursor:zoom-in}.empty{text-align:center;color:#9b858c;padding:60px 12px}.empty b{display:block;color:#ae526d;font-size:23px;margin-bottom:8px}.pending{opacity:.7}#typing{font-size:13px;color:#8a717b;height:28px}#typing span{display:inline-block;color:#c08b9b;letter-spacing:3px;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.2}}@media(prefers-reduced-motion:reduce){#typing span{animation:none}#messages{scroll-behavior:auto}}#composer{display:flex;align-items:stretch;gap:12px;margin-top:8px}textarea{flex:1;width:100%;resize:vertical;min-height:76px;max-height:230px;border:1px solid #ebdde0;border-radius:19px;background:white;padding:15px;line-height:1.5}#send{min-width:95px}.composer-hint{display:flex;justify-content:space-between;margin:8px 3px}#notice{font-size:13px;color:#885168;min-height:22px;margin:8px 0}dialog{width:min(650px,calc(100% - 28px));max-height:85dvh;border:1px solid #eddae0;border-radius:22px;padding:24px;background:#fffcfa;color:#382f31}dialog::backdrop{background:#32212977}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}h2{font-size:20px;margin:0 0 15px}.close{font-size:24px;background:transparent;padding:0 10px}.memory-card{padding:14px;background:#f6e9ec;border-radius:12px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.memory-card b{display:block}.disabled{opacity:.55}select{padding:10px;margin:14px 12px 14px 0;border:1px solid #d8b8c4;border-radius:10px;background:white}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:600px){.app{padding:0 17px 10px}header{height:73px}#login{margin:45px auto}h1{font-size:31px}.bubble{max-width:91%;font-size:16px}#messages{height:calc(100dvh - 250px)}#send{min-width:76px;padding:11px}.composer-hint{font-size:10px}}