*{box-sizing:border-box}:root{--bg:#f5f5f7;--surface:rgba(255,255,255,.88);--text:#1d1d1f;--secondary:#6e6e73;--separator:rgba(60,60,67,.16);--fill:rgba(120,120,128,.12);--blue:#007aff;--red:#ff3b30}html,body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}.client-body,.login-body{display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% -20%,#fff 0,var(--bg) 48%)}.start-card,.login-card{width:min(430px,100%);background:var(--surface);border:1px solid rgba(0,0,0,.04);border-radius:24px;padding:26px;box-shadow:0 18px 60px rgba(0,0,0,.08);backdrop-filter:blur(20px)}.start-card h1,.login-card h1{margin:0 0 8px;font-size:28px;letter-spacing:-.035em}.start-card p{color:var(--secondary);line-height:1.45}.start-card label,.login-card label{display:grid;gap:6px;margin:15px 0;color:var(--secondary);font-size:12px;font-weight:600}.start-card input,.login-card input{width:100%;min-height:46px;border:1px solid var(--separator);border-radius:12px;padding:10px 12px;background:#fff;color:var(--text)}.start-card input:focus,.login-card input:focus,.composer textarea:focus{outline:0;border-color:rgba(0,122,255,.55);box-shadow:0 0 0 3px rgba(0,122,255,.10)}.start-card button,.login-card button{width:100%;min-height:46px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-weight:650}.error{padding:10px 12px;border:0;background:rgba(255,59,48,.10);color:#b4231a;border-radius:12px}.chat-shell{height:min(780px,calc(100dvh - 28px));width:min(740px,calc(100vw - 28px));background:rgba(255,255,255,.84);border:1px solid rgba(0,0,0,.05);border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 22px 70px rgba(0,0,0,.10);backdrop-filter:blur(22px)}.chat-shell>header{padding:15px 18px;border-bottom:1px solid var(--separator);background:rgba(255,255,255,.72);backdrop-filter:blur(20px)}.chat-shell header div{display:grid;gap:2px}.chat-shell header strong{font-size:16px}.chat-shell small{color:var(--secondary);font-size:11px}.messages{overflow:auto;padding:18px;display:flex;flex-direction:column;gap:9px;background:linear-gradient(180deg,#f8f8fa,var(--bg))}.msg{max-width:78%;display:grid;gap:4px}.msg>div{padding:10px 13px;border-radius:18px;background:#fff;border:0;box-shadow:0 1px 2px rgba(0,0,0,.05);white-space:pre-wrap;overflow-wrap:anywhere}.msg.mine{align-self:flex-end}.msg.mine>div{background:var(--blue);color:#fff;border-bottom-right-radius:6px}.msg.theirs{align-self:flex-start}.msg.theirs>div{border-bottom-left-radius:6px}.msg small{font-size:10px;color:#8e8e93;padding:0 5px}.image-link{display:block;margin-top:8px}.image-link img{display:block;max-width:280px;max-height:320px;border-radius:13px}.composer{display:flex;gap:7px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--separator);background:rgba(255,255,255,.80);backdrop-filter:blur(20px);align-items:flex-end}.composer textarea{resize:none;max-height:140px;flex:1;min-height:42px;border:1px solid var(--separator);border-radius:17px;padding:10px 13px;background:#fff}.composer button,.attach{border:0;background:var(--blue);color:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-weight:700}.attach{background:var(--fill);color:var(--blue)}.attach input{display:none}.client-blocked-notice{max-width:680px;margin:10px auto;padding:10px 12px;border:0;border-radius:12px;background:rgba(255,59,48,.10);color:#b4231a;text-align:center;font-weight:600}@media(max-width:700px){html,body{font-size:16px}.client-body{padding:0}.chat-shell{width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none}.start-card,.login-card{border-radius:20px}.messages{padding:14px 10px}.msg{max-width:88%}}
.client-reply-quote{display:grid;gap:2px;margin:0 0 6px;padding:6px 8px;border-left:3px solid currentColor;border-radius:7px;background:rgba(120,120,128,.10);opacity:.82}.client-reply-quote strong{font-size:11px}.client-reply-quote span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
