:root{--bg:#f6f7f9;--panel:#fff;--panel-2:#eef0f4;--text:#16181d;--muted:#6b7280;--border:#dde1e7;--accent:#4f46e5;--accent-text:#fff;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--shadow:0 8px 30px #0000001f;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--panel:#171a21;--panel-2:#20242d;--text:#e6e8ec;--muted:#9aa1ad;--border:#2c313b;--accent:#818cf8;--accent-text:#0f1115;--shadow:0 8px 30px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:5px 10px}button:hover{filter:brightness(.97)}button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}button.primary:disabled{opacity:.5;cursor:default}button.link{color:var(--accent);background:0 0;border:0;padding:0}.danger,button.link.danger{color:var(--danger)}input,select,textarea{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);margin:0}.empty{color:var(--muted)}.badge{background:var(--panel-2);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:11px}code{color:var(--muted);word-break:break-all;font-size:12px}.logo{vertical-align:-3px;background:radial-gradient(circle at 50% 50%, transparent 4px, #fff 4.5px, #fff 6.5px, transparent 7px), var(--accent);border-radius:5px;width:18px;height:18px;margin-right:8px;display:inline-block}.avatar{color:#fff;border:2px solid var(--panel);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.splash{height:100%;color:var(--muted);place-items:center;display:grid}.login{place-items:center;height:100%;padding:16px;display:grid}.login .card{flex-direction:column;gap:12px;width:min(360px,100%);display:flex}.login h1{margin:0;font-size:22px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.app{flex-direction:column;height:100%;display:flex}.top{background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:16px;padding:8px 16px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.top nav{flex:1;align-items:center;gap:12px;display:flex}.top nav a{color:var(--muted);text-decoration:none}.top nav a.on{color:var(--text);font-weight:600}.dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok)}.me{align-items:center;gap:8px;display:flex}.bell{position:relative}.bell>button{background:0 0;border:0;font-size:16px;position:relative}.bell .count{background:var(--danger);color:#fff;border-radius:999px;padding:0 5px;font-size:10px;position:absolute;top:-4px;right:-4px}.dropdown{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:340px;max-height:70vh;box-shadow:var(--shadow);position:absolute;top:32px;right:0;overflow:auto}.dropdown-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px;display:flex}.dropdown-head strong{flex:1}.dropdown ul{margin:0;padding:0;list-style:none}.dropdown li{border-bottom:1px solid var(--border);cursor:pointer;padding:10px}.dropdown li.unread{border-left:3px solid var(--accent)}.dropdown li p{color:var(--muted);margin:2px 0}.dropdown time{color:var(--muted);font-size:11px}main{flex-direction:column;flex:1;min-height:0;display:flex}.toasts{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;width:300px;padding:10px 12px;animation:.2s ease-out pop}.toast p{color:var(--muted);margin:4px 0 0}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.page{padding:16px 24px;overflow:auto}.page-head{justify-content:space-between;align-items:center;display:flex}.cluster{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.cards .card{cursor:pointer;flex-direction:column;gap:8px;display:flex}.cards .card:hover{border-color:var(--accent)}.cards h3{margin:0}.card-foot{justify-content:space-between;align-items:center;display:flex}.people{display:flex}.people .avatar+.avatar{margin-left:-6px}table.users{border-collapse:collapse;background:var(--panel);border-radius:var(--radius);width:100%;overflow:hidden}table.users th,table.users td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}table.users tr.disabled td{opacity:.5}form.form{flex-direction:column;gap:12px;max-width:760px;margin-top:20px;display:flex}form.form h2{margin:0;font-size:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.instance{flex:1;grid-template-columns:1fr;min-height:0;display:grid}.instance.with-channel{grid-template-columns:1fr 340px}.browser{flex-direction:column;min-width:0;min-height:0;display:flex}.tabbar{background:var(--panel-2);scrollbar-width:thin;flex:none;gap:2px;padding:6px 8px 0;display:flex;overflow-x:auto}.tab{--tab-color:transparent;background:color-mix(in srgb, var(--tab-color) 18%, var(--panel-2));border-top:3px solid var(--tab-color);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:6px;min-width:120px;max-width:240px;padding:6px 8px;display:flex}.tab.active{background:color-mix(in srgb, var(--tab-color) 12%, var(--panel))}.tab.pinned{min-width:0}.tab.flash{animation:.8s ease-in-out infinite alternate flash}@keyframes flash{to{background:color-mix(in srgb, var(--warn) 55%, var(--panel))}}.tab-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tab-rename{flex:1;min-width:0;padding:1px 4px}.tab-timer{color:var(--warn);font-variant-numeric:tabular-nums;font-size:11px}.tab-people{display:flex}.tab-people .avatar+.avatar{margin-left:-6px}.tab-people .more{color:var(--muted);margin-left:2px;font-size:11px}.tab-close{color:var(--muted);background:0 0;border:0;padding:0 4px}.tab-new{background:0 0;border:0;padding:2px 10px;font-size:18px}.menu{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-width:190px;padding:6px;display:flex;position:fixed}.menu>button{text-align:left;background:0 0;border:0;padding:6px 8px}.menu>button:hover{background:var(--panel-2)}.menu hr{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.swatches{flex-wrap:wrap;gap:4px;padding:6px 8px;display:flex}.swatch{border:1px solid var(--border);border-radius:50%;width:18px;height:18px;padding:0}.swatch.none{font-size:10px;line-height:1}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 8px;display:flex}.toolbar>button{background:0 0;border:0;padding:2px 6px;font-size:16px}.toolbar>button[aria-pressed]{border:1px solid var(--border);font-size:13px}.toolbar>button[aria-pressed=true]{background:var(--panel-2)}.address{flex:1}.address input{background:var(--panel-2);border-radius:999px;width:100%;padding:5px 12px}.here{display:flex}.here .avatar+.avatar{margin-left:-6px}.status{color:var(--muted);font-size:12px}.status.open{color:var(--ok)}.status.closed{color:var(--danger)}.banner{padding:6px 12px;font-size:13px}.banner.error{background:color-mix(in srgb, var(--danger) 12%, var(--panel))}.viewer{background:#000;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.viewer canvas{cursor:default;background:#fff;max-width:100%;max-height:100%;display:block}.viewer canvas:focus{outline:none}.channel{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;min-height:0;display:flex}.channel h2{border-bottom:1px solid var(--border);margin:0;padding:10px 12px;font-size:14px}.items{flex-direction:column;flex:1;gap:8px;margin:0;padding:8px;list-style:none;display:flex;overflow:auto}.item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:8px}.item.event{border-left:3px solid var(--warn)}.item.done{opacity:.6}.item.done p{text-decoration:line-through}.item-head{align-items:center;gap:6px;font-size:12px;display:flex}.item-head time{color:var(--muted);margin-left:auto;font-size:11px}.item p{white-space:pre-wrap;word-break:break-word;margin:6px 0}.item-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.item-meta .late{color:var(--danger);font-weight:600}.item-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;font-size:12px;display:flex}.composer{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px;display:flex}.composer textarea{resize:vertical}.composer .row{gap:6px;display:flex}.composer .row>*{flex:1;min-width:0}.seg{display:flex}.seg button{border-radius:0;flex:1}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button.on{background:var(--accent);color:var(--accent-text)}.modal-back{z-index:40;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:16px;display:flex}.modal h3{margin:0}.modal .actions{justify-content:flex-end;gap:8px;display:flex}.timers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.timers li{align-items:center;gap:8px;font-size:13px;display:flex}.timers li span:first-child{flex:1}@media (width<=900px){.instance.with-channel{grid-template-rows:1fr 45%;grid-template-columns:1fr}.channel{border-left:0;border-top:1px solid var(--border)}.top{flex-wrap:wrap;gap:8px}.me>span:nth-child(2){display:none}.page{padding:16px}}.instance-card{position:relative}.instance-card.dim{cursor:default}.instance-card.dim:hover{border-color:var(--border)}.card-title{align-items:center;gap:8px;display:flex}.card-title h3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.state{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.state .led{background:var(--muted);border-radius:50%;width:8px;height:8px}.state.ready .led{background:var(--ok)}.state.starting .led{background:var(--warn);animation:1s ease-in-out infinite alternate blink}.state.error .led,.state.missing .led{background:var(--danger)}.state.error,.state.missing{color:var(--danger)}.state.external .led{background:var(--accent)}@keyframes blink{to{opacity:.3}}.kebab{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.card-menu{position:absolute;top:40px;right:8px}button.danger-bg{background:var(--danger);color:#fff}button.danger-bg:disabled{opacity:.4}.banner.warn{background:color-mix(in srgb, var(--warn) 14%, var(--panel))}
