@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:400;src:url(./m-plus-rounded-1c-latin-400-normal-GF9lDfTs.woff2)format("woff2"),url(./m-plus-rounded-1c-latin-400-normal-cOmgXqvf.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(./m-plus-rounded-1c-latin-500-normal-D4L1U0OF.woff2)format("woff2"),url(./m-plus-rounded-1c-latin-500-normal-udtNJXmd.woff)format("woff")}:root{--c-0002:#0002;--c-0a1f3930:#0a1f3930;--c-0f7a58:#0f7a58;--c-11264066:#11264066;--c-12294733:#12294733;--c-14243a60:#14243a60;--c-151c27:#151c27;--c-15253726:#15253726;--c-192739:#192739;--c-1949c5:#1949c5;--c-1d9e75:#1d9e75;--c-202c3b:#202c3b;--c-213f6810:#213f6810;--c-218551:#218551;--c-22385406:#22385406;--c-23374e:#23374e;--c-243348:#243348;--c-2459de:#2459de;--c-2459de18:#2459de18;--c-25976c:#25976c;--c-263e58:#263e58;--c-287863:#287863;--c-29374a:#29374a;--c-29384a:#29384a;--c-2a3444:#2a3444;--c-2b3c52:#2b3c52;--c-31588d:#31588d;--c-315d80:#315d80;--c-34465c:#34465c;--c-344761:#344761;--c-344b65:#344b65;--c-345777:#345777;--c-365d7e:#365d7e;--c-3d4b5e:#3d4b5e;--c-40536b:#40536b;--c-416e92:#416e92;--c-42556c:#42556c;--c-426bb0:#426bb0;--c-42a375:#42a375;--c-475e7a:#475e7a;--c-47658d:#47658d;--c-476ab0:#476ab0;--c-47789e:#47789e;--c-487597:#487597;--c-4b5a6e:#4b5a6e;--c-4c607a:#4c607a;--c-4d97a9:#4d97a9;--c-4e7da5:#4e7da5;--c-5074ae:#5074ae;--c-528c75:#528c75;--c-5474ab:#5474ab;--c-5481c6:#5481c6;--c-55667a:#55667a;--c-56677c:#56677c;--c-5975a4:#5975a4;--c-5980a4:#5980a4;--c-64738b:#64738b;--c-65718a:#65718a;--c-657792:#657792;--c-667487:#667487;--c-697587:#697587;--c-6b7280:#6b7280;--c-6d88b2:#6d88b2;--c-6f8fbf:#6f8fbf;--c-718099:#718099;--c-728199:#728199;--c-728299:#728299;--c-738399:#738399;--c-769cba:#769cba;--c-7ab8e0:#7ab8e0;--c-7b8a9f:#7b8a9f;--c-7b8ba2:#7b8ba2;--c-7c8b9e:#7c8b9e;--c-7c8ba1:#7c8ba1;--c-7c8ca2:#7c8ca2;--c-7c8ea5:#7c8ea5;--c-7d8b9d:#7d8b9d;--c-7d96b0:#7d96b0;--c-7e9dcb:#7e9dcb;--c-7f8fa4:#7f8fa4;--c-7f90c2:#7f90c2;--c-8192a8:#8192a8;--c-8290a2:#8290a2;--c-8291a9:#8291a9;--c-8293ad:#8293ad;--c-8390a5:#8390a5;--c-83a9ca:#83a9ca;--c-83b6d7:#83b6d7;--c-8592a3:#8592a3;--c-8595aa:#8595aa;--c-8698af:#8698af;--c-8794a6:#8794a6;--c-8797ac:#8797ac;--c-879ab1:#879ab1;--c-8994a4:#8994a4;--c-8999ac:#8999ac;--c-8a5a00:#8a5a00;--c-8a98ab:#8a98ab;--c-8b97a8:#8b97a8;--c-8b99ad:#8b99ad;--c-8b9bb0:#8b9bb0;--c-8baecc:#8baecc;--c-8c9bb0:#8c9bb0;--c-8c9caf:#8c9caf;--c-8d9aab:#8d9aab;--c-8e9cae:#8e9cae;--c-8e9db1:#8e9db1;--c-91a0b2:#91a0b2;--c-93a0b2:#93a0b2;--c-95a9c5:#95a9c5;--c-98aecb:#98aecb;--c-9aa7b8:#9aa7b8;--c-9aa9bb:#9aa9bb;--c-9aa9bd:#9aa9bd;--c-9aabbd:#9aabbd;--c-9b6d12:#9b6d12;--c-9ba6b5:#9ba6b5;--c-9ba8b8:#9ba8b8;--c-9ba8b9:#9ba8b9;--c-a0884c:#a0884c;--c-a0aec2:#a0aec2;--c-a3adbd:#a3adbd;--c-a5b1bf:#a5b1bf;--c-a6d8c4:#a6d8c4;--c-a8323d:#a8323d;--c-a8b3c1:#a8b3c1;--c-a9c4f3:#a9c4f3;--c-b06a6a:#b06a6a;--c-b45309:#b45309;--c-b53b43:#b53b43;--c-b5c8f7:#b5c8f7;--c-b76b6b:#b76b6b;--c-b7dcca:#b7dcca;--c-b83340:#b83340;--c-b8c2cf:#b8c2cf;--c-b8cbe8:#b8cbe8;--c-b8ceff:#b8ceff;--c-b9c5d5:#b9c5d5;--c-b9cdf8:#b9cdf8;--c-be3942:#be3942;--c-c4ccd7:#c4ccd7;--c-c5d3e0:#c5d3e0;--c-cdd7e4:#cdd7e4;--c-d4a017:#d4a017;--c-d5dde8:#d5dde8;--c-d5e9ff:#d5e9ff;--c-d6e2f7:#d6e2f7;--c-d7e0eb:#d7e0eb;--c-d8e3f1:#d8e3f1;--c-d9e2ef:#d9e2ef;--c-dbe3ee:#dbe3ee;--c-dce1e8:#dce1e8;--c-dce5f0:#dce5f0;--c-dce5f1:#dce5f1;--c-dce7ff:#dce7ff;--c-dce8e0:#dce8e0;--c-dfe4ed:#dfe4ed;--c-dfe5ed:#dfe5ed;--c-dfe6ee:#dfe6ee;--c-dfe6ef:#dfe6ef;--c-e0e7ef:#e0e7ef;--c-e1e5ec:#e1e5ec;--c-e1e6ed:#e1e6ed;--c-e1e7ef:#e1e7ef;--c-e1e8f0:#e1e8f0;--c-e3e9f1:#e3e9f1;--c-e4ebf4:#e4ebf4;--c-e6ecf3:#e6ecf3;--c-e9edf2:#e9edf2;--c-e9eef6:#e9eef6;--c-eaf0f7:#eaf0f7;--c-eaf1f8:#eaf1f8;--c-eaf7ef:#eaf7ef;--c-edf0f5:#edf0f5;--c-edf1f6:#edf1f6;--c-edf1f7:#edf1f7;--c-edf2f9:#edf2f9;--c-edf3fa:#edf3fa;--c-edf3ff:#edf3ff;--c-eef2f7:#eef2f7;--c-eff4ff:#eff4ff;--c-eff6f3:#eff6f3;--c-f0f3f7:#f0f3f7;--c-f0f4f9:#f0f4f9;--c-f0f5fa:#f0f5fa;--c-f1d1d1:#f1d1d1;--c-f1f4f8:#f1f4f8;--c-f1f5f9:#f1f5f9;--c-f3f6fa:#f3f6fa;--c-f3f6fc:#f3f6fc;--c-f4f7fc:#f4f7fc;--c-f5f6f8:#f5f6f8;--c-f5f7fa:#f5f7fa;--c-f5f8fc:#f5f8fc;--c-f6f8fb:#f6f8fb;--c-f7f9fc:#f7f9fc;--c-f7fbf8:#f7fbf8;--c-f8f9fb:#f8f9fb;--c-f8fafc:#f8fafc;--c-f8faff:#f8faff;--c-f9fafc:#f9fafc;--c-f9fbff:#f9fbff;--c-faf5e9:#faf5e9;--c-fafbfd:#fafbfd;--c-fafcff:#fafcff;--c-fbeeee:#fbeeee;--c-fbefef:#fbefef;--c-fcfdff:#fcfdff;--c-fdf3dc:#fdf3dc;--c-fff:#fff;--c-fff0f0:#fff0f0;--c-fff1f1:#fff1f1;--c-fff5df:#fff5df;color:var(--c-192739);background:var(--c-f3f6fa);--line:var(--c-dfe6ee);--blue:var(--c-2459de);--muted:var(--c-667487);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--c-fff);color:inherit;border-radius:7px;padding:8px 14px;font-size:14px;font-weight:550}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:var(--c-1949c5);color:#fff}.danger{color:var(--c-be3942)}input,select{border:1px solid var(--c-cdd7e4);background:var(--c-fff);width:100%;color:inherit;border-radius:7px;padding:10px}input:focus,select:focus,button:focus-visible{outline:3px solid var(--c-b8ceff);outline-offset:2px}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 40px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:21px;font-weight:700;display:flex}.mark{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.sub{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:400}.tag{letter-spacing:.08em;color:var(--c-5074ae);border:1px solid var(--c-d6e2f7);border-radius:4px;padding:3px 8px;font-size:12px}.head-right{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}main{max-width:1240px;margin:36px auto;padding:0 32px 48px}.title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}h1{letter-spacing:-.6px;margin:0;font-size:27px}h2{margin:0;font-size:17px}p{color:var(--muted);margin:6px 0;font-size:14px}.section{background:var(--c-fff);border:1px solid var(--line);border-radius:10px;margin:20px 0;overflow:hidden}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.nodes{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;padding:20px;display:grid}.node{border:1px solid var(--line);border-radius:8px;padding:16px}.node-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.address{font-family:ui-monospace,SFMono-Regular,monospace;font-size:15px;font-weight:600}.meta{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.badge{background:var(--c-f0f3f7);color:var(--c-697587);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:12px;display:inline-flex}.badge.pending{background:var(--c-fff5df);color:var(--c-9b6d12)}.badge.failed{background:var(--c-fff0f0);color:var(--c-b53b43)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{background:var(--c-f9fafc);color:var(--muted);white-space:nowrap;padding:12px 22px;font-size:12px;font-weight:500}td{border-top:1px solid var(--c-edf0f5);vertical-align:middle;padding:17px 22px}td .meta{margin-top:3px}.route{white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:flex}.arrow{color:var(--c-a0aec2)}.actions{white-space:nowrap;gap:6px;display:flex}.actions button{padding:5px 9px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:36px 22px;font-size:14px}.login{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:450px;margin:90px auto;padding:32px}.login h1{font-size:24px}.login input{margin:22px 0 14px}.login button{width:100%}.error{color:var(--c-b83340);overflow-wrap:anywhere;font-size:14px}.notice{background:var(--c-fff1f1);border:1px solid var(--c-f1d1d1);color:var(--c-a8323d);border-radius:7px;margin-bottom:16px;padding:11px 16px;font-size:14px}dialog{border:1px solid var(--line);width:min(580px,100% - 28px);box-shadow:0 24px 80px var(--c-12294733);border-radius:12px;padding:26px}dialog::backdrop{background:var(--c-11264066)}dialog h2{margin-bottom:20px;font-size:21px}.fields{grid-template-columns:1fr 1fr;gap:17px;display:grid}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.wide{grid-column:1/-1}.dialog-footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.small-note{margin-top:12px;font-size:12px}.proto{color:var(--c-31588d);font-family:ui-monospace,monospace;font-size:12px;font-weight:600}.footer{color:var(--c-8994a4);justify-content:space-between;gap:10px;margin-top:24px;font-size:12px;display:flex}@media (width<=650px){header{padding:0 18px}.head-right .sub{display:none}main{margin-top:24px;padding:0 16px}.title-row{align-items:flex-start}h1{font-size:24px}.section-head{padding:16px}.nodes{padding:14px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.login{margin:45px 16px}.footer{flex-direction:column}}.node-config-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.node-config-row button{margin-left:auto}#node-config-editor{max-width:480px}#node-config-form{padding:24px}#node-role-options{border:1px solid var(--c-dbe3ee);border-radius:8px;margin:20px 0 12px;padding:16px}#node-role-options legend{padding:0 6px;font-weight:600}.node-role-choices{gap:24px;margin:8px 0 16px;display:flex}.node-role-choices label{cursor:pointer;align-items:center;gap:6px;display:flex}.node-role-choices input{width:16px;height:16px;margin:0}.node-controller{border-top:1px solid var(--border,var(--c-e1e5ec));flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.controller-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.controller-label{color:var(--muted,var(--c-6b7280));font-size:12px}.controller-agent{font-variant-numeric:tabular-nums;font-size:12px}.controller-actions{gap:6px;margin-left:auto;display:flex}.controller-actions button{padding:5px 10px;font-size:12px}.controller-error{text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--c-b45309);font-size:11px;overflow:hidden}.controller-pending{width:100%}.node-version{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.node-version button{margin-left:auto;padding:5px 10px;font-size:12px}.node-version .meta{overflow-wrap:anywhere}.upgrade-rolled_back,.upgrade-failed{color:var(--c-b45309);width:100%}.node-name{overflow-wrap:anywhere;font-size:15px;display:block}.node-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}#nodes-section .section-head #add-node{margin-left:auto}#node-install-dialog{max-width:560px}#node-install-form{padding:24px}#node-install-form fieldset{border:0;margin:12px 0 0;padding:0}#node-install-command{overflow-wrap:anywhere;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}#node-install-error:empty{display:none}.eyebrow{letter-spacing:.15em;color:var(--c-5975a4);margin-bottom:8px;font-size:11px;font-weight:700}.plain{border:0;padding:20px 0}.line-list{gap:16px;display:grid}.line-card{background:var(--c-fff);border:1px solid var(--line);border-radius:10px;overflow:hidden}.line-head{border-bottom:1px solid var(--c-edf1f7);justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;display:flex}.line-head>div:first-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.line-head strong{font-size:14px}.line-controls{align-items:center;gap:17px;display:flex}.protocol-pill{color:var(--blue);background:var(--c-edf3ff);border-radius:4px;padding:4px 8px;font:600 11px ui-monospace,monospace}.path-view{background:linear-gradient(100deg, var(--c-fff), var(--c-f9fbff));align-items:center;gap:12px;padding:20px;display:flex;overflow:auto}.hop{border:1px solid var(--c-dce5f0);background:var(--c-fff);border-radius:7px;flex-shrink:0;min-width:151px;padding:10px 13px}.hop strong{overflow-wrap:anywhere;max-width:230px;font:600 13px ui-monospace,monospace;display:block}.hop small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.hop-role{letter-spacing:.04em;color:var(--c-728299);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:10px;font-weight:600;display:flex}.entry-hop{border-color:var(--c-b9cdf8)}.exit-hop{border-color:var(--c-b7dcca)}.target-hop{background:var(--c-fafbfd);border-style:dashed}.hop-arrow{color:var(--c-95a9c5);font-size:20px}.dot{background:var(--c-a8b3c1);border-radius:50%;width:6px;height:6px}.dot.online{background:var(--c-42a375)}.line-error{padding:0 20px 12px}.builder{border:1px solid var(--line);border-radius:8px;grid-template-columns:235px 1fr;display:grid;overflow:hidden}.palette{background:var(--c-f7f9fc);border-right:1px solid var(--line);padding:18px}h3{margin:0 0 8px;font-size:14px}.pick-node{text-align:left;flex-direction:column;gap:3px;width:100%;margin-top:9px;padding:12px;font-size:13px;display:flex}.pick-node:disabled{cursor:default;background:var(--c-edf1f6)}.assembly{min-width:0;padding:18px}.assembly-head{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.assembly-head button{padding:4px 9px;font-size:12px}.path-placeholder{border:1px dashed var(--c-b8cbe8);text-align:center;background:var(--c-fafcff);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:20px;display:flex}.path-placeholder>span{color:var(--c-7e9dcb);margin-bottom:10px;font-size:30px}.path-step{border:1px solid var(--c-d8e3f1);background:var(--c-fff);cursor:grab;border-radius:7px;align-items:center;gap:13px;margin-top:9px;padding:11px;display:flex}.path-step:active{cursor:grabbing}.step-index{color:var(--c-6d88b2);font:600 12px ui-monospace,monospace}.step-detail{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.step-detail strong{overflow-wrap:anywhere;font:600 13px ui-monospace,monospace}.step-role{color:var(--c-426bb0);font-size:10px;font-weight:600}.step-actions{gap:4px;display:flex}.step-actions button{padding:4px 7px;font-size:12px}.settings{margin-top:22px}.settings .fields{grid-template-columns:repeat(3,1fr);gap:15px}.summary{color:var(--c-47658d);overflow-wrap:anywhere;background:var(--c-f3f6fc);border-radius:6px;padding:10px;font-size:11px}.dialog-footer{align-items:center}.dialog-footer .meta{max-width:55%;margin-right:auto}dialog{width:min(950px,100% - 32px);max-height:90vh;padding:25px}dialog h2{margin-bottom:0}dialog .title-row{align-items:flex-start}.small-note{margin-top:9px}@media (width<=760px){.builder{grid-template-columns:1fr}.palette{border-right:0;border-bottom:1px solid var(--line)}#node-palette{gap:8px;display:flex;overflow:auto}.pick-node{min-width:170px}.settings .fields{grid-template-columns:1fr 1fr}.line-head{flex-direction:column;align-items:flex-start}.line-controls{justify-content:space-between;width:100%}.dialog-footer .meta{display:none}.hop{min-width:145px}.path-view{gap:8px}}@media (width<=460px){.settings .fields{grid-template-columns:1fr}.title-row{flex-wrap:wrap}dialog{padding:16px}.step-actions{gap:2px}.step-actions button{padding:4px}}.group-editor{border:1px solid var(--line,var(--c-dfe4ed));background:var(--c-fff);border-radius:12px;margin-bottom:12px;padding:14px}.group-editor.selected{border-color:var(--c-2459de);box-shadow:0 0 0 2px var(--c-2459de18)}.group-head,.group-member{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-member{flex-wrap:wrap;margin-top:10px}.group-member strong{flex:1;min-width:120px}.group-member label{align-items:center;gap:6px;font-size:12px;display:flex}.group-member input{width:74px;padding:6px}.group-policy{align-items:center;gap:10px;margin-top:12px;font-size:12px;display:flex}.direct-toggle{align-items:center;gap:8px;margin:12px 0 4px;font-size:13px;display:flex}.group-policy select{flex:1;min-width:0;padding:8px}.hop-group{flex:none;gap:8px;min-width:158px;display:grid}.hop-group>small{color:var(--c-65718a)}.hop-group .hop{min-width:0}.line-stats{border-top:1px solid var(--c-edf1f6);background:var(--c-fcfdff);flex-wrap:wrap;align-items:center;gap:24px;padding:13px 20px;display:flex}.line-stats>div{flex-direction:column;gap:4px;min-width:110px;display:flex}.line-stats span{color:var(--c-7d8b9d);font-size:11px}.line-stats strong{font-variant-numeric:tabular-nums;font-size:14px}.line-stats>button{margin-left:auto;font-size:12px}.metric-charts{grid-template-columns:1fr 1fr;gap:18px;margin:23px 0;display:grid}.metric-charts section{border:1px solid var(--line);border-radius:7px;padding:15px}.metric-charts svg{width:100%;display:block}.chart-empty{height:105px;color:var(--muted);place-items:center;font-size:12px;display:grid}.metric-edge-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;padding:13px 0;font-size:12px;display:flex}.metric-edge-row strong{flex-basis:100%;font-size:12px}.edge-charts{width:100%;margin:0}.metric-foot{background:var(--c-f7f9fc);border-radius:7px;margin:15px 0;padding:10px 14px}.metric-foot p{overflow-wrap:anywhere;font-size:12px}#metrics-dialog .line-stats>button{display:none}.path-view .hop{min-width:138px}@media (width<=650px){.metric-charts{grid-template-columns:1fr}.line-stats{gap:16px}.edge-metric{min-width:100px}}.line-head{cursor:pointer;border-bottom:0;padding:12px 18px}.is-expanded>.line-head{border-bottom:1px solid var(--c-e9eef6)}.line-head:hover{background:var(--c-f8faff)}.line-summary{text-align:left;min-width:0;box-shadow:none;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:6px 0;display:flex}.line-summary:hover{background:0 0}.line-chevron{color:var(--c-8291a9);font-size:26px;transition:transform .15s;display:inline-block;transform:rotate(0)}.is-expanded .line-chevron{color:var(--c-2459de);transform:rotate(90deg)}.line-title{gap:7px;min-width:0;display:grid}.line-title strong{overflow-wrap:anywhere}.line-subtitle{color:var(--c-718099);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.line-body[hidden]{display:none}.topology-toolbar{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.topology-toolbar strong{font-size:12px}.topology-toolbar span{color:var(--c-8390a5);margin-left:12px;font-size:11px}.topology-zoom{gap:4px;display:flex}.topology-zoom button{padding:4px 9px;font-size:12px}.topology-viewport{background-color:var(--c-fafcff);background-image:radial-gradient(var(--c-dce5f1) .8px, transparent .8px);border-block:1px solid var(--c-edf1f7);overscroll-behavior:contain;scrollbar-gutter:stable;background-size:18px 18px;max-height:640px;overflow:auto}.topology-svg{flex:none;max-width:none;font-family:inherit;display:block}.topology-heading text{fill:var(--c-344761);font-size:13px;font-weight:650}.topology-heading tspan{fill:var(--c-91a0b2);font-size:11px;font-weight:400}.topology-heading .topology-policy{fill:var(--c-7b8ba2);font-size:11px;font-weight:400}.edge-stroke,.edge-tip{fill:none;stroke:var(--edge);stroke-width:1.8px}.is-unknown .edge-stroke{stroke-dasharray:5 5;opacity:.48}.is-unknown .edge-tip{opacity:.48}.topology-edge-label{cursor:pointer;outline:none}.topology-edge-label rect{fill:var(--c-fff);stroke:var(--edge);stroke-opacity:.3}.topology-edge-label circle{fill:var(--edge)}.topology-edge-label text{fill:var(--edge);font:600 10px ui-monospace,monospace}.topology-edge-label:hover rect,.topology-edge-label:focus rect{stroke-width:2px;stroke-opacity:1}.topology-node>rect{fill:var(--c-fff);stroke:var(--c-d9e2ef);filter:drop-shadow(0 2px 3px var(--c-213f6810))}.topology-node.is-entry>rect{stroke:var(--c-a9c4f3)}.topology-node.is-exit>rect{stroke:var(--c-a6d8c4)}.topology-node-state{fill:var(--c-7c8ca2);font-size:10px}.topology-node-ip{fill:var(--c-23374e);font:600 12px ui-monospace,monospace}.topology-node-sub{fill:var(--c-7b8a9f);font-size:10px}.topology-caption{color:var(--c-7c8ba1);flex-wrap:wrap;gap:9px 18px;padding:12px 20px;font-size:10px;display:flex}.topology-caption span{align-items:center;gap:6px;display:flex}.topology-caption i{border-top:2px solid var(--c-5481c6);width:21px;display:inline-block}.topology-caption .legend-dashed{border-top:2px dashed var(--c-9aa9bd)}.topology-target{background:var(--c-f5f8fc);color:var(--c-728199);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 20px 16px;padding:10px 12px;font-size:11px;display:flex}.topology-target strong{color:var(--c-475e7a);overflow-wrap:anywhere;font:500 11px ui-monospace,monospace}.topology-target span{margin-left:auto;font-size:10px}@media (width<=760px){.line-head{gap:9px}.line-summary{width:100%}.line-controls{gap:8px;padding-left:28px}.topology-toolbar span{display:none}.topology-target span{width:100%;margin:0}}@media (prefers-reduced-motion:reduce){.line-chevron{transition:none}}#app{grid-template-columns:204px minmax(0,1fr);max-width:none;min-height:calc(100vh - 76px);margin:0;padding:0;display:grid}.sidebar{background:var(--c-fff);border-right:1px solid var(--line);padding:28px 14px}.sidebar-label{color:var(--c-8b97a8);letter-spacing:.12em;padding:0 14px 16px;font-size:11px}.sidebar nav{gap:8px;display:grid;position:sticky;top:24px}.sidebar nav button{text-align:left;color:var(--c-64738b);border-color:#0000;align-items:center;gap:10px;padding:12px 13px;display:flex}.sidebar nav button.selected{background:var(--c-edf3ff);color:var(--c-2459de);border-color:var(--c-dce7ff)}.nav-icon{text-align:center;width:21px;font-size:18px}.nav-count{opacity:.8;margin-left:auto;font-size:11px;font-weight:500}.sidebar-foot{color:var(--c-93a0b2);padding:30px 14px;font-size:12px}.workspace{min-width:0;padding:32px}.eyebrow{color:var(--c-8293ad);letter-spacing:.16em;margin-bottom:4px;font-size:11px}.rules-table-wrap{background:var(--c-fff);border:1px solid var(--line);border-radius:10px;overflow-x:auto}.forward-rules th,.forward-rules td{padding:16px}.forward-rules td:first-child{overflow-wrap:anywhere;min-width:175px;max-width:260px}.rule-target{overflow-wrap:anywhere;min-width:150px;max-width:250px;font-family:ui-monospace,monospace;font-size:12px}.rule-error{max-width:200px}.rule-speed{white-space:nowrap;min-width:145px;font-size:12px}.rule-speed>div{justify-content:space-between;gap:12px;line-height:1.8;display:flex}.rule-speed strong{font-variant-numeric:tabular-nums}.text-link{color:var(--c-5474ab);text-align:left;white-space:normal;background:0 0;border:none;padding:3px 0;font-size:12px}.rule-line-preview{background:var(--c-f4f7fc);border:1px solid var(--c-e4ebf4);color:var(--c-657792);overflow-wrap:anywhere;border-radius:7px;padding:12px;font-size:12px}@media (width<=900px){#app{grid-template-columns:164px minmax(0,1fr)}.sidebar{padding:24px 8px}.sidebar nav button{gap:6px;padding:10px 7px}.workspace{padding:24px 18px}}@media (width<=600px){#app{grid-template-columns:70px minmax(0,1fr)}.sidebar{padding:20px 5px}.sidebar-label,.sidebar-foot,.nav-count{display:none}.sidebar nav button{flex-direction:column;gap:2px;padding:10px 2px;font-size:10px}.workspace{padding:22px 12px}.workspace .title-row{flex-wrap:wrap}.workspace h1{font-size:23px}}.title-row>.primary{white-space:nowrap;flex-shrink:0}@media (width>=481px){#rule-editor .fields{grid-template-columns:1fr 1fr}#rule-editor .wide{grid-column:1/-1}}.rule-transfer-dialog{width:min(820px,100% - 28px)}.rule-transfer-dialog h2{margin-bottom:4px}.rule-transfer-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.rule-transfer-dialog textarea,#rule-export-text{border:1px solid var(--c-cdd7e4);resize:vertical;width:100%;color:inherit;border-radius:7px;padding:12px;font:12px/1.7 ui-monospace,monospace}.rule-transfer-dialog textarea:focus-visible{outline:3px solid var(--c-b8ceff);outline-offset:2px}.rule-transfer-preview{max-height:260px;margin:16px 0;overflow:auto}.rule-transfer-preview td{overflow-wrap:anywhere;max-width:280px;padding:10px 12px}.rule-transfer-preview th{padding:10px 12px}.rule-transfer-preview .error{white-space:pre-wrap}#rule-transfer-status{margin-bottom:14px}@media (width<=1050px){#rules-section>.title-row{flex-wrap:wrap}}.rule-transfer-dialog .dialog-footer{background:var(--c-fff);box-shadow:0 -8px 16px var(--c-fff);z-index:1;margin-top:12px;padding:14px 0;position:sticky;bottom:-26px}#rule-transfer-status details{color:var(--muted);font-size:13px}#rule-transfer-status summary{cursor:pointer}#rule-transfer-status ul{overflow-wrap:anywhere;max-height:220px;overflow:auto}#rule-rebind-preview tr.is-unchanged{color:var(--muted)}#rule-rebind-error:empty,#rule-import-preview:empty,#rule-import-error:empty{display:none}:root{--line:var(--c-e1e6ed);--blue:var(--c-315d80);--muted:var(--c-8290a2);--mono:ui-monospace, "SFMono-Regular", Consolas, monospace;color:var(--c-29384a);background:var(--c-f5f6f8);font-size:14px}body{min-width:320px}body.connected{height:100dvh;overflow:hidden}.console-toast{z-index:50;background:var(--c-263e58);max-width:calc(100vw - 32px);color:var(--c-f5f8fc);box-shadow:0 4px 18px var(--c-15253726);text-align:center;pointer-events:none;border-radius:6px;padding:10px 16px;font-size:12px;transition:opacity .15s,transform .15s;position:fixed;top:76px;left:50%;transform:translate(-50%)}.console-toast:empty{opacity:0;transform:translate(-50%,-6px)}.ui-icon{vertical-align:middle;flex-shrink:0;width:18px;height:18px}button{color:var(--c-56677c);border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;display:inline-flex}button:hover{background:var(--c-f1f5f9);border-color:var(--c-c5d3e0)}button:disabled{cursor:not-allowed}.primary{background:var(--c-263e58);border-color:var(--c-263e58);color:var(--c-f5f8fc);box-shadow:none}.primary:hover{background:var(--c-345777);border-color:var(--c-345777)}input,select,textarea{border-color:var(--c-dfe5ed);color:var(--c-42556c);border-radius:5px;padding:10px;font-size:12px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--c-8baecc);outline-offset:2px}input[type=checkbox]{accent-color:var(--c-416e92)}h1{letter-spacing:0;font-size:24px;font-weight:600}h2{font-size:16px;font-weight:550}h3{font-weight:550}p{color:var(--c-8592a3);font-size:12px}.meta,.small-note{color:var(--c-8794a6);font-size:11px}.address,.rule-target,.protocol-pill,.rule-speed strong,.nav-count{font-family:var(--mono);font-variant-numeric:tabular-nums}.console-header{z-index:5;background:var(--c-fff);height:60px;padding:0 38px;position:sticky;top:0}.connected .console-header{margin-left:226px}.console-logo{color:var(--c-83b6d7);display:inline-flex}.console-logo .ui-icon{fill:currentColor;stroke:none;width:29px;height:29px}.brand{letter-spacing:-1px;gap:10px;font-size:25px;font-weight:650}.login-brand{color:var(--c-263e58)}.breadcrumb{color:var(--c-8d9aab);align-items:center;gap:15px;font-size:11px;display:none}.breadcrumb-separator{color:var(--c-c4ccd7)}#module-name{color:var(--c-55667a)}.connected .breadcrumb{display:flex}.connected .login-brand{display:none}.head-right{gap:17px;font-size:10px}#sync{color:var(--c-9ba6b5);font-size:10px;font-family:var(--mono)}#logout{padding:5px 10px;font-size:11px}#app{max-width:none;height:calc(100dvh - 60px);min-height:0;margin:0 0 0 226px;padding:0;display:block}.sidebar{background:var(--c-151c27);width:226px;color:var(--c-9aabbd);z-index:10;border:none;flex-direction:column;padding:28px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{color:var(--c-edf2f9);padding:0 9px}.sidebar nav{gap:6px;margin-top:39px;position:static}.sidebar nav button{color:var(--c-8e9cae);text-align:left;background:0 0;border:0;border-radius:5px;justify-content:flex-start;gap:12px;padding:12px 13px;font-size:12px;position:relative}.sidebar nav button.selected{background:var(--c-243348);color:var(--c-d5e9ff);border:0}.sidebar nav button.selected:before{content:"";background:var(--c-7ab8e0);width:2px;height:18px;position:absolute;left:0}.sidebar nav button:hover{background:var(--c-202c3b);color:var(--c-d5e9ff)}.sidebar nav button.selected:hover{background:var(--c-2b3c52)}.sidebar nav button.selected .nav-count{color:var(--c-83a9ca)}.nav-icon{justify-content:center;align-items:center;width:18px;display:inline-flex}.nav-count{margin-left:auto;font-size:10px}.sidebar-account{border-top:1px solid var(--c-2a3444);color:var(--c-b9c5d5);align-items:center;gap:10px;margin-top:auto;padding:18px 9px 0;font-size:11px;display:flex}.account-avatar{width:29px;height:29px;font:13px var(--mono);background:var(--c-29374a);color:var(--c-98aecb);border-radius:5px;place-items:center;display:grid}.workspace{background:var(--c-fff);flex-direction:column;min-width:0;max-width:none;height:100%;min-height:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.workspace>section,.rules-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.workspace>.notice,#rule-transfer-status:not(:empty){border-radius:0;flex-shrink:0;max-height:25%;margin:0;overflow:auto}.rules-content,.lines-content,#nodes{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.rules-content:focus-visible,.lines-content:focus-visible,#nodes:focus-visible{outline:2px solid var(--c-8baecc);outline-offset:-2px}.rules-panel-head,.rules-toolbar,.rules-panel-foot,.workspace .section-head{flex-shrink:0}.rules-panel{background:var(--c-fff);border:0;border-radius:0;overflow:hidden}.rules-panel-head{border-bottom:1px solid var(--line);align-items:stretch;gap:24px;height:53px;padding:0 22px;display:flex}.rules-panel-head button{color:var(--c-8a98ab);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;gap:7px;padding:0;font-size:11px}.rules-panel-head button.selected{color:var(--c-365d7e);border-bottom-color:var(--c-47789e)}.rules-panel-head button span{min-width:18px;font:9px var(--mono);background:var(--c-f1f4f8);color:var(--c-8c9caf);border-radius:4px;padding:1px 5px}.rules-panel-head button.selected span{background:var(--c-eaf0f7);color:var(--c-5980a4)}.rules-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:15px 22px;display:flex}.rule-search{border:1px solid var(--c-e1e7ef);background:var(--c-f9fafc);border-radius:5px;align-items:center;gap:8px;width:38%;min-width:170px;max-width:345px;padding:8px 10px;display:flex}.rule-search .ui-icon{width:15px;height:15px;color:var(--c-9aa9bb)}.rule-search input{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:0;font-size:11px}.rule-search:focus-within{border-color:var(--c-8baecc)}.rule-search input::placeholder{color:var(--c-9ba8b9)}.toolbar-right{align-items:center;gap:8px;min-width:0;display:flex}.toolbar-right button{white-space:nowrap;padding:7px 10px;font-size:11px}.rules-table-wrap{background:var(--c-fff);border:0;border-radius:0;overflow:visible}.forward-rules{table-layout:auto;width:100%;min-width:875px}.forward-rules th{z-index:1;background:var(--c-f8f9fb);border-top:1px solid var(--c-edf0f5);border-bottom:1px solid var(--c-edf0f5);color:var(--c-7c8b9e);white-space:nowrap;padding:12px 15px;font-size:10px;font-weight:400;position:sticky;top:0}.forward-rules td{border-bottom:1px solid var(--c-edf1f6);padding:12px 15px;font-size:12px}.forward-rules tbody tr:last-child td{border-bottom:0}.forward-rules tbody tr:hover{background:var(--c-fcfdff)}.forward-rules td:first-child{min-width:165px;max-width:240px;padding-left:22px}.forward-rules th:first-child{padding-left:22px}.rule-identity{align-items:center;gap:11px;display:flex}.node-symbol{background:var(--c-f0f4f9);color:var(--c-7d96b0);border:1px solid var(--c-e0e7ef);border-radius:5px;flex-shrink:0;place-items:center;display:grid}input.rule-checkbox{cursor:pointer;flex-shrink:0;width:14px;height:14px;margin:0;padding:0}.rule-name-heading{cursor:pointer;align-items:center;gap:11px;display:inline-flex}.forward-rules tr.is-selected{background:var(--c-f0f5fa)}.forward-rules tr.is-selected:hover{background:var(--c-eaf1f8)}.rule-sort{font:inherit;color:inherit;background:0 0;border:0;gap:6px;padding:0}.sort-indicator{color:var(--c-a5b1bf)}[aria-sort=ascending] .rule-sort,[aria-sort=descending] .rule-sort,[aria-sort=ascending] .sort-indicator,[aria-sort=descending] .sort-indicator{color:var(--c-315d80)}#rule-line-filter{width:auto;max-width:150px;font:inherit;color:inherit;background:0 0;border-color:#0000;padding:4px 6px}#rule-line-filter:focus,#rule-line-filter:hover{border-color:var(--line);background:var(--c-fff)}.rule-identity strong{color:var(--c-34465c);font-size:12px;font-weight:550}.text-link{color:var(--c-8595aa);padding:3px 0 0;font-size:10px;line-height:1.6}.text-link:hover{color:var(--c-4e7da5);background:0 0;border-color:#0000}.rule-protocol{margin-top:4px}.rule-line{min-width:110px}.rule-line .text-link{text-align:left;overflow-wrap:anywhere;max-width:180px;padding:0;font-size:11px}.rule-endpoint{white-space:nowrap;align-items:center;gap:9px;display:flex}.rule-endpoint .address{color:var(--c-4c607a);font-size:12px}.protocol-pill{background:var(--c-f5f7fa);border:1px solid var(--c-e3e9f1);color:var(--c-8698af);white-space:nowrap;border-radius:3px;padding:2px 4px;font-size:8px;font-weight:400}.rule-target{color:var(--c-8b99ad);min-width:150px;margin-top:6px;font-size:10px}.rule-speed{flex-direction:column;min-width:0;font-size:11px;display:inline-flex}.rule-speed>div{justify-content:flex-start;gap:8px;line-height:1.6}.rule-speed strong{color:var(--c-40536b);font-size:11px;font-weight:450}.rule-speed-up{color:var(--c-4d97a9)}.rule-speed-down{color:var(--c-7f90c2)}.badge{white-space:nowrap;background:var(--c-f1f4f8);color:var(--c-8797ac);border-radius:4px;padding:4px 7px;font-size:10px;font-weight:400}.badge.ok{background:var(--c-eff6f3);color:var(--c-528c75)}.badge.error,.badge.failed,.badge.bad{background:var(--c-fbefef);color:var(--c-b06a6a)}.badge.pending,.badge.wait{background:var(--c-faf5e9);color:var(--c-a0884c)}.forward-rules .actions{flex-wrap:nowrap;justify-content:flex-end;gap:2px}.forward-rules .actions button{color:var(--c-8b9bb0);background:0 0;border:0;padding:6px}.forward-rules .actions button .ui-icon{width:15px;height:15px}.forward-rules .actions button:hover{background:var(--c-edf3fa);color:var(--c-487597)}.forward-rules .actions button.danger:hover{color:var(--c-b76b6b);background:var(--c-fbeeee)}.forward-rules th:last-child{text-align:right;padding-right:22px}.forward-rules td:last-child{padding-right:17px}.rules-panel-foot{border-top:1px solid var(--c-edf0f5);color:var(--c-9ba8b8);padding:12px 22px;font-size:10px}#rule-transfer-status:empty{display:none}#rule-transfer-status:not(:empty){border:1px solid var(--c-dce8e0);background:var(--c-f7fbf8);padding:12px 15px}.section-head.plain button{padding:7px 10px;font-size:11px}.section-head.plain{border-bottom:1px solid var(--line);min-height:0;margin:0;padding:15px 22px}.count{color:var(--c-8c9bb0);margin-left:0;font-size:11px;font-weight:400}.line-list{gap:0}.line-card{border:0;border-bottom:1px solid var(--line);border-radius:0}.line-head{padding:17px 20px}.line-controls{gap:12px}.line-head strong{font-size:13px;font-weight:550}.line-subtitle{color:var(--c-8e9db1);font-size:10px}.line-controls button{padding:6px 9px;font-size:11px}.topology-viewport{background:var(--c-f8fafc);background-image:radial-gradient(var(--c-d7e0eb) .7px, transparent .7px);background-size:12px 12px}.nodes{border:1px solid var(--line);background:var(--c-fff);border-radius:8px;margin:0 22px 22px;padding:0;display:block;overflow:hidden}.node{border-color:var(--line);border-radius:6px;min-width:0;padding:24px}.node-symbol{width:37px;height:37px;margin-bottom:20px}.node .address{overflow-wrap:anywhere;font-size:14px;font-weight:500}.node .meta{font-size:10px;line-height:1.9}.node-top{align-items:flex-start;gap:12px;margin-bottom:8px}.node-config-row{border-top:1px solid var(--c-edf0f5);gap:7px;margin-top:20px;padding-top:17px}.node-config-row button{padding:6px 9px;font-size:11px}.node-config-row .meta{font-size:10px}.login{border:1px solid var(--line);max-width:400px;box-shadow:0 8px 25px var(--c-22385406);background:var(--c-fff);border-radius:8px;margin:100px auto;padding:32px}.login h1{margin:17px 0 25px;font-size:22px}.login-symbol .ui-icon{width:30px;height:30px;color:var(--c-769cba);fill:currentColor;stroke:none}.login label{color:var(--c-7f8fa4);margin:0 0 7px;font-size:11px;display:block}.login form button{width:100%;margin-top:14px;padding:10px}.login .small-note{margin-top:17px;font-size:10px}.notice{border-radius:5px;margin-bottom:18px;font-size:12px}dialog{border:1px solid var(--c-dfe6ef);color:var(--c-344b65);box-shadow:0 24px 80px var(--c-0a1f3930);border-radius:8px}dialog::backdrop{background:var(--c-14243a60);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog .title-row{margin-bottom:20px}dialog .title-row h2{font-size:19px;font-weight:550}dialog .title-row>button{color:var(--c-879ab1);background:0 0;border:0;padding:5px 9px}dialog p{font-size:11px;line-height:1.8}dialog .field{color:var(--c-7c8ea5);font-size:11px}.dialog-footer{border-color:var(--c-e6ecf3);padding-top:18px}.palette{background:var(--c-f7f9fc)}.path-group,.settings,.summary,.rule-line-preview{border-color:var(--c-e1e8f0)}.rule-line-preview{background:var(--c-f7f9fc);color:var(--c-8192a8);font-size:11px}.metric-charts section,.line-stats{border-radius:6px}.empty{color:var(--c-8999ac);font-size:12px}@media (width<=1200px){.sidebar{width:195px;padding-left:14px;padding-right:14px}#app,.connected .console-header{margin-left:195px}}@media (width<=900px){.sidebar{width:75px;padding:25px 12px}#app{margin-left:75px}.connected .console-header{margin-left:75px;padding:0 25px}.brand-name,.nav-label,.nav-count,.sidebar-account{display:none}.sidebar-brand{justify-content:center;padding:0}.sidebar nav button{justify-content:center;padding:13px 0}.rules-toolbar{flex-wrap:wrap}.rule-search{width:100%;max-width:none}.toolbar-right{justify-content:flex-end;width:100%}}@media (width<=600px){.sidebar{width:56px;padding:20px 7px}#app{margin-left:56px}.connected .console-header{margin-left:56px;padding:0 15px}.console-header{padding:0 20px}.breadcrumb{gap:8px;font-size:10px}.breadcrumb>span:first-child,.breadcrumb-separator{display:none}.head-right{gap:9px}#sync{font-size:8px}.rules-panel-head{gap:15px;padding:0 13px}.rules-panel-head button{gap:4px;font-size:10px}.rules-toolbar{padding:13px}.toolbar-right{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px;display:grid}.toolbar-right button{padding:7px;font-size:10px}.nodes{grid-template-columns:1fr;padding:13px}.section-head.plain{padding:13px}.node{padding:20px}.node .address{font-size:12px}.line-head{flex-wrap:wrap;padding:14px}.line-controls{justify-content:space-between;gap:6px;width:100%}.line-controls .actions{gap:4px}.line-controls button{padding:5px 7px;font-size:10px}.login{margin:55px 20px;padding:25px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.node{background:var(--c-fff)}.web-ui-dialog{border:1px solid var(--c-dce1e8);border-radius:12px;width:min(520px,100vw - 32px);padding:24px}.web-ui-heading,.web-ui-row{align-items:center;gap:12px;display:flex}.web-ui-heading{justify-content:space-between;margin-bottom:20px}.web-ui-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.web-ui-dialog label{margin:16px 0 8px;display:block}.web-ui-row input,.web-ui-row select{flex:1;min-width:0}.web-ui-row button{white-space:nowrap}#license-summary{color:var(--muted);border-bottom:1px solid var(--border);margin:0;padding:.55rem 1rem;font-size:.85rem}#users-dialog form,#password-dialog form{gap:.6rem;margin-block:.8rem;display:grid}#user-grants{gap:.5rem;max-height:16rem;display:grid;overflow:auto}#user-grants input,#user-enabled{width:auto}.ordinary-user [data-action=view-line]{pointer-events:none}#session-boot{background:var(--c-f6f8fb);min-height:100vh;padding:8vh 8vw}#session-boot div{background:var(--c-e9edf2);border-radius:6px;height:48px;margin-bottom:24px}#session-boot div:first-child{width:25%}#session-boot div:last-child{height:220px}[hidden]{display:none!important}.node-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.node-toolbar #node-search{width:210px;margin-left:auto}.node-toolbar #node-role-filter{width:auto}.node-toolbar #add-node{margin-left:0}.node-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 22px 14px;display:grid}.summary-tile{background:var(--c-f6f8fb);border-radius:6px;min-width:0;padding:10px 14px}.summary-tile span{color:var(--muted);font-size:11px;display:block}.summary-tile strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:2px;font-size:17px;font-weight:500;display:block}.node-list-head,.node-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1fr) 14px;align-items:center;gap:16px;display:grid}.node-list-head{color:var(--muted);border-bottom:1px solid var(--line);background:var(--c-fafbfd);padding:8px 16px;font-size:11px}.node-row{border-bottom:1px solid var(--c-edf0f5)}.node-row:last-child{border-bottom:0}.node-main{cursor:pointer;padding:12px 16px}.node-main:hover,.node-row.open .node-main{background:var(--c-f8fafc)}.node-main:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.node-title{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.node-title .node-name{margin-right:2px;font-size:13px;font-weight:500;display:inline}.node-ident .meta{flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:11px;line-height:1.5;display:flex}.node-ident .address{color:var(--muted);font-size:11px;font-weight:400}.status-dot{background:var(--c-b8c2cf);border-radius:50%;flex:none;width:8px;height:8px}.status-dot.ok{background:var(--c-1d9e75)}.status-dot.warn{background:var(--c-d4a017)}.status-dot.pending{border:1px dashed var(--c-9aa7b8);background:0 0}.role-chip{background:var(--c-eef2f7);color:var(--c-4b5a6e);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px}.role-chip.upgradable{background:var(--c-fdf3dc);color:var(--c-8a5a00)}.node-egress{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.egress-family{white-space:nowrap;color:var(--c-3d4b5e)}.egress-none{color:var(--muted)}.flag{width:16px;height:12px;box-shadow:0 0 0 .5px var(--c-0002);vertical-align:-1px;object-fit:cover;border-radius:2px;display:inline-block}.node-live{align-items:center;gap:10px;min-width:0;display:flex}.rates,.node-traffic{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;line-height:1.6}.rates .up,.node-traffic .up{color:var(--c-2459de)}.rates .down,.node-traffic .down{color:var(--c-0f7a58)}.sparkline{flex:none;width:72px;height:24px}.sparkline polyline{fill:none;stroke-width:1.4px;vector-effect:non-scaling-stroke}.spark-tx{stroke:var(--c-2459de)}.spark-rx{stroke:var(--c-1d9e75)}.node-resources{gap:3px;display:grid}.meter{color:var(--muted);grid-template-columns:28px minmax(0,1fr) 30px;align-items:center;gap:6px;font-size:10px;display:grid}.meter-bar{background:var(--c-edf0f5);border-radius:2px;height:4px;overflow:hidden}.meter-bar i{background:var(--c-6f8fbf);height:100%;display:block}.meter.high .meter-bar i{background:var(--c-d4a017)}.meter.high .meter-value{color:var(--c-8a5a00)}.meter-value{text-align:right;font-variant-numeric:tabular-nums}.node-chevron{color:var(--muted);font-size:11px}.node-detail{background:var(--c-f8fafc);padding:4px 16px 16px 30px}.node-facts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px 18px;padding:6px 0 4px;display:grid}.node-facts span{color:var(--muted);font-size:10px;display:block}.node-facts strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;display:block}.node-facts code{font-size:11px}.node-warnings{color:var(--c-8a5a00);margin-top:10px;font-size:11px}.node-detail .node-config-row{margin-top:12px;padding-top:12px}.node-detail .node-controller{margin-top:12px}.node-row.pending-node{border-style:dashed none none;border-top:1px dashed var(--c-d5dde8)}.pending-node .node-main{cursor:default;grid-template-columns:minmax(0,1.7fr) auto}.pending-node .node-main:hover{background:0 0}.pending-actions{justify-content:flex-end;margin:0}.pending-actions button,.node-actions button{padding:6px 9px;font-size:11px}@media (width<=860px){.node-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 14px 12px}.nodes{margin:0 14px 14px}.node-list-head{display:none}.node-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 14px;gap:10px 14px}.node-ident{grid-column:1/3}.node-chevron{grid-area:1/3}.node-resources{grid-column:1/3}.node-detail{padding-left:16px}.node-toolbar #node-search{order:3;width:100%;margin-left:0}.summary-tile strong{font-size:15px}}@media (width<=480px){.sparkline{display:none}}:root[data-theme=anime]{--c-0002:#0002;--c-0a1f3930:#24142f30;--c-0f7a58:#0f7a4d;--c-11264066:#2b183966;--c-12294733:#2f1b3e33;--c-14243a60:#2a173760;--c-151c27:#1f1623;--c-15253726:#29173526;--c-192739:#2a1e30;--c-1949c5:#e21d6f;--c-1d9e75:#1d9e68;--c-202c3b:#2f2136;--c-213f6810:#49296010;--c-218551:#1d895c;--c-22385406:#3f235306;--c-23374e:#3a2943;--c-243348:#372740;--c-2459de:#de2471;--c-2459de18:#de247118;--c-25976c:#219b68;--c-263e58:#412d4a;--c-287863:#1c8459;--c-29374a:#3b2a44;--c-29384a:#3b2a44;--c-2a3444:#382841;--c-2b3c52:#402d4a;--c-31588d:#d22d72;--c-315d80:#d22d72;--c-34465c:#4a3455;--c-344761:#4c3658;--c-344b65:#4e375a;--c-345777:#d22d72;--c-365d7e:#d22d72;--c-3d4b5e:#50385b;--c-40536b:#583e65;--c-416e92:#d22d72;--c-42556c:#593f66;--c-426bb0:#d22d72;--c-42a375:#28bd7f;--c-475e7a:#d22d72;--c-47658d:#d22d72;--c-476ab0:#d22d72;--c-47789e:#d22d72;--c-487597:#d22d72;--c-4b5a6e:#5f436d;--c-4c607a:#664775;--c-4d97a9:#d22d72;--c-4e7da5:#d22d72;--c-5074ae:#d22d72;--c-528c75:#27b77b;--c-5474ab:#d22d72;--c-5481c6:#d74381;--c-55667a:#6a4b7a;--c-56677c:#6c4c7c;--c-5975a4:#d22d72;--c-5980a4:#d22d72;--c-64738b:#7b568d;--c-65718a:#7b568d;--c-657792:#7f5991;--c-667487:#7a568c;--c-697587:#7b578d;--c-6b7280:#79558a;--c-6d88b2:#d84783;--c-6f8fbf:#db538c;--c-718099:#88609d;--c-728199:#89609d;--c-728299:#89609d;--c-738399:#89619e;--c-769cba:#db558d;--c-7ab8e0:#e278a4;--c-7b8a9f:#9069a3;--c-7b8ba2:#916ba4;--c-7c8b9e:#9069a3;--c-7c8ba1:#916ba4;--c-7c8ca2:#916ba4;--c-7c8ea5:#936da6;--c-7d8b9d:#9069a3;--c-7d96b0:#da538b;--c-7e9dcb:#df6a9b;--c-7f8fa4:#946ea6;--c-7f90c2:#de6396;--c-8192a8:#9672a8;--c-8290a2:#946fa7;--c-8291a9:#9773a9;--c-8293ad:#9975ab;--c-8390a5:#9671a8;--c-83a9ca:#e06d9d;--c-83b6d7:#e278a4;--c-8592a3:#9671a8;--c-8595aa:#9975ab;--c-8698af:#b580b0;--c-8794a6:#9874aa;--c-8797ac:#b47faf;--c-879ab1:#b682b1;--c-8994a4:#9874aa;--c-8999ac:#b580b0;--c-8a5a00:#8a5300;--c-8a98ab:#b580b0;--c-8b97a8:#b47faf;--c-8b99ad:#b682b1;--c-8b9bb0:#b784b3;--c-8baecc:#e275a2;--c-8c9bb0:#b785b3;--c-8c9caf:#b784b3;--c-8d9aab:#b682b1;--c-8e9cae:#b785b3;--c-8e9db1:#b887b4;--c-91a0b2:#ba89b6;--c-93a0b2:#bb8ab7;--c-95a9c5:#c298bf;--c-98aecb:#c69dc2;--c-9aa7b8:#bf93bc;--c-9aa9bb:#c095bd;--c-9aa9bd:#c196be;--c-9aabbd:#c196be;--c-9b6d12:#9b6412;--c-9ba6b5:#bf91bb;--c-9ba8b8:#c093bc;--c-9ba8b9:#c094bc;--c-a0884c:#c38529;--c-a0aec2:#c59dc2;--c-a3adbd:#c59bc1;--c-a5b1bf:#c69ec3;--c-a6d8c4:#d0aecd;--c-a8323d:#b42639;--c-a8b3c1:#c8a1c5;--c-a9c4f3:#f3a9c8;--c-b06a6a:#d74357;--c-b45309:#b40920;--c-b53b43:#c62a3f;--c-b5c8f7:#f7b5d0;--c-b76b6b:#d9495d;--c-b7dcca:#d7bcd5;--c-b83340:#c2293d;--c-b8c2cf:#d3b4d0;--c-b8cbe8:#dcc4da;--c-b8ceff:#ffb8d6;--c-b9c5d5:#d6b8d3;--c-b9cdf8:#f8b9d3;--c-be3942:#cc2b41;--c-c4ccd7:#dac1d8;--c-c5d3e0:#dec7dc;--c-cdd7e4:#e3cee1;--c-d4a017:#d48817;--c-d5dde8:#e7d6e6;--c-d5e9ff:#ffd5e6;--c-d6e2f7:#f7d6e4;--c-d7e0eb:#e9d9e8;--c-d8e3f1:#f4d5e2;--c-d9e2ef:#f4d4e1;--c-dbe3ee:#f4d5e2;--c-dce1e8:#eadae8;--c-dce5f0:#f5d7e3;--c-dce5f1:#f5d8e4;--c-dce7ff:#ffdceb;--c-dce8e0:#eadae8;--c-dfe4ed:#f5d7e6;--c-dfe5ed:#f5d7e6;--c-dfe6ee:#f5d8e6;--c-dfe6ef:#f5d9e7;--c-e0e7ef:#f6d9e8;--c-e1e5ec:#f5d8e6;--c-e1e6ed:#f5d9e7;--c-e1e7ef:#f6dae8;--c-e1e8f0:#f6dbe8;--c-e3e9f1:#f7ddea;--c-e4ebf4:#f7e1ea;--c-e6ecf3:#f8e1eb;--c-e9edf2:#f8e3ee;--c-e9eef6:#f9e6ee;--c-eaf0f7:#f9e8ef;--c-eaf1f8:#f9e9f0;--c-eaf7ef:#e8f9f2;--c-edf0f5:#f9e9f1;--c-edf1f6:#fae9f2;--c-edf1f7:#faeaf2;--c-edf2f9:#faecf2;--c-edf3fa:#faedf2;--c-edf3ff:#ffedf4;--c-eef2f7:#faebf2;--c-eff4ff:#ffeff6;--c-eff6f3:#faebf2;--c-f0f3f7:#faedf3;--c-f0f4f9:#fbeef4;--c-f0f5fa:#fbeff5;--c-f1d1d1:#f3cfd4;--c-f1f4f8:#fbeef4;--c-f1f5f9:#fbeff5;--c-f3f6fa:#fcf1f6;--c-f3f6fc:#fcf3f8;--c-f4f7fc:#fcf4f8;--c-f5f6f8:#fcf1f6;--c-f5f7fa:#fcf3f8;--c-f5f8fc:#fcf5f9;--c-f6f8fb:#fcf5f8;--c-f7f9fc:#fdf6fa;--c-f7fbf8:#fdf5f9;--c-f8f9fb:#fdf6fa;--c-f8fafc:#fdf7fa;--c-f8faff:#fef9fc;--c-f9fafc:#fdf8fb;--c-f9fbff:#fefafc;--c-faf5e9:#faf3e9;--c-fafbfd:#fef9fc;--c-fafcff:#fefbfc;--c-fbeeee:#fbeef0;--c-fbefef:#fbeff1;--c-fcfdff:#fefdfe;--c-fdf3dc:#fdf0dc;--c-fff:#fff;--c-fff0f0:#fff0f2;--c-fff1f1:#fff1f3;--c-fff5df:#fff2df}:root[data-theme=anime][data-mode=dark]{--c-0002:#0b060e22;--c-0a1f3930:#0b060e30;--c-0f7a58:#71f4bd;--c-11264066:#0b060e66;--c-12294733:#0b060e33;--c-14243a60:#0b060e60;--c-151c27:#ede9f2;--c-15253726:#0b060e26;--c-192739:#e6e0ed;--c-1949c5:#f471a8;--c-1d9e75:#71f4bd;--c-202c3b:#e4ddeb;--c-213f6810:#0b060e10;--c-218551:#71f4bd;--c-22385406:#0b060e06;--c-23374e:#ddd5e6;--c-243348:#dfd6e7;--c-2459de:#f471a8;--c-2459de18:#f471a818;--c-25976c:#71f4bd;--c-263e58:#d9d0e3;--c-287863:#71f4bd;--c-29374a:#dcd4e5;--c-29384a:#dcd4e5;--c-2a3444:#ded6e6;--c-2b3c52:#dad0e3;--c-31588d:#f471a8;--c-315d80:#f471a8;--c-34465c:#d4c9df;--c-344761:#d2c7dd;--c-344b65:#d1c6dd;--c-345777:#f471a8;--c-365d7e:#f471a8;--c-3d4b5e:#d0c5dc;--c-40536b:#ccbfd9;--c-416e92:#f471a8;--c-42556c:#cbbed8;--c-426bb0:#f471a8;--c-42a375:#71f4bd;--c-475e7a:#f471a8;--c-47658d:#f471a8;--c-476ab0:#f471a8;--c-47789e:#f471a8;--c-487597:#f471a8;--c-4b5a6e:#c8bad5;--c-4c607a:#c4b5d2;--c-4d97a9:#f471a8;--c-4e7da5:#f471a8;--c-5074ae:#f471a8;--c-528c75:#71f4bd;--c-5474ab:#f471a8;--c-5481c6:#f471a8;--c-55667a:#c1b1d0;--c-56677c:#c0b0d0;--c-5975a4:#f471a8;--c-5980a4:#f471a8;--c-64738b:#b7a5c9;--c-65718a:#b7a5c9;--c-657792:#b5a2c7;--c-667487:#b8a6ca;--c-697587:#b7a5c9;--c-6b7280:#b8a7ca;--c-6d88b2:#f471a8;--c-6f8fbf:#f471a8;--c-718099:#af9bc3;--c-728199:#af9bc3;--c-728299:#af9bc3;--c-738399:#af9ac3;--c-769cba:#f471a8;--c-7ab8e0:#f471a8;--c-7b8a9f:#aa95c0;--c-7b8ba2:#aa94bf;--c-7c8b9e:#aa95c0;--c-7c8ba1:#aa94bf;--c-7c8ca2:#a994bf;--c-7c8ea5:#a893be;--c-7d8b9d:#aa95c0;--c-7d96b0:#f471a8;--c-7e9dcb:#f471a8;--c-7f8fa4:#a892be;--c-7f90c2:#f471a8;--c-8192a8:#a690bc;--c-8290a2:#a792bd;--c-8291a9:#a58fbc;--c-8293ad:#a48dbb;--c-8390a5:#a690bc;--c-83a9ca:#f471a8;--c-83b6d7:#f471a8;--c-8592a3:#a690bc;--c-8595aa:#a48dbb;--c-8698af:#a28bb9;--c-8794a6:#a58ebb;--c-8797ac:#a38cba;--c-879ab1:#a18ab9;--c-8994a4:#a58ebb;--c-8999ac:#a28bb9;--c-8a5a00:#f4c071;--c-8a98ab:#a28bb9;--c-8b97a8:#a38cba;--c-8b99ad:#a18ab9;--c-8b9bb0:#a089b8;--c-8baecc:#f471a8;--c-8c9bb0:#a088b8;--c-8c9caf:#a089b8;--c-8d9aab:#a18ab9;--c-8e9cae:#a088b8;--c-8e9db1:#9f87b7;--c-91a0b2:#9e86b6;--c-93a0b2:#9d85b6;--c-95a9c5:#977db1;--c-98aecb:#947aaf;--c-9aa7b8:#9a80b3;--c-9aa9bb:#997fb2;--c-9aa9bd:#987eb2;--c-9aabbd:#987eb2;--c-9b6d12:#f4c071;--c-9ba6b5:#9a81b3;--c-9ba8b8:#9980b3;--c-9ba8b9:#9980b3;--c-a0884c:#f4c071;--c-a0aec2:#957aaf;--c-a3adbd:#957bb0;--c-a5b1bf:#947aaf;--c-a6d8c4:#8c70a9;--c-a8323d:#f47183;--c-a8b3c1:#9378ae;--c-a9c4f3:#f8a4c7;--c-b06a6a:#f47183;--c-b45309:#f47183;--c-b53b43:#f47183;--c-b5c8f7:#68384c;--c-b76b6b:#f47183;--c-b7dcca:#8668a4;--c-b83340:#f47183;--c-b8c2cf:#8a6ca7;--c-b8cbe8:#8263a1;--c-b8ceff:#663047;--c-b9c5d5:#886aa5;--c-b9cdf8:#65364a;--c-be3942:#f47183;--c-c4ccd7:#8465a3;--c-c5d3e0:#4c3a6b;--c-cdd7e4:#483665;--c-d4a017:#f4c071;--c-d5dde8:#43335f;--c-d5e9ff:#57293c;--c-d6e2f7:#5a2b3f;--c-d7e0eb:#41325c;--c-d8e3f1:#5d2c40;--c-d9e2ef:#5d2c40;--c-dbe3ee:#5d2c40;--c-dce1e8:#41315b;--c-dce5f0:#5b2b3f;--c-dce5f1:#5a2b3f;--c-dce7ff:#26111a;--c-dce8e0:#41315b;--c-dfe4ed:#3e2f57;--c-dfe5ed:#3e2f57;--c-dfe6ee:#3d2f56;--c-dfe6ef:#3d2e56;--c-e0e7ef:#3c2e55;--c-e1e5ec:#3d2f56;--c-e1e6ed:#3d2e56;--c-e1e7ef:#3c2e55;--c-e1e8f0:#3c2d54;--c-e3e9f1:#3b2d53;--c-e4ebf4:#54283a;--c-e6ecf3:#54283a;--c-e9edf2:#191324;--c-e9eef6:#29121c;--c-eaf0f7:#2a131c;--c-eaf1f8:#2a131d;--c-eaf7ef:#132a20;--c-edf0f5:#1c1529;--c-edf1f6:#1d1529;--c-edf1f7:#1d162a;--c-edf2f9:#2d141e;--c-edf3fa:#2e141f;--c-edf3ff:#311621;--c-eef2f7:#1d162a;--c-eff4ff:#321622;--c-eff6f3:#1d162a;--c-f0f3f7:#1e162c;--c-f0f4f9:#1f172d;--c-f0f5fa:#1f172d;--c-f1d1d1:#602d34;--c-f1f4f8:#1f172d;--c-f1f5f9:#1f172d;--c-f3f6fa:#21182f;--c-f3f6fc:#211930;--c-f4f7fc:#221931;--c-f5f6f8:#21182f;--c-f5f7fa:#211930;--c-f5f8fc:#221a32;--c-f6f8fb:#221a32;--c-f7f9fc:#231a33;--c-f7fbf8:#231a32;--c-f8f9fb:#231a33;--c-f8fafc:#241a33;--c-f8faff:#251b35;--c-f9fafc:#241b34;--c-f9fbff:#251c36;--c-faf5e9:#2b2213;--c-fafbfd:#251b35;--c-fafcff:#261c36;--c-fbeeee:#2f1518;--c-fbefef:#2f1519;--c-fcfdff:#261d37;--c-fdf3dc:#544228;--c-fff:#281d39;--c-fff0f0:#33171a;--c-fff1f1:#33171b;--c-fff5df:#281f12}:root[data-theme=anime]{--k-pink:#ff7fb0;--k-pink-glow:#ff7fb040;--k-border:#ffd6e8;--k-surface:#fff;--k-shadow:0 6px 20px #ff7fb014;--k-radius:18px;--k-petal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='%23ffc2db' fill-opacity='.55'%3E%3Cpath d='M30 40c8-10 22-6 20 6-2 10-14 12-20-6z'/%3E%3Cpath d='M190 30c10-6 20 2 15 12-4 8-15 6-15-12z' fill='%23cfe3ff'/%3E%3Cpath d='M120 150c9-8 21-2 18 9-3 9-15 9-18-9z'/%3E%3Cpath d='M220 200c8-9 20-4 18 7-2 9-14 10-18-7z' fill='%23e2d6ff'/%3E%3Cpath d='M50 220c7-8 18-3 16 7-2 8-13 9-16-7z' fill='%23cfe3ff'/%3E%3C/g%3E%3C/svg%3E");background:var(--c-f3f6fa);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:"M PLUS Rounded 1c",PingFang SC,Hiragino Maru Gothic ProN,Microsoft YaHei,sans-serif}:root[data-theme=anime][data-mode=dark]{--k-pink:#ff9cc6;--k-pink-glow:#ff9cc633;--k-border:#3d3058;--k-surface:#281d39;--k-shadow:0 8px 24px #0006;--k-petal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='20' cy='30' r='1.2' fill-opacity='.8'/%3E%3Ccircle cx='140' cy='20' r='1' fill-opacity='.6'/%3E%3Ccircle cx='90' cy='110' r='1.4' fill='%23ffd6f0' fill-opacity='.8'/%3E%3Ccircle cx='200' cy='150' r='1' fill-opacity='.7'/%3E%3Ccircle cx='40' cy='200' r='1.3' fill='%23bfe0ff' fill-opacity='.8'/%3E%3Ccircle cx='180' cy='60' r='.8' fill-opacity='.5'/%3E%3Ccircle cx='120' cy='210' r='.9' fill-opacity='.6'/%3E%3C/g%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=anime] body,:root[data-theme=anime] body.connected,:root[data-theme=anime] .workspace{background:0 0}:root[data-theme=anime] body:before,:root[data-theme=anime] body:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}:root[data-theme=anime] body:before{background:var(--anime-background,none) center / cover no-repeat;opacity:.22}:root[data-theme=anime][data-mode=dark] body:before{opacity:.28}:root[data-theme=anime] body:after{background-image:var(--k-petal)}:root[data-theme=anime] button{border-radius:999px;transition:transform .12s,box-shadow .12s,background .12s}:root[data-theme=anime] button:active:not(:disabled){transform:scale(.97)}:root[data-theme=anime] .primary,:root[data-theme=anime] .primary:hover{color:#fff;box-shadow:0 4px 14px var(--k-pink-glow);background:#e4528f;border-color:#e4528f}:root[data-theme=anime][data-mode=dark] .primary,:root[data-theme=anime][data-mode=dark] .primary:hover{background:var(--k-pink);border-color:var(--k-pink);color:#3b1530}:root[data-theme=anime] input,:root[data-theme=anime] select,:root[data-theme=anime] textarea{border-radius:12px}:root[data-theme=anime] .rules-panel,:root[data-theme=anime] .line-card,:root[data-theme=anime] .nodes,:root[data-theme=anime] .login,:root[data-theme=anime] .notice,:root[data-theme=anime] #license-summary{border-radius:var(--k-radius);border:1.5px solid var(--k-border);box-shadow:var(--k-shadow)}:root[data-theme=anime] .summary-tile{border:1.5px solid var(--k-border);background:var(--k-surface);border-radius:16px}:root[data-theme=anime] dialog{border:2px solid var(--k-border);box-shadow:var(--k-shadow);border-radius:22px}:root[data-theme=anime] dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2a173755}:root[data-theme=anime] .sidebar nav button{border-radius:14px}:root[data-theme=anime] .badge,:root[data-theme=anime] .protocol-pill,:root[data-theme=anime] .role-chip,:root[data-theme=anime] .nav-count{border-radius:999px}:root[data-theme=anime] .meter-bar,:root[data-theme=anime] .meter-bar i{border-radius:999px;height:6px}:root[data-theme=anime] .meter-bar i{background:var(--k-pink)}:root[data-theme=anime] h1,:root[data-theme=anime] h2,:root[data-theme=anime] h3,:root[data-theme=anime] strong{font-weight:500}:root[data-theme=anime] *{scrollbar-color:var(--k-border) transparent}.mascot,#node-greeting{display:none}:root[data-theme=anime] .mascot{background:var(--k-surface);border:1.5px dashed var(--k-border);width:56px;height:56px;color:var(--k-pink);border-radius:18px;flex:none;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}:root[data-theme=anime] .mascot.has-image{border-style:solid}:root[data-theme=anime] .mascot img{object-fit:cover;width:100%;height:100%}:root[data-theme=anime] .login .mascot{border-radius:28px;width:96px;height:96px;margin:0 auto 10px;font-size:18px}:root[data-theme=anime] .login .login-symbol{display:none}:root[data-theme=anime][data-kawaii=on] #node-greeting{color:var(--c-667487);align-items:center;gap:12px;margin:0 22px 12px;font-size:13px;display:flex}:root[data-theme=anime] #node-greeting strong{color:var(--c-192739);font-size:17px;display:block}.kawaii-status{white-space:nowrap;background:var(--c-eaf7ef);color:var(--c-0f7a58);border-radius:999px;padding:1px 8px;font-size:10px}.kawaii-status.warn{background:var(--c-fdf3dc);color:var(--c-8a5a00)}.kawaii-status.off{background:var(--c-eef2f7);color:var(--c-667487)}#appearance-dialog .appearance-choices{flex-wrap:wrap;gap:8px;display:flex}#appearance-dialog .appearance-choices label{color:inherit;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}#appearance-dialog .appearance-image{align-items:center;gap:10px;display:flex}#appearance-dialog .appearance-image .mascot{display:flex}:root[data-theme=anime] .sidebar{--c-151c27:#fff;--c-9aabbd:#8b6f9e;--c-8e9cae:#8b6f9e;--c-243348:#ffe8f2;--c-d5e9ff:#d6448a;--c-7ab8e0:#ff7fb0;--c-202c3b:#fff2f8;--c-2b3c52:#ffe1ef;--c-83a9ca:#e070a5;--c-2a3444:#ffe1ef;--c-b9c5d5:#8b6f9e;--c-29374a:#ffe8f2;--c-98aecb:#d6448a;--c-edf2f9:#5b3f7a;--c-83b6d7:#ff7fb0;border-right:1.5px solid var(--k-border)}:root[data-theme=anime][data-mode=dark] .sidebar{--c-151c27:#1c1529;--c-9aabbd:#b9a8e0;--c-8e9cae:#b9a8e0;--c-243348:#33274d;--c-d5e9ff:#ffc2dd;--c-7ab8e0:#ff9cc6;--c-202c3b:#2a2140;--c-2b3c52:#3a2d57;--c-83a9ca:#ff9cc6;--c-2a3444:#33274d;--c-b9c5d5:#b9a8e0;--c-29374a:#33274d;--c-98aecb:#ffc2dd;--c-edf2f9:#f3eaff;--c-83b6d7:#ff9cc6}:root[data-theme=anime] .sidebar nav button.selected:before{border-radius:999px;width:3px}:root[data-theme=anime] .sidebar .mascot{margin:auto auto 14px}:root[data-theme=anime] .sidebar-account{margin-top:0}:root[data-theme=anime] .console-header{background:color-mix(in srgb, var(--k-surface) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--k-border)}:root[data-theme=anime] body.connected:after{opacity:.35}:root[data-theme=anime] .rules-panel-head button{border-radius:0}:root[data-theme=anime] .rules-panel-head button.selected{border-bottom-width:3px}:root[data-theme=anime] input[type=checkbox],:root[data-theme=anime] input[type=radio]{accent-color:var(--k-pink)}
