/* Viewports use the supplied artwork unchanged, without its presentation captions. */
.signal-wordmark{display:inline-block;width:126px;height:39px;background:url('/brand/signal-curious-v1.png') 85.47% 49.46% / 256% 553.51% no-repeat;mix-blend-mode:multiply;flex:none}
.signal-cat{position:relative;display:inline-block!important;width:40px;height:42px;flex:none;vertical-align:middle;mix-blend-mode:multiply}
.signal-cat-face{position:absolute;inset:0;transform-origin:50% 80%}
.signal-cat-art{position:absolute;inset:0;background:url('/brand/signal-curious-v1.png') 14.53% 47.04% / 353.10% 227.56% no-repeat}
.signal-cat-smile{background-image:url('/brand/signal-smile-v1.png');opacity:0}
.signal-wordmark,.signal-cat-art{filter:grayscale(1) contrast(1.15)}
.signal-cat-lid{position:absolute;top:49.5%;width:10%;height:10%;border-radius:50%;background:#171715;transform:scaleY(0)}
.signal-cat-lid.left{left:30.5%}.signal-cat-lid.right{left:62.5%}
.signal-cat-dots{position:absolute;display:none;right:-16px;top:0;gap:3px}
.signal-cat-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:cat-thought-dot 1.2s ease-in-out infinite}
.signal-cat-dots i:nth-child(2){animation-delay:.15s}.signal-cat-dots i:nth-child(3){animation-delay:.3s}
.signal-cat[data-cat-state="idle"] .signal-cat-face{animation:cat-look 7s steps(1,end) infinite}
.signal-cat[data-cat-state="idle"] .signal-cat-smile{animation:cat-smile 7s steps(1,end) infinite}
.signal-cat[data-cat-state="idle"] .signal-cat-lid{animation:cat-blink 7s steps(1,end) infinite}
.signal-cat[data-cat-state="thinking"] .signal-cat-face{animation:cat-think 1.8s steps(3,end) infinite}
.signal-cat[data-cat-state="thinking"] .signal-cat-lid{animation:cat-blink 6s steps(1,end) infinite}
.signal-cat[data-cat-state="thinking"] .signal-cat-dots{display:flex}
.product-mark .signal-cat{width:36px;height:38px}
.guide-chat .signal-cat{width:28px;height:29px;pointer-events:none}
.button-led-production .guide-chat .signal-cat-face,.button-led-production .guide-chat .signal-cat-art,.button-led-production .guide-chat .signal-cat-lid{display:block}
.button-led-production .guide-chat .signal-cat[data-cat-state="thinking"] .signal-cat-dots{display:flex}
.cat-thinking>.signal-cat{width:52px;height:54px;margin-right:16px}
.cat-thinking{justify-content:center}
.cat-thinking-copy{min-width:0!important}
.cat-thinking-copy span{max-width:340px}
.client-cat-greeting{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 18px;font-size:13px;color:#74746e}
.client-cat-status{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0;font-size:13px}
.wordmark.signal-wordmark{font-size:0;line-height:0}
@keyframes cat-look{0%,22%,60%,100%{transform:rotate(0)}30%,42%{transform:translateX(1px) rotate(-5deg)}68%,78%{transform:rotate(4deg)}}
@keyframes cat-smile{0%,76%,100%{opacity:0}55%{opacity:1}}
@keyframes cat-blink{0%,16.5%,39.5%,100%{transform:scaleY(0)}15%,38%{transform:scaleY(1)}}
@keyframes cat-think{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(5deg)}}
@keyframes cat-thought-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.cat-motion-paused .signal-cat *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.signal-cat *{animation:none!important}.signal-cat-dots i{opacity:.5}}
/* Icon-only actions share one geometry. Text actions retain their pill shape. */
button.signal-icon-button{box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;flex-shrink:0;border-radius:50%!important;padding:0!important;display:inline-flex;align-items:center!important;justify-content:center!important;gap:0;line-height:1!important;text-align:center;vertical-align:middle}
button.signal-icon-button>svg{display:block;width:20px!important;height:20px!important;flex:0 0 20px;margin:0!important;pointer-events:none}
button.signal-icon-button>[data-centered-symbol]{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signal-symbol-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
button.signal-icon-button[hidden]{display:none!important}
button.signal-icon-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
