.cg-baby-launcher { position:fixed; z-index:75; left:20px; bottom:20px; width:164px; min-height:122px; padding:0; border:0; color:#173857; background:transparent; cursor:pointer; filter:drop-shadow(0 18px 24px rgba(9,37,66,.24)); }
.cg-baby-launcher:hover .cg-baby-character { animation-duration:1.8s; }.cg-baby-launcher:focus-visible { outline:3px solid #d5aa68; outline-offset:5px; border-radius:30px; }
.cg-baby-character { position:absolute; left:4px; bottom:0; width:92px; height:102px; animation:cg-baby-float 3.4s ease-in-out infinite; }
.cg-baby-body { position:absolute; left:11px; bottom:3px; width:72px; height:78px; border:2px solid rgba(255,255,255,.78); border-radius:48% 48% 44% 44% / 42% 42% 58% 58%; background:radial-gradient(circle at 32% 23%,#fff 0 7%,#e6f6ff 8% 25%,#90d3e6 57%,#447fa7 100%); box-shadow:inset -8px -10px 18px rgba(31,80,122,.22),0 0 0 7px rgba(255,255,255,.12); }
.cg-baby-face { position:absolute; inset:23px 17px auto; height:25px; }.cg-baby-eye { position:absolute; top:0; width:7px; height:10px; border-radius:50%; background:#173857; animation:cg-baby-blink 5.2s infinite; transform-origin:center; }.cg-baby-eye:first-child{left:0}.cg-baby-eye:nth-child(2){right:0}.cg-baby-smile { position:absolute; left:50%; top:12px; width:18px; height:10px; border-bottom:3px solid #173857; border-radius:0 0 20px 20px; transform:translateX(-50%); }
.cg-baby-cheek { position:absolute; top:12px; width:10px; height:5px; border-radius:50%; background:rgba(245,143,150,.55); }.cg-baby-cheek.c1{left:-8px}.cg-baby-cheek.c2{right:-8px}
.cg-baby-antenna { position:absolute; left:45px; top:2px; width:2px; height:22px; background:#b7def0; transform:rotate(7deg); transform-origin:bottom; animation:cg-baby-antenna 2.6s ease-in-out infinite; }.cg-baby-antenna::before { content:""; position:absolute; width:12px; height:12px; left:-5px; top:-8px; border-radius:50%; background:#f3c978; box-shadow:0 0 18px #f3c978; }
.cg-baby-arm { position:absolute; top:54px; width:23px; height:10px; border-radius:999px; background:#84c5dc; }.cg-baby-arm.a1{left:1px;transform:rotate(26deg);animation:cg-baby-wave 1.9s ease-in-out infinite}.cg-baby-arm.a2{right:0;transform:rotate(-20deg)}
.cg-baby-badge { position:absolute; left:29px; bottom:17px; display:grid; place-items:center; width:37px; height:25px; border-radius:9px; color:#fff; background:#173857; font-size:.7rem; font-weight:900; letter-spacing:.05em; box-shadow:0 5px 12px rgba(13,48,78,.24); }
.cg-baby-shadow { position:absolute; left:14px; bottom:-3px; width:70px; height:12px; border-radius:50%; background:rgba(11,38,66,.2); filter:blur(4px); animation:cg-baby-shadow 3.4s ease-in-out infinite; }
.cg-baby-label { position:absolute; right:0; top:22px; width:89px; padding:12px 10px 11px 18px; border:1px solid rgba(255,255,255,.72); border-radius:7px 20px 20px 7px; text-align:left; background:rgba(247,252,255,.94); box-shadow:0 14px 34px rgba(11,42,72,.14); backdrop-filter:blur(14px); }.cg-baby-label::before { content:""; position:absolute; left:-9px; top:29px; border-width:7px 10px 7px 0; border-style:solid; border-color:transparent rgba(247,252,255,.94) transparent transparent; }.cg-baby-label strong { display:block; font-size:.82rem; line-height:1.2; }.cg-baby-label small { display:block; margin-top:5px; color:#4c7697; font-size:.58rem; line-height:1.35; letter-spacing:.04em; }
@keyframes cg-baby-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}@keyframes cg-baby-shadow{0%,100%{transform:scaleX(1);opacity:.7}50%{transform:scaleX(.78);opacity:.38}}@keyframes cg-baby-blink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.08)}}@keyframes cg-baby-wave{0%,100%{transform:rotate(22deg)}50%{transform:rotate(52deg) translateY(-3px)}}@keyframes cg-baby-antenna{0%,100%{transform:rotate(7deg)}50%{transform:rotate(-9deg)}}
.cg-baby-panel { position:fixed; z-index:76; left:22px; bottom:154px; width:min(410px,calc(100vw - 32px)); max-height:min(690px,calc(100dvh - 180px)); margin:0; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.58); border-radius:30px; color:#183153; background:rgba(245,250,255,.96); box-shadow:0 34px 100px rgba(7,29,61,.34); backdrop-filter:blur(24px) saturate(1.2); }
.cg-baby-panel::backdrop{background:transparent}.cg-baby-shell{display:grid;grid-template-rows:auto minmax(170px,1fr) auto auto auto;max-height:inherit}.cg-baby-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;color:#fff;background:radial-gradient(circle at 78% 0,rgba(109,190,238,.5),transparent 42%),linear-gradient(135deg,#102b50,#225b8e)}.cg-baby-head>div{display:flex;align-items:center;gap:11px}.cg-baby-head .cg-baby-head-actions{gap:6px}.cg-baby-mini{display:grid;place-items:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.7);border-radius:50% 50% 44% 44%;background:linear-gradient(145deg,#eaf9ff,#83cce2);color:#173857;font-size:.72rem;font-weight:900}.cg-baby-head strong{display:block;font-size:.95rem}.cg-baby-head small{display:block;margin-top:2px;color:rgba(255,255,255,.72);font-size:.64rem;letter-spacing:.08em}.cg-baby-status{display:inline-flex!important;align-items:center;gap:5px}.cg-baby-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#7bf0b6;box-shadow:0 0 8px #7bf0b6}.cg-baby-close,.cg-baby-language{height:34px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;background:rgba(255,255,255,.12);cursor:pointer}.cg-baby-close{width:34px;font-size:20px}.cg-baby-language{min-width:58px;padding:0 9px;font-size:.6rem;font-weight:850;letter-spacing:.04em}.cg-baby-language:hover,.cg-baby-language:focus-visible,.cg-baby-close:hover,.cg-baby-close:focus-visible{background:rgba(255,255,255,.22);outline:none}.cg-baby-log{display:flex;flex-direction:column;gap:12px;padding:18px;overflow:auto;overscroll-behavior:contain}.cg-baby-message{max-width:89%;padding:12px 14px;border-radius:18px 18px 18px 6px;background:#fff;box-shadow:0 7px 24px rgba(30,66,108,.09);font-size:.82rem;line-height:1.65}.cg-baby-message.user{align-self:flex-end;border-radius:18px 18px 6px 18px;color:#fff;background:#1c5385}.cg-baby-message.is-thinking{color:#668197;font-style:italic}.cg-baby-message a{color:#16558a;font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}.cg-baby-chips{display:flex;gap:7px;padding:0 18px 12px;overflow-x:auto;scrollbar-width:none}.cg-baby-chips::-webkit-scrollbar{display:none}.cg-baby-chips button{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(24,74,122,.16);border-radius:999px;color:#285479;background:rgba(255,255,255,.82);font-size:.7rem;font-weight:700;cursor:pointer}.cg-baby-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px 10px;border-top:1px solid rgba(25,72,116,.1);background:rgba(255,255,255,.76)}.cg-baby-form input{min-width:0;padding:12px 13px;border:1px solid rgba(29,77,121,.18);border-radius:14px;color:#163554;background:#fff;font:inherit}.cg-baby-form button{min-width:58px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#1a4f81,#b1844a);font-weight:800;cursor:pointer}.cg-baby-form button:disabled{opacity:.55;cursor:wait}.cg-baby-note{margin:0;padding:0 16px 13px;color:#64748b;background:rgba(255,255,255,.76);font-size:.62rem;line-height:1.5}
@media(max-width:680px){.cg-baby-launcher{left:8px;bottom:7px;transform:scale(.82);transform-origin:left bottom}.cg-baby-panel{left:8px;bottom:120px;width:calc(100vw - 16px);max-height:calc(100dvh - 136px);border-radius:22px}.cg-baby-label{display:block}}
@media(prefers-reduced-motion:reduce){.cg-baby-launcher,.cg-baby-shadow,.cg-baby-eye,.cg-baby-arm,.cg-baby-antenna{animation:none!important}}

/* V7.0 — lighter glass label and consent-based AI-to-human handoff. */
.cg-baby-label{background:rgba(245,252,255,.56)!important;border-color:rgba(255,255,255,.68)!important;box-shadow:0 14px 38px rgba(18,55,90,.13),inset 0 1px rgba(255,255,255,.86)!important;backdrop-filter:blur(18px) saturate(145%)}
.cg-baby-label::before{border-right-color:rgba(245,252,255,.56)!important}
.cg-baby-handoff{margin:0 14px 11px;padding:10px 12px;border:1px solid rgba(25,72,116,.11);border-radius:15px;background:rgba(240,248,252,.62)}
.cg-baby-handoff summary{color:#244d70;font-size:.7rem;font-weight:800;cursor:pointer;list-style:none}.cg-baby-handoff summary::after{content:"＋";float:right}.cg-baby-handoff[open] summary::after{content:"−"}
.cg-baby-handoff label{display:grid;gap:5px;margin-top:10px;color:#526d83;font-size:.62rem}.cg-baby-handoff input[type=text]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid rgba(25,72,116,.16);border-radius:10px;background:rgba(255,255,255,.86);font:inherit}.cg-baby-handoff .cg-handoff-consent{grid-template-columns:auto 1fr;align-items:start;line-height:1.45}.cg-baby-handoff button{width:100%;margin-top:10px;padding:9px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1a4f81,#368c96);font-size:.68rem;font-weight:800;cursor:pointer}.cg-baby-handoff button:disabled{opacity:.55;cursor:wait}.cg-baby-handoff>small{display:block;margin-top:7px;color:#7890a3;font-size:.55rem;line-height:1.4}
.cg-baby-shell{overflow-y:auto;overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){.cg-baby-character{animation:none!important}}

/* V7.1 — a softer glass conversation cloud with continuous, natural motion. */
.cg-baby-launcher{width:188px;min-height:126px;transition:filter .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.cg-baby-launcher:hover,.cg-baby-launcher:focus-visible{filter:drop-shadow(0 22px 30px rgba(9,37,66,.28));transform:translateY(-3px)}
.cg-baby-label{right:0!important;top:16px!important;width:112px!important;padding:14px 13px 13px 23px!important;overflow:hidden;border:1px solid rgba(255,255,255,.7)!important;border-radius:24px 24px 24px 9px!important;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(226,244,250,.66))!important;box-shadow:0 18px 42px rgba(11,42,72,.13),inset 0 1px rgba(255,255,255,.96)!important;backdrop-filter:blur(20px) saturate(1.28)!important;transform-origin:0 65%;animation:cg-label-breathe 4.8s ease-in-out infinite;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.cg-baby-label::before{left:-7px!important;top:58px!important;width:15px;height:15px;border:1px solid rgba(255,255,255,.68)!important;border-width:0 0 1px 1px!important;border-radius:0 0 0 5px;background:rgba(237,249,252,.78);transform:rotate(45deg);box-shadow:-5px 5px 12px rgba(11,42,72,.04)}
.cg-baby-label::after{content:"";position:absolute;inset:-65% 44% -65% -30%;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.58) 50%,transparent 78%);transform:translateX(-145%) rotate(7deg);animation:cg-label-shine 7s ease-in-out infinite;pointer-events:none}
.cg-baby-label strong,.cg-baby-label small{position:relative;z-index:1}.cg-baby-label strong{color:#173857;font-size:.84rem;letter-spacing:.015em}.cg-baby-label small{margin-top:6px;color:#4c7697;font-size:.6rem;line-height:1.45;letter-spacing:.025em}
.cg-baby-panel{border-color:rgba(255,255,255,.68);background:linear-gradient(145deg,rgba(249,253,255,.92),rgba(231,244,250,.82));box-shadow:0 36px 110px rgba(7,29,61,.3),inset 0 1px rgba(255,255,255,.94);backdrop-filter:blur(30px) saturate(1.24);animation:cg-panel-arrive .38s cubic-bezier(.2,.8,.2,1)}
@keyframes cg-label-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}
@keyframes cg-label-shine{0%,66%{transform:translateX(-145%) rotate(7deg)}82%,100%{transform:translateX(260%) rotate(7deg)}}
@keyframes cg-panel-arrive{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.cg-baby-launcher{width:158px}.cg-baby-label{width:91px!important;padding:12px 9px 11px 17px!important}.cg-baby-label strong{font-size:.72rem}.cg-baby-label small{font-size:.54rem}}
@media(max-width:430px){.cg-baby-head{padding:14px 12px}.cg-baby-head strong{font-size:.84rem}.cg-baby-head small{font-size:.52rem}.cg-baby-language{min-width:52px;padding:0 7px}}
@media(prefers-reduced-motion:reduce){.cg-baby-label,.cg-baby-label::after,.cg-baby-panel{animation:none!important}.cg-baby-launcher{transition:none}}

/* V7.2 — bilingual control and keyboard-visible states. */
.cg-baby-language:focus-visible,.cg-baby-close:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important;background:rgba(255,255,255,.24)!important}
.cg-baby-handoff>small{color:#536d82!important;font-size:.62rem!important;line-height:1.45!important}
