@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--ink:#273b35;--muted:#899791;--green:#477c69;--green-dark:#356452;--pale:#e9f2ec;--line:#e9eeea;--bg:#f8faf8;--white:#fff;--rose:#e8aaa1}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;color:var(--ink);min-height:100dvh}.shell{max-width:760px;min-height:100dvh;margin:auto;display:flex;flex-direction:column;padding:0 28px env(safe-area-inset-bottom)}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:15px;background:var(--green);color:white;font:800 28px Manrope,sans-serif;text-align:center;line-height:42px}.brand-name{font:800 19px Manrope,sans-serif;letter-spacing:.09em}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.icon-button{border:0;background:transparent;color:#6f8279;font-size:22px;cursor:pointer;width:42px;height:42px;border-radius:50%}.icon-button:hover{background:var(--pale)}.chat{flex:1;display:flex;flex-direction:column;min-height:0}.chat-head{display:flex;align-items:center;padding:23px 0 19px;border-bottom:1px solid var(--line);gap:12px}.avatar{width:43px;height:43px;border-radius:50%;background:#f5e8e2;color:#cc8178;display:grid;place-items:center;font-size:19px}.chat-title{display:flex;flex-direction:column;gap:5px;flex:1}.chat-title strong{font:700 15px Manrope,sans-serif}.chat-title span{font-size:12px;color:var(--muted)}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#71a687;margin-right:5px}.messages{flex:1;overflow-y:auto;padding:22px 2px;display:flex;flex-direction:column;gap:12px;min-height:220px;scroll-behavior:smooth}.welcome{margin:auto;display:flex;align-items:center;flex-direction:column;gap:7px;color:var(--muted);font-size:13px}.welcome strong{font:700 14px Manrope,sans-serif;color:#51665d}.welcome-heart{width:55px;height:55px;border-radius:20px;background:#f5ebe6;color:#c58378;display:grid;place-items:center;font-size:30px;margin-bottom:7px}.day-label{text-align:center;font-size:11px;color:#9aa7a1;margin:4px 0 7px}.message{position:relative;max-width:78%;align-self:flex-start;background:white;border:1px solid var(--line);border-radius:4px 17px 17px 17px;padding:10px 13px 8px;box-shadow:0 2px 7px #233c3008;overflow:hidden}.message.mine{align-self:flex-end;background:#eaf2eb;border-color:#e3ece4;border-radius:17px 4px 17px 17px}.sender{font:700 11px Manrope,sans-serif;color:var(--green);margin-bottom:4px}.message-text{font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.message-meta{display:flex;gap:8px;align-items:center;justify-content:flex-end;color:#94a39c;font-size:10px;margin-top:5px}.delete-msg{opacity:0;border:0;background:none;color:#86968e;padding:0 2px;cursor:pointer;font-size:14px}.message:hover .delete-msg,.delete-msg:focus{opacity:1}.media-preview{display:block;max-width:min(320px,65vw);max-height:260px;border-radius:11px;margin:7px 0;object-fit:cover}.file-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:10px;background:#fff9;border-radius:10px;margin-top:6px}.file-icon{font-size:21px}.file-info{min-width:0}.file-info strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.composer{display:flex;align-items:flex-end;gap:9px;padding:12px 0 5px;border-top:1px solid var(--line)}.attach-button,.send-button{width:42px;height:42px;flex:none;border:0;display:grid;place-items:center;border-radius:50%;cursor:pointer}.attach-button{background:#eef3ef;color:var(--green);font-size:25px;font-weight:400}.send-button{background:var(--green);color:#fff;font-size:23px;font-weight:600}.send-button:hover,.primary:hover{background:var(--green-dark)}textarea{font:14px 'DM Sans',sans-serif;resize:none;border:1px solid var(--line);background:white;border-radius:21px;padding:12px 15px;outline:none;max-height:120px;flex:1;min-height:42px;color:var(--ink)}textarea:focus,input:focus{border-color:#9dbbab;box-shadow:0 0 0 3px #477c6914}.composer-note{text-align:center;color:#a1aaa5;font-size:10px;padding:1px 0 12px}.attachment-preview{display:flex;gap:9px;align-items:center;padding:9px 12px;background:#eef4ef;border-radius:12px;font-size:12px;margin-top:auto;color:#52675d}.attachment-preview button{margin-left:auto;border:0;background:none;font-size:18px;color:#65766d;cursor:pointer}.setup-card{margin:auto;width:min(440px,100%);padding:34px 8px}.setup-icon{width:58px;height:58px;border-radius:21px;background:#e9f2ec;color:var(--green);display:grid;place-items:center;font-size:27px;margin-bottom:20px}.setup-card h1{font:800 clamp(30px,8vw,40px)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 14px;color:#2b4239}.setup-card>p{font-size:14px;line-height:1.65;color:#84928b;margin-bottom:27px}.setup-card form,.setup-card label{display:block}.setup-card label,dialog label{font-size:12px;font-weight:700;color:#596c62;margin:15px 0 7px}.setup-card input,dialog input{width:100%;height:47px;border:1px solid var(--line);border-radius:12px;padding:0 13px;font:14px 'DM Sans',sans-serif;outline:0;background:white}.primary{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:12px;padding:14px 17px;background:var(--green);color:white;font:600 14px 'DM Sans',sans-serif;cursor:pointer;width:100%;margin-top:20px}.primary span{font-size:18px}.error{font-size:12px;color:#ad554c;margin-top:12px;min-height:15px}footer{text-align:center;color:#a4aea8;font-size:11px;padding:17px 0 20px}footer span{padding:0 5px;color:#d2d9d4}.hidden{display:none!important}dialog{border:1px solid var(--line);border-radius:20px;padding:22px;width:min(400px,calc(100% - 32px));box-shadow:0 20px 80px #1e352f25;color:var(--ink)}dialog::backdrop{background:#1d302b66;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;font:700 17px Manrope,sans-serif;margin-bottom:15px}dialog p{font-size:12px;color:var(--muted);line-height:1.6}.text-button{border:0;background:none;color:#a05c54;font:500 13px 'DM Sans',sans-serif;padding:12px 0;cursor:pointer}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2f443b;color:#fff;padding:11px 17px;border-radius:99px;font-size:12px;transition:.2s;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:520px){.shell{padding-left:17px;padding-right:17px}.topbar{height:70px}.chat-head{padding-top:17px;padding-bottom:15px}.message{max-width:88%}.messages{padding:17px 0}.media-preview{max-width:72vw}.delete-msg{opacity:1}}

.call-controls{display:flex;align-items:center;gap:4px}.call-button{width:38px;height:38px;border:0;border-radius:50%;background:#eef3ef;color:var(--green);font-size:18px;cursor:pointer}.call-button:hover{background:var(--pale)}.call-panel{position:relative;border-bottom:1px solid var(--line);padding:10px 0 12px}.remote-video-wrap{position:relative;background:#1c2c27;border-radius:16px;overflow:hidden;min-height:150px}.remote-video-wrap video{width:100%;max-height:42vh;object-fit:cover}.local-video-wrap{position:absolute;right:18px;top:20px;width:84px;height:116px;background:#273b35;border:2px solid white;border-radius:12px;overflow:hidden}.local-video-wrap video{width:100%;height:100%;object-fit:cover}.call-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 0;font-size:12px;color:var(--muted)}.end-call-button{border:0;border-radius:99px;background:#b74942;color:white;padding:9px 15px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.call-note{text-align:center;font-size:10px;color:#a1aaa5;margin-top:5px}audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.privacy-note{font-size:12px!important;background:#eef4ef;padding:11px 13px;border-radius:12px;margin-top:18px!important}@media(max-width:520px){.chat-head{gap:7px}.call-button{width:34px;height:34px}.chat-title strong{font-size:14px}.chat-title span{font-size:10px}}
