.ap{--ap-size:48px;--ap-bright:var(--color-ceu);--ap-shadow:var(--color-ceu-shadow);--ap-on:var(--color-on-ceu);--ap-soft-shadow:var(--color-profundo-soft-shadow);--ap-glow:#00000029;vertical-align:middle;align-items:center;gap:10px;max-width:100%;display:inline-flex}.ap.sm{--ap-size:44px}.ap.lg{--ap-size:92px}.ap-btn{width:var(--ap-size);height:var(--ap-size);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-ink-soft);cursor:pointer;box-shadow:0 3px 0 var(--ap-soft-shadow);transition:background var(--t-fast) var(--e-std), color var(--t-fast), transform var(--t-press) var(--e-std), box-shadow var(--t-press);border:0;flex:none;place-items:center;padding:0;display:grid;position:relative}.ap-btn:hover{filter:brightness(.98)}.ap-btn:active{box-shadow:none;transform:translateY(3px)}.ap-btn:focus-visible{outline:3px solid var(--ap-bright);outline-offset:3px}.ap-btn .ic{width:22px;height:22px}.ap.lg .ap-btn{background:var(--ap-bright);color:var(--ap-on);box-shadow:0 6px 0 var(--ap-shadow), 0 10px 22px var(--ap-glow);border-radius:var(--radius-xl)}.ap.lg .ap-btn:active{box-shadow:none;transform:translateY(6px)}.ap.lg .ap-btn .ic{stroke-width:1.5px;width:40px;height:40px}.ap-btn>.ic,.ap-btn>.ap-spin{display:none}.ap[data-state=idle] .ap-i-idle,.ap[data-state=loading] .ap-spin,.ap[data-state=playing] .ap-i-playing,.ap[data-state=paused] .ap-i-paused,.ap[data-state=error] .ap-i-error{display:block}.ap-spin{border:3px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite ap-turn}.ap.lg .ap-spin{border-width:4px;width:38px;height:38px}@keyframes ap-turn{to{transform:rotate(360deg)}}.ap[data-state=playing] .ap-btn{background:var(--ap-bright);color:var(--ap-on);box-shadow:0 3px 0 var(--ap-shadow)}.ap.lg[data-state=playing] .ap-btn{box-shadow:0 6px 0 var(--ap-shadow), 0 10px 22px var(--ap-glow)}.ap[data-state=playing] .ap-btn:after{content:"";border-radius:inherit;box-shadow:0 0 0 0 color-mix(in srgb, var(--ap-bright) 55%, transparent);animation:ap-halo 1.4s var(--e-out) infinite;pointer-events:none;position:absolute;inset:0}@keyframes ap-halo{to{box-shadow:0 0 0 10px #0000}}.ap[data-state=paused] .ap-btn{background:var(--primary-soft);box-shadow:0 3px 0 var(--ap-soft-shadow), inset 0 0 0 2px var(--ap-bright)}.ap.lg[data-state=paused] .ap-btn{background:var(--ap-bright);box-shadow:0 6px 0 var(--ap-shadow), inset 0 0 0 4px var(--primary-soft)}.ap[data-state=error] .ap-btn{background:var(--surface-2);color:var(--ink-3);box-shadow:0 3px 0 var(--border);cursor:not-allowed}.ap.lg[data-state=error] .ap-btn{box-shadow:0 6px 0 var(--border)}.ap[data-state=error] .ap-btn:active{transform:none}.ap-msg{min-width:0;color:var(--warning-text);align-items:flex-start;gap:6px;font-size:13px;font-weight:600;line-height:1.35;display:none}.ap-msg .ic{flex:none;width:16px;height:16px;margin-top:1px}.ap[data-state=error] .ap-msg{display:flex}.ap[data-state=error]:not(.lg),.ap[data-wait]:not(.lg){flex-direction:column;gap:4px}.ap[data-state=error]:not(.lg) .ap-msg{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:2px;max-width:88px;font-size:12px;line-height:1.25}.ap[data-state=error]:not(.lg) .ap-msg .ic{margin-top:0}.ap-wait{min-width:0;color:var(--ink-2);font-size:13px;font-weight:600;line-height:1.3;display:none}.ap[data-wait] .ap-wait{display:block}.ap[data-wait]:not(.lg) .ap-wait{text-align:center;overflow-wrap:anywhere;max-width:88px;font-size:12px;line-height:1.25}.ap-w{border-radius:var(--radius-xs);transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast)}.ap-w:not(.hi-new):not(.learned){margin:0 -2px;padding:0 2px}.ap-w.is-on,.ap-w.is-on.hi-new,.ap-w.is-on.learned{background:var(--color-ceu);color:var(--color-on-ceu);box-shadow:0 0 0 1px var(--color-ceu)}.ap-text{font-family:var(--f-read);color:var(--ink)}.ap-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.ap-spin{animation-duration:2.4s}.ap[data-state=playing] .ap-btn:after{animation:none}}.ap-line{align-items:center;gap:12px;display:flex}.ap-line .ap-text{flex:1;min-width:0}.cb-model.ap-unit{justify-content:center;align-items:center;gap:12px;display:flex}.sent-ap{align-items:center;gap:12px;display:flex}.rec-play{font:600 12px/1.2 var(--f-ui);color:var(--ink-3);justify-items:center;gap:2px;display:grid}
