:root{--bg:#161a21;--sidebar:#10141a;--surface:#1f252f;--surface-2:#252c38;--line:#2d3542;--text:#e7ebf2;--muted:#9ca7b8;--faint:#6c788b;--accent:#4b88eb;--accent-hover:#5b95f0;--green:#66cf9c;--amber:#eebe6f;--red:#f17d84;--danger-fill:#a13843;--hover:#2c3645;--selected:#21334d;--selection:#284670;--active:#243c5c;--focus:#516b8e;--radius:8px;--radius-sm:6px;--shadow:0 12px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Segoe UI,Microsoft YaHei UI,PingFang SC,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#3a4558 transparent}body{min-height:100vh;margin:0}::selection{background:var(--selection)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600}h1{font-size:22px}h2{font-size:15px}h3{font-size:14px}p{margin:0}code,.mono{font-family:Cascadia Mono,Consolas,SFMono-Regular,Menlo,monospace;font-size:.95em}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.green{color:var(--green)}.amber{color:var(--amber)}.red{color:var(--red)}.nowrap{white-space:nowrap}.pre-line{white-space:pre-line}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row{align-items:center;display:flex}.row.wrap{flex-wrap:wrap}.gap-sm{gap:8px}.gap{gap:12px}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=860px){.grid-cols-3{grid-template-columns:minmax(0,1fr)}}.input.limit-input{flex:none;width:120px}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand{flex-direction:column;align-items:flex-start;gap:6px;padding:20px 18px 14px;display:flex}.brand-logo{color:var(--text);flex:none;display:block}.brand-sub{color:var(--muted);max-width:150px;font-size:12px}.nav{flex-direction:column;gap:2px;padding:6px 10px 12px;display:flex}.nav-group{color:var(--faint);letter-spacing:.04em;padding:14px 10px 6px;font-size:12px}.nav a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.nav a:hover{background:var(--hover);color:var(--text)}.nav a.active{background:var(--selected);color:var(--text)}.nav a.active svg{color:var(--accent)}.nav-count{background:var(--danger-fill);color:#fff;border-radius:9px;margin-left:auto;padding:0 6px;font-size:11px}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.avatar{background:var(--active);width:32px;height:32px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.main{flex-direction:column;min-width:0;display:flex}.topbar{display:none}.content{width:100%;max-width:1280px;padding:28px 32px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{margin-top:4px}.back{color:var(--muted);align-items:center;gap:4px;margin-bottom:6px;font-size:13px;display:inline-flex}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;width:260px;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .sidebar{box-shadow:var(--shadow);transform:none}.shell.nav-open:after{content:"";z-index:30;background:#00000073;position:fixed;inset:0}.topbar{border-bottom:1px solid var(--line);background:var(--sidebar);z-index:20;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0}.content{padding:20px 16px 40px}}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;transition:background .12s,border-color .12s;display:inline-flex}.btn-md{height:34px;padding:0 14px}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn:hover:not(:disabled){background:var(--hover)}.btn:focus-visible,.icon-btn:focus-visible,.switch:focus-visible,.tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger-fill);border-color:var(--danger-fill);color:#fff}.btn-danger:hover:not(:disabled){background:#b34452}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--hover)}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.btn-danger{color:var(--red);background:0 0}.icon-btn.btn-danger:hover:not(:disabled){background:#f17d841f}.icon-btn:disabled{opacity:.4;cursor:default}.input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);width:100%;height:34px;color:var(--text);font:inherit;outline:none;padding:0 10px}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #4b88eb2e}.input::placeholder{color:var(--faint)}textarea.input{resize:vertical;height:auto;min-height:84px;padding:8px 10px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca7b8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input[type=number]{appearance:textfield}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.icon-spacer{flex:none;width:30px}.mono-input{font-family:Cascadia Mono,Consolas,monospace;font-size:13px}.file-pick input{display:none}.select-wrap{min-width:0;position:relative}.select-button{text-align:left;cursor:pointer;align-items:center;display:flex}.select-button:disabled{opacity:.5;cursor:default}.select-wrap .menu.select-menu{min-width:100%;left:0;right:auto}.segmented{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);flex-wrap:wrap;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.segmented button{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;height:28px;padding:0 12px}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.active{background:var(--active);color:var(--text)}.segmented button:disabled{opacity:.5;cursor:default}.input.code{letter-spacing:.25em;text-align:center;height:42px;font-family:Cascadia Mono,Consolas,monospace;font-size:18px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px}.field-hint{color:var(--faint);font-size:12px}.field-error{color:var(--red);font-size:12px}.slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.slider:focus-visible{outline:none}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), var(--line) var(--fill));border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:none;border-radius:50%;width:14px;height:14px;margin-top:-5px}.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--focus)}.slider::-moz-range-track{background:var(--line);border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.slider::-moz-range-thumb{background:var(--text);border:none;border-radius:50%;width:14px;height:14px}.switch-row{justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.switch-row.disabled{opacity:.55}.switch-text{flex-direction:column;display:flex}.switch{background:var(--line);cursor:pointer;border:none;border-radius:11px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch span{background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on span{transform:translate(16px)}.switch:disabled{cursor:default}.checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.checkbox input{opacity:0;width:0;height:0;position:absolute}.checkbox .box{border:1px solid var(--focus);background:var(--bg);color:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;display:grid}.checkbox input:checked+.box{background:var(--accent);border-color:var(--accent)}.checkbox input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:1px}.checkbox.disabled{opacity:.5;cursor:default}.search{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);height:34px;color:var(--faint);align-items:center;gap:6px;min-width:220px;padding:0 10px;display:inline-flex}html[lang=en] .search{min-width:280px}.search:focus-within{border-color:var(--focus)}.search input{color:var(--text);font:inherit;background:0 0;border:none;outline:none;width:100%}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow:auto hidden}.tabs button{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 12px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:14px 18px;display:flex}.card-body{padding:16px 18px}.badge{white-space:nowrap;border-radius:9px;align-items:center;gap:4px;padding:0 7px;font-size:12px;line-height:18px;display:inline-flex}.badge-green{color:var(--green);background:#66cf9c24}.badge-amber{color:var(--amber);background:#eebe6f24}.badge-red{color:var(--red);background:#f17d8424}.badge-blue{color:#8fb5f5;background:#4b88eb29}.badge-muted{background:var(--hover);color:var(--muted)}.status{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.status .dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.status.online{color:var(--green)}.status.online .dot{background:var(--green);box-shadow:0 0 0 3px #66cf9c26}.status.offline{color:var(--muted)}.spinner{border:2px solid #ffffff2e;border-top-color:currentColor;border-radius:50%;flex:none;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:32px 0;display:flex}.empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.empty-title{color:var(--muted)}.card-count{color:var(--muted);margin-left:8px;font-weight:400}.alert{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.alert svg{flex:none;margin-top:2px}.alert>div{flex:1;min-width:0}.alert-red{color:#f5b3b7;background:#f17d8414;border-color:#f17d8459}.alert-amber{color:#f3d6a4;background:#eebe6f14;border-color:#eebe6f59}.alert-blue{color:#b8d0f7;background:#4b88eb14;border-color:#4b88eb59}.alert-green{color:#a9e6c8;background:#66cf9c14;border-color:#66cf9c59}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stat-value{margin-top:2px;font-size:24px;font-weight:600}.stat-hint{color:var(--faint);font-size:12px}.stat-green .stat-value{color:var(--green)}.stat-amber .stat-value{color:var(--amber)}.rows{flex-direction:column;margin:0;display:flex}.rows-item{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:12px;padding:8px 0;display:grid}.rows-item:last-child{border-bottom:none}.rows dt{color:var(--muted)}.rows dd{overflow-wrap:anywhere;min-width:0;margin:0}.copy{align-items:center;gap:4px;max-width:100%;display:inline-flex}.copy-text{overflow-wrap:anywhere}.copy-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;place-items:center;padding:2px;display:inline-grid}.copy-btn:hover{color:var(--text);background:var(--hover)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:#2c364573}.table tr.clickable{cursor:pointer}.table .actions{text-align:right;white-space:nowrap}.table .actions>*+*{margin-left:2px}.cell-main{font-weight:500}.cell-sub{color:var(--muted);font-size:12px}.overlay{z-index:100;background:#080a0eb3;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{background:var(--surface);width:100%;max-width:440px;max-height:calc(100vh - 32px);box-shadow:var(--shadow);border:1px solid #4e658b;border-radius:10px;flex-direction:column;display:flex}.dialog.wide{max-width:640px}.dialog-head{justify-content:space-between;align-items:center;padding:14px 16px 10px 20px;display:flex}.dialog-body{flex-direction:column;gap:14px;padding:4px 20px 16px;display:flex;overflow-y:auto}.dialog-body:empty{display:none}.dialog-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.confirm-message{color:var(--muted)}.toasts{z-index:200;flex-direction:column;gap:8px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 14px;animation:.16s rise;display:flex}.toast-green svg{color:var(--green)}.toast-red svg{color:var(--red)}.toast-blue svg{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.lang-switch{display:inline-flex;position:relative}.lang-button{border-radius:var(--radius-sm);height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.lang-button:hover,.lang-button.active{background:var(--hover);color:var(--text)}.lang-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.icon-btn.active{background:var(--hover);color:var(--text)}.lang-switch .menu.lang-menu{width:max-content;min-width:150px;max-width:320px;left:auto;right:0}.menu.menu-up{top:auto;bottom:calc(100% + 6px)}.lang-corner{position:absolute;top:16px;right:20px}.auth-page{background:radial-gradient(1000px 500px at 10% -10%, #4b88eb1f, transparent), radial-gradient(700px 400px at 110% 110%, #66cf9c0f, transparent), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.auth-card{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.auth-card.wide{max-width:560px}.auth-brand{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.auth-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.btn-block{width:100%;height:38px}.secret{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:10px 12px;font-family:Cascadia Mono,Consolas,monospace}.codes{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.caps{flex-wrap:wrap;gap:4px;display:flex}.chips{flex-wrap:wrap;gap:8px 16px;display:flex}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 18px;display:flex}.list-item:last-child{border-bottom:none}.record{border-bottom:1px solid var(--line)}.record:last-child{border-bottom:none}.record-head{cursor:pointer;align-items:center;gap:12px;padding:12px 18px;display:flex}.record-head:hover{background:#2c364573}.record-chevron{color:var(--faint);flex:none;transition:transform .15s}.record-chevron.open{transform:rotate(90deg)}.record-detail{padding:0 18px 12px}.stack-xs{flex-direction:column;gap:4px;display:flex}.notice-unread{background:#4b88eb14}.notice-unread .grow>div:first-child{font-weight:500}.pager{justify-content:center;padding:12px;display:flex}.device-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.device-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:border-color .12s;display:flex;overflow:hidden}.device-card:hover{border-color:var(--focus)}.device-link{display:block;position:relative}.device-watching{color:var(--amber);background:#080a0ec7;position:absolute;bottom:10px;left:10px}.device-shot{aspect-ratio:16/9;color:var(--faint);border-bottom:1px solid var(--line);background:linear-gradient(135deg,#1b2433,#121820) 50%/cover no-repeat;place-items:center;display:grid}.detail-shot{border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.device-thumb{aspect-ratio:16/9;border:1px solid var(--line);width:64px;color:var(--faint);background:linear-gradient(135deg,#1b2433,#121820) 50%/cover no-repeat;border-radius:4px;place-items:center;display:grid}.thumb-cell{width:64px;padding-right:0}.device-info{flex-direction:column;gap:4px;min-width:0;padding:12px 14px 14px;display:flex}.device-name{color:var(--text);min-width:0;font-weight:600}.device-actions{margin-top:8px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.section-title h2{font-size:16px}.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);font:inherit;cursor:pointer;border-radius:14px;padding:3px 12px;font-size:13px}.chip:hover{color:var(--text)}.chip.on{border-color:var(--accent);background:var(--selected);color:var(--text)}.caps-group{flex:none;width:56px}html[lang=en] .caps-group{width:84px}.caps-editor{border:1px solid var(--line);border-radius:var(--radius-sm);background:#10141a80;padding:10px 12px}.grant-device{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 0;display:flex}.grant-device:last-child{border-bottom:none}.qr{border-radius:var(--radius-sm);flex:none;width:168px;height:168px}.viewer{color:var(--text);background:#000;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.viewer-bar{border-bottom:1px solid var(--line);z-index:10;background:#10141aeb;align-items:center;gap:10px;padding:6px 10px;transition:transform .2s,opacity .2s;display:flex}.viewer:fullscreen .viewer-bar{position:absolute;top:0;left:0;right:0}.viewer.bar-hidden .viewer-bar{opacity:0;transform:translateY(-100%)}.viewer.bar-hidden{cursor:none}.viewer-title{flex:1;min-width:0;line-height:1.3}.viewer-tools{align-items:center;gap:2px;display:flex}.tool{border-radius:var(--radius-sm);min-width:34px;height:34px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tool:hover:not(:disabled),.tool.active{background:var(--hover);color:var(--text)}.tool:disabled,.tool.dim{opacity:.4}.tool:disabled{cursor:default}.tool-text{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;overflow:hidden}.tool-menu{position:relative}.menu{background:var(--surface);border-radius:var(--radius);width:max-content;min-width:220px;max-width:320px;box-shadow:var(--shadow);z-index:30;border:1px solid #4e658b;max-height:70vh;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.menu-label{color:var(--faint);padding:8px 10px 4px;font-size:12px}.menu-note{padding:4px 10px 6px 34px}.menu-slider{padding:6px 10px 6px 34px}.menu-slider input{width:100%;accent-color:var(--accent)}.menu-chip{border:1px solid var(--line);color:var(--muted);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:1px 8px;font-size:12px}.menu-chip.selected{color:#8fb5f5;border-color:#4e658b}.menu-item{width:100%;color:var(--text);font:inherit;text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;display:flex}.menu-item:hover{background:var(--hover)}.menu-item.selected{color:#8fb5f5}.menu-check{place-items:center;width:16px;display:inline-grid}.volume{align-items:center;display:flex}.volume input{width:80px;accent-color:var(--accent)}.stage{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.stage:focus{outline:none}.stage.controlling{touch-action:none;-webkit-user-select:none;user-select:none}.stage.drag-over:after{content:"";border:2px dashed var(--accent,#4b88eb);border-radius:var(--radius);pointer-events:none;position:absolute;inset:8px}.drop-hint,.viewer-hint{border:1px solid var(--line);pointer-events:none;background:#10141ad9;border-radius:18px;padding:8px 16px;position:absolute;left:50%;transform:translate(-50%)}.drop-hint{top:50%}.viewer-hint{font-size:13px;top:16px}.unmute-hint.copy-hint{bottom:70px}.perf-overlay{border:1px solid var(--line);border-radius:var(--radius);z-index:6;background:#1f252ff5;flex-direction:column;gap:6px;width:320px;max-height:calc(100% - 24px);padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;right:12px;overflow-y:auto}.perf-summary{color:#ffffffc7;pointer-events:none;z-index:6;background:#000000a6;border-radius:4px;gap:8px;padding:5px 7px;font-family:Cascadia Mono,Consolas,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:14px;display:flex;position:absolute;bottom:12px;right:12px}.perf-summary-lines{white-space:nowrap;width:104px;overflow:hidden}.perf-summary-lines>div{text-overflow:ellipsis;overflow:hidden}.perf-meter{flex:none;width:37px;height:98px}.perf-head{align-items:center;gap:8px;display:flex}.perf-title{font-weight:600}.perf-close,.perf-more{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px;display:inline-flex}.perf-close:hover,.perf-more:hover{color:var(--text);background:var(--hover)}.perf-more{align-self:flex-start}.perf-more svg{transition:transform .15s}.perf-more svg.open{transform:rotate(90deg)}.perf-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.perf-trace-head{justify-content:space-between;display:flex}.perf-value{font-variant-numeric:tabular-nums}.perf-good{color:var(--green)}.perf-warn{color:var(--amber)}.perf-bad{color:var(--red)}.perf-spark{width:100%;height:30px;display:block}.perf-spark polyline{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.perf-spark .perf-limit{stroke:var(--amber);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.perf-grid{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.perf-grid dt{color:var(--muted)}.perf-grid dd{overflow-wrap:anywhere;margin:0}.transfers-float{border:1px solid var(--line);border-radius:var(--radius);background:#1f252ff5;width:300px;position:absolute;bottom:12px;left:12px}.files-bar{border-bottom:1px solid var(--line);padding:4px 8px 4px 10px}.files-actions{align-items:center;padding:8px 12px}.files-error{padding:0 14px 8px}.files-list{max-height:46vh;padding:4px;overflow-y:auto}.files-row{align-items:center;display:flex}.files-row .tool{opacity:.65;flex:none}.files-row:hover .tool{opacity:1}.files-entry{width:100%;min-width:0;color:var(--text);font:inherit;text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:6px 8px;display:flex}.files-entry:hover:not(:disabled){background:var(--hover)}.files-entry:disabled{cursor:default;opacity:.55}.files-empty{padding:12px}.transfers{border-top:1px solid var(--line);padding:6px 10px 10px}.transfers-float .transfers{border-top:none}.transfer{padding:4px 0}.progress{background:#ffffff1a;border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.progress>div{background:#4b88eb;height:100%;transition:width .2s}.stage-inner{flex:1;min-width:0;min-height:0;display:flex;position:relative;container-type:size}.pip{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius);width:28%;min-width:200px;max-width:420px;box-shadow:var(--shadow);z-index:5;background:#000;position:absolute;top:16px;right:16px;overflow:hidden;container-type:size}.pip video{object-fit:contain;width:100%;height:100%}.pip-close{background:#00000073;position:absolute;top:4px;right:4px}.stage video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.stage-fill video{object-fit:cover}.stage-original{overflow:auto}.stage-original .stage-inner{flex:none;margin:auto}.stage-original video{object-fit:fill;width:auto;max-width:none;height:auto}.pointers{pointer-events:none;position:absolute}.annotation-layer{z-index:2;cursor:crosshair;touch-action:none;position:absolute}.ink-swatches{gap:6px;padding:4px 10px 6px 34px;display:flex}.ink-swatch{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:22px;height:22px;padding:0}.ink-swatch.selected,.ink-width.selected{border-color:#8fb5f5}.ink-width{border-radius:var(--radius-sm);border:2px solid var(--line);min-width:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:2px 8px}.pointer{align-items:flex-start;gap:2px;transition:left 30ms linear,top 30ms linear;display:flex;position:absolute}.pointer span{color:#10141a;white-space:nowrap;border-radius:8px;margin-top:12px;padding:0 5px;font-size:11px}.stage-overlay{text-align:center;background:#080a0ed9;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.overlay-title{font-size:16px;font-weight:600}.unmute-hint{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#10141ad9;border-radius:18px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.viewer-banner{border-radius:var(--radius);background:#55222beb;border:1px solid #8c3b48;max-width:80%;padding:8px 16px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.room-notices{pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:80%;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.viewer-banner+.room-notices{top:64px}.room-notice{border-radius:var(--radius);border:1px solid var(--line);white-space:nowrap;background:#161a21eb;padding:5px 12px;font-size:13px;animation:4s forwards room-notice}@keyframes room-notice{0%,85%{opacity:1}to{opacity:0}}.viewer-panel{border:1px solid var(--line);border-radius:var(--radius);width:300px;max-height:calc(100% - 70px);box-shadow:var(--shadow);z-index:20;background:#1f252ff5;position:absolute;top:58px;right:12px;overflow-y:auto}.viewer-panel>header{padding:10px 8px 6px 14px}.dot-color{border-radius:50%;flex:none;width:10px;height:10px}@media (width<=700px){.viewer-tools .volume input,.tool-text{display:none}.viewer-bar{flex-wrap:wrap;row-gap:2px}.viewer:not(:fullscreen) .viewer-bar{position:relative}.viewer-title{flex-basis:calc(100% - 50px)}.viewer-tools{justify-content:space-between;width:100%}.tool-menu{position:static}.menu{width:auto;max-width:none;top:calc(100% + 4px);left:8px;right:8px}.viewer-panel{width:auto;max-height:calc(100% - 112px);top:100px;left:12px;right:12px}}.content:has(>.chat){max-width:none;padding:0}.nav-dot{background:var(--text);border-radius:50%;width:8px;height:8px;margin-left:auto}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.chat{background:var(--bg);height:100vh;min-height:0;display:flex}.chat-wait{flex:1;place-items:center;display:grid}.chat-rail{background:var(--sidebar);border-right:1px solid var(--line);scrollbar-width:none;flex-direction:column;flex:none;align-items:center;gap:8px;width:68px;padding:12px 0;display:flex;overflow-y:auto}.chat-rail-sep{background:var(--line);border-radius:1px;flex:none;width:32px;height:2px}.chat-rail-item{cursor:pointer;color:var(--text);background:0 0;border:none;flex:none;padding:0;position:relative}.chat-rail-item:before{content:"";background:var(--text);border-radius:0 3px 3px 0;width:4px;height:0;transition:height .12s;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.chat-rail-item.dot:before{height:8px}.chat-rail-item:hover:before{height:18px}.chat-rail-item.active:before{height:36px}.chat-rail-icon,.chat-group-icon{background:var(--surface-2);width:44px;height:44px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;transition:border-radius .12s,background .12s;display:grid;overflow:hidden}.chat-group-icon img,.chat-avatar img{object-fit:cover;width:100%;height:100%;display:block}.chat-rail-item:hover .chat-rail-icon,.chat-rail-item:hover .chat-group-icon,.chat-rail-item.active .chat-rail-icon,.chat-rail-item.active .chat-group-icon{border-radius:14px}.chat-rail-item.active .chat-rail-icon{background:var(--accent)}.chat-rail-icon.add{color:var(--green)}.chat-rail-item:hover .chat-rail-icon.add{background:var(--green);color:var(--sidebar)}.chat-badge{background:var(--danger-fill);color:#fff;text-align:center;border:2px solid var(--sidebar);box-sizing:content-box;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;position:absolute;bottom:-2px;right:-4px}.chat-badge.inline{border:none;flex:none;position:static}.chat-side{border-right:1px solid var(--line);background:#191e26;flex-direction:column;flex:none;width:240px;min-height:0;display:flex}.chat-side-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:4px;height:48px;padding:0 8px 0 14px;display:flex}.chat-channels{flex-direction:column;flex:1;gap:1px;padding:8px;display:flex;overflow-y:auto}.chat-category{color:var(--faint);font:inherit;letter-spacing:.03em;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:14px 4px 4px;font-size:12px;font-weight:600;display:flex}.chat-category:hover{color:var(--muted)}.chat-channel{color:var(--faint);font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.chat-channel:hover{background:var(--hover);color:var(--muted)}.chat-channel.unread{color:var(--text);font-weight:600}.chat-channel.active{background:var(--selected);color:var(--text)}.chat-channel.muted-channel{opacity:.6}.chat-dm{padding:5px 8px}.chat-pick{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px}.chat-invite-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:8px;margin-bottom:6px;padding:10px;display:flex}.chat-userbar{background:var(--sidebar);border-top:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 8px 8px 10px;display:flex}.chat-avatar{background:var(--active);color:var(--text);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;position:relative}.chat-avatar>img{border-radius:50%}.chat-status{border:2px solid var(--sidebar);box-sizing:border-box;border-radius:50%;width:32%;min-width:10px;height:32%;min-height:10px;position:absolute;bottom:-2px;right:-2px}.status-online{background:var(--green)}.status-idle{background:var(--amber)}.status-dnd{background:var(--red)}.status-invisible{background:var(--faint)}.chat-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-live{color:#fff;background:var(--red);border-radius:4px;flex:none;padding:0 5px;font-size:11px;font-weight:600;line-height:16px}.voice-stage{border-bottom:1px solid var(--line);background:#11151b;flex:none;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:46vh;padding:12px 16px;display:grid;overflow-y:auto}.voice-stage.focused{flex-direction:column;gap:0;max-height:60vh;padding:0;display:flex;overflow:hidden}.voice-stage:fullscreen{max-height:none}.voice-stage-head{grid-column:1/-1;justify-content:flex-end;display:flex}.voice-stage.speaker{flex-direction:column;height:56vh;max-height:56vh;display:flex;overflow:hidden}.voice-stage.speaker .voice-big{border-radius:var(--radius);cursor:pointer;color:inherit;font:inherit;border:none;padding:0;overflow:hidden}.voice-row{flex:none;justify-content:center;gap:8px;display:flex;overflow-x:auto}.voice-row .voice-tile{flex:none;width:160px}.voice-tile{aspect-ratio:16/9;border-radius:var(--radius);background:var(--surface);cursor:pointer;color:var(--muted);border:none;padding:0;position:relative;overflow:hidden}.voice-tile video,.voice-big video{object-fit:contain;background:#000;width:100%;height:100%;display:block}video.mirror{transform:scaleX(-1)}.voice-tile-idle{flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex;position:absolute;inset:0}.voice-tile-name{color:#fff;background:#0009;border-radius:4px;align-items:center;gap:6px;max-width:calc(100% - 12px);padding:2px 8px;font-size:12px;display:flex;position:absolute;bottom:6px;left:6px}.voice-big{background:#000;flex:1;place-items:center;min-height:0;display:grid;position:relative}.voice-minimized{color:#fff;background:#000000a6;border-radius:6px;padding:4px 10px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.voice-stage-bar{background:var(--surface);flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.voice-stage-bar .chat-live{margin-right:6px}.chat-channel-tag{color:var(--faint);flex:none;font-size:11px}.voice-meter{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.voice-meter span{background:var(--faint);height:100%;transition:width .1s;display:block}.voice-meter span.on{background:var(--green)}.chat-voice-people{flex-direction:column;gap:1px;padding:1px 0 4px 22px;display:flex}.chat-voice-person{color:var(--faint);font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:3px 8px;font-size:13px;display:flex}.chat-voice-person:hover{background:var(--hover);color:var(--muted)}.chat-voice-person .chat-avatar{flex:none;transition:box-shadow .1s;box-shadow:0 0 0 2px #0000}.chat-voice-person.talking{color:var(--text)}.chat-voice-person.talking .chat-avatar{box-shadow:0 0 0 2px var(--green)}.chat-voicebar{background:var(--sidebar);border-top:1px solid var(--line);flex:none;align-items:center;gap:4px;padding:8px 8px 8px 10px;display:flex}.chat-voicebar-text{min-width:0;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;padding:0;font-size:13px;display:flex}.chat-voicebar-text .small{max-width:100%}.chat-voicebar+.chat-userbar{border-top:none}.chat-callbar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 12px 8px 16px;font-size:13px;display:flex}.call-incoming{z-index:60;background:var(--surface);border-radius:var(--radius);width:280px;box-shadow:var(--shadow);border:1px solid #4e658b;flex-direction:column;align-items:center;gap:12px;padding:20px 16px 16px;display:flex;position:fixed;bottom:20px;right:20px}.call-incoming b{max-width:100%;font-size:15px}.call-incoming .row{width:100%}.call-incoming .row .btn{flex:1;justify-content:center}.chat-banner{color:var(--amber);background:#4a3a1c;flex:none;align-items:center;gap:12px;padding:6px 16px;font-size:13px;display:flex}.chat-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-width:0;height:48px;padding:0 12px 0 16px;display:flex}.chat-topic{color:var(--faint);border-left:1px solid var(--line);min-width:0;padding-left:10px;font-size:13px}.chat-back{display:none}.icon-btn.on{color:var(--accent)}.chat-menu-anchor{position:relative}.chat-head-name{flex-shrink:0;max-width:40%}.chat-dm-devices{gap:6px;min-width:0;display:inline-flex;overflow:hidden}.chat-dm-device{border:1px solid var(--line);background:var(--surface);max-width:160px;height:24px;color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.chat-dm-device:hover:not(:disabled){color:var(--text);border-color:var(--focus)}.chat-dm-device:disabled{opacity:.5;cursor:default}.chat-body{flex:1;min-height:0;display:flex}.chat-center{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-messages-wrap{flex:1;min-height:0;display:flex;position:relative}.chat-messages{overflow-anchor:none;flex:1;padding:12px 0 8px;overflow-y:auto}.chat-loading{justify-content:center;padding:12px;display:flex}.chat-start{padding:24px 16px 16px}.chat-start-icon{background:var(--surface-2);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:10px;display:grid}.chat-start h2{margin-bottom:4px;font-size:20px}.chat-day,.chat-unread-line{color:var(--faint);align-items:center;gap:8px;margin:14px 16px 6px;font-size:12px;display:flex}.chat-day:before,.chat-day:after,.chat-unread-line:before,.chat-unread-line:after{content:"";background:var(--line);flex:1;height:1px}.chat-unread-line{color:var(--red)}.chat-unread-line:before,.chat-unread-line:after{background:var(--red);opacity:.6}.chat-jump-latest{border:1px solid var(--line);background:var(--surface-2);height:30px;color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:15px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex;position:absolute;bottom:12px;right:20px}.chat-read-mark{color:var(--faint);padding:0 16px 0 56px;font-size:11px}.msg{grid-template-columns:56px minmax(0,1fr);margin-top:10px;padding:4px 16px 4px 0;display:grid;position:relative}.msg-continued{margin-top:0;padding-top:1px;padding-bottom:1px}.msg:hover{background:#ffffff06}.msg-highlight{background:#4b88eb24}.msg-pending .msg-main{opacity:.6}.msg-reply{min-width:0;color:var(--faint);cursor:pointer;grid-column:2;align-items:center;gap:6px;margin-bottom:2px;font-size:12px;display:flex}.msg-reply-name{color:var(--muted);flex:none}.msg-reply-text{min-width:0}.msg-gutter{justify-content:center;padding-top:2px;display:flex}.msg-avatar{cursor:pointer;background:0 0;border:none;height:fit-content;padding:0}.msg-hover-time{color:var(--faint);visibility:hidden;padding-top:3px;font-size:11px}.msg:hover .msg-hover-time{visibility:visible}.msg-main{min-width:0}.msg-head{align-items:baseline;gap:8px;display:flex}.msg-name{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.msg-name:hover{text-decoration:underline}.msg-time{color:var(--faint);font-size:12px}.msg-pinned{color:var(--amber);align-self:center}.msg-edited{color:var(--faint);margin-left:4px;font-size:11px}.msg-call{align-items:center;gap:8px;font-size:14px;display:flex}.msg-deleted{color:var(--faint);font-size:13px;font-style:italic}.msg-failed{color:var(--red);align-items:center;gap:8px;font-size:12px;display:flex}.msg-failed button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.msg-actions{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:2px;padding:2px;display:none;position:absolute;top:-14px;right:16px;box-shadow:0 4px 12px #0000004d}.msg:hover .msg-actions{display:flex}.msg-files{flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;display:flex}.msg-image{border-radius:var(--radius);background:var(--surface-2);cursor:zoom-in;border:none;max-width:100%;padding:0;overflow:hidden}.msg-image img{object-fit:cover;width:100%;height:100%;display:block}.msg-file{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);align-items:center;gap:10px;width:360px;max-width:100%;padding:10px 12px;display:flex}.md{overflow-wrap:anywhere;white-space:pre-wrap}.md-big .emoji{vertical-align:-10px;width:44px;height:44px}.emoji{vertical-align:-.33em;width:1.375em;height:1.375em;margin:0 .05em}.md-code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}.md-pre{border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;background:#12161c;margin:4px 0;padding:10px 12px;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;overflow-x:auto}.md-quote{border-left:3px solid var(--line);color:var(--muted);margin:2px 0;padding-left:10px}.md-spoiler{color:#0000;cursor:pointer;background:#3a4252;border-radius:4px}.md-spoiler img{visibility:hidden}.md-spoiler.shown{background:var(--surface-2);color:inherit;cursor:auto}.md-spoiler.shown img{visibility:visible}.md-mention{color:#9cc0ff;cursor:pointer;background:#4b88eb2e;border-radius:4px;padding:0 3px}.chat-composer{flex:none;padding:0 16px 6px;position:relative}.composer-bar{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;color:var(--muted);align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:13px;display:flex}.composer-toggle{font:inherit;color:var(--faint);cursor:pointer;background:0 0;border:none;font-size:12px}.composer-toggle.on{color:var(--accent)}.composer-files{background:var(--surface);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.composer-file{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:6px;max-width:220px;height:30px;padding:0 6px 0 10px;font-size:13px;display:flex;position:relative;overflow:hidden}.composer-file.failed{border-color:var(--red);color:var(--red)}.composer-progress{background:var(--accent);height:2px;transition:width .2s;position:absolute;bottom:0;left:0}.composer-file-x{color:var(--faint);cursor:pointer;background:0 0;border:none;place-items:center;padding:2px;display:grid}.composer-box{background:var(--surface-2);border-radius:var(--radius);align-items:flex-end;gap:4px;padding:6px;display:flex;position:relative}.composer-bar+.composer-box,.composer-files+.composer-box{border-top-left-radius:0;border-top-right-radius:0}.composer-blocked{color:var(--faint);padding:12px 14px}.composer-input{resize:none;min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;max-height:40vh;padding:5px 4px;line-height:1.45}.composer-tools{align-items:center;display:flex}.composer-foot{align-items:center;gap:10px;min-height:20px;padding:2px 4px 0;display:flex}.composer-suggest{background:var(--surface);border-radius:var(--radius);max-height:280px;box-shadow:var(--shadow);z-index:25;border:1px solid #4e658b;padding:6px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto}.composer-suggest .menu-item.selected{background:var(--selected);color:var(--text)}.emoji-picker{background:var(--surface);border-radius:var(--radius);width:352px;height:380px;box-shadow:var(--shadow);z-index:25;border:1px solid #4e658b;flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.emoji-picker-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px;display:flex}.emoji-tones{gap:3px;display:flex}.emoji-tone{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0}.emoji-tone.active{border-color:var(--text)}.tone-0{background:#ffc83d}.tone-1{background:#f7d7c4}.tone-2{background:#d8b094}.tone-3{background:#bb9167}.tone-4{background:#8e562e}.tone-5{background:#613d30}.emoji-groups{border-bottom:1px solid var(--line);justify-content:space-between;padding:4px 8px;display:flex}.emoji-group-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:3px}.emoji-group-btn:hover{background:var(--hover)}.emoji-group-btn img{width:22px;height:22px;display:block}.emoji-grid-wrap{flex:1;padding:6px;overflow-y:auto}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;margin-bottom:6px;display:grid}.emoji-cell{border-radius:var(--radius-sm);cursor:pointer;aspect-ratio:1;background:0 0;border:none;padding:4px}.emoji-cell:hover{background:var(--hover)}.emoji-cell img{width:100%;height:100%;display:block}.chat-members{border-left:1px solid var(--line);background:#191e26;flex:none;width:240px;padding:8px;overflow-y:auto}.chat-members-title{color:var(--faint);padding:14px 6px 4px;font-size:12px;font-weight:600}.chat-member{width:100%;color:var(--text);font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:5px 6px;display:flex}.chat-member:hover{background:var(--hover)}.chat-member.away{opacity:.45}.chat-owner{color:var(--amber);font-size:12px}.chat-panel{border-left:1px solid var(--line);background:#191e26;flex-direction:column;flex:none;width:380px;min-height:0;display:flex}.chat-panel-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;height:44px;padding:0 8px 0 14px;display:flex}.chat-panel-tools{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.chat-panel-body{flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.chat-result{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.chat-user-card{z-index:50;background:var(--surface);border-radius:var(--radius);width:280px;box-shadow:var(--shadow);border:1px solid #4e658b;flex-direction:column;gap:12px;padding:14px;display:flex;position:fixed}.chat-user-name{font-size:15px;font-weight:600}.chat-user-roles{flex-wrap:wrap;gap:4px;display:flex}.chat-role-chip{background:var(--surface-2);border-radius:10px;align-items:center;gap:5px;padding:1px 8px;font-size:12px;display:inline-flex}.chat-role-chip .dot,.chat-settings-item .dot{border-radius:50%;flex:none;width:10px;height:10px}.chat-preview{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 12px;display:flex}.chat-link-target{word-break:break-all;background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px}.input.chat-time-input{width:120px}.chat-invite-friends{max-height:220px;overflow-y:auto}.chat-settings-split{align-items:flex-start;gap:20px;display:flex}.chat-settings-list{flex-direction:column;flex:none;gap:2px;width:220px;max-height:60vh;display:flex;overflow-y:auto}.chat-settings-list>.btn{align-self:flex-start;margin-bottom:8px}.chat-settings-item{color:var(--muted);font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;display:flex}.chat-settings-item.indent{padding-left:24px}.chat-settings-item:hover{background:var(--hover);color:var(--text)}.chat-settings-item.active{background:var(--selected);color:var(--text)}.chat-mini{color:var(--faint);visibility:hidden;border-radius:3px;padding:2px 3px;font-size:9px}.chat-settings-item:hover .chat-mini{visibility:visible}.chat-mini:hover{color:var(--text);background:var(--surface-2)}.chat-perm-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;display:grid}.chat-ow-row{padding:2px 0}.chat-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.chat-swatch.active{border-color:var(--text)}.chat-settings-member{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.chat-settings-member.away{opacity:.55}.chat-danger{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:10px;padding-top:16px;display:flex}.chat-audit-row{grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.image-viewer{z-index:60;background:#000000d9;flex-direction:column;display:flex;position:fixed;inset:0}.image-viewer-bar{color:var(--text);align-items:center;gap:8px;padding:8px 12px;display:flex}.image-viewer-stage{flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.image-viewer-stage img{max-width:92vw;max-height:86vh;transition:transform 80ms}@media (width<=860px){.chat{height:calc(100vh - 49px)}.chat-members,.chat-panel,.chat.chat-has-channel .chat-rail,.chat.chat-has-channel .chat-side,.chat:not(.chat-has-channel) .chat-main{display:none}.chat:not(.chat-has-channel) .chat-side{flex:1;width:auto}.chat-back{display:inline-grid}}
