:root{color-scheme:dark;--bg:#141819;--panel:#111516;--panel-soft:#1e2426;--line:#293032;--text:#f1f4f3;--muted:#929c9f;--accent:#80e5bd;--danger:#ff6667;--ok:#80e5bd;--warn:#edc98a;--radius:12px;font-family:"Segoe UI",Arial,sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:1040px;min-height:640px;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-app-region:no-drag}button{cursor:pointer;color:var(--text);border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;min-height:36px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#303b3b;border-color:#647b71}button:disabled{opacity:.32;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select{min-width:0;background:#191f21;color:var(--text);border:1px solid var(--line);border-radius:8px;min-height:36px;padding:0 10px}select{cursor:pointer}input::placeholder{color:#748083}input[type=range],input[type=checkbox]{accent-color:var(--accent)}input[type=range]{min-height:16px;padding:0}input[type=checkbox]{min-height:18px;width:18px}svg{flex-shrink:0}.primary{background:var(--accent);border-color:var(--accent);color:#0d3022}.primary:hover:not(:disabled){background:#a0f3d2;border-color:#a0f3d2}.danger{background:#3b2426;color:#ff8586;border-color:#513236}.active-toggle{color:var(--accent);background:#233c32;border-color:#49715e}.muted-toggle{color:#ff8586;background:#3b2426;border-color:#704548}.text-btn{padding:0 13px}.icon-btn{width:38px;height:38px;display:inline-flex;justify-content:center;align-items:center;font-size:20px}.hidden{display:none!important}
.app{height:100vh;padding:10px;display:grid;grid-template-columns:258px minmax(0,1fr);gap:0}.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:16px 0 0 16px;min-height:0;padding:22px 16px 16px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:18px}.brand{font-size:30px;font-weight:850;letter-spacing:-1.8px;display:flex;align-items:center;gap:8px;padding:0 8px 8px}.brand-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.room-card{display:grid;gap:7px;background:#1a2022;border:1px solid var(--line);border-radius:12px;padding:12px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:var(--muted);font-weight:650}.field-label{font-size:10px;color:var(--muted);margin-top:3px}.room-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.room-entry button{padding:0 10px;font-size:12px}.room-card input{width:100%;background:#111718;font-size:12px}.section-title{font-size:12px;font-weight:600;color:var(--muted)}.participants-heading{display:flex;justify-content:space-between;padding:0 6px}.participants-heading span{color:var(--accent)}.participants{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:9px}.participants:empty:after{content:'Участники появятся после подключения к комнате';color:#758083;line-height:1.7;font-size:12px;padding:16px 6px}.user-card{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:10px;align-items:center;padding:10px 3px;border-radius:10px}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#42534f,#24342e);border:2px solid #69736f;display:grid;place-items:center;font-size:13px;font-weight:700;color:#d9eee3}.is-speaking .avatar{border-color:var(--accent)}.user-name-row{display:flex;align-items:center;gap:5px}.user-name{font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.user-meta{color:var(--muted);font-size:11px;line-height:1.6;margin-top:3px}.is-speaking .user-meta{color:var(--accent)}.voice-dot{display:none}.badge{font-size:9px;color:var(--warn)}.wake-btn{width:24px;min-height:26px;border:0;background:transparent;font-size:12px;padding:0;opacity:.55}.volume-row{display:grid;grid-template-columns:auto minmax(0,1fr) 29px;gap:5px;align-items:center;font-size:9px;color:var(--muted);margin-top:4px}.volume-row input{width:100%;height:12px}.sponsor-link{display:block;border-radius:11px;overflow:hidden;line-height:0;transition:filter .15s,transform .15s}.sponsor-link img{width:100%;height:auto;display:block}.sponsor-link:hover{filter:brightness(1.15);transform:translateY(-2px)}.status-stack{border-top:1px solid var(--line);padding:12px 3px 0;display:grid;gap:5px;font-size:10px;line-height:1.4;color:var(--muted)}.mic-state{display:flex;gap:7px;align-items:center;color:var(--text)}.mic-icon{color:var(--accent);font-size:12px}#voice-status{color:var(--accent)}#screen-status,#stream-audio-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.main{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 285px}.stage{min-width:0;min-height:0;display:grid;grid-template-rows:76px 52px minmax(0,1fr) 115px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stage-header{display:flex;align-items:center;gap:13px;padding:0 22px}.room-glyph{height:42px;width:42px;background:#202729;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--accent);font-size:25px;flex-shrink:0}.stage-heading{flex:1;min-width:0}.stage-title{font-size:20px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-subtitle{font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-header .icon-btn{background:transparent}.stream-toolbar{display:flex;align-items:center;gap:8px;padding:0 22px;border-top:1px solid #202729}.stream-toolbar select,.stream-toolbar button{font-size:11px;min-height:30px}.stream-toolbar .eyebrow{margin-right:auto;letter-spacing:.7px;font-size:8px}.stage-body{min-height:0;position:relative;margin:8px 12px 0;border-radius:12px;background:#0d1112;overflow:hidden}.remote-screens{height:100%;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-auto-rows:minmax(0,1fr);gap:8px;overflow:auto}.screen-wrapper{min-width:0;min-height:0;position:relative;background:#080b0c;overflow:hidden;border-radius:12px}.screen-video{width:100%;height:100%;object-fit:contain;background:#080b0c}.screen-title{position:absolute;left:12px;top:12px;z-index:2;font-size:11px;padding:7px 10px;background:#131b1de8;border-radius:6px;color:var(--text)}.fps-badge{color:var(--accent);margin-left:8px}.empty-state{height:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--muted);background:radial-gradient(ellipse at 50% 35%,#1c2e28 0,transparent 65%)}.empty-symbol{font-size:34px;color:var(--accent);width:72px;height:72px;background:#21342c;border:1px solid #39594a;border-radius:22px;display:grid;place-items:center}.empty-state h1{font-size:clamp(24px,2.8vw,40px);line-height:1.2;color:var(--text);letter-spacing:-1px;font-weight:650;margin:22px 0 10px}.empty-state p{font-size:12px;margin:0 0 24px;line-height:1.7}.empty-hint{font-size:10px;margin-top:14px}.call-dock{display:flex;gap:18px;justify-content:center;align-items:center;padding:12px}.dock-item{display:flex;flex-direction:column;align-items:center;gap:9px}.dock-item>span{font-size:10px;color:#b1babd}.round-btn{width:51px;height:51px;border-radius:50%;display:grid;place-items:center;font-size:20px;border:0;background:#252b2e}.round-btn.primary{background:var(--accent);color:#0d3022}.round-btn.danger{background:#ff6667;color:#fff}.round-btn.muted-toggle{background:#593034;color:#ffb1b1}.afk-btn{align-self:center;min-height:28px;font-size:10px;padding:0 8px;background:transparent}.join-call{font-size:11px;max-width:104px;line-height:1.5;min-height:42px}.chat-panel{border:1px solid var(--line);border-radius:0 16px 16px 0;background:var(--panel);min-height:0;min-width:0;display:grid;grid-template-rows:76px minmax(0,1fr) auto}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #202729}.chat-title{font-size:16px;font-weight:650}.chat-header .hint{font-size:10px;margin-top:5px}.chat-mark{font-size:28px;color:var(--muted)}.chat{padding:20px;overflow:auto;min-height:0;font-size:13px;line-height:1.65}.chat:empty:before{content:'Здесь начинается разговор.\AОтправьте первое сообщение.';white-space:pre-line;color:#778285;font-size:12px}.message{margin-bottom:20px;overflow-wrap:anywhere;color:#d4dcdc}.message b,.message strong{color:var(--accent)}.message.system{font-size:11px;color:#83918f;padding-left:10px;border-left:2px solid #364c43}.chat-input{margin:12px;display:grid;grid-template-columns:minmax(0,1fr) 36px;background:#1a2022;border:1px solid var(--line);border-radius:12px;align-items:center;padding:5px}.chat-input input{background:transparent;border:0;font-size:12px;height:40px;padding:0 8px}.chat-input button{background:transparent;border:0;color:var(--accent)}.hint{color:var(--muted);font-size:11px;line-height:1.6}
.settings-panel{position:fixed;right:10px;top:10px;bottom:10px;width:min(400px,calc(100vw - 20px));z-index:20;background:#181e20;border:1px solid #45544e;border-radius:16px;transform:translateX(calc(100% + 20px));transition:transform .16s ease;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:-20px 0 60px #0008}.settings-panel.open{transform:translateX(0)}.settings-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.settings-body{padding:20px;overflow:auto;display:flex;flex-direction:column;gap:23px}.setting{display:grid;gap:8px}.setting label,.setting-title{font-size:12px;font-weight:600}.setting .hint{font-size:11px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.source-modal{position:fixed;inset:0;background:#050909bb;z-index:30;display:none;place-items:center}.source-modal.open{display:grid}.source-modal-content{width:min(980px,calc(100vw - 60px));height:min(720px,calc(100vh - 60px));border:1px solid #43574e;border-radius:16px;background:#151c1d;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;box-shadow:0 30px 90px #0008}.source-header,.source-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.source-footer{border-bottom:0;border-top:1px solid var(--line)}.source-tabs{display:flex;gap:8px;padding:14px 20px}.source-tabs button{padding:0 14px}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:10px 20px 20px;overflow:auto;align-content:start}.source-card{min-width:0;padding:9px;background:#202829;border:1px solid var(--line);border-radius:12px;cursor:pointer}.source-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.source-card img{width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:6px;background:#0b1011}.source-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:8px}.source-footer-actions{display:flex;gap:8px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#394745;border-radius:5px}
@media(max-width:1250px){.app{grid-template-columns:226px minmax(0,1fr)}.sidebar{padding:18px 12px 12px;gap:14px}.main{grid-template-columns:minmax(0,1fr) 250px}.call-dock{gap:10px}.round-btn{width:43px;height:43px}.stream-toolbar{padding:0 12px;gap:6px}.stream-toolbar .eyebrow{display:none}.stage-header{padding:0 14px}.chat{padding:16px}.join-call{max-width:84px;font-size:10px}.stage-title{font-size:18px}}
@media(max-height:750px){.sidebar{gap:12px;padding-top:16px}.brand{font-size:26px;padding-bottom:0}.room-card{gap:4px;padding:9px}.room-card input,.room-entry button{min-height:30px}.stage{grid-template-rows:68px 44px minmax(0,1fr) 100px}.empty-symbol{width:54px;height:54px;font-size:28px;border-radius:16px}.empty-state h1{margin-top:14px;font-size:28px}.empty-state p{margin-bottom:14px}.status-stack{font-size:9px}}
.live-badge{background:#f06166;color:white;font-size:9px;font-weight:750;letter-spacing:.5px;border-radius:4px;padding:3px 5px;margin-right:8px}.message strong{display:block;margin-bottom:5px;color:var(--text)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.account-gate{position:fixed;inset:0;z-index:60;background:#0d1517f7;display:grid;place-items:center;padding:24px;overflow:auto}.account-box{width:min(460px,100%);padding:32px;background:#182123;border:1px solid #375248;border-radius:22px;display:grid;gap:17px;box-shadow:0 30px 100px #0007}.account-box h1{font-size:28px;letter-spacing:-.7px;margin:0;line-height:1.2}.account-box p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.account-box label{display:grid;gap:7px;font-size:12px}.account-box input{width:100%;height:40px}.account-box>button{min-height:44px}.account-tabs{display:flex;gap:10px}.account-tabs button{flex:1}.account-box small{font-size:10px;color:var(--muted)}#account-register-fields{display:grid;gap:12px}#account-error{font-size:12px;color:#ff9999;overflow-wrap:anywhere}.account-row{display:flex;align-items:center;gap:8px;min-width:0}.account-row img{width:32px;height:32px;object-fit:cover;border-radius:50%}.account-row span{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:12px}.account-row button{min-height:28px;background:transparent;border:0}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.reward-explainer{display:grid;gap:8px;padding:18px;background:#263f33;border-radius:12px;color:var(--accent)}.reward-explainer strong{font-size:22px}.reward-explainer span{font-size:13px}#ecosystem-intro{z-index:70}#reward-status{color:var(--accent);white-space:normal}
/* Cameras occupy a scrollable rail above chat; the stream keeps its own stage. */
.camera-chat-rail{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--line);border-radius:0 16px 16px 0;overflow:hidden;background:var(--panel)}
.camera-chat-rail .chat-panel{flex:1;min-height:210px;border:0;border-top:1px solid var(--line);border-radius:0;grid-template-rows:58px minmax(0,1fr) auto}
.camera-panel{display:flex;flex-direction:column;min-height:92px;max-height:60%;flex-shrink:0;overflow:hidden;padding:12px;gap:10px}
.camera-panel header{display:flex;flex-direction:column;gap:8px;flex-shrink:0;font-size:12px}.camera-panel header strong{display:flex;justify-content:space-between}.camera-panel header span{color:var(--accent)}
.camera-panel select{width:100%;font-size:11px;min-height:28px;padding:4px 8px}.camera-list{overflow:auto;display:flex;flex-direction:column;gap:9px;min-height:0}.camera-empty{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.camera-tile{position:relative;flex-shrink:0;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#080c0d;border:1px solid #30423b}.camera-tile video{display:block;width:100%;height:100%;object-fit:contain}.camera-label{position:absolute;bottom:8px;left:8px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:5px;background:#10191edb;font-size:11px;color:#eaf5ee}.camera-expand{position:absolute;right:7px;top:7px;padding:3px 7px;min-height:25px;background:#10191edb;border:0;opacity:0}.camera-tile:hover .camera-expand,.camera-tile:focus-within .camera-expand{opacity:1}
.camera-context-menu{position:fixed;z-index:20000;width:222px;padding:5px;background:#202b29;border:1px solid #436454;border-radius:10px;box-shadow:0 10px 40px #0008}.camera-context-menu button{width:100%;text-align:left;background:transparent;border:0;padding:10px;font-size:12px}.camera-context-menu button:hover{background:#31453b}.camera-context-menu[hidden]{display:none}

.user-card .avatar{transition:border-color .14s ease,box-shadow .18s ease}.user-card .user-meta{transition:color .18s ease}.is-speaking .avatar{box-shadow:0 0 8px #80e5bd40}

.app.sidebar-compact{grid-template-columns:210px minmax(0,1fr)}
.sidebar-compact .sidebar{display:flex;flex-direction:column;gap:12px;padding:16px 10px}
.sidebar-compact .sidebar>:not(.room-card):not(.participants-heading):not(.participants){display:none!important}
.sidebar-compact .room-card{display:block;padding:8px;border:0;background:transparent}
.sidebar-compact .room-card>:not(.account-row){display:none!important}
.sidebar-compact #account-logout{display:none}.sidebar-compact .participants{flex:1;min-height:0;overflow:auto}
.chat-resizer{flex:0 0 10px;cursor:row-resize;touch-action:none;position:relative;background:#192b25}
.chat-resizer:after{content:'';position:absolute;left:40%;right:40%;top:4px;height:2px;background:#628a7a;border-radius:4px}
.chat-resizer:hover,.chat-resizer:focus{background:#315a49}
.camera-chat-rail .chat-panel{min-height:100px!important;max-height:calc(100% - 102px)}
