@font-face{font-family:Plex Sans;font-weight:400;font-display:swap;src:url(/fonts/plex-sans-cyrillic-400.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Plex Sans;font-weight:400;font-display:swap;src:url(/fonts/plex-sans-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plex Sans;font-weight:500;font-display:swap;src:url(/fonts/plex-sans-cyrillic-500.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Plex Sans;font-weight:500;font-display:swap;src:url(/fonts/plex-sans-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plex Sans;font-weight:600;font-display:swap;src:url(/fonts/plex-sans-cyrillic-600.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Plex Sans;font-weight:600;font-display:swap;src:url(/fonts/plex-sans-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-cyrillic-400.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app: #f4f5f7;--surface: #ffffff;--surface-2: #f7f8fa;--hover: #eef0f3;--ink: #0d1626;--ink-2: #3a4657;--muted: #5f6b7d;--faint: #8a95a5;--line: #e2e5ea;--line-2: #cdd2da;--accent: #1d4ed8;--accent-hover: #1a43bb;--accent-soft: #eaf0fe;--accent-ink: #1d4ed8;--ok: #157f3c;--ok-soft: #e7f6ec;--warn: #a15c00;--warn-soft: #fdf3e2;--bad: #b42318;--bad-soft: #fdecea;--focus: rgba(29, 78, 216, .16);--shadow: 0 1px 2px rgba(13, 22, 38, .06);--shadow-lg: 0 16px 48px rgba(13, 22, 38, .18);--backdrop: rgba(13, 22, 38, .42);--chart-grid: #e8ebef;--radius: 6px;--font: "Plex Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--app: #0b111c;--surface: #111a28;--surface-2: #0f1724;--hover: #182235;--ink: #e7ebf1;--ink-2: #b3bcc9;--muted: #8591a3;--faint: #667286;--line: #1f2a3b;--line-2: #2c394d;--accent: #3b6ff0;--accent-hover: #4b7cf5;--accent-soft: #16223b;--accent-ink: #8eb0ff;--ok: #4cc27c;--ok-soft: #10261b;--warn: #e0a24a;--warn-soft: #2a2010;--bad: #f07a6e;--bad-soft: #2d1517;--focus: rgba(126, 163, 255, .22);--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--backdrop: rgba(3, 6, 12, .66);--chart-grid: #1c2636;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--app);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.25}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hidden{display:none!important}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:12.5px}.grow{flex:1}.nowrap{white-space:nowrap}.break{word-break:break-all}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:#fff;font:500 13.5px var(--font);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-sec{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.btn-sec:hover{background:var(--hover);border-color:var(--line-2)}.btn-ghost{background:transparent;color:var(--ink-2);border-color:transparent}.btn-ghost:hover{background:var(--hover);border-color:transparent;color:var(--ink)}.btn-danger{background:var(--surface);color:var(--bad);border-color:var(--line-2)}.btn-danger:hover{background:var(--bad-soft);border-color:var(--bad)}.btn-danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger-solid:hover{filter:brightness(1.08);background:var(--bad);border-color:var(--bad)}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.btn-icon{width:34px;padding:0}.btn-sm.btn-icon{width:28px}.link-btn{background:none;border:0;padding:0;color:var(--accent-ink);font:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.input,.select,.textarea{width:100%;height:34px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:400 13.5px var(--font);transition:border-color .12s,box-shadow .12s}.textarea{height:auto;min-height:76px;padding:8px 10px;resize:vertical;line-height:1.45}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.input:disabled,.select:disabled{opacity:.6;cursor:not-allowed}.input.mono{font-family:var(--mono);font-size:13px}.input.dirty{border-color:var(--warn)}.field{display:grid;gap:5px}.field>label,.label{font-size:12.5px;font-weight:500;color:var(--ink-2)}.hint{color:var(--muted);font-size:12.5px;line-height:1.45}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-grid{display:grid;gap:14px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px}.check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.switch{position:relative;flex:none;width:36px;height:20px;padding:0;border:0;border-radius:999px;background:var(--line-2);cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}.switch.on{background:var(--accent)}.switch.on:after{left:18px}.switch:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:500;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge.plain:before{display:none}.badge.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}.badge.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.badge.bad{color:var(--bad);background:var(--bad-soft);border-color:transparent}.badge.acc{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto}.side-brand{display:flex;align-items:center;gap:9px;height:56px;padding:0 18px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;font-size:16px;flex:none}.side-brand:hover{text-decoration:none}.side-brand .tag{margin-left:auto;padding:1px 6px;border:1px solid var(--line-2);border-radius:4px;color:var(--muted);font:500 10.5px var(--mono);letter-spacing:.04em}.side-zone{padding:14px 14px 6px}.side-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;margin:0 4px 10px}.side-back:hover{color:var(--ink);text-decoration:none}.zone-pick{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font:600 13.5px var(--font);text-align:left;cursor:pointer}.zone-pick:hover{border-color:var(--line-2)}.zone-pick .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-pick svg{width:14px;height:14px;color:var(--muted);flex:none}.side-nav{padding:8px 10px 16px;display:grid;gap:1px}.side-h{margin:14px 10px 6px;color:var(--faint);font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase}.side-h:first-child{margin-top:4px}.nav-a{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--radius);color:var(--ink-2);font-size:13.5px}.nav-a svg{width:17px;height:17px;flex:none;color:var(--muted)}.nav-a:hover{background:var(--hover);color:var(--ink);text-decoration:none}.nav-a.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.nav-a.active svg{color:var(--accent-ink)}.nav-a .cnt{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:11px;text-align:center}.nav-a .cnt.bad{color:var(--bad);border-color:transparent;background:var(--bad-soft)}.nav-sub{padding-left:37px;height:30px;font-size:13px}.side-foot{margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);display:grid;gap:2px}.main{min-width:0;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:56px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;color:var(--muted)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}.crumbs b{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs .sep{color:var(--line-2)}.top-act{margin-left:auto;display:flex;align-items:center;gap:6px}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-lg)}.menu-h{padding:8px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu-h b{display:block;font-size:13.5px}.menu button,.menu a{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:5px;background:none;color:var(--ink);font:400 13.5px var(--font);text-align:left;cursor:pointer}.menu button:hover,.menu a:hover{background:var(--hover);text-decoration:none}.menu svg{width:16px;height:16px;color:var(--muted)}.menu .sel{margin-left:auto;color:var(--accent-ink)}.menu-list{max-height:340px;overflow-y:auto}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:12.5px;text-transform:uppercase}.content{padding:28px 32px 56px;width:100%;max-width:1240px}.page-h{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-h h1{font-size:22px}.page-h p{margin:6px 0 0;color:var(--muted);max-width:720px}.page-h .act{margin-left:auto;display:flex;gap:8px;align-items:center}@media (max-width: 960px){.shell{grid-template-columns:1fr}.side{position:fixed;z-index:50;left:0;width:272px;transform:translate(-100%);transition:transform .18s;box-shadow:var(--shadow-lg)}.side.open{transform:none}.side-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--backdrop)}.top{padding:0 14px}.content{padding:20px 16px 48px}}@media (min-width: 961px){.burger{display:none!important}.side-scrim{display:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.card-h{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.card-h h2{font-size:15px}.card-h p{margin:3px 0 0;color:var(--muted);font-size:13px}.card-h .act{margin-left:auto;display:flex;gap:8px;align-items:center}.card-b{padding:18px 20px}.card-f{padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 8px 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-2>.card+.card,.grid-3>.card+.card,.grid-4>.card+.card{margin-top:0}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}}@media (max-width: 760px){.grid-2,.grid-4{grid-template-columns:1fr}}.stack>*+*{margin-top:16px}.setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:18px 20px}.setting+.setting{border-top:1px solid var(--line)}.setting h3{font-size:14.5px;margin-bottom:4px}.setting p{margin:0;color:var(--muted);font-size:13px;max-width:640px}.setting .ctl{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:120px}.setting .ctl .input{width:110px}.setting.wide{grid-template-columns:1fr}@media (max-width: 640px){.setting{grid-template-columns:1fr}.setting .ctl{justify-content:flex-start}}.kpi{padding:16px 18px}.kpi .k{color:var(--muted);font-size:12.5px}.kpi .v{margin-top:6px;font:500 24px/1.1 var(--font);letter-spacing:-.02em}.kpi .s{margin-top:6px;color:var(--muted);font-size:12px}.kpi .v.bad{color:var(--bad)}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{padding:10px 16px;text-align:left;color:var(--muted);font-weight:500;font-size:12px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover td{background:var(--surface-2)}.tbl .acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.tbl .right{text-align:right}.tbl td.mono{font-size:12.5px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink);font-size:15px;margin-bottom:6px}.empty .btn{margin-top:14px}.dom-cell{display:flex;align-items:center;gap:10px}.dom-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:13px;text-transform:uppercase;flex:none}.dom-cell b{font-weight:500}.toolbar{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .input{max-width:320px}.search{position:relative;flex:1;max-width:340px}.search svg{position:absolute;left:10px;top:9px;width:16px;height:16px;color:var(--faint)}.search .input{padding-left:32px;max-width:none}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs a,.tabs button{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font:500 13.5px var(--font);cursor:pointer;white-space:nowrap}.tabs a:hover,.tabs button:hover{color:var(--ink);text-decoration:none}.tabs .active{color:var(--accent-ink);border-bottom-color:var(--accent)}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.seg button{height:30px;padding:0 12px;border:0;border-left:1px solid var(--line-2);background:none;color:var(--ink-2);font:500 12.5px var(--font);cursor:pointer}.seg button:first-child{border-left:0}.seg button:hover{background:var(--hover)}.seg button.on{background:var(--accent-soft);color:var(--accent-ink)}.chart-box{position:relative}.chart-box svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid line{stroke:var(--chart-grid)}.chart-axis text{fill:var(--faint);font:11px var(--font)}.chart-tip{position:absolute;z-index:5;min-width:180px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:12.5px;pointer-events:none}.chart-tip .d{color:var(--muted);margin-bottom:4px}.chart-tip div{display:flex;align-items:center;gap:8px}.chart-tip b{margin-left:auto;font-weight:500}.dot{width:8px;height:8px;border-radius:50%;flex:none}.legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.legend button{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:400 12.5px var(--font);cursor:pointer}.legend button b{font-weight:500;color:var(--ink)}.legend button.off{opacity:.45}.spark{display:block;width:100%;height:40px;margin-top:10px}.modal-bg2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--backdrop);animation:td-fade .12s ease-out}.modal2{width:100%;max-width:480px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg)}.modal2.wide{max-width:860px}.modal2.xwide{max-width:1100px}.modal2-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.modal2-h h2{font-size:16px}.modal2-h .x{margin-left:auto}.modal2-b{padding:18px 20px;overflow:auto}.modal2-b>p:first-child{margin-top:0}.modal2-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 10px 10px}.modal2-err{color:var(--bad);font-size:13px;margin-top:10px}@keyframes td-fade{0%{opacity:0}}.toasts{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px;max-width:min(420px,calc(100vw - 40px))}.toast{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:13.5px;animation:td-fade .15s}.toast.bad{border-left-color:var(--bad)}.note{display:flex;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink-2);font-size:13px}.note.warn{border-color:transparent;background:var(--warn-soft);color:var(--ink)}.note.bad{border-color:transparent;background:var(--bad-soft);color:var(--ink)}.note.acc{border-color:transparent;background:var(--accent-soft);color:var(--ink)}.note svg{width:18px;height:18px;flex:none;margin-top:1px}.kv{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0}.kv>div{padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}.kv>div:nth-child(odd){color:var(--muted)}.kv>div:nth-last-child(-n+2){border-bottom:0}.copy-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.copy-row:last-child{border-bottom:0}.copy-row code{padding:6px 8px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);font:12.5px var(--mono);word-break:break-all}pre.log{margin:0;max-height:60vh;overflow:auto;padding:12px 14px;border-radius:6px;background:#0b111c;color:#c9d3e1;font:12px/1.5 var(--mono);white-space:pre-wrap;word-break:break-word}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:td-spin .7s linear infinite;vertical-align:-2px}@keyframes td-spin{to{transform:rotate(360deg)}}.loading{padding:48px;text-align:center;color:var(--muted)}.bar{height:6px;border-radius:999px;background:var(--hover);overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.bar i.warn{background:var(--warn)}.bar i.bad{background:var(--bad)}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--surface)}.login-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px;background:#0d1626;color:#c9d1dd;overflow:hidden}.login-side h2{color:#fff;font-size:28px;line-height:1.2;max-width:420px}.login-side p{max-width:420px;color:#a7b1c2}.login-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:18px}.login-main{position:relative;display:grid;place-items:center;padding:72px 20px 32px}.login-lang{position:absolute;top:20px;right:24px;display:inline-flex;align-items:center;gap:2px;padding:3px 3px 3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 1px 2px #0f172a0f;color:var(--muted)}.login-lang svg{margin-right:4px}.login-lang button{height:26px;min-width:38px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 12px/1 var(--mono);letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s}.login-lang button:hover{color:var(--ink)}.login-lang button.on{background:var(--accent);color:#fff;cursor:default}.login-lang button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-form{width:100%;max-width:380px}.login-form h1{font-size:24px;margin-bottom:24px}.login-form .input{height:40px;font-size:14.5px}.login-form button[type=submit]{width:100%;height:40px;font-size:14.5px}.pw{position:relative}.pw .input{padding-right:44px}.pw .btn{position:absolute;right:6px;top:6px}.captcha iframe{display:block;width:100%;height:66px;border:0;background:transparent;color-scheme:normal}.captcha.open{height:66px}.captcha.open iframe{position:fixed;z-index:1001;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;max-width:calc(100vw - 20px);border-radius:10px;box-shadow:var(--shadow-lg)}.captcha-bd{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--backdrop)}.captcha.open .captcha-bd{display:block}@media (max-width: 860px){.login{grid-template-columns:1fr}.login-side{display:none}}.rule{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}.rule:first-child{border-top:0}.rule.off{opacity:.55}.rule .ord{display:grid;gap:2px}.rule .nm{font-weight:500;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rule .cond{margin-top:3px;color:var(--muted);font-size:12.5px}.rule .hits{text-align:right;min-width:64px}.rule .hits b{display:block;font-weight:500;font-size:15px}@media (max-width: 760px){.rule{grid-template-columns:auto minmax(0,1fr)}.rule .ord,.rule .hits{display:none}}.cond-row{display:grid;grid-template-columns:auto 150px 1fr 150px 2fr auto;gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.cond-row+.cond-row{margin-top:8px}.cond-row.nohdr{grid-template-columns:auto 150px 150px 3fr auto}.cond-row .textarea{min-height:34px;height:34px}.cond-row .check{height:34px}@media (max-width: 760px){.cond-row,.cond-row.nohdr{grid-template-columns:1fr}}.modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.mode-thumb{position:relative;height:170px;overflow:hidden;background:#0b0c10;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;cursor:pointer}.mode-thumb .thumb-plain-t{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#8a90a2;font-size:13px}.node-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.node-metrics>div{padding:12px 20px;border-left:1px solid var(--line)}.node-metrics>div:nth-child(4n+1){border-left:0}.node-metrics>div:nth-child(n+5){border-top:1px solid var(--line)}.node-metrics .k{color:var(--muted);font-size:12px}.node-metrics .v{font-weight:500;font-size:15px;margin-top:2px}.node-metrics .s{color:var(--muted);font-size:11.5px}@media (max-width: 900px){.node-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.node-metrics>div:nth-child(n){border-left:1px solid var(--line);border-top:1px solid var(--line)}.node-metrics>div:nth-child(odd){border-left:0}.node-metrics>div:nth-child(-n+2){border-top:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.97);opacity:0}}@keyframes langpop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}body.ed-open{color-scheme:dark;--bg: #0a0b0f;--bg2: #101219;--card: #13151d;--card2: #171a24;--line: #222634;--line2: #2c3142;--text: #e6e8ee;--muted: #8a90a2;--dim: #5d6375;--accent: #6366f1;--accent2: #818cf8;--ok: #10b981;--ok-bg: #062e24;--warn: #f59e0b;--warn-bg: #3a2606;--bad: #ef4444;--bad-bg: #3b1013;--radius: 12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}body.ed-open *{box-sizing:border-box}body.ed-open a{color:var(--accent2)}body.ed-open .hidden{display:none!important}body.ed-open .muted{color:var(--muted)}body.ed-open .small{font-size:12px}body.ed-open .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body.ed-open input,body.ed-open select,body.ed-open textarea{background:var(--bg);border:1px solid var(--line2);color:var(--text);padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}body.ed-open input:focus,body.ed-open select:focus,body.ed-open textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f12e}body.ed-open textarea{resize:vertical;min-height:70px;width:100%}body.ed-open button{font:inherit;font-size:13px;font-weight:500;border:0;border-radius:8px;padding:8px 14px;cursor:pointer;background:var(--accent);color:#fff;transition:background .15s,opacity .15s,transform .05s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}body.ed-open button:hover{background:#5458e8}body.ed-open button:active{transform:translateY(1px)}body.ed-open button:disabled{opacity:.45;cursor:not-allowed}body.ed-open button.ghost{background:transparent;border:1px solid var(--line2);color:var(--text)}body.ed-open button.ghost:hover{background:var(--card2)}body.ed-open button.danger{background:#b91c1c}body.ed-open button.danger:hover{background:#dc2626}body.ed-open button.ok{background:#047857}body.ed-open button.ok:hover{background:#059669}body.ed-open button.sm{padding:5px 10px;font-size:12px}body.ed-open button.link{background:none;padding:0;color:var(--accent2)}body.ed-open a.btn-link{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:8px;padding:5px 10px;font-size:12px;color:var(--text);text-decoration:none;white-space:nowrap}body.ed-open a.btn-link:hover{background:var(--card2)}body.ed-open .st-detail{display:flex;gap:4px;flex-wrap:wrap}body.ed-open .toggle{width:38px;height:22px;border-radius:11px;background:var(--line2);position:relative;cursor:pointer;display:inline-block;flex:none;transition:background .15s;border:0;padding:0}body.ed-open .toggle:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .15s}body.ed-open .toggle.on{background:var(--ok)}body.ed-open .toggle.on:after{left:19px}body.ed-open .toggle:hover{background:#3a4057}body.ed-open .toggle.on:hover{background:#0ea371}body.ed-open .toggle.disabled{opacity:.35;cursor:not-allowed}body.ed-open .pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;background:var(--card2);color:var(--muted);border:1px solid var(--line)}body.ed-open .pill.ok{background:var(--ok-bg);color:#6ee7b7;border-color:#0b4a3a}body.ed-open .pill.warn{background:var(--warn-bg);color:#fcd34d;border-color:#5a3b08}body.ed-open .pill.bad{background:var(--bad-bg);color:#fca5a5;border-color:#5c1a1e}body.ed-open .pill.acc{background:#1e1f45;color:#a5b4fc;border-color:#2e3170}body.ed-open .login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(900px 500px at 15% -10%,rgba(99,102,241,.22),transparent 60%),radial-gradient(700px 500px at 110% 110%,rgba(16,185,129,.14),transparent 60%),var(--bg)}body.ed-open .login-card{width:100%;max-width:400px;background:#13151dd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:36px 32px 28px;box-shadow:0 30px 80px #0000008c}body.ed-open .brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}body.ed-open .brand-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#6366f1,#10b981);box-shadow:0 6px 20px #6366f159}body.ed-open .brand-logo svg{width:24px;height:24px}body.ed-open .brand h1{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em}body.ed-open .brand p{margin:2px 0 0;color:var(--muted);font-size:13px}body.ed-open .field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}body.ed-open .field label{font-size:12px;font-weight:500;color:var(--muted)}body.ed-open .field input{padding:11px 12px;font-size:14px;width:100%}body.ed-open .pw-wrap{position:relative}body.ed-open .pw-wrap input{padding-right:44px}body.ed-open .pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;padding:6px;color:var(--dim)}body.ed-open .pw-eye:hover{background:none;color:var(--text)}body.ed-open .pw-eye svg{width:18px;height:18px;display:block}body.ed-open .login-card button[type=submit]{width:100%;justify-content:center;padding:11px;font-size:14px;margin-top:6px}body.ed-open .alert{border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:16px;background:var(--bad-bg);border:1px solid #5c1a1e;color:#fecaca}body.ed-open .alert b{display:block;margin-bottom:2px;color:#fca5a5}body.ed-open .captcha{margin:2px 0 12px}body.ed-open .captcha iframe{display:block;width:100%;height:66px;border:0;background:transparent;color-scheme:dark}body.ed-open .captcha.open iframe{position:fixed;z-index:1001;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;max-width:calc(100vw - 20px);border-radius:12px;box-shadow:0 24px 70px #0009}body.ed-open .captcha-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#05060aa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.ed-open .captcha.open .captcha-backdrop{display:block;animation:fade .15s ease-out}body.ed-open.captcha-lock{overflow:hidden}body.ed-open.captcha-lock .login-card{backdrop-filter:none;-webkit-backdrop-filter:none}body.ed-open .captcha-msg{margin:0;padding:12px;text-align:center;color:var(--muted);font-size:13px;border:1px solid var(--line);border-radius:10px}body.ed-open .login-foot{margin-top:20px;text-align:center;color:var(--dim);font-size:12px}body.ed-open .spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}body.ed-open .topbar{position:sticky;top:0;z-index:20;background:#0a0b0fd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}body.ed-open .topbar-in{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px}body.ed-open .topbar .brand{margin:0}body.ed-open .topbar .brand-logo{width:32px;height:32px;border-radius:9px}body.ed-open .topbar .brand-logo svg{width:18px;height:18px}body.ed-open .topbar .brand h1{font-size:16px}body.ed-open .tabs{display:flex;gap:4px;margin-left:12px}body.ed-open .tab{background:none;color:var(--muted);padding:7px 12px;border-radius:8px;font-weight:500}body.ed-open .tab:hover{background:var(--card2);color:var(--text)}body.ed-open .tab.active{background:var(--card2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}body.ed-open .tab .cnt{background:var(--line2);color:var(--text);border-radius:999px;padding:0 7px;font-size:11px}body.ed-open .tab .cnt.bad{background:#7f1d1d}body.ed-open .me{margin-left:auto;display:flex;align-items:center;gap:10px}body.ed-open .me .who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}body.ed-open .me .who b{font-size:13px}body.ed-open main{max-width:1280px;margin:0 auto;padding:24px}body.ed-open .section-head{display:flex;align-items:center;gap:12px;margin:4px 0 16px;flex-wrap:wrap}body.ed-open .section-head h2{margin:0;font-size:20px;font-weight:650;letter-spacing:-.01em}body.ed-open .section-head .grow{flex:1}body.ed-open .search{width:240px}body.ed-open .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px}body.ed-open .card h3{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}body.ed-open .form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}body.ed-open .form-row .f{display:flex;flex-direction:column;gap:5px}body.ed-open .form-row .f label{font-size:12px;color:var(--muted)}body.ed-open .w-domain{width:220px}body.ed-open .w-origin{width:300px}body.ed-open .w-user{width:180px}body.ed-open .domains{display:grid;gap:16px}body.ed-open .dom{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:opacity .2s,transform .2s}body.ed-open .dom.removing{opacity:0;transform:scale(.98)}body.ed-open .dom.banned{border-color:#5c1a1e}body.ed-open .dom-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg2);flex-wrap:wrap}body.ed-open .dom-head .name{font-size:15px;font-weight:600}body.ed-open .dom-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}body.ed-open .ban-note{padding:10px 18px;background:var(--bad-bg);color:#fecaca;font-size:13px;border-bottom:1px solid #5c1a1e}body.ed-open .dom-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}body.ed-open .dom-sec{padding:14px 18px;border-right:1px solid var(--line);min-width:0}body.ed-open .dom-sec:last-child{border-right:0}body.ed-open .dom-sec h4{margin:0 0 10px;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em}body.ed-open .line{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:13px;color:var(--muted)}body.ed-open .line .lbl{flex:1}body.ed-open .line input.num{width:78px;padding:5px 8px}body.ed-open .line select{padding:5px 8px;flex:1;min-width:0}body.ed-open .origin-row{display:flex;gap:6px}body.ed-open .origin-row input{flex:1;min-width:0}body.ed-open .origin-row input.dirty{border-color:var(--warn)}body.ed-open .tbl-wrap{overflow-x:auto}body.ed-open table{width:100%;border-collapse:collapse}body.ed-open th{text-align:left;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line)}body.ed-open td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}body.ed-open tr:last-child td{border-bottom:0}body.ed-open td .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}body.ed-open .chips{display:flex;gap:6px;flex-wrap:wrap}body.ed-open .dchip{background:var(--card2);border:1px solid var(--line2);border-radius:6px;padding:2px 8px;font-size:12px;color:var(--text);cursor:pointer}body.ed-open .dchip:hover{background:#20243a}body.ed-open .dchip.banned{border-color:#7f1d1d;color:#fca5a5;text-decoration:line-through}body.ed-open .empty{padding:36px;text-align:center;color:var(--muted)}body.ed-open .modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .12s}body.ed-open .modal{background:var(--card);border:1px solid var(--line2);border-radius:16px;width:100%;max-width:440px;box-shadow:0 30px 80px #0009;animation:pop .15s}body.ed-open .modal.wide{max-width:980px}body.ed-open .modal-h{padding:18px 20px 6px;font-size:16px;font-weight:600;display:flex;align-items:center}body.ed-open .modal-h .x{margin-left:auto;background:none;color:var(--muted);padding:4px 8px;font-size:18px}body.ed-open .modal-b{padding:8px 20px 4px}body.ed-open .modal-b p{margin:6px 0 12px;color:var(--muted)}body.ed-open .modal-b .field input,body.ed-open .modal-b .field select{width:100%}body.ed-open .check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:6px 0 12px;cursor:pointer}body.ed-open .check input{width:auto}body.ed-open .modal-f{padding:14px 20px 18px;display:flex;justify-content:flex-end;gap:8px}body.ed-open .modal-err{color:#fca5a5;font-size:13px;min-height:18px}body.ed-open #toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}body.ed-open .toast{background:var(--card2);border:1px solid var(--line2);border-left:3px solid var(--ok);color:var(--text);padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:0 10px 30px #00000080;max-width:360px;animation:pop .15s}body.ed-open .toast.bad{border-left-color:var(--bad)}body.ed-open .stat-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}body.ed-open .chip{display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:8px;border:1px solid var(--line);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text)}body.ed-open .chip:hover{background:var(--bg2)}body.ed-open .chip.off{opacity:.35}body.ed-open .chip b{font-size:14px}body.ed-open .chart-wrap{position:relative}body.ed-open .chart-wrap svg{width:100%;height:auto;display:block}body.ed-open .tip{position:absolute;pointer-events:none;background:var(--bg);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-size:12px;z-index:5;min-width:160px;box-shadow:0 4px 14px #00000080}body.ed-open .tip div{display:flex;justify-content:space-between;gap:14px}body.ed-open .tip .d{color:var(--muted);margin-bottom:4px}body.ed-open pre.log{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;margin:0}@media (max-width: 1100px){body.ed-open .dom-body{grid-template-columns:repeat(2,minmax(0,1fr))}body.ed-open .dom-sec:nth-child(2){border-right:0}body.ed-open .dom-sec:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width: 720px){body.ed-open .topbar-in{flex-wrap:wrap;padding:10px 16px;gap:10px}body.ed-open .tabs{order:3;margin-left:0;width:100%;overflow-x:auto}body.ed-open .me .who{display:none}body.ed-open main{padding:16px}body.ed-open .dom-body{grid-template-columns:1fr}body.ed-open .dom-sec{border-right:0;border-bottom:1px solid var(--line)}body.ed-open .w-domain,body.ed-open .w-origin,body.ed-open .w-user,body.ed-open .search,body.ed-open .form-row .f{width:100%}}body.ed-open .modal .line select{flex:none;width:auto}body.ed-open .dns-head{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}body.ed-open .dns-head .grow,body.ed-open .f.grow{flex:1}body.ed-open .rr-form{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}body.ed-open .rr-form .f.grow input{width:100%;min-width:200px}body.ed-open .w-rrname{width:150px}body.ed-open .w-num{width:84px}body.ed-open .rr-table td{padding:8px 10px;font-size:13px}body.ed-open .rr-table td.val{max-width:380px;word-break:break-all}body.ed-open .rr-table tr.sys td{background:#6366f10d}body.ed-open .rr-table tr.editing td{background:#f59e0b14}body.ed-open .modal.wide .tbl-wrap{max-height:50vh;overflow:auto}body.ed-open pre.log.tall{max-height:60vh;min-height:300px}body.ed-open .nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}body.ed-open .node{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:12px}body.ed-open .node-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}body.ed-open .node-head .name{font-size:15px;font-weight:600}body.ed-open .node-head .pills{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}body.ed-open .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}body.ed-open .metrics>div{display:flex;flex-direction:column;min-width:0}body.ed-open .metrics span{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}body.ed-open .metrics b{font-size:14px;font-weight:600;margin-top:2px;overflow-wrap:anywhere}body.ed-open .metrics small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ed-open .bar{margin-top:5px;height:6px}body.ed-open .bar svg{width:100%;height:6px;display:block}body.ed-open .bar .bg{fill:var(--line2)}body.ed-open .bar .fg{fill:var(--ok)}body.ed-open .bar.warn .fg{fill:var(--warn)}body.ed-open .bar.bad .fg{fill:var(--bad)}body.ed-open .node-err{background:var(--bad-bg);border:1px solid #5c1a1e;color:#fecaca;border-radius:8px;padding:8px 10px;font-size:12px;word-break:break-word}body.ed-open .node-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}body.ed-open .node-foot .line{margin:0;gap:10px;cursor:pointer}body.ed-open .node-foot .acts{display:flex;gap:6px;flex-wrap:wrap}body.ed-open .node-meta{margin-top:-4px}@media (max-width: 720px){body.ed-open .nodes{grid-template-columns:1fr}body.ed-open .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}body.ed-open .lang-sw{position:relative;flex:none}body.ed-open .lang-sw.center{width:max-content;margin:16px auto 0}body.ed-open .lang-sw .lang-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 9px 0 8px;border:1px solid var(--line2);border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;box-shadow:none}body.ed-open .lang-sw .lang-btn:hover,body.ed-open .lang-sw .lang-btn[aria-expanded=true]{background:var(--card2);color:var(--text)}body.ed-open .lang-sw svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body.ed-open .lang-sw .lang-globe{width:16px;height:16px}body.ed-open .lang-sw .lang-chev{width:14px;height:14px;transition:transform .15s}body.ed-open .lang-sw .lang-btn[aria-expanded=true] .lang-chev{transform:rotate(180deg)}body.ed-open .lang-sw .lang-list{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:176px;margin:0;padding:5px;list-style:none;background:var(--card);border:1px solid var(--line2);border-radius:10px;box-shadow:0 16px 44px #0000008c;animation:langpop .14s ease-out}body.ed-open .lang-sw.center .lang-list{right:auto;left:50%;translate:-50% 0}body.ed-open .lang-sw .lang-list[hidden]{display:none}body.ed-open .lang-sw .lang-list button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-weight:500;text-align:left;justify-content:flex-start}body.ed-open .lang-sw .lang-list button:hover,body.ed-open .lang-sw .lang-list button:focus-visible{background:var(--card2);outline:none}body.ed-open .lang-sw .lang-code{display:inline-grid;place-items:center;width:26px;height:19px;border-radius:5px;background:var(--card2);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em}body.ed-open .lang-sw .lang-name{flex:1}body.ed-open .lang-sw .lang-ok{width:15px;height:15px;stroke:var(--accent2);stroke-width:2.4;visibility:hidden}body.ed-open .lang-sw [aria-selected=true] .lang-ok{visibility:visible}body.ed-open .lang-sw [aria-selected=true] .lang-code{background:#6366f12e;color:var(--accent2)}body.ed-open fieldset.dom-body{border:0;margin:0;padding:0;min-width:0}body.ed-open fieldset.dom-body:disabled{opacity:.5}body.ed-open fieldset.dom-body:disabled .toggle,body.ed-open fieldset.dom-body:disabled button{cursor:not-allowed}body.ed-open .dom-head button:disabled{cursor:not-allowed}body.ed-open .modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}body.ed-open .mode{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}body.ed-open .mode-head{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--line);flex-wrap:wrap}body.ed-open .mode-head .name{font-weight:600;font-size:15px}body.ed-open .mode-head .grow{flex:1}body.ed-open .mode-body{padding:8px 16px 12px}body.ed-open .mode-body .line>span:last-child{color:var(--text);text-align:right}body.ed-open .mode-body .chips{justify-content:flex-end}body.ed-open .modal{max-height:92vh;display:flex;flex-direction:column}body.ed-open .modal-b{overflow:auto}body.ed-open .modal-b input[type=color]{width:64px;height:36px;padding:2px;cursor:pointer}@media (max-width: 720px){body.ed-open .modes{grid-template-columns:1fr}}body.ed-open.ed-open{overflow:hidden}body.ed-open .ed{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg);display:flex;flex-direction:column}body.ed-open .ed-top{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg2);flex-wrap:wrap}body.ed-open .ed-top .grow,body.ed-open .ed-bottom .grow,body.ed-open .lib-bar .grow{flex:1}body.ed-open .ed-name{width:240px;font-weight:600}body.ed-open .ed-tabs{display:flex;gap:4px}body.ed-open .ed-main{flex:1;display:grid;grid-template-columns:56px 1fr 300px;min-height:0}body.ed-open .ed-tools{display:flex;flex-direction:column;gap:6px;padding:10px 8px;border-right:1px solid var(--line);background:var(--bg2);overflow-y:auto}body.ed-open .ed-tool{background:transparent;color:var(--muted);padding:8px;border-radius:9px;justify-content:center}body.ed-open .ed-tool svg{width:22px;height:22px}body.ed-open .ed-tool:hover{background:var(--card2);color:var(--text)}body.ed-open .ed-tool.active{background:var(--accent);color:#fff}body.ed-open .ed-center{display:flex;flex-direction:column;min-width:0;min-height:0}body.ed-open .ed-vp{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;background:repeating-conic-gradient(#11131a,#11131a 25%,#0d0f14 0%,#0d0f14 50%) 0 0 / 24px 24px}body.ed-open .ed-holder{position:relative;flex:none;box-shadow:0 10px 40px #0009}body.ed-open .ed-scaler{position:absolute;left:0;top:0;transform-origin:0 0;--k: 1}body.ed-open .ed-scaler.drawing{cursor:crosshair}body.ed-open .ed-stage .td-el{cursor:move}body.ed-open .ed-scaler.drawing .td-el{cursor:crosshair}body.ed-open .ed-ov{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}body.ed-open .ed-sel{position:absolute;outline:calc(2px / var(--k)) solid var(--accent);pointer-events:none}body.ed-open .ed-h{position:absolute;width:calc(10px / var(--k));height:calc(10px / var(--k));background:#fff;border:calc(2px / var(--k)) solid var(--accent);border-radius:2px;pointer-events:auto;transform:translate(-50%,-50%)}body.ed-open .ed-h-nw{left:0;top:0;cursor:nwse-resize}body.ed-open .ed-h-n{left:50%;top:0;cursor:ns-resize}body.ed-open .ed-h-ne{left:100%;top:0;cursor:nesw-resize}body.ed-open .ed-h-e{left:100%;top:50%;cursor:ew-resize}body.ed-open .ed-h-se{left:100%;top:100%;cursor:nwse-resize}body.ed-open .ed-h-s{left:50%;top:100%;cursor:ns-resize}body.ed-open .ed-h-sw{left:0;top:100%;cursor:nesw-resize}body.ed-open .ed-h-w{left:0;top:50%;cursor:ew-resize}body.ed-open .ed-rot{position:absolute;left:50%;top:calc(-28px / var(--k));width:calc(14px / var(--k));height:calc(14px / var(--k));transform:translate(-50%,-50%);border-radius:50%;background:var(--accent);border:calc(2px / var(--k)) solid #fff;pointer-events:auto;cursor:grab}body.ed-open .ed-rubber{position:absolute;border:calc(1px / var(--k)) dashed #fff;background:#6366f126}body.ed-open .ed-tmp{position:absolute;left:0;top:0;overflow:visible}body.ed-open .ed-bottom{display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid var(--line);background:var(--bg2)}body.ed-open .ed-bottom select{margin-left:6px}body.ed-open .ed-zoom{min-width:44px;text-align:center}body.ed-open .ed-side{border-left:1px solid var(--line);background:var(--bg2);overflow-y:auto;padding:12px 14px}body.ed-open .ed-side h4{margin:14px 0 8px;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em}body.ed-open .ed-side h4:first-child{margin-top:0}body.ed-open .ed-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:8px;min-width:0}body.ed-open .ed-f input,body.ed-open .ed-f select,body.ed-open .ed-f textarea{width:100%;padding:6px 8px;font-size:13px;min-height:0}body.ed-open .ed-f input[type=color]{height:32px;padding:2px;cursor:pointer}body.ed-open .ed-f input[type=checkbox]{width:auto}body.ed-open .ed-f input[type=range]{padding:0}body.ed-open .ed-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}body.ed-open .ed-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}body.ed-open .ed-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 6px}body.ed-open .ed-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}body.ed-open .ed-row .ed-f{flex-direction:row;align-items:center}body.ed-open .ed-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}body.ed-open .ed-layers{display:flex;flex-direction:column;gap:3px}body.ed-open .ed-layer{padding:6px 9px;border-radius:7px;cursor:pointer;font-size:12px;color:var(--muted);border:1px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ed-open .ed-layer:hover{background:var(--card2);color:var(--text)}body.ed-open .ed-layer.active{border-color:var(--accent);color:var(--text);background:var(--card2)}body.ed-open .ed-params{flex:1;overflow-y:auto;padding:24px}body.ed-open .ed-params-in{max-width:900px;margin:0 auto}body.ed-open .ed-params .check{color:var(--text)}body.ed-open .ed-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0b0c10;overflow:hidden}body.ed-open .ed-pv-stage>div{position:absolute;left:0;top:0}body.ed-open .ed-pv-card{position:fixed;z-index:2;width:min(380px,94vw);background:#16181d;border-radius:12px;padding:28px 26px;text-align:center;color:#eaeaea}body.ed-open .ed-pv-card h2{margin:0 0 8px;font-size:22px}body.ed-open .ed-pv-card .h{color:#9ca3af;font-size:14px;margin:0 0 14px}body.ed-open .ed-pv-card .trk{height:44px;border-radius:22px;border:1px solid #2b3140;background:#0b0c10;position:relative;margin-bottom:14px}body.ed-open .ed-pv-card .hnd{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:22px;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center}body.ed-open .ed-pv-card .hnd svg{display:block}body.ed-open .ed-pv-card small{color:#4b5563}body.ed-open .ed-pv-close{position:fixed;top:14px;right:14px;z-index:3;background:#0009!important}body.ed-open .modal.lib{max-width:900px}body.ed-open .lib-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}body.ed-open .btn-like{background:var(--accent);color:#fff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer}body.ed-open .btn-like:hover{background:#5458e8}body.ed-open .lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;min-height:120px}body.ed-open .lib-item{position:relative;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;border:1px solid var(--line2);cursor:pointer;background:var(--bg)}body.ed-open .lib-item:hover{border-color:var(--accent)}body.ed-open .lib-item img,body.ed-open .lib-item video{width:100%;height:100%;object-fit:cover;display:block}body.ed-open .lib-name{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:11px;background:#000000a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ed-open .lib-kind{position:absolute;left:6px;top:6px;font-size:12px;background:#0009;border-radius:6px;padding:1px 6px}body.ed-open .lib-del{position:absolute;right:4px;top:4px;padding:0 7px;font-size:16px;background:#0009}body.ed-open .lib-del:hover{background:#b91c1c}body.ed-open .lib-grid .empty{grid-column:1 / -1}body.ed-open .mode-thumb{position:relative;height:170px;overflow:hidden;background:#0b0c10;cursor:pointer;border-bottom:1px solid var(--line)}body.ed-open .mode-thumb>div{position:absolute;left:0;top:0;pointer-events:none}body.ed-open .mode-thumb .thumb-plain-t{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:13px}@media (max-width: 900px){body.ed-open .ed-main{grid-template-columns:48px 1fr}body.ed-open .ed-side{position:fixed;right:0;bottom:0;top:auto;max-height:45vh;width:100%;border-top:1px solid var(--line);z-index:2}body.ed-open .ed-grid3{grid-template-columns:1fr}}body.ed-open .live-now{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:4px 0 14px}body.ed-open .live-now>div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}body.ed-open .live-now span{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}body.ed-open .live-now b{font-size:22px;font-weight:650;margin-top:2px}body.ed-open .live-now>div:first-child b{color:#60a5fa}@media (max-width: 720px){body.ed-open .live-now{grid-template-columns:repeat(2,minmax(0,1fr))}}body.ed-open .connect-help .cn-opt{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}body.ed-open .connect-help h4{margin:0 0 6px;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}body.ed-open .connect-help .cn-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;margin:6px 0}body.ed-open .connect-help .cn-l{color:var(--muted);font-size:12px}body.ed-open .connect-help .cn-v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;padding:6px 8px;border-radius:6px;background:var(--card2);border:1px solid var(--line);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}body.ed-open .connect-help .cn-copy{white-space:nowrap}body.ed-open .waf-tabs{display:flex;gap:6px;align-items:center;margin-bottom:14px}body.ed-open .waf-tabs button{background:transparent;color:var(--muted);border:1px solid var(--line2)}body.ed-open .waf-tabs button.active{background:var(--card2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}body.ed-open .waf-tabs [data-w=refresh]{margin-left:auto}body.ed-open .waf-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}body.ed-open .waf-switch{display:inline-flex;align-items:center;gap:10px;font-weight:600}body.ed-open .waf-totals{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-size:13px;color:var(--muted)}body.ed-open .waf-totals b{color:var(--text);font-size:15px;margin-right:3px}body.ed-open .waf-list{display:grid;gap:8px;margin:12px 0}body.ed-open .waf-rule{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}body.ed-open .waf-rule.off{opacity:.55}body.ed-open .waf-order{display:flex;flex-direction:column;gap:2px}body.ed-open .waf-order button{padding:1px 7px;line-height:1.2}body.ed-open .waf-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px}body.ed-open .waf-main .small{overflow-wrap:anywhere}body.ed-open .waf-hits{display:flex;flex-direction:column;align-items:center;min-width:56px}body.ed-open .waf-hits b{font-size:16px}body.ed-open .waf-acts{display:flex;gap:6px}body.ed-open .waf-add{display:flex;flex-wrap:wrap;align-items:center;gap:10px}body.ed-open .waf-add select{width:auto}body.ed-open .waf-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}body.ed-open .waf-conds{display:grid;gap:8px;margin:6px 0 10px}body.ed-open .waf-cond{display:grid;grid-template-columns:auto 150px auto 150px minmax(0,1fr) auto;gap:8px;align-items:start;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}body.ed-open .waf-cond .waf-hdr{width:130px}body.ed-open .waf-cond:not(:has(.waf-hdr)){grid-template-columns:auto 150px 150px minmax(0,1fr) auto}body.ed-open .waf-cond textarea{min-height:38px;resize:vertical;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}body.ed-open .waf-not{white-space:nowrap;padding-top:8px}body.ed-open .waf-ev td{vertical-align:top}body.ed-open .waf-ev .small{overflow-wrap:anywhere}@media (max-width: 760px){body.ed-open .waf-rule{grid-template-columns:auto minmax(0,1fr)}body.ed-open .waf-order,body.ed-open .waf-hits{display:none}body.ed-open .waf-acts{grid-column:1 / -1}body.ed-open .waf-row2{grid-template-columns:1fr}body.ed-open .waf-cond,body.ed-open .waf-cond:not(:has(.waf-hdr)){grid-template-columns:1fr 1fr}body.ed-open .waf-cond textarea,body.ed-open .waf-cond input[data-c=value]{grid-column:1 / -1}}
