.puri-assistant{--pa-ink:#191656;--pa-paper:#fafbf6;position:fixed;right:24px;bottom:24px;z-index:45;color:var(--pa-ink);font-family:inherit;line-height:1.55;pointer-events:none}
.puri-assistant *, .puri-assistant *:before,.puri-assistant *:after{box-sizing:border-box}
.puri-assistant [hidden]{display:none!important}
.puri-assistant button,.puri-assistant input,.puri-assistant select{font:inherit;color:inherit}
.puri-assistant button,.puri-assistant a,.puri-assistant input,.puri-assistant select,.pa-panel{pointer-events:auto}
.puri-assistant button{cursor:pointer}
.puri-assistant button:focus-visible,.puri-assistant a:focus-visible,.puri-assistant input:focus-visible,.puri-assistant select:focus-visible,.pa-conversation:focus-visible{outline:2px solid #006ed5;outline-offset:3px}
.pa-launcher{display:flex;align-items:center;gap:12px;border:1px solid #19165618;border-radius:40px;background:var(--pa-ink);color:#fff!important;box-shadow:0 7px 25px #19165622;padding:10px 20px 10px 12px;font-size:12px!important;font-weight:600;min-height:52px;transition:transform .2s,box-shadow .2s}
.pa-launcher:hover{transform:translateY(-3px);box-shadow:0 10px 28px #19165630}
.pa-mascot{display:grid;place-items:center;font-size:28px;line-height:1;width:34px;height:34px;border-radius:50%;background:#dcedbf;color:var(--pa-ink);flex-shrink:0}
.pa-panel{display:flex;flex-direction:column;width:380px;max-width:calc(100vw - 32px);height:min(630px,calc(100dvh - 48px));border:1px solid #19165622;border-radius:20px;background:var(--pa-paper);box-shadow:0 18px 70px #19165633;overflow:hidden;animation:pa-enter .2s ease-out}
.pa-header{display:flex;gap:10px;align-items:center;flex-shrink:0;padding:17px 17px 16px;background:#e8f0db;border-bottom:1px solid #19165612}
.pa-header h2{font-family:inherit;font-size:15px;font-weight:650;letter-spacing:-.025em;line-height:1.35;margin:0}
.pa-header p{font-size:10px;margin:3px 0 0;color:#4d5271}
.pa-header>button{border:0;background:transparent;font-size:26px;line-height:1;width:36px;height:36px;margin-left:auto;border-radius:50%;flex-shrink:0}
.pa-header>button:hover{background:#fff8}
.pa-context{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid #19165614;flex-shrink:0}
.pa-context label{font-size:10px;white-space:nowrap;color:#555875}
.pa-context select{width:100%;min-width:0;background:white;border:1px solid #19165624;border-radius:7px;font-size:11px;padding:8px 23px 8px 8px;text-overflow:ellipsis}
.pa-conversation{overflow-y:auto;overscroll-behavior:contain;min-height:100px;flex:1;padding:16px;scrollbar-width:thin}
.pa-message{font-size:12px;line-height:1.65;max-width:100%;padding:12px 14px;margin:0 0 12px;border-radius:12px 12px 12px 3px;background:#edf0e9;overflow-wrap:anywhere}
.pa-message:last-child{margin-bottom:0}
.pa-message-user{margin-left:30px;background:var(--pa-ink);color:white;border-radius:12px 12px 3px 12px}
.pa-message strong{font-weight:650;display:block;margin-bottom:6px;font-size:12px}
.pa-message p{margin:0 0 9px}.pa-message p:last-child{margin-bottom:0}
.pa-message ol,.pa-message ul{padding-left:18px;margin:7px 0 11px}.pa-message li{margin:5px 0}
.pa-message .pa-source-note{font-size:10px;color:#505572;border-top:1px solid #19165618;padding-top:9px;margin-top:10px}
.pa-links{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px}.pa-links a{font-size:10px;text-decoration:underline;text-underline-offset:3px;color:inherit}
.pa-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pa-choices button,.pa-quick button{font-size:10px;background:white;border:1px solid #19165624;border-radius:18px;padding:7px 10px;text-align:left;line-height:1.45}
.pa-choices button:hover,.pa-quick button:hover{background:#dcedbf;border-color:#a2b587}
.pa-quick{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 0;flex-shrink:0;border-top:1px solid #19165610}
.pa-form{display:flex;gap:8px;padding:12px 16px 9px;flex-shrink:0}
.pa-form input{display:block;width:100%;min-width:0;border:1px solid #19165630;background:#fff;border-radius:9px;padding:11px 12px;font-size:13px;height:44px}
.pa-form button{display:grid;place-items:center;border:0;border-radius:50%;height:44px;width:44px;background:var(--pa-ink);color:white!important;font-size:23px;flex-shrink:0}
.pa-disclosure{font-size:9px;color:#535970;line-height:1.5;margin:0;padding:0 16px 13px;flex-shrink:0}.pa-disclosure a{text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.pa-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.puri-page:has(.sticky-purchase) .puri-assistant{bottom:96px}
.puri-page:has(.sticky-purchase) .pa-panel{height:min(610px,calc(100dvh - 120px))}
.puri-page:has(.hero-product-carousel) .puri-assistant{bottom:24px}
.puri-page:has(.hero-product-carousel) .pa-panel{height:min(630px,calc(100dvh - 48px))}
@keyframes pa-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.puri-assistant{right:12px;bottom:12px}.pa-panel{width:380px;max-width:calc(100vw - 24px);height:min(630px,calc(100dvh - 24px));border-radius:16px}.pa-header{padding:13px}.pa-header h2{font-size:14px}.pa-context{padding:9px 12px}.pa-conversation{padding:12px}.pa-quick{padding:9px 12px 0;gap:5px}.pa-form{padding:10px 12px 8px}.pa-form input{font-size:16px}.pa-disclosure{padding:0 12px 11px;font-size:9px}.pa-message{font-size:12px;padding:11px 12px}.pa-launcher{font-size:11px!important;min-height:48px;padding:8px 15px 8px 10px;gap:8px}.pa-mascot{height:32px;width:32px}.puri-page:has(.sticky-purchase) .puri-assistant{bottom:88px}.puri-page:has(.sticky-purchase) .pa-panel{height:min(610px,calc(100dvh - 106px))}}
@media(prefers-reduced-motion:reduce){.pa-panel{animation:none}.pa-launcher{transition:none}.pa-launcher:hover{transform:none}}
@media(max-width:600px){
  .pa-launcher{width:48px;height:48px;min-height:48px;padding:8px;gap:0;justify-content:center;border-radius:50%}
  .pa-launcher>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .puri-page:has(.hero-product-carousel) .puri-assistant{bottom:12px}
  .puri-page:has(.hero-product-carousel) .pa-panel{height:min(630px,calc(100dvh - 24px))}
}
@media print{.puri-assistant{display:none!important}}

@media(min-width:601px) and (max-width:1100px){
  .puri-page:has(.hero-product-carousel) .pa-launcher{width:48px;height:48px;min-height:48px;padding:7px;gap:0;justify-content:center;border-radius:50%}
  .puri-page:has(.hero-product-carousel) .pa-launcher>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

/* Reserve space only for a visible purchase bar; use its measured height. */
.puri-page:has(.sticky-purchase) .puri-assistant{bottom:24px}
.puri-page:has(.sticky-purchase) .pa-panel{height:min(630px,calc(var(--pa-visible-height,100dvh) - 48px))}
.puri-page:has(.sticky-purchase.is-visible) .puri-assistant{bottom:calc(var(--purchase-bar-height,88px) + 12px)}
.puri-page:has(.sticky-purchase.is-visible) .pa-panel{height:min(630px,calc(var(--pa-visible-height,100dvh) - var(--purchase-bar-height,88px) - 36px))}
.pa-conversation{min-height:0;touch-action:pan-y}
.pa-header>button{width:44px;height:44px}
.puri-page.menu-open .puri-assistant{visibility:hidden;pointer-events:none}
@media(max-width:600px){
  .puri-page:has(.sticky-purchase:not(.is-visible)) .puri-assistant{bottom:12px}
  .puri-page:has(.sticky-purchase:not(.is-visible)) .pa-panel{height:min(630px,calc(var(--pa-visible-height,100dvh) - 24px))}
}
@media(pointer:coarse){
  .pa-form input,.pa-context select{font-size:16px}
  .pa-context select{min-height:44px}
  .pa-quick button,.pa-choices button{min-height:40px;padding-block:8px}
  .pa-links a{display:inline-flex;align-items:center;min-height:32px;font-size:11px}
  .pa-disclosure{font-size:10px}
  .pa-disclosure a{display:inline-block;min-height:24px;padding-block:4px}
}
/* Keyboard and landscape: keep the composer and close action inside the visual viewport. */
.puri-page .puri-assistant.pa-is-open:is(.pa-compact,.pa-keyboard){bottom:calc(var(--pa-keyboard-offset,0px) + 12px)}
.puri-page .puri-assistant.pa-is-open:is(.pa-compact,.pa-keyboard) .pa-panel{height:min(630px,calc(var(--pa-visible-height,100dvh) - 24px));max-height:calc(var(--pa-visible-height,100dvh) - 24px)}
.pa-compact .pa-header{padding:6px 12px;gap:9px}
.pa-compact .pa-header p{display:none}
.pa-compact .pa-header h2{font-size:14px}
.pa-compact .pa-context{padding:5px 12px}
.pa-compact .pa-conversation{padding:10px 12px}
.pa-compact .pa-quick{display:none}
.pa-compact .pa-form{padding:7px 12px}
.pa-compact .pa-disclosure{padding:0 12px 5px;font-size:9px;line-height:1.3}
.pa-compact .pa-disclosure a{min-height:0;padding:0}
@media(max-width:600px),(pointer:coarse){
  .pa-message,.pa-message strong{font-size:14px}
  .pa-message .pa-source-note,.pa-links a{font-size:12px}
  .pa-quick button,.pa-choices button{min-height:44px;font-size:11px}
  .pa-disclosure,.pa-compact .pa-disclosure{font-size:12px}
}
.pa-short .pa-context,.pa-short .pa-disclosure{display:none}
.pa-short .pa-header{padding-block:3px}
.pa-short .pa-form{padding-block:5px}

/* Keep the floating guide inside notches and home-indicator safe areas. */
.puri-assistant{right:max(24px,env(safe-area-inset-right,0px));bottom:max(24px,env(safe-area-inset-bottom,0px))}
.pa-panel{max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(var(--pa-visible-height,100dvh) - max(24px,env(safe-area-inset-bottom,0px)) - max(24px,env(safe-area-inset-top,0px)))}
.puri-page:has(.hero-product-carousel) .puri-assistant,
.puri-page:has(.sticky-purchase:not(.is-visible)) .puri-assistant{bottom:max(24px,env(safe-area-inset-bottom,0px))}
@media(max-width:600px){
  .puri-assistant{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px))}
  .pa-panel{max-height:calc(var(--pa-visible-height,100dvh) - max(12px,env(safe-area-inset-bottom,0px)) - max(12px,env(safe-area-inset-top,0px)))}
  .puri-page:has(.hero-product-carousel) .puri-assistant,
  .puri-page:has(.sticky-purchase:not(.is-visible)) .puri-assistant{bottom:max(12px,env(safe-area-inset-bottom,0px))}
}
.puri-page:has(.sticky-purchase.is-visible) .pa-panel{max-height:calc(var(--pa-visible-height,100dvh) - var(--purchase-bar-height,88px) - 12px - max(12px,env(safe-area-inset-top,0px)))}
.puri-page .puri-assistant.pa-is-open:is(.pa-compact,.pa-keyboard){bottom:calc(var(--pa-keyboard-offset,0px) + max(12px,env(safe-area-inset-bottom,0px)))}
.puri-page .puri-assistant.pa-is-open:is(.pa-compact,.pa-keyboard) .pa-panel{height:min(630px,calc(var(--pa-visible-height,100dvh) - max(12px,env(safe-area-inset-bottom,0px)) - max(12px,env(safe-area-inset-top,0px))));max-height:calc(var(--pa-visible-height,100dvh) - max(12px,env(safe-area-inset-bottom,0px)) - max(12px,env(safe-area-inset-top,0px))}
