/* Integration controls use the original STAGE stylesheet and typography. */
html{scroll-behavior:smooth}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #e0a800;outline-offset:4px}.connection{background:#33270d;color:#f4d777;text-align:center;font-size:13px;padding:8px}.empty-chat{padding:50px 20px;color:var(--fg3);text-align:center;font-size:14px}.integration-note{font-size:13px;color:rgba(244,241,234,.5);margin:12px 0}.integration-link{font-size:13px;color:rgba(244,241,234,.75)}#join-status{font-size:13px;color:#e5b848;text-align:center}#join-status:not(:empty){margin-bottom:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:#ececec;color:#0d0d0d;padding:12px 22px;border-radius:12px;box-shadow:0 8px 40px #0008;z-index:100;font-size:14px;display:none}dialog{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:16px;padding:28px;width:380px;max-width:90vw}dialog::backdrop{background:#000b}dialog h2{margin:0 0 20px;font-size:22px;font-weight:600}dialog label{font-size:14px}dialog input{display:block;width:100%;margin-top:10px;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px}dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}dialog button{border:1px solid var(--line2);border-radius:999px;padding:8px 18px;background:var(--bg2)}dialog .pill{background:var(--pri);color:var(--on-pri)}.float-reaction{position:absolute;bottom:200px;left:50%;width:55px;height:55px;z-index:6;font-size:38px;pointer-events:none;animation:reaction-float 2s ease-out forwards}.float-reaction img{width:100%;height:100%;object-fit:contain}@keyframes reaction-float{to{transform:translateY(-300px) rotate(20deg);opacity:0}}.mod{max-width:700px;margin:50px auto;padding:24px}.mod label{display:block;margin:15px 0}.mod input,.mod select{padding:10px;display:block;background:var(--bg2);border:1px solid var(--line2);border-radius:8px;width:100%}.mod button{padding:10px 16px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bs-lights i,.float-reaction,.performer.talking .av.xl,.performer.talking .p-eq i{animation:none}}

/* STAGE.FUN identity: preserve the original mark geometry. */
.logo img.mark{filter:hue-rotate(48deg)}

/* Reactions start at the clicked sticker, outside the stage's clipping context. */
.sticker-flight{position:fixed;left:0;top:0;width:58px;height:58px;z-index:90;pointer-events:none;user-select:none;font-size:40px;will-change:transform,opacity;animation:sticker-rise 2.3s cubic-bezier(.17,.67,.35,1) both}
.sticker-flight img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 10px #0005)}
@keyframes sticker-rise{0%{opacity:1;transform:translate(-50%,-50%) scale(.7) rotate(0deg)}15%{opacity:1;transform:translate(calc(-50% + var(--drift)*.12),calc(-50% + var(--rise)*.16)) scale(1.18)}65%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% + var(--rise))) scale(.8) rotate(var(--spin))}}
@media(prefers-reduced-motion:reduce){.sticker-flight{animation:sticker-gentle-rise 1.6s ease-out both}@keyframes sticker-gentle-rise{from{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,calc(-50% - 140px))}}}
