/* Independent assistant surface. The approved site header is not targeted. */
.assistant-dock{position:fixed;z-index:70;top:0;right:max(24px,env(safe-area-inset-right));width:72px;height:72px;transform:translate3d(0,calc(50dvh - 36px),0);transition:transform 260ms cubic-bezier(.2,.7,.2,1),opacity 150ms;pointer-events:none;--assistant-safe-bottom:env(safe-area-inset-bottom,0px);--assistant-safe-right:env(safe-area-inset-right,0px)}
.assistant-dock[hidden],.assistant-dialog:not([open]),.assistant-ai-choice[hidden]{display:none!important}
.assistant-dock[data-obstructed="true"]{opacity:0;visibility:hidden;pointer-events:none}
.assistant-launcher{position:relative;width:100%;height:100%;display:grid;place-items:center;border:1px solid #17231d1f;border-radius:24px;background:var(--white,#fff);color:var(--ink,#17231D);box-shadow:0 10px 34px #17231d22,0 2px 6px #17231d0d;pointer-events:auto;transition:box-shadow .24s,background .24s,scale .24s;isolation:isolate}
.assistant-launcher::before{content:"";position:absolute;inset:5px;border:1px solid var(--accent,#C9EF68);border-radius:19px;opacity:.45;z-index:-1;transition:opacity .24s}
.assistant-mark{width:52px;height:52px;overflow:visible;transform-origin:center;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.assistant-mark-dot{transform-box:fill-box;transform-origin:center;transition:transform .28s}
.assistant-caption{position:absolute;right:calc(100% + 14px);top:50%;transform:translate(6px,-50%);padding:9px 13px;background:var(--ink,#17231D);color:#fff;white-space:nowrap;border-radius:10px;font-size:13px;font-weight:700;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;box-shadow:0 6px 20px #17231d12}
.assistant-launcher:focus-visible{outline:3px solid var(--ink,#17231D);outline-offset:5px}
.assistant-launcher:focus-visible .assistant-caption{opacity:1;visibility:visible;transform:translate(0,-50%)}
.assistant-launcher:focus-visible .assistant-mark{animation:assistant-greeting 650ms ease-out 1}
@media(hover:hover) and (pointer:fine){
 .assistant-launcher:hover{background:var(--paper,#F4F6F0);box-shadow:0 14px 42px #17231d2b;scale:1.045}
 .assistant-launcher:hover::before{opacity:1}
 .assistant-launcher:hover .assistant-mark{animation:assistant-greeting 650ms ease-out 1;transform:rotate(-4deg)}
 .assistant-launcher:hover .assistant-mark-dot{transform:translate(2px,-3px) rotate(12deg)}
 .assistant-launcher:hover .assistant-caption{opacity:1;visibility:visible;transform:translate(0,-50%)}
}
.assistant-launcher:active{scale:.96}
@keyframes assistant-greeting{0%,100%{transform:rotate(0)}35%{transform:translateY(-3px) rotate(-7deg)}70%{transform:rotate(3deg)}}
.assistant-dialog{position:fixed;inset:auto max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) auto;width:440px;max-width:calc(100vw - 32px);height:680px;max-height:calc(100dvh - 48px);margin:0;padding:0;border:1px solid #dce3d7;border-radius:24px;background:var(--white,#fff);color:var(--ink,#17231D);box-shadow:0 24px 90px #14281c3d;overflow:hidden;overscroll-behavior:contain}
.assistant-dialog::backdrop{background:#14241b55;backdrop-filter:blur(3px)}
.assistant-dialog[open]{animation:assistant-open 220ms ease-out both}
@keyframes assistant-open{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.assistant-panel{height:100%;min-height:0;display:flex;flex-direction:column}
.assistant-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 22px 19px;background:var(--paper,#F4F6F0);border-bottom:1px solid var(--line,#DDE4DA);flex-shrink:0}
.assistant-eyebrow{display:block;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.13em;margin-bottom:8px;color:var(--muted,#65716A)}
.assistant-heading h2{font-size:22px;line-height:1.2;letter-spacing:-.035em;max-width:280px}
.assistant-mode{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-size:11px;font-weight:700;line-height:1.5;color:var(--ink,#17231D)}
.assistant-mode::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted,#65716A)}
.assistant-mode[data-ai="true"]::before{background:#258043;box-shadow:0 0 0 3px #25804316}
.assistant-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line,#DDE4DA);border-radius:50%;background:var(--white,#fff);transition:background .2s,transform .2s}
.assistant-close svg,.assistant-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.assistant-close:hover{background:var(--soft,#EAF0E4);transform:rotate(5deg)}
.assistant-messages{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 10px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;overscroll-behavior:contain;scroll-behavior:smooth}
.assistant-message{font-size:13px;line-height:1.7;max-width:96%;flex-shrink:0;overflow-wrap:anywhere}
.assistant-message-label{display:block;font-size:10px;letter-spacing:.04em;font-weight:800;color:var(--muted,#65716A);margin:0 0 5px 3px}
.assistant-message-body{padding:12px 14px;border:1px solid var(--line,#DDE4DA);border-radius:3px 16px 16px;background:var(--paper,#F4F6F0);white-space:pre-line}
.assistant-message[data-role="user"]{align-self:flex-end}
.assistant-message[data-role="user"] .assistant-message-body{background:var(--ink,#17231D);color:#fff;border-color:var(--ink,#17231D);border-radius:16px 3px 16px 16px}
.assistant-message[data-role="user"] .assistant-message-label{text-align:right}
.assistant-message-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.assistant-message-actions button,.assistant-suggestions button{border:1px solid var(--line,#DDE4DA);border-radius:8px;padding:8px 10px;background:var(--white,#fff);font-size:12px;line-height:1.5;text-align:left;transition:background .18s,border-color .18s}
.assistant-message-actions button:hover,.assistant-suggestions button:hover{background:var(--soft,#EAF0E4);border-color:var(--muted,#65716A)}
.assistant-products{display:grid;gap:8px;margin-top:10px}
.assistant-product{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line,#DDE4DA);border-radius:11px;padding:12px;text-align:left;background:var(--white,#fff);transition:border-color .18s,transform .18s}
.assistant-product:hover{border-color:var(--ink,#17231D);transform:translateX(2px)}
.assistant-product strong{display:block;font-size:12px;line-height:1.5;font-weight:800}
.assistant-product small{display:block;margin-top:3px;color:var(--muted,#65716A);font-size:11px;line-height:1.5}
.assistant-product-arrow{font-size:20px;font-weight:400;flex-shrink:0}
.assistant-suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px 14px;flex-shrink:0}
.assistant-suggestions button{font-size:11px;padding:6px 9px}
.assistant-compose{padding:16px 20px 12px;border-top:1px solid var(--line,#DDE4DA);background:var(--white,#fff);flex-shrink:0}
.assistant-input-label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}
.assistant-input-row{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--line,#DDE4DA);border-radius:13px;padding:8px;background:var(--paper,#F4F6F0)}
.assistant-input-row:focus-within{border-color:var(--ink,#17231D);box-shadow:0 0 0 2px #17231d0a}
.assistant-input-row textarea{width:100%;min-width:0;min-height:42px;max-height:110px;border:0;background:transparent;outline:0;resize:vertical;font-size:14px;line-height:1.55;padding:4px 3px;color:var(--ink,#17231D)}
.assistant-input-row textarea::placeholder{color:var(--muted,#65716A)}
.assistant-send{height:38px;width:38px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:10px;color:var(--ink,#17231D);background:var(--accent,#C9EF68);transition:filter .18s,transform .18s}
.assistant-send:hover{filter:brightness(.95);transform:translateY(-1px)}
.assistant-ai-choice{display:flex;align-items:flex-start;gap:7px;margin-top:11px;font-size:10px;line-height:1.55;color:var(--muted,#65716A)}
.assistant-ai-choice input{width:16px;height:16px;flex-shrink:0;margin-top:1px;accent-color:var(--ink,#17231D)}
.assistant-note{font-size:10px;line-height:1.55;margin:9px 0 0;color:var(--muted,#65716A)}
.assistant-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px;margin-top:5px}
.assistant-compose-footer>span{font-size:10px;color:var(--muted,#65716A)}
.assistant-compose-footer button{border:0;background:transparent;padding:3px 0;color:var(--muted,#65716A);font-size:10px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-left:auto}
.assistant-dialog button:focus-visible{outline:2px solid var(--ink,#17231D);outline-offset:3px}
@media(max-width:620px){
 .assistant-dock{width:60px;height:60px;right:max(14px,env(safe-area-inset-right))}
 .assistant-launcher{border-radius:20px}
 .assistant-launcher::before{border-radius:15px}
 .assistant-mark{width:44px;height:44px}
 .assistant-caption{font-size:11px;padding:8px 10px}
 .assistant-dialog{inset:auto 10px max(10px,env(safe-area-inset-bottom)) auto;width:calc(100vw - 20px);max-width:none;height:680px;max-height:calc(100dvh - 20px);border-radius:20px}
 .assistant-heading{padding:19px 18px 15px}
 .assistant-heading h2{font-size:21px}
 .assistant-messages{padding:16px 16px 8px}
 .assistant-compose{padding:12px 16px 8px}
 .assistant-input-row textarea{font-size:16px}
 .assistant-suggestions{padding:8px 16px 11px}
}
@media(max-height:560px){.assistant-heading{padding:12px 16px}.assistant-heading h2{font-size:18px}.assistant-eyebrow{margin-bottom:3px}.assistant-mode{margin-top:5px}.assistant-suggestions{display:none}.assistant-compose{padding-top:9px}.assistant-messages{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.assistant-dock,.assistant-dialog,.assistant-launcher,.assistant-mark,.assistant-mark-dot,.assistant-caption{animation:none!important;transition:none!important}.assistant-launcher:hover,.assistant-launcher:active{scale:1}.assistant-mark,.assistant-mark-dot{transform:none!important}.assistant-messages{scroll-behavior:auto}}
@media print{.assistant-dock,.assistant-dialog{display:none!important}}

.assistant-product .assistant-temperature{display:block;color:#655014;font-weight:600;margin-top:5px;line-height:1.5}
