#cashtag-bubbles{--cb-ink:#edf5ef;--cb-muted:#91a096;--cb-accent:#64ff8a;--cb-depth:1;--cb-glow:1;max-width:1240px;margin:0 auto;background:#080b09;color:var(--cb-ink);font-family:'Avenir Next','Trebuchet MS',sans-serif;border:1px solid #26332a;border-radius:22px;overflow:hidden;isolation:isolate;color-scheme:dark}
#cashtag-bubbles *{box-sizing:border-box}
#cashtag-bubbles .cb-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px 24px}
#cashtag-bubbles .cb-eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--cb-muted)}
#cashtag-bubbles h1{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-1.3px;margin:7px 0 0}
#cashtag-bubbles h1 span{color:var(--cb-accent)}
#cashtag-bubbles .cb-status{font-size:10px;letter-spacing:.11em;color:#e8ce8b;white-space:nowrap;display:flex;align-items:center;gap:8px}
#cashtag-bubbles .cb-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
#cashtag-bubbles .cb-ocean{position:relative;height:clamp(380px,58vw,590px);background:radial-gradient(ellipse at 48% 48%,#112417 0%,#050b07 48%,#010302 84%);overflow:hidden;contain:layout paint}
#cashtag-bubbles .cb-grain{position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:radial-gradient(#81a18a .5px,transparent .5px);background-size:19px 19px;mask-image:radial-gradient(ellipse,#000,transparent 72%)}
#cashtag-bubbles .cb-bubble{position:absolute;left:0;top:0;will-change:transform,width,height;border-radius:50%;pointer-events:none;display:flex;align-items:center;justify-content:center;transform-origin:center;background:radial-gradient(circle at 31% 24%,#5dcd793d 0%,#124e2429 27%,#06160bdb 52%,#113d1e 76%,#30e35e 99%);border:1.5px solid #76ff99bd;box-shadow:inset -5px -7px 14px #1bff4f4d,inset 4px 3px 10px #b3ffc83b,0 0 18px #36ff6a26,0 18px 35px #0008}
#cashtag-bubbles .cb-bubble:before{content:'';position:absolute;inset:3%;border-radius:50%;background:radial-gradient(ellipse at 30% 16%,#e1ffe994,transparent 21%);opacity:calc(.60 * var(--cb-depth))}
#cashtag-bubbles .cb-bubble:after{content:'';position:absolute;inset:2%;border-radius:50%;border:1px solid transparent;border-top-color:#dcffe7a6;border-left-color:#b6ffc726;transform:rotate(-25deg);opacity:var(--cb-depth)}
#cashtag-bubbles .cb-label{position:relative;font-family:'Avenir Next Condensed','Avenir Next','Trebuchet MS',sans-serif;font-weight:600;letter-spacing:-.035em;text-shadow:0 2px 7px #0009;color:#f4fff6;white-space:nowrap;line-height:1;max-width:82%;overflow:hidden;text-overflow:ellipsis}
#cashtag-bubbles .cb-watermark{position:absolute;bottom:22px;left:26px;font-size:9px;letter-spacing:.22em;color:#718c78;pointer-events:none}
#cashtag-bubbles .cb-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;font-size:18px;color:#bfcec3;text-align:center;padding:24px}
#cashtag-bubbles .cb-empty[hidden]{display:none}
#cashtag-bubbles .cb-empty span{color:#718c78;font-size:13px;letter-spacing:.06em}
#cashtag-bubbles .cb-console{padding:22px 30px 14px;border-top:1px solid #1f2b23}
#cashtag-bubbles .cb-input-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px;gap:12px}
#cashtag-bubbles .cb-input-label span{color:var(--cb-muted)}
#cashtag-bubbles .cb-form{display:flex;gap:10px}
#cashtag-bubbles input{border:1px solid #34453a;min-width:0;flex:1;outline-offset:3px;border-radius:9px;background:#121a15;color:#edf5ef;padding:13px 15px;font:inherit;font-size:14px}
#cashtag-bubbles input::placeholder{color:#7e9285}
#cashtag-bubbles button{font:inherit;font-size:12px;font-weight:500;cursor:pointer;min-height:38px}
#cashtag-bubbles .cb-form button{display:flex;align-items:center;gap:22px;background:#a8f9b8;color:#092410;border:0;border-radius:9px;padding:12px 18px;font-weight:600;white-space:nowrap}
#cashtag-bubbles .cb-form button:hover{background:#cbffd6}
#cashtag-bubbles .cb-form button span{font-size:18px}
#cashtag-bubbles .cb-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
#cashtag-bubbles .cb-examples{display:flex;flex-wrap:wrap;gap:5px}
#cashtag-bubbles .cb-examples button{padding:6px 10px;border:1px solid #273b2d;border-radius:6px;background:transparent;color:#b7cbbd;min-height:31px;font-size:11px}
#cashtag-bubbles .cb-examples button:hover{background:#1b3021;border-color:#53775c}
#cashtag-bubbles .cb-pause{border:0;background:transparent;color:#b0c5b7;text-decoration:underline;text-underline-offset:4px;font-size:11px;white-space:nowrap;padding:6px 0}
#cashtag-bubbles .cb-feedback{color:#a8bcb0;font-size:11px;min-height:19px;padding-top:11px}
#cashtag-bubbles .cb-footer{padding:10px 30px 20px;display:flex;justify-content:space-between;gap:10px;color:#7f9787;font-size:10px}
#cashtag-bubbles .cb-audio{padding:10px 30px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#cashtag-bubbles .cb-sound-toggle{background:#16291c;border:1px solid #3e684a;border-radius:7px;padding:8px 12px;color:#edf5ef;min-height:40px}
#cashtag-bubbles .cb-sound-toggle[aria-pressed=true]{border-color:#94efaa;background:#264e32}
#cashtag-bubbles .cb-volume{display:flex;align-items:center;gap:9px;color:#c6d8cc;font-size:12px;max-width:100%}
#cashtag-bubbles .cb-volume input{width:140px;min-width:40px;padding:0;accent-color:#9eecb0;min-height:40px}
#cashtag-bubbles .cb-volume output{min-width:34px;font-variant-numeric:tabular-nums}
#cashtag-bubbles .cb-sound-feedback{font-size:11px;color:#b9c8dd}
#cashtag-bubbles .cb-sound-feedback:empty{display:none}
#cashtag-bubbles[data-overlay=true] .cb-audio{display:none}
#cashtag-bubbles[data-mode=live] .cb-console{display:none}
#cashtag-bubbles[data-mode=live][data-demo-controls=true]:not([data-overlay=true]) .cb-console{display:block}
#cashtag-bubbles[data-demo-controls=true] .cb-status{color:#efcc87}
#cashtag-bubbles[data-mode=live] .cb-status{color:#a8f9b8}
#cashtag-bubbles[data-mode=live][data-connected=false] .cb-status{color:#e8ce8b}
#cashtag-bubbles[data-overlay=true]{width:100vw;height:100vh;max-width:none;border:none;border-radius:0;background:transparent}
#cashtag-bubbles[data-overlay=true] .cb-header,#cashtag-bubbles[data-overlay=true] .cb-console,#cashtag-bubbles[data-overlay=true] .cb-footer,#cashtag-bubbles[data-overlay=true] .cb-watermark{display:none}
#cashtag-bubbles[data-overlay=true] .cb-ocean{height:100vh}
#cashtag-bubbles[data-greenscreen=true] .cb-ocean{background:#00ff00}
#cashtag-bubbles[data-greenscreen=true] .cb-grain,#cashtag-bubbles[data-greenscreen=true] .cb-watermark,#cashtag-bubbles[data-overlay=true] .cb-empty{display:none}
#cashtag-bubbles[data-greenscreen=true] .cb-bubble{background:radial-gradient(circle at 31% 24%,#397d49 0%,#164b26 27%,#041108 52%,#103d1d 76%,#24f35b 99%);border-color:#a4ffba;box-shadow:inset -5px -7px 17px #1bff4fb3,inset 4px 3px 10px #d4ffe066;overflow:hidden}
#cashtag-bubbles[data-greenscreen=true] .cb-bubble:before{background:radial-gradient(ellipse at 30% 16%,#e1ffe9a6,transparent 21%)}
#cashtag-bubbles[data-greenscreen=true] .cb-bubble:after{border-top-color:#e3ffebb3;border-left-color:#b6ffc740}
#cashtag-bubbles[data-greenscreen=true] .cb-label{color:#fff}
#cashtag-bubbles[data-greenscreen=true] .cb-empty,#cashtag-bubbles[data-greenscreen=true] .cb-empty span{color:#062b08}
#cashtag-bubbles[data-transparent=true] .cb-ocean{background:transparent}
@media(max-width:600px){#cashtag-bubbles{border-radius:14px}#cashtag-bubbles .cb-header{padding:20px;gap:13px;align-items:flex-start;flex-direction:column}#cashtag-bubbles h1{font-size:26px}#cashtag-bubbles .cb-ocean{height:440px}#cashtag-bubbles .cb-console{padding:18px 18px 12px}#cashtag-bubbles .cb-form button{padding:10px 12px;gap:8px}#cashtag-bubbles input{font-size:16px;padding:12px 10px}#cashtag-bubbles .cb-form button span{display:none}#cashtag-bubbles .cb-bottom{align-items:flex-start;flex-wrap:wrap}#cashtag-bubbles .cb-footer{padding:10px 18px 18px;flex-direction:column}#cashtag-bubbles .cb-watermark{left:18px;font-size:8px}#cashtag-bubbles .cb-examples button{min-height:40px}}

/* Controls belong to the operator's link. The OBS renderer remains clean. */
#cashtag-bubbles{position:relative}
#cashtag-bubbles .cb-controls-toggle{display:none}
#cashtag-bubbles .cb-bubble{pointer-events:auto;cursor:pointer;padding:0;min-height:0;font:inherit;appearance:none;-webkit-tap-highlight-color:transparent}
#cashtag-bubbles .cb-bubble:focus-visible{outline:3px solid white;outline-offset:5px}
#cashtag-bubbles .cb-bubble:disabled{cursor:wait}
#cashtag-bubbles .cb-output-status{font-size:11px;color:#9eceab}
#cashtag-bubbles .cb-pop-hint{width:100%;font-size:11px;line-height:1.5;color:#94aa9b}
#cashtag-bubbles .cb-catalog-link{font-size:11px;color:#b9d9c2;text-underline-offset:3px}
#cashtag-bubbles[data-control-connected=false] .cb-output-status{color:#f0cf88}
#cashtag-bubbles[data-overlay=true]:not([data-output=true]) .cb-controls-toggle{display:flex;align-items:center;gap:8px;position:absolute;right:16px;bottom:16px;z-index:5;border:1px solid #567960;border-radius:30px;padding:8px 15px;background:#0b1710ed;color:#e9f8ed;box-shadow:0 4px 20px #0005}
#cashtag-bubbles[data-overlay=true][data-controls-open=true]:not([data-output=true]) .cb-audio{display:flex;position:absolute;right:16px;bottom:70px;max-width:calc(100% - 32px);width:370px;padding:18px;z-index:5;background:#0b1710f5;border:1px solid #3c5c46;border-radius:16px;box-shadow:0 12px 40px #0005}
#cashtag-bubbles[data-overlay=true][data-controls-open=true] .cb-volume{width:100%}
#cashtag-bubbles[data-overlay=true][data-controls-open=true] .cb-volume input{flex:1}
#cashtag-bubbles[data-output=true] .cb-audio,#cashtag-bubbles[data-output=true] .cb-controls-toggle{display:none!important}
#cashtag-bubbles .cb-burst{position:absolute;width:0;height:0;pointer-events:none;z-index:4;animation:cb-burst-fade .42s ease-out forwards}
#cashtag-bubbles .cb-burst:before{content:'';position:absolute;width:calc(var(--burst-radius)*2);height:calc(var(--burst-radius)*2);left:calc(var(--burst-radius)*-1);top:calc(var(--burst-radius)*-1);border:2px solid #d6ffe0;border-radius:50%;animation:cb-burst-ring .42s ease-out forwards}
#cashtag-bubbles .cb-burst i{position:absolute;width:7px;height:13px;border-radius:50%;background:#b9ffcb;transform-origin:0 0;animation:cb-burst-drop .42s ease-out forwards;transform:rotate(var(--angle)) translateY(calc(var(--burst-radius)*-.65))}
@keyframes cb-burst-ring{to{transform:scale(1.35);opacity:0}}
@keyframes cb-burst-drop{to{transform:rotate(var(--angle)) translateY(calc(var(--burst-radius)*-1.65)) scale(.2);opacity:0}}
@keyframes cb-burst-fade{to{opacity:0}}
@media(prefers-reduced-motion:reduce){#cashtag-bubbles .cb-burst{animation-duration:.1s}#cashtag-bubbles .cb-burst i{display:none}#cashtag-bubbles .cb-burst:before{animation:none}}
