@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jetbrains-mono-300-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jetbrains-mono-300-latin.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.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}:root,:root[data-theme=ink]{--bg-1: #0d0e11;--bg-2: #131519;--bg-3: #1c1f25;--bg-4: #2b2f38;--text-0: #f2f4f7;--text-1: #d2d7de;--text-2: #9ba1ac;--text-3: #717783;--text-4: #545a65;--accent: #ff4a3d;--accent-quiet: #7d251e;--on-accent: #0d0e11;--online: #d2d7de;--stage: #06070a;--shroud: rgba(6, 7, 10, .86);--avatar-l: 62%;color-scheme:dark}:root[data-theme=paper]{--bg-1: #e6e8ec;--bg-2: #f2f4f6;--bg-3: #dadde2;--bg-4: #bcc1c9;--text-0: #0b0d10;--text-1: #21252b;--text-2: #4c525b;--text-3: #6f757e;--text-4: #8f959e;--accent: #c8291d;--accent-quiet: #eab6b1;--on-accent: #ffffff;--online: #21252b;--stage: #c4c8ce;--shroud: rgba(230, 232, 236, .88);--avatar-l: 40%;color-scheme:light}:root{--gap: 12px;--border: 2px;--font: "JetBrains Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;--quick: .12s;--settle: .2s}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-1);color:var(--text-1);font-family:var(--font);font-size:14px;font-weight:300;letter-spacing:-.05ch;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:var(--border) solid var(--accent);outline-offset:1px}.box{position:relative;background:var(--bg-2);border:var(--border) solid var(--bg-4);min-height:0}.box>.box-label{position:absolute;top:calc(var(--border) * -1);left:10px;transform:translateY(-50%);padding:0 6px;background:var(--bg-1);color:var(--text-3);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.box>.box-label.live{color:var(--accent)}h1,h2,h3,h4{margin:0;font-weight:700;color:var(--text-0);letter-spacing:.02em}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.mono{font-size:12px;word-break:break-all;color:var(--text-2)}.hint{color:var(--text-3);font-size:12px;margin-top:12px}.hint.compact{margin:0 0 8px}.empty{color:var(--text-4);font-size:13px;padding:8px 0}.empty.centered{text-align:center;padding:40px 0}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(3px);z-index:200;padding:5px 8px;background:var(--bg-1);border:var(--border) solid var(--bg-4);color:var(--text-1);font-size:11px;line-height:1.3;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--quick) ease,transform var(--quick) ease}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}[data-tip][data-tip-below]:after{bottom:auto;top:calc(100% + 7px);transform:translate(-50%) translateY(-3px)}[data-tip][data-tip-below]:hover:after,[data-tip][data-tip-below]:focus-visible:after{transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){[data-tip]:after{transition:none}}.dotted{border:0;height:2px;background-image:radial-gradient(circle,var(--bg-4) 1px,transparent 1px);background-size:6px 2px;background-repeat:repeat-x;margin:4px 0}button{font-family:inherit;font-size:13px;font-weight:400;letter-spacing:inherit;cursor:pointer;border:var(--border) solid transparent;border-radius:0;transition:background var(--quick) ease,color var(--quick) ease,border-color var(--quick) ease}button:disabled{opacity:.4;cursor:default}.btn-primary{width:100%;padding:10px;background:var(--text-1);border-color:var(--text-1);color:var(--bg-1);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.btn-primary:not(:disabled):hover{background:var(--text-0);border-color:var(--text-0)}.btn-secondary{padding:7px 12px;background:transparent;border-color:var(--bg-4);color:var(--text-1)}.btn-secondary:not(:disabled):hover{border-color:var(--text-2);color:var(--text-0)}.btn-link{background:none;border:none;color:var(--text-3);padding:2px 0;font-size:12px;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--text-0)}.btn-link.danger{color:var(--accent)}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;background:transparent;border-color:transparent;color:var(--text-2)}.icon-btn:hover{color:var(--text-0);border-color:var(--bg-4)}label{display:block;margin-bottom:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}input[type=text],input[type=password],textarea,select{width:100%;padding:9px 11px;background:var(--bg-1);border:var(--border) solid var(--bg-4);border-radius:0;color:var(--text-0);font-family:inherit;font-size:13px;font-weight:300;letter-spacing:inherit;outline:none;transition:border-color var(--quick) ease}input:focus,textarea:focus,select:focus{border-color:var(--text-2)}input:disabled{opacity:.45}input[type=range]{accent-color:var(--accent);padding:0;border:none;background:none}input[type=checkbox]{accent-color:var(--accent);width:auto}.field{margin-bottom:14px}.msg{margin-bottom:14px;padding:9px 11px;border:var(--border) solid var(--bg-4);font-size:12px}.msg.err{border-color:var(--accent);color:var(--accent)}.msg.ok{border-color:var(--text-2);color:var(--text-0)}.msg.compact{margin:8px 0;padding:7px 9px}.screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.card{position:relative;width:100%;max-width:380px;background:var(--bg-2);border:var(--border) solid var(--bg-4);padding:28px}.card h1{margin:0 0 4px;font-size:22px;text-transform:uppercase;letter-spacing:.06em}.card .subtitle{margin:0 0 20px;color:var(--text-3);font-size:12px}.brand{color:var(--accent)}.shell{display:flex;flex-direction:column;height:100%;padding:var(--gap);gap:var(--gap);background:var(--bg-1)}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:7px 14px;flex:none}.topbar .title{font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);justify-self:start}.topbar .identity{justify-self:center}.topbar-right{display:flex;align-items:center;gap:6px;justify-self:end}.identity{display:flex;align-items:center;gap:9px;padding:4px 10px 4px 4px;border:var(--border) solid transparent;background:none;color:inherit;text-align:left}.identity:hover{border-color:var(--bg-4)}.identity .names{display:flex;flex-direction:column;line-height:1.25}.identity .nick{font-size:13px;color:var(--text-0);font-weight:400}.identity .handle{font-size:11px;color:var(--text-3)}.identity .state{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.identity .state.up{color:var(--online)}.conn{color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:4px 8px;border:var(--border) solid var(--accent)}.workspace{flex:1;display:flex;gap:var(--gap);min-height:0}.content{flex:1;overflow-y:auto;padding:22px}.sidebar-slot{flex:none;min-width:210px;max-width:460px;display:flex;min-height:0}.sidebar{flex:1;display:flex;flex-direction:column;gap:var(--gap);min-height:0;min-width:0}.resizer{flex:none;width:6px;margin:0 -2px;cursor:col-resize;background:transparent;position:relative;z-index:2}.resizer:after{content:"";position:absolute;top:0;right:2px;bottom:0;left:2px;background:transparent;transition:background var(--quick) ease}.resizer:hover:after{background:var(--bg-4)}.friends-toggle{display:grid;grid-auto-flow:column;align-items:center;justify-content:start;gap:9px;padding:10px 12px;background:var(--bg-2);border:var(--border) solid var(--bg-4);color:var(--text-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;flex:none}.friends-toggle:hover{color:var(--text-0);border-color:var(--text-3)}.friends-toggle.on{background:var(--text-1);border-color:var(--text-1);color:var(--bg-1)}.friends-toggle .badge{margin-left:auto}.side-panel{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px 10px 10px}.side-scroll{overflow-y:auto;display:flex;flex-direction:column;gap:14px;min-height:0}.side-group h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.add-friend{display:flex;gap:6px;margin-bottom:12px}.add-friend input{flex:1;padding:7px 9px;font-size:12px}.add-friend button{width:36px;display:grid;place-items:center;padding:0;background:transparent;border-color:var(--bg-4);color:var(--text-1)}.add-friend button:hover:not(:disabled){border-color:var(--text-2)}.request-row,.friend-row,.conv-row{width:100%;display:flex;align-items:center;gap:9px;padding:6px 8px;border:var(--border) solid transparent;background:none;color:var(--text-1);text-align:left;font-size:13px}.friend-row:hover,.conv-row:hover{background:var(--bg-3)}.conv-row.active{border-color:var(--text-2);background:var(--bg-3);color:var(--text-0)}.conv-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.conv-top{display:flex;align-items:center;gap:8px;min-width:0}.conv-preview{color:var(--text-4);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:1px}.name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name.dim{color:var(--text-3)}.badge{background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;padding:0 5px}.call-badge{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.dot{width:8px;height:8px;flex:none}.dot.on{background:var(--online)}.dot.off{background:transparent;box-shadow:inset 0 0 0 2px var(--text-4)}.btn-accept,.btn-decline{padding:2px 8px;font-size:11px;background:transparent;border-color:var(--bg-4);color:var(--text-1)}.btn-accept:hover{border-color:var(--text-2)}.btn-decline:hover{border-color:var(--accent);color:var(--accent)}.chat{flex:1;display:flex;flex-direction:column;min-width:0;gap:var(--gap)}.chat-empty{margin:auto;color:var(--text-4);font-size:13px}.chat-header{display:flex;align-items:center;gap:12px;padding:7px 14px;flex:none}.chat-who{display:flex;align-items:baseline;gap:10px;min-width:0}.chat-title{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sub{font-size:11px;color:var(--text-3);white-space:nowrap}.chat-actions{display:flex;gap:8px;margin-left:auto}.chat-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 0 0}.messages{flex:1;overflow-y:auto;padding:4px 14px}.load-older{text-align:center;color:var(--text-4);font-size:11px;padding-bottom:8px}.day-divider{display:flex;align-items:center;gap:10px;color:var(--text-4);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:16px 0 10px}.day-divider:before,.day-divider:after{content:"";flex:1;height:2px;background-image:radial-gradient(circle,var(--bg-4) 1px,transparent 1px);background-size:6px 2px}.message{padding:4px 8px;border:var(--border) solid transparent;margin-bottom:1px}.message.grouped{padding-top:0}.message:not(.grouped){margin-top:8px}.message-head.bare{font-size:10px;opacity:.75}.message.own{box-shadow:inset 3px 0 0 var(--bg-4)}.message.menu-open{border-color:var(--bg-4);background:var(--bg-3)}.message-head{display:flex;align-items:baseline;gap:8px;font-size:11px}.message-head .author{font-weight:700;color:var(--text-0);letter-spacing:.03em}.message-head .time,.message-head .edited{color:var(--text-4)}.reply-quote{margin:3px 0;padding-left:8px;border-left:var(--border) solid var(--bg-4);color:var(--text-3);font-size:12px}.reply-quote .author{color:var(--text-2);margin-right:6px}.message .body{white-space:pre-wrap;word-break:break-word;color:var(--text-1)}.message .body.deleted{color:var(--text-4);font-style:italic}.msg-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.typing-line{height:16px;padding:0 14px;font-size:11px;color:var(--text-3)}.composer{border-top:var(--border) solid var(--bg-4);padding:12px 14px;flex:none}.composer-context{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-3);margin-bottom:8px}.composer-row{display:flex;gap:8px;align-items:stretch}.composer-row>*{height:40px}.composer textarea{flex:1;resize:none;min-height:40px;max-height:170px;padding:9px 11px;line-height:1.4}.attach-button,.btn-primary.send{display:grid;place-items:center;padding:0;line-height:1;flex:none;width:auto}.attach-button{width:40px;background:transparent;border-color:var(--bg-4);color:var(--text-1)}.attach-button:hover{border-color:var(--text-2);color:var(--text-0)}.btn-primary.send{grid-auto-flow:column;gap:8px;padding:0 14px}.chat.dragging{outline:var(--border) dashed var(--accent);outline-offset:-4px}.drop-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg-2);border:var(--border) solid var(--accent);padding:12px 18px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;pointer-events:none;z-index:5}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.attach-image{padding:0;border:var(--border) solid var(--bg-4);background:none;cursor:zoom-in;line-height:0;overflow:hidden}.attach-image:hover{border-color:var(--text-2)}.attach-image img{min-width:80px;min-height:80px;max-width:360px;max-height:280px;background:var(--bg-1);object-fit:contain;display:block}.attach-video{max-width:360px;max-height:280px;border:var(--border) solid var(--bg-4);display:block}.attach-audio{width:300px}.attach-file{display:flex;align-items:center;gap:10px;padding:8px 11px;border:var(--border) solid var(--bg-4);color:var(--text-1);text-decoration:none;max-width:320px;font-size:12px}.attach-file:hover{border-color:var(--text-2)}.attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{color:var(--text-4);white-space:nowrap}.pending-list{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}.pending{display:flex;align-items:center;gap:10px;padding:6px 9px;border:var(--border) solid var(--bg-4);font-size:12px}.pending.err{border-color:var(--accent)}.pending-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-size,.pending-status{color:var(--text-4);white-space:nowrap}.pending-status.ok{color:var(--text-1)}.pending-status.err{color:var(--accent)}.call-slot{flex:none;display:flex;min-height:0}.call-slot.grown{flex:1}.chat-body.hidden{display:none}.call-slot>.call-stage{flex:1;min-height:0}.call-stage{flex:none;display:flex;flex-direction:column;padding:18px 14px 12px;position:relative;min-height:0}.resizer-y{flex:none;height:8px;margin:-4px 0;cursor:row-resize;position:relative;z-index:2}.resizer-y:after{content:"";position:absolute;top:3px;right:30%;bottom:3px;left:30%;background:transparent;transition:background var(--quick) ease}.resizer-y:hover:after{background:var(--bg-4)}.stage-area{flex:1;display:flex;flex-direction:column;padding-bottom:14px;min-height:0;overflow:hidden}.stage-area.with-screen{flex-direction:row;gap:var(--gap);align-items:stretch}.stage-screens{flex:1;display:flex;flex-wrap:wrap;gap:var(--gap);min-width:0;min-height:0}.stage-grid{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center;gap:16px;padding:8px 0;min-height:0;overflow-y:auto}.stage-grid.filled{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center;gap:var(--gap);padding:0;overflow-y:auto}.tile-slot{display:block}.stage-person{display:flex;flex-direction:column;align-items:center;gap:7px;width:108px;padding:6px 4px;border:var(--border) solid transparent;background:none;color:inherit;animation:tile-in var(--settle) ease}.stage-person.big{position:relative;height:100%;width:auto;aspect-ratio:3 / 2;min-width:170px;justify-content:center;gap:0;padding:12px;background:var(--bg-3);border-color:var(--bg-4)}.tile-slot.filled{display:flex;height:100%;min-height:124px;max-height:250px;min-width:0}.stage-person.big .who{position:absolute;left:10px;right:10px;bottom:8px;display:flex;align-items:center;justify-content:center;gap:7px}.stage-person.big .watch-btn{position:absolute;top:8px;right:8px}.watch-btn{display:inline-grid;grid-auto-flow:column;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-2);border:var(--border) solid var(--bg-4);color:var(--text-2);font-size:11px}.watch-btn:hover{color:var(--text-0);border-color:var(--text-3)}.watch-btn.on{border-color:var(--accent);color:var(--accent)}.stage-area.with-screen .stage-person{flex-direction:row;width:100%;gap:9px;padding:7px 8px;background:var(--bg-3);border-color:var(--bg-4)}.stage-area.with-screen .stage-person .who{text-align:left;flex:1}.stage-area.with-screen .stage-person .flags{flex-direction:column;gap:2px;min-height:0}.stage-person:hover{border-color:var(--bg-4)}.stage-person .who{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-1);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-person .flags{display:flex;gap:6px;min-height:14px;color:var(--accent)}.stage-controls{display:flex;align-items:center;gap:8px;border-top:var(--border) solid var(--bg-4);padding-top:12px}.stage-controls.icons{justify-content:center}.call-stage.big .stage-controls.icons{position:absolute;left:0;right:0;bottom:0;border-top:none;padding:10px;background:linear-gradient(transparent,var(--bg-2) 55%);opacity:0;transition:opacity var(--settle) ease;pointer-events:none}.call-stage.big .stage-controls.icons>*{pointer-events:auto}.call-stage.big:hover .stage-controls.icons,.call-stage.big:focus-within .stage-controls.icons{opacity:1}.stage-controls.centered{justify-content:center}.stage-controls.idle{border-top:none;padding-top:0}.stage-controls .right{margin-left:auto;display:flex;align-items:center;gap:8px}.call-btn.join{background:var(--text-1);border-color:var(--text-1);color:var(--bg-1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;padding:0 20px;height:38px}.call-btn.join:hover{background:var(--text-0);border-color:var(--text-0);color:var(--bg-1)}.quality{width:auto;height:36px;padding:0 8px}@keyframes tile-in{0%{opacity:0}}.call-btn{display:grid;grid-auto-flow:column;place-items:center;gap:7px;height:36px;padding:0 12px;background:transparent;border-color:var(--bg-4);color:var(--text-1);font-size:12px}.call-btn:hover{border-color:var(--text-2);color:var(--text-0)}.call-btn.off{border-color:var(--accent);color:var(--accent)}.call-btn.on{background:var(--text-1);border-color:var(--text-1);color:var(--bg-1)}.call-btn.leave{border-color:var(--accent);color:var(--accent)}.call-btn.leave:hover{background:var(--accent);color:var(--on-accent)}.call-btn.square{width:36px;padding:0}.call-join{display:grid;grid-auto-flow:column;place-items:center;gap:8px;width:auto;padding:8px 14px}.meter{width:90px;height:8px;border:var(--border) solid var(--bg-4);overflow:hidden}.meter-fill{height:100%;background:var(--text-1);transition:width .08s linear}.meter-fill.off{background:var(--text-4)}.ptt-hint{margin-top:8px;font-size:11px;color:var(--text-3)}.mic-note{color:var(--text-2);border-left:2px solid var(--accent);padding-left:8px}.call-btn:disabled{opacity:.45;cursor:not-allowed}.call-error{display:flex;align-items:center;gap:10px}.share-note{max-width:520px;margin:8px 0 0}.screen-tile{position:relative;flex:1 1 420px;min-width:0;min-height:0;overflow:hidden;background:#000;border:var(--border) solid var(--bg-4);line-height:0}.screen-tile video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;cursor:pointer}.screen-tile:fullscreen video{max-height:none;height:100%;object-fit:contain}.screen-paused{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;background:var(--bg-2);color:var(--text-3);line-height:1.5}.screen-paused strong{color:var(--text-0);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.screen-paused span{font-size:12px;max-width:42ch}.meter.wide{width:100%;height:12px}.screen-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:8px 10px;background:linear-gradient(transparent,#000000c7);line-height:1.4;opacity:0;transition:opacity var(--quick) ease;pointer-events:none}.screen-overlay>*{pointer-events:auto}.screen-tile:hover .screen-overlay,.screen-tile:focus-within .screen-overlay{opacity:1}.screen-overlay .screen-who{flex:1;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#e9eaec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-overlay .icon-btn{color:#e9eaec}.screen-overlay .icon-btn:hover{border-color:#e9eaec}.screen-volume{display:flex;align-items:center;gap:7px;margin:0;color:#e9eaec;font-size:11px;text-transform:none;letter-spacing:0}.screen-volume input{width:90px}.screen-percent{min-width:34px;font-variant-numeric:tabular-nums}.friends-tools{display:flex;gap:var(--gap);padding:0 14px 12px;border-bottom:var(--border) solid var(--bg-4);flex-wrap:wrap}.friends-tools .add-friend,.friends-tools .search-field{flex:1 1 260px;margin:0}.search-field{display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--bg-1);border:var(--border) solid var(--bg-4);color:var(--text-3)}.search-field input{border:none;background:none;padding:8px 0}.search-field input:focus{border:none}.friends-msg{margin:10px 14px 0}.friends-scroll{flex:1;overflow-y:auto;padding:12px 14px 14px;display:flex;flex-direction:column;gap:18px}.friends-group h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;padding-bottom:5px;border-bottom:2px solid var(--bg-4)}.friend-card{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;background:none;border:var(--border) solid transparent;color:var(--text-1);text-align:left}.friend-card:hover{background:var(--bg-3);border-color:var(--bg-4)}.friend-card.request{cursor:default}.friend-card .names{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}.friend-card .nick{font-size:13px;color:var(--text-0)}.friend-card .nick.dim{color:var(--text-3)}.friend-card .handle{font-size:11px;color:var(--text-3)}.avatar{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:hsl(var(--hue) 20% var(--avatar-l) / .3);color:var(--text-0);font-weight:700;letter-spacing:0;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 2px var(--bg-4);transition:box-shadow var(--quick) ease,opacity var(--quick) ease}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar.speaking{box-shadow:inset 0 0 0 2px hsl(var(--hue) 65% 58%),0 0 0 3px hsl(var(--hue) 65% 58% / .3)}.avatar.muted{opacity:.42;filter:grayscale(1)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;background:var(--shroud);display:flex;align-items:center;justify-content:center;padding:28px;animation:fade var(--settle) ease}.modal{width:100%;max-width:560px;max-height:100%;display:flex;flex-direction:column;background:var(--bg-2);border:var(--border) solid var(--bg-4);animation:rise var(--settle) cubic-bezier(.2,.8,.3,1)}.modal.wide{max-width:720px}.modal.fixed{height:min(620px,calc(100vh - 56px))}.overlay.closing{animation:fade-out .16s ease forwards}.modal.closing{animation:sink .16s ease forwards}.btn-primary.danger{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary.danger:not(:disabled):hover{filter:brightness(1.1)}.modal-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:var(--border) solid var(--bg-4)}.modal-head h2{flex:1;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-2)}.modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-foot{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:var(--border) solid var(--bg-4)}.modal-foot .spacer{flex:1}.modal-foot .btn-primary{width:auto;padding:9px 16px}.settings-layout{display:flex;min-height:0}.settings-nav{width:168px;flex:none;border-right:var(--border) solid var(--bg-4);padding:10px;display:flex;flex-direction:column;gap:2px}.settings-nav button{text-align:left;padding:8px 10px;background:none;border-color:transparent;color:var(--text-3);font-size:12px}.settings-nav button:hover{color:var(--text-1)}.settings-nav button.on{background:var(--bg-3);border-color:var(--bg-4);color:var(--text-0)}.settings-page{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;min-width:0}.settings-section h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.inline-form{display:flex;gap:8px;align-items:flex-end}.inline-form .field{flex:1;margin:0}.inline-form button{height:36px;padding:0 14px;width:auto}.avatar-editor{display:flex;align-items:center;gap:14px}.theme-choices{display:flex;flex-direction:column;gap:8px}.theme-choice{display:flex;align-items:center;gap:12px;padding:10px 12px;background:none;border-color:var(--bg-4);color:var(--text-1);text-align:left}.theme-choice.on{border-color:var(--text-2);background:var(--bg-3)}.theme-choice .swatch{display:flex;flex:none}.theme-choice .swatch i{width:16px;height:26px;border:var(--border) solid var(--bg-4);border-right:none}.theme-choice .swatch i:last-child{border-right:var(--border) solid var(--bg-4)}.theme-choice .label{display:flex;flex-direction:column;line-height:1.3}.theme-choice .note{font-size:11px;color:var(--text-3)}.picker{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;margin-top:-6px}.picker-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:none;border-color:transparent;color:var(--text-1);text-align:left;width:100%}.picker-row:hover{background:var(--bg-3)}.picker-row.on{border-color:var(--text-2);background:var(--bg-3);color:var(--text-0)}.picker-row .mark{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;color:var(--accent)}.btn-secondary,.btn-accept,.btn-decline{display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:7px}.btn-secondary svg,.ctx-item svg,.call-btn svg,.friends-toggle svg,.rail svg{display:block;flex:none}.ctx-menu{position:fixed;z-index:150;min-width:216px;background:var(--bg-2);border:var(--border) solid var(--bg-4);padding:5px;animation:fade var(--quick) ease}.ctx-title{padding:5px 9px 7px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border-bottom:var(--border) solid var(--bg-4);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 9px;background:none;border-color:transparent;color:var(--text-1);font-size:12px}.ctx-item:hover{background:var(--bg-3);color:var(--text-0)}.ctx-item.danger:hover{background:var(--accent);color:var(--on-accent)}.ctx-volume{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 9px;font-size:11px;color:var(--text-3)}.ctx-volume input{width:100%}.ctx-percent{margin-left:auto;color:var(--text-1)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:var(--shroud);display:flex;align-items:center;justify-content:center;padding:60px;animation:fade var(--settle) ease}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border:var(--border) solid var(--bg-4)}.lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--bg-2);border-bottom:var(--border) solid var(--bg-4);font-size:12px;color:var(--text-3)}.lightbox-name{flex:1;color:var(--text-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;background:var(--bg-2);border-color:var(--bg-4);color:var(--text-1);width:40px;height:56px}.lightbox-nav:hover{border-color:var(--text-2)}.lightbox-nav.prev{left:12px}.lightbox-nav.next{right:12px}.invite-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:var(--border) solid var(--bg-4);font-size:12px}.invite-row .status{margin-left:auto;color:var(--text-3);white-space:nowrap}.status.used{color:var(--text-1)}.status.dead{color:var(--text-4)}@keyframes fade{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes sink{to{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){*,.overlay,.modal,.ctx-menu,.lightbox{transition:none!important;animation:none!important}}
