:root{--bg:#f4f6f8;--surface:#fff;--surface-2:#f0f8f5;--ink:#24332f;--muted:#73817c;--line:#e3e9e6;--coral:#ef7b65;--mint:#54b897;--blue:#5f8edb;--yellow:#f4c95d;--danger:#d94f58;--shadow:0 20px 60px #1b332b1f;--radius:12px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}button:disabled{cursor:not-allowed;opacity:.62}h1,h2,h3,p{margin:0}code{color:#285c4d;text-overflow:ellipsis;white-space:nowrap;background:#f3fbf8;border:1px solid #d9e6e1;border-radius:6px;align-items:center;max-width:100%;min-height:26px;padding:3px 8px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.boot-screen,.auth-shell{background:linear-gradient(135deg, #54b8972e, transparent 34%), linear-gradient(315deg, #ef7b6529, transparent 32%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.boot-screen{color:var(--muted);align-content:center;gap:14px}.boot-mark,.brand-mark{border-radius:var(--radius);color:#22765d;background:#e8f7f1;border:1px solid #d8ece4;flex:none;place-items:center;width:48px;height:48px;display:grid}.brand-mark.warm{color:#b75d43;background:#fff1e7;border-color:#f6ddcb}.auth-panel{border:1px solid var(--line);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);background:#fffdf8f0;gap:22px;padding:28px;display:grid}.setup-panel{width:min(640px,100%)}.setup-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-row{align-items:center;gap:14px;display:flex}.brand-row h1{font-size:26px;font-weight:800;line-height:1.1}.brand-row p{color:var(--muted);margin-top:3px;font-size:13px}.brand-row.compact h1{font-size:19px}.form-grid{gap:14px;display:grid}.form-grid label{gap:7px;display:grid}.form-grid span{color:#57535e;font-size:13px;font-weight:700}.form-section{color:#9b6044;text-transform:uppercase;border-top:1px solid #eee4d8;margin-top:4px;padding-top:10px;font-size:12px;font-weight:900}.toggle-row{grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:40px}.toggle-row input{width:18px;height:18px}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fffefa;border:1px solid #d9d3c8;border-radius:7px;outline:none}input,select{height:40px;padding:0 11px}textarea{resize:vertical;min-height:118px;padding:10px 11px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5f8edb29}.primary,.ghost,.icon-button{white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary{color:#fff;background:#222833;min-height:42px;padding:0 16px;font-weight:800}.primary:hover{background:#111820}.ghost{color:#3b3c44;background:#fffefa;border:1px solid #d7d2c8;min-height:38px;padding:0 13px;font-weight:750}.ghost:hover{background:#f4f8ff;border-color:#bfc6d7}.danger-text{color:var(--danger)}.full{width:100%}.icon-button{color:#3d4351;background:#fffefa;border:1px solid #d9d3c8;width:34px;height:34px}.icon-button:hover{background:#eef8f4}.icon-button.danger{color:var(--danger)}.alert{border-radius:7px;padding:12px 14px;font-size:14px}.alert.danger{color:#a43f45;background:#fff2f2;border:1px solid #f0c4c6}.alert.warning{color:#77581a;background:#fff8df;border:1px solid #eed391}.app-shell{background:var(--bg);grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fffaf0;flex-direction:column;gap:22px;min-height:100vh;padding:22px;display:flex}.nav-list{gap:8px;display:grid}.nav-list a{color:#55505c;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;font-weight:800;text-decoration:none;display:flex}.nav-list a:hover{background:#f3f9f6}.nav-list a.active{color:#1f735c;background:#e8f7f1;border-color:#cfe7dc}.workspace{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.eyebrow{color:var(--coral);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:900}.topbar h2{font-size:25px;line-height:1.2}.page-stack,.split-page{gap:18px;display:grid}.split-page{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.split-page.wide{grid-template-columns:minmax(0,1.2fr) 310px 340px}.side-stack{gap:18px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 24px #4a423212}.stat-card{align-content:space-between;min-height:126px;padding:18px;display:grid}.stat-card span{color:#5e5b65;font-size:13px;font-weight:800}.stat-card strong{font-size:34px;line-height:1}.panel{min-width:0;overflow:hidden}.side-panel{padding-bottom:16px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex}.panel-head h3{font-size:16px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #eee9df;height:48px;padding:0 14px}th{color:#6a6470;background:#fffaf0;font-size:12px;font-weight:900}.actions{white-space:nowrap;width:230px}.actions .icon-button+.icon-button{margin-left:8px}.page-alert{margin-bottom:18px}.muted-text{color:var(--muted);font-size:12px;font-weight:800}.pill{color:#5b5862;background:#f7f4ec;border:1px solid #d6d2c9;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.pill.banned{color:#b33f47;background:#fff0f0;border-color:#f2c4c5}.side-panel .form-grid,.panel>.form-grid{padding:16px}.span-all{grid-column:1/-1}.token-reveal{border-radius:var(--radius);background:#fff8df;border:1px solid #f0dfb8;align-items:center;gap:8px;margin:14px 16px 0;padding:10px;display:flex}.node-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:12px 0 18px;display:flex}.node-search{gap:7px;width:min(360px,100%);display:grid}.node-search>span{color:var(--muted);font-size:12px;font-weight:600}.node-identity{align-items:center;gap:12px;min-width:0;display:flex}.node-identity strong{font-weight:650;display:block}.node-identity small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.node-avatar{color:#2d8162;background:#eaf5ef;border:1px solid #d9ece1;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.node-endpoint{text-overflow:ellipsis;white-space:nowrap;max-width:290px;color:var(--muted);display:block;overflow:hidden}.node-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:6px;padding:12px 20px;display:flex;overflow-x:auto}.node-tabs button{color:var(--muted);background:0 0;border-color:#0000;flex-shrink:0}.node-modal{flex-direction:column;width:min(880px,100%);display:flex}.node-modal .detail-head{flex-shrink:0;padding:22px 24px}.node-modal .detail-head h3{overflow-wrap:anywhere;font-size:21px}.node-modal .detail-body{background:#fafcfb;min-height:0;max-height:none;padding:24px}.node-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.node-edit-grid .toggle-row{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:48px;padding:12px}.node-edit-grid>button{justify-self:start}.node-hint{color:#567063;background:#f0f5f2;border:1px solid #dfe8e3;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.7}.panel{box-shadow:0 3px 14px #1c2f2806}.panel-head{flex-wrap:wrap;gap:16px}.panel-head p,.result-box p{line-height:1.75}.result-box h4{margin:0;font-size:15px}.table-wrap{border-radius:10px}tbody tr{transition:background-color .15s}tbody tr:hover{background:#f3f8f5}thead th{color:#75817b;background:#f7faf8;font-weight:600}.node-table td{padding-top:18px;padding-bottom:18px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.detail-section{border-color:var(--line);background:#fff}.form-section{color:#46735e;border-color:var(--line);letter-spacing:.02em}.toast{z-index:60}@media (width<=640px){.node-edit-grid{grid-template-columns:minmax(0,1fr)}.node-modal .detail-head,.node-modal .detail-body{padding:16px}.node-tabs{padding:10px 12px}.node-modal{max-height:92dvh}.node-toolbar{align-items:stretch}}@media (prefers-reduced-motion:reduce){button,tbody tr{transition:none}}.token-reveal code{flex:auto}.modal-backdrop{z-index:30;background:#23242a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.detail-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(820px,100%);max-height:min(86vh,920px);box-shadow:var(--shadow);overflow:hidden}.create-modal{width:min(460px,100%)}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:16px 18px;display:flex}.detail-head h3{font-size:22px}.detail-body{gap:14px;max-height:calc(min(86vh,920px) - 68px);padding:16px;display:grid;overflow-y:auto}.detail-section{border-radius:var(--radius);background:#fffefa;border:1px solid #eee9df;gap:12px;padding:14px;display:grid}.detail-section h4{margin:0;font-size:15px}.detail-form-grid,.create-user-form{gap:12px;display:grid}.detail-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.create-user-form{padding:16px}.detail-form-grid label,.create-user-form label{gap:7px;display:grid}.detail-form-grid span,.create-user-form span{color:#57535e;font-size:13px;font-weight:700}.protocol-checks{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.protocol-checks>span{flex:0 0 100%}.detail-form-grid .protocol-check{color:#285c4d;background:#f5fcf9;border:1px solid #d9ece4;border-radius:7px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:13px;font-weight:850;display:inline-flex}.protocol-check input{width:16px;height:16px}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.detail-grid div{gap:5px;min-width:0;display:grid}.detail-grid span:first-child,.token-meta,.client-chip em{color:var(--muted);font-size:12px;font-weight:800}.detail-grid strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.token-detail-list{gap:10px;display:grid}.token-detail-row{background:#f5fcf9;border:1px solid #d9ece4;border-radius:7px;gap:9px;padding:12px;display:grid}.token-row-head,.token-copy-row,.token-meta,.client-chip-list,.control-row{align-items:center;gap:8px;display:flex}.control-row{flex-wrap:wrap}.token-row-head{justify-content:space-between}.token-copy-row{grid-template-columns:minmax(0,1fr) 34px auto;align-items:stretch;display:grid}.token-input{flex:auto;min-width:0;height:38px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.token-meta,.client-chip-list{flex-wrap:wrap}.client-chip{color:#285c4d;background:#f5fcf9;border:1px solid #d9ece4;border-radius:7px;align-items:center;gap:8px;min-height:32px;padding:0 10px;font-size:13px;font-weight:850;display:inline-flex}.grant-list{gap:8px;padding:0 16px 16px;display:grid}.grant-row{color:#2f6f5d;background:#f5fcf9;border:1px solid #d9ece4;border-radius:7px;grid-template-columns:18px 56px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:0 10px;font-size:13px;font-weight:800;display:grid}.resource-hint{color:#2f6f5d;background:#f5fcf9;border:1px solid #d9ece4;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:0 10px;font-size:13px;font-weight:850;display:flex}.result-box{gap:12px;padding:16px;display:grid}.result-box.failed{background:#fff7f7}.result-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.result-box p{color:var(--muted)}.empty-state{color:#7b7880;align-content:center;place-items:center;gap:10px;min-height:360px;display:grid}.toast{z-index:20;border-radius:var(--radius);color:#236c57;max-width:min(360px,100vw - 44px);box-shadow:var(--shadow);background:#f2fbf7;border:1px solid #d8ece4;padding:12px 14px;font-weight:800;position:fixed;bottom:22px;right:22px}@media (width<=1180px){.split-page,.split-page.wide{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:18px}.topbar{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.auth-panel{padding:22px}.setup-panel .form-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.detail-grid,.detail-form-grid{grid-template-columns:1fr}.token-copy-row{grid-template-columns:minmax(0,1fr) 34px auto}}:root{--bg:#edf3fc;--surface:#ffffffc2;--surface-2:#edf5ff;--ink:#203555;--muted:#607593;--line:#749ad13b;--blue:#377cf0;--mint:#4098ed;--coral:#537ce4;--shadow:0 24px 72px #234a8929;--radius:16px;--glass-blur:20px}body{background-color:#eff4fc;background-image:radial-gradient(at 5% 0,#d5e5ff 0%,#0000 48%),radial-gradient(at 95% 65%,#dcecff 0%,#0000 45%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}::selection{color:#193e78;background:#bfd8ff}.app-shell,.boot-screen,.auth-shell{background:0 0}.boot-screen,.auth-shell{background-image:radial-gradient(at 80% 10%,#81adff33,#0000 55%)}.sidebar,.auth-panel,.panel,.stat-card,.topbar,.detail-modal,.toast{background:var(--surface);border-color:var(--line);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%);backdrop-filter:blur(var(--glass-blur)) saturate(145%);box-shadow:0 8px 32px #2d569b0e,inset 0 1px #ffffffd9}.sidebar{background:#f2f7ffc2}.workspace{padding:28px}.topbar{border:1px solid var(--line);border-radius:16px;padding:18px 22px}.topbar h2{letter-spacing:-.035em;font-weight:750}.brand-mark,.brand-mark.warm,.boot-mark,.node-avatar{color:#3372d3;background:linear-gradient(145deg,#edf6ff,#dceaff);border-color:#d0e1fc;box-shadow:inset 0 1px #fff,0 4px 12px #346cc20f}.nav-list a{color:#526b8d;border-radius:11px;font-weight:650}.nav-list a:hover{color:#275dad;background:#daeaffa6}.nav-list a.active{color:#1e5cb9;background:linear-gradient(110deg,#dceaff,#eaf3ff);border-color:#c4d9fa;box-shadow:inset 3px 0 #4886ed,0 4px 12px #2c68c812}.eyebrow{color:#5784c7;letter-spacing:.12em;font-size:10px}.stat-card{transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #2857a01f}.stat-card:after{content:"";pointer-events:none;background:#79aaff1f;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-48px;right:-24px}.stat-card.coral{color:#526acd;background:linear-gradient(125deg,#ebf0ffe6,#ffffffa6)}.stat-card.mint{color:#227cae;background:linear-gradient(125deg,#e0f5ffe6,#ffffffa6)}.stat-card.blue{color:#2f6bcc;background:linear-gradient(125deg,#e1edffe6,#ffffffa6)}.stat-card.ink{color:#405986;background:linear-gradient(125deg,#e5ebfbe6,#ffffffa6)}.stat-card span{color:#586e90;font-weight:600}.stat-card strong{letter-spacing:-.045em;font-weight:750}.panel-head{background:#f2f7ff80;padding:14px 20px}.panel-head h3{font-weight:650}.result-box{padding:20px}.result-box+.result-box{border-top:1px solid var(--line)}input,select,textarea{accent-color:#397dea;background:#ffffffd1;border-color:#cddcf0;border-radius:10px;transition:border-color .18s,background-color .18s,box-shadow .18s}input::placeholder,textarea::placeholder{color:#8698b1}input:focus,select:focus,textarea:focus{background:#fff;border-color:#72a5f5;box-shadow:0 0 0 4px #4584ee21}input[readonly],textarea[readonly]{color:#526b8e;background:#eef5ffb8}.form-grid span,.detail-form-grid span,.create-user-form span{color:#526985;font-weight:600}.form-section{color:#4476bb;border-color:var(--line);font-weight:650}button{transition:transform .18s,background-color .18s,border-color .18s,box-shadow .18s}.primary,.ghost,.icon-button{border-radius:10px;font-weight:650}.primary{background:linear-gradient(135deg,#3a83ee,#3666d9);box-shadow:0 4px 12px #366ed933,inset 0 1px #ffffff2e}.primary:hover{background:linear-gradient(135deg,#2977e8,#2959c9);box-shadow:0 6px 18px #366ed947}.ghost,.icon-button{color:#46658e;background:#ffffffb3;border-color:#cdddf3}.ghost:hover,.icon-button:hover{background:#eaf3ff;border-color:#9fbeed}button:not(:disabled):active{transform:translateY(1px)scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #387cec66}.ghost.danger-text,.icon-button.danger{color:var(--danger)}.ghost.danger-text:hover,.icon-button.danger:hover{background:#fff0f2;border-color:#efbcc5}th,thead th{color:#61799c;background:#e8f1ffa6;font-weight:650}th,td{border-bottom-color:var(--line)}tbody tr:hover,tbody tr.selected{background:#deecff99}.pill{color:#5b7396;background:#edf3fc;border-color:#d4dfef;font-weight:650}.pill.active{color:#2869bb;background:#e4f0ff;border-color:#bad6fa}.pill.offline{color:#65738b;background:#edf1f7;border-color:#d9e1ed}code,.client-chip,.grant-row,.resource-hint,.token-detail-row,.detail-form-grid .protocol-check{color:#3869a3;background:#eaf4ffcc;border-color:#cddff6}.token-reveal{background:#eaf2ff;border-color:#cbdcf9}.muted-text{font-weight:500;line-height:1.7}.empty-state{color:#7c8da7}.node-tabs{background:#edf4ffb3}.node-tabs button.selected{color:#2766be;background:#e0edff;border-color:#bbd5fa}.node-modal .detail-body{background:#f0f6ff80}.node-edit-grid .toggle-row,.detail-section{border-color:var(--line);background:#ffffffbf}.node-hint{color:#486e9e;background:#eaf3ff;border-color:#d2e2f8}.node-delete-zone{background:#fff5f7d9;border:1px solid #edccd3;border-radius:12px;gap:12px;margin-top:16px;padding:18px;display:grid}.node-delete-zone h4{color:#ac4054;margin:0 0 8px}.node-delete-zone p{color:#836573;font-size:13px;line-height:1.7}.node-delete-zone>button{justify-self:start}.modal-backdrop{-webkit-backdrop-filter:blur(10px)saturate(90%);backdrop-filter:blur(10px)saturate(90%);background:#18305742}.detail-modal{background:#f7fbfff0;border-color:#ffffffe6;border-radius:20px;box-shadow:0 32px 100px #19386e40,inset 0 1px #fff}.detail-head{background:linear-gradient(115deg,#e4efffcc,#fafdff80)}.create-modal{overflow-y:auto}.toast{z-index:60;color:#285a9e;background:#eff7ffed;border-color:#c6dcfa;font-weight:600}.controller-settings{gap:20px;padding:24px;display:grid}.settings-block{border:1px solid var(--line);background:#ffffff7a;border-radius:16px;min-width:0;overflow:hidden}.settings-block-head{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#e2eeffb3,#ffffff4d);align-items:center;gap:14px;padding:20px;display:flex}.settings-block-icon{color:#3775cb;background:#ffffffbf;border:1px solid #c9ddf9;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.settings-block-head h4{color:#2b5186;margin:0 0 5px;font-size:16px}.settings-block-head p,.settings-note,.settings-save-bar p{color:var(--muted);font-size:13px;line-height:1.7}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;padding:22px;display:grid}.settings-fields>label{gap:8px;display:grid}.settings-fields>label>span,.settings-info>span{color:#526985;font-size:13px;font-weight:600}.settings-fields small{color:var(--muted);font-size:12px;line-height:1.7}.settings-info{border:1px solid var(--line);background:#ebf4ffa6;border-radius:12px;gap:10px;padding:16px;display:grid}.settings-info strong{color:#3066ad;font-size:14px}.settings-info p{color:var(--muted);font-size:12px;line-height:1.7}.settings-info button{justify-self:start}.settings-save-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:6px;display:flex}input[type=checkbox][role=switch]{appearance:none;cursor:pointer;vertical-align:middle;background:#c4d0e1;border:1px solid #adbed5;border-radius:999px;flex:0 0 46px;width:46px;min-width:46px;height:26px;min-height:26px;margin:0;padding:0;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-block;position:relative;box-shadow:inset 0 1px 3px #1f427814}input[type=checkbox][role=switch]:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s cubic-bezier(.2,.7,.3,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #1c3a6640}input[type=checkbox][role=switch]:checked{background:#397fed;border-color:#2f72db}input[type=checkbox][role=switch]:checked:before{transform:translate(20px)}input[type=checkbox][role=switch]:hover:not(:disabled){box-shadow:0 0 0 4px #3b80ed1a}input[type=checkbox][role=switch]:focus-visible{outline-offset:3px;outline:3px solid #387cec80}input[type=checkbox][role=switch]:disabled{cursor:not-allowed;opacity:.5}.toggle-row,.form-grid .toggle-row,.detail-form-grid .toggle-row,.settings-fields .toggle-row{cursor:pointer;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;min-height:44px}.protocol-check,.detail-form-grid .protocol-check{cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:6px 10px;display:inline-flex}.protocol-checks{gap:10px}@media (forced-colors:active){input[type=checkbox][role=switch]{forced-color-adjust:none;background:canvas;border-color:buttontext}input[type=checkbox][role=switch]:before{background:buttontext}input[type=checkbox][role=switch]:checked{background:highlight}input[type=checkbox][role=switch]:checked:before{background:highlighttext}}.advanced-entry{justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.advanced-entry h3{margin:6px 0 10px}.advanced-entry p{color:var(--muted);margin:0;line-height:1.7}.advanced-entry>button{flex-shrink:0}.settings-dialog>.detail-head{flex:none}.settings-dialog{flex-direction:column;max-height:min(90dvh,960px);display:flex}.settings-dialog-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-height:0;padding:22px;overflow-y:auto}.cluster-control{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.cluster-control h3{margin:0 0 8px}.cluster-control p{color:var(--muted);margin:8px 0 0}.node-table .actions{flex-wrap:wrap}.enrollment-fields{border:0;min-width:0;margin:0;padding:0}.reconnect-section{margin-top:24px}.reconnect-section>form{padding:20px}.setup-ip-status{border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.7}.setup-ip-status p{overflow-wrap:anywhere;margin:0 0 8px}.advanced-page-form>p{margin:0}.advanced-mode-selector{background:#dfecff99;border-radius:16px;grid-template-columns:1fr 1fr;gap:10px;padding:8px;display:grid}.advanced-mode-selector .selected{color:#205eb2;background:#d5e7ff;border-color:#9fc2f5;box-shadow:0 6px 18px #2e64b41a}.advanced-category{border:1px solid #7da3d83d;border-radius:14px}.advanced-category>header{border-bottom:1px solid var(--line);color:#365c92;padding:20px}.advanced-category>header h4{margin:0 0 8px;font-size:17px}.advanced-category>header p{color:var(--muted);font-size:13px;line-height:1.7}.advanced-category fieldset.form-grid{border:0;min-width:0;margin:0;padding:22px}.advanced-category fieldset:disabled{opacity:.65}.advanced-category>.settings-note{margin:0;padding:0 22px 22px}.advanced-file-info{color:var(--muted);overflow-wrap:anywhere;padding:0 20px 18px;font-size:13px;line-height:1.8}.advanced-status{color:var(--muted);font-size:13px;line-height:1.8}@media (width<=760px){.advanced-entry{flex-direction:column;align-items:stretch;padding:18px}.advanced-category fieldset.form-grid{grid-template-columns:minmax(0,1fr);padding:16px}}.glass-modal-enter-active,.glass-modal-leave-active{transition:opacity .28s,-webkit-backdrop-filter .28s,backdrop-filter .28s}.glass-modal-enter-active .detail-modal,.glass-modal-leave-active .detail-modal{transition:transform .28s cubic-bezier(.2,.75,.25,1),opacity .24s}.glass-modal-enter-from,.glass-modal-leave-to{opacity:0;-webkit-backdrop-filter:blur()}.glass-modal-enter-from .detail-modal,.glass-modal-leave-to .detail-modal{opacity:0;transform:translateY(20px)scale(.975)}.glass-modal-leave-active{pointer-events:none}.glass-toast-enter-active,.glass-toast-leave-active{transition:opacity .22s,transform .22s}.glass-toast-enter-from,.glass-toast-leave-to{opacity:0;transform:translateY(12px)}.workspace>.page-stack,.workspace>.split-page,.auth-panel{animation:.3s both blue-page-enter}@keyframes blue-page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sidebar,.auth-panel,.panel,.stat-card,.topbar,.detail-modal,.toast{background-color:#f8fbff}.modal-backdrop{background:#1830577a}}@media (width<=760px){.controller-settings{gap:14px;padding:14px}.settings-fields{grid-template-columns:minmax(0,1fr);padding:16px}.settings-block-head{align-items:flex-start;padding:16px}.settings-save-bar{flex-direction:column;align-items:stretch}:root{--glass-blur:10px}.workspace{padding:14px}.topbar{padding:16px}.sidebar{padding:18px}.panel-head{padding:12px 16px}.result-box{padding:16px}.modal-backdrop{-webkit-backdrop-filter:blur(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.stat-card:hover,button:not(:disabled):active,.glass-modal-enter-from .detail-modal,.glass-modal-leave-to .detail-modal{transform:none}}@media (prefers-reduced-transparency:reduce){:root{--surface:#f8fbff}.sidebar,.auth-panel,.panel,.stat-card,.topbar,.detail-modal,.toast{-webkit-backdrop-filter:none;background-color:#f8fbff}.modal-backdrop{-webkit-backdrop-filter:none;background:#1830577a}}.panel-route-page,.advanced-settings-page{min-width:0}.panel-route-page>.page-stack,.panel-route-page>.split-page,.advanced-settings-page{animation:.24s both blue-page-enter}.advanced-settings-page{gap:20px;width:100%;display:grid}.advanced-page-head{justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.advanced-page-head h3{margin-top:5px}.advanced-page-form{gap:20px;min-width:0;display:grid}.advanced-mode-panel{gap:16px;padding:22px;display:grid}.advanced-category-nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.advanced-category-nav a{border:1px solid var(--line);color:#526b8d;background:#ffffff9e;border-radius:13px;align-content:start;gap:8px;padding:18px;text-decoration:none;transition:background-color .15s,border-color .15s;display:grid}.advanced-category-nav a:hover{background:#e7f0ff;border-color:#9cbfea}.advanced-category-nav a.selected{color:#245dad;background:#dceaff;border-color:#84afec}.advanced-category-nav small{color:var(--muted);line-height:1.6}.advanced-category-nav a:focus-visible,.nav-list a:focus-visible{outline-offset:3px;outline:3px solid #80aef0}.advanced-save-bar{z-index:3;padding:18px 22px;position:sticky;bottom:16px;box-shadow:0 8px 30px #1943821f}.advanced-save-bar>p{flex:1}.advanced-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;line-height:1.7;display:flex}.route-status{justify-items:start;gap:18px;padding:32px;line-height:1.7;display:grid}.route-status a{text-decoration:none}@media (width>=961px){.sidebar{height:100dvh;min-height:0;position:sticky;top:0;overflow-y:auto}}@media (width<=760px){.advanced-page-head{flex-direction:column;align-items:stretch;padding:18px}.advanced-category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-category-nav a{padding:14px}.advanced-save-bar{position:static}.advanced-save-bar .actions{width:100%}.advanced-save-bar .actions button{flex:1}}@media (prefers-reduced-motion:reduce){.panel-route-page>.page-stack,.panel-route-page>.split-page,.advanced-settings-page{animation:none}}.cache-sync[data-v-28581ed5]{background:#e1efff6b;border:1px solid #4b8fe83d;border-radius:14px;margin-top:16px;padding:16px}.sync-head[data-v-28581ed5],.sync-node[data-v-28581ed5]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sync-head[data-v-28581ed5]{justify-content:space-between}.cache-sync p[data-v-28581ed5],.sync-node small[data-v-28581ed5],.sync-node code[data-v-28581ed5]{color:#52677f;font-size:12px}.sync-node[data-v-28581ed5]{border-top:1px solid #4b8fe829;padding:10px 0}.sync-node small[data-v-28581ed5]{margin-left:8px}.sync-error[data-v-28581ed5]{color:#b44343!important}
