.studio-my-rewards{position:fixed;right:12px;bottom:calc(98px + env(safe-area-inset-bottom));z-index:40;background:#222722;color:#fff;border:1px solid #cfd9ca;border-radius:22px;padding:10px 15px;font:14px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;cursor:pointer}.studio-viewer-rewards{width:520px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border:1px solid #dce3dc;border-radius:20px;padding:24px;background:#f8faf7;color:#222722;overflow:auto;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.studio-viewer-rewards::backdrop{background:#22272288}.studio-viewer-rewards h2{font-size:22px;margin:0 0 16px}.studio-viewer-rewards p{font-size:14px;line-height:1.7}.studio-reward-close{float:right;border:0;border-radius:50%;width:32px;height:32px;cursor:pointer}.studio-reward-items article{border:1px solid #dce3dc;border-radius:14px;margin:14px 0;padding:16px}.studio-reward-items article>div{display:flex;justify-content:space-between;gap:10px}.studio-reward-items span{font-size:12px;border-radius:15px;background:#e4efdc;padding:4px 8px;white-space:nowrap}.studio-reward-items small{display:block;color:#626b64;font-size:12px;line-height:1.8}.studio-reward-items button{display:block;margin-top:16px;padding:8px 16px}.studio-network-state{position:fixed;top:0;left:0;right:0;z-index:200;background:#f3e6c1;color:#615123;text-align:center;padding:12px;font-size:13px}.studio-player-feedback{position:absolute;bottom:45px;left:12px;right:12px;z-index:12;text-align:center;border-radius:12px;background:#222c;color:white;padding:9px 12px;font-size:13px;pointer-events:none}.studio-player-feedback button{pointer-events:auto;background:transparent;color:white;border:0;cursor:pointer}.studio-my-rewards:focus-visible,.studio-viewer-rewards button:focus-visible{outline:3px solid #80976f;outline-offset:3px}.chat-input-wrapper{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:600px){.studio-viewer-rewards{padding:18px}.studio-my-rewards{font-size:12px;padding:8px 12px}}
.studio-moderator-activities{position:fixed;right:16px;bottom:calc(142px + env(safe-area-inset-bottom));z-index:1200;border:1px solid #bfcdbb;background:#222722;color:#fff;padding:10px 15px;border-radius:24px}.studio-moderator-activities[hidden]{display:none}.studio-activity-panel{max-height:86dvh;overflow:auto}.studio-activity-form label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.studio-activity-form input,.studio-activity-form textarea,.studio-activity-form select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #dce3dc;border-radius:10px;background:#fff;color:#222722;font-size:16px}.studio-activity-panel button{cursor:pointer;border:1px solid #dce3dc;border-radius:12px;padding:9px 12px;background:#eff3ec;color:#222722;margin:4px}.studio-activity-panel button:disabled{opacity:.5;cursor:wait}.studio-activity-form [type=submit],.studio-activity-panel [data-confirm]{background:#222722;color:white}.studio-activity-feedback{color:#a33030;white-space:pre-wrap}.studio-amount-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.studio-activity-form .studio-checkbox{flex-direction:row;align-items:center}.studio-checkbox input{width:auto}

.robot-source-badge{font-size:11px;color:#626b64;white-space:nowrap;border:1px solid #dce3dc;border-radius:6px;padding:1px 4px;flex-shrink:0}
/* Membership gate remains outside the blurred application and blocks interaction. */
.member-login-required #app{filter:blur(12px);pointer-events:none;user-select:none}.member-login-required .studio-my-rewards,.member-login-required .ops-toggle{display:none!important}.member-login-gate{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(27,34,29,.30);backdrop-filter:blur(5px);box-sizing:border-box}.member-login-gate form{width:min(380px,100%);padding:28px;border-radius:22px;background:#f8faf7;box-shadow:0 15px 50px #17241a22;color:#222722;font:15px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.member-login-gate h1{font-size:26px;margin:0}.member-login-gate p,.member-login-gate small{color:#626b64}.member-login-gate label{display:block;margin:15px 0}.member-login-gate input{display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #dce3dc;border-radius:10px;font:inherit}.member-login-gate button{width:100%;padding:13px;border:0;border-radius:999px;background:#222722;color:white;cursor:pointer;font:inherit}.member-login-gate [role=status]{min-height:24px;color:#985323}.member-login-gate small{display:block;text-align:center;margin-top:14px}.member-login-gate input:focus-visible{outline:3px solid #91acc0}.member-login-gate button:disabled{opacity:.6}
.chat-withdraw{border:0;background:transparent;color:#64766a;font-size:12px;padding:2px 7px;cursor:pointer;white-space:nowrap}.chat-withdraw:disabled{opacity:.5}.chat-withdraw:focus-visible{outline:2px solid #52795b}
/* Stream state is separate from chat/login; the media host survives layout changes. */
.studio-live-player{position:relative;isolation:isolate;background:#171b18;overflow:hidden;aspect-ratio:16/9}
.studio-media-host{position:absolute;inset:0;width:100%;height:100%}
.studio-media-host .video-js,.studio-media-host video{width:100%;height:100%;object-fit:contain}
.studio-playback-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.studio-playback-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;padding:20px;text-align:center;background:#101712b8;color:white;font-size:14px;z-index:3;pointer-events:none}
.studio-playback-state button{pointer-events:auto;border:1px solid #dce3dc;border-radius:22px;padding:10px 24px;color:#222722;background:#f8faf7;cursor:pointer}
.studio-playback-state button:focus-visible{outline:3px solid #c8ddf0;outline-offset:3px}
.studio-playback-latency{position:absolute;right:12px;top:12px;color:white;background:#0008;padding:3px 8px;border-radius:10px;pointer-events:none}
/* Native avatars share one failure handler across chat and the online member list. */
.chat-message>img.avatar,.avatar-wrap>img.avatar{display:block;border-radius:50%;object-fit:cover}

.room-watch-locked .app-layout{filter:blur(10px);pointer-events:none;user-select:none}.room-watch-locked .studio-my-rewards,.room-watch-locked .ops-toggle{display:none!important}

/* Incremental chat keeps the reader position while new messages arrive. */
.studio-chat-new{position:absolute;bottom:12px;right:16px;z-index:3;border:1px solid #dce3dc;border-radius:24px;padding:9px 16px;background:#222722;color:#fff;cursor:pointer;box-shadow:0 2px 8px #0002}.studio-chat-new[hidden]{display:none}.chat-window{position:relative}

.tab-count{flex-shrink:0!important;white-space:nowrap!important;min-width:max-content!important}.sidebar-tabs .tab-item{min-width:0}.presence-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px;position:sticky;bottom:0;background:#fff}.presence-pager button{padding:8px 12px;border:1px solid #ddd;border-radius:16px;background:#fff}.presence-pager span{font-size:12px;overflow-wrap:anywhere}.room-users .user-list{min-width:0}.user-row .nickname{overflow-wrap:anywhere}.virtual-growth{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:85vh;overflow:auto}.virtual-growth form{display:grid;gap:12px}.virtual-growth label{display:grid;gap:5px}.virtual-growth .ops-check{display:flex;align-items:center}.virtual-growth input[type=number]{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #ccc;border-radius:8px}.virtual-growth .ops-actions{display:flex;flex-wrap:wrap;gap:8px}.virtual-growth [data-progress]{overflow-wrap:anywhere}

.room-users[data-v-c2ce2664]{display:flex;flex-direction:column;overflow:hidden}.room-users[data-v-c2ce2664]>.user-list{flex:1;min-height:0;overflow:auto}.room-users[data-v-c2ce2664]>.presence-pager{flex:0 0 auto;position:static}.room-users[data-v-c2ce2664]>.empty-users{flex:1;min-height:0}
.robot-dialog.virtual-growth form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.robot-dialog.virtual-growth label{display:grid;width:auto;gap:5px}.robot-dialog.virtual-growth .ops-check{display:flex;align-items:center}.robot-dialog.virtual-growth input[type=number]{width:100%;max-width:none}.robot-dialog.virtual-growth .ops-actions{display:flex;flex-wrap:wrap}

/* Keep the full online count visible on narrow phones. */
@media(max-width:600px){
 .room-info{flex:1;min-width:0}
 .room-meta{flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important;max-width:100%!important;gap:3px 8px!important}
 .room-meta .online-item{order:0;flex:0 0 100%;white-space:nowrap;font-variant-numeric:tabular-nums}
 .room-meta .teacher-item{order:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
 .banner .login-btn{height:auto!important;min-height:76px}
 .room-title{flex:1;min-width:0}
}

.member-online-count{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;font-weight:600;color:#64748b;white-space:nowrap}.member-online-count span{font-variant-numeric:tabular-nums;flex-shrink:0}
