:root{--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--up:#22c58b;--down:#ff5a64;--pending:#f5b331;--degraded:#ff8a3d;--maintenance:#5b8cff;--paused:#97a3b8;--unknown:#a5b0c4;--led-up:#6ff0c4;--led-off:#56668e;--bg:#dfe7ef;--panel:#fffffff2;--panel-solid:#fff;--panel-border:#26314d17;--panel-shadow:0 18px 50px -18px #26345a59, 0 2px 6px #26345a0f;--text:#1f2a44;--text-2:#56648a;--text-3:#8a96b3;--hover:#26314d0d;--active:#5b8cff1f;--line:#26314d14;--input:#26314d0d;--accent:#5b8cff;--accent-2:#3f6fe8;--select:#5b8cff;--select-fill:#5b8cff1a;--holo:#3fb5cf;--pin-stroke:#fff;--label-halo:#ffffffe6;--halo-opacity:.28;--lamp-opacity:.25;--smoke:#fff;--scr-on:#4fb6dc;--scr-off:#1d2437;--chip-top:#dde6f5;--chip-left:#93a5cc;--chip-right:#7084ae;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e1422;--panel:#141b2af2;--panel-solid:#161d2d;--panel-border:#ffffff12;--panel-shadow:0 18px 50px -18px #000000b3, 0 2px 6px #00000040;--text:#e7edf8;--text-2:#a3b0cb;--text-3:#6f7c99;--hover:#ffffff0d;--active:#7fa6ff29;--line:#ffffff12;--input:#ffffff0f;--accent:#7fa6ff;--accent-2:#5b8cff;--select:#7fa6ff;--select-fill:#7fa6ff1f;--holo:#5cd6ee;--pin-stroke:#0e1422;--label-halo:#0e1422e6;--halo-opacity:.55;--lamp-opacity:.6;--smoke:#9aa8c4;--chip-top:#56668e;--chip-left:#3a4769;--chip-right:#2a3450;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--active)}.world{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}.world.panning{cursor:grabbing}.world polygon{stroke-width:var(--sw,.6px);stroke-linejoin:round}.world.moving .led-core,.world.moving .led-halo,.world.moving .pin-ring,.world.moving .blink,.world.moving .blink-slow,.world.moving .strip-core,.world.moving .strip-glow,.world.moving .smoke circle,.world.moving .wifi-arc,.world.moving .plate,.world.moving .holo-beam,.world.moving .chip-ring,.world.moving .member-pulse,.world.moving .link,.world.moving .sel-outline,.world.moving .dev-alarm,.world.moving .alarm-glow,.world.moving .scr-alert,.world.moving .fan-spin{animation-play-state:paused!important}.world.moving .ent,.world.moving .ent *{pointer-events:none}.world text{font-family:var(--font);pointer-events:none}.st-up{--st:var(--up);--led:var(--led-up)}.st-down{--st:var(--down);--led:var(--down)}.st-pending{--st:var(--pending);--led:var(--pending)}.st-degraded{--st:var(--degraded);--led:var(--degraded)}.st-maintenance{--st:var(--maintenance);--led:var(--maintenance)}.st-paused{--st:var(--paused);--led:var(--led-off)}.st-unknown{--st:var(--unknown);--led:var(--led-off)}.lift{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.site.active>.site-body:hover>.lift,.building.active>.ext:hover>.lift,.unit.active:hover>.lift{transform:translateY(var(--lift))}.ent.active,.dev.active{cursor:pointer}.editing .ent.active{cursor:move}.site,.building,.unit,.deco{transition:opacity .55s}.site.dim{opacity:.32}.building.fade,.deco.fade{opacity:.16}.building.fade:hover{opacity:.45}.unit.dim{opacity:.14}.hit polygon,polygon.hit{fill:#0000!important;stroke:none!important}.leader{stroke:var(--text-3);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.6}.lvl-cluster .site{opacity:.9}.building .ext-roof{transition:transform .75s cubic-bezier(.5,0,.2,1),opacity .55s}.building .ext-body{transition:opacity .55s .1s}.building.open>.ext{pointer-events:none}.building.open .ext-roof{opacity:0;transform:translateY(-140px)}.building.open .ext-body{opacity:0}.building.open .interior{animation:.7s .15s both fadeIn}.building:not(.open) .interior{pointer-events:none;animation:.5s both fadeOut}.shadow-layer{pointer-events:none}.shadow-layer *{stroke:none!important}.shadow-layer.floor{opacity:.13}.shadow-layer.ground{opacity:.11}.shadow-layer.far{opacity:.1}.dark .shadow-layer.floor,.dark .shadow-layer.ground{opacity:.3}.dark .shadow-layer.far{opacity:.4}.floor-line{stroke-width:calc(1px * var(--ls,1))}.floor-text{opacity:.55}.billboard{pointer-events:none;transition:opacity .4s}.world:not(.lvl-world) .lbl-site,.lbl-bld{opacity:0}.lvl-site .site.focus .lbl-bld{opacity:1}.pin-bld{transition:opacity .4s}.world:not(.lvl-world):not(.lvl-site) .pin-bld{opacity:0}.pin-unit{opacity:0;pointer-events:none;transition:opacity .4s}.lvl-building .pin-unit,.lvl-cluster .pin-unit{opacity:1}.unit.focus .pin-unit{opacity:0}.dev-labels{animation:.5s .3s both fadeIn}.bb-dot{fill:var(--st)}.pin{pointer-events:none}.pin-dot{fill:var(--st);stroke:var(--pin-stroke);stroke-width:calc(1.5px * var(--ls,1))}.pin-shine{fill:#fff;opacity:.45}.pin-stem{stroke:var(--st);stroke-width:calc(1.2px * var(--ls,1));opacity:.55}.pin-ring{fill:none;stroke:var(--st);stroke-width:calc(2px * var(--ls,1));transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite ring}.led-core{fill:var(--led);stroke:none!important}.led-halo{fill:var(--led);opacity:var(--halo-opacity);stroke:none!important}.led.st-unknown .led-halo,.led.st-paused .led-halo{opacity:0}.led.st-down .led-core,.led.st-down .led-halo{animation:.9s steps(2,jump-none) infinite blink}.led.st-pending .led-core{animation:1.6s ease-in-out infinite blink}.strip-core{fill:var(--led)}.strip-glow{fill:var(--led);opacity:var(--halo-opacity)}.strip.st-down .strip-core,.strip.st-down .strip-glow{animation:1s ease-in-out infinite blink}.blink{stroke:none!important}.blink.act{fill:var(--led-up)}.blink.idle{fill:var(--led-off)}.lvl-rack .blink.act,.lvl-machine .blink.act{animation-name:flicker;animation-timing-function:steps(2,jump-none);animation-iteration-count:infinite}.blink.soft{opacity:.7}.bat{fill:#3a8fa2}.bat.on{fill:#8fe3ee}.blink-slow{animation:2.4s ease-in-out infinite blink}.screen .scr{fill:var(--scr-off);transition:fill .4s;stroke:none!important}.screen .scr-line,.screen .scr-block,.screen .scr-alert{opacity:0;stroke:none!important}.screen.st-up .scr,.screen.st-degraded .scr{fill:var(--scr-on)}.screen.st-up .scr-line,.screen.st-degraded .scr-line{fill:#fff;opacity:.55}.screen.st-up .scr-block,.screen.st-degraded .scr-block{fill:#fff;opacity:.22}.screen.st-up .scr-block.b2{opacity:.12}.screen.st-down .scr{fill:#3b1a22}.screen.st-down .scr-alert{fill:var(--down);opacity:1;animation:1s ease-in-out infinite blink}.screen.st-pending .scr,.screen.st-maintenance .scr{fill:#33406a}.screen.st-maintenance .scr-line{fill:var(--maintenance);opacity:.9}.wifi-arc{fill:none;stroke:var(--led);stroke-width:calc(1.4px * var(--ls,1));opacity:0}.wifi.st-up .wifi-arc{animation:2.4s ease-out infinite wifi}.dev-alarm{fill:var(--down);pointer-events:none;animation:1.2s ease-in-out infinite alarm;stroke:none!important}.dev-focus{fill:none;stroke:var(--select)!important;stroke-width:2px!important}.alarm-glow{fill:var(--down);animation:1.4s ease-in-out infinite alarm;stroke:none!important}.sel-outline{fill:var(--select-fill);stroke-dasharray:6 4;pointer-events:none;animation:.9s linear infinite dash;stroke:var(--select)!important;stroke-width:2px!important}.fan-spin{animation:1.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.smoke circle{fill:var(--smoke);opacity:0;transform-box:fill-box;transform-origin:50%;animation:4s ease-out infinite smoke}.lamp-glow{opacity:var(--lamp-opacity)}.holo{animation:.6s .35s both fadeIn}.holo-beam{stroke:var(--holo);stroke-width:10px;stroke-linecap:round;opacity:.18;vector-effect:non-scaling-stroke;animation:2.4s ease-in-out infinite beam}.plate{animation:5s ease-in-out infinite bob}.plate-fill{vector-effect:non-scaling-stroke;stroke-width:1.6px!important}.plate-grid{stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:3 4;opacity:.35}.chip,.guest{cursor:pointer}.chip-lift{transition:transform .25s cubic-bezier(.2,.8,.2,1)}.chip:hover .chip-lift,.guest:hover .chip-lift,.chip.selected .chip-lift,.guest.selected .chip-lift{transform:translateY(calc(var(--lift) * .9))}.chip-shadow{fill:var(--holo);opacity:.18}.chip-body .c-t{fill:var(--chip-top)}.chip-body .c-l{fill:var(--chip-left)}.chip-body .c-r{fill:var(--chip-right)}.chip-led .c-t,.mini .c-t{fill:var(--led)}.chip-led .c-l,.chip-led .c-r,.mini .c-l,.mini .c-r{fill:var(--led);opacity:.7}.chip.st-unknown .chip-led .c-t,.mini.st-unknown .c-t{fill:var(--led-off)}.chip-ring{fill:none;stroke:var(--st);stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite ring}.chip.selected .chip-ring,.guest.selected .chip-ring{stroke:var(--select);stroke-dasharray:4 3;animation:none}.chip-label{fill:var(--text);paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;stroke-linejoin:round;font-weight:600}.guest-box polygon{vector-effect:non-scaling-stroke;stroke-dasharray:4 3;stroke-width:1.2px!important}.guest-kind{opacity:.7;font-weight:700}.cluster-links{pointer-events:none;animation:.6s .4s both fadeIn}.cluster-links .link{fill:none;stroke:currentColor;stroke-linecap:round;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;opacity:.9;animation:.9s linear infinite dash}.member-pulse{fill:none;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite ring}.member-halo{fill:currentColor;opacity:.35}.member-dot{stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;fill:var(--st)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.2}}@keyframes ring{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(2.3)}}@keyframes alarm{0%,to{opacity:.08}50%{opacity:.55}}@keyframes dash{to{stroke-dashoffset:-20px}}@keyframes smoke{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:.55}to{opacity:0;transform:translate(18px,-60px)scale(2.2)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--lift) * .5))}}@keyframes beam{0%,to{opacity:.14}50%{opacity:.3}}@keyframes wifi{0%{opacity:0}30%{opacity:.9}to{opacity:0}}@media (prefers-reduced-motion:reduce){.world *,.world{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}.muted{color:var(--text-2)}.small{font-size:12px}.pad{padding:12px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}code,.mono{font-family:var(--mono);font-size:12px}kbd{font-family:var(--font);color:var(--text-3);border:1px solid var(--line);background:var(--input);border-radius:5px;align-items:center;gap:1px;padding:1px 5px;font-size:10.5px;display:inline-flex}.dot{background:var(--st);width:9px;height:9px;box-shadow:0 0 0 2px color-mix(in srgb, var(--st) 22%, transparent);border-radius:50%;flex:none;display:inline-block;position:relative}.dot.pulse:after{content:"";border:2px solid var(--st);border-radius:50%;animation:1.5s ease-out infinite dotpulse;position:absolute;inset:-3px}@keyframes dotpulse{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}.dot-spacer{flex:none;width:9px}.pill{color:color-mix(in srgb, var(--st) 75%, var(--text));background:color-mix(in srgb, var(--st) 14%, transparent);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;display:inline-flex}.pill .dot{width:7px;height:7px;box-shadow:none}.counts{align-items:center;gap:8px;display:inline-flex}.count{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.count .dot{width:7px;height:7px;box-shadow:none}.swatch{vertical-align:-1px;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.swatch.lg{border-radius:6px;width:18px;height:18px}.tag{letter-spacing:.02em;color:var(--text-2);background:var(--input);border-radius:5px;flex:none;padding:1px 6px;font-size:10.5px;font-weight:600}.btn{border:1px solid var(--line);background:var(--panel-solid);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 70%, transparent)}.btn.primary:hover:not(:disabled){background:var(--accent-2)}.btn.danger{color:var(--down)}.btn.danger.armed{background:var(--down);color:#fff;border-color:var(--down)}.btn.sm{border-radius:9px;height:30px;padding:0 10px;font-size:12.5px}.btn.block{width:100%}.icon-btn{width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.link:hover{text-decoration:underline}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.topbar{pointer-events:none;z-index:20;justify-content:space-between;gap:12px;display:flex;position:fixed;top:12px;left:12px;right:12px}.topbar>*{pointer-events:auto}.tb-left,.tb-right{border-radius:16px;align-items:center;gap:6px;min-width:0;height:50px;padding:0 8px;display:flex}.tb-left{flex:0 auto;overflow:hidden}.brand{cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:9px;padding:4px 8px 4px 4px;display:flex}.brand-name{letter-spacing:-.01em;font-size:15px;font-weight:700}.logo-led{fill:var(--led-up);animation:2.4s ease-in-out infinite blink}.crumbs{border-left:1px solid var(--line);align-items:center;gap:2px;min-width:0;padding-left:6px;display:flex;overflow:hidden}.crumb-wrap{align-items:center;min-width:0;display:inline-flex}.crumb{cursor:pointer;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;max-width:180px;padding:5px 8px;font-weight:500;display:inline-flex;overflow:hidden}.crumb:hover{background:var(--hover);color:var(--text)}.crumb.current{color:var(--text);font-weight:650}.crumb-sep{color:var(--text-3);flex:none}.tb-health{padding:0 8px}.tb-search{border:1px solid var(--line);background:var(--input);height:34px;color:var(--text-2);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-width:160px;padding:0 8px 0 11px;display:flex}.tb-search span{text-align:left;flex:1}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.info{background:color-mix(in srgb, var(--maintenance) 14%, transparent);color:var(--maintenance)}.badge.warn{background:color-mix(in srgb, var(--pending) 16%, transparent);color:color-mix(in srgb, var(--pending) 70%, var(--text))}.badge.save{color:var(--text-2);background:var(--input)}.badge.save.error,.badge.save.conflict{color:var(--down)}.badge.save.saved{color:var(--up)}.panel{z-index:15;border-radius:20px;flex-direction:column;width:390px;animation:.35s cubic-bezier(.2,.8,.2,1) panelIn;display:flex;position:fixed;top:74px;bottom:12px;right:12px;overflow:hidden}@keyframes panelIn{0%{opacity:0;transform:translate(20px)}}.panel.editing{box-shadow:var(--panel-shadow), 0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent)}.panel-close{z-index:2;position:absolute;top:10px;right:10px}.panel-tab{cursor:pointer;z-index:15;width:42px;height:42px;color:var(--text-2);border-radius:12px;place-items:center;display:grid;position:fixed;top:74px;right:12px}.panel-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:18px 18px 28px;overflow-y:auto}.phead{align-items:flex-start;gap:12px;margin-bottom:14px;padding-right:34px;display:flex}.phead-icon{background:var(--active);width:38px;height:38px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.phead-icon.sm{border-radius:10px;width:32px;height:32px}.phead-main{flex:1;min-width:0}.phead h2{letter-spacing:-.015em;word-break:break-word;margin:1px 0 4px;font-size:19px;line-height:1.2}.phead .pill{margin-top:2px}.kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.head-counts{flex-wrap:wrap;gap:6px 16px;margin-top:6px;display:flex}.backlink{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:0 0 10px;font-weight:600;display:inline-flex}.section{margin-top:18px}.section>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:7px;margin:0;font-size:12px;font-weight:650;display:flex}.rows{flex-direction:column;gap:2px;display:flex}.row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 9px;transition:background .12s;display:flex}.row:disabled{cursor:default}.row:hover:not(:disabled){background:var(--hover)}.row.active{background:var(--active)}.row-icon{color:var(--text-2);flex:none;place-items:center;display:grid}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row-sub{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.row-chev{color:var(--text-3);flex:none}.nested{border-left:1.5px dashed var(--line);margin-left:22px;padding-left:6px}.allgood{background:color-mix(in srgb, var(--up) 10%, transparent);color:color-mix(in srgb, var(--up) 70%, var(--text));border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.empty-note{color:var(--text-3);padding:8px 2px;font-size:13px}.note{background:var(--input);color:var(--text-2);border-radius:12px;margin-bottom:6px;padding:10px 12px;font-size:13px}.notes{white-space:pre-wrap;color:var(--text-2);margin:8px 0 0}.source-line{align-items:center;gap:8px;margin-bottom:4px;font-weight:600;display:flex}.kv{grid-template-columns:1fr;gap:0;margin:0;display:grid}.kv>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 2px;display:flex}.kv dt{color:var(--text-2)}.kv dd{text-align:right;word-break:break-all;margin:0;font-weight:550}.skeleton{background:linear-gradient(90deg, var(--input), var(--hover), var(--input));background-size:200% 100%;border-radius:10px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.moncard{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 60%, transparent);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.moncard-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.moncard-head>div{min-width:0}.moncard-name{font-weight:650}.moncard-head .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbbar{gap:2px;height:22px;display:grid}.hb{background:var(--st);border-radius:3px;transition:transform .12s}.hb:hover{transform:scaleY(1.25)}.hb.empty{background:var(--input)}.stats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stats>div{background:var(--input);border-radius:10px;flex-direction:column;gap:1px;padding:7px 8px;display:flex}.stats b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px}.spark-head{justify-content:space-between;align-items:center;display:flex}.spark{width:100%;height:56px;display:block}.spark.empty{place-items:center;height:40px;display:grid}.spark-line{fill:none;stroke:var(--accent);stroke-width:1.6px}.spark-fill{fill:color-mix(in srgb, var(--accent) 14%, transparent)}.spark-down{fill:color-mix(in srgb, var(--down) 25%, transparent)}.msg{font-family:var(--mono);color:color-mix(in srgb, var(--st) 70%, var(--text));background:color-mix(in srgb, var(--st) 10%, transparent);word-break:break-word;border-radius:10px;padding:8px 10px;font-size:12px}.moncard-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.moncard-foot .link{margin-left:auto}.cert{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.cert.ok{color:var(--up)}.cert.warn{color:var(--pending)}.events{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.events li{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:8px 2px;font-size:13px;display:grid}.events li .dot{margin-top:5px}.events li>div{min-width:0}.events time{white-space:nowrap}.elev{background:#2a3450;border-radius:14px;flex-direction:column;gap:3px;padding:8px;display:flex}:root[data-theme=dark] .elev{background:#111727}.elev-dev,.elev-free{text-align:left;color:#e6ecf7;border:none;border-radius:7px;align-items:center;gap:9px;padding:5px 9px;display:flex}.elev-dev{cursor:pointer;background:#56668e;transition:transform .15s,background .15s}.elev-dev:hover{background:#6477a3;transform:translate(-4px)}.elev-dev .row-sub{color:#c7d2e6}.elev-dev .row-chev{color:#aab6cf}.elev-dev.t-blank,.elev-dev.t-patch-panel{background:#39476a}.elev-free{color:#8a97b5;border:1px dashed #4b5b82;min-height:26px;font-size:12px}.elev .u{font-family:var(--mono);color:#aab6cf;flex:none;width:48px;font-size:10.5px}.elev-free .muted{color:#8a97b5}.quorum{flex-direction:column;gap:5px;margin-top:6px;display:flex}.quorum-bar{gap:4px;display:flex}.quorum-bar .q{background:var(--st);border-radius:4px;flex:1;max-width:44px;height:8px}.form{flex-direction:column;gap:12px;display:flex}.form-head{align-items:center;gap:10px;padding-right:34px;display:flex}.form-title{letter-spacing:-.01em;font-size:17px;font-weight:700}.form-actions{gap:8px;display:flex}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:12px;font-weight:600}.field-hint{color:var(--text-3);font-size:11.5px}.field-error,.form-error{color:var(--down);font-size:12px;font-weight:600}.input{border:1px solid var(--line);background:var(--input);border-radius:10px;outline:none;width:100%;min-width:0;height:36px;padding:0 11px;transition:border-color .15s,box-shadow .15s,background .15s}textarea.input{resize:vertical;height:auto;padding:9px 11px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);background:var(--panel-solid)}.has-error .input{border-color:var(--down)}.input.num{font-variant-numeric:tabular-nums}.select-wrap{flex:1;min-width:0;position:relative}.select-wrap select{appearance:none;cursor:pointer;padding-right:30px}.select-chev{pointer-events:none;color:var(--text-3);position:absolute;top:11px;right:10px}.seg{background:var(--input);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-2);white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.seg button.on{background:var(--panel-solid);color:var(--text);box-shadow:0 1px 3px #0000001f}.seg.small button{padding:2px 8px;font-size:11.5px}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.group{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;min-width:0;margin:0;padding:12px;display:flex}.group legend{letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;padding:0 6px;font-size:11px;font-weight:650;display:flex}.add-line{align-items:center;gap:8px;display:flex}.danger-zone{border-top:1px dashed var(--line);padding-top:6px}.check{cursor:pointer;align-items:center;gap:9px;padding:4px 0;display:flex}.check input{accent-color:var(--accent);flex:none;width:16px;height:16px}.u-badge{font-family:var(--mono);color:var(--text-2);background:var(--input);border-radius:6px;flex:none;padding:2px 6px;font-size:11px}.svc-editor,.guest-editor{flex-direction:column;gap:8px;display:flex}.svc-row{background:var(--input);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex}.svc-row-top{gap:6px;display:flex}.svc-row .input{background:var(--panel-solid)}.guest-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.guest-card-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:9px 10px;display:flex}.guest-card-head .row-title{flex:1}.guest-card-body{flex-direction:column;gap:10px;padding:4px 10px 12px;display:flex}.member-list{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;box-shadow:inset 0 0 0 2px #ffffff59}.swatch-btn.on{border-color:var(--text)}.mpick{flex-direction:column;gap:6px;min-width:0;display:flex}.mpick-row{gap:4px;min-width:0;display:flex}.mpick-btn{cursor:pointer;text-align:left;align-items:center;gap:8px;display:flex}.mpick-btn .ellipsis,.mpick-btn .muted{flex:1}.mpick-chev{color:var(--text-3);flex:none}.suggest{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-btn{border:1px dashed color-mix(in srgb, var(--accent) 50%, var(--line));background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-btn .dot{width:7px;height:7px;box-shadow:none}.menu-backdrop{z-index:60;position:fixed;inset:0}.menu{background:var(--panel-solid);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:14px;flex-direction:column;max-height:340px;animation:.14s ease-out pop;display:flex;position:fixed;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.menu-search{border-bottom:1px solid var(--line);color:var(--text-3);align-items:center;gap:8px;padding:10px 12px;display:flex}.menu-search input{background:0 0;border:none;outline:none;flex:1;min-width:0}.menu-search.boxed{border:1px solid var(--line);background:var(--input);border-radius:10px;padding:8px 11px}.menu-list{padding:5px;overflow-y:auto}.menu-list.tall{min-height:200px;max-height:50vh}.menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;width:100%;padding:7px 9px;display:flex}.menu-item:hover,.menu-item.hi{background:var(--hover)}.menu-item .dot{width:8px;height:8px;box-shadow:none}.menu-main{flex-direction:column;flex:1;min-width:0;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#0f162659;place-items:center;padding:16px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.modal-backdrop.top{place-items:start center;padding-top:12vh}.modal{background:var(--panel-solid);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:20px;flex-direction:column;gap:12px;width:min(460px,100%);max-height:calc(100vh - 32px);padding:18px;animation:.18s ease-out pop;display:flex;overflow:auto}.modal.wide{width:min(880px,100%)}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.modal-foot{justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-foot .muted{margin-right:auto}.settings{flex-direction:column;display:flex}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.history{border:1px solid var(--line);border-radius:12px;max-height:240px;margin:8px 0;overflow:auto}.history-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 10px;display:flex}.history-row .muted{flex:1}.about{padding-top:14px}.clusters{grid-template-columns:240px 1fr;gap:18px;min-height:420px;display:grid}.clusters-list{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding-right:14px;display:flex}.clusters-form .form-head{padding-right:0}.login-form{flex-direction:column;gap:12px;display:flex}.search{background:var(--panel-solid);border-radius:20px;width:min(640px,100%);animation:.16s ease-out pop;overflow:hidden}.search-input{border-bottom:1px solid var(--line);color:var(--text-3);align-items:center;gap:12px;padding:16px 18px;display:flex}.search-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-results{max-height:55vh;padding:6px;overflow-y:auto}.search-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:9px 12px;display:flex}.search-row.hi{background:var(--active)}.tooltip{z-index:40;pointer-events:none;border-radius:14px;flex-direction:column;gap:6px;min-width:190px;max-width:300px;padding:10px 12px;animation:.12s ease-out pop;display:flex;position:fixed}.tt-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tt-title{font-weight:700}.toasts{z-index:45;flex-direction:column;gap:8px;width:min(360px,100vw - 24px);display:flex;position:fixed;bottom:12px;left:12px}.toast{cursor:default;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 8px 10px 0;animation:.3s cubic-bezier(.2,.8,.2,1) toastIn;display:flex;overflow:hidden}.toast[role=button]{cursor:pointer}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}.toast-bar{background:var(--st);border-radius:0 4px 4px 0;align-self:stretch;width:4px}.toast-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.toast-body .btn{align-self:flex-start;margin-top:4px}.toast-title{font-weight:650}.zoom{z-index:14;border-radius:14px;flex-direction:column;padding:4px;display:flex;position:fixed;bottom:12px;left:12px}:is(.toasts~.zoom,.app:has(.toast) .zoom){display:none}.loading-screen,.fatal,.login-screen{background:radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--panel-solid) 60%, var(--bg)), var(--bg));place-items:center;display:grid;position:fixed;inset:0}.fatal{text-align:center;align-content:center;gap:8px}.loader{background:#7084ae;border-radius:12px;width:42px;height:42px;animation:1.2s cubic-bezier(.6,0,.4,1) infinite loaderSpin;box-shadow:14px 14px 0 -6px #93a5cc}@keyframes loaderSpin{0%{transform:rotate(45deg)scale(.9)}50%{transform:rotate(225deg)scale(1)}to{transform:rotate(405deg)scale(.9)}}.login-card{text-align:center;border-radius:24px;flex-direction:column;align-items:stretch;width:min(360px,100vw - 32px);padding:28px;display:flex}.login-card svg{align-self:center}.login-card h1{margin:12px 0 2px;font-size:22px}.login-card p{margin:0 0 18px}.login-card .login-form{text-align:left}.empty-world{text-align:center;z-index:10;border-radius:22px;flex-direction:column;align-items:center;gap:6px;width:min(380px,100vw - 32px);padding:26px;display:flex;position:fixed;top:50%;left:50%;transform:translate(calc(-50% - 200px),-50%)}.empty-world h2{margin:8px 0 0}.empty-world p{margin:0 0 10px}@media (width<=760px){.topbar{gap:6px;top:8px;left:8px;right:8px}.tb-left,.tb-right{border-radius:14px;height:46px;padding:0 4px}.brand-name,.hide-sm,.tb-health,.tb-search span,.tb-search kbd{display:none}.tb-search{justify-content:center;width:34px;min-width:0;padding:0}.crumb{max-width:110px;padding:5px}.crumbs .crumb-wrap:not(:last-child),.crumbs .crumb-wrap:last-child .crumb-sep{display:none}.panel.sheet{border-radius:20px;width:auto;transition:height .35s cubic-bezier(.2,.8,.2,1);animation:none;inset:auto 8px 8px}.panel.sheet.peek{height:142px}.panel.sheet.half{height:50vh}.panel.sheet.full{height:calc(100vh - 80px)}.sheet-handle{cursor:grab;touch-action:none;flex:none;place-items:center;height:22px;display:grid}.sheet-handle span{background:var(--text-3);opacity:.5;border-radius:3px;width:42px;height:5px}.panel-scroll{padding-top:2px}.phead{padding-right:0}.toasts{top:64px;bottom:auto}.empty-world{transform:translate(-50%,-70%)}.clusters{grid-template-columns:1fr}.clusters-list{border-right:none;padding-right:0}.stats{grid-template-columns:repeat(2,1fr)}}
