.speech-bubble{--speech-bubble-bg: var(--sl-color-green-50);--speech-bubble-border: var(--sl-color-green-200);--speech-bubble-text: var(--sl-color-neutral-900);--speech-bubble-shadow: var(--sl-color-green-200);--speech-bubble-controls-border: var(--sl-color-green-200);--speech-bubble-progress-bg: var(--sl-color-green-200);--speech-bubble-progress-fill: var(--sl-color-green-600);--speech-bubble-time: var(--sl-color-green-700);--speech-bubble-tail: var(--sl-color-green-50);position:relative;background:var(--speech-bubble-bg);border:1px solid var(--speech-bubble-border);border-radius:12px;padding:12px 16px;margin:8px 0;color:var(--speech-bubble-text);transition:box-shadow .3s ease,padding .2s ease;cursor:pointer}.speech-bubble--collapsed{padding:8px 12px}.speech-bubble--collapsed .speech-bubble__audio-controls{border-top:none;padding-top:0}.speech-bubble--playing{box-shadow:0 0 12px 2px var(--speech-bubble-shadow)}.speech-bubble--compact{padding:8px 12px}.speech-bubble__content{margin-bottom:12px}.speech-bubble__content p{margin:0}.speech-bubble__content,.speech-bubble__content p{color:inherit!important}.speech-bubble__content>*:first-child{margin-top:0}.speech-bubble__content>*:last-child{margin-bottom:0}.speech-bubble__audio-controls{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--speech-bubble-controls-border)}.speech-bubble__progress-bar{flex:1;height:6px;background:var(--speech-bubble-progress-bg);border-radius:3px;cursor:pointer;overflow:hidden;transition:height .15s ease}.speech-bubble__progress-bar:hover{height:8px}.speech-bubble__progress-fill{height:100%;background:var(--speech-bubble-progress-fill);border-radius:3px;transition:width .1s linear}.speech-bubble__time{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--speech-bubble-time);white-space:nowrap;min-width:70px;text-align:center}.speech-bubble__speed-select{width:70px}.speech-bubble__speed-select::part(combobox){font-size:.75rem;min-height:28px;padding:0 8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.speech-bubble__tail{position:absolute;left:20px;bottom:-8px;border-width:8px 8px 0;border-style:solid;border-color:var(--speech-bubble-tail) transparent transparent}html.sl-theme-dark .speech-bubble,.sl-theme-dark .speech-bubble{--speech-bubble-bg: var(--sl-color-green-900);--speech-bubble-border: var(--sl-color-green-700);--speech-bubble-text: var(--sl-color-green-100);--speech-bubble-shadow: var(--sl-color-green-700);--speech-bubble-controls-border: var(--sl-color-green-700);--speech-bubble-progress-bg: var(--sl-color-green-700);--speech-bubble-progress-fill: var(--sl-color-green-400);--speech-bubble-time: var(--sl-color-green-300);--speech-bubble-tail: var(--sl-color-green-900)}.notification-viewport{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:9999;display:flex;flex-direction:column;width:min(24rem,calc(100vw - 1.5rem));pointer-events:none}.notification-viewport-cms-undo{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 5.5rem);z-index:10000}.notification-slot{overflow:hidden;max-height:16rem;margin-bottom:.75rem;opacity:1;transition:max-height .22s ease,margin-bottom .22s ease,opacity .18s ease}.notification-slot:last-child{margin-bottom:0}.notification-slot.is-closing{max-height:0;margin-bottom:0;opacity:0;transition-delay:90ms,90ms,0ms}.notification-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sl-spacing-small);align-items:start;padding:.875rem .95rem;border-radius:var(--sl-border-radius-large);border:1px solid var(--sl-color-neutral-200);background:linear-gradient(180deg,color-mix(in srgb,var(--notification-accent) 6%,var(--sl-color-neutral-0)) 0%,var(--sl-color-neutral-0) 100%);box-shadow:var(--sl-shadow-medium);color:var(--sl-color-neutral-900);pointer-events:auto;overflow:hidden;backdrop-filter:blur(14px);animation:notification-enter .18s ease-out both;transform-origin:center bottom;will-change:opacity,transform}.notification-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--notification-accent)}.notification-card.is-closing{animation:notification-exit .22s ease-in both;pointer-events:none}.notification-card.is-inline{width:100%;box-shadow:var(--sl-shadow-small)}.notification-card.is-action{background:linear-gradient(180deg,color-mix(in srgb,var(--notification-accent) 8%,var(--sl-color-neutral-0)) 0%,var(--sl-color-neutral-0) 100%)}.notification-card[data-tone=success]{--notification-accent: var(--sl-color-success-600)}.notification-card[data-tone=info]{--notification-accent: var(--sl-color-primary-600)}.notification-card[data-tone=warning]{--notification-accent: var(--sl-color-warning-600)}.notification-card[data-tone=error]{--notification-accent: var(--sl-color-danger-600)}.notification-card[data-tone=neutral]{--notification-accent: var(--sl-color-neutral-500)}.notification-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:color-mix(in srgb,var(--notification-accent) 12%,var(--sl-color-neutral-0));color:var(--notification-accent);margin-top:.1rem}.notification-body{min-width:0}.notification-title{display:block;margin:0 0 .2rem;font-size:var(--sl-font-size-small);font-weight:var(--sl-font-weight-semibold);line-height:1.25}.notification-message{margin:0;color:var(--sl-color-neutral-700);font-size:var(--sl-font-size-small);line-height:1.45;overflow-wrap:anywhere}.notification-actions{display:flex;align-items:center;gap:.5rem;margin-top:.65rem}.notification-action{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .7rem;border-radius:var(--sl-border-radius-medium);border:1px solid color-mix(in srgb,var(--notification-accent) 25%,var(--sl-color-neutral-200));background:color-mix(in srgb,var(--notification-accent) 10%,var(--sl-color-neutral-0));color:var(--sl-color-neutral-900);font-size:.8rem;font-weight:var(--sl-font-weight-semibold);cursor:pointer;transition:background .12s ease,border-color .12s ease}.notification-action:hover{background:color-mix(in srgb,var(--notification-accent) 15%,var(--sl-color-neutral-0));border-color:color-mix(in srgb,var(--notification-accent) 40%,var(--sl-color-neutral-200))}.notification-action:disabled{opacity:.45;cursor:not-allowed}.notification-action.secondary{background:transparent;border-color:var(--sl-color-neutral-200);color:var(--sl-color-neutral-700)}.notification-dismiss{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:999px;background:transparent;color:var(--sl-color-neutral-500);cursor:pointer;transition:background .12s ease,color .12s ease}.notification-dismiss:hover{background:var(--sl-color-neutral-100);color:var(--sl-color-neutral-700)}.notification-dismiss:focus-visible,.notification-action:focus-visible{outline:2px solid var(--sl-color-primary-600);outline-offset:2px}.inline-notice{width:100%}@keyframes notification-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes notification-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media(max-width:767px){.notification-viewport{left:50%;right:auto;transform:translate(-50%);width:min(24rem,calc(100vw - 1rem))}.notification-viewport-cms-undo{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 6rem)}}@media(prefers-reduced-motion:reduce){.notification-slot,.notification-slot.is-closing{transition:none}.notification-card,.notification-card.is-closing{animation:none}}
