.penguin-launcher {
  position: fixed; right: 2px; bottom: max(12px, env(safe-area-inset-bottom));
  width: 72px; height: 82px; z-index: 95;
  filter: drop-shadow(0 5px 9px rgba(37,38,62,.2));
  transform: translateX(6px); transition: transform .35s ease;
}
.penguin-launcher:hover, .penguin-launcher:focus-visible { transform: translateX(0) rotate(-4deg); }
.penguin-launcher.peeking { animation: pip-peek .65s ease-out; }
.penguin-launcher.pending { visibility: hidden; }
.pip-avatar { width: 100%; height: 100%; }
.pip-chat-dot {
  position: absolute; top: 1px; right: 4px; width: 26px; height: 23px;
  display: grid; place-items: center; border-radius: 9px;
  background: #8b5cf6; color: white; font-weight: 700; font-size: 18px;
  border: 2px solid #fff9f5; line-height: 1;
}
.pip-eyes { transform-box: fill-box; transform-origin: center; animation: pip-blink 6s infinite; }
.pip-wing { transform-box: fill-box; transform-origin: bottom left; }
.peeking .pip-wing { animation: pip-wave .65s ease-in-out 3; }
.penguin-greeting {
  position: fixed; right: 75px; bottom: 66px; z-index: 96;
  max-width: min(265px, calc(100vw - 94px));
  background: #faf5ff; color: #462267; border: 1px solid #dcc5f7;
  border-radius: 18px 18px 3px 18px; padding: 12px 30px 12px 14px;
  box-shadow: 0 8px 28px rgba(76,29,149,.14); animation: pip-bubble .3s ease-out;
}
.penguin-greeting[hidden], .penguin-chat[hidden] { display: none; }
.pip-greeting-text { font-size: 14px; font-weight: 600; text-align: left; }
.pip-greeting-dismiss { position: absolute; top: 0; right: 0; width: 30px; height: 32px; font-size: 20px; color: #80678f; }
.penguin-chat {
  position: fixed; right: 18px; bottom: 102px; z-index: 100;
  width: min(370px, calc(100vw - 24px)); height: min(540px, calc(100dvh - 122px));
  display: flex; flex-direction: column; overflow: hidden;
  border-radius: 23px; background: #fffcf9; border: 1px solid #e7d5f6;
  box-shadow: 0 16px 60px rgba(37,38,62,.22); animation: pip-bubble .2s ease-out;
}
.pip-chat-header {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px;
  background: linear-gradient(120deg,#ede4ff,#fce5ef); color: #352346;
}
.pip-chat-header svg { width: 38px; height: 43px; flex-shrink: 0; }
.pip-chat-header h2 { font-family: var(--font-head); font-size: 18px; line-height: 1.2; }
.pip-chat-header p { font-size: 11px; margin-top: 2px; color: #796183; }
.pip-chat-header button { margin-left: auto; width: 38px; height: 38px; font-size: 27px; border-radius: 50%; }
.pip-chat-header button:hover { background: #ffffff80; }
.pip-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 14px; overscroll-behavior: contain; }
.pip-message {
  max-width: 94%; width: fit-content; padding: 10px 12px; margin-bottom: 12px;
  border-radius: 14px 14px 14px 3px; background: #f1eafd; color: #3a2948;
  font-size: 13px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere;
}
.pip-message.user { margin-left: auto; background: #7c3aed; color: white; border-radius: 14px 14px 3px 14px; }
.pip-product-link {
  display: block; width: 100%; text-align: left; font-size: 12px; font-weight: 600;
  padding: 10px; margin-top: 8px; background: #fffafc; color: #6b21a8;
  border-radius: 10px; border: 1px solid #dbc9f0; min-height: 44px;
}
.pip-product-link:hover { background: white; border-color: #a78bfa; }
.pip-quick-actions { display: flex; gap: 6px; overflow-x: auto; padding: 5px 12px 10px; flex-shrink: 0; }
.pip-quick-actions button { white-space: nowrap; border: 1px solid #e0d0ee; color: #7347a1; background: #fbf7ff; padding: 8px 10px; border-radius: 20px; font-size: 11px; min-height: 36px; }
.pip-form { display: flex; gap: 8px; padding: 8px 12px; border-top: 1px solid #ede4f3; flex-shrink: 0; }
.pip-form input { min-width: 0; flex: 1; border: 1px solid #e0d0ee; border-radius: 14px; padding: 10px 12px; background: white; font-size: 16px; }
.pip-form button { width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(120deg,#7c3aed,#be185d); color: white; font-size: 24px; }
.pip-human { font-size: 11px; text-align: center; color: #7347a1; padding: 2px 8px 12px; flex-shrink: 0; }
.pip-human:hover { text-decoration: underline; }
.pip-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@keyframes pip-peek { from { transform: translateX(110%); } to { transform: translateX(6px); } }
@keyframes pip-bubble { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pip-blink { 0%,43%,47%,100% { transform: scaleY(1); } 45% { transform: scaleY(.1); } }
@keyframes pip-wave { 0%,100% { transform: rotate(0); } 50% { transform: rotate(-18deg); } }
@media (max-width: 560px) {
  .nav-wrap { gap: 8px; }
  .nav-actions { gap: 4px; }
  .nav-wrap .logo { gap: 8px; }
  .nav-wrap .logo-mark { width: 36px; height: 36px; }
  .lang-btn .lang-label { display: none; }
  .lang-btn { width: 42px; min-width: 42px; padding: 0; }
  .penguin-launcher { position: relative; inset: auto; width: 42px; height: 44px; flex: 0 0 42px; transform: none; }
  .penguin-launcher .pip-chat-dot { width: 17px; height: 16px; top: 0; right: -1px; font-size: 12px; border-width: 1px; border-radius: 6px; }
  .penguin-launcher:hover, .penguin-launcher:focus-visible { transform: none; }
  .penguin-launcher.peeking { animation: pip-bubble .35s ease-out; }
  .penguin-greeting { right: 12px; top: 83px; bottom: auto; border-radius: 3px 18px 18px 18px; }
  .penguin-chat { right: 12px; top: 84px; bottom: auto; height: min(490px, calc(100dvh - 100px)); }
}
@media (prefers-reduced-motion: reduce) {
  .penguin-widget *, .penguin-widget *::before, .penguin-widget *::after, .penguin-launcher, .penguin-launcher * { animation: none !important; transition: none !important; }
}
