.wd-widget {--wd-text:#fff;color:var(--wd-text);max-width:100%;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wd-widget .card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-sizing:border-box}
.wd-widget .orb{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;position:relative;cursor:pointer;background-color:var(--accent);background-image:radial-gradient(circle at 32% 28%,var(--accent),#34407f 72%);background-repeat:no-repeat;border:var(--wd-border) solid var(--wd-border-color);border-radius:50%;font-size:var(--wd-font);color:var(--wd-text);max-width:100%}
.wd-widget .orb-label{color:var(--wd-text);font-size:var(--wd-font);overflow-wrap:anywhere;max-width:100%;padding:0 10px}
.wd-widget .wd-icon{font-size:24px;line-height:1.4;pointer-events:none}
.wd-widget .orb::after{border-radius:inherit}
.wd-widget[data-shape=square] .orb{border-radius:0}
.wd-widget[data-shape=rounded] .orb{border-radius:var(--wd-radius)}
.wd-widget[data-shape=pill] .orb{border-radius:999px;flex-direction:row;gap:6px}
.wd-widget[data-shape=diamond] .orb{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.wd-widget[data-shape=hexagon] .orb{border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.wd-widget[data-shape=hexagon] .orb,.wd-widget[data-shape=diamond] .orb{border:0}
.wd-widget .wd-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wd-widget[data-shape=blob] .orb{border-radius:35% 65% 62% 38% / 55% 40% 60% 45%}
.wd-widget[data-shape=image] .orb.has-avatar{border-radius:var(--wd-radius);background-color:transparent}
.wd-widget[data-shadow=none] .orb{box-shadow:none}
.wd-widget[data-shadow=soft] .orb{box-shadow:0 8px 24px rgb(0 0 0 / var(--wd-shadow-opacity))}
.wd-widget[data-shadow=glow] .orb{box-shadow:0 12px 36px color-mix(in srgb,var(--accent) 45%,transparent)}
.wd-widget[data-animation=none] .orb{animation:none!important}
.wd-widget[data-surface=card] .card{padding:20px;border-radius:24px;background:var(--wd-surface);box-shadow:0 12px 36px rgb(0 0 0 / var(--wd-shadow-opacity))}
.wd-widget .call-btn{border:0;border-radius:14px;padding:12px 24px;background:var(--accent);color:var(--wd-text);font:600 var(--wd-font) system-ui;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.wd-widget .call-btn.active{background:#b5324f}
.wd-widget .hint,.wd-widget .status{color:var(--wd-text);opacity:.75}
.wd-widget h1{font-size:18px;margin:0;overflow-wrap:anywhere;max-width:100%}
.wd-widget .hint{font-size:12px;margin:0;overflow-wrap:anywhere;max-width:100%}
.wd-widget .orb:focus-visible,.wd-widget .call-btn:focus-visible{outline:3px solid var(--wd-text);outline-offset:5px}
.wd-widget .orb-label,.wd-widget .wprev-orb [data-wprev-orblabel]{color:var(--wd-text);font-size:var(--wd-font)}
.wd-widget .orb[data-state=listening]{outline:2px solid var(--accent);outline-offset:5px}
.wd-widget[data-animation=pulse] .orb[data-state=connecting],.wd-widget[data-animation=pulse] .orb[data-state=speaking]{animation:wd-breathe 1s ease-in-out infinite}
@keyframes wd-breathe{50%{opacity:.68}}
.wd-widget .card{flex-shrink:0;overflow-wrap:anywhere}
.wd-widget .transcript{width:100%;box-sizing:border-box;max-height:180px}
.wd-widget.pos-bottom-right{right:var(--wd-offset);bottom:var(--wd-offset)}
.wd-widget.pos-bottom-left{left:var(--wd-offset);bottom:var(--wd-offset)}
.wd-widget.pos-top-right{right:var(--wd-offset);top:var(--wd-offset)}
.wd-widget.pos-top-left{left:var(--wd-offset);top:var(--wd-offset)}
@media(prefers-reduced-motion:reduce){.wd-widget .orb{animation:none!important;transition:none!important}}

.wd-widget .wprev-title{font-size:18px;margin:0;color:var(--wd-text);overflow-wrap:anywhere;max-width:100%}
.wd-widget .wprev-sub,.wd-widget .wprev-status{font-size:12px;color:var(--wd-text);opacity:.75;margin:0;max-width:100%}

.wd-widget .wprev-transcript{font-size:12px;text-align:left;padding:10px;border:1px solid #ffffff22;border-radius:10px;color:var(--wd-text)}

.wd-widget[data-animation=pulse] .orb[data-state=speaking]{background-color:var(--wd-speaking);transform:scale(var(--wd-speaking-size));}
