html,body,#root{background:0 0;height:100%;margin:0;overflow:hidden}body{color:#fff;cursor:default;-webkit-user-select:none;user-select:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget{width:100%;height:100%;position:relative}.widget__canvas{transform-origin:50%;background:0 0;position:absolute;top:50%;left:50%}.widget__canvas--blurred{filter:blur(56px)saturate(.35)brightness(.45);transition:filter 90ms linear}.widget__canvas--blurred:after{content:"";pointer-events:none;background:#0a0a0cdb;position:absolute;inset:-10%}.widget-layer{position:absolute}.widget-layer__video{width:100%;height:100%;display:block}.widget-layer__video--screen-capture,.widget-layer__video--window-capture{object-fit:contain}.widget-layer__video--webcam{object-fit:cover}.widget-layer__text{text-align:center;text-shadow:0 2px 8px #0009;justify-content:center;align-items:center;width:100%;height:100%;font-weight:500;display:flex}.widget-layer__image{width:100%;height:100%;display:block}.widget-layer__background{width:100%;height:100%}.widget-layer__placeholder{color:#ffffff80;background:#ffffff0f;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.widget__audio{width:0;height:0;position:absolute;overflow:hidden}.widget__status{color:#fff;background:#000000b8;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex;position:absolute;top:12px;left:12px}.widget__status-dot{background:#e0a400;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite widget-pulse}.widget__status--error .widget__status-dot{background:#ff4d4d;animation:none}@keyframes widget-pulse{50%{opacity:.3}}.layer-anim{position:absolute;inset:0}.layer-anim--in-fade,.layer-anim--in-rise,.layer-anim--in-zoom,.layer-anim--in-wipe,.layer-anim--out-fade,.layer-anim--out-rise,.layer-anim--out-zoom,.layer-anim--out-wipe{animation-duration:var(--anim-ms,.45s);animation-fill-mode:both}.layer-anim--in-fade{animation-name:layer-fade-in;animation-timing-function:ease-out}.layer-anim--out-fade{animation-name:layer-fade-out;animation-timing-function:ease-in}.layer-anim--in-rise{animation-name:layer-rise-in;animation-timing-function:cubic-bezier(.16,1,.3,1)}.layer-anim--out-rise{animation-name:layer-rise-out;animation-timing-function:cubic-bezier(.55,0,1,.45)}.layer-anim--in-zoom{animation-name:layer-zoom-in;animation-timing-function:cubic-bezier(.16,1,.3,1)}.layer-anim--out-zoom{animation-name:layer-zoom-out;animation-timing-function:cubic-bezier(.55,0,1,.45)}.layer-anim--in-wipe{animation-name:layer-wipe-in;animation-timing-function:cubic-bezier(.65,0,.35,1)}.layer-anim--out-wipe{animation-name:layer-wipe-out;animation-timing-function:cubic-bezier(.65,0,.35,1)}@keyframes layer-fade-in{0%{opacity:0}}@keyframes layer-fade-out{to{opacity:0}}@keyframes layer-rise-in{0%{opacity:0;transform:translateY(28px)}}@keyframes layer-rise-out{to{opacity:0;transform:translateY(-20px)}}@keyframes layer-zoom-in{0%{opacity:0;transform:scale(.92)}}@keyframes layer-zoom-out{to{opacity:0;transform:scale(.94)}}@keyframes layer-wipe-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes layer-wipe-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@media (prefers-reduced-motion:reduce){.layer-anim--in-fade,.layer-anim--in-rise,.layer-anim--in-zoom,.layer-anim--in-wipe,.layer-anim--out-fade,.layer-anim--out-rise,.layer-anim--out-zoom,.layer-anim--out-wipe{animation-duration:1ms}}.blur-area{pointer-events:none;background:#fff0;position:absolute}
