.hairline-sep{height:1px;background:var(--hairline);margin:.2rem 0}.dl-cta{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dl-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;font-weight:600;color:var(--accent-ink);background:var(--aurora);border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:0 6px 18px -8px #7c5cffb3;transition:transform .12s ease,filter .15s}.dl-primary:hover{filter:brightness(1.08);transform:translateY(-1px);border-color:transparent}.dl-mini{font-size:.86rem;text-align:center;margin:0}.dl-alt{font-size:.82rem;border-bottom:none}.dl-panel{gap:1.1rem}.dl-head h2{margin:0 0 .3rem;font-size:1.25rem;letter-spacing:-.01em}.dl-platform{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem;border-radius:var(--radius);background:#0a0d1466;border:1px solid var(--hairline)}.dl-platform.detected{border-color:color-mix(in srgb,var(--aurora-1) 45%,var(--hairline));background:#7c5cff14}.dl-platform-name{display:flex;align-items:center;gap:.5rem;font-weight:600}.dl-tag{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.12rem .4rem;border-radius:6px;color:var(--accent-ink);background:var(--aurora)}.dl-assets{display:flex;flex-wrap:wrap;gap:.5rem}.dl-asset{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;color:var(--ink);background:var(--glass-3);border:1px solid var(--hairline)}.dl-asset:hover{border-color:var(--hairline-strong);background:color-mix(in srgb,var(--glass-3) 80%,#fff 6%)}.dl-ext{font-family:Space Mono,ui-monospace,Menlo,monospace;font-size:.74rem;color:var(--ink-faint)}.dl-foot{font-size:.8rem;line-height:1.55}.dl-foot code{font-family:Space Mono,ui-monospace,Menlo,monospace;font-size:.76rem;background:#0a0d1480;border:1px solid var(--hairline);border-radius:6px;padding:.05rem .35rem}.account-settings{gap:.8rem}.account-block{background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius);padding:.9rem 1rem;gap:.7rem}.account-block.account-danger{border-color:#ff5d6c4d}.account-title{margin:0;font-size:.95rem;font-weight:600}.account-desc{margin-top:.2rem;font-size:.82rem}.account-ok{color:var(--ink-dim);font-size:.85rem;background:#7c5cff1a;border:1px solid rgba(124,92,255,.3);border-radius:var(--radius-sm);padding:.5rem .7rem}.account-confirm{flex-wrap:wrap;gap:.5rem}.account-confirm button{font-size:.82rem;padding:.4rem .7rem}.account-devices-empty{font-size:.85rem}.account-devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.account-device{align-items:center;gap:.6rem;padding:.55rem .7rem;background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius-sm)}.account-device-info{gap:.15rem;min-width:0}.account-device-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500}.account-device-current{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);background:#7c5cff29;border:1px solid rgba(124,92,255,.34);border-radius:999px;padding:.05rem .45rem}.account-device-meta{font-size:.76rem;font-variant-numeric:tabular-nums}.account-device-revoke{font-size:.8rem;padding:.35rem .65rem}.account-device-rename-input{flex:1;min-width:0;font-size:.88rem}.account-device-rename-action{font-size:.8rem;padding:.35rem .65rem}.server-settings{background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius);padding:.9rem 1rem;gap:.7rem}.server-title{margin:0;font-size:.95rem;font-weight:600}.server-desc{margin-top:.2rem;font-size:.82rem}.server-current{margin:.45rem 0 0;font-size:.78rem;word-break:break-all}.room-settings{display:flex;flex-direction:column;gap:.7rem;border-top:1px solid var(--hairline);padding-top:.6rem}.room-settings-toggles{display:flex;flex-direction:column;gap:.5rem}.room-toggle{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer}.room-toggle input{margin-top:.2rem}.room-toggle-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.room-toggle-label{font-size:.85rem}.room-toggle-hint{font-size:.72rem;color:var(--ink-faint)}.room-mods{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--hairline);padding-top:.6rem}.room-mods-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.room-mods-add{display:flex;gap:.4rem}.room-mods-add input{flex:1;min-width:0}.room-mods-add button{font-size:.82rem;padding:.4rem .7rem}.room-mods-empty{font-size:.8rem}.room-mod-row{display:flex;align-items:center;gap:.5rem}.room-mod-id{flex:1;min-width:0;font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-mod-row button{font-size:.82rem;padding:.4rem .7rem}.analytics-panel{background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius);padding:.9rem 1rem;gap:.7rem}.analytics-empty{font-size:.85rem}.analytics-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}.analytics-stat{display:flex;flex-direction:column;gap:.15rem;background:#ffffff08;border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:.55rem .6rem}.analytics-stat-value{font-size:1.15rem;font-weight:600}.analytics-stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}.analytics-table{display:flex;flex-direction:column;border-top:1px solid var(--hairline);padding-top:.5rem}.analytics-row{display:grid;grid-template-columns:1fr 3.2rem 3.2rem 3.6rem 2.6rem;gap:.4rem;align-items:center;padding:.35rem 0;font-size:.82rem}.analytics-row+.analytics-row{border-top:1px solid var(--hairline)}.analytics-row span:not(.analytics-room){text-align:right;font-variant-numeric:tabular-nums}.analytics-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}.analytics-head .analytics-room{letter-spacing:.05em}.analytics-room{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rooms-list{display:flex;flex-direction:column;gap:.7rem}.room-item{background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius);padding:.8rem .9rem;display:flex;flex-direction:column;gap:.65rem}.room-item.closed{opacity:.6}.room-head{display:flex;align-items:center;gap:.6rem}.room-head .room-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-tags{display:flex;gap:.35rem;flex-wrap:wrap}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--hairline);border-radius:999px;padding:.1rem .45rem}.tag.closed{color:#ff97a1;border-color:#ff5d6c4d}.room-actions{display:flex;gap:.4rem;flex-wrap:wrap}.room-actions button{font-size:.82rem;padding:.4rem .7rem}.room-links{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--hairline);padding-top:.6rem}.link-meta{display:flex;flex-direction:column;min-width:0;gap:.15rem}.link-meta .link-code{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.link-meta .link-sub{font-size:.72rem;color:var(--ink-faint)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.link-opts{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--hairline);padding-top:.7rem}.seg{display:flex;gap:0;border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow:hidden}.seg button{flex:1;background:transparent;border:none;border-radius:0;font-size:.78rem;padding:.4rem .3rem;color:var(--ink-dim)}.seg button+button{border-left:1px solid var(--hairline)}.seg button.active{background:#ffffff0f;color:var(--ink)}.settings-section{border-top:1px solid var(--hairline);padding-top:.9rem;display:flex;flex-direction:column;gap:.8rem}.settings-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.9rem}.settings-caret{font-size:.7rem;color:var(--ink-faint)}.settings-body{gap:.8rem}.prejoin{gap:.85rem}.prejoin-meter{height:10px;border-radius:999px;background:#0a0d148c;border:1px solid var(--hairline);overflow:hidden}.prejoin-meter-fill{height:100%;width:100%;transform-origin:left center;border-radius:inherit;background:var(--aurora);transition:transform .08s linear}.prejoin-hint,.prejoin-mic-error{font-size:.76rem}.prejoin-mic-error{color:#ff97a1}.prejoin-required{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.55rem .7rem;border-radius:var(--radius-sm);background:#ff5d6c1a;border:1px solid rgba(255,93,108,.3)}.prejoin-required button.ghost{font-size:.82rem;padding:.4rem .7rem;flex:none}.prejoin-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.prejoin-row button.ghost{font-size:.84rem;padding:.45rem .8rem}.prejoin-conn{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.32rem .7rem;border-radius:999px;border:1px solid var(--hairline)}.prejoin-conn .dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;flex:none}.prejoin-conn.checking{color:var(--ink-dim)}.prejoin-conn.checking .dot{animation:breathe 1.4s ease-in-out infinite}.prejoin-conn.ok{color:var(--good);border-color:#34d39959;background:#34d3991a}button.prejoin-conn.fail{color:var(--danger);border-color:#ff5d6c59;background:#ff5d6c1a;box-shadow:none}button.prejoin-conn.fail:hover{background:#ff5d6c2e;filter:none}.mod-menu{position:absolute;top:.5rem;right:.5rem;z-index:3}.mod-trigger{width:30px;height:30px;padding:0;display:grid;place-items:center;color:var(--ink-dim);opacity:0;transition:opacity .15s,color .15s,border-color .15s,background .15s}.tile:hover .mod-trigger,.mod-trigger:focus-visible,.mod-menu:has(.mod-popover) .mod-trigger{opacity:1}.mod-trigger:hover{color:var(--ink)}.mod-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:var(--shadow);animation:mod-pop .12s ease}@keyframes mod-pop{0%{opacity:0;transform:translateY(-4px)}}.mod-head{display:block;padding:4px 8px 6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-item{width:100%;text-align:left;padding:.5rem .6rem;border-radius:var(--radius-sm);background:transparent;border-color:transparent;color:var(--ink);box-shadow:none;font-weight:500}.mod-item:hover:not(:disabled){filter:none;transform:none;background:var(--glass-3)}.mod-item.danger-text{color:var(--danger)}.mod-item.danger-text:hover:not(:disabled){background:#ff5d6c1f}.mod-confirm{display:flex;flex-direction:column;gap:.5rem;padding:2px}.mod-reason{font-size:.85rem;padding:.45rem .6rem}.mod-confirm-row{display:flex;gap:.4rem}.mod-cancel,.mod-ban{flex:1;padding:.45rem .6rem;font-size:.85rem}.face{position:relative;display:grid;place-items:center}.cam{position:relative;width:84px;height:60px;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px -10px #000c}.cam.silent{filter:saturate(.85) brightness(.92)}.cam-video{width:100%;height:100%;object-fit:cover;display:block;background:#0a0c12}.cam .pulse{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:16px;border:2px solid var(--user-color, var(--good));animation:pulse 1.5s ease-out infinite;pointer-events:none}.face .mute-overlay{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--danger);border:2px solid #0a0c12;box-shadow:0 4px 12px -4px #000000b3;z-index:1}.badge.mod{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--hairline))}.vol-menu{position:absolute;top:.5rem;left:.5rem;z-index:3}.vol-trigger{width:30px;height:30px;padding:0;display:grid;place-items:center;color:var(--ink-dim);opacity:0;transition:opacity .15s,color .15s,border-color .15s,background .15s}.tile:hover .vol-trigger,.vol-trigger:focus-visible,.vol-menu:has(.vol-popover) .vol-trigger{opacity:1}.vol-trigger:hover{color:var(--ink)}.vol-trigger.is-muted{color:var(--danger);opacity:1}.vol-popover{position:absolute;top:calc(100% + 6px);left:0;width:188px;display:flex;flex-direction:column;gap:.55rem;padding:.7rem .75rem;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:var(--shadow);animation:vol-pop .12s ease}@keyframes vol-pop{0%{opacity:0;transform:translateY(-4px)}}.vol-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.vol-value{font-variant-numeric:tabular-nums;color:var(--ink-dim)}.vol-row{display:flex;align-items:center;gap:.55rem}.vol-mute{width:28px;height:28px;flex:0 0 auto;padding:0;display:grid;place-items:center;color:var(--ink-dim)}.vol-mute:hover:not(:disabled){color:var(--ink)}.vol-mute.is-muted{color:var(--danger)}.vol-slider{flex:1 1 auto;width:100%;height:18px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.vol-slider:disabled{cursor:default;opacity:.5}.vol-slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--user-color, var(--accent)) calc(var(--vol-fill, 1) * 100%),var(--glass-3) calc(var(--vol-fill, 1) * 100%))}.vol-slider::-moz-range-track{height:4px;border-radius:999px;background:var(--glass-3)}.vol-slider::-moz-range-progress{height:4px;border-radius:999px;background:var(--user-color, var(--accent))}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-5px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--user-color, var(--accent));box-shadow:0 2px 6px -2px #000000b3}.vol-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--user-color, var(--accent));box-shadow:0 2px 6px -2px #000000b3}.vol-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.vol-slider:focus-visible::-moz-range-thumb{outline:2px solid var(--accent);outline-offset:2px}.typing-indicator{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;color:var(--muted, #8b8b96);min-height:18px}.typing-text{font-style:italic}.typing-dots{display:inline-flex;align-items:flex-end;gap:3px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:currentColor;animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion: reduce){.typing-dots span{animation:none;opacity:.6}}.chat-day{display:flex;align-items:center;gap:.6rem;margin:.2rem 0;color:var(--ink-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.chat-day:before,.chat-day:after{content:"";flex:1;height:1px;background:var(--hairline)}.chat-line .when{margin-right:.4rem;color:var(--ink-faint);font-size:.72rem;font-variant-numeric:tabular-nums}.chat-line .body{color:var(--ink-dim)}.ptt-settings{display:flex;flex-direction:column;gap:.5rem;padding:.25rem;min-width:220px}.ptt-toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.ptt-toggle input{width:auto;margin:0;cursor:pointer}.ptt-desc{margin:0;font-size:.78rem;line-height:1.35;color:var(--ink-dim)}.ptt-key-row{display:flex;align-items:center;gap:.5rem}.ptt-key-label{flex:1;font-size:.8rem;color:var(--ink-dim)}.ptt-key-cap{min-width:80px;padding:.35rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--glass-3);color:var(--ink);font-size:.8rem;box-shadow:none}.ptt-key-cap.capturing{border-color:var(--accent);color:var(--accent)}.ptt-key-cap kbd{font-family:inherit;font-weight:600}.ptt-key-reset{font-size:.78rem;padding:.35rem .55rem}.reaction-bar{display:inline-flex;align-items:center;gap:.25rem}.reaction-btn{width:38px;height:38px;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.reaction-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:40}.reaction-float{position:absolute;bottom:6rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;transform:translate(-50%);animation:reaction-rise 4s cubic-bezier(.22,.61,.36,1) forwards;will-change:transform,opacity}.reaction-emoji{font-size:2.2rem;line-height:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}.reaction-name{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.1rem .45rem;border-radius:999px;white-space:nowrap;background:#0a0d1499;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--hairline)}@keyframes reaction-rise{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.6)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-46vh) scale(1.05)}}.ctrl-pop{position:relative;display:inline-flex}.ctrl-popover{position:absolute;bottom:calc(100% + 8px);left:0;min-width:180px;max-width:280px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:var(--shadow);z-index:5;animation:ctrl-pop .12s ease}@keyframes ctrl-pop{0%{opacity:0;transform:translateY(4px)}}.ctrl-pop-head{display:block;padding:4px 8px 6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.ctrl-pop-note{padding:.5rem .6rem;font-size:.8rem;line-height:1.35;color:var(--ink-dim)}.ctrl-pop-note.danger-text{color:var(--danger)}.ctrl-pop-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.5rem .6rem;border-radius:var(--radius-sm);background:transparent;border-color:transparent;color:var(--ink);box-shadow:none;font-weight:500}.ctrl-pop-item:hover:not(:disabled){filter:none;transform:none;background:var(--glass-3)}.app-audio-menu,.window-menu{max-height:320px;overflow-y:auto}.denoise-hint{font-size:.74rem;line-height:1.2;color:var(--ink-dim);white-space:nowrap;cursor:default}.app-audio-kind{flex:none;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:999px;color:var(--ink-faint);background:var(--glass-3)}.icon-btn .app-audio-tag{position:absolute;right:2px;bottom:1px;font-size:.5rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1;color:var(--ink-faint);pointer-events:none}.icon-btn:has(.app-audio-tag){position:relative}.icon-btn .ptt-key-tag{position:absolute;right:2px;bottom:1px;max-width:22px;overflow:hidden;text-overflow:ellipsis;font-size:.5rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1;color:var(--accent);pointer-events:none}.icon-btn:has(.ptt-key-tag){position:relative}.ctrl-split{gap:1px}.ctrl-split-main{border-top-right-radius:0;border-bottom-right-radius:0}.ctrl-split-caret{width:18px;min-width:18px;padding:0;border-top-left-radius:0;border-bottom-left-radius:0}.ctrl-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor}.bg-swatch{flex:none;width:16px;height:16px;border-radius:4px;border:1px solid var(--hairline)}.bg-swatch.bg-none{background:var(--glass-3)}.bg-swatch.bg-blur{background:var(--glass-3);filter:blur(1px);box-shadow:inset 0 0 0 1px var(--hairline)}.bg-swatch.bg-image{background:linear-gradient(135deg,var(--accent),var(--glass-3))}.bg-check{margin-left:auto;color:var(--accent);font-size:.8rem}.icon-btn.e2ee-on{color:var(--accent)}.icon-btn .e2ee-dot,.e2ee-status .e2ee-dot{flex:none;width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.icon-btn .e2ee-dot{position:absolute;right:1px;top:1px;width:6px;height:6px;pointer-events:none}.icon-btn.e2ee-on{position:relative}.e2ee-menu{min-width:220px}.e2ee-status{display:flex;align-items:center;gap:.45rem;color:var(--ink);font-weight:500}.e2ee-form{display:flex;flex-direction:column;gap:6px;padding:2px 4px 4px}.e2ee-input{width:100%;padding:.45rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--glass-3);color:var(--ink);font:inherit;font-size:.85rem}.e2ee-input:focus{outline:none;border-color:var(--accent)}.ctrl-pop-item.e2ee-go,.ctrl-pop-item.e2ee-off{justify-content:center;font-weight:600}.ctrl-pop-item.e2ee-go{color:var(--accent)}.ctrl-pop-item.e2ee-go:disabled{color:var(--ink-faint);cursor:default}.ctrl-pop-item.e2ee-off{color:var(--danger)}.e2ee-fine{font-size:.72rem;line-height:1.3;color:var(--ink-faint)}.owner-stats{border-top:1px solid var(--hairline);display:flex;flex-direction:column;max-height:40vh;overflow:auto}.owner-stats .panel-head{border-bottom:none;padding-bottom:.4rem}.owner-stats-error{margin:0 .9rem .5rem}.owner-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem;padding:0 .9rem .9rem}.owner-stat{display:flex;flex-direction:column;gap:.12rem}.owner-stat>span:first-child{font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.owner-stat>span:last-child{font-family:Space Mono,ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.owner-stats-empty{margin:0 .9rem .9rem;font-size:.82rem}.owner-stats-subhead{display:flex;align-items:center;gap:.45rem;padding:0 .9rem .5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.owner-ban-count{font-family:Space Mono,ui-monospace,Menlo,monospace;font-size:.66rem;padding:.04rem .36rem;border-radius:6px;background:#0a0d1473;border:1px solid var(--hairline);color:var(--ink-dim)}.owner-stats-talk{border-top:1px solid var(--hairline);padding-top:.7rem}.owner-talk-row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.18rem .9rem;font-size:.85rem}.owner-talk-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-talk-secs{font-family:Space Mono,ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--ink-dim);flex:none}.owner-bans{border-top:1px solid var(--hairline);padding-top:.7rem;display:flex;flex-direction:column;gap:.4rem}.owner-bans .owner-stats-subhead{padding-bottom:0}.owner-ban-row{margin:0 .9rem}.owner-ban-who{display:flex;flex-direction:column;line-height:1.2;min-width:0}.owner-ban-id{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-ban-meta{font-size:.72rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waiting-room{margin-bottom:.6rem;padding:.7rem .85rem;border-radius:var(--radius);border:1px solid rgba(124,92,255,.35);background:#7c5cff1a}.waiting-head{display:flex;align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;color:var(--ink)}.waiting-head .dot{flex:none;width:.6rem;height:.6rem;border-radius:50%;background:var(--accent);animation:breathe 1.4s ease-in-out infinite}.waiting-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.waiting-row{display:flex;align-items:center;gap:.6rem}.waiting-avatar{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff}.waiting-name{flex:1;min-width:0;font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waiting-actions{flex:none;display:flex;gap:.4rem}.waiting-actions button{padding:.34rem .7rem;font-size:.82rem}.waiting-deny{color:var(--danger)}.waiting-deny:hover{background:#ff5d6c1f}.stage{position:relative}.media-banner{display:flex;align-items:center;gap:.55rem;margin-bottom:.6rem;padding:.6rem .85rem;border-radius:var(--radius);font-size:.84rem;font-weight:600}.media-banner .dot{flex:none;width:.6rem;height:.6rem;border-radius:50%}.media-banner.reconnecting{color:var(--warn);background:#ffb4541f;border:1px solid rgba(255,180,84,.35)}.media-banner.reconnecting .dot{background:var(--warn);animation:breathe 1.4s ease-in-out infinite}.media-banner.disconnected{color:var(--danger);background:#ff5d6c1f;border:1px solid rgba(255,93,108,.4)}.media-banner.disconnected .dot{background:var(--danger);animation:blink 1.4s ease-in-out infinite}.owner-overlay{max-height:min(70vh,520px);overflow:auto;padding:0}.owner-overlay .owner-stats{border-top:none;max-height:none}.removed-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:2rem;background:#080a10b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.removed-card{max-width:380px;text-align:center;background:var(--glass);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:1.6rem 1.5rem;box-shadow:var(--shadow)}.removed-card h2{margin:0 0 .5rem;font-size:1.1rem}.removed-card p{margin:0 0 1.2rem;color:var(--ink-dim)}.admin-bans{max-width:640px;margin:2rem auto;padding:0 1rem}.admin-title{margin:0;font-size:1.05rem;font-weight:600}.admin-ban-form{background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius);padding:.9rem 1rem;gap:.6rem}.admin-ban-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.admin-ban{align-items:center;gap:.6rem;padding:.55rem .7rem;background:#0a0d1466;border:1px solid var(--hairline);border-radius:var(--radius-sm)}.admin-ban-info{gap:.15rem;min-width:0}.admin-ban-hash{font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.admin-ban-meta{font-size:.76rem}.server-config{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.server-config-card{width:min(420px,100%);display:flex;flex-direction:column;gap:.6rem;padding:2rem;border-radius:16px;background:#121620d1;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.server-config-card h1{margin:0;font-size:1.4rem}.server-config-card input{padding:.7rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0000004d;color:inherit;font-size:.95rem}.server-config-card button{margin-top:.3rem;padding:.7rem;border-radius:10px;border:none;background:var(--accent, #7c5cff);color:#fff;font-weight:600;cursor:pointer}.server-config-error{color:#ff8585;font-size:.82rem;margin:0}.server-config-hint{font-size:.78rem;margin:.2rem 0 0}.update-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:.6rem;max-width:calc(100vw - 2rem);padding:.55rem .6rem .55rem .9rem;border-radius:999px;font-size:.85rem;color:inherit;background:#121620db;border:1px solid var(--hairline-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px #0006;animation:update-banner-in .28s cubic-bezier(.22,.61,.36,1)}.update-banner-text{white-space:nowrap}.update-banner-text b{font-weight:600}.update-banner-error{color:#ff8585}.update-banner-progress{width:90px;height:4px;border-radius:999px;overflow:hidden;background:var(--hairline)}.update-banner-bar{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .15s linear}.update-banner-action{padding:.4rem .85rem;border-radius:999px;border:none;font:inherit;font-weight:600;color:var(--accent-ink);background:var(--accent);cursor:pointer}.update-banner-action:disabled{opacity:.7;cursor:default}.update-banner-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:999px;border:1px solid var(--hairline);background:transparent;color:inherit;font-size:1rem;line-height:1;cursor:pointer}.update-banner-close:hover{border-color:var(--hairline-strong)}@keyframes update-banner-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}:root{--aurora-1: #7c5cff;--aurora-2: #2dd4bf;--aurora: linear-gradient(135deg, var(--aurora-1), var(--aurora-2));--ink: #f4f6fb;--ink-dim: #aeb6c8;--ink-faint: #6f7892;--glass: rgba(20, 24, 35, .62);--glass-2: rgba(30, 36, 52, .58);--glass-3: rgba(44, 52, 74, .55);--hairline: rgba(255, 255, 255, .09);--hairline-strong: rgba(255, 255, 255, .16);--shade: rgba(5, 7, 12, .55);--accent: #7c5cff;--accent-ink: #ffffff;--danger: #ff5d6c;--warn: #ffb454;--good: #34d399;--radius: 14px;--radius-sm: 10px;--radius-lg: 22px;--shadow: 0 20px 60px -20px rgba(0, 0, 0, .65), 0 2px 0 rgba(255, 255, 255, .04) inset;--ring: 0 0 0 2px rgba(124, 92, 255, .55);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Sora,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background-color:#0a0c12;background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--aurora-2);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--aurora-2) 40%,transparent);transition:color .15s,border-color .15s}a:hover{color:#7ff0e0;border-color:var(--aurora-2)}.linklike{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--aurora-2);border-bottom:1px solid color-mix(in srgb,var(--aurora-2) 40%,transparent);transition:color .15s,border-color .15s}.linklike:hover{color:#7ff0e0;border-color:var(--aurora-2)}h1{margin:0;font-weight:700;font-size:1.6rem;letter-spacing:-.02em}button{font:inherit;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:.6rem 1rem;color:var(--accent-ink);background:var(--aurora);box-shadow:0 6px 18px -8px #7c5cffb3;transition:transform .12s ease,box-shadow .15s ease,filter .15s,background .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible{outline:none;box-shadow:var(--ring),0 6px 18px -8px #7c5cffb3}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.ghost{background:var(--glass-3);color:var(--ink);border-color:var(--hairline);box-shadow:none}button.ghost:hover:not(:disabled){border-color:var(--hairline-strong);filter:none;background:color-mix(in srgb,var(--glass-3) 80%,#fff 6%)}button.danger{background:linear-gradient(135deg,#ff5d6c,#ff8a5c);box-shadow:0 6px 18px -8px #ff5d6cb3}button.danger:focus-visible{box-shadow:0 0 0 2px #ff5d6c8c,0 6px 18px -8px #ff5d6cb3}input,select{font:inherit;color:var(--ink);background:#0a0d148c;border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:.62rem .8rem;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder{color:var(--ink-faint)}input:focus,select:focus{outline:none;border-color:color-mix(in srgb,var(--aurora-1) 60%,transparent);box-shadow:var(--ring);background:#0a0d14b3}select{cursor:pointer}input[type=checkbox]{width:auto;accent-color:var(--aurora-1)}label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem}.center{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--hairline);box-shadow:var(--shadow)}.card{position:relative;background:var(--glass);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:420px;box-shadow:var(--shadow);overflow:hidden;animation:rise .5s cubic-bezier(.16,1,.3,1) both}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--hairline-strong),transparent)}.brand{display:inline-flex;align-items:center;gap:.6rem}.brand h1{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--aurora);box-shadow:0 8px 22px -10px #7c5cffe6;flex:none}.brand-mark:after{content:"";width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff2e}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.6rem;align-items:center}.error{color:#ff97a1;font-size:.85rem;background:#ff5d6c1a;border:1px solid rgba(255,93,108,.3);border-radius:var(--radius-sm);padding:.5rem .7rem}.muted{color:var(--ink-dim)}.error-boundary{padding:1rem 1.25rem;border:1px solid rgba(255,93,108,.3);border-radius:var(--radius-sm);background:#ff5d6c14}.lead{color:var(--ink-dim);margin:0;font-size:.95rem}.code-display{font-size:1.9rem;font-weight:700;letter-spacing:.22em;font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;background:#0a0d1480;border:1px solid var(--hairline);padding:.9rem 1rem;border-radius:var(--radius);text-align:center;cursor:copy;transition:border-color .15s,background .15s}.code-display:hover{border-color:var(--hairline-strong);background:#0a0d14b3}.link-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#0a0d1466;border:1px solid var(--hairline);padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.88rem}.revoked{opacity:.45;text-decoration:line-through}.identity{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.identity .who{display:flex;flex-direction:column;line-height:1.15;min-width:0}.identity .who .nm{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity .who .sub{font-size:.74rem;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:.95rem;color:#0a0c12;flex:none;box-shadow:0 0 0 1px var(--hairline) inset}.app-header{display:flex;align-items:center;gap:.8rem}.room{display:grid;grid-template-columns:1fr 340px;grid-template-rows:auto 1fr auto;grid-template-areas:"bar    bar" "stage  side" "ctrl   ctrl";height:100vh;gap:.9rem;padding:.9rem}.room-bar{grid-area:bar;display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--hairline);box-shadow:var(--shadow)}.stage{grid-area:stage;padding:.3rem;overflow:auto;min-height:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.9rem}.tile{position:relative;background:var(--glass-2);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-radius:var(--radius);padding:1.1rem 1rem .9rem;display:flex;flex-direction:column;align-items:center;gap:.55rem;border:1px solid var(--hairline);box-shadow:0 10px 30px -18px #000000b3;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:rise .4s cubic-bezier(.16,1,.3,1) both}.tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(160deg,var(--user-color, transparent),transparent 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}.tile.speaking{border-color:color-mix(in srgb,var(--user-color, var(--good)) 55%,transparent);box-shadow:0 0 0 2px var(--user-color, var(--good)),0 14px 34px -16px color-mix(in srgb,var(--user-color, var(--good)) 60%,transparent)}.tile.me{border-color:color-mix(in srgb,var(--user-color, var(--accent)) 50%,var(--hairline-strong))}.tile.me:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1.5px;background:var(--aurora);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.85;pointer-events:none}.avatar{position:relative;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:1.45rem;font-weight:700;color:#0a0c12;box-shadow:0 8px 22px -10px #000c}.avatar.silent{filter:saturate(.85) brightness(.92)}.avatar .pulse{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:22px;border:2px solid var(--user-color, var(--good));animation:pulse 1.5s ease-out infinite}.tile .name{display:flex;align-items:center;gap:.35rem;font-weight:600;max-width:100%}.tile .name .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-badge{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.12rem .4rem;border-radius:6px;color:#fff;background:var(--aurora);flex:none}.badges{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .42rem;border-radius:6px;background:#0a0d1473;border:1px solid var(--hairline)}.badge.live{color:var(--good)}.badge.muted{color:var(--ink-faint)}.badge.owner{color:var(--warn)}.name-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.sidebar{grid-area:side;display:flex;flex-direction:column;min-height:0;border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--hairline);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--hairline)}.chat-log{flex:1;overflow:auto;padding:.9rem;display:flex;flex-direction:column;gap:.55rem}.chat-line{font-size:.92rem;word-break:break-word}.chat-line .who{font-weight:600;margin-right:.4rem}.chat-line.system{display:flex;justify-content:center;text-align:center}.chat-line.system .sys{font-size:.78rem;color:var(--ink-faint);background:#0a0d1466;border:1px solid var(--hairline);border-radius:999px;padding:.18rem .7rem}.chat-line.system .sys .actor{font-weight:600}.chat-input{display:flex;gap:.5rem;padding:.8rem;border-top:1px solid var(--hairline)}.chat-input input:disabled{opacity:.6}.chat-cooldown{margin:0 .8rem .4rem;padding:.4rem .7rem;border-radius:var(--radius-sm);font-size:.78rem;text-align:center;color:var(--warn);background:#ffb4541a;border:1px solid rgba(255,180,84,.32)}.controls{grid-area:ctrl;position:relative;display:flex;gap:.55rem;align-items:center;padding:.7rem .9rem;border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--hairline);box-shadow:var(--shadow);flex-wrap:wrap}.controls button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.icon-btn{width:44px;height:44px;padding:0}.ctrl-sep{width:1px;align-self:stretch;margin:.1rem .2rem;background:var(--hairline)}.field-inline{display:flex;align-items:center;gap:.4rem;margin:0}.field-inline>span{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.field-inline select{width:auto}.conn-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--warn);background:#ffb4541f;border:1px solid rgba(255,180,84,.35)}.conn-pill .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--warn);animation:breathe 1.4s ease-in-out infinite}.rec{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:999px;color:var(--danger);font-weight:700;font-size:.78rem;letter-spacing:.04em;background:#ff5d6c1f;border:1px solid rgba(255,93,108,.4)}.rec .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--danger);box-shadow:0 0 #ff5d6c99;animation:blink 1.4s ease-in-out infinite}.spacer{flex:1}.overlay{position:absolute;bottom:calc(100% + .6rem);right:.4rem;min-width:260px;background:var(--glass);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);z-index:10;animation:rise .22s cubic-bezier(.16,1,.3,1) both}.overlay-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.7rem}.device-settings{display:flex;flex-direction:column;gap:.85rem}.field-block{display:flex;flex-direction:column;gap:.3rem}.field-block>span{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.stats-panel{display:grid;grid-template-columns:auto auto;gap:.4rem 1.4rem;font-size:.85rem}.stats-row{display:contents}.stats-row>span:first-child{color:var(--ink-faint);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.stats-row>span:last-child{text-align:right;font-family:Space Mono,ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}.q{font-size:.66rem;font-family:Space Mono,ui-monospace,Menlo,monospace;padding:.08rem .36rem;border-radius:6px;background:#0a0d1473;border:1px solid var(--hairline)}.q.excellent{color:var(--good)}.q.good{color:var(--warn)}.q.poor,.q.lost{color:var(--danger)}.recordings{padding:.9rem;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:.45rem;max-height:32vh;overflow:auto}.screenshare-box{position:relative;width:100%;margin-bottom:.9rem;background:#000;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--shadow)}.screenshare{display:block;width:100%;max-height:70vh;object-fit:contain;background:#000}.screenshare-box:fullscreen{display:flex;align-items:center;justify-content:center;border:none}.screenshare-box:fullscreen .screenshare{max-height:100vh;height:100vh}.fs-btn{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:9px;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;box-shadow:none;opacity:0;transition:opacity .15s}.screenshare-box:hover .fs-btn{opacity:1}.fs-btn:hover{background:#000000c7;transform:none;filter:none}.audio-unblock{display:inline-flex;align-items:center;gap:.5rem;width:100%;margin-bottom:.9rem;padding:.7rem 1rem;border:1px solid rgba(255,180,84,.4);border-radius:var(--radius-sm);background:#ffb4541f;color:var(--warn);font-weight:600;box-shadow:none}.audio-unblock:hover{background:#ffb45438;filter:none}.stage-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.9rem}.enc-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .7rem;border-radius:var(--radius-sm);font-family:Space Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:.7rem;letter-spacing:.03em;border:1px solid}.enc-label{font-weight:700}.enc-meta{opacity:.7}.enc-e2ee{color:var(--good);border-color:#34d39966;background:#34d3991a}.enc-srtp{color:#7dd3fc;border-color:#7dd3fc66;background:#7dd3fc1a}.enc-chip{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .5rem;border-radius:7px;font-family:Space Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:.64rem;letter-spacing:.02em;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}@keyframes breathe{0%,to{opacity:.4}50%{opacity:1}}@keyframes blink{0%,to{opacity:1;box-shadow:0 0 #ff5d6c8c}50%{opacity:.5;box-shadow:0 0 0 5px #ff5d6c00}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width: 980px){.room{grid-template-columns:1fr 280px}}@media (max-width: 760px){.room{grid-template-columns:1fr;grid-template-areas:"bar" "stage" "side" "ctrl";grid-template-rows:auto minmax(0,1fr) minmax(220px,42vh) auto;height:auto;min-height:100vh;min-height:100dvh}.stage{min-height:40vh}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.room-bar{flex-wrap:wrap;gap:.5rem}.controls{gap:.5rem .6rem;padding:.7rem}.controls .ctrl-sep{display:none}.controls .field-inline{flex:1 1 calc(50% - .3rem);justify-content:space-between}.controls .field-inline select{flex:1;min-width:0}.overlay{position:fixed;left:.7rem;right:.7rem;bottom:.7rem;min-width:0;width:auto}.screenshare{max-height:52vh}.recordings{max-height:26vh}}@media (max-width: 480px){body{font-size:14px}.room{gap:.6rem;padding:.6rem}.room .room-bar{padding:.5rem .6rem}.grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.controls button:not(.icon-btn){flex:1 1 auto}.controls .field-inline{flex-basis:100%}.card{padding:1.5rem}}@media (hover: none) and (pointer: coarse){button,input,select{min-height:44px}.fs-btn{width:44px;height:44px;opacity:1}}
