:root{color:#fff;background-color:#0d0d0d;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}body{background-color:#0d0d0d;min-width:320px;min-height:100vh;margin:0;overflow:hidden}*{box-sizing:border-box}#root{width:100vw;height:100vh}.user-card-root{width:100%;height:100%;box-shadow:none;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:0;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex;position:relative;overflow:hidden}.user-card-root:hover{box-shadow:none}.user-card-background-text{text-align:center;color:#fff;opacity:.25;white-space:pre-line;word-break:break-word;pointer-events:none;width:calc(100% - 20px);font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-avatar-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff14;border:none;border-radius:999px;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;overflow:hidden}.message-avatar-btn.interactive{outline:1px solid #fff6}.user-avatar{object-fit:cover;border-radius:999px;width:100%;height:100%}.user-info-popup{color:#222;z-index:120;background:#fff;border-radius:8px;flex-direction:column;gap:8px;width:180px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 6px 18px #0000003d}.popup-row{flex-direction:column;gap:2px;display:flex}.popup-label{color:#777;font-size:10px}.popup-value{color:#222;word-break:break-word;font-size:12px;line-height:1.2}.user-card-message-layer{z-index:2;-ms-overflow-style:none;scrollbar-width:none;flex-direction:column;gap:5px;padding-right:2px;display:flex;position:absolute;inset:8px 10px 48px;overflow:hidden auto}.user-card-message-layer::-webkit-scrollbar{width:0;height:0;display:none}.user-message-row{align-items:flex-start;gap:6px;width:100%;padding:3px 0;display:flex}.user-message-row.self{justify-content:flex-end}.user-message-row.remote{justify-content:flex-start}.user-message-content{flex-direction:column;flex:1;min-width:0;display:flex}.user-message-content.self{align-items:flex-end}.user-message-content.remote{align-items:flex-start}.user-chat-bubble-row{align-items:flex-start;gap:6px;width:100%;display:flex}.user-chat-bubble-row.self{justify-content:flex-end}.user-chat-bubble-row.remote{justify-content:flex-start}.user-chat-row{background:#fff;border-radius:10px;flex-direction:column;gap:6px;max-width:calc(100% - 30px);padding:13px 13px 8px;display:flex;box-shadow:0 1px 2px #0003}.user-chat-row.self,.user-chat-row.remote{color:#2c3e50}.user-chat-name{color:#fffffff2;padding:5px 3px;font-size:11px;line-height:1}.user-chat-text{white-space:pre-wrap;word-break:break-word;font-weight:500;line-height:1.28}.user-chat-main-line{align-items:flex-start;gap:6px;display:flex}.message-tts-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;box-sizing:border-box;background:0 0;border:none;flex:none;justify-content:center;align-self:flex-start;align-items:center;width:20px;min-width:20px;min-height:20px;padding:3px 2px 0;display:flex}.message-tts-btn.self,.message-tts-btn.remote{color:inherit}.message-tts-icon{object-fit:contain;flex:none;width:16px;height:20px;display:block}.user-chat-origin-wrapper{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .18s,opacity .18s,transform .18s,margin-top .18s;display:grid;transform:translateY(-4px)}.user-chat-origin-wrapper.expanded{opacity:1;grid-template-rows:1fr;margin-top:6px;transform:translateY(0)}.user-chat-origin-inner{overflow:hidden}.user-chat-origin{color:#666;white-space:pre-wrap;word-break:break-word;font-size:12px;font-weight:400;line-height:1.2}.translation-toggle-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;padding:0;display:flex;transform:translate(5px,2px)}.translation-toggle-icon{object-fit:contain;width:20px;height:20px;display:block}.user-card-toolbar{z-index:2;align-items:center;gap:6px;height:34px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.toolbar-btn{color:#fffffff2;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000057;border:none;border-radius:9px;min-width:30px;height:30px;padding:0 8px}.toolbar-btn.primary{background:#ffffff3d}.toolbar-btn-icon{object-fit:contain;width:16px;height:16px;margin:0 auto;display:block}.toolbar-input{color:#202020;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:none;border-radius:9px;outline:none;flex:1;min-width:0;height:30px;padding:0 8px;font-size:12px}.toolbar-remote-tag{background:#0000004d;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:10px}.toast-container{z-index:9999;pointer-events:none;transition:opacity .3s,transform .3s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.toast-visible{opacity:1;transform:translate(-50%)translateY(0)}.toast-hidden{opacity:0;transform:translate(-50%)translateY(10px)}.toast-message{color:#fff;white-space:nowrap;background:#000000d9;border-radius:8px;padding:10px 20px;font-size:14px;box-shadow:0 4px 12px #0000004d}.app-root{color:#fff;background-color:#0d0d0d;flex-direction:column;width:100vw;height:100dvh;font-family:Inter,system-ui,sans-serif;display:flex;overflow:hidden}.app-root,.app-root *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-root input,.app-root textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.app-root button,.app-root [role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.control-btn{color:#fff;cursor:pointer;background:#6a66ffe6;border:none;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .2s}.control-btn:hover{background:#6a66ff;transform:translateY(-1px)}.conference-main{box-sizing:border-box;flex:1;width:100%;min-height:0;padding:0;position:relative;overflow:hidden}.layout-canvas{width:100%;height:100%;box-shadow:none;background:#fff;border-radius:0;position:relative;overflow:hidden}.message-overlay{z-index:18;box-sizing:border-box;pointer-events:none;padding:8px 12px;position:absolute;bottom:50px;left:0;right:0}.message-list{pointer-events:auto;flex-direction:column;gap:8px;width:min(62vw,760px);max-height:min(38vh,360px);display:flex;overflow-y:auto}.message-item{box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;max-width:100%;padding:8px 12px}.message-item.remote{color:#1e1e1e;background:#ffffffe6;align-self:flex-start}.message-item.self{color:#fff;background:#6a66ffeb;align-self:flex-end}.message-user{opacity:.75;margin-bottom:4px;font-size:11px;line-height:1.3}.message-text{word-break:break-word;white-space:pre-wrap;line-height:1.45}.bottom-island{box-sizing:border-box;z-index:20;background:#fff;border:1px solid #00000026;align-items:center;gap:10px;min-height:52px;padding:4px 10px;display:flex;position:relative;left:0;right:0}.island-transcript{color:#7986cb;flex:1;align-items:center;min-width:0;min-height:20px;padding-bottom:1px;font-size:14px;line-height:1.2;display:flex;position:relative;overflow:hidden}.island-transcript-text{white-space:nowrap;will-change:transform;padding:1px 0 2px;line-height:1.2;display:inline-block}.island-right{align-items:center;gap:10px;display:flex}.waveform-box{justify-content:flex-end;align-items:center;gap:2px;width:150px;height:40px;display:none}.waveform-box.visible{display:flex}.wave-bar{transform-origin:50%;background:currentColor;border-radius:999px;width:2px;min-height:2px}.waveform-processing{justify-content:center;align-items:center;gap:4px;width:150px;height:40px;display:none}.waveform-processing.visible{display:flex}.waveform-processing-dot{background:currentColor;border-radius:999px;width:4px;height:4px;animation:.8s linear infinite alternate waveform-processing-pulse}.waveform-processing-dot:nth-child(2){animation-delay:.16s}.waveform-processing-dot:nth-child(3){animation-delay:.32s}@keyframes waveform-processing-pulse{0%{opacity:.55;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.start-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;align-items:center;gap:4px;height:40px;padding:0 12px;font-size:12px;display:inline-flex}.start-btn.recording{background:#cf2121}.start-btn.muted{background:#9e9e9e}.start-icon{object-fit:contain;flex:none;width:20px;height:20px;display:block}.code-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;height:40px;padding:0 2px;display:inline-flex}.code-text{color:#7986cb;font-size:18px;font-weight:700}.code-icon{color:#7986cb;font-size:16px}.code-icon-img{object-fit:contain;flex:none;width:50px;height:40px;display:block}.tool-btn{cursor:pointer;color:#000;background:#e4e4e4;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:50px;height:40px;padding:5px;font-size:9px;transition:background-color .2s;display:flex}.tool-btn:hover{background:#d8d8d8}.tool-btn-icon-img{object-fit:contain;flex:none;width:18px;height:18px;display:block}.tool-btn-text{white-space:nowrap;font-size:9px;line-height:1}.tool-btn.active{color:#fff;background:#4caf50}.tool-btn.danger{color:#fff;background:#cf2121}.anchor-layer{z-index:99;position:fixed;inset:0}.anchor-popup{z-index:100;background:0 0;border:none;padding:0;position:fixed}.group-popup,.qr-popup{width:min(360px,100vw - 12px)}.popup-card{background:#fff;border-radius:22px;box-shadow:0 10px 30px #0003}.qr-card{gap:10px;width:100%;padding:22px 28px;display:grid}.popup-caption{color:#7a7a7a;font-size:13px}.qr-language-select-wrap{border:2px solid #e6e6e6;border-radius:10px;padding:0 12px}.qr-language-select{color:#333;background:0 0;border:none;outline:none;width:100%;height:42px;font-size:13px}.qr-code-preview{cursor:pointer;background:#fff;border-radius:6px;justify-content:center;justify-self:center;align-items:center;width:260px;height:260px;padding:8px;transition:transform .2s;display:flex}.qr-image{object-fit:contain;width:100%;height:100%;display:block}.qr-code-preview:hover{transform:scale(1.02)}.qr-code-preview:active{transform:scale(.98)}.qr-code-text{text-align:center;color:#6a66ff;letter-spacing:5px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700}.group-card{gap:14px;width:100%;max-height:min(420px,100vh - 12px);padding:18px;display:grid}.popup-section-title{color:#7a7a7a;margin-bottom:8px;font-size:16px}.popup-section-title.join-section{margin-bottom:6px;font-size:14px}.group-user-list{gap:10px;max-height:min(220px,100vh - 260px);display:grid;overflow:auto}.group-user-row{border-radius:14px;justify-content:space-between;align-items:center;height:44px;padding:0 12px;display:flex}.group-user-meta{color:#fff;align-items:center;gap:8px;min-width:0;display:inline-flex}.group-user-avatar{border-radius:999px;flex:none;width:28px;height:28px}.group-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:14px;overflow:hidden}.group-user-tag,.group-user-lang{opacity:.8;font-size:10px}.group-user-lang{line-height:11px}.group-user-actions{gap:8px;display:inline-flex}.group-icon-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:opacity .2s;display:inline-flex}.group-icon-btn.local-user{opacity:.4}.group-icon-btn:disabled{opacity:.4;cursor:default}.group-icon-btn:hover:not(:disabled):not(.local-user){opacity:.8}.group-user-action-icon{width:18px;height:18px;display:block}.group-join-row{grid-template-columns:1fr auto;gap:8px;display:grid}.group-join-input-wrap{border:1.5px solid #d2d2d2;border-radius:12px;grid-template-columns:1fr auto;align-items:center;min-width:0;height:56px;padding:0 10px;transition:border-color .2s,border-width .2s;display:grid}.group-join-input-wrap:focus-within{border-width:2px;border-color:#6a66ff}.group-join-input{color:#333;background:0 0;border:none;outline:none;font-size:12px}.group-join-input::placeholder{color:#b0b0b0;font-size:12px}.group-scan-btn{color:#6a66ff;cursor:pointer;background:0 0;border:none;font-size:12px}.group-join-btn{color:#fff;cursor:pointer;background:#6a66ff;border:none;border-radius:12px;min-width:74px;height:56px;font-size:13px}.overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.setting-dialog{background:#fff;border-radius:7px;flex-direction:column;width:432px;max-height:90vh;display:flex;overflow:hidden}.setting-content{flex:1;padding:20px 16px;overflow-y:auto}.setting-section{margin-bottom:20px}.setting-section:last-child{margin-bottom:0}.setting-section-title{color:#333;margin-bottom:12px;font-size:14px;font-weight:600}.setting-users-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.setting-user-card{border-radius:4px;flex-direction:column;padding:3px;transition:background-color .3s;display:flex}.setting-user-content{flex-direction:column;flex:1;align-items:center;gap:8px;padding:3px;display:flex}.setting-user-avatar-box{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex}.setting-user-avatar-trigger{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.setting-user-avatar{object-fit:cover;border-radius:50%;width:50%;height:50%}.setting-user-name-input{color:#333;text-align:center;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;outline:none;width:100%;padding:2px;font-size:10px;overflow:hidden}.setting-user-lang-select{color:#fff;text-align:center;cursor:pointer;background:0 0;border:none;outline:none;width:100%;padding:2px;font-size:12px}.setting-user-lang-select option{color:#333;background:#fff}.setting-user-enable-btn{color:#fff;cursor:pointer;background:#d5d5d5;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;height:20px;margin-top:2px;font-size:16px;transition:background-color .3s;display:flex}.setting-user-enable-btn.enabled{background:#00de5c}.setting-slider-item{padding:0}.setting-slider-label{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.setting-slider-title{color:#333;font-size:12px;font-weight:400}.setting-slider-detail{color:#666;font-size:10px}.setting-slider-row{align-items:center;gap:12px;height:40px;padding:0 8px;display:flex}.setting-slider-track{cursor:pointer;background:#dbdddf;border-radius:9px;flex:1;height:18px;transition:background .2s;position:relative;overflow:hidden}.setting-slider-track:active{cursor:grabbing}.setting-slider-track:active .setting-slider-fill{background:#3a57d8}.setting-slider-fill{background:#4367e8;border-radius:9px;height:100%;transition:width .15s}.setting-slider-value{color:#666;text-align:right;min-width:45px;font-size:11px}.setting-actions{background:#fafafa;border-top:1px solid #e0e0e0;gap:12px;padding:12px 16px;display:flex}.setting-action-btn{cursor:pointer;border:none;border-radius:6px;flex:1;height:40px;font-size:14px;font-weight:500;transition:all .2s}.setting-action-btn.cancel{color:#666;background:#f0f0f0}.setting-action-btn.cancel:hover{background:#e5e5e5}.setting-action-btn.confirm{color:#fff;background:#6a66ff}.setting-action-btn.confirm:hover{background:#5a56ef}.setting-name-editor-overlay{z-index:110;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.setting-name-editor-dialog{background:#fff;border-radius:10px;flex-direction:column;gap:12px;width:min(320px,100vw - 48px);padding:16px;display:flex}.setting-name-editor-title{color:#333;font-size:14px;font-weight:600}.setting-name-editor-input{color:#333;border:1px solid #d7d7d7;border-radius:6px;outline:none;width:100%;height:40px;padding:0 10px;font-size:14px}.setting-name-editor-input:focus{border-color:#6a66ff}@media (pointer:coarse){.group-join-input,.group-join-input::placeholder,.setting-name-editor-input,.qr-language-select,.setting-user-lang-select{font-size:16px}}.setting-name-editor-actions{gap:12px;display:flex}.panel{background:#fff;border:1px solid #0000001f;border-radius:14px;gap:16px;width:min(700px,100vw - 32px);max-height:calc(100vh - 64px);padding:24px;display:grid;overflow:auto}.panel h3{color:#333;margin:0}.panel p{color:#666;margin:0}.init-panel{text-align:center;justify-items:center;width:min(420px,100vw - 32px)}.inline-row{align-items:center;gap:10px;display:flex}.danger-action{background:#ff3b30e6}.qr-zoom-overlay{z-index:200;background:#000000d9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.qr-zoom-content{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:min(600px,90vw);height:min(600px,90vw);padding:20px;animation:.3s zoomIn;display:flex;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.qr-zoom-close{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:10px;right:10px}.qr-zoom-close:hover{background:#000c}.qr-zoom-image{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.qr-zoom-img{object-fit:contain;width:100%;height:100%;display:block}.qr-scanner-modal{z-index:200;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-scanner-header{color:#fff;text-align:center;margin-bottom:20px;font-size:18px;font-weight:600}.qr-scanner-video-container{background:#000;border:3px solid #6a66ff;border-radius:12px;width:min(500px,90vw);height:min(500px,90vw);position:relative;overflow:hidden}.qr-scanner-video{object-fit:cover;width:100%;height:100%}.qr-scanner-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.qr-scanner-frame{border:3px solid #6a66ff;border-radius:12px;width:70%;height:70%;box-shadow:0 0 0 9999px #00000080}.qr-scanner-actions{gap:12px;margin-top:20px;display:flex}.qr-scanner-btn{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.qr-scanner-btn.primary{color:#fff;background:#6a66ff}.qr-scanner-btn.primary:hover{background:#5a56ef}.qr-scanner-btn.secondary{color:#333;background:#f0f0f0}.qr-scanner-btn.secondary:hover{background:#e5e5e5}.qr-scanner-status{color:#fff;text-align:center;min-height:20px;margin-top:12px;font-size:14px}.qr-scanner-error{color:#ff5252}.qr-scanner-success{color:#4caf50}
