@import "https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Fira+Code:wght@400;500;600&display=swap";:root{--bg-0:#07090c;--bg-1:#0b0e13;--bg-2:#11161d;--bg-3:#1a2029;--bg-4:#242b35;--fg-0:#fff;--fg-1:#e6ebf1;--fg-2:#a7b0bc;--fg-3:#6b7380;--fg-4:#3f4752;--border-1:#ffffff0f;--border-2:#ffffff1a;--border-3:#ffffff29;--teal-100:#bdf9e2;--teal-200:#8ff1cd;--teal-300:#5ee7b8;--teal-400:#2dd4a0;--teal-500:#14b88a;--teal-700:#08775a;--magenta-300:#ff8ad6;--magenta-400:#f553c3;--magenta-500:#d936af;--purple-300:#b392ff;--purple-400:#8b5cff;--purple-500:#6a2bf0;--blue-400:#3d8cff;--blue-500:#1f6ee0;--color-primary:var(--teal-400);--color-primary-hover:var(--teal-300);--color-on-primary:#07231c;--color-warning:#ffb547;--color-danger:#ff5c6c;--color-info:var(--blue-400);--color-link:var(--teal-300);--code-bg:#0d1117;--code-comment:#6b7380;--code-keyword:var(--magenta-400);--code-string:var(--teal-300);--code-number:#ffb547;--code-function:var(--blue-400);--font-sans:"Ubuntu", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-micro:11px;--fs-caption:13px;--fs-body-sm:14px;--fs-body:16px;--fs-h3:28px;--ls-eyebrow:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--shadow-2:0 4px 16px #00000080;--shadow-3:0 12px 40px #0009;--dur-fast:.12s;--dur-med:.2s;--ease:cubic-bezier(.4, 0, .2, 1);--rail-w:48px;--metrics-w:300px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg-0);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--teal-200)}button{font-family:inherit}::selection{background:#2dd4a040}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:var(--r-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:#313a46}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--teal-400);font-weight:400}.eyebrow:before{content:"// ";color:var(--fg-3)}.mono{font-family:var(--font-mono)}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr) var(--metrics-w);background:var(--bg-0);height:100vh;display:grid}.app.no-metrics{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.app.bare{grid-template-columns:minmax(0,1fr)}.rail{background:var(--bg-1);border-right:1px solid var(--border-1);padding:var(--sp-3) 0;align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.rail .logo{border-radius:var(--r-md);background:linear-gradient(135deg, var(--teal-400), var(--purple-500) 70%, var(--magenta-500));width:30px;height:30px;margin-bottom:var(--sp-4);flex:none}.rail button.nav{border-radius:var(--r-md);width:34px;height:34px;color:var(--fg-3);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast);background:0 0;border:none;place-items:center;display:grid;position:relative}.rail button.nav:hover{color:var(--fg-1);background:var(--bg-3)}.rail button.nav.active{color:var(--teal-400)}.rail button.nav.active:before{content:"";border-radius:var(--r-pill);background:var(--teal-400);width:3px;position:absolute;top:6px;bottom:6px;left:-13px}.rail .spacer{flex:1}.rail .avatar{cursor:pointer}.avatar{border-radius:var(--r-pill);width:28px;height:28px;font-size:var(--fs-micro);color:#07231c;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;border:1px solid #00000040;flex:none;place-items:center;display:grid}.main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.ed-head{align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);border-bottom:1px solid var(--border-1);background:var(--bg-1);flex:none;height:52px;display:flex}.ed-head .crumb{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-caption)}.ed-head .title{font-size:var(--fs-body);color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;outline:none;min-width:0;max-width:42ch;font-weight:500;overflow:hidden}.ed-head .title:focus{border-bottom:1px solid var(--border-3)}.ed-head .right{align-items:center;gap:var(--sp-3);white-space:nowrap;margin-left:auto;display:flex}.pill{font-size:var(--fs-caption);color:var(--fg-2);border-radius:var(--r-pill);border:1px solid var(--border-2);background:var(--bg-2);cursor:pointer;transition:border-color var(--dur-fast);align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.pill:hover{border-color:var(--border-3)}.pill .dot{background:var(--teal-400);border-radius:50%;width:7px;height:7px}.subs{font-size:var(--fs-caption);color:var(--fg-3);white-space:nowrap}.btn{font-size:var(--fs-body-sm);cursor:pointer;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--bg-2);color:var(--fg-1);transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);white-space:nowrap;padding:6px 14px;font-weight:500}.btn:hover{background:var(--bg-3);border-color:var(--border-3)}.btn.primary{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.btn.primary:hover{background:var(--color-primary-hover)}.btn.ghost{color:var(--fg-2);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--fg-0);background:var(--bg-3)}.btn.sm{font-size:var(--fs-caption);padding:4px 10px}.btn.danger{color:var(--color-danger);border-color:#ff5c6c4d}.presence{align-items:center;display:flex}.presence .avatar{border:2px solid var(--bg-1);margin-left:-6px}.presence .avatar:first-child{margin-left:0}.presence .more{border-radius:var(--r-pill);background:var(--bg-3);width:28px;height:28px;color:var(--fg-2);border:2px solid var(--bg-1);font-size:var(--fs-micro);font-family:var(--font-mono);place-items:center;margin-left:-6px;display:grid}.toolbar{height:38px;padding:0 var(--sp-4);border-bottom:1px solid var(--border-1);background:var(--bg-1);flex:none;align-items:center;gap:2px;display:flex}.toolbar .tb{color:var(--fg-2);cursor:pointer;font-size:var(--fs-body-sm);border-radius:var(--r-sm);font-family:var(--font-mono);background:0 0;border:none;padding:5px 9px}.toolbar .tb:hover{background:var(--bg-3);color:var(--fg-0)}.toolbar .sep{background:var(--border-2);width:1px;height:18px;margin:0 6px}.toolbar .count{font-size:var(--fs-caption);color:var(--fg-3);font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.split{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.pane{flex-direction:column;min-width:0;display:flex;overflow:hidden}.pane.source{border-right:1px solid var(--border-1)}.pane-head{height:30px;padding:0 var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--border-1);background:var(--bg-0);white-space:nowrap;flex:none;align-items:center;gap:8px;display:flex;overflow:hidden}.pane-head .accent{color:var(--teal-400)}.pane-head .sec{color:var(--fg-4);text-overflow:ellipsis;overflow:hidden}textarea.source-area{resize:none;background:var(--bg-0);width:100%;color:var(--fg-1);font-family:var(--font-mono);font-size:var(--fs-body-sm);padding:var(--sp-5);tab-size:2;border:none;outline:none;flex:1;line-height:1.7}.preview{padding:var(--sp-6) var(--sp-7);flex:1;position:relative;overflow-y:auto}.statusbar{align-items:center;gap:var(--sp-4);height:26px;padding:0 var(--sp-5);border-top:1px solid var(--border-1);background:var(--bg-1);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--fg-3);white-space:nowrap;flex:none;display:flex;overflow:hidden}.statusbar .s{align-items:center;gap:6px;display:inline-flex}.statusbar .s .dot{background:var(--teal-500);border-radius:50%;width:6px;height:6px}.statusbar .s .dot.mqtt{background:var(--magenta-500)}.statusbar .s .dot.off{background:var(--fg-4)}.statusbar .right{margin-left:auto}.md{color:var(--fg-1);max-width:780px}.md h1,.md h2,.md h3,.md h4{color:var(--fg-0);margin:1.4em 0 .5em;font-weight:700;line-height:1.2}.md h1{font-size:var(--fs-h3);margin-top:0}.md h2{border-bottom:1px solid var(--border-1);padding-bottom:6px;font-size:22px}.md h3{font-size:18px;font-weight:500}.md p{margin:.7em 0}.md a{border-bottom:1px solid #5ee7b84d}.md ul,.md ol{margin:.6em 0;padding-left:1.4em}.md li{margin:.25em 0}.md li.task-list-item{margin-left:-1.2em;list-style:none}.md li.task-list-item input{accent-color:var(--teal-400);margin-right:8px}.md blockquote{border-left:3px solid var(--teal-500);color:var(--fg-2);border-radius:0 var(--r-sm) var(--r-sm) 0;background:#2dd4a00d;margin:1em 0;padding:4px 16px}.md blockquote strong{color:var(--teal-300)}.md code{font-family:var(--font-mono);background:var(--bg-3);border-radius:var(--r-sm);color:var(--teal-200);padding:2px 6px;font-size:.9em}.md pre{background:var(--code-bg);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-4);font-size:var(--fs-body-sm);margin:1em 0;line-height:1.6;overflow-x:auto}.md pre code{color:var(--fg-1);font-size:inherit;background:0 0;padding:0}.md table{border-collapse:collapse;width:100%;font-size:var(--fs-body-sm);margin:1em 0;display:block;overflow-x:auto}.md th,.md td{text-align:left;border-bottom:1px solid var(--border-1);padding:8px 14px}.md th{color:var(--fg-2);border-bottom-color:var(--border-2);font-weight:500}.md tr:hover td{background:#ffffff04}.md hr{border:none;border-top:1px solid var(--border-1);margin:1.5em 0}.md .callout{border-radius:var(--r-md);font-size:var(--fs-body-sm);border:1px solid;margin:1em 0;padding:12px 16px}.md .callout .callout-title{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.md .callout.info{background:#3d8cff14;border-color:#3d8cff4d}.md .callout.info .callout-title{color:var(--blue-400)}.md .callout.warning{background:#ffb54714;border-color:#ffb5474d}.md .callout.warning .callout-title{color:var(--color-warning)}.md .callout.success{background:#2dd4a014;border-color:#2dd4a04d}.md .callout.success .callout-title{color:var(--teal-400)}.md .mermaid{background:var(--code-bg);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-4);text-align:center;margin:1em 0;overflow-x:auto}.md .katex-block{padding:8px 0;overflow-x:auto}.hljs-comment,.hljs-quote{color:var(--code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:var(--code-keyword)}.hljs-string,.hljs-attr,.hljs-template-tag,.hljs-addition{color:var(--code-string)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-meta{color:var(--code-number)}.hljs-title,.hljs-function .hljs-title,.hljs-title.function_{color:var(--code-function)}.hljs-type,.hljs-class .hljs-title{color:var(--purple-300)}.hljs-attribute{color:var(--teal-200)}.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--magenta-300)}.presence-tags{z-index:2;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;right:20px}.presence-tag{font-size:var(--fs-micro);font-family:var(--font-mono);border-radius:var(--r-pill);color:#07231c;opacity:.92;padding:2px 8px;font-weight:500}.metrics{background:var(--bg-1);border-left:1px solid var(--border-1);flex-direction:column;height:100vh;display:flex;overflow:hidden}.metrics .m-head{padding:var(--sp-4) var(--sp-4) var(--sp-3)}.metrics .m-stats{gap:var(--sp-6);padding:0 var(--sp-4) var(--sp-4);border-bottom:1px solid var(--border-1);display:flex}.metrics .m-stat .v{font-family:var(--font-mono);color:var(--teal-400);font-size:30px;font-weight:500;line-height:1}.metrics .m-stat .l{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-family:var(--font-mono);margin-top:6px}.metrics .m-list{padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.metric-card{background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-md);animation:slideIn var(--dur-med) var(--ease);padding:10px 12px}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.metric-card .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.metric-card .op{font-family:var(--font-mono);font-size:var(--fs-body-sm);font-weight:500}.metric-card .op.rest{color:var(--teal-300)}.metric-card .op.websocket{color:var(--teal-400)}.metric-card .op.mqtt{color:var(--magenta-400)}.metric-card .op.hnsw{color:var(--purple-400)}.metric-card .op.internal{color:var(--blue-400)}.metric-card .ms{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--fg-2)}.metric-card .detail{font-size:var(--fs-caption);color:var(--fg-3);margin:6px 0 8px;line-height:1.4}.metric-card .tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font-family:var(--font-mono);border-radius:var(--r-pill);background:var(--bg-3);color:var(--fg-2);border:1px solid var(--border-1);padding:2px 7px;font-size:10px}.metrics .m-foot{padding:var(--sp-4);border-top:1px solid var(--border-1)}.metrics .m-foot .services{margin-top:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.svc-pill{font-family:var(--font-mono);border-radius:var(--r-pill);border:1px dashed var(--border-2);color:var(--fg-4);padding:2px 8px;font-size:10px;text-decoration:line-through}.metrics .toggle-row{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-1);font-size:var(--fs-caption);color:var(--fg-3);justify-content:space-between;align-items:center;display:flex}.switch{border-radius:var(--r-pill);background:var(--bg-4);cursor:pointer;width:34px;height:18px;transition:background var(--dur-fast);flex:none;position:relative}.switch.on{background:var(--teal-500)}.switch .knob{width:14px;height:14px;transition:transform var(--dur-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.on .knob{transform:translate(16px)}.screen{padding:var(--sp-7) var(--sp-8);flex:1;overflow-y:auto}.screen .screen-head{margin-bottom:var(--sp-6)}.screen h1{font-size:var(--fs-h3);color:var(--fg-0);margin:6px 0 0;font-weight:700}.screen .sub{color:var(--fg-3);font-size:var(--fs-body-sm);margin-top:6px}.ws-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.ws-toolbar .tabs{gap:4px;display:flex}.ws-toolbar .tabs button{color:var(--fg-3);border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-body-sm);background:0 0;border:1px solid #0000;padding:5px 12px}.ws-toolbar .tabs button.active{color:var(--teal-400);background:var(--bg-2);border-color:var(--border-2)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-family:var(--font-mono);border-bottom:1px solid var(--border-2);white-space:nowrap;padding:8px 12px}.table td{border-bottom:1px solid var(--border-1);vertical-align:middle;padding:12px}.table tr{cursor:pointer}.table tbody tr:hover td{background:var(--bg-2)}.table .t-title{color:var(--fg-0);align-items:center;gap:8px;font-weight:500;display:flex}.table .t-sub{color:var(--fg-3);font-size:var(--fs-caption)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-size:var(--fs-micro);border-radius:var(--r-pill);background:var(--bg-3);color:var(--fg-2);font-family:var(--font-mono);padding:2px 8px}.mode-badge{font-size:var(--fs-micro);font-family:var(--font-mono);border-radius:var(--r-sm);border:1px solid var(--border-2);color:var(--fg-2);text-transform:capitalize;padding:2px 8px}.mode-badge.private{color:var(--color-danger);border-color:#ff5c6c4d}.mode-badge.freely,.mode-badge.editable{color:var(--teal-400);border-color:#2dd4a04d}.mode-badge.locked,.mode-badge.protected{color:var(--color-warning);border-color:#ffb5474d}.search-box{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-md);margin-bottom:var(--sp-4);align-items:center;gap:10px;padding:10px 14px;display:flex}.search-box input{color:var(--fg-0);font-size:var(--fs-body);background:0 0;border:none;outline:none;flex:1}.search-modes{margin-bottom:var(--sp-6);gap:8px;display:flex}.search-modes button{background:var(--bg-2);border:1px solid var(--border-2);color:var(--fg-2);border-radius:var(--r-pill);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-caption);padding:6px 14px}.search-modes button.active{color:var(--teal-400);border-color:var(--teal-500);background:#2dd4a014}.result{padding:var(--sp-4);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-2);margin-bottom:var(--sp-3);cursor:pointer;transition:border-color var(--dur-fast)}.result:hover{border-color:var(--border-3)}.result .r-top{align-items:center;gap:10px;display:flex}.result .r-title{color:var(--fg-0);font-weight:500}.result .r-dist{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--purple-400);margin-left:auto}.result .r-snip{color:var(--fg-3);font-size:var(--fs-body-sm);margin-top:6px}.col-2{gap:var(--sp-6);grid-template-columns:1fr 1fr;display:grid}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;animation:fade var(--dur-med);background:#03050899;place-items:center;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-xl);width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--shadow-3);overflow-y:auto}.modal .m-head{padding:var(--sp-5);border-bottom:1px solid var(--border-1);align-items:center;display:flex}.modal .m-head h2{color:var(--fg-0);margin:0;font-size:18px;font-weight:500}.modal .m-body{padding:var(--sp-5)}.matrix{border-collapse:collapse;width:100%;font-size:var(--fs-caption);margin:var(--sp-3) 0 var(--sp-5)}.matrix th,.matrix td{text-align:center;border-bottom:1px solid var(--border-1);padding:8px 10px}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix th{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em}.matrix tr.sel td{background:#2dd4a014}.matrix tr{cursor:pointer}.matrix .mode-name{color:var(--fg-1);text-transform:capitalize;font-weight:500}.matrix .yes{color:var(--teal-400)}.matrix .no{color:var(--fg-4)}.invitee-row{border-bottom:1px solid var(--border-1);align-items:center;gap:10px;padding:8px 0;display:flex}.invitee-row .role{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--teal-300);margin-left:auto}.field{margin-bottom:var(--sp-4);flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--fs-caption);color:var(--fg-3)}.field input,.field select{background:var(--bg-1);border:1px solid var(--border-2);color:var(--fg-0);border-radius:var(--r-md);font-size:var(--fs-body);outline:none;padding:9px 12px}.field input:focus{border-color:var(--teal-500)}.ver-row{align-items:center;gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border-1);border-radius:var(--r-md);margin-bottom:var(--sp-2);background:var(--bg-2);display:flex}.ver-row .when{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--fg-2);white-space:nowrap}.ver-row .label{color:var(--fg-0)}.ver-row .badge{font-size:var(--fs-micro);font-family:var(--font-mono);color:var(--fg-3)}.diff{font-family:var(--font-mono);font-size:var(--fs-body-sm);background:var(--code-bg);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-4);line-height:1.6;overflow-x:auto}.diff .add{color:var(--teal-200);background:#2dd4a01f;display:block}.diff .del{color:#ffb0b8;background:#ff5c6c1f;display:block}.pub{max-width:820px;padding:var(--sp-8) var(--sp-6);margin:0 auto}.pub-banner{font-size:var(--fs-caption);color:var(--fg-3);margin-bottom:var(--sp-6);font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.pub-banner .dot{background:var(--teal-400);border-radius:50%;width:7px;height:7px}.topbar{height:52px;padding:0 var(--sp-6);border-bottom:1px solid var(--border-1);background:var(--bg-1);align-items:center;gap:12px;display:flex}.topbar .logo{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--teal-400), var(--purple-500));width:26px;height:26px}.topbar .brand{color:var(--fg-0);font-weight:500}.signin-wrap{background:radial-gradient(circle at 30% 20%, #6a2bf01f, transparent 40%), radial-gradient(circle at 70% 80%, #2dd4a01a, transparent 45%), var(--bg-0);place-items:center;height:100vh;display:grid}.signin{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-xl);width:400px;max-width:calc(100vw - 32px);padding:var(--sp-7);box-shadow:var(--shadow-3)}.signin .brand-row{margin-bottom:var(--sp-6);align-items:center;gap:12px;display:flex}.signin .brand-row .logo{border-radius:var(--r-md);background:linear-gradient(135deg, var(--teal-400), var(--purple-500) 70%, var(--magenta-500));width:36px;height:36px}.signin .brand-row .name{color:var(--fg-0);font-size:20px;font-weight:500}.signin .demo-hint{margin-top:var(--sp-4);font-size:var(--fs-caption);color:var(--fg-3);text-align:center}.signin .demo-hint code{color:var(--teal-300);font-family:var(--font-mono)}.err{color:var(--color-danger);font-size:var(--fs-caption);margin-top:var(--sp-2)}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-3);border:1px solid var(--border-2);color:var(--fg-1);border-radius:var(--r-md);font-size:var(--fs-body-sm);box-shadow:var(--shadow-2);animation:slideIn var(--dur-med);padding:10px 16px}.empty{color:var(--fg-3);text-align:center;padding:var(--sp-8);font-size:var(--fs-body-sm)}.spin{border:2px solid var(--border-3);border-top-color:var(--teal-400);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite rot;display:inline-block}@keyframes rot{to{transform:rotate(360deg)}}.team-hero{align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-lg);margin-bottom:var(--sp-6);display:flex}.team-hero .tlogo{border-radius:var(--r-md);background:linear-gradient(135deg, var(--purple-500), var(--magenta-500));width:52px;height:52px;font-family:var(--font-mono);color:#fff;place-items:center;font-size:20px;display:grid}.member-list{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.member{background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-pill);font-size:var(--fs-body-sm);align-items:center;gap:8px;padding:4px 12px 4px 4px;display:flex}.member .role{color:var(--fg-3);font-size:var(--fs-caption);font-family:var(--font-mono)}@media (width<=1100px){:root{--metrics-w:260px}}
