/* Mate AI Product Summary v1.7 — CSS-only typing, desktop + mobile. */
.mate-aps-card{margin:20px 0;padding:18px 20px;border:1px solid #e3e9e7;border-radius:12px;background:#f8fbf9;color:#24352c;line-height:1.65;box-sizing:border-box}
.mate-aps-title{font-weight:700;font-size:1.04em;margin-bottom:8px;color:#245a45}
.mate-aps-title span{color:#32866b;margin-right:6px}
.mate-aps-card p{margin:0 0 9px}
.mate-aps-card small{font-size:12px;line-height:1.5;color:#65746d;display:block}
.mate-aps-summary{overflow-wrap:anywhere;white-space:pre-wrap}
/* Real character-by-character reveal; JS, DOMContentLoaded and observers are unnecessary. */
.mate-aps-css-typing .mate-aps-word{white-space:nowrap}
.mate-aps-css-typing .mate-aps-character{
  font-size:0;opacity:0;visibility:hidden;
  animation:mate-aps-show-character .012s linear both;
  animation-delay:var(--mate-aps-char-delay,0ms);
}
@keyframes mate-aps-show-character{
  from{font-size:0;opacity:0;visibility:hidden}
  to{font-size:1em;opacity:1;visibility:visible}
}
.mate-aps-css-caret{
  display:inline-block;width:2px;height:1em;vertical-align:-.16em;
  margin-left:2px;background:currentColor;opacity:.85;
  animation:mate-aps-caret-blink .8s steps(1,end) infinite, mate-aps-caret-finish .012s linear both;
  animation-delay:0s,var(--mate-aps-type-end,0ms);
}
@keyframes mate-aps-caret-blink{50%{opacity:0}}
@keyframes mate-aps-caret-finish{to{visibility:hidden}}
/* Accessibility: people who have requested reduced motion get the text immediately. */
@media(prefers-reduced-motion:reduce){
  .mate-aps-css-typing .mate-aps-character{animation:none;opacity:1;visibility:visible;font-size:1em}
  .mate-aps-css-caret{display:none;animation:none}
}
