/* A hands-on merchant story: query, discovery, conversation. */
.merchant-hero .merchant-lab{--lab-ease:var(--ease-out);max-width:480px;padding:24px;border:1px solid #6C999B80;border-radius:28px;background:linear-gradient(145deg,#123D45F2,#082C34F2);box-shadow:0 22px 54px #021B243B,inset 0 1px 0 #D9F7F41C;color:#F2FBFA}
.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.lab-heading h2{font:600 25px/1.1 Bricolage,Arial,sans-serif;letter-spacing:-.035em}
.lab-target,.lab-store-target{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #6FE6DF70;border-radius:50%}
.lab-target>span,.lab-store-target>span{width:18px;height:18px;border:1px solid #6FE6DF;border-radius:50%;background:radial-gradient(circle,#FFC928 0 3px,transparent 3.5px)}
.lab-categories{border:0;margin:0;padding:0;min-width:0}
.lab-categories legend{font-size:12px;color:#B8D5D5;margin-bottom:10px}
.lab-categories>div{display:flex;gap:7px;flex-wrap:wrap}
.lab-categories button{padding:8px 12px;min-height:40px;border-radius:999px;border:1px solid #50757B;background:transparent;color:#D0E4E3;font:500 12px/1.3 Figtree,Arial,sans-serif;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
.lab-categories button[aria-pressed=true]{background:#D9F7F4;color:#073F47;border-color:#D9F7F4}
.lab-scene{margin-top:20px}
.lab-query{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #5F8C91;border-radius:12px;background:#072F37;color:#F2FBFA;min-width:0}
.lab-query>svg{width:17px;height:17px;color:#6FE6DF;flex-shrink:0}
.lab-query>[data-lab-query]{font-size:13px;font-weight:500;min-width:0}
.lab-query-zone{font-size:10px;margin-left:auto;white-space:nowrap;color:#B8D5D5;padding-left:9px;border-left:1px solid #6C999B70}
.lab-store{margin-top:12px;border:1px solid #659194;border-radius:16px;overflow:hidden;background:#14434C;position:relative;transition:border-color 220ms ease,box-shadow 220ms ease}
.lab-photo{position:relative;aspect-ratio:1.95;background:#183F46;overflow:hidden;isolation:isolate}
.lab-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 240ms var(--lab-ease),opacity 220ms ease}
.lab-match{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;border:1px solid #D9F7F43B;border-radius:8px;padding:8px 10px;background:#062C35D9;backdrop-filter:blur(10px);font-size:11px;line-height:1.4;color:#E1F4F1;transition:opacity 180ms ease,transform 220ms var(--lab-ease)}
.lab-match>span{width:6px;height:6px;border-radius:50%;background:#FFC928;margin-right:2px}
.lab-match strong{font-weight:600}
.lab-store-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}
.lab-store-caption h3{font:600 24px/1.1 Bricolage,Arial,sans-serif;letter-spacing:-.035em}
.lab-store-caption p{font-size:11px;line-height:1.5;color:#BDD9D8;margin-top:4px;text-wrap:pretty}
.lab-store-target{width:34px;height:34px;background:#6FE6DF0A;opacity:.5;transition:opacity 200ms ease,transform 240ms var(--lab-ease)}
.merchant-lab[data-step=store] .lab-store{border-color:#FFC928;box-shadow:0 0 0 3px #FFC92812}
.merchant-lab[data-step=store] .lab-store-target{opacity:1;transform:scale(1.1)}
.merchant-lab[data-step=store] .lab-photo>img{transform:scale(1.045)}
.lab-conversation{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:18px 22px;background:#092F37E8;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity 220ms ease,transform 240ms var(--lab-ease)}
.lab-chat-icon{position:absolute;right:18px;top:16px;color:#FFC928}
.lab-chat-icon svg{display:block;width:21px;height:21px}
.lab-conversation p{position:relative;max-width:90%;padding:12px 14px;border-radius:14px 14px 14px 3px;background:#E0F4EF;color:#073F47;font-size:14px;line-height:1.45;text-wrap:pretty;box-shadow:0 8px 20px #021E2533}
.lab-chat-channel{font-size:10px;color:#BEDBD9;padding-left:2px}
.merchant-lab[data-step=contact] .lab-conversation{opacity:1;transform:translateY(0)}
.merchant-lab[data-step=contact] .lab-match{opacity:0;transform:translateY(6px)}
.merchant-lab[data-step=contact] .lab-store{border-color:#6FE6DF}
.lab-story{margin-top:20px;min-height:74px}
.lab-story h3{font:600 22px/1.15 Bricolage,Arial,sans-serif;letter-spacing:-.025em}
.lab-story p{font-size:13px;line-height:1.6;margin-top:6px;color:#BCD9D9;text-wrap:pretty}
.lab-navigation{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#051F2870;border:1px solid #6D99983B;border-radius:12px;padding:4px;margin-top:14px}
.lab-navigation button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;padding:8px 4px;border-radius:9px;background:none;color:#A9CCCC;font:500 11px/1.3 Figtree,Arial,sans-serif;cursor:pointer;position:relative}
.lab-navigation button>span{font-size:10px;opacity:.7}
.lab-navigation button[aria-pressed=true]{color:#073F47}
.lab-active-step{position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/3);border-radius:9px;background:#6FE6DF;transition:transform 240ms var(--lab-ease);pointer-events:none}
.lab-next{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:12px 2px 0;color:#D9F7F4;background:none;font:500 12px/1.4 Figtree,Arial,sans-serif;cursor:pointer;text-align:left}
.lab-next svg{width:18px;height:18px;color:#6FE6DF;flex-shrink:0;transition:transform 160ms var(--lab-ease)}
.merchant-lab button:focus-visible{outline:2px solid #FFC928;outline-offset:2px}
@media(hover:hover) and (pointer:fine){.lab-categories button:hover{border-color:#D9F7F4}.lab-next:hover svg{transform:translateX(3px)}.lab-navigation button:hover{color:#F2FBFA}.lab-navigation button[aria-pressed=true]:hover{color:#073F47}}
.merchant-lab[data-instant] *{transition:none!important}
@media(prefers-reduced-motion:reduce){.merchant-lab *{transition:none!important}.merchant-lab .lab-photo>img,.merchant-lab .lab-store-target,.merchant-lab .lab-conversation,.merchant-lab .lab-match{transform:none!important}}
@media(min-width:761px) and (max-width:1000px){.merchant-hero .merchant-lab{padding:20px}.lab-query{flex-wrap:wrap}.lab-query-zone{margin-left:26px;border:0;padding:0;flex-basis:100%}.lab-photo{aspect-ratio:1.45}.lab-categories button{padding-inline:10px}.lab-navigation button{font-size:10px;gap:4px}.lab-store-caption{padding:12px}.lab-store-caption h3{font-size:22px}.lab-story{min-height:94px}}
@media(max-width:760px){.merchant-hero .merchant-lab{max-width:480px;padding:22px;margin-top:6px}.lab-photo{aspect-ratio:1.8}.lab-heading h2{font-size:26px}}
@media(max-width:390px){.merchant-hero .merchant-lab{padding:16px;border-radius:22px}.lab-categories>div{gap:5px}.lab-categories button{font-size:11px;padding-inline:9px}.lab-query{gap:7px;padding:10px}.lab-query>[data-lab-query]{font-size:12px}.lab-query-zone{font-size:9px;padding-left:7px}.lab-conversation{padding:14px}.lab-conversation p{font-size:13px}.lab-photo{aspect-ratio:1.4}.lab-story{min-height:90px}.lab-story h3{font-size:21px}.lab-store-caption{padding:12px}.lab-store-caption h3{font-size:23px}.lab-navigation button{font-size:10px;gap:4px}}
@media(min-width:1001px){
 .merchant-hero:has(.merchant-lab){padding:36px;gap:36px}
 .merchant-hero .merchant-lab{padding:20px}
 .lab-heading{margin-bottom:12px}
 .lab-scene{margin-top:14px}
 .lab-photo{aspect-ratio:auto;height:148px}
 .lab-store-caption{padding:12px 14px}
 .lab-store-caption h3{font-size:22px}
 .lab-story{margin-top:16px;min-height:74px}
 .lab-navigation{margin-top:8px}
}
@media(pointer:coarse){.lab-categories button{min-height:44px}}
/* Reserve one reading area so selecting a stage never nudges its controls. */
@media(max-width:1000px){.lab-story{min-height:110px}}
@media(max-width:370px){.lab-story{min-height:120px}}
/* Reserve the final bubble size while its visible text is being written. */
.lab-conversation .lab-message{display:grid}
.lab-message-measure,.lab-message-typed{grid-area:1/1}
.lab-message-measure{visibility:hidden;pointer-events:none}
.lab-message-typed{align-self:start}
.merchant-lab[data-typing] .lab-message-typed::after{content:'│';color:#0B5E68;opacity:.65;margin-left:1px}
/* Stage 1 starts at the lens; the field opens as one piece, then reveals results. */
.lab-query{transition:clip-path 300ms var(--lab-ease),border-color 180ms ease;clip-path:inset(0 round 12px)}
.merchant-lab[data-step=search][data-phase=expand] .lab-query{clip-path:inset(0 calc(100% - 46px) 0 0 round 12px);border-color:#6FE6DF}
.lab-query-text{display:grid;min-width:0;font-size:13px;font-weight:500;flex:1}
.lab-query-text>[data-lab-query],.lab-query-measure{grid-area:1/1;white-space:nowrap}
.lab-query-measure{visibility:hidden}
.lab-query-zone{flex-shrink:0}
.merchant-lab[data-phase=query] [data-lab-query]::after{content:'│';color:#6FE6DF;opacity:.6}
.lab-query>svg{transition:transform 240ms var(--lab-ease)}
.merchant-lab[data-phase=expand] .lab-query>svg{transform:translateX(3px) scale(1.1)}
.lab-canvas{display:grid;margin-top:12px;isolation:isolate}
.lab-canvas>.lab-store,.lab-canvas>.lab-results{grid-area:1/1;min-width:0;margin:0;align-self:stretch}
.lab-results{display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity 200ms ease,transform 260ms var(--lab-ease)}
.lab-results-title{font-size:11px;line-height:1.5;color:#B8D5D5;padding:2px}
.lab-results>[data-lab-result-list]{display:grid;gap:9px}
.lab-result{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #497980;border-radius:12px;background:#14434C;color:#F2FBFA;text-align:left;min-height:65px;cursor:pointer;transition:opacity 180ms ease,transform 260ms var(--lab-ease),border-color 180ms ease,background-color 180ms ease}
.lab-result img{width:42px;height:42px;flex-shrink:0;object-fit:cover;border-radius:8px}
.lab-result-name{display:block;font:600 17px/1.2 Bricolage,Arial,sans-serif;letter-spacing:-.02em}
.lab-result-zone{display:block;font-size:10px;color:#BDD9D8;margin-top:4px}
.lab-result-distance{margin-left:auto;white-space:nowrap;flex-shrink:0;color:#6FE6DF;font-size:11px}
.lab-canvas>.lab-store{opacity:1;transform:translateY(0) scale(1);transform-origin:50% 0;transition:opacity 220ms ease,transform 300ms var(--lab-ease),border-color 180ms ease;}
.merchant-lab[data-step=search] .lab-store{opacity:0;transform:translateY(-10px) scale(.94);pointer-events:none}
.merchant-lab[data-step=search][data-phase=results] .lab-results,.merchant-lab[data-step=search][data-phase=select] .lab-results{opacity:1;transform:translateY(0);pointer-events:auto}
.merchant-lab[data-phase=select] .lab-result:first-child{border-color:#FFC928;background:#21595C;transform:scale(1.015)}
.merchant-lab[data-phase=select] .lab-result:not(:first-child){opacity:.3;transform:translateY(4px)}
.lab-contact-preview{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 28px);margin:0 14px 14px;min-height:44px;padding:10px 14px;background:#6FE6DF;color:#073F47;border-radius:999px;font:600 12px/1.4 Figtree,Arial,sans-serif;cursor:pointer;transform-origin:center;transition:transform 150ms var(--lab-ease),background-color 180ms ease,box-shadow 180ms ease;}
.lab-contact-preview>svg{width:18px;height:18px;flex-shrink:0}
.lab-click-pointer{position:absolute;right:15%;bottom:-10px;width:25px;height:25px;color:#F2FBFA;filter:drop-shadow(0 2px 2px #073F4760);opacity:0;transform:translate(8px,8px);transition:transform 180ms var(--lab-ease),opacity 150ms ease;pointer-events:none}
.lab-click-pointer svg{display:block;width:100%;height:100%}
.merchant-lab[data-phase=press] .lab-contact-preview{transform:scale(.97);background:#A1F3E8;box-shadow:0 0 0 5px #6FE6DF26}
.merchant-lab[data-phase=press] .lab-click-pointer{opacity:1;transform:translate(0,0)}
.merchant-lab[data-step=contact] .lab-contact-preview{background:#D9F7F412;color:#BBDAD6;cursor:default}
@media(hover:hover) and (pointer:fine){.lab-result:hover{border-color:#6FE6DF}.lab-contact-preview:not(:disabled):hover{background:#A1F3E8}}
@media(max-width:390px){.lab-query-text{font-size:12px}.lab-result{padding:10px;gap:8px}.lab-result img{width:34px;height:34px}.lab-result-name{font-size:16px}.lab-result-zone{font-size:10px}.lab-result-distance{font-size:10px}.lab-results{gap:8px}.lab-results>[data-lab-result-list]{gap:7px}.lab-results-title{font-size:10px}}
/* The contact action sits beside the store name; it does not add another card row. */
.lab-store .lab-store-caption{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:10px;min-height:82px;align-items:center}
.lab-store-caption .lab-store-target{display:none}
.lab-store-caption .lab-contact-preview{width:104px;margin:0;min-height:44px;padding:8px 12px;gap:6px;font-size:11px;text-align:left}
.lab-store-caption .lab-contact-preview>svg{width:15px;height:15px}
.lab-store-caption [data-lab-store]{font-size:21px}
.lab-store-caption [data-lab-zone]{font-size:10px}
/* Measured selection continuity and a calm, ordered hand-off to the conversation. */
.lab-results{transition:opacity 200ms var(--ease-out),transform 240ms var(--ease-drawer)}
.lab-result{opacity:0;transform:translateY(5px);transition:opacity 200ms var(--ease-out),transform 260ms var(--ease-drawer),border-color 160ms ease,background-color 160ms ease}
.merchant-lab[data-phase=results] .lab-result{opacity:1;transform:translateY(0)}
.merchant-lab[data-phase=results] .lab-result:nth-child(2){transition-delay:40ms}
.merchant-lab[data-phase=results] .lab-result:nth-child(3){transition-delay:80ms}
.merchant-lab[data-phase=select] .lab-result:first-child{opacity:1;transform:scale(1.008)}
.merchant-lab[data-phase=select] .lab-result:not(:first-child){opacity:.35;transform:translateY(2px)}
.lab-canvas>.lab-store{transition:opacity 240ms var(--ease-out),transform 300ms var(--ease-drawer),border-color 180ms ease}
.merchant-lab[data-step=search] .lab-store{transform:translateY(-4px) scale(.985)}
.merchant-lab[data-step=store] .lab-photo>img{transform:none}
.lab-photo>img{transition:opacity 280ms var(--ease-drawer)}
.merchant-lab[data-step=contact] .lab-photo>img{opacity:.28}
.lab-conversation{transform:translateY(4px);background:linear-gradient(180deg,#092F3740,#092F37A0);transition:opacity 280ms var(--ease-drawer),transform 280ms var(--ease-drawer)}
.lab-match{transition:opacity 160ms var(--ease-out);transform:none!important}
.merchant-lab[data-phase=aim] .lab-click-pointer,.merchant-lab[data-phase=press] .lab-click-pointer{opacity:1;transform:translate(0,0)}
.lab-click-pointer{transform:translate(5px,5px);transition:transform 200ms var(--ease-drawer),opacity 160ms var(--ease-out)}
.lab-contact-preview{transition:transform 140ms var(--ease-out),background-color 160ms ease;box-shadow:none!important}
.merchant-lab[data-phase=press] .lab-contact-preview{transform:scale(.985);background:#95E9DD}
.merchant-lab[data-phase=release] .lab-contact-preview{transform:scale(1)}
.merchant-lab[data-step=store] .lab-store{box-shadow:none;border-color:#86B6B1}
.lab-store .lab-store-caption{grid-template-columns:minmax(0,1fr) 146px;gap:12px}
.lab-store-caption .lab-contact-preview{width:146px;min-height:44px;line-height:1.2;font-size:12px;padding:12px 14px;gap:10px;white-space:nowrap;text-align:center}
.lab-store-caption .lab-contact-preview>svg{width:15px;height:15px}
@media(min-width:481px) and (max-width:1000px){.lab-store .lab-store-caption{min-height:110px;grid-template-columns:minmax(0,1fr) 136px}.lab-store-caption .lab-contact-preview{width:136px;padding-inline:11px;gap:7px}}
@media(max-width:480px){.lab-store .lab-store-caption{grid-template-columns:minmax(0,1fr);gap:12px;min-height:126px;padding:14px}.lab-store-caption .lab-contact-preview{justify-self:start}}
@media(prefers-reduced-motion:reduce){.lab-result,.lab-results,.lab-canvas>.lab-store,.lab-conversation,.lab-click-pointer{transform:none!important}}

/* A short reading beat after the query, then one complete reveal at a time. */
.merchant-lab[data-phase=results] .lab-result{transition-duration:280ms,280ms,160ms,160ms;transition-delay:0ms}
.merchant-lab[data-phase=results] .lab-result:nth-child(2){transition-delay:280ms}
.merchant-lab[data-phase=results] .lab-result:nth-child(3){transition-delay:560ms}
/* Step player: readable stage caption, compact markers and one pause control. */
.lab-player{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:16px auto 0}
.lab-player .lab-navigation{display:flex;flex:0 1 auto;min-width:0;gap:0;margin:0;padding:3px 7px;border-radius:999px;background:#071F2866}
.lab-player .lab-navigation button{flex:0 1 58px;min-width:44px;min-height:44px;padding:8px 5px;display:grid;place-items:center}
.lab-player .lab-navigation button>.lab-step-track{position:relative;display:block;width:46px;max-width:100%;height:9px;border-radius:999px;background:#73959350;clip-path:inset(0 calc(50% - 4.5px) round 999px);opacity:1;overflow:hidden;transition:clip-path 240ms var(--ease-drawer),background-color 150ms ease}
.lab-step-fill{display:block;width:100%;height:100%;border-radius:inherit;transform:scaleX(0);transform-origin:left center;background:#6FE6DF;opacity:0}
.lab-player .lab-navigation button[data-player-state=current]>.lab-step-track{clip-path:inset(0 round 999px)}
.lab-navigation button[data-player-state=current] .lab-step-fill{opacity:1}
.lab-player .lab-navigation button[data-player-state=done]>.lab-step-track{background:#6FE6DF}
.lab-player .lab-next{display:flex;align-items:center;justify-content:center;gap:0;flex:0 0 44px;width:44px;min-height:44px;height:44px;padding:0;border:1px solid #638C8D80;border-radius:50%;background:#6FE6DF0C}
.lab-player .lab-next>svg{width:20px;height:20px}
.lab-player .lab-next:hover>svg{transform:none}
.lab-player-caption{margin-top:10px;color:#B7D2D2;font-size:12px;line-height:1.4;text-align:center}
@media(prefers-reduced-motion:reduce){.lab-player .lab-step-track{transition:none!important}}


/* WhatsApp-style message -> reaction picker -> emoji flight -> attached reaction. */
.lab-photo{aspect-ratio:auto;height:240px;min-width:0;width:100%}
.lab-conversation{background:#0B2529F2}
.lab-chat-icon{left:18px;right:auto;top:13px;display:flex;align-items:center;gap:6px;color:#A7E7CC;font:600 11px/1.2 Figtree,Arial,sans-serif}
.lab-chat-icon svg{width:17px;height:17px}
.lab-conversation .lab-message{margin:32px 0 20px;max-width:100%;width:100%;padding:12px 14px;border-radius:3px 12px 12px 12px;background:#D9F0E5;color:#092D2C;box-shadow:0 2px 8px #0002;isolation:isolate}
.lab-message:before{content:'';position:absolute;left:-6px;top:0;border-top:8px solid #D9F0E5;border-left:7px solid transparent}
.lab-message>.lab-reaction-picker{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;gap:2px;padding:8px;border-radius:999px;background:#213F43;box-shadow:0 4px 16px #0003;opacity:0;visibility:hidden;z-index:2}
.lab-reaction-picker>span{font:24px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;display:grid;place-items:center;width:30px;min-width:0;flex:1;height:32px}
.lab-message>.lab-reaction{position:absolute;left:12px;bottom:-17px;display:grid;place-items:center;width:36px;height:29px;border:2px solid #0B2529;border-radius:999px;background:#244A4C;box-shadow:0 2px 5px #0002;opacity:0;pointer-events:none}
.lab-reaction>span{font:18px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.lab-message>.lab-reaction-fly{position:absolute;left:var(--reaction-start-x,calc(100% - 38px));top:var(--reaction-start-y,calc(50% - 16px));width:30px;height:32px;display:grid;place-items:center;font:24px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;opacity:0;z-index:4;pointer-events:none;transform:none}
.merchant-lab[data-step=contact][data-reaction] .lab-message-typed{animation:reaction-message 2000ms var(--ease-out) 1000ms both}
.merchant-lab[data-step=contact][data-reaction] .lab-reaction-picker{animation:reaction-picker 2000ms var(--ease-out) 1000ms both}
.merchant-lab[data-step=contact][data-reaction] [data-reaction-choice]{animation:reaction-choice 2000ms var(--ease-out) 1000ms both}
.merchant-lab[data-step=contact][data-reaction] .lab-reaction-fly{animation:reaction-flight 2000ms var(--ease-out) 1000ms both}
.merchant-lab[data-step=contact][data-reaction] .lab-reaction{animation:reaction-land 2000ms var(--ease-out) 1000ms both}
@keyframes reaction-message{0%{opacity:1;transform:translateY(0)}12%,52%{opacity:0;transform:translateY(2px)}68%,100%{opacity:1;transform:translateY(0)}}
@keyframes reaction-picker{0%{opacity:0;visibility:hidden;transform:scale(.94)}18%,52%{opacity:1;visibility:visible;transform:scale(1)}64%,100%{opacity:0;visibility:hidden;transform:scale(.97)}}
@keyframes reaction-choice{0%,34%{transform:scale(1);opacity:1}44%,49%{transform:scale(1.16);opacity:1}50%,100%{opacity:0}}
@keyframes reaction-flight{0%,49%{opacity:0;transform:translate(0,0) scale(1.16)}50%{opacity:1;transform:translate(0,0) scale(1.16)}66%{opacity:1;transform:translate(var(--reaction-mid-x),var(--reaction-mid-y)) scale(.96)}84%{opacity:1;transform:translate(var(--reaction-flight-x),var(--reaction-flight-y)) scale(.75)}85%,100%{opacity:0;transform:translate(var(--reaction-flight-x),var(--reaction-flight-y)) scale(.75)}}
@keyframes reaction-land{0%,76%{opacity:0;transform:scale(.94)}84%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes reaction-receive{0%,84%{opacity:0}85%,100%{opacity:1}}
.lab-reaction-picker>span:not([data-reaction-choice]){transform-origin:center}
.merchant-lab[data-step=contact][data-reaction] .lab-reaction-picker>span:not([data-reaction-choice]){animation:reaction-options 2000ms var(--ease-out) 1000ms both}
@keyframes reaction-options{0%,5%{opacity:0;transform:translateY(5px) scale(.94)}23%,52%{opacity:1;transform:none}64%,100%{opacity:0;transform:none}}
.merchant-lab[data-step=contact][data-reaction] .lab-reaction>span{animation:reaction-receive 2000ms linear 1000ms both}
.merchant-lab[data-instant][data-reaction] :is(.lab-message-typed,.lab-reaction){animation:none!important;opacity:1}
.merchant-lab[data-instant] :is(.lab-reaction-picker,.lab-reaction-fly){animation:none!important;opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.merchant-lab[data-reaction] :is(.lab-message-typed,.lab-reaction){animation:none!important;opacity:1}.lab-reaction-picker,.lab-reaction-fly{animation:none!important;opacity:0!important;visibility:hidden!important}}

.merchant-lab[data-step=contact][data-reaction] .lab-message{animation:reaction-bubble 2000ms var(--ease-out) 1000ms both}
.merchant-lab[data-step=contact][data-reaction] .lab-message:before{animation:reaction-message 2000ms var(--ease-out) 1000ms both}
@keyframes reaction-bubble{0%{border-radius:3px 12px 12px 12px;background:#D9F0E5}18%,52%{border-radius:999px;background:#213F43}68%,100%{border-radius:3px 12px 12px 12px;background:#D9F0E5}}
.merchant-lab[data-instant] .lab-message,.merchant-lab[data-instant] .lab-message:before{animation:none!important}
@media(prefers-reduced-motion:reduce){.lab-message,.lab-message:before{animation:none!important}}

@media(max-width:390px){.lab-reaction-picker>span{font-size:20px}}

.merchant-lab[data-instant][data-reaction] .lab-reaction>span{animation:none!important;opacity:1}
.merchant-lab[data-instant] .lab-reaction-picker>span{animation:none!important}
@media(prefers-reduced-motion:reduce){.lab-reaction>span,.lab-reaction-picker>span{animation:none!important;opacity:1}}

/* Compact player surfaces, with 44px interaction areas preserved. */
.lab-player{gap:6px;margin:14px auto 0}
.lab-player .lab-navigation{position:relative;flex:none;padding:0 5px;border:0;background:none;isolation:isolate}
.lab-player .lab-navigation::before{content:'';position:absolute;inset:4px 0;border:1px solid #638C8D66;border-radius:999px;background:#071F2866;z-index:-1}
.lab-player .lab-navigation button{flex:0 0 44px;width:44px;padding:8px 5px}
.lab-player .lab-navigation button>.lab-step-track{width:34px;height:7px;clip-path:inset(0 calc(50% - 3.5px) round 999px)}
.lab-player .lab-navigation button[data-player-state=current]>.lab-step-track{clip-path:inset(0 round 999px)}
.lab-player .lab-next{position:relative;border:0;background:none;isolation:isolate}
.lab-player .lab-next::before{content:'';position:absolute;inset:4px;border:1px solid #638C8D80;border-radius:50%;background:#6FE6DF0C;z-index:-1}
.lab-player .lab-next>svg{width:16px;height:16px}
.lab-player-caption{margin-top:4px;font-size:11px}
