/* ── CHAT SCREEN ─────────────────────────────────────────── */
.chat-nav{display:flex;align-items:center;gap:8px;padding:max(env(safe-area-inset-top),12px) 14px 10px;background:#ededed;border-bottom:1px solid #d8d8d8;flex-shrink:0}
.back-btn{font-size:28px;line-height:1;border:none;background:none;cursor:pointer;color:#555;padding:0 8px 0 0;flex-shrink:0}
.back-btn:active{opacity:.5}
.ch-av{width:38px;height:38px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0}
.ch-info{flex:1;min-width:0}
.ch-name{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-status{font-size:11px;color:#bbb}
.ch-status.on{color:#07C160}
#cascade-state-bar{font-size:11px;padding:3px 10px;text-align:center;flex-shrink:0;display:none}
#cascade-state-bar.generating{background:#fff8dc;color:#92620a}
#cascade-state-bar.idle{background:#ecfdf5;color:#065f46}

.msgs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 10px;display:flex;flex-direction:column;gap:10px}
.msgs::-webkit-scrollbar{width:0}

.msg-row{display:flex;align-items:flex-end;gap:8px}
.msg-row.out{flex-direction:row-reverse}
.msg-av{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.msg-body{display:flex;flex-direction:column;max-width:75%}
.msg-row.out .msg-body{align-items:flex-end}
.bubble{padding:10px 14px;border-radius:8px;font-size:15px;line-height:1.5;word-break:break-word;white-space:pre-wrap}
.msg-row.in  .bubble{background:#fff;border-top-left-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.msg-row.out .bubble{background:#95ec69;border-top-right-radius:2px}
.bubble.err {background:#fde8e8;border-left:3px solid #e33}
.bubble.sw  {background:#ede8ff;border-left:3px solid #7c4dff}
.bubble.warn{background:#fff8e8;border-left:3px solid #f59f00}
.msg-time{font-size:11px;color:#c0c0c0;margin-top:3px;padding:0 2px}

.sys-row{display:flex;justify-content:center}
.sys-pill{background:rgba(0,0,0,.07);color:#999;font-size:12px;padding:4px 14px;border-radius:20px;max-width:86%;text-align:center;word-break:break-word}
.state-pill{font-size:12px;padding:3px 12px;border-radius:20px;max-width:86%;text-align:center;word-break:break-word;font-weight:600}
.state-pill.generating{background:#fff3cd;color:#856404;border:1px solid #ffc107}
.state-pill.idle{background:#d1fae5;color:#065f46;border:1px solid #10b981}

.input-bar{background:#f7f7f7;border-top:1px solid #d8d8d8;padding:8px 12px;padding-bottom:max(env(safe-area-inset-bottom),8px);display:flex;align-items:flex-end;gap:8px;flex-shrink:0}
.chat-ta{flex:1;background:#fff;border:1.5px solid #e5e5e5;border-radius:10px;padding:9px 13px;font-size:15px;outline:none;resize:none;max-height:120px;min-height:40px;line-height:1.45;font-family:inherit;transition:border-color .2s}
.chat-ta:focus{border-color:#07C160}
.send-btn{background:#07C160;color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;align-self:flex-end}
.send-btn:active{background:#059748}

.ss-btn{border:none;background:none;cursor:pointer;font-size:22px;padding:4px 6px;border-radius:8px;flex-shrink:0;line-height:1}
.ss-btn:active{background:rgba(0,0,0,.08)}
.ss-btn:disabled{opacity:.4;cursor:default}
.bubble img.ss-img{max-width:100%;border-radius:6px;cursor:pointer;display:block}
