/* Small, useful gestures. Sabi's rounded speech mark carries into each icon. */
.service-glyph{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.service-glyph .glyph-frame{fill:#e9eddf}
.service-glyph .glyph-accent{fill:#cbdba9}
.service-icon{transition:background .25s,transform .3s}
.service-row:is(:hover,:focus-visible) .glyph-motion{animation:glyph-hello .55s ease both;transform-origin:center}
.service-row:is(:hover,:focus-visible) .service-icon{transform:rotate(-4deg)}
.service-row[hidden]{display:none}
.service-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 0 23px;border-bottom:1px solid var(--line)}
.service-filters[hidden]{display:none}
.service-filters button{min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:999px;background:transparent;color:#52654f;font:inherit;font-size:12px;transition:background .2s,color .2s,transform .2s}
.service-filters button:hover{background:#e8eddf}
.service-filters button[aria-pressed=true]{background:#1b4938;color:#fff}
#service-count{margin-left:auto;font-size:11px;color:#5a6c55;font-variant-numeric:tabular-nums}
.service-row:active,.channel-card:active,.chat-choices button:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #628148;outline-offset:4px}
.channel-card:is(:hover,:focus-visible) .channel-logo{animation:glyph-hello .55s ease both}
.chat-channel-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr}
.chat-channel-switch::before{content:"";position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);border-radius:10px;background:#f1f4e8;box-shadow:0 2px 7px #082b231a;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s;z-index:-1}
body[data-chat-theme=telegram] .chat-channel-switch::before{transform:translateX(100%);background:#e4f0f3}
.chat-channel-switch button,.chat-channel-switch button[aria-pressed=true]{background:transparent;box-shadow:none;min-height:44px}
.chat-channel-switch button:focus-visible{outline-offset:-3px}
.phone-input{transition:box-shadow .2s,background .2s}
.phone-input:focus-within{box-shadow:inset 0 0 0 2px #8ca780;background:#f5f8ee}
.phone-mic{transition:transform .2s,opacity .2s,background .2s}
.phone-mic:disabled{opacity:.38;cursor:default}
.phone-input.has-message .phone-mic:not(:disabled):hover{transform:translateY(-2px) rotate(-7deg)}
.chat-toolbar button:disabled{opacity:.4;cursor:default}
.chat-toolbar button{font-size:11px}
.chat-choices button{transition:background .18s,transform .18s}
.chat-choices button:disabled,.live-offer:disabled{cursor:default}
.receipt-list .chat-choices{display:grid;grid-template-columns:1fr}
.receipt-list .chat-choices button{text-align:left;white-space:pre-line;line-height:1.6;padding:12px;min-height:58px}
.pending-message{animation:none!important;display:flex;align-items:center;gap:10px}
.pending-message::before{display:none}
.thinking-dots{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}
.thinking-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:thinking-dot 1s ease-in-out infinite}
.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}
.plan-search:disabled{opacity:.5}
.hero-photo-controls [data-photo]{min-width:44px;min-height:44px}
#hero-photo-pause{min-width:44px;min-height:44px}
.demo-label,.sandbox-label{font-size:8px;letter-spacing:.8px}
.inline-chat-tools>span{font-size:10px;line-height:1.5}
.inline-chat-tools #expand-chat{font-size:11px}
.entry-label,.eyebrow,.tiny-label{font-size:9px}
.channel-card-detail,.hero-browser-option>span{font-size:11px}
.footer-links button,.back-top{min-height:44px}
.questions details[open]>p,.questions details[open]>.channel-setup{animation:answer-in .25s ease both}
.questions summary>span{transition:transform .2s}
.questions details[open] summary>span{transform:rotate(45deg)}
@keyframes glyph-hello{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px)}}
@keyframes thinking-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes answer-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.service-filters{gap:4px;padding-bottom:17px}.service-filters button{padding:9px 11px;font-size:11px}#service-count{width:100%;margin:5px 0 0}.demo-label,.sandbox-label{font-size:7px}.inline-chat-tools>span{max-width:145px;font-size:9px}.hero-photo-controls{gap:0}.service-glyph{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.service-glyph *,.thinking-dots i,.channel-logo,.questions details>*{animation:none!important}.chat-channel-switch::before{transition:none}}
.reduced-motion .service-glyph *,.reduced-motion .thinking-dots i,.reduced-motion .channel-logo,.reduced-motion .questions details>*{animation:none!important}
.reduced-motion .chat-channel-switch::before{transition:none}
