: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 .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}.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{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,.rename-room:focus-visible{display:grid}.rename-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{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;align-items:center;gap:16px}.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-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{margin:0;min-width:0}.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}@font-face{font-family:Bricolage Grotesque;font-weight:400 800;font-display:swap;src:url(/fonts/bric3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-weight:400 800;font-display:swap;src:url(/fonts/bric2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2")}.demo-screen{--laranja: #ff6b3d;--laranja-hover: #f2542d;--profundo: #c2410c;--tinta: #1c1a1f;--areia: #faf6f1;--areia-2: #f2ebe2;--papel: #fffdfa;--texto-2: #57515c;--linha: rgba(28, 26, 31, .12);--linha-forte: rgba(28, 26, 31, .22);--erro: #b42318;--lado: clamp(16px, 4vw, 40px);position:fixed;inset:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:0 var(--lado) max(32px,env(safe-area-inset-bottom));background:var(--areia);color:var(--tinta);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.55;font-feature-settings:"cv11","ss01";-webkit-user-select:text;user-select:text;color-scheme:light;-webkit-text-size-adjust:100%}.demo-loading{justify-content:center;color:var(--texto-2)}.demo-top{width:100%;max-width:560px;padding:max(24px,env(safe-area-inset-top)) 0 clamp(24px,6vh,64px)}.demo-logo{display:inline-block}.demo-logo img{display:block;height:40px;width:auto}.demo-card{position:relative;width:100%;max-width:560px;padding:clamp(28px,5vw,44px) clamp(22px,5vw,44px) clamp(26px,4vw,36px);border-radius:22px;background:var(--papel);border:1px solid var(--linha);overflow:hidden}.demo-arc{position:absolute;top:22px;right:22px;width:64px;height:auto;fill:var(--laranja)}.demo-card h1{margin:0 72px 14px 0;font-family:Bricolage Grotesque,ui-rounded,system-ui,sans-serif;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}.demo-lead{margin:0 0 26px;font-size:18px;color:var(--texto-2);text-wrap:pretty}.demo-form{display:grid;gap:14px}.demo-field{display:grid;gap:6px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;line-height:1.3;color:var(--tinta)}.demo-field input{height:50px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--linha-forte);background:var(--areia);color:var(--tinta);font-size:17px;font-weight:400}.demo-field input:focus{outline:2px solid var(--tinta);outline-offset:1px}.demo-field input[aria-invalid=true]{border-color:var(--erro)}.demo-error{margin:-4px 0 0;font-size:15px;color:var(--erro)}.demo-actions{display:flex;flex-wrap:wrap;gap:12px}.demo-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border:1px solid var(--laranja);border-radius:999px;background:var(--laranja);color:var(--tinta);font:inherit;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.demo-btn:hover:not(:disabled){background:var(--laranja-hover);border-color:var(--laranja-hover);filter:none}.demo-btn:focus-visible{outline:2px solid var(--tinta);outline-offset:3px}.demo-btn:disabled{opacity:.7;cursor:progress}.demo-btn.ghost{background:transparent;border-color:var(--linha-forte)}.demo-btn.ghost:hover{background:var(--tinta);border-color:var(--tinta);color:var(--areia)}.demo-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--linha);font-size:14px;color:var(--texto-2)}@media(max-width:480px){.demo-form .demo-btn,.demo-actions .demo-btn{width:100%}.demo-arc{width:48px;top:18px;right:18px}.demo-card h1{margin-right:52px}}@media(prefers-reduced-motion:reduce){.demo-btn{transition:none}}
