/* ============================================================
   MEET LJ — Full page experience
   ============================================================ */

/* Hide social proof + chatbot on this page */
body:has(.lj-room) .sp-toast-container,
body:has(.lj-room) #lj-chat-widget { display: none !important; }
body:has(.lj-room) { overflow: hidden; }

/* Room container — fills viewport below nav */
.lj-room {
  background: #060e1a;
  height: calc(100vh - 73px);
  height: calc(100dvh - 73px);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.lj-room__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(59,130,246,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

/* Call Byte button — top right */
.lj-room__whistle {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 7px 14px;
  color: #94a3b8;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.25s ease;
}

.lj-room__whistle:hover {
  background: rgba(59,130,246,0.1);
  border-color: rgba(59,130,246,0.25);
  color: #e2e8f0;
}

/* ========================
   LJ's Space — upper area
   ======================== */
.lj-room__space {
  position: relative;
  flex: 0 0 45%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem 1rem 0;
}

/* Ground line */
.lj-room__space::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.25), transparent);
  box-shadow: 0 0 8px rgba(59,130,246,0.08);
}

/* ========================
   LJ Bot container
   ======================== */
.lj-bot {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
  margin-bottom: -1px;
}

.lj-bot__glow {
  position: absolute;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,130,246,0.1) 0%, transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  animation: ljGlow 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes ljGlow {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.9; }
}

/* Thought bubble */
.lj-bot__bubble {
  position: absolute;
  bottom: calc(100% + 24px);
  left: 50%;
  transform: translateX(-50%) translateY(6px) scale(0.95);
  background: rgba(59,130,246,0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(59,130,246,0.15);
  color: #94a3b8;
  font-size: 12px;
  font-weight: 400;
  font-style: italic;
  padding: 8px 14px;
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  min-width: 120px;
  max-width: 240px;
  width: max-content;
  text-align: center;
  line-height: 1.4;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 20;
}

/* Thought dots — three circles descending toward LJ's head */
/* Thought dots — centered below bubble, trailing down to LJ's head */
.lj-bot__bubble::after {
  content: '';
  position: absolute;
  top: calc(100% + 4px);
  left: calc(50% + 8px);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(59,130,246,0.12);
  border: 1px solid rgba(59,130,246,0.15);
}
.lj-bot__bubble::before {
  content: '';
  position: absolute;
  top: calc(100% + 14px);
  left: calc(50% + 3px);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(59,130,246,0.08);
  border: 1px solid rgba(59,130,246,0.1);
}

.lj-bot__bubble.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scale(1);
}

/* ========================
   LJ SVG Character
   ======================== */
.lj-char {
  cursor: pointer;
  position: relative;
  filter: drop-shadow(0 0 20px rgba(59,130,246,0.2));
  transition: filter 0.3s ease;
}

.lj-char:hover {
  filter: drop-shadow(0 0 40px rgba(59,130,246,0.4));
}

.lj-char__svg {
  width: 160px;
  height: 174px;
  position: relative;
  z-index: 2;
}

.lj-char__aura {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  pointer-events: none;
  z-index: 1;
}

.lj-char__aura-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(59,130,246,0.08);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lj-char__aura-ring--1 {
  width: 180px;
  height: 180px;
  border-style: dashed;
  animation: ljSpin 25s linear infinite;
}

.lj-char__aura-ring--2 {
  width: 220px;
  height: 220px;
  animation: ljSpin 35s linear infinite reverse;
  border-color: rgba(59,130,246,0.04);
}

@keyframes ljSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }

.lj-char__eye { filter: drop-shadow(0 0 3px rgba(96,165,250,0.8)); }
.lj-char__antenna-dot { filter: drop-shadow(0 0 4px rgba(96,165,250,0.8)); animation: antennaBlink 3s ease-in-out infinite; }
@keyframes antennaBlink { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }
.lj-char__core { animation: corePulse 2s ease-in-out infinite; }
@keyframes corePulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; filter: drop-shadow(0 0 6px rgba(59,130,246,0.8)); } }

.lj-char__arm { transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.lj-char__arm--l { transform-origin: 7px 17px; }
.lj-char__arm--r { transform-origin: 17px 17px; }

/* Dancing — body bounce, sway, legs stepping */
.lj-char.is-dancing {
  animation: ljDanceBody 0.35s ease-in-out infinite;
  transform-origin: bottom center;
}

.lj-char.is-dancing .lj-char__leg--l {
  animation: ljDanceLegL 0.35s ease-in-out infinite;
  transform-origin: 10px 22px;
}

.lj-char.is-dancing .lj-char__leg--r {
  animation: ljDanceLegR 0.35s ease-in-out infinite;
  transform-origin: 14px 22px;
}

.lj-char.is-dancing .lj-char__core {
  animation: corePulse 0.5s ease-in-out infinite;
}

.lj-char.is-dancing .lj-char__eye {
  animation: ljDanceEyes 0.7s ease-in-out infinite;
}

@keyframes ljDanceBody {
  0%, 100% { transform: translateX(0) scaleY(1) rotate(0deg); }
  25% { transform: translateX(-2px) scaleY(0.96) rotate(-2deg); }
  50% { transform: translateX(0) scaleY(1.03) rotate(0deg); }
  75% { transform: translateX(2px) scaleY(0.96) rotate(2deg); }
}

@keyframes ljDanceLegL {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(-8deg) translateY(-2px); }
  75% { transform: rotate(5deg) translateY(0); }
}

@keyframes ljDanceLegR {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(5deg) translateY(0); }
  75% { transform: rotate(-8deg) translateY(-2px); }
}

@keyframes ljDanceEyes {
  0%, 100% { filter: drop-shadow(0 0 3px rgba(96,165,250,0.8)); }
  50% { filter: drop-shadow(0 0 8px rgba(96,165,250,1)); }
}

/* Idle — subtle sway, feet planted */
.lj-char.is-idle { animation: ljCharIdle 4s ease-in-out infinite; transform-origin: bottom center; }
.lj-char.is-idle .lj-char__eye { animation: ljCharBlink 4s ease-in-out infinite; }
@keyframes ljCharIdle { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } }
@keyframes ljCharBlink { 0%, 42%, 46%, 100% { r: 0.9; } 44% { r: 0.2; } }

/* Entering */
.lj-char.is-entering { animation: ljCharEnter 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
@keyframes ljCharEnter { from { opacity: 0; transform: translateY(50px) scale(0.7); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Waving — right arm swings smoothly */
.lj-char.is-waving .lj-char__arm--r { animation: ljArmWave 0.6s ease-in-out 4; }
.lj-char.is-waving { transform-origin: bottom center; animation: ljCharWaveBounce 0.5s ease-in-out 3; }
@keyframes ljArmWave {
  0%, 100% { transform: rotate(-80deg); }
  50% { transform: rotate(-50deg); }
}
@keyframes ljCharWaveBounce { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }

/* Excited */
.lj-char.is-excited { transform-origin: bottom center; animation: ljCharExcited 0.3s ease-in-out 4; }
.lj-char.is-excited .lj-char__arm--r { transform: rotate(-70deg); }
@keyframes ljCharExcited { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } }

/* Reaching back — left arm swings behind smoothly */
.lj-char.is-reaching .lj-char__arm--l {
  transform: rotate(50deg);
}

/* Tossing — left arm swings forward */
.lj-char.is-tossing .lj-char__arm--l {
  transform: rotate(-40deg);
  transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}

.lj-char.is-tossing {
  transform-origin: bottom center;
  animation: ljCharToss 0.35s ease both;
}

@keyframes ljCharToss {
  0% { transform: rotate(0); }
  40% { transform: rotate(2deg) scaleY(1.02); }
  100% { transform: rotate(0) scaleY(1); }
}

/* ========================
   Floating holographic chips
   ======================== */
.lj-float {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(59,130,246,0.02));
  border: 1px solid rgba(59,130,246,0.15);
  border-radius: 10px;
  padding: 8px 14px 8px 10px;
  color: rgba(148,163,184,0.8);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 5;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 0 12px rgba(59,130,246,0.05), inset 0 0 12px rgba(59,130,246,0.03);
  overflow: hidden;
}

.lj-float::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.08), transparent);
  transition: left 0.6s ease;
}

.lj-float:hover::before {
  left: 120%;
}

.lj-float:hover {
  background: linear-gradient(135deg, rgba(59,130,246,0.15), rgba(59,130,246,0.06));
  border-color: rgba(59,130,246,0.4);
  color: #e2e8f0;
  box-shadow: 0 0 20px rgba(59,130,246,0.15), inset 0 0 12px rgba(59,130,246,0.05);
}

.lj-float__icon {
  flex-shrink: 0;
  filter: drop-shadow(0 0 3px rgba(96,165,250,0.4));
}

.lj-float:hover .lj-float__icon {
  filter: drop-shadow(0 0 6px rgba(96,165,250,0.8));
}

/* Pulse dot — live indicator */
.lj-float__pulse {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #60a5fa;
  margin-left: auto;
  animation: ljChipPulse 2.5s ease-in-out infinite;
  box-shadow: 0 0 4px rgba(96,165,250,0.6);
}

@keyframes ljChipPulse {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}

/* Chips row — horizontal scroll across top */
.lj-chips-row {
  position: absolute;
  top: 16px;
  left: 0;
  right: 0;
  display: flex;
  gap: 10px;
  padding: 0 20px;
  z-index: 5;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, transparent, black 20px, black calc(100% - 20px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 20px, black calc(100% - 20px), transparent);
}

.lj-chips-row::-webkit-scrollbar { display: none; }

/* Chips don't wrap, don't shrink */
.lj-float {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  flex-shrink: 0;
  white-space: nowrap;
  user-select: none;
}

/* ========================
   Byte the Dog
   ======================== */
.lj-dog {
  position: absolute;
  bottom: -2px;
  left: -100px;
  display: none;
  z-index: 15;
  filter: drop-shadow(0 0 8px rgba(59,130,246,0.15));
}

.lj-dog__svg {
  width: 70px;
  height: 49px;
}

.lj-dog__treat { position: absolute; top: -16px; right: 20px; font-size: 14px; opacity: 0; transition: all 0.3s ease; pointer-events: none; }

/* Treat flying in from LJ's direction */
.lj-dog__treat.is-flying {
  opacity: 1;
  animation: treatFly 0.6s ease both;
}

@keyframes treatFly {
  0% { opacity: 0; transform: translate(40px, -30px) rotate(0deg); }
  50% { opacity: 1; transform: translate(20px, -20px) rotate(180deg); }
  100% { opacity: 1; transform: translate(0, -5px) rotate(360deg); }
}

/* Treat caught — at Byte's mouth (front of face) */
.lj-dog__treat.is-caught {
  opacity: 1;
  top: 18px;
  right: -4px;
  font-size: 11px;
  transform: rotate(0deg);
}

/* Bone stays in mouth while running */
.lj-dog.has-bone .lj-dog__treat {
  opacity: 1;
  top: 18px;
  right: -4px;
  font-size: 11px;
  transform: rotate(0deg);
}

.lj-dog.is-running-out.has-bone .lj-dog__treat {
  right: auto;
  left: -4px;
}

/* Tail wag */
.lj-dog__tail-svg { transform-origin: 8px 16px; }

/* Running in */
.lj-dog.is-running-in { animation: dogRunIn 1.2s ease-out forwards; }
.lj-dog.is-running-in .lj-dog__leg-1 { animation: dogSvgLeg 0.2s ease-in-out infinite; }
.lj-dog.is-running-in .lj-dog__leg-2 { animation: dogSvgLeg 0.2s ease-in-out infinite 0.1s; }
.lj-dog.is-running-in .lj-dog__leg-3 { animation: dogSvgLeg 0.2s ease-in-out infinite 0.05s; }
.lj-dog.is-running-in .lj-dog__leg-4 { animation: dogSvgLeg 0.2s ease-in-out infinite 0.15s; }

@keyframes dogRunIn { from { left: -100px; } to { left: calc(50% - 140px); } }
@keyframes dogSvgLeg {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Wagging */
.lj-dog.is-wagging, .lj-dog.is-happy { left: calc(50% - 140px); }
.lj-dog.is-wagging .lj-dog__tail-svg { animation: dogSvgWag 0.25s ease-in-out infinite; }
.lj-dog.is-wagging .lj-dog__svg { animation: dogSvgBounce 0.4s ease-in-out infinite; }

@keyframes dogSvgWag {
  0%, 100% { d: path("M8 16 Q4 10 6 6"); }
  50% { d: path("M8 16 Q2 12 4 8"); }
}

@keyframes dogSvgBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

/* Happy — faster */
.lj-dog.is-happy .lj-dog__tail-svg { animation: dogSvgWag 0.15s ease-in-out infinite; }
.lj-dog.is-happy .lj-dog__svg { animation: dogSvgBounce 0.2s ease-in-out infinite; }

/* Running out */
.lj-dog.is-running-out { animation: dogRunOut 1.2s ease-in forwards; }
.lj-dog.is-running-out .lj-dog__svg { transform: scaleX(-1); }
.lj-dog.is-running-out .lj-dog__leg-1 { animation: dogSvgLeg 0.15s ease-in-out infinite; }
.lj-dog.is-running-out .lj-dog__leg-2 { animation: dogSvgLeg 0.15s ease-in-out infinite 0.07s; }
.lj-dog.is-running-out .lj-dog__leg-3 { animation: dogSvgLeg 0.15s ease-in-out infinite 0.04s; }
.lj-dog.is-running-out .lj-dog__leg-4 { animation: dogSvgLeg 0.15s ease-in-out infinite 0.11s; }

@keyframes dogRunOut { from { left: calc(50% - 140px); } to { left: -100px; } }

/* ========================
   Chat Interface
   ======================== */
.lj-chat {
  position: relative;
  z-index: 20;
  background: rgba(10,22,40,0.95);
  backdrop-filter: blur(12px);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-top: 1px solid rgba(59,130,246,0.1);
}

.lj-chat__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.lj-chat__header-left { display: flex; align-items: center; gap: 12px; }

.lj-chat__header-actions {
  display: flex;
  gap: 6px;
}

.lj-chat__call-byte {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 6px 12px;
  color: #94a3b8;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s ease;
}

.lj-chat__call-byte:hover {
  background: rgba(59,130,246,0.1);
  border-color: rgba(59,130,246,0.25);
  color: #e2e8f0;
}

.lj-chat__call-byte.is-cooldown {
  opacity: 0.3;
  cursor: not-allowed;
}

.lj-chat__call-byte.is-cooldown:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  color: #94a3b8;
}
.lj-chat__avatar { width: 36px; height: 36px; border-radius: 50%; background: rgba(59,130,246,0.12); border: 1px solid rgba(59,130,246,0.25); display: flex; align-items: center; justify-content: center; color: #3b82f6; }
.lj-chat__name { font-family: 'Sora', sans-serif; font-size: 14px; font-weight: 600; color: #ffffff; }
.lj-chat__status { font-size: 11px; color: #64748b; display: flex; align-items: center; gap: 5px; }
.lj-chat__dot { width: 6px; height: 6px; border-radius: 50%; background: #10b981; animation: ljDotPulse 2s ease-in-out infinite; }
@keyframes ljDotPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

.lj-chat__messages {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: none;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}
.lj-chat__messages::-webkit-scrollbar { display: none; }

.lj-chat__msg { display: flex; gap: 8px; max-width: 70%; animation: ljMsgIn 0.3s ease; }
@keyframes ljMsgIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.lj-chat__msg--user { align-self: flex-end; flex-direction: row-reverse; }
.lj-chat__msg--bot { align-self: flex-start; }
.lj-chat__msg-avatar { width: 24px; height: 24px; border-radius: 50%; background: rgba(59,130,246,0.12); color: #3b82f6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.lj-chat__msg-bubble { padding: 9px 14px; border-radius: 14px; font-size: 13px; line-height: 1.5; word-break: break-word; }
.lj-chat__msg--user .lj-chat__msg-bubble { background: linear-gradient(135deg, #3b82f6, #2563eb); color: #ffffff; border-bottom-right-radius: 4px; }
.lj-chat__msg--bot .lj-chat__msg-bubble { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); color: #e2e8f0; border-bottom-left-radius: 4px; }

.lj-typing { display: inline-flex; gap: 4px; padding: 4px 0; }
.lj-typing span { width: 5px; height: 5px; border-radius: 50%; background: #64748b; animation: ljTypeDot 1.4s ease-in-out infinite; }
.lj-typing span:nth-child(2) { animation-delay: 0.2s; }
.lj-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes ljTypeDot { 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } }

.lj-chat__input {
  display: flex;
  gap: 8px;
  padding: 12px 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}
.lj-chat__input input { flex: 1; padding: 10px 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; color: #e2e8f0; font-size: 13px; }
.lj-chat__input input:focus { outline: none; border-color: rgba(59,130,246,0.4); }
.lj-chat__input input::placeholder { color: #475569; }
.lj-chat__input button { width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, #3b82f6, #2563eb); color: #ffffff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.lj-chat__footer {
  text-align: center;
  font-size: 0.65rem;
  color: #64748b;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

/* ========================
   Byte Tricks
   ======================== */

/* Sit — rear drops down, front stays, head tilts up */
.lj-dog.is-trick-sit {
  left: calc(50% - 140px);
  animation: byteSit 0.6s ease forwards;
}
.lj-dog.is-trick-sit .lj-dog__tail-svg {
  animation: dogSvgWag 0.3s ease-in-out infinite;
}

@keyframes byteSit {
  0% { transform: rotate(0deg); }
  40% { transform: rotate(-12deg) translateY(2px); }
  100% { transform: rotate(-15deg) translateY(4px); transform-origin: 70% 100%; }
}

/* Treat prompt buttons */
.lj-treat-btns {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.lj-treat-btn {
  padding: 6px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}

.lj-treat-btn--yes {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #ffffff;
}

.lj-treat-btn--yes:hover {
  background: linear-gradient(135deg, #60a5fa, #3b82f6);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59,130,246,0.4);
}

.lj-treat-btn--no {
  background: rgba(255,255,255,0.08);
  color: #94a3b8;
  border: 1px solid rgba(255,255,255,0.1);
}

.lj-treat-btn--no:hover {
  background: rgba(255,255,255,0.12);
  color: #e2e8f0;
}

/* ========================
   Mobile
   ======================== */
@media (max-width: 768px) {
  .lj-room__space { flex: 0 0 35%; }
  .lj-char__svg { width: 100px; height: 109px; }
  .lj-char__aura-ring--1 { width: 120px; height: 120px; }
  .lj-char__aura-ring--2 { width: 150px; height: 150px; }
  .lj-chips-row { display: none; }
  .lj-bot__bubble { min-width: 120px; max-width: 200px; font-size: 11px; padding: 6px 10px; }
  .lj-chat__msg { max-width: 85%; }
  .lj-chat__input input { font-size: 16px; }
  .lj-chat__header-actions { gap: 4px; }
  .lj-chat__call-byte { padding: 5px 8px; font-size: 0.65rem; }
}

@media (max-width: 480px) {
  .lj-room__space { flex: 0 0 25%; }
  .lj-char__svg { width: 80px; height: 87px; }
  .lj-char__aura-ring--1 { width: 100px; height: 100px; }
  .lj-char__aura-ring--2 { width: 130px; height: 130px; }
  .lj-bot__glow { width: 150px; height: 150px; }
  .lj-chat__header { padding: 8px 12px; }
  .lj-chat__messages { padding: 10px 12px; }
  .lj-chat__input { padding: 8px 12px; }
  .lj-chat__input input { padding: 10px 12px; min-height: 44px; }
  .lj-chat__input button { width: 44px; height: 44px; }
  .lj-chat__msg-bubble { font-size: 12px; padding: 8px 12px; }
  .lj-chat__footer { padding: 4px 0; }
}
