.expr-page{padding:2px 2px 0}.expr-page .expr-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.expr-page .expr-head h3{color:var(--ink-1);letter-spacing:-.01em;margin:0 0 5px;font-size:15px;font-weight:650}.expr-page .expr-head p{color:var(--ink-3);max-width:640px;margin:0;font-size:12.5px;line-height:1.55}.expr-page .expr-mode{flex-direction:column;flex:none;align-items:flex-end;display:flex}.expr-page .expr-ns-hint{color:var(--ink-4);letter-spacing:.02em;font-variant:small-caps;margin-top:8px;font-size:10.5px}.expr-page .pv-ns{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-4);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:10px;padding:1px 7px;font-size:9.5px}.expr-page .expr-seg{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex;position:relative}.expr-page .expr-seg button{height:30px;color:var(--ink-3);z-index:1;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:600;transition:color .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.expr-page .expr-seg button.active{color:var(--ink-1)}.expr-page .expr-seg .expr-seg-thumb{background:var(--bg-0);box-shadow:0 1px 2px #00000059, 0 0 0 1px var(--line);border-radius:999px;transition:left .34s cubic-bezier(.34,1.56,.64,1),width .34s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;bottom:3px}.expr-page .expr-seg button svg{width:13px;height:13px}.expr-page .expr-list{flex-direction:column;gap:14px;display:flex}.expr-page .expr-row{background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:12px;grid-template-columns:20px 120px 206px minmax(0,1fr) 58px;align-items:start;gap:14px;padding:16px 16px 14px;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1);animation:.3s cubic-bezier(.16,1,.3,1) both expr-row-in;display:grid;position:relative}.expr-page .expr-row:hover{background:color-mix(in srgb, var(--bg-1) 92%, var(--bg-2));box-shadow:0 6px 18px #0000002e}.expr-page .expr-row.is-valid{border-left-color:var(--brand)}.expr-page .expr-row.is-error{border-left-color:var(--err,#f87171)}.expr-page .expr-row.is-empty{border-left-color:var(--line-2)}.expr-page .expr-row.dragging{opacity:.45}.expr-page .expr-row.drop-before{box-shadow:0 -3px 0 -1px var(--brand)}.expr-page .expr-row.drop-after{box-shadow:0 3px 0 -1px var(--brand)}@keyframes expr-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.expr-page .expr-row.removing{pointer-events:none;animation:.24s cubic-bezier(.16,1,.3,1) forwards expr-row-out}@keyframes expr-row-out{to{opacity:0;transform:translateY(-4px)scale(.99)}}.expr-page .exr-f{flex-direction:column;min-width:0;display:flex;position:relative}.expr-page .exr-f>label{z-index:3;letter-spacing:.02em;color:var(--ink-3);background:var(--bg-1);pointer-events:none;padding:0 5px;font-size:10px;transition:color .2s cubic-bezier(.16,1,.3,1);position:absolute;top:-7px;left:9px}.expr-page .exr-f.focus>label{color:var(--brand)}.expr-page .exr-f.error>label{color:var(--err,#f87171)}.expr-page .exr-f input:not(.expr-in){border:1px solid var(--line);background:var(--bg-1);height:42px;color:var(--ink-1);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 13px;font-family:inherit;font-size:13px;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.expr-page .exr-f input:not(.expr-in):focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.expr-page .exr-name input{color:var(--ink-3);background:var(--bg-2);cursor:default;font-variant-numeric:tabular-nums;letter-spacing:.01em}.expr-page .exr-name input:focus{border-color:var(--line);box-shadow:none}.expr-page .exr-f.error input{border-color:var(--err,#f87171)}.expr-page .exr-f.error input:focus{box-shadow:0 0 0 3px #f8717124}.expr-page .exr-msg{color:var(--err,#f87171);min-height:13px;margin:7px 3px 0;font-size:11px;line-height:1.45}.expr-page .exr-msg.preview{color:var(--ink-2)}.expr-page .exr-msg .pv-eq{color:var(--ink-4);margin-right:5px}.expr-page .exr-msg .pv-val{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:600}.expr-page .exr-msg .pv-fn{color:var(--ink-3)}.expr-page .expr-ed{border:1px solid var(--line);background:var(--bg-1);border-radius:8px;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);position:relative}.expr-page .expr-ed.focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft)}.expr-page .exr-f.error .expr-ed{border-color:var(--err,#f87171)}.expr-page .exr-f.error .expr-ed.focus{box-shadow:0 0 0 3px #f8717124}.expr-page .expr-hl,.expr-page .expr-in{letter-spacing:0;white-space:pre;box-sizing:border-box;tab-size:2;height:42px;padding:10px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:22px}.expr-page .expr-hl{color:var(--ink-1);pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.expr-page .expr-in{z-index:2;color:#0000;width:100%;caret-color:var(--ink-1);background:0 0;border:0;outline:0;display:block;position:relative;overflow:auto hidden}.expr-page .expr-in::selection{background:#4ade8061}.expr-page .expr-in::placeholder{color:var(--ink-4)}.expr-page .expr-hl .tk-param{color:var(--brand);text-underline-offset:3px;-webkit-text-decoration:underline #4ade8099;text-decoration:underline #4ade8099;text-decoration-thickness:1.5px}.expr-page .expr-hl .tk-ref{color:var(--info,#60a5fa);text-underline-offset:3px;-webkit-text-decoration:underline #60a5fa8c;text-decoration:underline #60a5fa8c;text-decoration-thickness:1.5px}.expr-page .expr-hl .tk-fn{color:#c792ea}.expr-page .expr-hl .tk-num{color:#e6b450}.expr-page .expr-hl .tk-op{color:var(--ink-3)}.expr-page .expr-hl .tk-paren{color:var(--ink-2)}.expr-page .expr-hl .tk-bad{color:var(--err,#f87171);-webkit-text-decoration:underline wavy var(--err,#f87171);text-decoration:underline wavy var(--err,#f87171);text-underline-offset:3px}.expr-sg{z-index:9999;background:var(--bg-1);border:1px solid var(--line-2);border-radius:10px;width:320px;max-height:264px;padding:6px;animation:.13s cubic-bezier(.16,1,.3,1) both expr-sg-in;position:fixed;top:0;left:0;overflow:hidden auto;box-shadow:0 16px 44px #00000073,0 4px 12px #00000052}@keyframes expr-sg-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.expr-sg .sg-head{border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;padding:4px 8px 7px;font-size:10px;display:flex}.expr-sg .sg-head kbd{background:var(--bg-3);border:1px solid var(--line);color:var(--ink-3);letter-spacing:0;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:9.5px}.expr-sg .sg-empty{color:var(--ink-3);text-align:center;padding:14px 11px;font-size:12px}.expr-sg .sg-item{cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative}.expr-sg .sg-item.active{box-shadow:inset 3px 0 0 var(--brand);background:#4ade8026}.expr-sg .sg-item.active .sg-id,.expr-sg .sg-item.active .sg-lbl{color:var(--ink-1)}.expr-sg .sg-tag{background:var(--bg-3);width:22px;height:18px;color:var(--ink-2);letter-spacing:.02em;border-radius:5px;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.expr-sg .sg-item[data-kind=param] .sg-tag{color:var(--brand);background:#4ade8029}.expr-sg .sg-item[data-kind=ref] .sg-tag{color:var(--info,#60a5fa);background:#60a5fa2e}.expr-sg .sg-item[data-kind=expr] .sg-tag{color:#a78bfa;background:#a78bfa2e}.expr-sg .sg-id{color:var(--ink-1);flex:none;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;font-weight:600}.expr-sg .sg-id mark,.expr-sg .sg-lbl mark{color:var(--brand);background:#4ade8038;border-radius:2px;padding:0 1px;font-weight:700}.expr-sg .sg-lbl{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.expr-sg .sg-lbl mark{color:var(--ink-1);background:#e6edf51f}.expr-sg .sg-unit{color:var(--ink-4);font-variant-numeric:tabular-nums;background:var(--bg-2);border-radius:4px;flex:none;padding:1px 6px;font-size:10.5px}.expr-sg .sg-check{color:var(--brand);opacity:0;flex:none;width:15px;height:15px}.expr-sg .sg-item.active .sg-check{opacity:1}.expr-page .exr-del{align-self:center;margin-top:5px}.expr-page .expr-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.expr-page .expr-add{background:var(--brand);height:40px;color:var(--brand-ink,#052e16);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 17px;font-family:inherit;font-size:12.5px;font-weight:600;transition:filter .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 10px #4ade8038}.expr-page .expr-add:hover{filter:brightness(1.07);box-shadow:0 4px 16px #4ade804d}.expr-page .expr-add svg{width:15px;height:15px}.expr-page .expr-save{cursor:not-allowed;border:1px solid var(--line);background:var(--bg-2);height:40px;color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.expr-page .expr-save.dirty{cursor:pointer;background:var(--brand);color:var(--brand-ink,#052e16);border-color:#0000;box-shadow:0 2px 12px #4ade803d}.expr-page .expr-save.dirty:hover{filter:brightness(1.07)}.expr-page .expr-save svg{width:14px;height:14px}.expr-page .expr-empty{text-align:center;color:var(--ink-3);border:1px dashed var(--line-2);border-radius:12px;padding:40px 20px;font-size:13px}.expr-page .expr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.expr-page .expr-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expr-page .expr-stat{border:1px solid var(--line);background:var(--bg-1);height:30px;color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;display:inline-flex}.expr-page .expr-stat b{color:var(--ink-1);font-weight:650}.expr-page .expr-stat .dot{background:var(--ink-4);border-radius:50%;width:7px;height:7px}.expr-page .expr-stat.ok .dot{background:#4ade80}.expr-page .expr-stat.ok b{color:#34d399}.expr-page .expr-stat.err .dot{background:var(--err,#f87171)}.expr-page .expr-stat.err b{color:var(--err,#f87171)}.expr-page .expr-stat.err{border-color:#f8717152}.expr-page .expr-tools{align-items:center;gap:9px;display:flex}.expr-page .expr-tbtn{border:1px solid var(--line);background:var(--bg-1);height:34px;color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-family:inherit;font-size:12px;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.expr-page .expr-tbtn:hover{background:var(--bg-2);color:var(--ink-1);border-color:var(--line-2)}.expr-page .expr-tbtn.active{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}.expr-page .expr-tbtn svg{width:14px;height:14px}.expr-page .expr-tbtn .fx{font-family:ui-monospace,Menlo,monospace;font-size:13px;font-style:italic;font-weight:700}.expr-page .exr-grip{width:20px;height:30px;color:var(--ink-4);cursor:grab;opacity:.5;background:0 0;border:0;border-radius:5px;justify-content:center;align-self:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:flex}.expr-page .expr-row:hover .exr-grip{opacity:1}.expr-page .exr-grip:hover{color:var(--ink-2);background:var(--bg-2)}.expr-page .exr-grip:active{cursor:grabbing}.expr-page .exr-actions{justify-content:flex-end;align-self:center;align-items:center;gap:4px;display:flex}.expr-page .exr-actions .iconbtn{border:1px solid var(--line);background:var(--bg-1);width:28px;height:28px;color:var(--ink-3);cursor:pointer;opacity:.6;border-radius:7px;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s,border-color .15s;display:inline-flex}.expr-page .expr-row:hover .exr-actions .iconbtn{opacity:1}.expr-page .exr-actions .iconbtn:hover{background:var(--bg-2);color:var(--ink-1);border-color:var(--line-2)}.expr-page .exr-actions .iconbtn.danger:hover{color:var(--err,#f87171);background:#f8717114;border-color:#f871716b}.expr-page .exr-deps{flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;display:flex}.expr-page .dep-chip{border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;max-width:230px;height:21px;padding:0 8px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;display:inline-flex}.expr-page .dep-chip .dep-lbl{color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;font-family:inherit;overflow:hidden}.expr-page .dep-chip.param{border-color:var(--brand-line);color:var(--brand);background:#4ade801a}.expr-page .dep-chip.ref{color:var(--info,#60a5fa);background:#60a5fa1f;border-color:#60a5fa52}.expr-page .dep-chip .dep-u{color:var(--ink-4);font-size:9.5px}.expr-page .exr-deps .dep-feeds{color:var(--ink-4);margin-left:2px;font-size:10.5px}.expr-page .exr-deps .dep-feeds b{color:var(--ink-3);font-weight:600}.fn-pop{z-index:9998;background:var(--bg-1);border:1px solid var(--line-2);border-radius:10px;width:330px;max-height:380px;padding:7px;animation:.14s cubic-bezier(.16,1,.3,1) both expr-sg-in;position:fixed;overflow:auto;box-shadow:0 16px 44px #00000073,0 4px 12px #00000052}.fn-pop .fn-search{border:1px solid var(--line);background:var(--bg-0);width:100%;height:32px;color:var(--ink-1);box-sizing:border-box;border-radius:7px;margin-bottom:6px;padding:0 11px;font-family:inherit;font-size:12.5px}.fn-pop .fn-search:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.fn-pop .fn-cat{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);padding:8px 9px 4px;font-size:9.5px}.fn-pop .fn-item{cursor:pointer;border-radius:7px;align-items:baseline;gap:9px;padding:7px 9px;display:flex}.fn-pop .fn-item:hover,.fn-pop .fn-item.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.fn-pop .fn-sig{color:var(--brand);flex:none;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;font-weight:600}.fn-pop .fn-desc{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11.5px;overflow:hidden}.fn-pop .fn-empty{text-align:center;color:var(--ink-3);padding:14px;font-size:12px}.try-scrim{z-index:9990;opacity:0;pointer-events:none;background:#04080c80;transition:opacity .25s cubic-bezier(.16,1,.3,1);position:fixed;inset:0}.try-scrim.open{opacity:1;pointer-events:auto}.try-panel{z-index:9991;background:var(--bg-1);border-left:1px solid var(--line-2);flex-direction:column;width:420px;max-width:92vw;height:100vh;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;top:0;right:0;transform:translate(102%);box-shadow:0 16px 44px #00000073,0 4px 12px #00000052}.try-panel.open{transform:none}.try-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.try-head h4{color:var(--ink-1);margin:0 0 3px;font-size:14px;font-weight:650}.try-head p{color:var(--ink-3);margin:0;font-size:11.5px;line-height:1.45}.try-close{border:1px solid var(--line);background:var(--bg-2);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.try-close:hover{color:var(--ink-1);background:var(--bg-3)}.try-body{flex:auto;padding:16px 20px;overflow:auto}.try-sec{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin:4px 0 10px;font-size:10px}.try-in{grid-template-columns:1fr 96px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.try-in .ti-meta{min-width:0}.try-in .ti-id{color:var(--brand);font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:600}.try-in .ti-lbl{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.try-in input{border:1px solid var(--line);background:var(--bg-0);height:34px;color:var(--ink-1);font-variant-numeric:tabular-nums;text-align:right;box-sizing:border-box;border-radius:7px;padding:0 10px;font-family:inherit;font-size:12.5px}.try-in input:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.try-in .ti-u{color:var(--ink-4);margin-left:5px;font-size:10px}.try-results{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}.try-res{background:var(--bg-0);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.try-res .tr-meta{min-width:0}.try-res .tr-name{color:var(--ink-3);font-family:ui-monospace,Menlo,monospace;font-size:11px}.try-res .tr-disp{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.try-res .tr-val{color:var(--brand);font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:700}.try-res.bad .tr-val{color:var(--err,#f87171);font-size:11px;font-weight:600}.try-foot{border-top:1px solid var(--line);flex:none;gap:10px;padding:14px 20px;display:flex}.try-foot .btn{flex:1}.try-empty{text-align:center;color:var(--ink-3);padding:30px 10px;font-size:12.5px}@media (max-width:980px){.expr-page .expr-row{grid-template-columns:20px 1fr 1fr 58px;gap:12px}.expr-page .expr-row .exr-expr{grid-column:2/-1}}@media (max-width:620px){.expr-page .expr-row{grid-template-columns:1fr;gap:12px}.expr-page .exr-grip{display:none}.expr-page .exr-actions{position:absolute;top:12px;right:12px}}.expr-page .exl-bar{align-items:center;gap:10px;margin:2px 0 12px;display:flex}.expr-page .exl-search{border:1px solid var(--line);background:var(--bg-1);min-width:0;max-width:420px;height:34px;color:var(--ink-3);border-radius:9px;flex:auto;align-items:center;gap:8px;padding:0 10px;transition:border-color .15s,background .15s;display:flex;position:relative}.expr-page .exl-search:focus-within{border-color:var(--brand);background:var(--bg-2)}.expr-page .exl-search input{min-width:0;color:var(--ink-1);background:0 0;border:0;outline:none;flex:auto;font-family:inherit;font-size:12.5px}.expr-page .exl-search input::placeholder{color:var(--ink-4)}.expr-page .exl-search input[type=search]::-webkit-search-cancel-button{display:none}.expr-page .exl-search-x{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.expr-page .exl-search-x:hover{background:var(--bg-3);color:var(--ink-1)}.expr-page .exl-filter{border:1px solid var(--line);background:var(--bg-1);height:34px;color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.expr-page .exl-filter:hover:not(:disabled){border-color:var(--line-2);color:var(--ink-1)}.expr-page .exl-filter.is-on{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b80}.expr-page .exl-filter:disabled{opacity:.55;cursor:default;color:var(--ink-3)}.expr-page .exl-count{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.expr-page .exl-list{flex-direction:column;gap:6px;display:flex}.expr-page .exl-linkbtn{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.expr-page .exl-linkbtn:hover{text-decoration:underline}.expr-page .exl-row{border:1px solid var(--line);background:var(--bg-1);border-radius:10px;transition:border-color .15s,background .15s;position:relative}.expr-page .exl-row:hover{border-color:var(--line-2)}.expr-page .exl-row.is-open{border-color:var(--line-2);background:var(--bg-2)}.expr-page .exl-row.is-dragging{opacity:.45}.expr-page .exl-row.drop-before:before,.expr-page .exl-row.drop-after:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;left:8px;right:8px}.expr-page .exl-row.drop-before:before{top:-4px}.expr-page .exl-row.drop-after:after{bottom:-4px}.expr-page .exl-head{align-items:center;gap:2px;padding:0 8px 0 4px;display:flex}.expr-page .exl-grip{width:22px;height:38px;color:var(--ink-4);cursor:grab;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.expr-page .exl-grip:active{cursor:grabbing}.expr-page .exl-row:hover .exl-grip{color:var(--ink-3)}.expr-page .exl-dot{border-radius:50%;flex:none;width:6px;height:6px;margin-right:8px}.expr-page .exl-dot.is-ok{background:var(--ok,#34d399)}.expr-page .exl-dot.is-error{background:var(--err,#ef4444)}.expr-page .exl-dot.is-draft{background:var(--ink-4)}.expr-page .exl-open{min-width:0;height:38px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:0;display:flex}.expr-page .exl-id{color:var(--ink-2);background:var(--bg-3);border:1px solid var(--line);border-radius:5px;flex:none;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.expr-page .exl-display{text-overflow:ellipsis;white-space:nowrap;max-width:190px;color:var(--ink-1);flex:none;font-size:12.5px;font-weight:600;overflow:hidden}.expr-page .exl-display.is-empty{color:var(--ink-4);font-style:italic;font-weight:500}.expr-page .exl-eq{color:var(--ink-4);flex:none;font-size:12px}.expr-page .exl-formula{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);flex:auto;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow:hidden}.expr-page .exl-formula.is-empty{color:var(--ink-4);font-family:inherit;font-style:italic}.expr-page .exl-spacer{flex:auto;min-width:4px}.expr-page .exl-check{color:var(--ink-3);flex:none;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.expr-page .exl-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.expr-page .exl-badge.is-error{color:var(--err,#ef4444);background:#ef44441f;border:1px solid #ef444459}.expr-page .exl-badge.is-draft{color:var(--ink-3);background:var(--bg-3);border:1px solid var(--line)}.expr-page .exl-chev{color:var(--ink-4);flex:none}.expr-page .exl-row:hover .exl-chev{color:var(--ink-2)}.expr-page .exl-body{border-top:1px solid var(--line);margin-top:-1px;padding:2px 12px 12px 34px}.expr-page .exl-fields{grid-template-columns:220px minmax(0,1fr);gap:12px;padding-top:12px;display:grid}.expr-page .exl-f{flex-direction:column;gap:5px;min-width:0;display:flex}.expr-page .exl-f-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}.expr-page .exl-f-disp input{border:1px solid var(--line);background:var(--bg-1);height:34px;color:var(--ink-1);font:inherit;border-radius:8px;outline:none;padding:0 10px;font-size:12.5px;transition:border-color .15s}.expr-page .exl-f-disp input:focus{border-color:var(--brand)}.expr-page .exl-f-msg{color:var(--err,#ef4444);font-size:11px}.expr-page .exl-f-expr .exr-cm{border:1px solid var(--line);background:var(--bg-1);border-radius:8px;transition:border-color .15s;overflow:hidden}.expr-page .exl-f-expr .exr-cm:focus-within{border-color:var(--brand)}.expr-page .exl-f-expr.has-error .exr-cm{border-color:#ef44448c}.expr-page .exl-meta{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;padding-top:10px;display:flex}.expr-page .exl-rel{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.expr-page .exl-rel-k{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);font-size:10.5px;font-weight:600}.expr-page .exl-rel-none{color:var(--ink-4);font-size:11.5px;font-style:italic}.expr-page .exl-chip{border:1px solid #0000;border-radius:5px;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.expr-page .exl-chip.is-param{color:#34d399;background:#34d3991a;border-color:#34d3994d}.expr-page .exl-chip.is-ref{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa4d}.expr-page .exl-pos{color:var(--ink-4);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.expr-page .exl-del{border:1px solid var(--line);height:28px;color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.expr-page .exl-del:hover{color:var(--err,#ef4444);background:#ef444414;border-color:#ef444466}.expr-page .exr-cm .cm-x-param{color:#34d399}.expr-page .exr-cm .cm-x-ref{color:#60a5fa}.expr-page .exr-cm .cm-x-fn{color:#c084fc}.expr-page .exr-cm .cm-x-num{color:#f5b84a}.expr-page .exr-cm .cm-x-paren{color:var(--ink-3)}.expr-page .exr-cm .cm-x-op{color:var(--ink-2)}.expr-page .exr-cm .cm-x-bad{color:#ef4444;text-underline-offset:3px;-webkit-text-decoration:underline wavy #ef444499;text-decoration:underline wavy #ef444499}@media (max-width:900px){.expr-page .exl-fields{grid-template-columns:minmax(0,1fr)}.expr-page .exl-display{max-width:120px}.expr-page .exl-formula{display:none}.expr-page .exl-body{padding-left:12px}}@media (max-width:620px){.expr-page .exl-bar{flex-wrap:wrap}.expr-page .exl-search{flex-basis:100%;max-width:none}.expr-page .exl-eq{display:none}}.expr-page .exl-formula .tk-param{color:var(--brand)}.expr-page .exl-formula .tk-ref{color:var(--info,#60a5fa)}.expr-page .exl-formula .tk-fn{color:#c792ea}.expr-page .exl-formula .tk-num{color:#e6b450}.expr-page .exl-formula .tk-op,.expr-page .exl-formula .tk-paren{color:var(--ink-3)}.expr-page .exl-formula .tk-bad{color:var(--err,#f87171);text-underline-offset:2px;-webkit-text-decoration:underline wavy #f871718c;text-decoration:underline wavy #f871718c}.expr-page .expr-foot{margin-top:8px}.expr-page .expr-add{border:1px dashed var(--line-2);width:100%;height:38px;color:var(--ink-3);box-shadow:none;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.expr-page .expr-add:hover{filter:none;box-shadow:none;border-color:var(--brand);color:var(--brand);background:#4ade800f}.expr-page .expr-add:active{transform:none}.expr-page .exl-fields{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;padding-top:14px;display:grid}.expr-page .exl-field{min-width:0}.expr-page .exl-field .ss-field-foot{min-height:0;margin-top:4px}.expr-page .exl-field:not(.has-error) .ss-field-foot{display:none}.expr-page .exl-fields .MuiInputBase-root,.expr-page .exl-fields .MuiInputLabel-root{font-size:12.5px}.dg-notch-fields .MuiOutlinedInput-input{padding:10px 12px}.dg-notch-fields .MuiInputBase-root:has(.exr-cm){padding:0;display:block}.dg-notch-fields .exr-cm{display:block}.dg-notch-fields .exr-cm .cm-content{padding:10px 12px}.dg-notch-fields .exr-cm .cm-editor{background:0 0;border:0;border-radius:0}.expr-page .exl-meta{border-top:1px dashed var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 12px;margin-top:12px;padding-top:10px;display:grid}.expr-page .exl-rel{display:contents}.expr-page .exl-rel-k{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);grid-column:1;justify-self:start;font-size:10.5px;font-weight:600;line-height:22px}.expr-page .exl-rel-vals{flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;min-width:0;display:flex}.expr-page .exl-rel-none{color:var(--ink-4);font-size:11.5px;font-style:italic;line-height:22px}.expr-page .exl-chip{line-height:18px}.expr-page .exl-pos{grid-area:1/3;justify-self:end}.expr-page .exl-del{width:30px;height:30px;color:var(--err,#ef4444);background:#ef444414;border:1px solid #ef444459;border-radius:8px;grid-area:1/4;justify-content:center;justify-self:end;align-items:center;gap:0;padding:0;display:inline-flex}.expr-page .exl-del:hover{color:#fff;border-color:var(--err,#ef4444);background:var(--err,#ef4444)}@media (max-width:900px){.expr-page .exl-fields{grid-template-columns:minmax(0,1fr)}.expr-page .exl-meta{grid-template-columns:auto minmax(0,1fr)}.expr-page .exl-pos,.expr-page .exl-del{grid-row:auto}}.dg-notch-fields .MuiOutlinedInput-input,.dg-notch-fields .exr-cm .cm-content,.dg-notch-fields .exr-cm{font-size:12.5px}.expr-page .exl-rel-k,.expr-page .exl-rel-vals,.expr-page .exl-rel-none{min-height:24px;line-height:24px}.expr-page .exl-rel-vals{font-size:12.5px}.dg-notch-fields .MuiOutlinedInput-input{font-size:12.5px!important}.expr-page .exl-flow{flex-wrap:wrap;grid-column:1/3;align-items:center;gap:6px;min-width:0;display:flex}.expr-page .exl-flow-set{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.expr-page .exl-flow-arrow{color:var(--ink-4);flex:none;margin:0 1px}.expr-page .exl-flow-end{color:var(--ink-4);white-space:nowrap;font-size:11.5px;font-style:italic}.expr-page .exl-chip.is-self{color:var(--ink-1);background:var(--bg-3);border-color:var(--line-2);font-weight:600}.expr-page .exl-meta{grid-template-columns:minmax(0,1fr) auto auto}.expr-page .exl-flow{grid-area:1/1}.expr-page .exl-pos{grid-area:1/2}.expr-page .exl-del{grid-area:1/3}@media (max-width:620px){.expr-page .exl-flow-end{white-space:normal}}.dg-notch-fields .MuiOutlinedInput-root:has(.exr-cm){align-items:center;padding:0;display:flex}.dg-notch-fields span.MuiOutlinedInput-input{width:100%;height:auto;display:block}.dg-notch-fields .exr-cm .cm-line{line-height:1.4375}.dg-notch-fields .exr-cm .cm-content{padding:0;line-height:1.4375}.dg-notch-fields .exr-cm .cm-line{padding:0}.expr-page .exr-f>label.MuiInputLabel-root{z-index:1;pointer-events:auto;background:0 0;padding:0;top:0;left:0}.expr-page .exl-swatch{border:2px solid var(--c,#10b981);background:color-mix(in srgb, var(--c,#10b981) 45%, transparent);cursor:pointer;border-radius:50%;flex:none;width:14px;height:14px;margin-right:8px;padding:0;transition:transform .15s}.expr-page .exl-swatch:hover{transform:scale(1.15)}.expr-page .exl-render{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-3);border:1px solid var(--line);border-radius:5px;flex:none;padding:2px 7px;font-size:10.5px;font-weight:600}.expr-page .exl-calc-ctl{grid-column:2/-1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.expr-page .exl-calc-ctl .vs-sel{min-width:132px}@media (max-width:900px){.expr-page .exl-calc-ctl{grid-column:1/-1;justify-content:flex-start}}.expr-page .exr-f .MuiOutlinedInput-input,.expr-page .exr-f input.MuiInputBase-input{height:auto;box-shadow:none;font-size:inherit;background:0 0;border:0;border-radius:0}.expr-page .exr-f .MuiOutlinedInput-input:focus,.expr-page .exr-f input.MuiInputBase-input:focus{box-shadow:none;border:0}.expr-page .exr-actions .exl-del{grid-area:auto}
@keyframes sld-dash-flow{to{stroke-dashoffset:-40px}}@keyframes sld-alarm{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(3.3333)}}@keyframes sld-pulse-dot{0%,to{opacity:.18;transform:scale(2)}50%{opacity:.06;transform:scale(3)}}.sld-page .sld{flex-direction:column;display:flex}.sld-page .sld-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.sld-page .sld-toolbar .sld-title{letter-spacing:-.005em;color:var(--ink-1);font-size:14px;font-weight:600}.sld-page .sld-toolbar .sld-sub{color:var(--ink-3);margin-top:2px;font-size:12px}.sld-page .sld-legend{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.sld-page .sld-leg{background:var(--bg-2);border:1px solid var(--line);height:24px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-family:inherit;font-size:11.5px;transition:opacity .15s,border-color .15s,color .15s;display:inline-flex}.sld-page .sld-legend.sld-legend-strip{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:6px;max-width:min(100%,760px);padding:2px 0;display:inline-flex;overflow-x:auto}.sld-page .sld-legend.sld-legend-strip::-webkit-scrollbar{display:none}.sld-page .sld-legend.sld-legend-strip .sld-leg{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:160px;overflow:hidden}.sld-page .sld-toolbar .sld-leg.sld-icon-btn{justify-content:center;align-items:center;width:30px;padding:0;display:inline-flex}.sld-page.sld-fs{background:var(--bg-0);box-sizing:border-box;width:100vw;height:100vh;padding:14px;overflow:hidden}.sld-page.sld-fs .sld{height:100%}.sld-page.sld-fs.sld-embed .sld-canvas,.sld-page.sld-fs .sld-canvas{flex:auto;height:auto;min-height:0}.sld-page .sld-leg .lc{border-radius:2px;flex:none;width:8px;height:8px}.sld-page .sld-leg:hover{border-color:var(--line-2);color:var(--ink-1)}.sld-page .sld-leg.off{opacity:.42}.sld-page .sld-canvas{border:1px solid var(--line);background:var(--bg-0);cursor:grab;background-image:radial-gradient(circle, var(--line-2) 1px, transparent 1.5px);background-size:24px 24px;border-radius:12px;height:clamp(460px,64vh,740px);position:relative;overflow:clip;box-shadow:0 1px 2px #0000002e}body.light .sld-page .sld-canvas{background-image:radial-gradient(circle,#0f172a1a 1px,#0000 1.5px)}.sld-page.sld-embed .sld-canvas{height:clamp(600px,78vh,920px)}@media (max-width:600px){.sld-page.sld-embed .sld-canvas{height:clamp(420px,62vh,600px)}}.sld-page .sld-canvas.panning{cursor:grabbing}.sld-page .sld-canvas.locked{cursor:default}.sld-page .sld-scada .sld-canvas{background-image:radial-gradient(circle, var(--line-2) 1px, transparent 1.7px), radial-gradient(circle, color-mix(in srgb, var(--line-2) 55%, transparent) 1.4px, transparent 2.1px);background-size:22px 22px,110px 110px}body.light .sld-page .sld-scada .sld-canvas{background-image:radial-gradient(circle,#0f172a1c 1px,#0000 1.7px),radial-gradient(circle,#0f172a12 1.4px,#0000 2.1px)}.sld-page .sld-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.sld-page .sld-world.anim{transition:transform .42s cubic-bezier(.16,1,.3,1)}.sld-page .sld-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.sld-page .sld-edges-live{will-change:transform}.sld-page .sld-layer{will-change:transform;position:absolute;top:0;left:0}.sld-page .sld-edges path.edge{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke:var(--ink-4);opacity:.78;transition:opacity .18s,stroke-width .18s,filter .18s}.sld-page .sld-edges path.edge.grid{stroke:#38bdf8}.sld-page .sld-edges path.edge.solar{stroke:#10b981}.sld-page .sld-edges path.edge.genset{stroke:#f5b84a}.sld-page .sld-edges path.edge.battery{stroke:#a78bfa}.sld-page .sld-edges path.edge.load{stroke:#2dd4bf}.sld-page .sld-edges path.edge.flow{stroke-dasharray:7 6;animation:1.1s steps(40,end) infinite sld-dash-flow}.sld-page .sld-edges path.edge.idle{stroke-dasharray:1.5 6;opacity:.32;animation:none}.sld-page .sld-canvas.is-plant .sld-edges path.edge.flow{stroke-dasharray:none;animation:none}.sld-page .sld-edges path.edge.dim{animation:none;opacity:.1!important}.sld-page .sld-edges path.edge.hot{opacity:1;stroke-width:3.2px;filter:drop-shadow(0 0 5px)}.sld-page .sld-edges path.edge-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.sld-page .sld-runs{pointer-events:none;position:absolute;top:0;left:0}.sld-page .sld-particle{background:var(--ink-3);filter:drop-shadow(0 0 3px);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;transition:opacity .18s;position:absolute;top:0;left:0}.sld-page .sld-particle.grid{color:#38bdf8;background:#7dd3fc}.sld-page .sld-particle.solar{color:#10b981;background:#6ee7b7}.sld-page .sld-particle.genset{color:#f5b84a;background:#fcd34d}.sld-page .sld-particle.battery{color:#a78bfa;background:#c4b5fd}.sld-page .sld-particle.load{color:#2dd4bf;background:#5eead4}.sld-page .sld-particle.hub{color:var(--brand);background:#86efac}.sld-page .sld-particle.dim{opacity:.08}.sld-page .sld-edges-live[data-still] path.edge.flow{animation-play-state:paused}.sld-page .sld-edge-style-btn{display:none!important}.sld-page .sld-scada .sld-edge-style-btn{display:grid!important}.sld-page .sld-edge-style-btn .ic-curve,.sld-page .sld-edge-style-btn.curved .ic-ortho{display:none}.sld-page .sld-edge-style-btn.curved .ic-curve{display:block}.sld-page .sld-wall-btn{display:none}.sld-page .sld-scada .sld-wall-btn{display:inline-flex}.sld-page .sld-wall .sld-canvas{cursor:default;background-color:color-mix(in srgb, var(--bg-0) 100%, #000 0%);border-radius:0;height:82vh}body:not(.light) .sld-page .sld-wall .sld-canvas{background-color:#05080f}.sld-page .sld-wall .sld-hint{display:none}.sld-page .sld-wall .sld-node{--w:188px}.sld-page .sld-wall .sld-node-t b{font-size:13px}.sld-page .sld-wall .sld-node-t span{font-size:10px}.sld-page .sld-wall .sld-kv,.sld-page .sld-wall .sld-kv .v{font-size:12.5px}.sld-page .sld-wall .sld-kv .v .u{font-size:10px}.sld-page .sld-wall .sld-hub-load{font-size:19px}.sld-page .sld-wall .sld-edge-lbl{padding:2px 7px;font-size:11.5px}.sld-page .sld-wall .sld-particle{width:8px;height:8px;margin:-4px 0 0 -4px}.sld-page .sld-wall-hud{z-index:8;pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--bg-0) 94%, transparent) 40%, transparent);align-items:center;gap:16px;padding:12px 16px 22px;display:flex;position:absolute;top:0;left:0;right:0}.sld-page .sld-wall-hud .wh-title{color:var(--ink-1);letter-spacing:-.01em;font-size:14.5px;font-weight:700}.sld-page .sld-wall-hud .wh-sub{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10.5px}.sld-page .sld-wall-hud .wh-stats{flex-wrap:wrap;gap:9px;margin-left:6px;display:flex}.sld-page .sld-wall-hud .wh-stat{background:color-mix(in srgb, var(--bg-1) 82%, transparent);border:1px solid var(--line);border-left:3px solid var(--c,var(--ink-3));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-direction:column;gap:1px;padding:6px 13px;display:flex}.sld-page .sld-wall-hud .wh-stat .k{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:9px}.sld-page .sld-wall-hud .wh-stat .v{font-variant-numeric:tabular-nums;color:var(--ink-1);font-size:18px;font-weight:700;line-height:1.1}.sld-page .sld-wall-hud .wh-stat .v i{color:var(--ink-3);margin-left:2px;font-size:10.5px;font-style:normal;font-weight:600}.sld-page .sld-wall-hud .wh-stat.g{--c:#38bdf8}.sld-page .sld-wall-hud .wh-stat.s{--c:#10b981}.sld-page .sld-wall-hud .wh-stat.l{--c:#2dd4bf}.sld-page .sld-wall-hud .wh-stat.b{--c:#a78bfa}.sld-page .sld-wall-hud .wh-r{flex-direction:column;align-items:flex-end;gap:3px;margin-left:auto;display:flex}.sld-page .sld-wall-hud .wh-time{font-variant-numeric:tabular-nums;color:var(--ink-1);font-size:17px;font-weight:600;line-height:1}.sld-page .sld-wall-hud .wh-upd{color:#34d399;align-items:center;gap:5px;font-size:10px;display:inline-flex;position:relative}.sld-page .sld-wall-hud .wh-upd:before{content:"";background:#34d399;border-radius:50%;width:6px;height:6px}.sld-page .sld-wall-hud .wh-upd:after{content:"";pointer-events:none;background:#34d399;border-radius:50%;width:6px;height:6px;margin-top:-3px;animation:2s ease-in-out infinite sld-pulse-dot;position:absolute;top:50%;left:0}.sld-page .sld-wall-hud .wh-exit{pointer-events:auto;background:var(--bg-1);border:1px solid var(--line);height:26px;color:var(--ink-2);cursor:pointer;border-radius:7px;align-items:center;gap:5px;margin-top:3px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:600;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.sld-page .sld-wall-hud .wh-exit:hover{color:#f87171;background:#f8717114;border-color:#f87171}.sld-page .sld-node{width:var(--w,172px);background:var(--bg-1);border:1px solid var(--line);-webkit-user-select:none;user-select:none;cursor:grab;--accent:var(--ink-3);border-radius:11px;transition:box-shadow .18s,border-color .18s,opacity .18s;position:absolute;box-shadow:0 1px 2px #0000002e}.sld-page .sld-node:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));box-shadow:0 6px 18px #00000038}.sld-page .sld-node.dragging{cursor:grabbing;z-index:6;box-shadow:0 14px 38px #0000005c}.sld-page .sld-node.dim{opacity:.32}.sld-page .sld-node.hot{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 10px 28px color-mix(in srgb, var(--accent) 24%, transparent)}.sld-page .sld-node.s-grid{--accent:#38bdf8}.sld-page .sld-node.s-solar{--accent:#10b981}.sld-page .sld-node.s-genset{--accent:#f5b84a}.sld-page .sld-node.s-battery{--accent:#a78bfa}.sld-page .sld-node.s-load{--accent:#2dd4bf}.sld-page .sld-node.s-hub{--accent:var(--brand)}.sld-page .sld-node-h{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.sld-page .sld-node-ic{background:color-mix(in srgb, var(--accent) 16%, var(--bg-2));width:24px;height:24px;color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:6px;flex:none;place-items:center;display:grid}.sld-page .sld-node-ic svg{width:13px;height:13px}.sld-page .sld-node-t{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.sld-page .sld-node-t b{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.sld-page .sld-node-t span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;overflow:hidden}.sld-page .sld-node-dot{background:#34d399;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #34d39929}.sld-page .sld-node-dot.off{background:var(--ink-4);box-shadow:none}.sld-page .sld-node-dot.warn{background:#f5b84a;box-shadow:0 0 0 3px #f5b84a29}.sld-page .sld-scada .sld-node.st-off{opacity:.82}.sld-page .sld-scada .sld-node.st-off .sld-node-ic{filter:grayscale(.55)opacity(.9)}.sld-page .sld-scada .sld-node.st-warn:not(.sel):not(.hot){border-color:color-mix(in srgb, #f5b84a 58%, var(--line));box-shadow:0 0 0 1px #f5b84a6b,0 8px 24px #f5b84a2e}.sld-page .sld-scada .sld-node.st-warn .sld-node-dot{box-shadow:none;background:#f5b84a;position:relative}.sld-page .sld-scada .sld-node.st-warn .sld-node-dot:after{content:"";background:inherit;pointer-events:none;border-radius:50%;animation:1.5s ease-in-out infinite sld-alarm;position:absolute;inset:0}.sld-page .sld-node-b{flex-direction:column;gap:4px;padding:8px 10px;display:flex}.sld-page .sld-kv{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.sld-page .sld-kv .k{color:var(--ink-3);font-weight:500}.sld-page .sld-kv .v{color:var(--ink-1);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:13px}.sld-page .sld-kv .v .u{color:var(--ink-3);margin-left:2px;font-size:11px}.sld-page .sld-node.s-hub{--w:188px}.sld-page .sld-node.s-hub .sld-node-b{align-items:center;padding:10px}.sld-page .sld-hub-load{color:var(--brand);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1.1}.sld-page .sld-hub-load .u{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-left:3px;font-size:9.5px;font-weight:500}.sld-page .sld-node.s-hub.agg .sld-node-b{align-items:stretch;padding:8px 10px}.sld-page .sld-kv.sld-kv-lead .k{color:var(--ink-2);font-weight:600}.sld-page .sld-kv.sld-kv-lead .v{color:var(--brand);font-size:15px;font-weight:700}.sld-page .sld-kv.sld-kv-lead .v .u{font-size:10px}.sld-page .sld-hub-meta{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:9.5px}.sld-page .sld-edge-lbl{font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:color-mix(in srgb, var(--bg-0) 86%, transparent);color:var(--ink-2);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;font-weight:600;position:absolute;transform:translate(-50%,-50%)}body.light .sld-page .sld-edge-lbl{background:color-mix(in srgb, var(--bg-0) 80%, transparent)}.sld-page .sld-zoom{background:var(--bg-1);border:1px solid var(--line);z-index:7;border-radius:9px;flex-direction:column;display:flex;position:absolute;bottom:14px;left:14px;overflow:hidden;box-shadow:0 6px 18px #00000038}.sld-page .sld-zoom button{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;font-family:inherit;transition:background-color .15s,color .15s;display:grid}.sld-page .sld-zoom button:hover{background:var(--bg-2);color:var(--ink-1)}.sld-page .sld-zoom button:not(:last-child){border-bottom:1px solid var(--line)}.sld-page .sld-zoom button svg{width:15px;height:15px}.sld-page .sld-zoom button.on{color:var(--brand);background:var(--brand-soft)}.sld-page .sld-zoomlbl{color:var(--ink-2);background:var(--bg-1);border:1px solid var(--line);font-variant-numeric:tabular-nums;pointer-events:none;z-index:7;border-radius:6px;padding:3px 9px;font-size:11px;position:absolute;bottom:16px;left:50px;box-shadow:0 1px 2px #0000002e}.sld-page .sld-hint{color:var(--ink-4);background:var(--bg-1);border:1px solid var(--line);pointer-events:none;z-index:7;border-radius:6px;max-width:60%;padding:3px 9px;font-size:10.5px;position:absolute;top:14px;left:14px;box-shadow:0 1px 2px #0000002e}.sld-page .sld.sld-embed{height:auto}.sld-page .sld-canvas.sld-mini{height:362px}@media (max-width:1000px){.sld-page .sld-canvas.sld-mini{height:322px}}.sld-page .sld-canvas.sld-mini .sld-zoomlbl{padding:2px 8px;font-size:10.5px;bottom:14px;left:50px}.sld-page .sld-fulllink{z-index:7;background:var(--bg-1);border:1px solid var(--line);height:26px;color:var(--ink-2);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex;position:absolute;bottom:14px;right:14px;box-shadow:0 1px 2px #0000002e}.sld-page .sld-fulllink:hover{border-color:var(--brand-line);color:var(--brand);background:var(--brand-soft)}.sld-page .sld-fulllink svg{width:12px;height:12px}.sld-page .sld-edit-only{display:none}.sld-page .sld.sld-edit .sld-edit-only{display:inline-flex}.sld-page .sld.sld-edit .sld-canvas{cursor:default}.sld-page .sld.sld-edit .sld-node{cursor:pointer}.sld-page .sld.sld-edit .sld-node.dragging{cursor:grabbing}.sld-page .sld-node-del{border:2px solid var(--bg-0);color:#fff;cursor:pointer;z-index:4;background:#f87171;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;line-height:0;transition:transform .12s cubic-bezier(.16,1,.3,1),filter .12s;display:none;position:absolute;top:-9px;right:-9px;box-shadow:0 1px 2px #0000002e}.sld-page .sld-node-del svg{width:10px;height:10px;display:block}.sld-page .sld-node-del:hover{filter:brightness(1.08);transform:scale(1.14)}.sld-page .sld.sld-edit .sld-node:hover .sld-node-del,.sld-page .sld.sld-edit .sld-node.sel .sld-node-del{display:flex}.sld-page .sld.sld-edit .sld-node.s-hub .sld-node-del{display:none}.sld-page .sld-handle{border:2px solid var(--accent);background:var(--bg-1);cursor:crosshair;z-index:4;border-radius:50%;width:13px;height:13px;transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s,background .12s;display:none;position:absolute}.sld-page .sld-handle.h-r{top:50%;right:-7px;transform:translateY(-50%)}.sld-page .sld-handle.h-l{top:50%;left:-7px;transform:translateY(-50%)}.sld-page .sld-handle.h-t{top:-7px;left:50%;transform:translate(-50%)}.sld-page .sld-handle.h-b{bottom:-7px;left:50%;transform:translate(-50%)}.sld-page .sld-handle.h-r:hover,.sld-page .sld-handle.h-l:hover{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-50%)scale(1.4)}.sld-page .sld-handle.h-t:hover,.sld-page .sld-handle.h-b:hover{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);transform:translate(-50%)scale(1.4)}.sld-page .sld.sld-edit .sld-node.s-hub .sld-handle{display:block}.sld-page .sld.sld-edit .sld-node:not(.s-hub) .sld-handle{display:none}.sld-page .sld.sld-connecting .sld-handle{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.sld-page .sld.sld-connecting .sld-canvas{cursor:crosshair}.sld-page .sld-node.sel{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent), 0 10px 30px color-mix(in srgb, var(--accent) 26%, transparent)}.sld-page .sld-edges circle.sld-ep-handle{fill:var(--brand);stroke:#fff;stroke-width:2.5px;cursor:grab;pointer-events:all;filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--brand) 55%, transparent));transition:r .14s,filter .14s,stroke-width .14s}.sld-page .sld-edges circle.sld-ep-handle:hover{r:10;stroke-width:3.5px;filter:drop-shadow(0 0 10px var(--brand))}.sld-page .sld-edges circle.sld-ep-handle:active{cursor:grabbing}body.light .sld-page .sld-edges circle.sld-ep-handle{stroke:var(--bg-1)}.sld-page .sld-edges path.edge-ghost{fill:none;stroke:var(--brand);stroke-width:2.2px;stroke-dasharray:6 5;opacity:.9;pointer-events:none;stroke-linecap:round;animation:1.1s linear infinite sld-dash-flow}.sld-page .sld-edge-del{background:var(--bg-1);color:#f87171;cursor:pointer;z-index:5;border:1px solid #f87171;border-radius:50%;place-items:center;width:20px;height:20px;transition:transform .12s cubic-bezier(.16,1,.3,1),background-color .12s,color .12s;display:none;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000002e}.sld-page .sld-edge-del svg{width:10px;height:10px}.sld-page .sld-edge-del:hover{color:#fff;background:#f87171;transform:translate(-50%,-50%)scale(1.14)}.sld-page .sld-edge-del.show{display:grid}.sld-page .sld-drawer{background:var(--bg-1);border-left:1px solid var(--line);z-index:9;flex-direction:column;width:min(326px,82%);transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-14px 0 44px #00000057}body.light .sld-page .sld-drawer{box-shadow:-14px 0 44px #0f172a1f}.sld-page .sld-drawer.open{transform:none}.sld-page .sld-drawer-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 14px 16px;display:flex}.sld-page .sld-drawer-h h4{letter-spacing:-.005em;color:var(--ink-1);margin:0;font-size:14px;font-weight:600}.sld-page .sld-drawer-h .sub{color:var(--ink-3);margin-top:3px;font-size:11.5px}.sld-page .sld-drawer-h .iconbtn{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;transition:background .14s,color .14s;display:grid}.sld-page .sld-drawer-h .iconbtn:hover{background:var(--bg-2);color:var(--ink-1)}.sld-page .sld-drawer-h .iconbtn:active{transform:scale(.94)}.sld-page .sld-drawer-h .iconbtn svg{width:14px;height:14px;display:block}.sld-page .sld-drawer-b{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex-direction:column;flex:1 1 0;gap:15px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.sld-page .sld-drawer-b::-webkit-scrollbar{width:8px}.sld-page .sld-drawer-b::-webkit-scrollbar-track{background:0 0}.sld-page .sld-drawer-b::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--bg-1);border-radius:4px}.sld-page .sld-drawer-b::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.sld-page .sld-drawer .dz{border-top:1px dashed var(--line);flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;display:flex}.sld-page .sld-drawer .dz .dz-h{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.sld-page .sld-drawer-f{border-top:1px solid var(--line);background:var(--bg-2);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.sld-page .sld-drawer-f .foot-note{color:var(--ink-3);flex:1;min-width:0;font-size:10.5px;line-height:1.35}.sld-page .sld-dsec{flex-direction:column;gap:18px;display:flex}.sld-page .sld-dsec-h{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;margin:2px 0 -2px;font-size:11px;font-weight:600;display:flex}.sld-page .sld-dsec-tag{border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink-3);letter-spacing:.02em;text-transform:none;border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:600}.sld-page .sld-dsec-tag.is-warn{color:var(--warn,#f5b84a);background:#f5b84a1a;border-color:#f5b84a6b}.sld-page .sld-dsec-tag.is-on{border-color:rgba(var(--brand-rgb), .42);background:rgba(var(--brand-rgb), .1);color:var(--brand)}.sld-page .sld-drawer .sld-swatch{border:1px solid var(--line-2);cursor:pointer;border-radius:5px;flex:none;width:22px;height:22px;padding:0;display:block;position:relative;overflow:hidden}.sld-page .sld-drawer .sld-swatch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sld-colorpop.MuiPaper-root{border:1px solid var(--line);background:var(--bg-1);border-radius:10px;padding:10px}.sld-colorpop-t{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:10px;font-weight:600}.sld-colorpop-grid{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.sld-colorpop-any{border-top:1px solid var(--line);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;margin-top:10px;padding-top:9px;font-size:11.5px;display:flex}.sld-colorpop-any .chip{background:conic-gradient(#f87171,#f5b84a,#34d399,#38bdf8,#a78bfa,#f87171);border:1px solid #ffffff29;border-radius:5px;width:18px;height:18px}.sld-colorpop-any input[type=color]{opacity:0;border:0;width:0;height:0;padding:0;position:absolute}.sld-colorpop .sld-swatch-dot{cursor:pointer;border:1px solid #ffffff24;border-radius:5px;width:18px;height:18px;padding:0;transition:transform .14s,box-shadow .14s}.sld-colorpop .sld-swatch-dot:hover{transform:scale(1.12)}.sld-colorpop .sld-swatch-dot.is-on{box-shadow:0 0 0 2px var(--bg-1), 0 0 0 3.5px var(--ink-1)}.sld-colorpop .sld-swatch-dot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sld-page .sld-drawer .sld-asset{flex-direction:column;gap:10px;display:flex}.sld-asset-thumb{background:var(--bg-2);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.sld-asset-thumb img{object-fit:contain;width:100%;height:100%;transition:opacity .18s}.sld-asset-thumb.is-field{border-radius:6px;width:30px;height:26px}.sld-asset-thumb.is-auto img{opacity:.55}.sld-page .sld-drawer .sld-asset-preview{background:radial-gradient(120% 90% at 50% 78%, color-mix(in srgb, var(--ink-1) 6%, transparent), transparent 62%), var(--bg-2);height:150px;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;margin:0;position:relative;overflow:hidden}.sld-page .sld-drawer .sld-asset-preview img{object-fit:contain;width:100%;height:100%;padding:8px 10px 26px;animation:.24s cubic-bezier(.2,.8,.2,1) both sld-asset-in;display:block}.sld-page .sld-drawer .sld-asset-preview.is-auto img{opacity:.7}@keyframes sld-asset-in{0%{opacity:0;transform:translateY(5px)scale(.985)}}@media (prefers-reduced-motion:reduce){.sld-page .sld-drawer .sld-asset-preview img{animation:none}}.sld-page .sld-drawer .sld-asset-preview figcaption{color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;display:flex;position:absolute;bottom:7px;left:10px;right:10px}.sld-page .sld-drawer .sld-asset-preview code{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;background:0 0;padding:0;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10.5px;overflow:hidden}.sld-page .sld-drawer .sld-asset-preview code:before,.sld-page .sld-drawer .sld-asset-preview code:after{content:none}.sld-assetpop.MuiPaper-root{border:1px solid var(--line);background:var(--bg-1);color:var(--ink-1);box-shadow:var(--elev-3);border-radius:10px;margin-top:4px}.sld-assetpop .MuiAutocomplete-listbox{padding:0 0 6px}.sld-assetpop .sld-asset-group ul{margin:0;padding:0}.sld-assetpop .sld-asset-group-h{z-index:1;background:var(--bg-1);color:var(--ink-3);padding:9px 14px 5px;font-size:11.5px;font-weight:600;position:sticky;top:0}.sld-assetpop .MuiAutocomplete-option.sld-asset-opt{border-radius:8px;gap:11px;min-height:54px;margin:0 6px;padding:5px 10px 5px 6px}.sld-assetpop .MuiAutocomplete-option.sld-asset-opt.Mui-focused{background:color-mix(in srgb, var(--ink-1) 6%, transparent)}.sld-assetpop .MuiAutocomplete-option.sld-asset-opt[aria-selected=true],.sld-assetpop .MuiAutocomplete-option.sld-asset-opt[aria-selected=true].Mui-focused{background:rgba(var(--brand-rgb), .12)}.sld-asset-opt-t{flex-direction:column;gap:1px;min-width:0;display:flex}.sld-asset-opt-t .l{color:var(--ink-1);font-size:13px;font-weight:500;line-height:1.3}.sld-asset-opt-t .id{color:var(--ink-3);font-size:11px;line-height:1.3}.sld-asset-check{fill:none;width:16px;height:16px;stroke:var(--brand);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-left:auto}.sld-assetpop .MuiAutocomplete-noOptions{color:var(--ink-3);padding:14px;font-size:12.5px}.sld-page .sld-drawer .sld-param-card{padding:12px 12px 14px}.sld-page .sld-drawer .sld-param-select{margin-top:13px}.sld-page .sld-drawer .sld-param-lock{margin-top:2px}.sld-page .sld-drawer .sld-wire-row{gap:8px;display:flex}.sld-page .sld-drawer .sld-field-note{color:var(--ink-3);margin-top:6px;font-size:10.5px;line-height:1.4}.sld-page .sld-dsec+.sld-dsec{border-top:1px solid var(--line);padding-top:14px}.sld-page .sld-drow{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sld-page .sld-drow.tight{grid-template-columns:96px 1fr}.sld-page .sld-drow.off{opacity:.4;pointer-events:none}.sld-page .sld-color{position:relative}.sld-page .sld-color input[type=color]{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:6px;outline:none;width:100%;height:40px;padding:5px 8px;transition:border-color .18s,box-shadow .18s}.sld-page .sld-color input[type=color]:hover{border-color:var(--ink-3)}.sld-page .sld-color input[type=color]:focus-within,.sld-page .sld-color input[type=color]:focus{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.sld-page .sld-color input[type=color]::-webkit-color-swatch-wrapper{padding:0}.sld-page .sld-color input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.sld-page .sld-color input[type=color]::-moz-color-swatch{border:none;border-radius:4px}.sld-page .sld-color>label{letter-spacing:.04em;color:var(--ink-2);background:var(--bg-1);pointer-events:none;padding:0 6px;font-size:11px;font-weight:500;position:absolute;top:0;left:8px;transform:translateY(-50%)}.sld-page .sld-param{border:1px solid var(--line);background:var(--bg-2);border-radius:6px;flex-direction:column;gap:10px;padding:11px;display:flex}.sld-page .sld-param+.sld-param{margin-top:2px}.sld-page .sld-param-rm{border:1px solid color-mix(in srgb, #f87171 36%, var(--line));color:#f87171;cursor:pointer;background:#f871711f;border-radius:6px;align-self:flex-end;align-items:center;gap:5px;height:26px;padding:0 9px;font-family:inherit;font-size:11px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.sld-page .sld-param-rm:hover{background:#f8717138}.sld-page .sld-param-rm svg{width:11px;height:11px}body.light .sld-page .sld-param-rm{color:#b91c1c}.sld-page .sld-param-empty{color:var(--ink-4);text-align:center;padding:8px 2px;font-size:11.5px}.sld-page .sld-anim-hint{color:var(--ink-4);margin-top:-2px;font-size:10.5px;line-height:1.4}.sld-page .sld-drawer .MuiOutlinedInput-root{background:var(--bg-1);border-radius:6px;min-height:40px;font-size:13px}.sld-page .sld-drawer .MuiAutocomplete-inputRoot,.sld-page .sld-drawer .MuiOutlinedInput-root.MuiInputBase-sizeSmall{padding-top:2px;padding-bottom:2px}.sld-page .sld-drawer .MuiInputBase-input{padding:8px 12px;font-size:13px}.sld-page .sld-drawer .MuiAutocomplete-input{padding:4px 6px!important}.sld-page .sld-drawer .MuiInputLabel-root{color:var(--ink-3);font-size:13px}.sld-page .sld-drawer .MuiInputLabel-root.MuiInputLabel-shrink{color:var(--ink-3)}.sld-page .sld-drawer .MuiInputLabel-root.Mui-focused{color:var(--brand)}.sld-page .sld-drawer .MuiOutlinedInput-notchedOutline{border-color:var(--line-2)}.sld-page .sld-drawer .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--ink-4)}.sld-page .sld-drawer .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--brand);border-width:1px!important}.sld-page .sld-param-add{border:1px dashed color-mix(in srgb, #34d399 50%, var(--line));color:#34d399;cursor:pointer;background:#34d3991f;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;height:34px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.sld-page .sld-param-add:hover{background:#34d39933;border-color:#34d399}.sld-page .sld-param-add svg{width:13px;height:13px}.sld-page .sld-node-meta{display:none}.sld-page .sld.sld-edit .sld-node-meta{border-top:1px solid var(--line);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;padding:5px 10px;font-size:9.5px;display:flex}.sld-page .sld-node-meta .anim{color:color-mix(in srgb, var(--accent) 80%, var(--ink-3));align-items:center;gap:4px;display:inline-flex}.sld-page .sld-node-meta .anim:before{content:"";background:currentColor;border-radius:50%;flex:none;width:4px;height:4px}.sld-page .sld-node-meta .sep{color:var(--ink-4)}.sld-page .sld-minimap{background:color-mix(in srgb, var(--bg-1) 88%, transparent);border:1px solid var(--line);z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9px;width:176px;height:120px;position:absolute;bottom:14px;right:14px;overflow:hidden;box-shadow:0 6px 18px #00000038}.sld-page .sld.sld-edit .sld-minimap{display:none}.sld-page .sld-minimap svg{width:100%;height:100%;display:block}.sld-page .sld-minimap rect.mm-n{fill:color-mix(in srgb, var(--ink-3) 55%, var(--bg-2))}.sld-page .sld-minimap rect.mm-n.hub{fill:color-mix(in srgb, var(--brand) 70%, var(--bg-2))}.sld-page .sld-minimap rect.mm-vp{fill:color-mix(in srgb, var(--brand) 14%, transparent);stroke:var(--brand-line);stroke-width:1.5px}.sld-page .sld-addmenu{z-index:60;background:var(--bg-1);border:1px solid var(--line-2);border-radius:9px;flex-direction:column;gap:1px;min-width:188px;padding:6px;display:none;position:absolute;box-shadow:0 14px 36px #00000052}.sld-page .sld-addmenu.open{display:flex}.sld-page .sld-addmenu button{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:7px 9px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.sld-page .sld-addmenu button:hover{background:var(--bg-2);color:var(--ink-1)}.sld-page .sld-addmenu button svg{width:14px;height:14px;color:var(--ink-3)}.sld-page .sld-addmenu .div{background:var(--line);height:1px;margin:3px 0}.sld-page .sld-eqmenu{z-index:1400;background:var(--bg-1);max-width:calc(100vw - 24px);color:var(--ink-1);border:1px solid var(--line-2);border-radius:12px;flex-direction:column;animation:.16s cubic-bezier(.2,.8,.2,1) both sld-eq-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 44px #00000057}@keyframes sld-eq-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.sld-page .sld-eqmenu{animation:none}}.sld-page .sld-eq-head{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:10px 12px;display:flex}.sld-page .sld-eq-head svg{fill:none;width:16px;height:16px;stroke:var(--ink-3);stroke-width:1.9px;stroke-linecap:round;flex:none}.sld-page .sld-eq-head input{min-width:0;color:var(--ink-1);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.sld-page .sld-eq-head input::placeholder{color:var(--ink-3)}.sld-page .sld-eq-head input::-webkit-search-cancel-button{display:none}.sld-page .sld-eq-head .n{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.sld-page .sld-eq-first{color:var(--ink-2);background:rgba(var(--brand-rgb), .08);border-bottom:1px solid var(--line);margin:0;padding:9px 14px;font-size:12px;line-height:1.45}.sld-page .sld-eq-body{overscroll-behavior:contain;padding:0 8px 8px;overflow-y:auto}.sld-page .sld-eq-group h5{z-index:1;background:var(--bg-1);color:var(--ink-3);margin:0;padding:10px 6px 6px;font-size:11.5px;font-weight:600;position:sticky;top:0}.sld-page .sld-eq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.sld-page .sld-eq-tile{min-height:54px;color:var(--ink-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:5px 8px 5px 5px;font-size:12.5px;font-weight:500;line-height:1.3;display:flex}.sld-page .sld-eq-tile:hover,.sld-page .sld-eq-tile:focus-visible{background:color-mix(in srgb, var(--ink-1) 7%, transparent);outline:0}.sld-page .sld-eq-tile:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-line)}.sld-page .sld-eq-tile .l{min-width:0}.sld-page .sld-eq-none{color:var(--ink-3);margin:0;padding:18px 8px 10px;font-size:12.5px}.sld-page .sld-plant-empty{z-index:5;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sld-page .sld-plant-empty>div{text-align:center;pointer-events:auto;max-width:380px;padding:22px 24px}.sld-page .sld-plant-empty h4{color:var(--ink-1);margin:0 0 6px;font-size:16px;font-weight:600}.sld-page .sld-plant-empty p{color:var(--ink-2);margin:0 0 16px;font-size:13px;line-height:1.5}.sld-page .sld-plant-empty button{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.sld-page .sld-plant-empty button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sld-page .sld-leg.sld-save.is-ready{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}body.light .sld-page .sld-leg.sld-save.is-ready,body.light .sld-page .sld-plant-empty button,body.light .sld-drawer .sld-drawer-done:not(.Mui-disabled){background:rgba(var(--brand-rgb), .16);color:var(--brand-active-text,#047857);border-color:#04785773}
.sldg-paper.MuiPaper-root{background:var(--bg-1);color:var(--ink-1);border:1px solid var(--line);background-image:none;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #00000080}.sldg{flex-direction:column;max-height:86vh;font-family:inherit;display:flex}.sldg-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.sldg-glyph{background:var(--brand-soft);border:1px solid var(--brand-line);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;font-size:18px;font-weight:700;line-height:1;display:grid}.sldg-titles h3{letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:15px;font-weight:650}.sldg-titles p{color:var(--ink-3);margin:2px 0 0;font-size:12px;line-height:1.4}.sldg-x{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin-left:auto;transition:color .16s,background .16s;display:grid}.sldg-x:hover{color:var(--ink-1);background:var(--bg-2)}.sldg-x svg{width:16px;height:16px}.sldg-body{flex-direction:column;gap:22px;padding:18px 20px;display:flex;overflow-y:auto}.sldg-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.sldg-sec-h{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.sldg-sec-h em{text-transform:none;letter-spacing:0;color:var(--ink-4);font-size:11.5px;font-style:normal;font-weight:500}.sldg-field{flex-direction:column;gap:8px;display:flex}.sldg-input{background:var(--bg-2);border:1px solid var(--line);height:38px;color:var(--ink-1);border-radius:10px;padding:0 12px;font-family:inherit;font-size:13.5px;transition:border-color .18s,box-shadow .18s}.sldg-input::placeholder{color:var(--ink-4)}.sldg-input:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.sldg-agg{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(5,1fr);gap:6px;padding:5px;display:grid}.sldg-agg button{height:46px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:inherit;font-size:12px;font-weight:600;transition:color .18s,background .18s,border-color .18s,box-shadow .18s;display:flex}.sldg-agg button svg{width:15px;height:15px}.sldg-agg button:hover{color:var(--ink-1);background:var(--bg-1)}.sldg-agg button.active{color:var(--brand);background:var(--bg-0);border-color:var(--brand-line);box-shadow:0 1px 2px #00000040}@media (max-width:560px){.sldg-agg{grid-template-columns:repeat(3,1fr)}}.sldg-members{flex-direction:column;gap:6px;max-height:216px;padding-right:2px;display:flex;overflow-y:auto}.sldg-mem{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:9px 11px;transition:border-color .16s,background .16s;display:flex}.sldg-mem:hover{border-color:var(--line-2)}.sldg-mem.on{border-color:var(--brand-line);background:var(--brand-soft)}.sldg-box{border:1.5px solid var(--ink-4);border-radius:6px;flex:none;place-items:center;width:18px;height:18px;transition:border-color .16s,background .16s;display:grid}.sldg-mem.on .sldg-box{border-color:var(--brand);background:var(--brand-soft)}.sldg-box svg{width:12px;height:12px;color:var(--brand);opacity:0;transition:opacity .16s}.sldg-mem.on .sldg-box svg{opacity:1}.sldg-chip{background:var(--bg-0);border:1px solid var(--line);color:var(--ink-3);border-radius:6px;flex:none;padding:2px 7px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:11px;font-weight:700}.sldg-mem.on .sldg-chip{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}.sldg-mem-title{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sldg-empty{color:var(--ink-4);text-align:center;border:1px dashed var(--line);border-radius:10px;padding:14px 12px;font-size:12.5px;line-height:1.5}.sldg-note{color:var(--ink-4);margin-top:9px;font-size:11.5px;line-height:1.45}.sldg-note code{color:var(--ink-3);background:var(--bg-2);border-radius:5px;padding:1px 5px;font-family:ui-monospace,JetBrains Mono,monospace}.sldg-foot{border-top:1px solid var(--line);background:var(--bg-2);align-items:center;gap:12px;padding:13px 20px;display:flex}.sldg-reason{color:#f5b84a;align-items:center;gap:6px;margin-right:auto;font-size:12px;font-weight:500;display:inline-flex}.sldg-reason svg{width:14px;height:14px}.sldg-actions{gap:8px;margin-left:auto;display:flex}.sldg-btn{cursor:pointer;border:1px solid #0000;border-radius:9px;height:36px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .16s,color .16s,border-color .16s,opacity .16s}.sldg-btn.ghost{color:var(--ink-2);border-color:var(--line);background:0 0}.sldg-btn.ghost:hover{color:var(--ink-1);background:var(--bg-1)}.sldg-btn.primary{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}.sldg-btn.primary:hover:not(:disabled){background:rgba(var(--brand-rgb), .16)}.sldg-btn.primary:disabled{opacity:.42;cursor:not-allowed}.sldg-formulas{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:12px 12px 6px}.sldg-formulas .expr-page .exr-actions,.sldg-formulas .exr-actions{align-self:start;margin-top:8px}.sldg-formulas .exr-msg:empty{display:none}.sldg-formulas .expr-add{background:var(--brand-soft);height:34px;color:var(--brand);border:1px solid var(--brand-line);box-shadow:none;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600}.sldg-formulas .expr-add:hover{background:rgba(var(--brand-rgb), .16)}.sldg-formulas .expr-add svg{width:14px;height:14px}.sldg-blocked-msg{color:var(--ink-2);margin:0 0 16px;font-size:13px;line-height:1.55}.sldg-grp{border:1px solid var(--line);background:var(--bg-2);border-left:3px solid #f5b84a;border-radius:10px;margin-bottom:12px;padding:12px 13px}.sldg-grp-h{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.sldg-grp-h strong{color:var(--ink-1);font-size:13px;font-weight:700}.sldg-grp-row{margin-bottom:5px;font-size:12.5px}.sldg-grp-row b{color:var(--ink-1);font-weight:600}.sldg-grp-row code,.sldg-ref code{color:var(--ink-2);font-family:ui-monospace,JetBrains Mono,monospace}.sldg-ref{color:var(--ink-4);font-size:11.5px}.sldg-open{cursor:pointer;background:var(--brand-soft);height:30px;color:var(--brand);border:1px solid var(--brand-line);white-space:nowrap;border-radius:8px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .16s}.sldg-open:hover{background:rgba(var(--brand-rgb), .16)}
.sld-page .sld-canvas.tw-view{cursor:grab;background-image:none;background-color:var(--bg-0);-webkit-tap-highlight-color:transparent;--tw-glass:color-mix(in srgb, var(--bg-1) 74%, transparent);--tw-glass-solid:color-mix(in srgb, var(--bg-1) 90%, transparent);--tw-glass-line:color-mix(in srgb, var(--line-2) 62%, transparent);--tw-glass-hi:inset 0 1px 0 #ffffff0d;--tw-float:0 22px 48px -18px #000000a8, 0 4px 12px #00000042;--tw-rest:0 8px 22px -12px #0009, 0 1px 3px #00000038;--tw-ease:cubic-bezier(.22, 1, .36, 1)}body.light .sld-page .sld-canvas.tw-view{--tw-glass:color-mix(in srgb, var(--bg-1) 76%, transparent);--tw-glass-solid:color-mix(in srgb, var(--bg-1) 92%, transparent);--tw-glass-line:color-mix(in srgb, var(--line-2) 72%, transparent);--tw-glass-hi:inset 0 1px 0 #ffffffe6;--tw-float:0 22px 44px -20px #0f172a4d, 0 3px 10px #0f172a14;--tw-rest:0 6px 18px -10px #0f172a3d, 0 1px 2px #0f172a0f}.sld-page .sld-canvas.tw-view:active{cursor:grabbing}body:not(.light) .sld-page .tw-wall .sld-canvas.tw-view{background-color:#05080f}.sld-page .tw-canvas{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}@media (pointer:coarse){.sld-page:not(.sld-fs) .tw-canvas{touch-action:pan-y!important}}.sld-page .tw-view,.sld-page .tw-view *,.sld-page .tw-view :before,.sld-page .tw-view :after{box-sizing:border-box}.sld-page .tw-tags{pointer-events:none;z-index:3;opacity:0;transition:opacity .35s ease-out;position:absolute;inset:0;overflow:hidden}.sld-page .tw-tags.is-ready{opacity:1}.sld-page .tw-tag{--tw-c:var(--ink-3);font:inherit;color:inherit;text-align:left;pointer-events:none;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;top:0;left:0;translate:-50% calc(-100% - 8px)}.sld-page .tw-tags.is-settled .tw-tag[data-state=open]{will-change:transform}.sld-page .tw-tag-card{background:var(--tw-glass-solid);border:1px solid var(--tw-glass-line);max-width:248px;height:26px;box-shadow:var(--tw-glass-hi), var(--tw-rest);white-space:nowrap;transform-origin:50% 100%;border-radius:8px;align-items:center;gap:7px;padding:0 10px 0 8px;transition:opacity .18s ease-out,scale .18s ease-out,border-color .15s,background-color .15s;display:flex}.sld-page .tw-tag-t{color:var(--ink-1);text-overflow:ellipsis;min-width:0;font-size:11.5px;font-weight:600;overflow:hidden}.sld-page .tw-sigma{color:var(--ink-3);margin-right:3px;font-weight:500}.sld-page .tw-tag-v{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.sld-page .tw-tag-v i,.sld-page .tw-rd-grid dd i{color:var(--ink-3);margin-left:3px;font-size:.86em;font-style:normal;font-weight:500}.sld-page .tw-tag:after{content:"";left:calc(50% - var(--tw-dx,0px));background:linear-gradient(var(--line-2), color-mix(in srgb, var(--line-2) 30%, transparent));width:1px;height:8px;margin-left:-.5px;transition:opacity .18s ease-out;position:absolute;top:100%}.sld-page .tw-pin{left:calc(50% - var(--tw-dx,0px));background:var(--bg-1);border:1.5px solid var(--ink-3);pointer-events:none;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;transition:opacity .18s ease-out;position:absolute;top:calc(100% + 8px)}.sld-page .tw-tag.is-hub .tw-tag-card{border-color:var(--brand-line)}.sld-page .tw-tag.is-hot .tw-tag-card{border-color:color-mix(in srgb, var(--tw-c) 55%, var(--line-2));background:color-mix(in srgb, var(--bg-1) 96%, transparent)}.sld-page .tw-tag.is-hot .tw-pin{border-color:var(--tw-c)}.sld-page .tw-tag.is-sel .tw-tag-card{border-color:var(--brand);background:color-mix(in srgb, var(--bg-1) 88%, rgb(var(--brand-rgb)))}.sld-page .tw-tag.is-sel .tw-pin{border-color:var(--brand);background:var(--brand)}.sld-page .tw-tag.is-sel:after{background:var(--brand)}.sld-page .tw-tag:focus-visible .tw-tag-card{outline:2px solid var(--brand);outline-offset:2px}.sld-page .tw-tag.is-dim .tw-tag-card{box-shadow:none;border-color:#0000}.sld-page .tw-tag-card>*{transition:opacity .18s ease-out}.sld-page .tw-tag.is-dim .tw-tag-card>*{opacity:.45}.sld-page .tw-tag[data-state=folded]{pointer-events:none}.sld-page .tw-tag[data-state=folded] .tw-tag-card{opacity:0;scale:.9}.sld-page .tw-tag[data-state=folded]:after,.sld-page .tw-tag[data-state=folded] .tw-pin{opacity:0}.sld-page .tw-tag[data-state=off]{visibility:hidden;pointer-events:none}.sld-page .tw-tag[data-state=folded]:focus-visible .tw-tag-card{opacity:1;scale:1}.sld-page .tw-dot{background:var(--ink-4);border-radius:50%;flex:none;width:7px;height:7px}.sld-page .tw-dot.s-flow,.sld-page .tw-dot.s-draw{background:var(--tw-c);box-shadow:0 0 0 3px color-mix(in srgb, var(--tw-c) 22%, transparent)}.sld-page .tw-dot.s-live{background:var(--tw-c)}.sld-page .tw-dot.s-idle{background:var(--ink-4)}.sld-page .tw-dot.s-nodata{background:#f5b84a}body.light .sld-page .tw-dot.s-nodata{background:#d4930f}.sld-page .tw-dot.s-waiting,.sld-page .tw-dot.s-none{border:1.5px solid var(--ink-4);background:0 0}.sld-page .sld-hint.tw-hint{text-align:center;max-width:min(64%,100% - 128px);color:var(--ink-3);background:var(--tw-glass-solid);border-color:var(--tw-glass-line);box-shadow:var(--tw-rest);z-index:7;border-radius:999px;padding:4px 12px;transition:opacity .4s ease-out;top:auto;bottom:14px;left:50%;translate:-50%}.sld-page .sld-hint.tw-hint.is-gone{opacity:0}.sld-page .tw-hud{pointer-events:none;z-index:6;align-items:flex-start;gap:12px;display:flex;position:absolute;inset:14px}.sld-page .tw-hud-side{flex-direction:column;align-items:flex-end;gap:10px;min-width:0;min-height:0;max-height:100%;margin-left:auto;display:flex}.sld-page .tw-mix,.sld-page .tw-legend,.sld-page .tw-card{pointer-events:auto}.sld-page .tw-mix{background:var(--tw-glass-solid);border:1px solid var(--tw-glass-line);width:264px;max-width:46%;box-shadow:var(--tw-glass-hi), var(--tw-rest);border-radius:13px;padding:11px 13px 9px}.sld-page .tw-mix-head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.sld-page .tw-mix-head b{letter-spacing:-.015em;color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;line-height:1.15}.sld-page .tw-mix-head span{color:var(--ink-3);font-size:11.5px}.sld-page .tw-mix-bar{border-radius:3px;gap:2px;height:6px;margin:9px 0 7px;display:flex;overflow:hidden}.sld-page .tw-mix-bar span{background:var(--tw-c);cursor:pointer;min-width:4px;transition:opacity .18s ease-out, flex-grow .6s var(--tw-ease);flex-basis:0}.sld-page .tw-mix-bar:has(.on) span:not(.on){opacity:.3}.sld-page .tw-mix-keys{gap:1px;display:grid}.sld-page .tw-mix-keys button{width:calc(100% + 12px);height:26px;font:inherit;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:8px minmax(0,1fr) auto 4ch;align-items:center;gap:8px;margin:0 -6px;padding:0 6px;font-size:12px;transition:background-color .15s,color .15s;display:grid}.sld-page .tw-mix-keys button:hover,.sld-page .tw-mix-keys button:focus-visible{background:color-mix(in srgb, var(--tw-c) 10%, transparent);color:var(--ink-1);outline:none}.sld-page .tw-mix-keys button.on{background:color-mix(in srgb, var(--tw-c) 16%, transparent);color:var(--ink-1);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tw-c) 45%, transparent)}.sld-page .tw-mix-keys button:focus-visible{box-shadow:inset 0 0 0 2px var(--brand)}.sld-page .tw-mix-keys i{background:var(--tw-c);border-radius:2px;width:8px;height:8px}.sld-page .tw-mix-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sld-page .tw-mix-kw{color:var(--ink-1);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.sld-page .tw-mix-pc{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:500}.sld-page .tw-mix-note{color:var(--ink-3);margin:6px 0 2px;font-size:11px;line-height:1.4}.sld-page .tw-legend{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.sld-page .tw-legend .tw-chip{--tw-c:#34d399;background:var(--tw-glass-solid);border-color:var(--tw-glass-line);box-shadow:var(--tw-rest);font-variant-numeric:tabular-nums}.sld-page .tw-legend .tw-chip.on{border-color:var(--brand-line);background:color-mix(in srgb, var(--bg-1) 86%, rgb(var(--brand-rgb)));color:var(--ink-1)}.sld-page .tw-legend .tw-chip:focus-visible,.sld-page .tw-tools button:focus-visible,.sld-page .tw-card button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.sld-page .sld-zoom.tw-tools{background:var(--tw-glass-solid);border-color:var(--tw-glass-line);box-shadow:var(--tw-glass-hi), var(--tw-rest);border-radius:11px}.sld-page .tw-tools button svg{width:15px;height:15px}.sld-page .tw-hover,.sld-page .tw-card{--tw-c:var(--ink-3);background:var(--tw-glass);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);border:1px solid var(--tw-glass-line);box-shadow:var(--tw-glass-hi), var(--tw-float)}.sld-page .tw-hover:before,.sld-page .tw-card:before{content:"";background:linear-gradient(90deg, var(--tw-c), transparent);opacity:.85;pointer-events:none;height:1px;position:absolute;top:0;left:14px;right:40%}.sld-page .tw-hover{pointer-events:none;z-index:9;opacity:0;visibility:hidden;will-change:transform, opacity;border-radius:13px;width:268px;padding:13px 14px 12px;transition:opacity .1s ease-in,translate .1s ease-in,visibility 0s linear .1s;position:absolute;top:0;left:0;translate:0 5px}.sld-page .tw-hover[data-state=on]{opacity:1;visibility:visible;transition:opacity .18s ease-out 60ms, translate .26s var(--tw-ease) 60ms, visibility 0s linear 0s;translate:0}.sld-page .tw-hover[data-state=on][data-glide="1"]{transition:opacity .18s ease-out 60ms, translate .26s var(--tw-ease) 60ms, visibility 0s linear 0s, transform .24s var(--tw-ease)}.sld-page .tw-card{overscroll-behavior:contain;scrollbar-width:thin;width:292px;max-width:100%;min-height:0;animation:tw-card-in .26s var(--tw-ease);border-radius:14px;flex:0 auto;padding:14px 14px 12px 15px;position:relative;overflow-y:auto}@keyframes tw-card-in{0%{opacity:0;translate:0 -6px}}.sld-page .tw-card .tw-rd-head{padding-right:26px}.sld-page .tw-card-x{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background-color .15s,color .15s;display:grid;position:absolute;top:9px;right:9px}.sld-page .tw-card-x:hover{background:color-mix(in srgb, var(--ink-1) 8%, transparent);color:var(--ink-1)}.sld-page .tw-card-go{height:28px;margin-top:12px}.sld-page .tw-rd-head{align-items:flex-start;gap:9px;display:flex}.sld-page .tw-rd-head .tw-dot{margin-top:6px}.sld-page .tw-rd-name{flex:1;min-width:0}.sld-page .tw-rd-name b{color:var(--ink-1);overflow-wrap:anywhere;font-size:13.5px;font-weight:600;line-height:1.35;display:block}.sld-page .tw-rd-name span{color:var(--ink-3);margin-top:1px;font-size:11.5px;display:block}.sld-page .tw-status{white-space:nowrap;color:var(--ink-3);background:color-mix(in srgb, var(--ink-1) 7%, transparent);border-radius:999px;flex:none;margin-top:1px;padding:0 8px;font-size:10.5px;font-weight:600;line-height:18px}.sld-page .tw-status.s-flow,.sld-page .tw-status.s-draw,.sld-page .tw-status.s-live{color:color-mix(in srgb, var(--tw-c) 62%, var(--ink-1));background:color-mix(in srgb, var(--tw-c) 15%, transparent)}.sld-page .tw-status.s-nodata{color:#f5b84a;background:#f5b84a24}body.light .sld-page .tw-status.s-nodata{color:#8a5d05;background:#d4930f24}.sld-page .tw-rd-hero{margin-top:12px}.sld-page .tw-rd-hero>span{color:var(--ink-3);font-size:11.5px;display:block}.sld-page .tw-rd-hero strong{letter-spacing:-.015em;color:var(--ink-1);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:1px;font-size:26px;font-weight:600;line-height:1.12;display:block}.sld-page .tw-rd-hero strong i{letter-spacing:0;color:var(--ink-3);margin-left:4px;font-size:13px;font-style:normal;font-weight:500}.sld-page .tw-trend{margin:9px 0 0}.sld-page .tw-trend-plot{height:40px;position:relative}.sld-page .tw-trend-plot svg{width:100%;height:100%;display:block;overflow:visible}.sld-page .tw-trend-now{background:var(--tw-c);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--tw-c) 24%, transparent);border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute}.sld-page .tw-trend figcaption{color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;margin-top:5px;font-size:11px;display:flex}.sld-page .tw-rd-grid{border-top:1px solid var(--tw-glass-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:12px 0 0;padding:11px 0 0;display:grid}.sld-page .tw-rd-grid>div{min-width:0}.sld-page .tw-rd-grid dt{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.sld-page .tw-rd-grid dd{color:var(--ink-1);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:13px;font-weight:600;overflow:hidden}.sld-page .tw-note{color:var(--ink-3);margin:9px 0 0;font-size:11.5px;line-height:1.45}.sld-page .tw-rd-foot{color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin:11px 0 0;font-size:11px;display:flex}.sld-page .tw-live-dot{background:var(--ok);border-radius:50%;flex:none;width:6px;height:6px}.sld-page .tw-rd-foot.is-stale{color:#f5b84a}.sld-page .tw-rd-foot.is-stale .tw-live-dot{background:#f5b84a}body.light .sld-page .tw-rd-foot.is-stale{color:#8a5d05}body.light .sld-page .tw-rd-foot.is-stale .tw-live-dot{background:#d4930f}.sld-page .tw-fallback{z-index:10;text-align:center;background:var(--bg-0);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.sld-page .tw-fallback b{color:var(--ink-1);font-size:14px}.sld-page .tw-fallback span{color:var(--ink-3);max-width:40ch;font-size:12.5px}.sld-page .tw-fallback div{gap:8px;margin-top:10px;display:flex}.sld-page .tw-wall .tw-tools,.sld-page .tw-wall .tw-hint{display:none}@media (pointer:coarse){.sld-page .tw-tools button{width:38px;height:38px}.sld-page .tw-legend .tw-chip,.sld-page .tw-tag-card{height:30px}.sld-page .tw-mix-keys button{height:32px}.sld-page .tw-card-x{width:36px;height:36px;top:6px;right:6px}}.sld-page .sld-canvas.tw-view{container:tw-view/inline-size}@container tw-view (max-width:720px){.sld-page .tw-hud{flex-direction:column;align-items:stretch;gap:8px}.sld-page .tw-hud-side{margin-left:0}.sld-page .tw-legend{justify-content:flex-start;align-self:stretch}.sld-page .tw-mix{width:auto;max-width:420px;padding:9px 12px 7px}.sld-page .tw-mix-head b{font-size:18px}.sld-page .tw-mix-bar{margin:7px 0 5px}.sld-page .tw-mix-keys{flex-wrap:wrap;gap:0 12px;display:flex}.sld-page .tw-mix-keys button{grid-template-columns:8px auto auto auto;gap:6px;width:auto;margin:0 -6px}.sld-page .tw-mix-pc{text-align:left}.sld-page .tw-legend{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;margin:0 -14px;padding:0 14px 2px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000)}.sld-page .tw-legend::-webkit-scrollbar{display:none}.sld-page .tw-legend .tw-chip{flex:none}}@container tw-view (max-width:520px){.sld-page .tw-mix-kw{display:none}.sld-page .tw-mix-keys button{grid-template-columns:8px auto auto;font-size:11.5px}.sld-page .tw-mix-note{margin-top:4px}}.sld-page.tw-compact:not(.sld-fs) .sld-canvas.tw-view{container:tw-view/size}@container tw-view (max-width:899px) or (max-height:559px){.sld-page.tw-compact:not(.sld-fs) .tw-mix{border-radius:11px;width:auto;max-width:min(300px,62%);padding:8px 11px 6px}.sld-page.tw-compact:not(.sld-fs) .tw-mix-head b{font-size:17px}.sld-page.tw-compact:not(.sld-fs) .tw-mix-head span{font-size:11px}.sld-page.tw-compact:not(.sld-fs) .tw-mix-bar{height:5px;margin:6px 0 3px}.sld-page.tw-compact:not(.sld-fs) .tw-mix-keys{flex-wrap:wrap;gap:0 10px;display:flex}.sld-page.tw-compact:not(.sld-fs) .tw-mix-keys button{grid-template-columns:8px auto auto;gap:6px;width:auto;height:22px;margin:0 -5px;padding:0 5px;font-size:11.5px}.sld-page.tw-compact:not(.sld-fs) .tw-mix-kw{display:none}.sld-page.tw-compact:not(.sld-fs) .tw-mix-pc{text-align:left}.sld-page.tw-compact:not(.sld-fs) .tw-mix-note{margin:2px 0 1px;font-size:10.5px}}@container tw-view (min-width:420px){.sld-page.tw-compact:not(.sld-fs) .tw-hud{flex-direction:row;align-items:flex-start;gap:10px}.sld-page.tw-compact:not(.sld-fs) .tw-hud-side{margin-left:auto}.sld-page.tw-compact:not(.sld-fs) .tw-legend{flex-wrap:wrap;justify-content:flex-end;align-self:auto;margin:0;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}}@container tw-view (max-width:419px) or (max-height:299px){.sld-page.tw-compact:not(.sld-fs) .tw-mix-keys,.sld-page.tw-compact:not(.sld-fs) .tw-mix-note,.sld-page.tw-compact:not(.sld-fs) .tw-tools{display:none}.sld-page.tw-compact:not(.sld-fs) .tw-mix{align-self:flex-start;max-width:100%}.sld-page.tw-compact:not(.sld-fs) .tw-mix-bar{margin-bottom:2px}}@container tw-view (min-width:1200px){.sld-page .tw-wall .tw-hud,.sld-page .tw-wall .tw-cardbar{zoom:1.25}.sld-page .tw-wall .tw-tag-card{border-radius:10px;gap:8px;max-width:300px;height:32px;padding:0 12px 0 10px}.sld-page .tw-wall .tw-tag-t,.sld-page .tw-wall .tw-tag-v{font-size:14px}}@media (max-width:600px){.sld-page .sld-toolbar .sld-leg.sld-icon-btn.tw-wall-btn{display:none}.sld-page .tw-tag-card{max-width:200px}.sld-page .tw-hud:has(.tw-card){z-index:8}.sld-page .tw-card{border-radius:16px;width:auto;max-height:62%;animation-name:tw-sheet-in;position:absolute;bottom:-6px;left:-6px;right:-6px}@keyframes tw-sheet-in{0%{opacity:0;translate:0 16px}}}@media (prefers-reduced-motion:reduce){.sld-page .tw-tags,.sld-page .tw-tag-card,.sld-page .sld-hint.tw-hint,.sld-page .tw-mix-bar span,.sld-page .tw-hover,.sld-page .tw-hover[data-state=on],.sld-page .tw-hover[data-state=on][data-glide="1"]{transition:none}.sld-page .tw-card{animation:none}.sld-page .tw-hover{translate:none}}.sld-page .tw-loading{cursor:default;place-items:center;display:grid}.sld-page .tw-loading span{color:var(--ink-3);font-size:12px}
.ld{--bg-0:#0b0f14;--bg-1:#10161e;--bg-2:#151c26;--bg-3:#1c2532;--line:#202a38;--line-2:#2a3547;--ink-1:#e6edf5;--ink-2:#a6b3c4;--ink-3:#7c8899;--ink-4:#5a6576;--r-md:8px;--r-lg:12px;--elev-1:0 1px 2px #00000047, 0 1px 1px #0000002e;--elev-2:0 4px 12px #00000047, 0 2px 4px #00000029;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);width:100%;height:100%;color:var(--ink-1);position:relative}.ld.light{--bg-0:#f6f8fb;--bg-1:#fff;--bg-2:#f1f4f9;--bg-3:#e7ecf3;--line:#e5eaf1;--line-2:#d7dee8;--ink-1:#0f172a;--ink-2:#475569;--ink-3:#64748b;--ink-4:#94a3b8;--elev-1:0 1px 2px #0f172a14;--elev-2:0 4px 14px #0f172a14, 0 2px 4px #0f172a0d}.ld-lsk{background:var(--bg-2);border-radius:6px;position:relative;overflow:hidden}.ld-lsk:after{content:"";animation:ld-sweep 1.6s var(--ease-in-out) infinite;background:linear-gradient(90deg,#0000,#ffffff0f 50%,#0000);position:absolute;inset:0;transform:translate(-100%)}.ld-lsk.circle{border-radius:50%}.ld-lsk.line{border-radius:5px;height:10px}.ld-lsk.text{border-radius:4px;height:9px}.ld.light .ld-lsk{background:var(--bg-3)}.ld.light .ld-lsk:after{background:linear-gradient(90deg,#0000,#0f172a0d 50%,#0000)}@keyframes ld-sweep{to{transform:translate(100%)}}.ld-linear{background:var(--brand-soft);width:100%;height:4px;position:relative;overflow:hidden}.ld-linear .bar{background:var(--brand);will-change:left, right;position:absolute;inset:0}.ld-linear .bar.b1{animation:2.1s cubic-bezier(.65,.815,.735,.395) infinite ld-indeterminate1}.ld-linear .bar.b2{animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite ld-indeterminate2}.ld-linear.determinate .bar{animation:ld-determinate 2.6s var(--ease-in-out) infinite}@keyframes ld-indeterminate1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes ld-indeterminate2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes ld-determinate{0%{left:0;right:100%}65%{left:0;right:8%}to{left:0;right:8%}}.ld-circ{line-height:0;animation:1.4s linear infinite ld-circ-rotate;display:inline-block}.ld-circ .track{stroke:var(--line);fill:none}.ld-circ .arc{stroke:var(--brand);stroke-linecap:round;fill:none;animation:1.4s ease-in-out infinite ld-circ-dash}@keyframes ld-circ-rotate{to{transform:rotate(360deg)}}@keyframes ld-circ-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:100 200;stroke-dashoffset:-15px}to{stroke-dasharray:100 200;stroke-dashoffset:-125px}}.ld-ring-sm{border:2px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite ld-spin;display:inline-block}@keyframes ld-spin{to{transform:rotate(360deg)}}.ld-center{flex-direction:column;justify-content:center;align-items:center;gap:11px;height:100%;display:flex}.ld-cap{color:var(--ink-2);font-size:12.5px;font-weight:500}.ld-sub{color:var(--ink-4);font-size:11px}.ld-rsk{align-items:center;gap:18px;display:flex}.ld-rsk-legend{flex-direction:column;flex:1;gap:13px;display:flex}.ld-rsk-row{align-items:center;gap:9px;display:flex}.ld-rsk-sep{background:var(--line);height:1px;margin:15px 0}.ld-rsk-stats{justify-content:space-between;gap:14px;display:flex}.ld-rsk-stats>div{flex-direction:column;flex:1;gap:7px;display:flex}.ld-bld{flex-direction:column;gap:12px;display:flex}.ld-bld-row{color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.ld-bld-row.dim{color:var(--ink-4)}.ld-bld-ico{border:1px solid var(--line-2);background:var(--bg-2);border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.ld-bld-ico.done{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.ld-bld-ico.done svg{width:9px;height:9px}.ld-bld-cap{color:var(--ink-3);margin-top:8px;font-size:11px}.ld-tsk{width:100%}.ld-tsk-row{border-bottom:1px solid var(--line);grid-template-columns:1.7fr 1fr 1.2fr .8fr;align-items:center;gap:14px;height:38px;padding:0 14px;display:grid}.ld-tsk-row:last-child{border-bottom:0}.ld-tsk-head{background:var(--bg-2);border-bottom:1px solid var(--line-2);height:36px}.ld-tsk-name{align-items:center;gap:9px;display:flex}.ld-tsk-row:nth-child(3) .ld-lsk:after{animation-delay:80ms}.ld-tsk-row:nth-child(4) .ld-lsk:after{animation-delay:.16s}.ld-tsk-row:nth-child(5) .ld-lsk:after{animation-delay:.24s}.ld-tsk-row:nth-child(6) .ld-lsk:after{animation-delay:.32s}.ld-tsk-row:nth-child(7) .ld-lsk:after{animation-delay:.4s}.ld-tsk-row:nth-child(8) .ld-lsk:after{animation-delay:.48s}.ld-tsk-row:nth-child(9) .ld-lsk:after{animation-delay:.56s}.ld-tsk-row:nth-child(10) .ld-lsk:after{animation-delay:.64s}.ld-dgl{width:100%}.ld-dgl-head{background:var(--bg-2);height:38px;color:var(--ink-3);border-bottom:1px solid var(--line-2);grid-template-columns:1.7fr 1fr 1.2fr .8fr;align-items:center;gap:14px;padding:0 14px;font-size:11.5px;font-weight:600;display:grid}.ld-dgl-body{position:relative}.ld-dgl-body.ghost{opacity:.45}.ld-dgl-row{border-bottom:1px solid var(--line);height:34px;color:var(--ink-3);font-variant-numeric:tabular-nums;grid-template-columns:1.7fr 1fr 1.2fr .8fr;align-items:center;gap:14px;padding:0 14px;font-size:12px;display:grid}.ld-dgl-row:last-child{border-bottom:0}.ld-dgl-scrim{-webkit-backdrop-filter:blur(1.5px);background:#0b0f148c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ld.light .ld-dgl-scrim{background:#f6f8fb99}.ld-dgl-pill{background:var(--bg-1);border:1px solid var(--line-2);box-shadow:var(--elev-2);color:var(--ink-1);border-radius:999px;align-items:center;gap:9px;padding:8px 14px;font-size:12px;font-weight:500;display:inline-flex}.ld-csk{gap:10px;height:calc(100% - 24px);display:flex}.ld-csk-y{flex-direction:column;justify-content:space-between;width:30px;padding:2px 0;display:flex}.ld-csk-plot{flex:1;position:relative}.ld-csk-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.ld-csk-grid i{background:var(--line);height:1px}.ld-csk-spark{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ld-csk-spark path{fill:none;stroke:var(--brand);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:620;stroke-dashoffset:620px;animation:ld-csk-draw 2.6s var(--ease-in-out) infinite}@keyframes ld-csk-draw{0%{stroke-dashoffset:620px;opacity:.15}35%{opacity:.6}65%{stroke-dashoffset:0;opacity:.6}to{stroke-dashoffset:0;opacity:0}}.ld-csk-x{justify-content:space-between;margin-top:9px;padding-left:40px;display:flex}.ld-csk-bars{align-items:flex-end;gap:8px;height:100%;display:flex}.ld-csk-bars .ld-lsk{border-radius:5px 5px 2px 2px;flex:1}.ld-scan-wrap{position:absolute;inset:0;overflow:hidden}.ld-scan-grid{opacity:.55;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:100% 25%,16.66% 100%;position:absolute;inset:0}.ld-scan-line{background:linear-gradient(180deg, transparent, var(--brand), transparent);width:2px;box-shadow:0 0 14px 1px var(--brand-line);animation:ld-scan-x 2.4s var(--ease-in-out) infinite;position:absolute;top:0;bottom:0;left:0}@keyframes ld-scan-x{0%{opacity:0;left:-2px}8%{opacity:1}92%{opacity:1}to{opacity:0;left:100%}}.ld-scan-cap{color:var(--ink-2);background:var(--bg-1);border:1px solid var(--line-2);box-shadow:var(--elev-1);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.MuiDataGrid-root .MuiDataGrid-cellSkeleton .MuiSkeleton-root{background:color-mix(in srgb, currentColor 9%, transparent);border-radius:5px;animation:none;position:relative;overflow:hidden}.MuiDataGrid-root .MuiDataGrid-cellSkeleton .MuiSkeleton-root:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, currentColor 13%, transparent) 50%, transparent);animation:1.6s cubic-bezier(.65,0,.35,1) infinite ld-sweep;position:absolute;inset:0;transform:translate(-100%)}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(2) .MuiSkeleton-root:after{animation-delay:60ms}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(3) .MuiSkeleton-root:after{animation-delay:.12s}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(4) .MuiSkeleton-root:after{animation-delay:.18s}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(5) .MuiSkeleton-root:after{animation-delay:.24s}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(6) .MuiSkeleton-root:after{animation-delay:.3s}.MuiDataGrid-root .MuiDataGrid-rowSkeleton:nth-child(7) .MuiSkeleton-root:after{animation-delay:.36s}@media (prefers-reduced-motion:reduce){.ld-lsk:after,.ld-linear .bar,.ld-circ,.ld-circ .arc,.ld-ring-sm,.ld-csk-spark path,.ld-scan-line,.MuiDataGrid-root .MuiDataGrid-cellSkeleton .MuiSkeleton-root:after{animation:none!important}}
.ua-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.ua-kpi{--ua-ink-strong:var(--ink-1,#e6edf5);--ua-ink-soft:#c9d2de;--ua-ink-faint:#9aa7b8;flex-direction:column;gap:8px;min-width:0;padding:14px 16px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.ua-kpi-now{--ua-accent:var(--ok,#34d399)}.ua-kpi-day{--ua-accent:var(--info,#60a5fa)}.ua-kpi-week{--ua-accent:#a78bfa}.ua-kpi-geo{--ua-accent:var(--warn,#fbbf24)}body.light .ua-kpi{--ua-ink-soft:var(--ink-2,#475569);--ua-ink-faint:var(--ink-3,#64748b)}.ua-kpi:before{content:"";background:var(--ua-accent,var(--bg-3));border-radius:0 2px 2px 0;width:2px;position:absolute;top:12px;bottom:12px;left:0}.ua-kpi.MuiPaper-root:hover{border-color:var(--line-2,#2a3547);box-shadow:var(--elev-2,0 4px 12px #00000047);transform:translateY(-2px)}.ua-kpi-label{min-width:0;color:var(--ua-ink-strong);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.ua-kpi-ico{background:var(--bg-3,#1c2532);width:22px;height:22px;color:var(--ink-1,#e6edf5);border-radius:6px;flex:none;place-items:center;display:grid}.ua-kpi-label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ua-kpi-val{letter-spacing:-.02em;min-height:1.15em;color:var(--ua-ink-strong);align-items:baseline;gap:5px;font-size:22px;font-weight:600;line-height:1.15;display:flex}.ua-kpi-val small{color:var(--ua-ink-soft);letter-spacing:0;font-size:12px;font-weight:500}.ua-kpi-sub{min-width:0;color:var(--ua-ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:11.5px;display:flex}.ua-kpi-num,.ua-kpi-sub-inner{align-items:baseline;gap:inherit;min-width:0;display:inline-flex}.ua-kpi-sub-inner{flex:auto;align-items:center}.ua-kpi-sub b{color:var(--ua-ink-strong);font-weight:600}.ua-kpi-sub .ua-flag{width:18px;height:12px}.ua-kpi-sub-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ua-spark{align-items:flex-end;gap:3px;height:26px;display:flex}.ua-spark>i{min-width:3px;height:max(2px, var(--h,0%));background:var(--ua-accent,var(--ink-3));opacity:.55;border-radius:2px 2px 0 0;flex:1;transition:height .4s cubic-bezier(.2,.8,.2,1)}.ua-spark>i:last-child{opacity:1}.ua-spark>i[data-empty]{background:var(--bg-3,#1c2532);opacity:1}.ua-share{border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.ua-share[data-empty]{background:var(--bg-3,#1c2532)}.ua-share>i{flex:1 1 var(--w,0%);background:var(--ua-accent,var(--ink-3));min-width:3px;opacity:calc(1 - var(--i,0) * .18);transition:flex-basis .4s cubic-bezier(.2,.8,.2,1)}.ua-geo-legend{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 8px;width:100%;min-width:0;display:grid}.ua-geo-item{display:contents}.ua-geo-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ua-geo-item b{text-align:right;font-variant-numeric:tabular-nums}.ua-table .ms-dg-toolbar{flex-wrap:wrap;row-gap:8px}.ua-seg-count{text-align:center;font-variant-numeric:tabular-nums;min-width:16px;color:var(--ink-3,#7c8899);background:var(--bg-3,#1c2532);border-radius:8px;padding:0 5px;font-size:10.5px;line-height:16px}.Mui-selected .ua-seg-count{color:var(--ink-2,#a6b3c4)}.ua-tb-meta{color:var(--ink-3,#7c8899);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12px;display:inline-flex}.ua-tb-meta b{color:var(--ink-2,#a6b3c4);font-weight:600}.ua-tb-meta .ua-dot-sep{color:var(--ink-4,#5a6576)}.ua-live{vertical-align:middle;background:var(--ok,#34d399);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite ua-pulse;display:inline-block;box-shadow:0 0 0 3px #34d3992e}@keyframes ua-pulse{0%,to{box-shadow:0 0 0 3px #34d3992e}50%{box-shadow:0 0 0 6px #34d3990f}}.ua-user{align-items:center;gap:10px;min-width:0;display:flex}.ua-av-wrap{flex:none;display:inline-flex;position:relative}.ua-presence{border:2px solid var(--bg-1,#10161e);background:var(--ink-4,#5a6576);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.ua-presence.now{background:var(--ok,#34d399)}.ua-presence.today{background:var(--info,#60a5fa)}.ua-user-text{flex-direction:column;min-width:0;display:flex}span.ua-user-name{color:var(--ink-1,#e6edf5);font-size:13px;font-weight:600;line-height:1.3}.ua-user-email{color:var(--ink-3,#7c8899);font-size:11.5px;line-height:1.3}.ua-truncate{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ua-loc{align-items:center;gap:8px;min-width:0;display:flex}.ua-flag{border-radius:2px;flex:none;width:22px;height:15px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000002e}.ua-flag img{object-fit:cover;width:100%;height:100%;display:block}.ua-flag-ph{background:var(--bg-3,#1c2532);width:22px;height:15px;color:var(--ink-4,#5a6576);border-radius:2px;flex:none;place-items:center;display:grid}.ua-loc-text{flex-direction:column;min-width:0;display:flex}.ua-loc-city{color:var(--ink-1,#e6edf5);font-size:13px;line-height:1.3}.ua-loc-country{color:var(--ink-3,#7c8899);font-size:11.5px;line-height:1.3}.ua-ip{letter-spacing:.01em;color:var(--ink-2,#a6b3c4);font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:12px}.ua-time{font-variant-numeric:tabular-nums;flex-direction:column;min-width:0;display:flex}.ua-time-rel{color:var(--ink-1,#e6edf5);font-size:13px;line-height:1.3}.ua-time-abs{color:var(--ink-3,#7c8899);font-size:11.5px;line-height:1.3}.ua-dash{color:var(--ink-4,#5a6576)}.ua-tag-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;margin-right:6px}.ua-tag-dot.pulse{animation:2s ease-in-out infinite ua-tag-pulse}@keyframes ua-tag-pulse{0%,to{opacity:1}50%{opacity:.45}}.ua-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;padding:24px;display:flex}.ua-empty>*{flex-shrink:0}.ua-empty-ico{border:1px solid var(--line,#202a38);background:var(--bg-2,#151c26);width:40px;height:40px;color:var(--ink-3,#7c8899);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}@media (max-width:1100px){.ua-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.ua-kpi{padding:12px 14px}.ua-kpi-val{font-size:20px}.ua-tb-meta .ua-tb-updated{display:none}}@media (max-width:600px){.ua-table .ua-seg{flex:100%;order:1}}@media (max-width:480px){.ua-kpis{grid-template-columns:1fr;gap:10px}}@keyframes ua-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes ua-row-in-a{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ua-row-in-b{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ua-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ua-grow{0%{transform:scaleY(0)}to{transform:none}}.ua-kpi{animation:.42s cubic-bezier(.2,.8,.2,1) backwards ua-rise}.ua-kpi-day{animation-delay:60ms}.ua-kpi-week{animation-delay:.12s}.ua-kpi-geo{animation-delay:.18s}.ua-fade{animation:.35s ease-out backwards ua-fade-in}.ua-spark>i{transform-origin:bottom;animation:.4s cubic-bezier(.2,.8,.2,1) backwards ua-grow;animation-delay:calc(var(--i,0) * 20ms)}@keyframes ua-grow-x{0%{transform:scaleX(0)}to{transform:none}}.ua-share>i{transform-origin:0;animation:.4s cubic-bezier(.2,.8,.2,1) backwards ua-grow-x;animation-delay:calc(var(--i,0) * 60ms)}.ua-table .MuiDataGrid-row.ua-row-a{animation:.3s cubic-bezier(.2,.8,.2,1) backwards ua-row-in-a}.ua-table .MuiDataGrid-row.ua-row-b{animation:.3s cubic-bezier(.2,.8,.2,1) backwards ua-row-in-b}.ua-table .MuiDataGrid-row.ua-d1{animation-delay:30ms}.ua-table .MuiDataGrid-row.ua-d2{animation-delay:60ms}.ua-table .MuiDataGrid-row.ua-d3{animation-delay:90ms}.ua-table .MuiDataGrid-row.ua-d4{animation-delay:.12s}.ua-table .MuiDataGrid-row.ua-d5{animation-delay:.15s}.ua-table .MuiDataGrid-row.ua-d6{animation-delay:.18s}.ua-table .MuiDataGrid-row.ua-d7{animation-delay:.21s}.ua-table .MuiDataGrid-row.ua-d8{animation-delay:.24s}.ua-table .MuiDataGrid-row.ua-d9{animation-delay:.27s}.ua-table .MuiDataGrid-row.ua-d10{animation-delay:.3s}.ua-table .MuiDataGrid-row.ua-d11{animation-delay:.33s}@media (prefers-reduced-motion:reduce){.ua-kpi,.ua-spark>i,.ua-share>i,.ua-bar .MuiLinearProgress-bar{transition:none}.ua-kpi.MuiPaper-root:hover{transform:none}.ua-live,.ua-tag-dot.pulse,.ua-kpi,.ua-fade,.ua-spark>i,.ua-share>i,.ua-table .MuiDataGrid-row.ua-row-a,.ua-table .MuiDataGrid-row.ua-row-b{animation:none}}
