/* Shared AI companion layer. It sits above each single-file game without
   changing the game's renderer or input model. */
.kids-ai-launcher {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 10000;
  border: 3px solid rgba(255,255,255,.95);
  border-radius: 999px;
  padding: 9px 13px 9px 10px;
  background: linear-gradient(135deg, #7d6cff, #ff71ad);
  color: #fff;
  font: 900 14px/1 system-ui, sans-serif;
  box-shadow: 0 8px 24px rgba(65, 42, 132, .32), 0 2px 0 rgba(70, 48, 140, .45);
  cursor: pointer;
  touch-action: manipulation;
  animation: kids-ai-float 3.2s ease-in-out infinite;
}
.kids-ai-launcher:active { transform: translateY(2px) scale(.97); }
.kids-ai-launcher .kids-ai-face { font-size: 22px; vertical-align: -3px; margin-right: 4px; }
@keyframes kids-ai-float { 0%,100% { box-shadow: 0 8px 24px rgba(65,42,132,.32), 0 2px 0 rgba(70,48,140,.45); } 50% { box-shadow: 0 12px 30px rgba(65,42,132,.42), 0 2px 0 rgba(70,48,140,.45); } }

.kids-ai-panel {
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(78px, calc(env(safe-area-inset-bottom) + 70px));
  z-index: 10001;
  width: min(360px, calc(100vw - 24px));
  max-height: min(620px, calc(100vh - 100px));
  overflow: auto;
  padding: 16px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 24px;
  background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(246,242,255,.98));
  color: #4f466e;
  box-shadow: 0 18px 55px rgba(61, 42, 112, .28);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  text-align: left;
  user-select: text !important;
  -webkit-user-select: text !important;
}
.kids-ai-panel[hidden] { display: none; }
.kids-ai-panel *, .kids-ai-panel button { user-select: text !important; -webkit-user-select: text !important; }
.kids-ai-head { display:flex; align-items:center; gap:10px; }
.kids-ai-avatar { width:46px; height:46px; display:grid; place-items:center; flex:none; border-radius:16px; background: linear-gradient(135deg,#ece8ff,#ffdff0); font-size:28px; }
.kids-ai-title { flex:1; min-width:0; }
.kids-ai-title strong { display:block; color:#40365f; font-size:16px; }
.kids-ai-title small { display:block; margin-top:3px; color:#8b83a3; font-size:11px; }
.kids-ai-close { border:0; background:#eeeafd; color:#6d5f9a; width:30px; height:30px; border-radius:50%; font-size:19px; cursor:pointer; }
.kids-ai-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:13px 0; }
.kids-ai-stat { padding:8px 5px; border-radius:13px; background:#fff; text-align:center; box-shadow:0 2px 8px rgba(97,77,151,.1); }
.kids-ai-stat b { display:block; color:#5a4b88; font-size:17px; }
.kids-ai-stat span { display:block; margin-top:2px; color:#9b91b6; font-size:10px; }
.kids-ai-message { min-height:76px; padding:12px; border-radius:16px; background:#fff; color:#5b5076; font-size:14px; line-height:1.65; box-shadow: inset 0 0 0 1px #eeeafb; }
.kids-ai-message.is-loading { color:#8b83a3; }
.kids-ai-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:10px; }
.kids-ai-action { border:0; border-radius:12px; padding:10px 5px; background:#eeeafd; color:#5c4c8e; font:800 12px/1.25 system-ui,sans-serif; cursor:pointer; }
.kids-ai-action:nth-child(2) { background:#ffe5f0; color:#a24570; }
.kids-ai-action:nth-child(3) { background:#e4f7e8; color:#3b7b50; }
.kids-ai-action:disabled { opacity:.55; cursor:wait; }
.kids-ai-quest { margin-top:10px; padding:10px 12px; border-radius:14px; background:linear-gradient(110deg,#fff3c9,#fff); color:#856c31; font-size:12px; line-height:1.55; }
.kids-ai-quest b { color:#a16c16; }
.kids-ai-parent { margin-top:12px; padding-top:10px; border-top:1px solid #ebe6f6; color:#958ba9; font-size:10px; line-height:1.5; }
.kids-ai-parent a { color:#6d5f9a; font-weight:800; }
.kids-ai-consent { display:flex; gap:7px; align-items:flex-start; margin-top:9px; color:#8b83a3; font-size:10px; line-height:1.45; }
.kids-ai-consent input { margin-top:2px; accent-color:#7464ca; }

@media (max-width: 420px) {
  .kids-ai-panel { padding:13px; border-radius:20px; }
  .kids-ai-launcher { right:10px; bottom:max(10px, env(safe-area-inset-bottom)); }
}
