/* Calm product guidance motion. Transform and opacity only; no continuous work in the chat panel. */
.curly-ai{--curly-ink:#102844;--curly-soft:#e7f1ff}
.curly-ai .curly-launcher{position:relative;isolation:isolate;transition:box-shadow .24s ease,transform .24s ease}
.curly-ai .curly-launcher:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(6,64,137,.28)}
.curly-ai .curly-launcher:focus-visible,.curly-ai .curly-page-explain-dock:focus-visible,.curly-ai .curly-page-explain-panel:focus-visible,.curly-ai .curly-quick button:focus-visible{outline:3px solid #79adff;outline-offset:3px}
.curly-ai .curly-window{border-color:rgba(45,113,216,.17);box-shadow:0 25px 75px rgba(8,28,64,.24),0 0 0 1px rgba(255,255,255,.45) inset}
.curly-ai.curly-open .curly-window{animation:curlyPanelReveal .25s ease-out both}
.curly-ai .curly-window header{background:linear-gradient(116deg,#083568 0%,#0754a3 58%,#0b68bb 100%);color:#fff}
.curly-ai .curly-window header strong,.curly-ai .curly-window header small{color:#fff;text-shadow:0 1px 2px rgba(0,24,62,.16)}
.curly-ai .curly-window header .curly-end,.curly-ai .curly-window header .curly-close,.curly-ai .curly-window header .curly-voice{color:#fff!important;background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.38)!important}
.curly-ai .curly-window header .curly-logo{box-shadow:0 0 0 5px rgba(30,111,255,.07)}
.curly-ai .curly-msg:not(.is-streaming)>div{animation:curlyMessageIn .22s ease-out both}
.curly-ai .curly-product,.curly-ai .curly-category{animation:curlyCardIn .28s ease-out both;animation-delay:calc(var(--curly-card-index,0) * 45ms);will-change:transform,opacity}
.curly-ai .curly-product{border-color:rgba(49,103,186,.14);box-shadow:0 7px 24px rgba(17,49,95,.08);transition:box-shadow .25s ease,transform .25s ease}
.curly-ai .curly-product:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,49,95,.16)}
.curly-ai .curly-product img{background:#f4f8fd;object-fit:contain}
.curly-ai .curly-typing{display:flex;align-items:center;gap:4px;border:1px solid rgba(45,113,216,.12);box-shadow:0 10px 26px rgba(17,49,95,.12)}
.curly-ai .curly-typing[hidden]{display:none!important}
.curly-ai .curly-typing-label{margin-left:5px;color:#496985;font-size:11px;font-weight:600;white-space:nowrap}
.curly-ai .curly-page-explain-dock{animation:curlyPrompt 1.3s ease-in-out 3;transition:transform .2s ease,box-shadow .2s ease}
.curly-ai .curly-page-explain-dock:hover,.curly-ai .curly-page-explain-panel:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(6,64,137,.2)}
.curly-ai .curly-form button:disabled{opacity:.55;cursor:wait;transform:none!important}
.curly-ai.curly-restoring .curly-msg>div,.curly-ai.curly-restoring .curly-product,.curly-ai.curly-restoring .curly-category{animation:none!important}
@keyframes curlyPanelReveal{from{opacity:0}to{opacity:1}}
@keyframes curlyMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes curlyCardIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes curlyPrompt{50%{box-shadow:0 7px 25px rgba(24,96,222,.28)}}
@media(max-width:520px){.curly-ai .curly-product:hover{transform:none}.curly-ai .curly-typing-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.curly-ai .curly-window,.curly-ai .curly-msg>div,.curly-ai .curly-product,.curly-ai .curly-category,.curly-ai .curly-page-explain-dock{animation:none!important;transition:none!important;will-change:auto}.curly-ai .curly-typing b{animation:none!important}.curly-ai .curly-launcher:hover,.curly-ai .curly-product:hover,.curly-ai .curly-page-explain-dock:hover,.curly-ai .curly-page-explain-panel:hover{transform:none!important}}
