.modal-overlay.sheet-overlay{align-items:flex-end}.sheet-panel{background:var(--panel);border-radius:var(--radius-modal) var(--radius-modal) 0 0;width:min(100%,560px);max-height:90dvh;box-shadow:var(--shadow-modal);padding-bottom:env(safe-area-inset-bottom);animation:sheet-slide-up .22s var(--ease-out);transition:transform var(--transition) var(--ease-out);touch-action:pan-y;flex-direction:column;display:flex}.sheet-panel.is-dragging{transition:none}.sheet-grip{touch-action:none;cursor:grab;justify-content:center;padding:8px 0 4px;display:flex}.sheet-grip-bar{border-radius:var(--radius-pill);background:var(--line-strong);width:36px;height:4px}.sheet-title{color:var(--ink);padding:4px 20px 8px;font-size:16px;font-weight:700}.sheet-body{overscroll-behavior:contain;padding:0 8px 8px;overflow-y:auto}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sheet-panel{animation:fade-in .18s var(--ease-out)}}.action-sheet-group+.action-sheet-group{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.action-sheet-item{border-radius:var(--radius-row);width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;padding:8px 12px;font-size:16px;display:flex}.action-sheet-item:disabled{color:var(--muted-2);cursor:default}.action-sheet-item:active:not(:disabled){background:var(--canvas-2)}.action-sheet-item.is-danger{color:var(--danger-text)}.action-sheet-icon{color:var(--muted);display:flex}.action-sheet-item.is-danger .action-sheet-icon{color:var(--danger-text)}.action-sheet-text{flex-direction:column;gap:2px;display:flex}.action-sheet-reason{color:var(--muted-2);font-size:13px}.volume-popover{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:var(--shadow-popover);z-index:var(--z-popover);cursor:default;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed}.volume-popover-slider{width:110px}.volume-popover-value{min-width:32px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.guest-lobby-toasts{flex-direction:column;align-items:center;gap:6px;padding:0 12px 8px;display:flex}.guest-lobby-toast{border-radius:var(--radius-bar);background:var(--stage-bar);max-width:560px;color:var(--stage-ink);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.guest-lobby-icon{color:var(--stage-muted)}.guest-lobby-name{font-weight:600}.guest-lobby-badge{border-radius:var(--radius-pill);background:var(--stage-chip);color:var(--stage-muted);padding:1px 6px;font-size:11px}.guest-lobby-text{color:var(--stage-muted)}.guest-lobby-action{padding:4px 10px;font-size:12px}.guest-lobby-more{color:var(--stage-muted);font-size:12px}.mobile-call-screen{background:var(--stage);width:100%;height:100%;color:var(--stage-ink);flex-direction:column;display:flex;overflow:hidden}.mcs-topbar{min-height:56px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;border-bottom:1px solid var(--stage-line);flex-shrink:0;align-items:center;gap:10px;display:flex}.mcs-collapse-btn{border-radius:var(--radius-row);background:var(--stage-chip);width:40px;height:40px;color:var(--stage-ink);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.mcs-title{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.mcs-title-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--stage-ink);font-size:14.5px;font-weight:700;overflow:hidden}.mcs-title-timer{color:var(--stage-muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.mcs-quality-btn{border-radius:var(--radius-row);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.mcs-quality-btn:active{background:var(--stage-chip)}.mcs-participants-btn{border-radius:var(--radius-row);width:40px;height:40px;color:var(--stage-ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.mcs-participants-btn:active{background:var(--stage-chip)}.mcs-reconnecting{border-bottom:1px solid var(--warning);background:var(--stage-bar);color:var(--warning);text-align:center;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.mcs-share-banner{background:var(--stage-bar);border-bottom:1px solid var(--stage-line);color:var(--stage-ink);flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.mcs-share-banner-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.mcs-share-banner-btn{border-radius:var(--radius-row);background:var(--stage-accent);height:32px;color:var(--white);cursor:pointer;border:none;flex-shrink:0;padding:0 14px;font-size:13px;font-weight:600}.mcs-share-banner-btn:active{background:var(--stage-accent-hover)}.mcs-share-banner-dismiss{border-radius:var(--radius-row);width:40px;height:40px;color:var(--stage-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.mcs-share-banner-dismiss:active{background:var(--stage-chip);color:var(--stage-ink)}.mcs-body{flex:1;min-height:0;position:relative;overflow:hidden}.mcs-grid{grid-auto-rows:minmax(0,1fr);gap:8px;height:100%;padding:8px;display:grid}.mcs-grid-cols-1{grid-template-columns:minmax(0,1fr)}.mcs-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mcs-grid-cell{cursor:pointer;min-width:0;min-height:0}.mcs-grid-cols-2>.mcs-grid-cell:last-child:nth-child(odd){grid-column:1/-1}.mcs-grid.is-scroll{grid-auto-rows:minmax(160px,1fr);align-content:start;overflow-y:auto}.mobile-call-screen .stage-tile{aspect-ratio:unset;height:100%}.mobile-call-screen .stage-share-badge{gap:0;padding:6px;font-size:0}.mobile-call-screen .stage-tile-avatar{border-radius:var(--radius-bar);object-fit:cover;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;display:flex;position:relative}.mcs-grid-cols-2 .stage-state-chip{display:none}.mobile-call-screen .stage-tile-video.is-screen{object-fit:contain}.mcs-solo{position:absolute;inset:0}.mcs-solo video{object-fit:cover;width:100%;height:100%;display:block}.mcs-solo video.is-mirrored{transform:scaleX(-1)}.mcs-solo video.is-screen{object-fit:contain;transform:none}.mcs-solo-avatar{object-fit:cover;justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;display:flex;position:absolute;inset:0}.mcs-focus{background:var(--stage);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.mcs-focus-main{flex:1;min-height:0;position:relative;overflow:hidden}.mcs-focus-video{object-fit:contain;width:100%;height:100%;display:block}.mcs-focus-main:fullscreen{background:var(--stage);width:100vw;height:100vh}.mcs-focus-avatar{border-radius:var(--radius-bar);object-fit:cover;pointer-events:none;justify-content:center;align-items:center;width:96px;height:96px;margin:auto;font-size:40px;display:flex;position:absolute;inset:0}.mcs-focus-label{border-radius:var(--radius-row);background:var(--stage-plate);max-width:calc(100% - 28px);color:var(--stage-ink);align-items:center;gap:8px;padding:5px 10px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:14px;left:14px;overflow:hidden}.mcs-focus-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mcs-focus-back,.mcs-focus-fs{border-radius:var(--radius-row);background:var(--stage-plate);width:44px;height:44px;color:var(--stage-ink);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:12px}.mcs-focus-back{left:12px}.mcs-focus-fs{right:12px}.mcs-focus-thumbs{border-top:1px solid var(--stage-line);background:var(--stage-bar);scrollbar-width:thin;flex-shrink:0;align-items:stretch;gap:8px;height:92px;padding:8px 12px;display:flex;overflow:auto hidden}.mcs-focus-thumbs::-webkit-scrollbar{height:4px}.mcs-focus-thumbs::-webkit-scrollbar-thumb{background:var(--stage-toggle);border-radius:2px}.mobile-call-screen .stage-thumb .stage-volume-btn{opacity:1;width:20px;height:20px;top:4px;left:4px}.mobile-call-screen .stage-thumb .stage-conn{height:20px;padding:0 5px;top:4px;right:4px}.mobile-call-screen .stage-thumb .stage-thumb-badge{right:28px}.mobile-call-screen .stage-thumb .stage-conn-bar{width:2px;margin-bottom:4px}.mobile-call-screen .stage-thumb .stage-conn-bar:first-child{height:3px}.mobile-call-screen .stage-thumb .stage-conn-bar:nth-child(2){height:6px}.mobile-call-screen .stage-thumb .stage-conn-bar:nth-child(3){height:9px}.mcs-panel{padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);background:var(--stage-bar);border-top:1px solid var(--stage-line);flex-shrink:0;justify-content:space-around;align-items:center;gap:6px;display:flex}.mcs-panel-btn{border-radius:var(--radius-btn);background:var(--stage-toggle);width:56px;height:56px;color:var(--stage-ink);cursor:pointer;transition:background var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.mcs-panel-btn:active{background:var(--stage-chip)}.mcs-panel-btn.is-off,.mcs-panel-btn.is-danger{background:var(--danger);color:var(--white)}.mcs-panel-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.mcs-panel-btn-chat{position:relative}.mcs-chat-badge{border-radius:var(--radius-pill);background:var(--stage-danger);min-width:16px;height:16px;color:var(--white);text-align:center;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.call-quality-sheet-body{flex-direction:column;display:flex}.call-quality-sheet-level{color:var(--ink);font-size:15px;font-weight:600}.call-quality-sheet-rows{flex-direction:column;margin-top:12px;display:flex}.call-quality-sheet-row{border-top:1px solid var(--panel-line);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 0;font-size:13.5px;display:flex}.call-quality-sheet-row span:last-child{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.call-volume-sheet-body{flex-direction:column;display:flex}.call-volume-sheet-empty{color:var(--muted);text-align:center;margin:0;padding:16px 0;font-size:13.5px}.call-volume-sheet-row{border-top:1px solid var(--panel-line);align-items:center;gap:12px;padding:10px 0;display:flex}.call-volume-sheet-row:first-child{border-top:none}.call-volume-sheet-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.call-volume-sheet-row input{width:130px}.screen-header{background:var(--canvas);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:4px;min-height:56px;padding:0 8px;display:flex}.screen-header-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.screen-header-title{min-width:0;color:inherit;text-align:left;background:0 0;border:none;flex:1;padding:0 8px}.screen-header-title.is-tappable{cursor:pointer}.screen-header-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:700;overflow:hidden}.screen-header-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.screen-header-actions{gap:2px;display:flex}.day-section{flex-direction:column;display:flex}.day-section-pill{z-index:2;pointer-events:none;justify-content:center;margin:12px 0 4px;display:flex;position:sticky;top:6px}.day-section-label{height:26px;color:var(--muted);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-row);padding:4px 11px;font-size:11.5px;font-weight:600;line-height:16px}.msg-group{gap:6px;margin-top:10px;display:flex}.msg-group-avatar{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;justify-content:flex-end;width:34px;display:flex}.msg-group-rows{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.msg-group.is-own .msg-group-rows{align-items:flex-end}.msg-group-avatar .msg-avatar{z-index:1;border-radius:var(--radius-card);object-fit:cover;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex;position:sticky;bottom:6px}@media (width<900px){.msg-group-avatar{width:30px}.msg-group-avatar .msg-avatar{width:30px;height:30px;font-size:13px}}.expression-sheet-body{flex-direction:column;height:min(60dvh,420px);min-height:0;display:flex;overflow:hidden}.expression-sheet-body .expression-picker-tab{min-height:44px;font-size:15px}.expression-sheet-body .expression-emoji-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.expression-sheet-body .expression-emoji-cell{min-height:44px;font-size:24px}.expression-sheet-body .expression-picker-anchor{width:44px;height:44px}.expression-sheet-body .expression-sticker-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.expression-sheet-body .expression-sticker-cell{min-width:44px;min-height:44px}.custom-status-icon{cursor:default;border-radius:var(--radius-chip);flex-shrink:0;align-items:center;font-size:14px;line-height:1;display:inline-flex}.custom-status-icon:focus-visible{box-shadow:var(--focus-ring);outline:none}.custom-status-tooltip{z-index:var(--z-tooltip);width:max-content;max-width:260px;color:var(--ink);font-size:var(--fs-caption);overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-chip);box-shadow:var(--shadow-popover);pointer-events:none;flex-wrap:wrap;gap:4px;padding:6px 10px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 6px))}.custom-status-tooltip.is-below{transform:translate(-50%,6px)}.custom-status-tooltip-text{font-weight:600}.custom-status-tooltip-until{color:var(--muted)}.audio-player{border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--panel);align-items:center;gap:10px;max-width:420px;padding:8px 12px;display:flex}.audio-play-btn{background:var(--accent);width:32px;height:32px;color:var(--white);cursor:pointer;transition:background var(--transition);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.audio-play-btn:hover{background:var(--accent-hover)}.audio-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.audio-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.audio-seek{width:100%;accent-color:var(--accent)}.audio-time{color:var(--muted-2);font-variant-numeric:tabular-nums;flex:none;font-size:11px}@media (width<900px){.audio-play-btn{position:relative}.audio-play-btn:after{content:"";position:absolute;inset:-6px}}.video-player{width:100%;position:relative}.video-player-media{border-radius:var(--radius-card);background:var(--canvas-2);object-fit:cover;cursor:pointer;width:100%;height:auto;max-height:340px;display:block}.video-player.is-lightbox{width:auto;max-width:92vw}.video-player.is-lightbox .video-player-media{border-radius:var(--radius-chip);object-fit:contain;width:auto;max-width:92vw;max-height:84vh}.video-player-bar{border-radius:0 0 var(--radius-card) var(--radius-card);background:linear-gradient(to top, var(--media-plate), transparent);opacity:0;transition:opacity var(--transition);align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.video-player:hover .video-player-bar,.video-player:focus-within .video-player-bar{opacity:1}.video-player.is-lightbox .video-player-bar{border-radius:0 0 var(--radius-chip) var(--radius-chip);opacity:1}.video-play-btn,.video-mute-btn{background:var(--media-chrome);width:28px;height:28px;color:var(--white);cursor:pointer;transition:background var(--transition);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.video-play-btn:hover,.video-mute-btn:hover{background:var(--media-chrome-hover)}.video-seek{min-width:0;accent-color:var(--accent);flex:1}.video-time{color:var(--white);font-variant-numeric:tabular-nums;flex:none;font-size:11px}@media (width<900px){.video-player-bar{opacity:1}.video-play-btn,.video-mute-btn{width:32px;height:32px;position:relative}.video-play-btn:after,.video-mute-btn:after{content:"";position:absolute;inset:-6px}}.voice-msg{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--canvas-2);align-items:center;gap:10px;min-width:240px;max-width:360px;padding:8px 10px;display:flex}.voice-msg-play{border-radius:var(--radius-pill);background:var(--accent);width:36px;height:36px;color:var(--white);cursor:pointer;transition:background var(--transition);border:0;flex:none;place-items:center;display:grid}.voice-msg-play:hover{background:var(--accent-hover)}.voice-msg-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.voice-msg-wave{cursor:pointer;touch-action:none;border-radius:var(--radius-chip);align-items:center;gap:2px;height:28px;display:flex;overflow:hidden}.voice-msg-bar{height:var(--voice-bar-h,12%);border-radius:var(--radius-pill);background:var(--muted-2);flex:1;min-width:2px}.voice-msg-bar.is-played{background:var(--accent)}.voice-msg-meta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:flex}.voice-msg-dot{border-radius:var(--radius-pill);background:var(--accent);width:6px;height:6px}.voice-msg-rate{border:1px solid var(--line-strong);border-radius:var(--radius-chip);min-width:38px;color:var(--muted);cursor:pointer;background:0 0;flex:none;padding:3px 6px;font-size:12px;font-weight:600}.voice-msg-rate:hover{color:var(--ink)}.voice-msg-play:focus-visible,.voice-msg-rate:focus-visible,.voice-msg-wave:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<900px){.voice-msg{width:100%;min-width:0}}.message-attachments{gap:4px;max-width:560px;margin-top:6px;display:grid}.message-attachments.attachment-count-1{grid-template-columns:1fr}.message-attachments.attachment-count-2,.message-attachments.attachment-count-3,.message-attachments.attachment-count-4{grid-template-columns:repeat(2,1fr)}.attachment-cell{min-width:0;position:relative}.attachment-cell.is-wide{grid-column:1/-1}.attachment-image{border-radius:var(--radius-card);background:var(--canvas-2);object-fit:cover;cursor:pointer;width:100%;height:auto;max-height:340px;display:block}.attachment-download,.attachment-expand{border-radius:var(--radius-chip);background:var(--media-plate);width:28px;height:28px;color:var(--white);opacity:0;cursor:pointer;transition:opacity var(--transition), background var(--transition);border:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex;position:absolute;top:6px}@media (width<900px){.attachment-download,.attachment-expand{opacity:1}.message-attachments.attachment-count-2,.message-attachments.attachment-count-3,.message-attachments.attachment-count-4{grid-template-columns:1fr}.attachment-cell.is-wide{align-items:center;gap:6px;display:flex}.attachment-cell.is-wide .attachment-download{opacity:1;flex:none;position:static}}.attachment-download{right:6px}.attachment-expand{right:40px}.attachment-download:hover,.attachment-expand:hover{background:var(--media-scrim)}.attachment-cell:hover .attachment-download,.attachment-cell:hover .attachment-expand,.attachment-cell:focus-within .attachment-download,.attachment-cell:focus-within .attachment-expand{opacity:1}.attachment-file{border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--panel);color:var(--ink);transition:background var(--transition);grid-column:1/-1;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.attachment-file:hover{background:var(--row-hover)}.attachment-file-icon{color:var(--muted);flex:none;display:flex}.attachment-file-body{flex-direction:column;min-width:0;display:flex}.attachment-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.attachment-file-size{color:var(--muted-2);font-size:11px}.msg-reactions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.msg-reaction,.msg-reaction-add{height:24px;color:var(--ink);font:inherit;background:var(--canvas-2);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:border-color var(--transition), background-color var(--transition);align-items:center;gap:4px;padding:0 8px;line-height:1;display:inline-flex}.msg-reaction-add{color:var(--muted)}.msg-reaction:hover,.msg-reaction-add:hover{border-color:var(--line-strong)}.msg-reaction.is-mine{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-border)}.msg-reaction.is-readonly{cursor:default}.msg-reaction:focus-visible,.msg-reaction-add:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.msg-reaction-emoji{font-size:15px}.msg-reaction-sticker{object-fit:contain;width:20px;height:20px}.msg-reaction-count{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.reaction-tooltip{z-index:var(--z-tooltip);max-width:240px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-chip);box-shadow:var(--shadow-popover);pointer-events:none;padding:6px 10px;font-size:12px;position:fixed;transform:translate(-50%,calc(-100% - 6px))}.expression-picker.reaction-picker{right:10px}.expression-picker.reaction-picker.is-below{top:calc(100% + 4px);bottom:auto}.msg-row .expression-picker.reaction-picker{left:0;right:auto}.msg-row.is-own .expression-picker.reaction-picker{left:auto;right:0}.msg-bubble{max-width:100%;color:var(--ink);overflow-wrap:anywhere;background:var(--bubble-other);border-radius:var(--radius-modal);padding:6px 11px 7px;font-size:14px;line-height:1.5;position:relative}.msg-bubble.is-joined-top{border-top-left-radius:var(--radius-chip)}.msg-bubble.is-joined-bottom{border-bottom-left-radius:var(--radius-chip)}.msg-bubble.has-tail{border-bottom-left-radius:0}.msg-bubble.has-tail:after{content:"";background:inherit;width:8px;height:14px;clip-path:path("M8 0 V14 H0 C5 13.5 8 9 8 0 Z");position:absolute;bottom:0;left:-8px}.msg-bubble.is-media{padding:0}.msg-row.is-own .msg-bubble{color:var(--white);background:var(--bubble-own)}.msg-row.is-own .msg-bubble.is-joined-top{border-top-left-radius:var(--radius-modal);border-top-right-radius:var(--radius-chip)}.msg-row.is-own .msg-bubble.is-joined-bottom{border-bottom-left-radius:var(--radius-modal);border-bottom-right-radius:var(--radius-chip)}.msg-row.is-own .msg-bubble.has-tail{border-bottom-left-radius:var(--radius-modal);border-bottom-right-radius:0}.msg-row.is-own .msg-bubble.has-tail:after{clip-path:path("M0 0 V14 H8 C3 13.5 0 9 0 0 Z");left:auto;right:-8px}.msg-bubble-header{align-items:center;gap:6px;margin-bottom:1px;display:flex}.msg-bubble.is-media .msg-bubble-header{margin-bottom:0;padding:6px 11px 4px}.msg-author{color:color-mix(in srgb, var(--avatar-color,var(--accent)) var(--author-mix), var(--ink));font-size:13px;font-weight:700}.msg-guest-chip{color:var(--muted);background:var(--canvas);border-radius:var(--radius-pill);padding:1px 6px;font-size:11px}.msg-body{white-space:pre-wrap}.msg-body ol,.msg-body ul{margin:4px 0;padding-left:1.4em}.msg-mention{color:var(--accent-text);background:var(--accent-soft);border-radius:4px;padding:0 2px;font-weight:500}.msg-mention-self{background:var(--accent-border);font-weight:600}.msg-mention-everyone{color:var(--danger-text);background:var(--accent-soft);font-weight:600}.msg-quote-block{color:var(--muted);border-left:3px solid var(--line-strong);padding-left:10px;display:block}.msg-body a{color:var(--accent-text)}.msg-row.is-own .msg-bubble a{color:var(--white)}.msg-row.is-own .msg-body a{text-decoration:underline}.msg-row.is-own .msg-bubble a:focus-visible{outline-color:var(--white)}.msg-row.is-own .msg-mention,.msg-row.is-own .msg-mention-everyone{color:var(--white);background:color-mix(in srgb, var(--white) 12%, transparent)}.msg-row.is-own .msg-quote-block{color:color-mix(in srgb, var(--white) 85%, transparent);border-left-color:color-mix(in srgb, var(--white) 45%, transparent)}.msg-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.msg-meta-ghost{visibility:hidden;vertical-align:-1px;margin-left:10px}.msg-meta-slot{width:14px;height:14px;display:inline-block}.msg-meta.is-floating{position:absolute;bottom:6px;right:10px}.msg-meta.is-line{justify-content:flex-end;margin-top:2px;display:flex}.msg-meta.is-on-media{color:var(--white);background:var(--media-plate);border-radius:var(--radius-pill);padding:3px 7px;position:absolute;bottom:8px;right:8px}.msg-meta.is-chip{background:var(--canvas-2);border-radius:var(--radius-pill);margin-top:4px;padding:3px 7px}.msg-meta .msg-receipt{margin:0}.msg-row.is-own .msg-bubble .msg-meta{color:color-mix(in srgb, var(--white) 82%, transparent)}.msg-row.is-own .msg-bubble .msg-meta .msg-receipt{color:var(--white)}.msg-row.is-own .msg-bubble .msg-receipt:focus-visible{outline-color:var(--white)}.msg-row.is-own .msg-bubble .msg-meta.is-on-media{color:var(--white)}.msg-bubble .message-attachments{width:320px;max-width:100%}.msg-bubble.is-media .message-attachments{border-radius:inherit;margin-top:0;overflow:hidden}.msg-bubble.has-media-lead>.message-attachments{border-top-left-radius:inherit;border-top-right-radius:inherit;width:auto;max-width:none;margin:0 -11px 6px;overflow:hidden}.msg-bubble.is-media .msg-bubble-header+.message-attachments{border-top-left-radius:0;border-top-right-radius:0}.msg-bubble.is-media .attachment-image,.msg-bubble.is-media .video-player-media,.msg-bubble.is-media .video-player-bar{border-radius:0}.msg-bubble.has-media-lead{width:320px;padding-top:0}.msg-bubble.has-media-lead .msg-bubble-header{margin-bottom:0;padding:6px 0 4px}.msg-bubble.has-media-lead .msg-bubble-header+.message-attachments{border-top-left-radius:0;border-top-right-radius:0}.msg-bubble.has-media-lead .attachment-image,.msg-bubble.has-media-lead .video-player-media,.msg-bubble.has-media-lead .video-player-bar{border-radius:0}.msg-bubble.is-media .msg-reactions{padding:0 8px 6px}.msg-bubble .attachment-file{background:var(--canvas);border-color:var(--line)}.msg-bubble .attachment-file-size{color:var(--muted)}.msg-row.is-own .msg-bubble .attachment-file{color:var(--white);background:color-mix(in srgb, var(--white) 12%, transparent);border-color:#0000}.msg-row.is-own .msg-bubble .attachment-file-icon,.msg-row.is-own .msg-bubble .attachment-file-size{color:color-mix(in srgb, var(--white) 82%, transparent)}.msg-bubble .voice-msg{background:0 0;border:0;min-width:0;max-width:none;padding:2px 0}.msg-bubble .voice-msg-rate{white-space:nowrap;flex:none}.msg-row.is-own .msg-bubble .voice-msg-play,.msg-row.is-own .msg-bubble .voice-msg-play:hover{color:var(--bubble-own);background:var(--white)}.msg-row.is-own .msg-bubble .voice-msg-bar{background:color-mix(in srgb, var(--white) 60%, transparent)}.msg-row.is-own .msg-bubble .voice-msg-bar.is-played,.msg-row.is-own .msg-bubble .voice-msg-dot{background:var(--white)}.msg-row.is-own .msg-bubble .voice-msg-meta{color:color-mix(in srgb, var(--white) 82%, transparent)}.msg-row.is-own .msg-bubble .voice-msg-rate{color:var(--white);background:color-mix(in srgb, var(--white) 12%, transparent);border-color:#0000}.msg-row.is-own .msg-bubble .voice-msg-play:focus-visible,.msg-row.is-own .msg-bubble .voice-msg-rate:focus-visible,.msg-row.is-own .msg-bubble .voice-msg-wave:focus-visible{outline:2px solid var(--white);outline-offset:2px;box-shadow:none}.msg-bubble .msg-reaction:not(.is-mine){color:var(--muted);background:var(--canvas)}.msg-reactions .msg-meta-ghost{margin-left:auto;padding-left:10px}.msg-row.is-own .msg-bubble .msg-reaction{color:var(--white);background:color-mix(in srgb, var(--white) 12%, transparent);border-color:#0000}.msg-row.is-own .msg-bubble .msg-reaction.is-mine{color:var(--bubble-own);background:var(--white);border-color:var(--white)}.msg-row.is-own .msg-bubble .msg-reaction-add{color:var(--white);border-color:color-mix(in srgb, var(--white) 45%, transparent);background:0 0}.msg-row.is-own .msg-bubble .msg-reaction:focus-visible,.msg-row.is-own .msg-bubble .msg-reaction-add:focus-visible{outline-color:var(--white)}.msg-sticker-block{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.msg-row.is-own .msg-sticker-block{align-items:flex-end}.msg-sticker{border-radius:var(--radius-tile);max-width:160px;max-height:160px}.msg-fail-badge{width:22px;height:22px;color:var(--white);background:var(--danger);border-radius:var(--radius-pill);place-items:center;display:grid;position:absolute;bottom:2px;left:-30px}@media (width<900px){.msg-bubble .message-attachments,.msg-bubble.has-media-lead{width:240px}}.expression-picker{z-index:30;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-modal);width:324px;height:360px;box-shadow:var(--shadow-popover);animation:fade-in .12s var(--ease-out);flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 8px);right:12px;overflow:hidden}.expression-picker-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:4px;padding:8px;display:flex}.expression-picker-tab{color:var(--muted);border-radius:var(--radius-btn);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.expression-picker-tab.is-active{color:var(--accent-text);background:var(--accent-soft)}.expression-picker-tab:hover{color:var(--ink);background:var(--canvas-2)}.expression-picker-body{flex:1;padding:0 8px 8px;overflow-y:auto}.expression-section-title{z-index:1;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;background:var(--canvas);margin:0;padding:8px 2px 6px;font-size:11px;font-weight:600;position:sticky;top:0}.expression-emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.expression-emoji-cell{aspect-ratio:1;border-radius:var(--radius-row);cursor:pointer;width:100%;transition:background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:flex}.expression-emoji-cell:hover{background:var(--canvas-2)}.expression-picker-anchors{border-top:1px solid var(--line);flex-shrink:0;gap:2px;padding:6px 8px;display:flex;overflow-x:auto}.expression-picker-anchor{width:28px;height:28px;color:var(--muted);border-radius:var(--radius-row);cursor:pointer;transition:background var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.expression-picker-anchor:hover{background:var(--canvas-2)}.expression-picker-anchor.is-active{color:var(--accent-text);background:var(--accent-soft)}.expression-sticker-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.expression-sticker-cell{aspect-ratio:1;border-radius:var(--radius-btn);cursor:pointer;width:100%;transition:background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.expression-sticker-cell:hover{background:var(--canvas-2)}.expression-sticker-cell img{object-fit:contain;border-radius:var(--radius-row);max-width:100%;max-height:100%}.expression-sticker-empty{color:var(--muted-2);text-align:center;padding:20px 10px;font-size:13px}.expression-picker-manage{color:var(--accent-text);margin-left:auto}.attach-tray{flex-wrap:wrap;gap:8px;padding:8px 0 0;display:flex}.attach-chip{border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--panel);align-items:center;gap:8px;max-width:260px;padding:6px 8px;display:flex}.attach-chip.is-uploading{border-color:var(--accent-border)}.attach-chip.is-done{border-color:var(--line-strong)}.attach-chip.is-error{border-color:var(--danger);background:var(--danger-soft)}.attach-chip-preview,.attach-chip-icon{border-radius:var(--radius-chip);background:var(--canvas-2);object-fit:cover;flex:none;width:32px;height:32px}.attach-chip-body{flex-direction:column;gap:2px;min-width:0;display:flex}.attach-chip-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attach-chip-meta{color:var(--muted-2);font-size:11px}.attach-chip.is-error .attach-chip-meta{color:var(--danger-text)}.attach-chip-progress{border-radius:var(--radius-pill);background:var(--track-bg);height:3px;overflow:hidden}.attach-chip-progress-bar{background:var(--accent);height:100%;transition:width .12s linear}.attach-chip-btn{border-radius:var(--radius-chip);width:22px;height:22px;color:var(--muted-2);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.attach-chip-btn:hover{background:var(--canvas-2);color:var(--ink)}.msg-row{flex-direction:column;max-width:min(520px,84%);display:flex;position:relative}.msg-content{flex-direction:column;align-items:flex-start;min-width:0;max-width:100%;display:flex}.msg-row.is-own .msg-content{align-items:flex-end}.msg-delivery{border-radius:6px;align-items:center;gap:4px;margin-top:2px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.msg-delivery.is-failed{background:var(--danger-soft);color:var(--danger-text);cursor:pointer;border:none}.msg-fail-line{align-items:center;gap:4px;margin-top:3px;display:flex}.msg-fail-discard{width:24px;height:24px;color:var(--muted);border-radius:var(--radius-chip);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid}.msg-fail-discard:hover{color:var(--danger-text);background:var(--danger-soft)}.msg-actions{z-index:5;background:var(--canvas);border:1px solid var(--line);box-shadow:var(--shadow-popover);opacity:0;transition:opacity .12s var(--ease-out);pointer-events:none;border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;top:-18px;left:-10px;right:auto}@media (hover:none){.msg-actions{opacity:.9;pointer-events:auto;align-self:flex-start;margin-top:4px;position:static}.msg-row.is-own .msg-actions{align-self:flex-end}.msg-actions .msg-action-btn{width:40px;height:40px}.msg-row.is-pressable .msg-actions{display:none}}.msg-row.is-pressable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.msg-row:hover .msg-actions,.msg-row:focus-within .msg-actions{opacity:1;pointer-events:auto}.msg-row.is-own .msg-actions{left:auto;right:-10px}.msg-action-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:flex}.msg-action-btn:hover{color:var(--ink);background:var(--canvas-2)}.msg-action-btn.is-danger:hover{color:var(--danger-text);background:var(--danger-soft)}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes msg-jump-ring{0%,40%{box-shadow:0 0 0 3px var(--accent-border)}to{box-shadow:0 0 0 3px #0000}}.msg-row.is-entering{animation:msg-in .22s var(--ease-out)}.msg-row.is-highlight .msg-bubble,.msg-row.is-highlight .msg-sticker{animation:msg-jump-ring 2.2s var(--ease-out)}.msg-row.is-edit-target .msg-bubble{box-shadow:0 0 0 2px var(--accent-border)}.msg-receipt{width:fit-content;color:var(--faint);background:0 0;border:none;padding:0;display:flex}.msg-receipt.is-read{color:var(--accent-text)}.msg-receipt.is-action{cursor:pointer}.fmt-toolbar{align-items:center;gap:2px;display:flex}.fmt-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:flex}.fmt-btn:hover{color:var(--ink);background:var(--canvas-2)}.fmt-btn.is-active{color:var(--accent-text);background:var(--accent-soft)}.quote-float-btn{z-index:var(--z-overlay);color:var(--ink);background:var(--canvas);border:1px solid var(--line-strong);box-shadow:var(--shadow-popover);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:flex;position:fixed;transform:translate(-50%)}.quote-float-btn:hover{background:var(--canvas-2)}.mention-dropdown{z-index:30;background:var(--canvas);border:1px solid var(--line);min-width:220px;max-height:240px;box-shadow:var(--shadow-popover);border-radius:10px;padding:6px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}.mention-item{color:var(--ink);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:13.5px;font-weight:500}.mention-item:hover,.mention-item.is-active{color:var(--accent-text);background:var(--accent-soft)}.link-dialog{width:380px;max-width:90%}.link-dialog-field{margin-bottom:14px;display:block}.link-dialog-field span{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.link-dialog .input.is-invalid{border-color:var(--danger)}.composer-voice{-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:10px;min-width:0;padding:0 4px;display:flex}.composer-voice-dot{border-radius:var(--radius-pill);background:var(--danger);width:9px;height:9px;animation:composer-voice-pulse 1.2s var(--ease-out) infinite;flex:none}@keyframes composer-voice-pulse{50%{opacity:.35}}.composer-voice-time{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.composer-voice-level{flex:none;width:90px}.composer-voice-cancel{text-align:center;color:var(--muted);transform:translateX(var(--voice-drag-x,0));flex:1}.composer-voice-lock{color:var(--muted-2);place-items:center;display:grid}.composer-voice-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.composer-voice-delete{color:var(--danger-text)}@media (prefers-reduced-motion:reduce){.composer-voice-dot{animation:none}}@media (width<900px){.composer-voice-level{width:56px}}.composer-root{padding:10px 20px 18px;position:relative}.composer-field{background:var(--canvas);border:1px solid var(--line-strong);box-shadow:var(--shadow-row);border-radius:14px;align-items:flex-end;gap:10px;padding:8px 10px 8px 12px;display:flex;position:relative}.composer-input{min-width:0;max-height:40vh;font-family:var(--font-sans);color:var(--ink);resize:none;background:0 0;border:none;flex:1;padding:5px 0;font-size:14px;line-height:1.55;overflow-y:auto;outline:none!important}.composer-input::placeholder{color:var(--faint)}.composer-aa{width:32px;height:32px;font-family:var(--font-sans);color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:9px;flex-shrink:0;padding:0;font-size:13px;font-weight:700}.composer-icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.composer-aa:hover,.composer-icon-btn:hover{color:var(--ink);background:var(--canvas-2)}.composer-aa.is-active,.composer-icon-btn.is-active{color:var(--accent-text);background:var(--accent-soft)}.composer-send{width:34px;height:34px;color:var(--white);background:var(--accent);cursor:pointer;transition:background var(--transition);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.composer-send:disabled{opacity:.5;cursor:default}.composer-send:hover:not(:disabled){background:var(--accent-hover)}.composer-hint{color:var(--faint);margin:6px 2px 0;font-size:11.5px;font-weight:500}.composer-root .fmt-toolbar{margin-bottom:6px}.composer-mic{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.composer-send.composer-mic.is-recording{background:var(--danger);color:var(--white);transition:transform var(--transition);transform:scale(1.15)}.composer-voice-hint{border-radius:var(--radius-row);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-popover);text-align:center;white-space:normal;pointer-events:none;width:max-content;max-width:calc(100% - 24px);animation:fade-in var(--transition);margin:0 0 6px;padding:6px 12px;font-size:13px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@media (width<900px){.composer-root{padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px))}.composer-field{border-radius:13px;gap:2px;padding-block:6px}.composer-input{box-sizing:border-box;min-height:44px;max-height:calc(44px + 7.75em);padding:calc(22px - .775em) 0;font-size:16px}.composer-aa,.composer-icon-btn{width:44px;height:44px}.composer-send{border-radius:13px;width:44px;height:44px}.composer-hint{display:none}.composer-field .mention-dropdown{min-width:0;max-height:40dvh;left:0;right:0}.composer-root .fmt-toolbar{flex-wrap:nowrap;overflow-x:auto}.composer-root .fmt-btn{flex-shrink:0;width:44px;height:44px}}.composer-edit-banner{color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-btn);align-items:center;gap:8px;margin-bottom:6px;padding:6px 6px 6px 10px;display:flex}.composer-edit-target{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;padding:0;display:flex}.composer-edit-title{color:var(--accent-text);font-size:12px;font-weight:700}.composer-edit-snippet{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.composer-edit-cancel{width:28px;height:28px;color:var(--muted);border-radius:var(--radius-chip);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.composer-edit-cancel:hover{color:var(--ink);background:var(--canvas-2)}@media (width<900px){.composer-edit-cancel{width:40px;height:40px}}.modal-overlay.lightbox-root{background:var(--media-scrim);-webkit-backdrop-filter:none;backdrop-filter:none}.lightbox-content{flex-direction:column;gap:8px;max-width:92vw;max-height:92vh;display:flex}.lightbox-media{border-radius:var(--radius-chip);object-fit:contain;max-width:92vw;max-height:84vh}.lightbox-bar{color:var(--white);justify-content:space-between;align-items:center;gap:16px;display:flex}.lightbox-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.lightbox-nav,.lightbox-close,.lightbox-download{background:var(--media-chrome);color:var(--white);cursor:pointer;transition:background var(--transition);border:none;justify-content:center;align-items:center;text-decoration:none;display:flex}.lightbox-download{border-radius:var(--radius-btn);flex:none;gap:6px;padding:6px 10px;font-size:13px}.lightbox-nav{width:44px;height:64px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav.is-prev{border-radius:0 var(--radius-btn) var(--radius-btn) 0;left:16px}.lightbox-nav.is-next{border-radius:var(--radius-btn) 0 0 var(--radius-btn);right:16px}.lightbox-close{border-radius:50%;width:36px;height:36px;position:absolute;top:16px;right:16px}.lightbox-nav:hover,.lightbox-close:hover,.lightbox-download:hover{background:var(--media-chrome-hover)}@media (width<900px){.lightbox-nav{width:44px;height:64px}.lightbox-close{top:calc(12px + env(safe-area-inset-top));width:44px;height:44px;right:12px}.lightbox-content{touch-action:none}.lightbox-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.lightbox-media{max-height:100dvh}.lightbox-download{min-height:44px}}.background-picker{z-index:var(--z-popover);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-card);width:280px;box-shadow:var(--shadow-popover);padding:12px;position:fixed}.background-picker-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:600}.background-picker-modes{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.background-picker-mode{border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:var(--radius-chip);cursor:pointer;padding:8px 0;font-size:12px}.background-picker-mode.is-active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.background-picker-strip{gap:8px;margin-top:12px;padding-bottom:2px;display:flex;overflow-x:auto}.background-picker-thumb{aspect-ratio:16/9;border-radius:var(--radius-chip);background:var(--canvas-3);cursor:pointer;border:2px solid #0000;flex:0 0 88px;padding:0;overflow:hidden}.background-picker-thumb img{object-fit:cover;width:100%;height:100%;display:block}.background-picker-thumb.is-active{border-color:var(--accent)}.background-picker-note{color:var(--muted);font-size:12px}.stage-ctl-btn.is-recording{background:var(--danger);color:var(--white)}.recording-popover{z-index:var(--z-popover);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);width:300px;box-shadow:var(--shadow-popover);color:var(--ink);animation:fade-in var(--transition);flex-direction:column;gap:10px;padding:14px;display:flex;position:fixed;transform:translateY(-100%)}.recording-popover-head{font-size:14px;font-weight:600}.recording-popover-options{border:0;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.recording-popover-legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:12px}.recording-popover-option{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.recording-popover-notice,.recording-popover-error{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.recording-popover-error{color:var(--danger-text)}.recording-popover-actions{justify-content:flex-end;gap:8px;display:flex}.guest-invite-popover{z-index:var(--z-popover);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);width:320px;max-height:70vh;box-shadow:var(--shadow-popover);color:var(--ink);flex-direction:column;gap:10px;padding:14px;display:flex;position:fixed;overflow-y:auto}.guest-invite-head{font-size:14px;font-weight:600}.guest-invite-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.guest-invite-link{gap:6px;display:flex}.guest-invite-copy{justify-content:center;align-items:center;padding:0 10px;display:flex}.guest-invite-section{border-top:1px solid var(--panel-line);flex-direction:column;gap:6px;padding-top:8px;display:flex}.guest-invite-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);font-size:11px}.guest-invite-row{align-items:center;gap:6px;font-size:13px;display:flex}.guest-invite-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.guest-invite-badge{border-radius:var(--radius-pill);background:var(--canvas-2);color:var(--muted);padding:1px 6px;font-size:11px}.guest-invite-action{padding:4px}.guest-invite-error{color:var(--danger-text);margin:0;font-size:12px}.screen-picker-backdrop{z-index:var(--z-popover);background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:screen-picker-fade .18s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes screen-picker-fade{0%{opacity:0}to{opacity:1}}.screen-picker-modal{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-modal);width:min(780px,92vw);max-height:75vh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.screen-picker-header{border-bottom:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:700;display:flex}.screen-picker-close{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:flex}.screen-picker-close:hover{background:var(--canvas-2);color:var(--ink)}.screen-picker-section{padding:16px 20px 8px;overflow-y:auto}.screen-picker-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px;font-size:11px;font-weight:700}.screen-picker-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding-bottom:10px;display:grid}.screen-picker-item{background:var(--canvas-2);border:1px solid var(--line-strong);border-radius:var(--radius-card);cursor:pointer;text-align:center;transition:border-color var(--transition), box-shadow var(--transition);flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex}.screen-picker-item:hover{border-color:var(--accent);box-shadow:var(--focus-ring)}.screen-picker-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--stage);border-radius:7px;width:100%}.screen-picker-app-icon{object-fit:contain;border-radius:7px;width:48px;height:48px}.screen-picker-name{max-width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.screen-quality-modal{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-modal);width:min(360px,92vw);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.screen-quality-list{flex-direction:column;gap:8px;padding:12px;display:flex}.screen-quality-item{background:var(--canvas-2);border:1px solid var(--line-strong);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.screen-quality-item:hover{border-color:var(--accent);box-shadow:var(--focus-ring)}.screen-quality-label{color:var(--ink);font-size:13.5px;font-weight:700}.screen-quality-desc{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.call-stage{background:var(--stage);flex-direction:column;flex:none;min-width:0;display:flex;position:relative}.stage-topbar{border-bottom:1px solid var(--stage-line);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex}.stage-live-pill{border-radius:var(--radius-pill);background:var(--live-pill-bg);letter-spacing:.04em;color:var(--live-pill-text);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:7px;padding:5px 12px;font-size:11.5px;font-weight:700;display:inline-flex}.stage-live-dot{background:var(--stage-online);border-radius:50%;flex-shrink:0;width:7px;height:7px}.stage-title{color:var(--stage-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14.5px;font-weight:700;overflow:hidden}.stage-topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.stage-count-chip{border-radius:var(--radius-row);background:var(--stage-chip);color:var(--stage-muted);white-space:nowrap;padding:7px 12px;font-size:12px;font-weight:600}.stage-fullscreen-btn{border-radius:var(--radius-row);background:var(--stage-chip);width:32px;height:32px;color:var(--stage-ink);cursor:pointer;transition:background var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.stage-fullscreen-btn:hover{background:var(--stage-toggle)}.stage-reconnecting{z-index:30;border-radius:var(--radius-row);border:1px solid var(--warning);background:var(--stage-bar);color:var(--warning);padding:8px 16px;font-size:13px;font-weight:600;position:absolute;top:68px;left:50%;transform:translate(-50%)}.stage-grid{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:max-content;align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.stage-grid.is-solo{grid-template-columns:1fr}.stage-grid.is-many{grid-template-columns:1fr 1fr 1fr}.stage-tile{aspect-ratio:16/9;background:var(--stage-tile);border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.stage-tile.is-speaking{box-shadow:0 0 0 calc(2px + var(--speak-level,0) * 4px) var(--speak-ring)}.stage-tile-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage-tile-video.is-mirrored{transform:scaleX(-1)}.stage-tile-video.is-screen{transform:none}.stage-tile.is-camera-off .stage-tile-video{visibility:hidden}.call-stage .stage-tile-avatar{z-index:1;object-fit:cover;border-radius:26px;justify-content:center;align-items:center;width:74px;height:74px;font-size:28px;display:flex}.stage-tile-footer{z-index:2;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.stage-plate{border-radius:var(--radius-row);background:var(--stage-plate);min-width:0;color:var(--stage-ink);align-items:center;gap:7px;padding:5px 10px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.stage-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.stage-plate-mic{color:var(--stage-muted);align-items:center;display:flex}.stage-plate-mic.is-muted{color:var(--stage-danger)}.stage-eq{align-items:flex-end;gap:2px;height:13px;display:flex}.stage-eq span{background:var(--stage-online);transform-origin:bottom;width:2.5px;height:13px;transform:scaleY(calc((5 + 8 * var(--eq-level,0)) / 13));border-radius:1px;transition:transform 80ms linear}.stage-state-chip{background:var(--stage-plate);color:var(--stage-muted);border-radius:7px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:600}.stage-share-badge{background:var(--stage-accent);color:var(--white);letter-spacing:.02em;z-index:2;border-radius:7px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:flex;position:absolute;top:10px;left:40px}.stage-focus-btn,.stage-volume-btn{background:var(--stage-plate);width:28px;height:28px;color:var(--stage-ink);cursor:pointer;opacity:0;transition:opacity var(--transition), background var(--transition);z-index:3;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:8px}.stage-volume-btn{left:8px}.stage-focus-btn{right:44px}@media (width<900px){.stage-focus-btn,.stage-volume-btn{opacity:1;width:40px;height:40px}.stage-share-badge{left:52px}}.stage-focus-btn:hover,.stage-volume-btn:hover{background:var(--stage-accent)}.stage-tile:hover .stage-focus-btn,.stage-tile:hover .stage-volume-btn{opacity:1}.stage-conn{background:var(--stage-plate);cursor:help;z-index:3;border-radius:7px;align-items:flex-end;gap:2px;height:28px;padding:0 7px;display:inline-flex;position:absolute;top:8px;right:8px}.stage-conn-bar{opacity:.3;background:currentColor;border-radius:1px;width:3px;margin-bottom:7px}.stage-conn-bar:first-child{height:5px}.stage-conn-bar:nth-child(2){height:9px}.stage-conn-bar:nth-child(3){height:13px}.stage-conn.is-good{color:var(--stage-online)}.stage-conn.is-medium{color:var(--warning)}.stage-conn.is-poor{color:var(--stage-danger)}.stage-conn.is-unknown{color:var(--muted-2)}.stage-conn.is-good .stage-conn-bar,.stage-conn.is-medium .stage-conn-bar:first-child,.stage-conn.is-medium .stage-conn-bar:nth-child(2),.stage-conn.is-poor .stage-conn-bar:first-child{opacity:1}.stage-tip{z-index:var(--z-tooltip);background:var(--canvas);border:1px solid var(--line);min-width:168px;box-shadow:var(--shadow-menu);color:var(--ink);pointer-events:none;animation:stage-tip-in .12s var(--ease-out);border-radius:10px;padding:10px 12px;position:fixed;transform:translate(-50%,-100%)}@keyframes stage-tip-in{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}.stage-tip-head{align-items:center;gap:7px;display:flex}.stage-tip-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.stage-tip-title{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:600}.stage-tip-rows{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.stage-tip-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.stage-tip-key{color:var(--muted);font-size:12px}.stage-tip-val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.stage-tip-arrow{background:var(--canvas);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.stage-tip.is-good{color:var(--online)}.stage-tip.is-medium{color:var(--warning)}.stage-tip.is-poor{color:var(--danger)}.stage-tip.is-unknown{color:var(--muted-2)}.stage-share-banner{background:var(--stage-bar);border-bottom:1px solid var(--stage-line);color:var(--stage-ink);flex-shrink:0;align-items:center;gap:10px;padding:10px 18px;display:flex}.stage-share-banner-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.stage-share-banner-btn{border-radius:var(--radius-row);background:var(--stage-accent);height:32px;color:var(--white);cursor:pointer;transition:background var(--transition);border:none;flex-shrink:0;padding:0 14px;font-size:13px;font-weight:600}.stage-share-banner-btn:hover{background:var(--stage-accent-hover)}.stage-share-banner-dismiss{width:28px;height:28px;color:var(--stage-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.stage-share-banner-dismiss:hover{background:var(--stage-chip);color:var(--stage-ink)}.stage-watch-overlay{background:var(--stage-plate);color:var(--stage-muted);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.stage-watch-btn{background:var(--stage-accent);height:28px;color:var(--white);cursor:pointer;border:none;border-radius:7px;padding:0 12px;font-size:11px;font-weight:600}.stage-controls{z-index:1;background:var(--stage-bar);border:1px solid var(--stage-line);border-radius:var(--radius-bar);flex-shrink:0;justify-content:center;align-items:flex-start;gap:10px;width:max-content;max-width:calc(100% - 36px);margin:0 auto 14px;padding:10px;display:flex}.stage-ctl{flex-direction:column;align-items:center;gap:4px;display:flex}.stage-ctl-btn{background:var(--stage-toggle);width:46px;height:46px;color:var(--stage-ink);cursor:pointer;transition:background var(--transition);border:none;border-radius:14px;justify-content:center;align-items:center;padding:0;display:flex}.stage-ctl-btn:hover{background:var(--stage-chip)}.stage-ctl-btn.is-off{background:var(--danger);color:var(--white)}.stage-ctl-btn.is-on{background:var(--stage-accent);color:var(--white)}.stage-ctl-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.stage-ctl-label{color:var(--stage-muted);font-size:10.5px;font-weight:600}.stage-ctl-divider{background:var(--stage-line);align-self:center;width:1px;height:40px}.stage-leave-btn{background:var(--danger);width:46px;height:46px;color:var(--white);cursor:pointer;transition:filter var(--transition);border:none;border-radius:14px;justify-content:center;align-items:center;padding:0;display:flex}.stage-leave-btn:hover{filter:brightness(1.08)}.call-body{flex:1;display:flex;overflow:hidden}.call-video-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.stage-focus{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.stage-focus-main{background:var(--stage);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.stage-focus-video{object-fit:contain;width:100%;height:100%;display:block}.call-stage .stage-focus-avatar{border-radius:var(--radius-bar);object-fit:cover;pointer-events:none;justify-content:center;align-items:center;width:96px;height:96px;margin:auto;font-size:40px;display:flex;position:absolute;inset:0}.stage-focus-label{border-radius:var(--radius-row);background:var(--stage-plate);min-width:0;max-width:calc(100% - 28px);color:var(--stage-ink);z-index:5;align-items:center;gap:8px;padding:5px 10px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:14px;left:14px;overflow:hidden}.stage-focus-badge{border-radius:var(--radius-chip);background:var(--stage-accent);flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:flex}.stage-focus-controls{opacity:0;transition:opacity var(--transition);z-index:10;gap:8px;display:flex;position:absolute;top:12px;right:12px}.stage-focus-main:hover .stage-focus-controls{opacity:1}.stage-focus-main:fullscreen:hover .stage-focus-controls{opacity:1}.stage-focus-ctrl-btn{border:1px solid var(--stage-line);border-radius:var(--radius-row);background:var(--stage-plate);width:36px;height:36px;color:var(--stage-ink);cursor:pointer;transition:background var(--transition);justify-content:center;align-items:center;padding:0;display:flex}.stage-focus-ctrl-btn:hover{background:var(--stage-accent)}.stage-focus-main.is-fullscreen .stage-focus-label{display:none}.stage-focus-main:fullscreen{width:100vw;height:100vh}.stage-thumbs{border-top:1px solid var(--stage-line);scrollbar-width:thin;flex-shrink:0;align-items:stretch;gap:8px;height:min(110px,25%);padding:8px 12px;display:flex;overflow:auto hidden}.stage-thumbs::-webkit-scrollbar{height:4px}.stage-thumbs::-webkit-scrollbar-track{background:0 0}.stage-thumbs::-webkit-scrollbar-thumb{background:var(--stage-toggle);border-radius:2px}.stage-thumb{aspect-ratio:16/9;background:var(--stage-tile);cursor:pointer;width:auto;height:100%;transition:box-shadow var(--transition);border-radius:10px;flex-shrink:0;position:relative;overflow:hidden}.stage-thumb:hover{box-shadow:0 0 0 2px var(--stage-toggle)}.stage-thumb.is-focused{box-shadow:0 0 0 2px var(--stage-accent)}.stage-thumb.is-speaking{box-shadow:0 0 0 calc(2px + var(--speak-level,0) * 4px) var(--speak-ring)}.stage-thumb video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage-thumb video.is-mirrored{transform:scaleX(-1)}.stage-thumb.is-camera-off video{visibility:hidden}.stage-thumb video.is-screen{transform:none}.stage-thumb-avatar{object-fit:cover;border-radius:11px;justify-content:center;align-items:center;width:32px;height:32px;margin:auto;font-size:13px;display:flex;position:absolute;inset:0}.stage-thumb-badge{border-radius:var(--radius-chip);background:var(--stage-accent);color:var(--white);z-index:2;padding:3px 5px;display:flex;position:absolute;top:4px;right:4px}.stage-thumb-label{border-radius:var(--radius-chip);background:var(--stage-plate);min-width:0;color:var(--stage-ink);z-index:2;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:600;display:flex;position:absolute;bottom:4px;left:5px;right:5px;overflow:hidden}.stage-thumbs .stage-thumb .stage-volume-btn{opacity:1;width:20px;height:20px;top:4px;left:4px}.stage-thumbs .stage-thumb .stage-conn{height:20px;padding:0 5px;top:4px;right:4px}.stage-thumbs .stage-thumb .stage-thumb-badge{right:28px}.call-stage .stage-thumbs .stage-thumb .stage-conn-bar{width:2px;margin-bottom:4px}.stage-thumbs .stage-thumb .stage-conn-bar:first-child{height:3px}.stage-thumbs .stage-thumb .stage-conn-bar:nth-child(2){height:6px}.stage-thumbs .stage-thumb .stage-conn-bar:nth-child(3){height:9px}.stage-rec-pill{border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--danger-text);letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:700;display:inline-flex}.stage-rec-who{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage-rec-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite stage-rec-blink}@keyframes stage-rec-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.stage-rec-dot{animation:none}}.stage-rec-toast{background:var(--panel);color:var(--ink)}
