.chat-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--pale-pink);color:var(--ink);font-family:var(--font-sans);max-width:540px;margin:0 auto;border-left:1px solid var(--pale-pink-deep);border-right:1px solid var(--pale-pink-deep)}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));background:var(--burgundy);color:var(--cream)}.chat-back{width:36px;height:36px;border-radius:50%;background:#ffffff26;color:var(--cream);text-decoration:none;display:grid;place-items:center;font-size:18px;flex-shrink:0}.chat-title-wrap{flex:1;min-width:0}.chat-title{font-family:var(--display);font-weight:600;letter-spacing:-.025em;font-size:20px}.chat-subtitle{font-size:11px;opacity:.7}.chat-body{flex:1;overflow-y:auto;padding:20px 14px 16px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}.chat-empty{margin:20px 4px;color:var(--muted);font-size:14px;text-align:center;font-family:var(--font-sans)}.chat-samples{display:flex;flex-direction:column;gap:8px;margin-top:18px}.chat-sample{background:var(--cream);border:1.5px solid var(--burgundy);color:var(--burgundy);padding:12px 14px;border-radius:12px;font-family:var(--font-sans);font-style:normal;font-size:13px;font-weight:500;cursor:pointer;text-align:left}.chat-sample:active{background:var(--burgundy);color:var(--cream)}.chat-msg{display:flex;flex-direction:column;gap:4px;max-width:85%}.chat-msg--user{align-self:flex-end;align-items:flex-end}.chat-msg--assistant{align-self:flex-start;align-items:flex-start}.chat-msg-bubble{padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.chat-msg--user .chat-msg-bubble{background:var(--burgundy);color:var(--cream);border-bottom-right-radius:4px}.chat-msg--assistant .chat-msg-bubble{background:var(--cream);color:var(--ink);border-bottom-left-radius:4px;font-family:var(--font-sans);font-size:14px;line-height:1.55}.chat-msg--assistant .chat-msg-bubble strong{font-weight:700;color:var(--burgundy)}.chat-msg--assistant .chat-msg-bubble em{font-style:italic}.chat-msg--assistant .chat-msg-bubble code{background:var(--pale-pink);padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.chat-msg--assistant .chat-msg-bubble a{color:var(--burgundy);text-decoration:underline;font-weight:600}.chat-human-hint{background:var(--coral);color:#fff;padding:6px 12px;border-radius:12px;font-size:11px;font-weight:600;margin-left:4px;max-width:100%}.chat-consent-actions{display:flex;gap:8px;margin-top:10px;margin-left:4px}.chat-consent-btn{padding:10px 16px;border-radius:14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:transform .15s}.chat-consent-btn:active{transform:scale(.97)}.chat-consent-btn--accept{background:var(--burgundy);color:var(--cream)}.chat-consent-btn--decline{background:transparent;border:1.5px solid var(--burgundy);color:var(--burgundy)}.typing{display:inline-flex;gap:4px;align-items:center;min-height:18px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typing-bounce 1.2s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.chat-error{background:#f84e4e1a;color:var(--red);padding:10px 14px;border-radius:10px;font-size:12px}.chat-input-bar{display:flex;gap:8px;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--pale-pink-deep)}.chat-input-bar input{flex:1;padding:12px 14px;border:1.5px solid transparent;background:#fff;border-radius:14px;font-family:inherit;font-size:16px;color:var(--ink)}.chat-input-bar input:focus{outline:none;border-color:var(--coral)}.chat-input-bar button{width:44px;height:44px;border-radius:50%;background:var(--burgundy);color:var(--cream);border:none;font-size:18px;font-weight:700;cursor:pointer;flex-shrink:0}.chat-input-bar button:disabled{opacity:.4;cursor:not-allowed}
