/* ===== VirtualHearts – UI Premium tipo app ===== */
.vh-chat-shell{
  min-height: 100svh;
  padding: clamp(12px, 2vw, 24px);
  background: radial-gradient(1100px 600px at 10% -10%, #10204a 0%, transparent 60%),
              radial-gradient(900px 500px at 100% 0%, #2a144b 0%, transparent 65%),
              #0b0f1a;
  display: grid;
  place-items: center;
}

.vh-card{
  width: min(920px, 100%);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,.45);
  overflow: hidden;
}

.vh-topbar{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.vh-avatar{ width:40px;height:40px;border-radius:50%;
  background: linear-gradient(135deg,#8ab4ff,#a78bfa);
}
.vh-name{ color:#e7ecf3;font:600 15px/1.1 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
.vh-sub{ color:#aab3c0;font-size:12px; }

.vh-body{ padding: clamp(12px, 2vw, 22px); }

.vh-messages{
  display:flex; flex-direction:column; gap:10px;
  max-height: 48vh; overflow:auto; padding-bottom:12px;
}
.vh-msg{
  max-width: 80%;
  padding: 10px 12px; border-radius: 12px; line-height: 1.45;
  font: 500 15px/1.45 Inter, system-ui;
}
.vh-msg.me{
  margin-left: auto; background: #2141ff; color: #fff;
  border-top-right-radius: 4px;
}
.vh-msg.ai{
  margin-right: auto; background: #0e1322; color: #e7ecf3; border:1px solid #2a3450;
  border-top-left-radius: 4px;
}

.vh-form{ display:grid; grid-template-columns: 1fr auto; gap: 12px; align-items:start; }
.vh-form textarea{
  width:100%; min-height:140px; border-radius:16px; padding:14px 16px;
  background:#0e1322; border:1px solid #2a3450; color:#e7ecf3;
  font: 500 15px/1.5 Inter,system-ui; outline:none;
  transition: border-color .2s, box-shadow .2s;
}
.vh-form textarea:focus{ border-color:#4f7dff; box-shadow:0 0 0 4px rgba(79,125,255,.16); }

.vh-form-col{ display:flex; flex-direction:column; gap:8px; }
.vh-send{
  height:54px; padding:0 24px; border-radius:14px; border:0;
  background:#2a6cff; color:#fff; font-weight:700; letter-spacing:.2px;
  box-shadow:0 10px 28px rgba(42,108,255,.35); cursor:pointer;
  transition: transform .08s, box-shadow .2s, background .2s;
}
.vh-send:hover{ transform:translateY(-1px); box-shadow:0 14px 34px rgba(42,108,255,.42); }

.vh-voice-toggle{ display:inline-flex; align-items:center; gap:10px; color:#cbd4df; font-size:14px; }

.vh-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:0 18px; border-radius:12px; background:#2a6cff; color:#fff; text-decoration:none;
  box-shadow:0 8px 20px rgba(42,108,255,.35); font-weight:700; letter-spacing:.2px;
}
.vh-btn:hover{ filter:brightness(1.06); }