:root{--bg: #1e1f22;--bg-2: #2b2d31;--bg-3: #313338;--bg-hover: #3a3c42;--bg-elevated: #111214;--border: #3f4147;--text: #f2f3f5;--muted: #a5a8ae;--accent: #ff6b3d;--accent-hover: #ff8a5c;--on-accent: #1c1a1f;--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--green: #23a55a;--red: #da373c;--danger: #f23f43;--yellow: #f0b232;--link-warm: #ff8a5c;--on-warm: #1c1a1f;--chat-link: #4fa3ff;--offline: #80848e;--user-panel: #232428;--error-text: #ff8a8d;--error-bg: #4a1f21;--notice-bg: #4a3d16;--success-bg: #1f3a2a;--success-text: #b9f0cd;--code-bg: #1a1b1e;--shadow: rgb(0 0 0 / .45);--row-hover: rgb(0 0 0 / .08);--resizer: rgb(255 255 255 / .25);--backdrop: rgb(0 0 0 / .65);--hover-brightness: 1.15;--text-strong: var(--text);--subtle: var(--muted);--hl-comment: #7f848e;--hl-keyword: #c678dd;--hl-string: #98c379;--hl-number: #d19a66;--hl-title: #61afef;--hl-type: #e5c07b;--hl-attr: #e06c75;--hl-meta: #abb2bf;--radius: 8px;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}:root[data-theme=light]{--bg: #e8eaed;--bg-2: #eceef1;--bg-3: #f5f5f5;--bg-hover: #e3e5e8;--bg-elevated: #f8f8f9;--border: #dcdedf;--text: #2b2d31;--text-strong: #1e1f22;--muted: #5e646e;--subtle: #636975;--bg-team: #eaeaec;--green: #1a8a4a;--red: #d1343a;--danger: #c62f34;--yellow: #c58a12;--link-warm: #c2410c;--on-warm: #fff;--accent-hover: #f2542d;--chat-link: #0b65c2;--offline: #8e9097;--user-panel: #e3e5e8;--error-text: #b3261e;--error-bg: #fde8e8;--notice-bg: #fdf3dc;--success-bg: #dcf3e5;--success-text: #11633a;--code-bg: #edeef0;--shadow: rgb(0 0 0 / .14);--row-hover: rgb(0 0 0 / .04);--resizer: rgb(0 0 0 / .2);--backdrop: rgb(0 0 0 / .4);--hover-brightness: .95;--hl-comment: #6a737d;--hl-keyword: #d73a49;--hl-string: #032f62;--hl-number: #005cc5;--hl-title: #6f42c1;--hl-type: #e36209;--hl-attr: #22863a;--hl-meta: #24292e;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);overflow:hidden;-webkit-user-select:none;user-select:none}input,select,button{font:inherit;color:inherit}input,select{width:100%;margin-top:6px;padding:9px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);-webkit-user-select:text;user-select:text}input[type=checkbox],input[type=radio]{width:auto;margin-top:0;padding:0}input::placeholder,textarea::placeholder{color:var(--subtle);opacity:1}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{cursor:pointer;border:none;border-radius:6px;padding:8px 14px;background:var(--bg-hover)}button:hover:not(:disabled){filter:brightness(var(--hover-brightness))}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--on-accent)}button.danger{background:var(--red);color:#fff}button.link{background:none;padding:0;color:var(--link-warm);text-decoration:underline}label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}label.check{display:flex;gap:8px;align-items:center;text-transform:none;font-size:14px;font-weight:400;color:var(--text);margin:8px 0}label.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);text-transform:none;font-size:15px;font-weight:600;color:var(--text);cursor:pointer}label.switch-row span{display:grid;gap:3px}label.switch-row small{font-size:13px;font-weight:400;line-height:1.35;color:var(--muted)}label.switch-row input{flex-shrink:0;width:24px;height:24px;margin:0;accent-color:var(--accent)}label.check input,.share-options input{width:auto;margin:0}kbd{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:12px}.muted{color:var(--muted)}.error{color:var(--error-text)}.success{color:var(--green)}.danger-text{color:var(--red)}.splash{height:100vh;display:grid;place-items:center;color:var(--muted)}.login{height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 28%,var(--bg)) 0,var(--bg) 60%)}.login-card{width:380px;padding:32px;border-radius:12px;background:var(--bg-3);display:grid;gap:16px;box-shadow:0 10px 40px var(--shadow)}.login-logo{width:160px;margin:0 auto 4px}.login-wordmark{margin:4px 0 8px;line-height:0}.login-wordmark img{width:180px;display:block;margin:0 auto}.login-card h1{margin:0;font-size:20px;text-align:center}.login-card>p{text-align:center}.login-card p{margin:0}.login-card details summary{cursor:pointer;color:var(--muted);font-size:12px}.login-card .primary{padding:11px}.login-card details input{margin-top:8px}.login-server-current{margin-left:6px;color:var(--muted);font-weight:400}.login-server-status{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.login-server-status.error{color:var(--error-text)}.login-card .login-google{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;border:1px solid #8e918f;background:#131314;color:#e3e3e3;font-weight:500}[data-theme=light] .login-card .login-google{border-color:#747775;background:#fff;color:#1f1f1f}.login-google-mark{width:18px;height:18px;flex:none}.login-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.app{display:grid;grid-template-columns:var(--sidebar-width, 280px) 1fr;height:100vh}.sidebar{display:flex;flex-direction:column;background:var(--bg-2);min-height:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--bg)}.brand{height:22px}.brand.pulo{height:34px}.section-title{width:100%;display:flex;align-items:center;gap:4px;margin:12px 0 4px;padding:2px 4px;background:none;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left}.section-title:hover:not(:disabled){color:var(--text);filter:none}.section-title>span:not(.badge){flex:1}.section-count{font-weight:500;letter-spacing:0;text-transform:none}.room-list section:first-child .section-title{margin-top:4px}.room-icon{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--bg-hover);color:var(--muted)}.room-list{flex:1;overflow-y:auto;padding:8px}.room{border-radius:var(--radius);margin-bottom:2px}.room.current{background:var(--bg-hover)}.room-button{width:100%;display:flex;align-items:center;gap:10px;padding:8px;background:none;text-align:left}.room-button:hover{background:var(--bg-hover)}.room-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-title small{color:var(--muted)}.badge{background:var(--green);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px}.room-timer{font-size:12px;font-variant-numeric:tabular-nums;color:var(--green)}.voice-flag{display:inline-grid;place-items:center;flex:none;color:var(--muted)}.room-people{list-style:none;margin:0;padding:0 8px 8px 46px}.room-people li{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--muted);font-size:13px}.room-people li span:not(.avatar):not(.live):not(.voice-flag):not(.presence-dot){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live{display:inline-flex;align-items:center;gap:3px;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 5px}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-weight:700;box-shadow:0 0 0 2px transparent;transition:box-shadow .12s}.avatar{position:relative}.avatar.dim{opacity:.55}.avatar.photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;-webkit-user-select:none;user-select:none}.presence-dot{position:absolute;right:-2px;bottom:-2px;width:36%;height:36%;min-width:9px;min-height:9px;border-radius:50%;border:2.5px solid var(--bg-2);background:var(--muted)}.presence-dot.online{background:var(--green)}.presence-dot.away{background:radial-gradient(circle at 18% 18%,var(--bg-2) 0 32%,var(--yellow) 34%)}.room-people .presence-dot{min-width:11px;min-height:11px;border-width:2px}.presence-dot.mobile{display:grid;place-items:center;width:46%;height:46%;min-width:14px;min-height:14px;background:var(--green);color:#fff}.presence-dot.mobile.away{background:var(--yellow)}.presence-dot.mobile svg{width:72%;height:72%}.presence-dot.offline{background:var(--offline)}.avatar.speaking{box-shadow:0 0 0 2px var(--bg-2),0 0 0 4px var(--green)}.user-panel{display:flex;align-items:center;gap:6px;padding:10px;background:var(--user-panel)}.user-panel-name{flex:1;min-width:0;display:grid}.user-panel-name strong,.user-panel-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-name small{color:var(--muted);font-size:12px}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;background:none;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-button.danger{background:none;color:var(--red)}.stage{display:flex;flex-direction:column;background:var(--bg);min-width:0;min-height:0}.stage.empty{align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px}.stage.empty h2{margin:0}.stage.empty p{max-width:420px;margin:0 0 12px}.stage-header{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--bg-2)}.pill{font-size:12px;background:var(--bg-hover);border-radius:10px;padding:2px 10px}.pill.warn{background:var(--yellow);color:#000}.grid{flex:1;display:grid;place-items:center;margin:16px;min-height:0;min-width:0;overflow:hidden}.grid-inner{display:grid;justify-content:center;align-content:center}.tile{position:relative;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius);background:var(--bg-3);box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .12s;min-height:0}.tile.speaking{box-shadow:inset 0 0 0 3px var(--green)}.tile .video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.tile .video.contain{object-fit:contain}.mirror{transform:scaleX(-1)}.tile-label{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:3px 8px;border-radius:6px;background:#0009;color:#fff;font-size:13px}.tile-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.hand:not(.speaking){box-shadow:inset 0 0 0 3px var(--yellow)}.tile-hand{position:absolute;top:8px;left:8px;display:grid;place-items:center;padding:6px;border:0;border-radius:50%;background:var(--yellow);color:#1a1a1a;box-shadow:0 2px 6px #00000059;animation:hand-wave 1.6s ease-in-out 2}button.tile-hand{cursor:pointer}.tile.compact .tile-hand{top:4px;left:4px;padding:4px}@keyframes hand-wave{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}@media(prefers-reduced-motion:reduce){.tile-hand{animation:none}}.tile .volume{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:#000000a6;text-transform:none;color:#fff;opacity:0;transition:opacity .15s}.tile:hover .volume{opacity:1}.tile .volume input{width:90px;margin:0;padding:0}.tile .volume span{font-size:11px;width:34px;text-align:right}.tile.screen{cursor:pointer;background:#000}.tile-action{position:absolute;top:8px;right:8px;background:#0009;color:#fff}.tile:fullscreen{border-radius:0}.focus-layout{flex:1;display:grid;grid-template-rows:1fr 130px;gap:10px;padding:16px;min-height:0}.strip{display:flex;gap:10px;overflow-x:auto}.strip .tile{flex:0 0 200px}.control-bar{display:flex;justify-content:center;gap:12px;padding:14px;background:var(--bg-2)}.control{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--bg-hover)}.control.off{background:#fff;color:var(--red)}.control.on{background:var(--accent);color:var(--on-accent)}.control.leave{background:var(--red);color:#fff}.toast{position:fixed;right:calc(var(--team-bar-width, 68px) + 16px);bottom:90px;z-index:9;max-width:420px;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius);background:var(--error-bg);border:1px solid var(--red);box-shadow:0 8px 24px var(--shadow);-webkit-user-select:text;user-select:text}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:var(--backdrop);z-index:65}.modal{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;padding:20px 24px;border-radius:12px;background:var(--bg-3)}.modal.wide{width:min(860px,calc(100vw - 32px))}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{margin:0;font-size:18px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-footer .danger{margin-right:auto}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.tabs button{background:none;border-radius:0;border-bottom:2px solid transparent;color:var(--muted)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.notice{padding:10px 12px;margin-bottom:12px;border-radius:6px;background:var(--notice-bg);border:1px solid var(--yellow)}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-height:340px;overflow-y:auto;padding:2px}.source{display:grid;gap:6px;padding:8px;background:var(--bg-2);text-align:left;box-shadow:inset 0 0 0 2px transparent}.source.selected{box-shadow:inset 0 0 0 2px var(--accent)}.source>img{width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#000;border-radius:4px}.source span{display:flex;align-items:center;gap:6px;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-icon{width:16px;height:16px}.share-options{display:grid;gap:10px;margin-top:16px}.share-options fieldset{border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:grid;gap:8px}.share-options legend{color:var(--muted);font-size:12px;padding:0 4px}.share-options label{display:flex;align-items:center;gap:8px;text-transform:none;font-size:14px;font-weight:400;color:var(--text)}.share-options label.disabled{color:var(--muted)}.settings-section{display:grid;gap:16px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-2 button{margin-top:8px}.meter{height:8px;margin-top:8px;border-radius:4px;background:var(--bg);overflow:hidden}.meter div{height:100%;background:var(--green);transform-origin:left;transition:transform .05s linear}.camera-preview{width:100%;border-radius:6px;background:#000}.admin-create{display:grid;grid-template-columns:1.2fr 1.4fr 1.2fr 1fr auto;gap:8px;align-items:end}.admin-create input,.admin-create select{margin:0}table.users{width:100%;border-collapse:collapse}table.users th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px}table.users td{padding:6px;border-top:1px solid var(--border);-webkit-user-select:text;user-select:text}table.users tr.inactive td{opacity:.5}table.users .actions{display:flex;justify-content:flex-end;gap:6px}table.users .actions button{padding:5px 9px;font-size:12px}table.users .actions form{display:flex;gap:6px}table.users .actions input{margin:0;padding:5px 8px;width:140px}.users-create{grid-template-columns:1.1fr 1.3fr 1.1fr .9fr .9fr auto}.groups-create{grid-template-columns:1fr auto}select.inline,input.inline{margin:0;padding:5px 8px;width:auto;max-width:180px}.room-create{display:grid;gap:10px;padding:14px;border-radius:var(--radius);background:var(--bg-2)}.room-create .primary{justify-self:start}.group-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.group-picker small{flex-basis:100%}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);text-transform:none;font-size:13px;font-weight:500;color:var(--text);cursor:pointer}.chip input{width:auto;margin:0;accent-color:var(--accent)}.chip.on{border-color:var(--accent);background:var(--accent-soft)}.room-admin-list{display:grid;gap:8px}.room-admin{display:grid;grid-template-columns:200px 1fr auto;gap:12px;align-items:start;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border)}.room-admin-name{margin:0;font-weight:600}.confirm{display:flex;align-items:center;gap:6px;white-space:nowrap}.confirm button{padding:5px 9px}.permissions{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-2)}.permission-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:10px}.permission-row button{padding:5px 10px;font-size:13px}.perm{font-size:13px;color:var(--muted)}.perm-granted{color:var(--green)}.perm-denied,.perm-restricted{color:var(--error-text)}.toast.info{background:var(--bg-3);border-color:var(--border)}.toast .primary{white-space:nowrap}.online-report{display:grid;gap:14px}.report-head{display:grid;gap:10px}.report-back{justify-self:start}.report-who{display:flex;align-items:center;gap:10px}.report-who>div{display:grid}.report-filters{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px}.report-presets{display:flex;flex-wrap:wrap;gap:6px}.report-presets .chip{background:none}.report-presets .chip.on{background:var(--accent-soft)}.report-dates{display:flex;gap:8px}.report-dates label{display:grid;gap:4px;font-size:12px}.report-dates input{margin:0;padding:5px 8px;width:auto}.report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-tile{display:grid;gap:4px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-2)}.stat-tile span{font-size:12px;color:var(--muted)}.stat-tile strong{font-size:20px;font-weight:600}.report-chart{position:relative;padding:8px 0 0;border-radius:var(--radius);background:var(--bg-2)}.report-chart.loading{opacity:.5}.report-chart svg{display:block}.report-chart .grid{stroke:var(--border);stroke-width:1}.report-chart .axis{fill:var(--muted);font-size:11px}.report-chart .bar{fill:var(--accent)}.report-chart .bar.on{fill:var(--accent-hover)}.report-chart .hit{fill:transparent;cursor:pointer}.chart-tip{position:absolute;top:4px;transform:translate(-50%);display:grid;gap:2px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-3);box-shadow:0 4px 12px var(--shadow);font-size:12px;white-space:nowrap;pointer-events:none}.chart-tip span{color:var(--muted)}.report-table summary{cursor:pointer;color:var(--link-warm);font-size:13px}.report-table table{width:100%;margin-top:8px;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left}.report-table td:last-child,.report-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.report-note{margin:0;font-size:12px}@media(max-width:560px){.report-stats{grid-template-columns:1fr}}.badge.unread{background:var(--red)}.member-empty{margin:4px 8px;font-size:13px}.main-view{display:flex;min-width:0;min-height:0}.main-view[hidden]{display:none}.main-view>*{flex:1}.chat{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-3)}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--bg)}.chat-title{color:var(--text-strong);flex:1;min-width:0;display:grid}.chat-title small{color:var(--muted);font-size:12px}.call-banner{display:flex;align-items:center;gap:8px;padding:7px 20px;border-radius:0;background:var(--success-bg);color:var(--success-text);font-size:13px;text-align:left}.call-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.chat-messages{flex:1;overflow-y:auto;padding:16px 0 8px;-webkit-user-select:text;user-select:text}.chat-start{padding:16px 20px 24px}.chat-start h2{margin:12px 0 4px;font-size:22px}.chat-start p{margin:0}.chat-loading{text-align:center;font-size:13px}.day-divider,.new-divider{display:flex;align-items:center;gap:8px;margin:16px 20px 8px;font-size:12px;font-weight:600;color:var(--muted)}.day-divider:before,.day-divider:after,.new-divider:before,.new-divider:after{content:"";flex:1;height:1px;background:var(--border)}.new-divider{color:var(--red)}.new-divider:before,.new-divider:after{background:var(--red)}.message{position:relative;display:flex;gap:14px;padding:6px 20px 2px;margin-top:8px}.message.grouped{margin-top:0;padding-top:1px}.message:hover{background:var(--row-hover)}.message.sending{opacity:.6}.message-gutter{flex:none;width:40px;display:flex;justify-content:center}.message-time-hover{visibility:hidden;font-size:10px;color:var(--subtle);line-height:22px}.message:hover .message-time-hover{visibility:visible}.message-main{flex:1;min-width:0}.message-main header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-main header time{font-size:11px;color:var(--subtle)}.message-main header strong{color:var(--text-strong)}.message-body{line-height:1.45;overflow-wrap:anywhere}.message-body>:first-child{margin-top:0}.message-body>:last-child{margin-bottom:0}.message-body p{margin:0 0 6px}.message-body.big-emoji{font-size:40px;line-height:1.2}.message-body a{color:var(--chat-link)}.message-body blockquote{margin:4px 0;padding-left:10px;border-left:3px solid var(--border);color:var(--muted)}.message-body :not(pre)>code{padding:1px 5px;border-radius:4px;background:var(--bg);font-size:.9em}.message-body code,.message-body pre{font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.message-body table{border-collapse:collapse;margin:6px 0}.message-body th,.message-body td{border:1px solid var(--border);padding:4px 8px}.code-block{margin:6px 0;max-width:900px;border:1px solid var(--border);border-radius:var(--radius);background:var(--code-bg);overflow:hidden}.code-block-bar{display:flex;align-items:center;justify-content:space-between;padding:3px 6px 3px 12px;border-bottom:1px solid var(--border);font-size:11px;color:var(--muted)}.code-copy{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:none;font-size:12px;color:var(--muted)}.code-copy:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.code-block pre{margin:0;padding:10px 12px;overflow-x:auto;font-size:13px;line-height:1.5;tab-size:4}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-section{color:var(--hl-keyword)}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:var(--hl-string)}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet,.hljs-variable.constant_{color:var(--hl-number)}.hljs-title,.hljs-title.function_,.hljs-name{color:var(--hl-title)}.hljs-type,.hljs-title.class_,.hljs-built_in{color:var(--hl-type)}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:var(--hl-attr)}.hljs-meta,.hljs-params{color:var(--hl-meta)}.hljs-deletion{color:var(--hl-attr)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.message-deleted,.message-edited,.message-status,.message-seen{font-size:12px;color:var(--muted)}.message-deleted{margin:0;font-style:italic}.message-status.error{display:block;color:var(--red)}.message-seen{display:block;text-align:right}.message-actions{position:absolute;top:-12px;right:20px;display:none;padding:2px;border:1px solid var(--border);border-radius:6px;background:var(--bg-2)}.message:hover .message-actions{display:flex}.message:has(.code-block) .message-actions{right:124px}.message-editor textarea,.composer textarea{width:100%;resize:none;border:none;outline:none;background:none;font:inherit;color:inherit;line-height:1.45;-webkit-user-select:text;user-select:text}.message-editor textarea{min-height:60px;max-height:50vh;overflow-y:auto;padding:8px 10px;border-radius:6px;background:var(--bg)}.message-editor small{font-size:12px;color:var(--muted)}.message .confirm{margin-top:6px}.attachments{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:6px}.attachment-image{padding:0;border-radius:var(--radius);background:var(--bg);overflow:hidden;line-height:0}.attachment-image img{display:block;max-width:100%;height:auto;object-fit:cover}.attachment-video{width:360px;max-width:100%;display:grid;gap:6px}.attachment-video video{display:block;width:100%;aspect-ratio:16 / 9;max-height:280px;border-radius:var(--radius);background:#000;object-fit:contain}.attachment-video .attachment-file{width:100%}.attachment-video-error{margin:0;font-size:12px;color:var(--red)}.attachment-file{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;width:320px;max-width:100%;padding:10px 8px 10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--muted)}.attachment-file-info{flex:1;min-width:0;display:grid}.attachment-file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.attachment-file-info small{font-size:12px}.attachment-file.failed small{color:var(--red)}.attachment-file.expired{opacity:.6}.attachment-open{flex:none;padding:4px 10px;font-size:12px;font-weight:600}.attachment-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .15s}.attachment-progress.indeterminate{width:40%;transform:none;animation:attachment-slide 1.1s ease-in-out infinite}@keyframes attachment-slide{0%{left:-40%;right:auto}to{left:100%;right:auto}}@media(prefers-reduced-motion:reduce){.attachment-progress.indeterminate{width:100%;animation:none;opacity:.5}}.typing-line{height:20px;padding:0 20px;font-size:12px;color:var(--muted)}.composer{padding:0 20px 10px}.composer-box{display:flex;align-items:flex-end;gap:2px;padding:6px;border-radius:10px;background:var(--bg-hover)}.composer-box textarea{flex:1;max-height:40vh;padding:6px 4px}.composer-box .icon-button.active,.composer-box .icon-button.send:not(:disabled){color:var(--text)}.composer-box .icon-button.send:not(:disabled){background:var(--accent)}.composer-hint{margin:4px 2px 0;font-size:11px;color:var(--muted)}.composer-hint kbd,.composer-hint code{padding:0 4px;border-radius:3px;background:var(--bg-hover);font:inherit}.upload-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 8px;padding:0}.upload{position:relative;display:flex;align-items:center;gap:8px;width:240px;padding:6px 4px 6px 6px;border-radius:var(--radius);background:var(--bg-2);overflow:hidden;color:var(--muted)}.upload img{flex:none;width:40px;height:40px;border-radius:4px;object-fit:cover}.upload-info{flex:1;min-width:0;display:grid}.upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.upload-info small{font-size:11px}.upload.failed small{color:var(--red)}.upload-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left;transition:transform .15s}.emoji-anchor{position:relative}.emoji-popover{position:absolute;right:0;bottom:calc(100% + 10px);z-index:5;box-shadow:0 8px 24px var(--shadow);border-radius:10px}.emoji-popover .epr-emoji-category-label{text-transform:none}.emoji-popover .epr-emoji-category-label:first-letter{text-transform:uppercase}.emoji-loading{width:340px;height:380px;display:grid;place-items:center;border-radius:10px;background:var(--bg-2);color:var(--muted)}.drop-overlay{position:absolute;inset:8px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--bg) 85%,transparent);font-size:18px;font-weight:600;pointer-events:none}.lightbox{position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;touch-action:none;background:#000000d9;color:#fff}.lightbox img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:4px}.lightbox-nav{position:absolute;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:#0000008c;color:#fff;transform:translateY(-50%)}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.lightbox-bar{display:flex;align-items:center;gap:8px;max-width:100%;color:var(--muted)}.lightbox-bar .lightbox-name{min-width:0;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-status.failed{color:var(--red)}.lightbox-bar .lightbox-count{flex-shrink:0;white-space:nowrap}.lightbox-bar button{flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.update-banner{display:flex;align-items:center;gap:10px;margin:0 8px 8px;padding:10px 10px 10px 12px;border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--border);font-size:13px}.update-banner span{flex:1;min-width:0;display:grid;font-weight:600}.update-banner small{font-weight:400;font-size:12px;color:var(--muted)}.update-banner button{padding:6px 12px}.update-banner.confirming span{flex-basis:100%}.version-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:14px;color:var(--muted)}.version-info .link{font-size:14px}.changelog-title{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--border);font-size:15px}.changelog{list-style:none;margin:0;padding:0}.changelog>li{display:grid;gap:8px;padding:18px 0;border-top:1px solid var(--border)}.changelog>li:first-child{padding-top:4px;border-top:0}.changelog header{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.changelog time{color:var(--muted);font-size:12px}.changelog-current{padding:1px 7px;border:1px solid color-mix(in srgb,var(--link-warm) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--link-warm) 14%,transparent);color:var(--link-warm);font-size:11px;font-weight:600}.changelog ul{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.45}.required-update h2{margin:0 0 8px;font-size:18px}.required-update .meter div{background:var(--accent);transition:transform .3s}a.button{display:inline-grid;place-items:center;margin-top:8px;padding:8px 14px;border-radius:6px;background:var(--bg-hover);color:inherit;text-decoration:none}a.button.primary{background:var(--accent);color:var(--on-accent)}.mono-inline{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;-webkit-user-select:text;user-select:text}.room-people li.clickable{cursor:pointer;margin:0 -6px;padding:3px 6px;border-radius:6px}.room-people li.clickable:hover{background:var(--bg-hover);color:var(--text)}.tile-name{padding:0;background:none;color:inherit;font:inherit}.tile-name:hover:not(:disabled){filter:none;text-decoration:underline}.update-banner{flex-wrap:wrap}.editable-name{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;margin:-2px -4px;background:none;color:inherit;font:inherit;text-align:left}.editable-name svg{color:var(--muted);opacity:0}.editable-name:hover:not(:disabled){filter:none;background:var(--bg-hover)}.editable-name:hover svg,.editable-name:focus-visible svg{opacity:1}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px;padding:2px 0 8px}.team-member{position:relative;display:grid;justify-items:center;gap:4px;min-width:0;padding:6px 2px 4px;border-radius:var(--radius);background:none}.team-member:disabled{opacity:1;cursor:default}.team-member:hover:not(:disabled){background:var(--bg-hover);filter:none}.team-member.current{background:var(--bg-hover)}.team-member .presence-dot{border-color:var(--bg-2)}.team-member:hover .presence-dot,.team-member.current .presence-dot{border-color:var(--bg-hover)}.team-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}.team-member.has-unread .team-name{color:var(--text);font-weight:700}.team-member .badge.unread{position:absolute;top:2px;right:4px;padding:0 5px;font-size:10px;line-height:16px}.room.current .presence-dot{border-color:var(--bg-hover)}.room.drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--bg-hover)}.room-people li[draggable=true]{cursor:grab}.remove-person{display:none;flex:none;width:20px;height:20px;padding:0;border-radius:4px;background:none;color:var(--muted);font-size:11px;line-height:20px}.room-people li:hover .remove-person,.remove-person:focus-visible{display:inline-block}.remove-person:hover:not(:disabled){background:var(--red);color:#fff;filter:none}.remove-person.mute-person{display:none;place-items:center}.room-people li:hover .remove-person.mute-person,.remove-person.mute-person:focus-visible{display:inline-grid}.remove-person.mute-person:hover:not(:disabled){background:var(--bg-hover);color:var(--red)}:root{--titlebar: 0px}:root[data-platform=darwin]{--titlebar: 36px}.titlebar-drag{position:fixed;top:0;left:0;right:0;height:var(--titlebar);-webkit-app-region:drag;z-index:1}body:has(:fullscreen) .titlebar-drag{display:none}:fullscreen,:fullscreen .tile-action,:fullscreen .zoom-controls{-webkit-app-region:no-drag}.sidebar,.main-view>*,.chat{padding-top:var(--titlebar)}.app{height:100vh}:root[data-platform=darwin] .sidebar-header{padding-top:4px}.channel{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;margin-bottom:2px;border-radius:var(--radius);background:none;color:var(--muted);text-align:left}.channel:hover:not(:disabled){background:var(--bg-hover);color:var(--text);filter:none}.channel.current{background:var(--bg-hover);color:var(--text)}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel.has-unread{position:relative;color:var(--text)}.channel.has-unread .channel-name{font-weight:700}.channel.has-unread:before{content:"";position:absolute;left:-6px;top:50%;width:4px;height:8px;margin-top:-4px;border-radius:0 4px 4px 0;background:var(--text)}.channel .badge.unread{padding:0 6px;font-size:11px;line-height:16px}.channel-icon{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--bg-hover);color:var(--muted)}.channel-icon.large{width:36px;height:36px;border-radius:50%;background:var(--bg-hover);color:var(--text)}.channel-icon.huge{width:56px;height:56px;border-radius:50%;background:var(--bg-hover);color:var(--text)}.chat-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-admin.channel-admin{grid-template-columns:auto 260px 1fr auto}.channel-fields{display:grid;gap:6px}.channel-fields input{margin:0}.channel[draggable=true]{cursor:grab}.channel.dragging{opacity:.4}.channel.drop-before{box-shadow:0 -2px 0 0 var(--accent)}.channel.drop-after{box-shadow:0 2px 0 0 var(--accent)}.sidebar-resizer{position:fixed;top:var(--titlebar);bottom:0;left:calc(var(--sidebar-width, 280px) - 3px);width:6px;cursor:col-resize;z-index:2;-webkit-app-region:no-drag}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .15s}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,.sidebar-resizer.dragging:after{background:var(--resizer)}.sidebar-resizer:focus-visible{outline:none}body.resizing-sidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}.section-head{display:flex;align-items:center}.section-head .section-title{flex:1;min-width:0}.section-action{flex:none;width:22px;height:22px;margin:8px 2px 0 0;padding:0;border-radius:6px;background:none;color:var(--muted);font-size:18px;line-height:1}.section-action:hover:not(:disabled){background:var(--bg-hover);color:var(--text);filter:none}.icon-picker{position:relative;align-self:start}.icon-picker-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:10px;background:var(--bg-hover);color:var(--text)}.icon-picker-panel{position:fixed;z-index:100;width:300px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);box-shadow:0 12px 32px var(--shadow)}.icon-picker-panel input{width:100%;margin:0 0 8px}.icon-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-height:220px;overflow-y:auto}.icon-picker-grid button{display:grid;place-items:center;aspect-ratio:1;padding:0;border-radius:6px;background:none;color:var(--muted)}.icon-picker-grid button:hover:not(:disabled){background:var(--bg-hover);color:var(--text);filter:none}.icon-picker-grid button.on{background:var(--accent);color:var(--on-accent)}.channel-create-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;align-items:end}.channel-create-row .icon-picker{align-self:end}.group-form{display:grid;gap:10px}.group-name-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:end}.group-members-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.group-members-label small{text-transform:none;letter-spacing:0}.member-picker input{width:100%;margin:0 0 6px}.member-picker-list{display:grid;gap:2px;max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:var(--radius)}.member-picker-list label{display:flex;align-items:center;gap:10px;margin:0;padding:6px 8px;border-radius:6px;color:var(--text);font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;cursor:pointer}.member-picker-list label:hover{background:var(--bg-hover)}.member-picker-list label.on{background:var(--bg-3)}.member-picker-list input[type=checkbox]{width:auto;margin:0}.member-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-member-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.group-member-list li{display:flex;align-items:center;gap:10px}.group-danger{display:flex;gap:8px;margin-right:auto}.group-danger .danger{margin-right:0}.profile-photo{display:flex;align-items:center;gap:16px;margin-bottom:16px}.profile-photo p{margin:2px 0 8px;font-size:13px}.profile-photo-actions{display:flex;gap:8px}input.external-id{width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.room{position:relative}.rename-room,.lock-room{position:absolute;top:10px;right:6px;display:none;place-items:center;width:24px;height:24px;padding:0;border-radius:6px;background:var(--bg-2);color:var(--muted)}.room:hover>.rename-room,.room:hover>.lock-room,.rename-room:focus-visible,.lock-room:focus-visible{display:grid}.lock-room.with-rename{right:34px}.room-locked-mark{display:inline-flex;margin-left:6px;vertical-align:-1px;color:var(--muted)}.rename-room:hover:not(:disabled),.lock-room:hover:not(:disabled){background:var(--bg-hover);color:var(--text);filter:none}.room-title-editor{display:grid;gap:2px;padding:6px 8px}.room-title-editor input{margin:0;padding:6px 8px}.room-title-editor small{font-size:11px}.room-title-hint{align-self:end;margin:0 0 10px;font-size:13px}:root[data-kind=mobile]{--titlebar: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}:root[data-kind=mobile] .app,:root[data-kind=mobile] .splash,:root[data-kind=mobile] .login{height:100dvh}:root[data-kind=mobile] .app{grid-template-columns:1fr}:root[data-kind=mobile] .app[data-screen=list]>:is(.main-view,.chat),:root[data-kind=mobile] .app[data-screen=room]>:is(.sidebar,.chat),:root[data-kind=mobile] .app[data-screen=chat]>:is(.sidebar,.main-view){display:none}:root[data-kind=mobile] :is(input,select,textarea){font-size:16px}:root[data-kind=mobile] .icon-button{width:40px;height:40px}:root[data-kind=mobile] .room-button,:root[data-kind=mobile] .channel{padding:11px 8px}:root[data-kind=mobile] .section-title{padding-block:10px}:root[data-kind=mobile] .room-people li{min-height:36px}:root[data-kind=mobile] .tile .volume{opacity:1}:root[data-kind=mobile] .rename-room,:root[data-kind=mobile] .lock-room{display:grid}:root[data-kind=mobile] .remove-person{display:inline-block}:root[data-kind=mobile] .message:hover .message-actions{display:none}:root[data-kind=mobile] .message:hover .message-time-hover{visibility:hidden}:root[data-kind=mobile] .call-banner{padding-inline:16px}:root[data-kind=mobile] .user-panel{padding-bottom:calc(10px + var(--safe-bottom))}:root[data-kind=mobile] .stage-header{gap:8px;padding:8px 12px}:root[data-kind=mobile] .stage-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-kind=mobile] .grid{padding:10px}:root[data-kind=mobile] .control-bar{padding-bottom:calc(14px + var(--safe-bottom))}:root[data-kind=mobile] .chat-header{gap:8px;padding:8px 12px 8px 4px}:root[data-kind=mobile] .chat-title :is(strong,small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-kind=mobile] .composer{padding:0 8px calc(8px + var(--safe-bottom))}:root[data-kind=mobile] .emoji-popover{right:-8px;max-width:calc(100vw - 16px)}:root[data-kind=mobile] .login-card{width:calc(100vw - 32px);padding:24px 20px}:root[data-kind=mobile] .modal,:root[data-kind=mobile] .modal.wide{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;padding:calc(16px + var(--titlebar)) 16px calc(16px + var(--safe-bottom))}:root[data-kind=mobile] .row-2{grid-template-columns:1fr}:root[data-kind=mobile] .modal{overflow-x:hidden}:root[data-kind=mobile] .tabs{flex-wrap:wrap;gap:2px 4px}:root[data-kind=mobile] .tabs button{padding:9px 12px;white-space:nowrap}:root[data-kind=mobile] .admin-create,:root[data-kind=mobile] .users-create,:root[data-kind=mobile] .groups-create,:root[data-kind=mobile] .channel-create-row,:root[data-kind=mobile] .room-admin,:root[data-kind=mobile] .room-admin.channel-admin{grid-template-columns:1fr}:root[data-kind=mobile] .admin-create .primary,:root[data-kind=mobile] .room-create .primary{justify-self:stretch}:root[data-kind=mobile] .confirm{flex-wrap:wrap;white-space:normal}:root[data-kind=mobile] table.users,:root[data-kind=mobile] table.users tbody,:root[data-kind=mobile] table.users tr,:root[data-kind=mobile] table.users td{display:block}:root[data-kind=mobile] table.users thead{display:none}:root[data-kind=mobile] table.users tr{margin-bottom:10px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius)}:root[data-kind=mobile] table.users td{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 0;border-top:0;overflow-wrap:anywhere}:root[data-kind=mobile] table.users td:before{content:attr(data-label);flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted)}:root[data-kind=mobile] table.users td.actions{flex-wrap:wrap;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--border)}:root[data-kind=mobile] table.users td.actions:before{display:none}:root[data-kind=mobile] table.users .actions button{padding:9px 12px;font-size:13px}:root[data-kind=mobile] table.users .actions form{flex-wrap:wrap;width:100%}:root[data-kind=mobile] table.users .actions input{width:100%}:root[data-kind=mobile] table.users select.inline,:root[data-kind=mobile] table.users input.inline{max-width:60%}:root[data-kind=mobile] .toast{left:12px;right:12px;bottom:calc(96px + var(--safe-bottom));max-width:none}.stage-hint{margin:0;padding:8px 12px;font-size:13px;text-align:center;border-bottom:1px solid var(--bg-2)}.sheet-backdrop{position:fixed;inset:0;z-index:65;display:flex;align-items:flex-end;background:var(--backdrop);animation:sheet-fade .15s ease-out}.sheet{width:100%;display:grid;gap:2px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;background:var(--bg-2);animation:sheet-up .18s ease-out}.sheet-title{margin:4px 12px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}.sheet button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:10px;background:none;font-size:16px;text-align:left}.sheet button:active{background:var(--bg-hover)}.sheet .sheet-cancel{justify-content:center;margin-top:6px;background:var(--bg-hover)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-fade{0%{opacity:0}}:root[data-kind=mobile] .message{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:root[data-kind=mobile] .message.pressed{background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}:root[data-kind=mobile] .toast>span{flex:1}:root[data-kind=mobile] .message-editor small .link{display:inline-block;padding:8px 4px}.call-dock{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 4px;background:var(--success-bg);color:var(--success-text)}.call-dock-room{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 8px;background:none;color:inherit;text-align:left}.call-dock-text{display:grid;min-width:0}.call-dock-text :is(strong,small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-dock-text small{font-size:11px;opacity:.8}.call-dock-button{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;background:var(--bg-3);color:var(--text)}.call-dock-button.off{background:#fff;color:var(--red)}.call-dock-button.on{background:var(--accent);color:var(--on-accent)}.call-dock-button.leave{background:var(--red);color:#fff}.room-icon.active{color:var(--green)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px;font-weight:600}.shortcut-row>span:first-child{display:grid;gap:3px}.shortcut-row small{font-size:13px;font-weight:400}.shortcut-controls{display:flex;gap:8px;align-items:center;flex:none}.shortcut-key{min-width:150px;padding:6px 12px;border-radius:6px;background:var(--bg-hover);border:1px solid transparent;color:inherit;font-variant-numeric:tabular-nums}.shortcut-key.recording{border-color:var(--link-warm)}.shortcut-error{color:var(--danger)}.context-menu{position:fixed;z-index:1000;min-width:160px;padding:4px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow)}.context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:4px;color:var(--text);font-size:14px;text-align:left}.context-menu button:hover{background:var(--bg-hover)}.unread-strip{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:16px;z-index:60;display:flex;gap:10px;max-width:calc(100vw - 32px);-webkit-app-region:no-drag}.unread-bubble{-webkit-app-region:no-drag;cursor:pointer;position:relative;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:0 4px 14px var(--shadow)}.unread-bubble:hover:not(:disabled){transform:scale(1.06)}.unread-bubble .badge{position:absolute;right:-6px;bottom:-4px;border:2px solid var(--bg-2)}.inline-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px}.composer{position:relative}.mention-list{position:absolute;left:12px;right:12px;bottom:100%;z-index:40;margin:0 0 4px;padding:4px;list-style:none;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow);max-height:240px;overflow-y:auto}.mention-list button{display:block;width:100%;padding:7px 10px;border:0;border-radius:4px;background:transparent;color:var(--text);font-size:14px;text-align:left}.mention-list button.active{background:var(--bg-hover)}.mention-list small{color:var(--muted);margin-left:6px}.unread-bubble.channel .unread-channel-icon{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg-hover);color:var(--text)}.unread-bubble.channel .at{position:absolute;left:-2px;top:-2px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--link-warm);color:var(--on-warm);font-size:11px;font-weight:800}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border:1px solid transparent;border-radius:12px;background:var(--bg-hover);color:var(--text);font-size:14px;line-height:22px}.reaction.mine{border-color:var(--link-warm);background:color-mix(in srgb,var(--link-warm) 15%,transparent)}.reaction-count{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.message:hover .message-actions,.message-actions.open{display:flex;align-items:center}.quick-reaction{font-size:16px;line-height:1}.actions-sep{width:1px;align-self:stretch;margin:2px 4px;background:var(--border)}.reaction-picker{position:absolute;top:calc(100% + 6px);right:0;z-index:30;border-radius:10px;box-shadow:0 8px 24px var(--shadow)}.sheet-quick{display:flex;justify-content:space-around;padding:4px 4px 8px}.sheet .sheet-quick button{width:auto;padding:6px 10px;font-size:26px;line-height:1}.reply-quote{display:block;max-width:100%;margin:2px 0 4px;padding:3px 10px;border:0;border-left:3px solid var(--link-warm);border-radius:0 4px 4px 0;background:var(--bg-hover);color:var(--muted);font-size:13px;text-align:left}.reply-quote strong{display:block;color:var(--text);font-size:12px}.reply-quote span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-banner{display:flex;align-items:center;gap:10px;margin:0 12px;padding:6px 10px;border-radius:8px 8px 0 0;background:var(--bg-hover);color:var(--muted);font-size:13px}.reply-banner-text{flex:1;min-width:0}.reply-banner-text strong{color:var(--text)}.reply-banner-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message.flash{animation:message-flash 1.6s ease-out}@keyframes message-flash{0%,40%{background:color-mix(in srgb,var(--link-warm) 22%,transparent)}to{background:transparent}}.control-group{position:relative;display:flex;align-items:center}.control-arrow{position:absolute;right:-6px;bottom:-2px;display:grid;place-items:center;width:20px;height:20px;padding:0;border:2px solid var(--bg-2);border-radius:50%;background:var(--bg-hover);color:var(--text)}.control-arrow:hover,.control-arrow.open{background:var(--accent);color:var(--on-accent)}.control-arrow svg{transition:transform .12s}.control-arrow.open svg{transform:rotate(180deg)}.device-menu{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:50;transform:translate(-50%);width:300px;max-height:320px;overflow-y:auto;padding:6px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow)}.device-menu-title{margin:4px 8px 6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.device-menu-empty{margin:8px;color:var(--muted);font-size:13px}.device-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:14px;text-align:left}.device-menu button:hover,.device-menu button.active{background:var(--bg-hover)}.device-check{flex:none;width:14px;color:var(--link-warm)}.device-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-samples{display:grid;gap:8px}.sound-samples>span{font-size:13px;color:var(--muted)}.sound-samples>div{display:flex;flex-wrap:wrap;gap:8px}.control-arrow.flip-camera{right:-8px;bottom:-6px;width:30px;height:30px}.settings-modal .tabs-label{display:none}.settings-content{min-width:0}:root:not([data-kind=mobile]) .modal.settings-modal{width:min(1120px,calc(100vw - 48px));height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;padding:0}:root:not([data-kind=mobile]) .settings-modal .modal-header{margin:0;padding:16px 24px;border-bottom:1px solid var(--border)}:root:not([data-kind=mobile]) .settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);flex:1;min-height:0}:root:not([data-kind=mobile]) .settings-modal .tabs{flex-direction:column;gap:2px;margin:0;padding:14px 10px;overflow-y:auto;border-bottom:0;border-right:1px solid var(--border);background:var(--bg-2)}:root:not([data-kind=mobile]) .settings-modal .tabs button{padding:9px 12px;border:0;border-radius:6px;text-align:left}:root:not([data-kind=mobile]) .settings-modal .tabs button:hover{background:var(--bg-hover)}:root:not([data-kind=mobile]) .settings-modal .tabs button.active{background:var(--bg-hover);color:var(--text);box-shadow:inset 3px 0 0 var(--link-warm)}:root:not([data-kind=mobile]) .settings-modal .tabs-label{display:block;margin:16px 12px 4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}:root:not([data-kind=mobile]) .settings-modal .tabs-label:first-child{margin-top:0}:root:not([data-kind=mobile]) .settings-modal .tabs-label:not(:first-child){margin:12px 0 4px;padding:14px 12px 0;border-top:1px solid var(--border)}:root:not([data-kind=mobile]) .settings-content{overflow-x:hidden;overflow-y:auto;padding:20px 28px 16px}.admin-toolbar{display:flex;align-items:center;gap:12px}.admin-search{flex:1;min-width:0;margin:0}.admin-count{font-size:13px;white-space:nowrap}.admin-list{display:grid;gap:10px}.admin-card{padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2)}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.admin-form label{display:grid;gap:4px}.admin-form input,.admin-form select{margin:0}.admin-form-check{align-self:end}.admin-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.user-card{display:grid;gap:12px}.user-card.inactive{opacity:.6}.user-head{display:flex;align-items:center;gap:12px}.user-id{display:grid;gap:2px;flex:1;min-width:0}.user-id small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text}.user-badges{display:flex;gap:6px}.pill{padding:2px 9px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700}.pill.off{background:var(--red)}.user-fields{display:flex;flex-wrap:wrap;align-items:end;gap:12px 24px}.user-fields label{display:grid;gap:4px;margin:0}.user-fields label.inline-check{display:inline-flex;text-transform:none;font-size:14px;font-weight:400;color:var(--text);padding-bottom:6px}.user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.user-actions form{display:flex;gap:8px}.user-actions input{margin:0;width:200px}.delete-user{gap:12px}.delete-user p{margin:0}.delete-user-list{display:grid;gap:6px;margin:0;padding-left:20px;color:var(--muted)}.delete-user-word{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.06em;color:var(--link-warm)}.delete-user input{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}.delete-user .modal-footer{margin-top:4px}.delete-user .modal-footer .danger{margin-right:0}.group-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.group-lock{flex-basis:100%;display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.group-lock input{width:auto;margin:0}.group-card .room-admin-name{flex:0 1 260px}.group-stats{flex:1;font-size:13px}.room-create,.room-admin{border:1px solid var(--border);border-radius:10px}.room-admin{background:var(--bg-2);padding:14px 16px}:root:not([data-kind=mobile]) .room-admin{grid-template-columns:1fr auto}:root:not([data-kind=mobile]) .room-admin>.room-admin-name,:root:not([data-kind=mobile]) .room-admin>.channel-fields,:root:not([data-kind=mobile]) .room-admin>.group-picker,:root:not([data-kind=mobile]) .room-admin>.senders-picker{grid-column:1 / -1}:root:not([data-kind=mobile]) .room-admin.channel-admin{grid-template-columns:auto 1fr auto}:root:not([data-kind=mobile]) .room-admin.channel-admin>.channel-fields{grid-column:2}:root:not([data-kind=mobile]) .room-admin>.confirm,:root:not([data-kind=mobile]) .room-admin>button{grid-column:-2 / -1;justify-self:end}.senders-picker{display:grid;gap:8px;padding-top:8px;border-top:1px dashed var(--border)}.senders-picker .group-picker{max-height:140px;overflow-y:auto}.inline-check{text-transform:none;font-weight:400;color:var(--text)}:root[data-kind=mobile] .settings-layout{display:block}:root[data-kind=mobile] .admin-form{grid-template-columns:1fr}:root[data-kind=mobile] .admin-toolbar{flex-wrap:wrap}:root[data-kind=mobile] .group-card{flex-wrap:wrap}:root[data-kind=mobile] .user-actions input{width:100%}:root:not([data-kind=mobile]) .settings-modal .tabs-bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}:root:not([data-kind=mobile]) .settings-modal .tabs-bottom button{width:100%}:root:not([data-kind=mobile]) .app{grid-template-columns:var(--sidebar-width, 280px) minmax(0,1fr) var(--team-bar-width, 68px)}:root:not([data-kind=mobile]) .app>:is(.main-view,.chat){grid-column:2}.team-bar{position:relative;grid-column:3;grid-row:1;z-index:8;min-height:0;background:var(--bg-team, var(--bg-2));border-left:1px solid var(--border)}.team-bar-inner{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:100%;padding-top:var(--titlebar);overflow:hidden;background:var(--bg-2);transition:width .14s ease-out,box-shadow .14s}.team-bar:not(.open):hover .team-bar-inner,.team-bar:not(.open):has(:focus-visible) .team-bar-inner{width:270px;border-left:1px solid var(--border);box-shadow:-10px 0 28px var(--shadow)}.team-bar-head{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px 8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.team-bar-head small{font-size:11px;font-variant-numeric:tabular-nums}.team-bar:is(.open,:hover,:has(:focus-visible)) .team-bar-head{flex-direction:row;justify-content:space-between;padding-inline:18px}.team-bar-list{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;padding:2px 8px 10px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.team-row{display:flex;align-items:center;gap:12px;flex:none;width:100%;padding:5px 8px;border-radius:8px;background:none;text-align:left}.team-row:hover:not(:disabled),.team-row.current{background:var(--bg-hover);filter:none}.team-row:disabled{opacity:1;cursor:default}.team-row-avatar{position:relative;flex:none;display:grid}.team-row .presence-dot{border-color:var(--bg-2)}.team-row:hover .presence-dot,.team-row.current .presence-dot{border-color:var(--bg-hover)}.team-row .badge.unread{position:absolute;top:-4px;right:-6px;padding:0 5px;font-size:10px;line-height:16px;border:2px solid var(--bg-2)}.team-row-text{display:grid;min-width:0;opacity:0;transition:opacity .1s}.team-bar:is(.open,:hover,:has(:focus-visible)) .team-row-text{opacity:1;transition-delay:.05s}.team-row-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.team-row.has-unread .team-row-text strong{font-weight:800}.team-row-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.team-bar-empty{margin:8px;font-size:12px;opacity:0}.team-bar:is(.open,:hover) .team-bar-empty{opacity:1}:root:not([data-kind=mobile]) .unread-strip{right:calc(var(--team-bar-width, 68px) + 16px)}.team-bar-head{position:relative}.team-bar-toggle{display:none;padding:4px;color:var(--muted)}.team-bar:is(.open,:hover,:has(:focus-visible)) .team-bar-toggle{display:grid}.team-bar-head strong{flex:1}.reaction{position:relative}.reaction-who{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;display:none;flex-direction:column;gap:2px;min-width:120px;max-width:260px;padding:8px 12px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow);color:var(--text);font-size:13px;font-weight:500;line-height:1.35;text-align:left;white-space:nowrap;pointer-events:none}.reaction-who strong{margin-bottom:2px;font-size:20px;line-height:1.2}.reaction-who em{color:var(--muted);font-style:normal}.reaction:hover .reaction-who,.reaction:focus-visible .reaction-who{display:flex}:root[data-kind=mobile] .reaction-who{display:none!important}.sensitivity{display:grid;gap:10px;padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2)}.sensitivity h3{margin:0;font-size:14px}.sensitivity .check{margin:0}.sens-meter{position:relative;height:12px;border-radius:6px;background:var(--bg)}.sens-fill{height:100%;border-radius:6px;background:var(--muted);transition:background .08s}.sens-fill.open{background:var(--green)}.sens-mark{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1px;border-radius:2px;background:var(--link-warm)}.sens-slider{display:flex;align-items:center;gap:12px;text-transform:none;font-size:13px;color:var(--text)}.sens-slider input{flex:1;margin:0;accent-color:var(--link-warm)}.sens-slider span{min-width:70px;text-align:right;font-variant-numeric:tabular-nums}.pins-toggle{position:relative}.pins-toggle.active{background:var(--bg-hover)}.pins-count{position:absolute;top:0;right:-2px;min-width:16px;padding:0 4px;border-radius:8px;background:var(--link-warm);color:var(--on-warm);font-size:10px;font-weight:800;line-height:16px}.pins-panel{position:absolute;top:calc(var(--titlebar, 0px) + 58px);right:16px;z-index:30;display:flex;flex-direction:column;width:min(460px,calc(100% - 32px));max-height:min(640px,calc(100% - 120px));border-radius:12px;border:1px solid var(--border);background:var(--bg-2);box-shadow:0 16px 40px var(--shadow)}.pins-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);font-size:16px}.pins-head strong{flex:1}.pins-list{display:grid;align-content:start;gap:10px;padding:12px;overflow-y:auto}.pins-empty{margin:12px 4px;font-size:13px}.pin-card{display:grid;gap:6px;min-width:0;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-3)}.pin-card header{display:flex;align-items:center;gap:8px;min-width:0}.pin-card-who{display:grid;flex:1;min-width:0}.pin-card-who strong,.pin-card-who time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-card-who time{color:var(--muted);font-size:11px}.pin-card-actions{display:flex;flex:none;align-items:center;gap:4px;white-space:nowrap}.pin-card-actions .link{font-size:12px}.pin-card .message-body{min-width:0}.message-pinned{display:inline-flex;align-items:center;gap:4px;margin-left:6px;color:var(--link-warm);font-size:11px;font-weight:600}.message-actions .icon-button.active{color:var(--link-warm)}:root[data-kind=mobile] .pins-panel{position:fixed;inset:calc(var(--titlebar, 0px) + 56px) 8px auto;width:auto;max-height:75dvh}.pin-card-by{display:block;margin-top:6px;color:var(--link-warm);font-size:11px;font-weight:600}.tile-action.popout-action{right:52px}.popout-cover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--bg-3);color:var(--text);text-align:center;cursor:default}.popout-cover svg{color:var(--link-warm)}.popout-cover span{font-size:13px}.popout-cover button{margin-top:6px}.strip .popout-cover strong{font-size:12px}.strip .popout-cover span,.strip .popout-cover svg{display:none}.noise-filter{margin-top:20px}.noise-filter h3{margin:0 0 4px;font-size:15px}.noise-filter label.check{align-items:flex-start}.noise-filter label.check input{margin-top:3px;accent-color:var(--accent)}.noise-filter label.check span{display:grid;gap:2px}.noise-filter small{font-size:13px}.share-alone{position:fixed;left:50%;bottom:96px;z-index:70;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-3);box-shadow:0 10px 30px var(--shadow);color:var(--text);font-size:14px;-webkit-app-region:no-drag}.share-alone svg{flex:none;color:var(--yellow)}.share-alone button{flex:none;white-space:nowrap}@media(max-width:760px){.share-alone{flex-wrap:wrap}}.share-privacy-options{display:grid;gap:10px;margin:4px 0 0 4px}.share-privacy-options select{width:auto;margin:0 0 0 4px}.share-privacy-options small{display:block}.share-privacy-options>button{justify-self:start}.whats-new h3{margin:14px 0 6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.whats-new section:first-of-type h3{margin-top:0}.whats-new ul{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.45}.sidebar-header{position:relative}.header-actions{display:flex;align-items:center}.quick-links{position:static}.quick-links-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:8px;background:none;color:var(--link-warm)}.quick-links-button:hover,.quick-links-button.open{background:var(--bg-hover);filter:none}.quick-links-menu{position:absolute;top:calc(100% + 2px);left:8px;right:8px;z-index:40;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);box-shadow:0 8px 24px var(--shadow)}.quick-links-title{margin:4px 8px 6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.quick-links-empty{margin:6px 8px 8px;color:var(--muted);font-size:13px}.quick-links-list{max-height:min(60vh,420px);overflow-y:auto}.quick-link{display:block;padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;color:var(--text);text-decoration:none}.quick-link:hover{background:var(--bg-hover)}.quick-folder-button{display:flex;align-items:center;gap:6px;width:100%;background:none;text-align:left;font:inherit}.quick-folder-button svg{flex:none;color:var(--muted)}.quick-folder-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.quick-folder-items{margin-left:14px;padding-left:8px;border-left:1px solid var(--border)}.quick-link.child{padding-left:12px}.quick-links-empty.child{margin:4px 8px}.quick-links-manage{width:100%;margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 6px 6px;background:none;color:var(--link-warm);font-size:13px}.quick-link-create{display:grid;gap:8px;margin-bottom:16px}.quick-link-create .primary{justify-self:start}.quick-link-admin-list{display:grid;gap:8px}.quick-link-admin{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(160px,2fr) auto;align-items:center;gap:8px}.quick-link-admin input,.quick-link-admin select{margin:0;min-width:0}.quick-link-name{display:flex;align-items:center;gap:6px;min-width:0}.quick-link-name input{flex:1}.quick-link-name svg{flex:none;color:var(--muted)}.quick-link-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.quick-link-fields:has(input:only-child){grid-template-columns:minmax(0,1fr)}.quick-folder-admin{display:grid;gap:8px}.quick-link-admin.child{margin-left:28px}.quick-link-count{font-size:13px}.quick-folder-create{grid-template-columns:minmax(0,1fr) auto;align-items:end}.quick-link-move{display:grid}.quick-link-move .icon-button{padding:0 4px;font-size:9px;line-height:1.2}@media(max-width:760px){.quick-link-admin{grid-template-columns:auto 1fr}}.connection-notice{position:absolute;top:calc(100% + 8px);right:8px;z-index:30;width:max-content;max-width:calc(100% - 16px);padding:8px 12px;border:1px solid var(--yellow);border-radius:8px;background:var(--bg-elevated);box-shadow:0 8px 24px var(--shadow);color:var(--text);font-size:13px;line-height:1.35;pointer-events:none}.connection-notice.ok{border-color:var(--green)}.connection-notice:before{content:"";position:absolute;top:-5px;right:24px;width:8px;height:8px;border-top:1px solid var(--yellow);border-left:1px solid var(--yellow);background:var(--bg-elevated);transform:rotate(45deg)}.connection-notice.ok:before{border-color:var(--green)}.menu-icon line{transform-box:fill-box;transform-origin:center;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .18s ease}.menu-icon.open .menu-icon-top{transform:translateY(6px) rotate(45deg)}.menu-icon.open .menu-icon-middle{opacity:0;transform:scaleX(0)}.menu-icon.open .menu-icon-bottom{transform:translateY(-6px) rotate(-45deg)}@media(prefers-reduced-motion:reduce){.menu-icon line{transition:none}}.format-bar{display:flex;align-items:center;gap:2px;margin:0 0 4px}.format-bar .icon-button{width:28px;height:28px;font-size:14px;line-height:1}.format-bar .format-b{font-weight:800}.format-bar .format-i{font-style:italic;font-family:Georgia,Times New Roman,serif}.format-bar .format-u{text-decoration:underline}.format-bar .format-s{text-decoration:line-through}.message-body u{text-underline-offset:2px}.context-menu{position:fixed;z-index:1100;min-width:190px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--bg-2);box-shadow:0 8px 24px var(--shadow);-webkit-app-region:no-drag}.context-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:5px;background:none;text-align:left;cursor:pointer}.context-menu button:hover,.context-menu button:focus-visible{outline:none;background:var(--bg-hover)}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-option{display:grid;gap:8px;padding:8px;border:2px solid var(--border);border-radius:10px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--text);cursor:pointer}.theme-option.on{border-color:var(--accent)}.theme-option-text{display:flex;align-items:flex-start;gap:8px}.theme-option-text input{margin-top:3px;accent-color:var(--accent)}.theme-option-text small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}.theme-preview{--p-bg: #1e1f22;--p-side: #2b2d31;--p-main: #313338;--p-line: #4e5058;display:flex;height:64px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--p-bg)}.theme-preview.light{--p-bg: #e9eaed;--p-side: #f4f5f7;--p-main: #ffffff;--p-line: #d0d3d8}.theme-preview.system{background:linear-gradient(135deg,#313338 50%,#fff 50%)}.theme-preview.system .tp-side,.theme-preview.system .tp-main{background:transparent}.theme-preview.system .tp-line{background:#8e9097}.tp-side{width:28%;background:var(--p-side)}.tp-main{flex:1;display:grid;align-content:start;gap:6px;padding:10px;background:var(--p-main)}.tp-line{height:6px;border-radius:3px;background:var(--p-line)}.tp-line.short{width:60%}.tp-button{width:40%;height:10px;border-radius:3px;background:var(--accent)}@media(max-width:560px){.theme-options{grid-template-columns:1fr}.theme-option{grid-template-columns:96px 1fr;align-items:center}}.branding-tab,.branding-form{display:grid;gap:14px}.branding-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.color-field{display:grid;gap:4px;justify-items:start}.color-field label{width:100%}.color-inputs{display:flex;gap:8px;margin-top:6px}.color-inputs input{margin:0}.color-inputs input[type=color]{width:44px;height:38px;padding:2px;cursor:pointer}.color-inputs input:not([type=color]){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.color-field small{font-size:12px}.brand-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-preview-card{display:grid;justify-items:center;gap:8px;padding:14px;border:1px solid var(--border);border-radius:10px}.brand-preview-card.light{background:#fff;color:#1e1f22}.brand-preview-card.dark{background:#313338;color:#f2f3f5}.brand-preview-card small{justify-self:start;font-size:11px;opacity:.7}.brand-preview-card img{max-width:140px;max-height:48px;object-fit:contain}.brand-preview-link{font-size:13px;text-decoration:underline}.brand-preview-button{padding:6px 18px;border-radius:6px;font-size:13px;font-weight:600}.branding-save{display:flex;align-items:center;justify-content:flex-end;gap:12px}.branding-assets{display:grid;gap:10px}.asset-field{display:flex;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius)}.asset-thumb{flex:none;display:grid;place-items:center;width:120px;height:56px;border-radius:6px;font-size:11px;text-align:center}.asset-thumb.logoLight{background:#fff;border:1px solid var(--border)}.asset-thumb.logoDark{background:#1e1f22}.asset-thumb.icon{width:56px;background:var(--bg-2)}.asset-thumb img{max-width:100%;max-height:100%;object-fit:contain}.asset-text{display:grid;gap:4px}.asset-text small{font-size:12px}.asset-actions{display:flex;gap:8px;margin-top:4px}@media(max-width:560px){.branding-colors,.brand-preview{grid-template-columns:1fr}.asset-field{align-items:flex-start}}.login-settings-form{display:grid;gap:14px;max-width:520px}.login-settings-form .inline-check{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:0}.login-settings-hint{display:block;margin-top:4px;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0}.login-settings-form>.login-settings-hint{margin-top:-8px}.zoom-stage{position:absolute;left:0;top:0;width:100%;height:100%;will-change:transform}.tile.screen.zoomable{touch-action:none}.tile.screen.zoomed{cursor:grab}.tile.screen.panning{cursor:grabbing}.tile.screen.panning .video{pointer-events:none}.zoom-controls{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:2px;padding:2px;border-radius:6px;background:#0009;color:#fff;font-size:13px;cursor:default;opacity:0;transition:opacity .15s}.tile:hover .zoom-controls,.tile.zoomed .zoom-controls,.zoom-controls:focus-within{opacity:1}.zoom-controls .icon-button{width:28px;height:28px;font-size:18px;line-height:1;color:#fff}.zoom-controls .icon-button:hover:not(:disabled){background:#ffffff26;color:#fff}.zoom-controls .icon-button:disabled{opacity:.4}.zoom-level{min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.zoom-fit{margin-left:2px;padding:4px 10px;border-radius:4px;background:#ffffff26;color:#fff;font-size:12px}.zoom-fit:hover{background:#ffffff40}:root[data-kind=mobile] .zoom-controls{opacity:1}:root[data-kind=mobile] .zoom-controls .icon-button{width:36px;height:36px}.demo-bar{display:grid;gap:6px;margin:0 8px 8px;padding:8px 8px 8px 12px;border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--border);font-size:13px}.demo-bar-row{display:flex;align-items:center;gap:8px}.demo-bar-time{flex:1;min-width:0;display:grid;line-height:1.2}.demo-bar-time small{color:var(--muted);font-size:12px}.demo-bar-time strong{font-size:16px;font-variant-numeric:tabular-nums}.demo-bar.ending{border-color:var(--accent)}.demo-bar.ending .demo-bar-time strong{color:var(--link-warm)}.demo-bar-cta{color:var(--link-warm);font-size:12px}.demo-bar .primary{padding:6px 12px}.demo-link-bar{padding:8px}.demo-link-bar .primary{width:100%}.demo-link-form{display:grid;gap:12px}.demo-tour{position:fixed;inset:0;z-index:80}.demo-tour-shield{position:absolute;inset:0}.demo-tour.centered .demo-tour-shield{background:var(--backdrop)}.demo-tour-spot{position:absolute;border-radius:var(--radius);box-shadow:0 0 0 2px var(--accent),0 0 0 9999px var(--backdrop);pointer-events:none;transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease}.demo-tour-card{position:absolute;width:min(360px,calc(100vw - 28px));padding:16px 18px 14px;border-radius:12px;background:var(--bg-3);border:1px solid var(--border);box-shadow:0 12px 32px var(--shadow)}.demo-tour.centered .demo-tour-card{left:50%;top:50%;width:min(400px,calc(100vw - 28px));transform:translate(-50%,-50%)}.demo-tour-count{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.demo-tour-card h2{margin:2px 0 8px;font-size:17px}.demo-tour-body p{margin:0 0 10px;line-height:1.5;font-size:14px}.demo-tour-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.demo-tour-nav{display:flex;gap:8px}.demo-tour-skip,.demo-tour-later{font-size:13px;white-space:nowrap}.demo-tour-later{display:block;margin:12px auto 0}@media(prefers-reduced-motion:reduce){.demo-tour-spot{transition:none}}.demo-link-bar{gap:6px}.demo-active-button{width:100%;padding:6px 12px;border-radius:var(--radius);background:var(--bg-hover);color:var(--text);font-size:13px}.demo-active-button.ending{box-shadow:inset 0 0 0 1px var(--accent)}.demo-sessions{display:grid;gap:8px;margin:0;padding:0;list-style:none}.demo-sessions li{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radius);background:var(--bg-hover)}.demo-sessions li.ending{box-shadow:inset 0 0 0 1px var(--accent)}.demo-session-who{flex:1;min-width:0;display:grid;line-height:1.25}.demo-session-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-session-left{font-variant-numeric:tabular-nums;font-weight:600}.composer-box.recording{align-items:center}.voice-recorder{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.voice-dot{--level: 0;flex:none;width:12px;height:12px;border-radius:50%;background:var(--red);transform:scale(calc(1 + var(--level) * .6));transition:transform 80ms linear}.voice-recorder.recording .voice-dot{animation:voice-blink 1.2s ease-in-out infinite}.voice-recorder.paused .voice-dot,.voice-recorder.stopped .voice-dot,.voice-recorder.starting .voice-dot{opacity:.4}@keyframes voice-blink{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.voice-recorder.recording .voice-dot{animation:none}}.voice-time{font-variant-numeric:tabular-nums;font-weight:600}.voice-hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attachment-voice{display:flex;align-items:center;gap:10px;width:320px;max-width:100%;padding:8px 10px;border-radius:var(--radius);background:var(--bg-hover)}.attachment-voice audio{display:none}.voice-play{flex:none;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;background:var(--accent);color:var(--on-accent)}.voice-seek{--p: 0;flex:1;min-width:0;height:20px;margin:0;padding:0;border:0;border-radius:0;background:transparent;appearance:none;cursor:pointer}.voice-seek:focus{outline:none}.voice-seek:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.voice-seek::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--text) calc(6px + (100% - 12px) * var(--p)),color-mix(in srgb,var(--muted) 45%,transparent) calc(6px + (100% - 12px) * var(--p)))}.voice-seek::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:var(--text);box-shadow:0 1px 3px #00000059;transition:transform .12s ease}.voice-seek:hover::-webkit-slider-thumb,.voice-seek:active::-webkit-slider-thumb{transform:scale(1.25)}.voice-seek::-moz-range-track{height:4px;border-radius:2px;background:color-mix(in srgb,var(--muted) 45%,transparent)}.voice-seek::-moz-range-progress{height:4px;border-radius:2px;background:var(--text)}.voice-seek::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--text)}@media(prefers-reduced-motion:reduce){.voice-seek::-webkit-slider-thumb{transition:none}}.voice-clock{flex:none;min-width:34px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.voice-speed{flex:none;padding:2px 6px;border-radius:10px;background:none;font-size:12px;color:var(--muted)}.voice-speed:hover{background:var(--bg-hover)}.attachment-voice .attachment-video-error{flex-basis:100%}.poll{display:grid;gap:6px;width:420px;max-width:100%;padding:12px;border-radius:var(--radius);background:var(--bg-hover)}.poll-question{font-size:15px;overflow-wrap:anywhere}.poll-list{display:grid;gap:6px;margin:4px 0 0;padding:0;list-style:none}.poll-vote{position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;background:var(--bg);text-align:left}.poll-vote:disabled{opacity:1;cursor:default}.poll-vote:hover:not(:disabled){filter:none;outline:1px solid var(--muted)}.poll-bar{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.28;transition:width .2s ease}.poll-option.chosen .poll-vote{outline:2px solid var(--accent)}.poll-option.winner .poll-text{font-weight:700}.poll-check{position:relative;flex:none;display:grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--muted);border-radius:50%}.poll-option.chosen .poll-check{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.poll-text{position:relative;flex:1;min-width:0;overflow-wrap:anywhere}.poll-count{position:relative;flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.poll-who-toggle,.poll-close{padding:2px 4px;background:none;font-size:12px;color:var(--muted)}.poll-who-toggle:hover,.poll-close:hover{color:var(--text)}.poll-who{display:block;padding:0 4px;color:var(--muted);overflow-wrap:anywhere}.poll-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.poll-confirm{display:inline-flex;align-items:center;gap:6px;font-size:12px}.poll-form{display:grid;gap:12px}.poll-form label{display:grid;gap:4px}.poll-options{display:grid;gap:6px}.poll-option-row{display:flex;align-items:center;gap:4px}.poll-option-row input{flex:1}.poll-add{justify-self:start;padding:4px 6px;background:none;color:var(--muted)}.poll-add:hover{color:var(--text)}.note-bar{display:flex;align-items:center;gap:6px;padding:8px 20px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.note-bar::-webkit-scrollbar{display:none}.note-chip{flex:none;display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:5px 12px;border-radius:999px;background:var(--bg-hover);color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.note-chip:hover{filter:brightness(1.12)}.note-chip.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.note-chip.add{color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.note-chip.add:hover{color:var(--text)}.note-chip.delete{margin-left:-2px;padding:5px 9px;color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.note-chip.delete:hover{color:var(--red);filter:none}.note-chip.editing{padding:0;background:transparent}.note-chip.editing input{width:150px;margin:0;padding:5px 12px;border-radius:999px;font-size:13px}.note-dot{--note: var(--muted);flex:none;width:8px;height:8px;border-radius:50%;background:var(--note)}.note-color-0{--note: #e5484d}.note-color-1{--note: #f76b15}.note-color-2{--note: #f5a524}.note-color-3{--note: #30a46c}.note-color-4{--note: #12a594}.note-color-5{--note: #0091ff}.note-color-6{--note: #8e4ec6}.note-color-7{--note: #d6409f}.note-tag{display:inline-flex;align-items:center;gap:5px;margin-top:2px;color:var(--muted);font-size:12px}.composer-note-category{display:flex;align-items:center;gap:6px;margin:0 2px 4px;color:var(--muted);font-size:12px}.composer-note-category strong{color:var(--text);font-weight:600}:root[data-kind=mobile] .note-bar{padding:8px 12px}.note-chip.dragging{opacity:.45}.note-chip.drop-before{box-shadow:-3px 0 0 0 var(--accent)}.note-chip.drop-after{box-shadow:3px 0 0 0 var(--accent)}.search-panel .pins-head{gap:8px;padding:10px 12px}.search-panel .pins-head .search-input{flex:1;min-width:0;margin:0;padding:7px 10px;font-size:14px}.search-panel .pins-head .search-input::-webkit-search-cancel-button{display:none}.search-scope{padding:8px 12px 0}.search-snippet{margin:6px 0 0;font-size:14px;overflow-wrap:anywhere}.search-hit{padding:0 1px;border-radius:3px;background:color-mix(in srgb,var(--accent) 38%,transparent);color:var(--text)}.search-more{justify-self:center;padding:6px 12px;background:none;color:var(--muted);font-size:13px}.search-more:hover{color:var(--text)}.entry-stack{position:fixed;top:16px;right:calc(var(--team-bar-width, 68px) + 16px);z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 32px));-webkit-app-region:no-drag}.entry-card{position:relative;display:grid;gap:12px;padding:14px 14px 16px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-3);box-shadow:0 10px 30px var(--shadow);color:var(--text);font-size:14px}.entry-who{display:flex;align-items:center;gap:10px}.entry-actions{display:flex;gap:8px}.entry-actions button{flex:1}.entry-replies{display:grid;gap:6px}.entry-replies small{color:var(--muted);opacity:.8}.entry-replies button{text-align:left;white-space:normal;line-height:1.35}.entry-replies .entry-back{justify-self:start;background:transparent;border-color:transparent}.entry-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--accent, currentColor);transform-origin:left;animation:entry-timer linear forwards}@keyframes entry-timer{to{transform:scaleX(0)}}.entry-wait{position:fixed;bottom:96px;left:50%;z-index:80;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-3);box-shadow:0 10px 30px var(--shadow);color:var(--text);font-size:14px;-webkit-app-region:no-drag}.entry-wait button{flex:none;white-space:nowrap}.entry-spinner{flex:none;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:entry-spin .8s linear infinite}@keyframes entry-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.entry-stack{top:calc(env(safe-area-inset-top,0px) + 12px);right:16px;left:16px;width:auto}.entry-wait{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.entry-timer,.entry-spinner{animation:none}}.stage-body{position:relative;flex:1;display:flex;min-height:0;min-width:0}.stage-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.room-chat{flex:none;display:flex;flex-direction:column;width:320px;min-height:0;border-left:1px solid var(--border);background:var(--bg-2)}.room-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 4px 16px}.room-chat-header strong{margin-right:auto}.room-chat-clear{padding:4px 10px;margin-right:6px;font-size:12px;background:none;color:var(--muted)}.room-chat-clear:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.room-chat-confirm{display:flex;flex-direction:column;gap:8px;margin:4px 12px 10px;padding:10px 12px;font-size:13px;line-height:1.4;border:1px solid var(--border);border-radius:8px;background:var(--bg-3, var(--bg-hover))}.room-chat-confirm-actions{display:flex;gap:8px}.room-chat-note{margin:0;padding:0 16px 10px;color:var(--muted);font-size:12px;line-height:1.4;border-bottom:1px solid var(--border)}.room-chat-list{flex:1;min-height:0;margin:0;padding:12px 16px;list-style:none;overflow-y:auto;display:flex;flex-direction:column;gap:12px;-webkit-user-select:text;user-select:text}.room-chat-empty{margin:auto;text-align:center;font-size:13px}.room-chat-meta{display:flex;align-items:baseline;gap:8px;font-size:12px}.room-chat-meta time{color:var(--subtle)}.room-chat-message p{margin:2px 0 0;font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.room-chat-message.mine .room-chat-meta strong{color:var(--text-strong)}.room-chat a{color:var(--link-warm)}.room-chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--border)}.room-chat-form textarea{flex:1;min-width:0;max-height:120px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font:inherit;color:inherit;resize:none;field-sizing:content;-webkit-user-select:text;user-select:text}.room-chat-form textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.room-chat-form .send{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0}.room-chat-form .icon-button{flex:none;align-self:center}.room-chat{position:relative}.room-chat-uploads{flex-direction:column;margin:0;padding:8px 12px 0;border-top:1px solid var(--border)}.room-chat-uploads .upload{width:100%}.room-chat .attachments{margin-top:6px}.room-chat .attachment-image img,.room-chat .attachment-video video{max-width:100%;height:auto}.room-chat.dragging{outline:2px dashed var(--accent);outline-offset:-4px}.room-chat-drop{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg-2) 85%,transparent);color:var(--text-strong);font-weight:600;pointer-events:none}.control{position:relative}.control:disabled{opacity:.45}.control-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.room-chat-mark{display:inline-flex;margin-left:6px;vertical-align:-1px;color:var(--muted)}.room-chat-mark.unread{color:var(--link-warm)}.transcript-stack{position:fixed;top:16px;left:50%;z-index:80;width:min(420px,calc(100vw - 32px));transform:translate(-50%);-webkit-app-region:no-drag}.transcript-card{-webkit-user-select:text;user-select:text}.transcript-text{display:grid;gap:4px;line-height:1.4}.transcript-label{display:block}.transcript-label input{text-transform:none;font-weight:400;font-size:14px}.transcript-hint,.transcript-more{color:var(--muted)}@media(max-width:720px){.room-chat{position:absolute;inset:0;z-index:5;width:auto;border-left:none}}:root[data-kind=mobile] .room-chat{position:absolute;inset:0;z-index:5;width:auto;border-left:none}.voice-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 10px 8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--user-panel)}.voice-bar-head{display:flex;align-items:center;gap:4px}.voice-bar-room{flex:1;min-width:0;display:grid;justify-items:start;gap:1px;padding:2px 4px;background:none;text-align:left}.voice-bar-room:hover:not(:disabled){filter:none}.voice-bar-room:hover small{color:var(--text);text-decoration:underline}.voice-bar-status{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--green)}.voice-bar-status.connecting,.voice-bar-status.reconnecting{color:var(--yellow)}.voice-bar-room small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.voice-bar-leave:hover:not(:disabled){color:var(--danger)}.voice-bar-live{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;min-width:0;border-radius:var(--radius);background:var(--bg-2);font-size:12px}.voice-bar-live>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-bar-live-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--danger);animation:voice-bar-pulse 1.6s ease-in-out infinite}@keyframes voice-bar-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.voice-bar-live-dot{animation:none}}.voice-bar-live button{flex:none;padding:4px 8px;font-size:12px;font-weight:600}.voice-bar-live button.stop{background:var(--red);color:#fff}.voice-bar-actions{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px}.voice-bar-actions button{position:relative;display:grid;place-items:center;height:34px;padding:0;border-radius:var(--radius);background:var(--bg-3);color:var(--text)}.voice-bar-actions button.on{background:var(--accent);color:var(--on-accent)}.voice-bar-actions .control-badge{top:-6px;right:-4px}.forward-form{display:grid;gap:12px}.forward-preview{margin:0;padding:8px 10px;border-left:3px solid var(--border);border-radius:4px;background:var(--bg-3);color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forward-form .member-picker-list label:has(input:disabled){opacity:.5;cursor:default}.message-forwarded{display:inline-flex;align-items:center;gap:4px;margin-bottom:2px;color:var(--muted);font-size:12px;font-style:italic}.meeting-item{width:100%;display:flex;align-items:center;gap:10px;margin-bottom:2px;padding:6px 8px;border-radius:var(--radius);background:none;text-align:left}.meeting-item:hover{background:var(--bg-hover)}.meeting-item-text{flex:1;min-width:0;display:grid;line-height:1.25}.meeting-item-text small{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-item-badge{flex:none;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:11px;font-weight:600}.guest-tag{flex:none;padding:0 6px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:16px}.tile-label .guest-tag{background:var(--backdrop);color:#fff;border-color:transparent}.meeting-when-toggle{display:flex;gap:8px}.meeting-when-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.meeting-when-fields input,.meeting-when-fields select{width:100%}.meeting-details .settings-section{display:grid;gap:10px}.meeting-details h3{margin:8px 0 0;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.meeting-when{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600}.meeting-when .pill{font-weight:500}.meeting-rsvp{display:flex;gap:8px}.meeting-invites{display:grid;gap:6px;margin:0;padding:0;list-style:none}.meeting-invites li{display:flex;align-items:center;gap:8px}.meeting-invite-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-response{color:var(--muted)}.meeting-response.accepted{color:var(--green)}.meeting-response.declined{color:var(--error-text)}.guest-links{display:grid;gap:8px}.guest-links p{margin:0}.guest-link-new{display:flex;gap:8px}.guest-link-new input{flex:1;min-width:0;margin:0}.guest-link-new button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.guest-link-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.guest-link-list li{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius);background:var(--bg-2)}.guest-link-list li.used{opacity:.75}.guest-link-label{flex:1;min-width:0;display:grid;line-height:1.3}.guest-link-label small{font-size:12px}.guest-link-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);-webkit-user-select:all;user-select:all}.meeting-card-icon{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.meeting-card small{color:var(--muted)}.guest-app{display:flex;flex-direction:column;height:100dvh;background:var(--bg);color:var(--text)}.guest-top{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-2)}.guest-top .brand{height:26px;width:auto}.guest-top-title{min-width:0;display:grid;line-height:1.25}.guest-top-title strong,.guest-top-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-stage{flex:1;min-height:0;display:flex}.guest-stage>.stage{flex:1;min-width:0}.guest-wait{flex:1;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px 16px;text-align:center}.guest-wait h1{margin:0;font-size:22px}.guest-wait p{max-width:420px;margin:0;line-height:1.5}.guest-wait .entry-spinner{width:28px;height:28px}.guest-wait-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.live-screen{position:fixed;inset:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:0 16px max(32px,env(safe-area-inset-bottom));background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 24%,var(--bg)) 0,var(--bg) 60%);color:var(--text);-webkit-user-select:text;user-select:text}.live-loading{justify-content:center;color:var(--muted)}.live-top{width:100%;max-width:480px;padding:max(28px,env(safe-area-inset-top)) 0 clamp(20px,6vh,56px)}.live-top .brand{display:block;height:34px;width:auto;max-width:200px;object-fit:contain}.live-card{width:100%;max-width:480px;display:grid;gap:16px;padding:clamp(22px,5vw,32px);border-radius:14px;border:1px solid var(--border);background:var(--bg-3);box-shadow:0 10px 40px var(--shadow)}.live-card h1{margin:0;font-size:clamp(22px,5vw,26px);line-height:1.2;text-wrap:balance}.live-card p{margin:0;line-height:1.5}.live-kicker{color:var(--muted);font-size:13px;font-weight:600}.live-meeting{display:grid;gap:6px}.live-meeting p:first-letter{text-transform:uppercase}.live-form{display:grid;gap:12px}.live-form input{margin-top:6px;font-size:16px}.live-form .primary,.live-actions .primary{padding:11px 18px;font-size:15px}.live-actions{display:flex;gap:8px}.live-note{padding-top:14px;border-top:1px solid var(--border);font-size:13px}
