@charset "UTF-8";
/* Speech controls stay in normal flow unless the page opts into the companion wrapper. */
.xb-speech{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:100%;color:#eee7fb;font-family:var(--companion-interface,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif);font-size:13px;line-height:1.45;vertical-align:middle;}
.xb-speech-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;}
.xb-speech button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;max-width:100%;padding:9px 13px;border:1px solid #ac8ad85e;border-radius:13px;background:#241c36;color:#efe4ff;font:inherit;font-weight:500;line-height:1.3;cursor:pointer;touch-action:manipulation;transition:background .16s,border-color .16s;}
.xb-speech button:hover:not(:disabled){background:#302442;border-color:#d9bd83;}
.xb-speech button:focus-visible{outline:2px solid #f0d49c;outline-offset:4px;}
.xb-speech button:disabled{cursor:default;color:#b4a7c4;border-color:#a18db82e;background:#211d2a;}
.xb-speech .xb-speech-stop{background:transparent;color:#e8cd97;border-color:#ddbd7f57;}
.xb-speech svg{display:block;flex-shrink:0;width:20px;height:20px;}
.xb-speech-icon{display:inline-flex;flex-shrink:0;color:#e7c98d;}
.xb-speech-label{overflow-wrap:anywhere;}
.xb-speech-caption{color:#b9aaca;font-size:11px;letter-spacing:.02em;}
.xb-speech-status{display:block;max-width:30em;color:#d7c5ea;font-size:12px;overflow-wrap:anywhere;}
.xb-speech-status:empty{display:none;}
.xb-speech[data-xb-speaking="true"] .xb-speech-toggle{background:#352647;border-color:#e5c98e;color:#fff4db;}
.xb-speech [hidden]{display:none!important;}
.xb-speech--compact button{padding-inline:10px;border-radius:12px;}
.xb-speech--compact .xb-speech-controls{gap:6px;}
.xb-speech--compact .xb-speech-stop>span{display:none;}
.xb-speech--companion{position:absolute;top:-86px;left:196px;right:auto;z-index:3;width:168px;max-width:calc(100% - 218px);}
.xb-speech--companion .xb-speech{width:100%;}
.xb-speech--companion .xb-speech-controls{flex-wrap:wrap;}
.xb-speech--companion .xb-speech-toggle{min-width:0;padding-inline:8px;gap:5px;}
.xb-speech--companion .xb-speech-stop{flex:0 0 44px;padding:9px;}
.xb-speech--companion .xb-speech-label{white-space:nowrap;}
/* Dynamic announcements remain available to assistive technology without
   increasing the companion's height into the form or its label. */
.xb-speech--companion .xb-speech-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;}
@media(max-width:650px){
 .xb-speech--companion{left:146px;right:14px;width:auto;min-width:0;max-width:none;}
 .xb-speech--companion .xb-speech{font-size:12px;}
}
@media(max-width:360px){
 .xb-speech--companion{left:132px;right:8px;width:auto;}
}
@media(prefers-reduced-motion:reduce){.xb-speech,.xb-speech *{animation:none!important;transition:none!important;}}
@media print{.xb-speech,.xb-speech--companion{display:none!important;}}
/* The only visible speech control is the floating companion. Anchors hold no text. */
.xb-speech-anchor,.xb-speech-inline:has(> .xb-speech-anchor),.xb-speech--companion:has(> .xb-speech-anchor){display:none!important;}

/* The persistent rate choice is presented in the floating companion's reading menu. */
.xb-floating-rates button:focus-visible{outline:2px solid #f0d49c;outline-offset:3px;}
