.gigi-chat{--gigi-navy:var(--primary);--gigi-pink:var(--secondary);--gigi-shadow:var(--app-note-shadow);font-family:var(--font-body);color:var(--foreground);letter-spacing:0}.gigi-chat.gigi-floating{z-index:45;background:0 0;position:fixed;bottom:24px;right:24px}.gigi-chat .gigi-launcher{border:3px solid var(--gigi-navy);background:var(--background);width:64px;height:64px;color:var(--gigi-navy);box-shadow:var(--gigi-shadow);border-radius:50%;padding:3px;position:relative;overflow:hidden}.gigi-launcher>span{width:100%;height:100%;display:block}.gigi-mascot{transform-origin:bottom;flex-shrink:0;width:100%;height:100%;display:inline-block;position:relative}.gigi-mascot img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.gigi-mascot-tongue{animation:12s infinite gigi-tongue}.gigi-launcher .gigi-mascot-tongue{animation-duration:6s}.gigi-teaser-mascot{background:0 0;border-radius:50%;flex-shrink:0;width:48px;height:48px;display:inline-block;overflow:hidden}.gigi-header-mascot{background:var(--background);border:2px solid var(--gigi-pink);border-radius:50%;width:46px;height:46px;overflow:hidden}.gigi-welcome{justify-content:center;margin-bottom:16px;display:flex}.gigi-welcome-mascot{width:110px;height:110px}.gigi-message-row{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.gigi-message-row-user{justify-content:flex-end}.gigi-message-avatar{width:30px;height:30px}.gigi-message-row .gigi-message{max-width:calc(100% - 38px);margin-bottom:0}.gigi-message-row-user .gigi-message{max-width:88%}.gigi-chat .gigi-launcher .gigi-heart{width:13px;height:13px;color:var(--gigi-pink);fill:var(--gigi-pink);position:absolute;bottom:10px;right:9px}.gigi-teaser{background:var(--card);border:1px solid var(--border);width:min(320px,100vw - 32px);box-shadow:var(--gigi-shadow);border-radius:16px 16px 4px;align-items:center;gap:10px;padding:18px 30px 18px 12px;font-size:14px;line-height:1.55;display:flex;position:absolute;bottom:78px;right:0}.gigi-chat .gigi-teaser-close{width:28px;height:28px;position:absolute;top:4px;right:4px}.gigi-overlay{z-index:70;background:color-mix(in srgb, var(--foreground) 12%, transparent);position:fixed;inset:0}.gigi-panel{z-index:71;background:var(--card);border:1px solid var(--border);width:380px;max-width:calc(100vw - 32px);height:min(610px,100dvh - 48px);box-shadow:var(--gigi-shadow);border-radius:18px;flex-direction:column;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}.gigi-header{background:var(--gigi-navy);color:var(--primary-foreground);align-items:center;gap:12px;padding:20px 16px;display:flex}.gigi-title{font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1.4}.gigi-subtitle{margin-top:2px;font-size:12px}.gigi-chat .gigi-start-over{color:inherit;height:auto;padding:4px 0 0;font-size:11px;text-decoration:underline}.gigi-return-divider{text-align:center;color:var(--muted-foreground);border-block:1px solid var(--border);margin-bottom:16px;padding-block:8px;font-size:12px;line-height:1.5}.gigi-chat .gigi-close{color:inherit;flex-shrink:0;margin-left:auto}.gigi-history{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 16px;overflow-y:auto}.gigi-message{background:var(--background);width:fit-content;max-width:88%;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.6}.gigi-message-user{background:var(--gigi-navy);color:var(--primary-foreground);border-radius:16px 16px 4px;margin-left:auto}.gigi-replies{flex-wrap:wrap;gap:8px;margin:4px 0 16px;display:flex}.gigi-chat .gigi-chip{border:1px solid var(--gigi-navy);color:var(--gigi-navy);background:var(--card);white-space:normal;text-align:left;border-radius:999px;height:auto;min-height:36px;padding:8px 12px;font-size:13px}.gigi-typing{align-items:center;gap:5px;min-height:42px;display:flex}.gigi-typing span{background:var(--muted-foreground);border-radius:50%;width:6px;height:6px;animation:1.1s infinite alternate gigi-pulse}.gigi-typing span:nth-child(2){animation-delay:.2s}.gigi-typing span:nth-child(3){animation-delay:.4s}.gigi-compose{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.gigi-input{border:1px solid var(--input);min-width:0;height:44px;color:var(--foreground);background:var(--card);font:400 16px var(--font-body);border-radius:12px;flex:1;padding:10px 12px}.gigi-input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.gigi-chat .gigi-send{background:var(--gigi-navy);width:44px;height:44px;color:var(--primary-foreground);border-radius:50%;flex-shrink:0}.gigi-chat .gigi-send:disabled{opacity:.45}.gigi-footnote{text-align:center;color:var(--muted-foreground);padding:4px 16px 14px;font-size:11px}.gigi-fallback a,.gigi-limit a{font-weight:700;text-decoration:underline}.gigi-limit{padding:8px 16px;font-size:13px}@keyframes gigi-pulse{to{opacity:.35;transform:translateY(-3px)}}.gigi-chat .animate-gigi-bob{animation:3.4s ease-in-out infinite gigi-bob}.gigi-chat .animate-gigi-wag{animation:.5s ease-in-out 3 gigi-wag}.gigi-chat .animate-gigi-pop{animation:.35s ease-out gigi-pop}@keyframes gigi-bob{0%,to{transform:translateY(0)rotate(-1.5deg)scale(1)}45%{transform:translateY(-2px)rotate(1.5deg)scale(1.015)}}@keyframes gigi-wag{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes gigi-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes gigi-tongue{0%,50%{opacity:0}54%,96%{opacity:1}to{opacity:0}}@media (width<=767px){.gigi-chat.gigi-floating{right:16px;bottom:calc(90px + env(safe-area-inset-bottom))}.gigi-panel{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;inset:0}.gigi-header{padding-top:calc(18px + env(safe-area-inset-top))}.gigi-footnote{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.gigi-chat .gigi-typing span,.gigi-chat .animate-gigi-bob,.gigi-chat .animate-gigi-wag,.gigi-chat .animate-gigi-pop{animation:none}.gigi-mascot-tongue{animation:none;display:none}}
