.pip-widget-root { position:relative; right:auto; bottom:auto; letter-spacing:0; width:max-content; max-width:100%; margin-top:16px; }
.pip-guide-slot { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:16px; }
.pip-guide-slot .pip-widget-root { margin:0; order:-1; }
.pip-mission-note { font-size:12px; color:#4a6253; max-width:22ch; }
.pip-widget-button { display:flex; align-items:center; gap:2px; height:82px; padding:0 20px 0 2px; border:1px solid #c3d6c5; border-radius:8px; background:#fffdf8; color:#143d32; box-shadow:0 4px 20px #143d3226; }
.pip-widget-button:hover { background:#edf5ed; }
.pip-widget-button:focus-visible,.pip-widget-panel :focus-visible { outline:3px solid #287565; outline-offset:4px; }
.pip-mascot { width:98px; height:82px; flex:none; overflow:visible; }
.pip-badge-copy { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.pip-badge-copy strong { font-size:17px; line-height:1.3; }
.pip-badge-copy small { font-size:12px; font-weight:500; line-height:1.3; }
.pip-mascot-tail { transform-box:view-box; transform-origin:174px 130px; animation:pip-tail-wag 2s ease-in-out infinite; }
@keyframes pip-tail-wag {
  0%,12%,58%,100% { transform:rotate(0deg); }
  22%,42% { transform:rotate(-7deg); }
  32%,50% { transform:rotate(6deg); }
}
.pip-widget-title { display:flex; align-items:center; gap:10px; }
.pip-widget-title img { width:36px; height:36px; }
.pip-widget-panel { position:static; bottom:auto; margin-top:16px; width:min(390px,calc(100vw - 36px)); border-radius:8px; max-height:none; overflow:hidden; }
.pip-widget-header { background:#143d32; }
.pip-widget-panel[hidden] { display:none; }
.pip-widget-close,.pip-widget-send,.pip-widget-input,.pip-widget-message,.pip-widget-links a { border-radius:6px; }
@media(max-width:550px) {
  .pip-widget-button { height:62px; padding-right:12px; }
  .pip-mascot { width:74px; height:62px; }
  .pip-badge-copy strong { font-size:15px; }
  .pip-badge-copy small { font-size:11px; }
  .pip-guide-slot { gap:10px; }
  .pip-mission-note { max-width:16ch; font-size:11px; }
  .pip-widget-messages { max-height:210px; }
}
@media(prefers-reduced-motion:reduce) {
  .pip-mascot-tail { animation:none; transform:none; }
}
