.registry-body{display:contents}.registry-body[hidden]{display:none}.sections{display:flex;gap:4px;margin-left:20px}.section-tab{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--color-neutral-300);font-size:14px;transition:background-color .12s,color .12s}@media (hover:hover){.section-tab:hover:not(.on){background:var(--color-hover)}}.section-tab.on{background:var(--color-soft);color:var(--color-text);font-weight:600}.section-tab.on svg{color:var(--color-accent)}.maps-page{flex:1 1;min-height:0;overflow-y:auto;padding:28px 32px 40px}.maps-head{display:flex;align-items:flex-end;gap:16px;max-width:1200px;margin:0 auto 24px}.maps-head h1{font-size:26px}.maps-head p{margin:4px 0 0;color:var(--color-neutral-400);font-size:14px}.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;max-width:1200px;margin:0 auto}.map-card{position:relative;border-radius:14px;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-divider);transition:background-color .12s}@media (hover:hover){.map-card:hover{background:var(--color-surface-hover)}}.map-card-skeleton{height:150px;animation:pulse 1.2s ease-in-out infinite}.map-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:18px 18px 16px;border:0;border-radius:14px;background:transparent;text-align:left}.map-card-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:6px;border-radius:10px;background:color-mix(in srgb,#ec3013 16%,transparent);color:var(--color-accent-400)}.map-card-name{max-width:calc(100% - 28px);font-family:var(--font-heading);font-weight:800;font-size:17px;overflow-wrap:anywhere}.map-card-desc{color:var(--color-neutral-400);font-size:14px}.map-card-meta{margin-top:6px;color:var(--color-neutral-500);font-size:12.5px;line-height:1.5}.map-card-menu{position:absolute;top:10px;right:10px}.maps-loading{flex:1 1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--color-neutral-400)}.empty-actions{display:flex;gap:8px}@keyframes pulse{50%{opacity:.55}}.map-editor{flex:1 1;min-height:0;display:flex;flex-direction:column}.map-bar{flex:none;display:flex;align-items:center;gap:12px;height:56px;padding:0 20px;border-bottom:1px solid var(--color-divider)}.map-name{min-width:0;width:min(420px,50vw);height:38px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:transparent;font-family:var(--font-heading);font-weight:800;font-size:18px;outline:none;transition:background-color .12s,border-color .12s,box-shadow .12s}@media (hover:hover){.map-name:hover{background:var(--color-hover)}}.map-name:focus{background:var(--color-bg);border-color:var(--ring-border);box-shadow:var(--ring)}.map-save{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-neutral-500);white-space:nowrap}.map-save.conflict,.map-save.error,.map-save.rejected{color:var(--color-accent-400)}.spin{animation:spin .9s linear infinite}.map-conflict{flex:none;display:flex;align-items:center;gap:10px;padding:10px 20px;background:color-mix(in srgb,#ec3013 14%,transparent);box-shadow:inset 0 -1px 0 color-mix(in srgb,#ec3013 55%,transparent);color:var(--color-accent-300);font-size:13px}.map-conflict span{flex:1 1}.map-body{flex:1 1;min-height:0;display:flex}.map-palette{flex:none;width:330px;overflow-y:auto;border-right:1px solid var(--color-divider)}.map-canvas{position:relative;flex:1 1;min-width:0}.map-palette{display:flex;flex-direction:column;overflow:hidden}.mpal{flex:1 1;min-height:0;display:flex;flex-direction:column}.mpal-tabs{flex:none;padding:14px 16px 4px}.mpal-tabs .segmented{width:100%}.mpal-scroll{flex:1 1;min-height:0;gap:14px;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 20px}.mpal-group,.mpal-scroll{display:flex;flex-direction:column}.mpal-group{gap:8px}.mpal-title{margin-top:4px;color:var(--color-neutral-500);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mpal-devices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mpal-device{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:0;border-radius:10px;background:var(--color-soft);color:var(--color-text);font-size:13px;line-height:1.25;text-align:left;cursor:-webkit-grab;cursor:grab}.mpal-device span{min-width:0;overflow-wrap:break-word}.mpal-device svg{flex:none;color:var(--color-accent-400)}.mpal-device .end{margin-left:auto;color:var(--color-neutral-500)}.mpal-device.wide{grid-column:1/-1}@media (hover:hover){.mpal-device:hover:not(:disabled){background:color-mix(in srgb,#f3f2f2 13%,transparent)}}@media (pointer:coarse){.mpal-device{min-height:46px;cursor:pointer}}.mpal-subnet{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 12px;border:0;border-radius:10px;background:var(--color-bg);text-align:left}.mpal-subnet>svg:last-child{flex:none;margin-left:auto;color:var(--color-neutral-500)}.mpal-subnet .type-icon{flex:none;color:var(--color-accent-400)}.mpal-subnet-cidr{font-family:var(--font-mono);font-size:13px;font-weight:600}.mpal-subnet-cidr.plain{font-family:var(--font-body);font-size:14px}.mpal-subnet-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-neutral-400);font-size:13px}.mpal-subnet-name.all{color:var(--color-text);font-size:14px}.mpal-search{flex:none;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:10px;background:var(--color-bg);color:var(--color-neutral-500)}.mpal-search:focus-within{box-shadow:var(--ring),inset 0 0 0 1px var(--ring-border)}.mpal-search input{flex:1 1;min-width:0;border:0;background:transparent;font-size:14px;outline:none}.mpal-clear{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--color-neutral-400)}.mpal-empty{display:flex;align-items:center;gap:8px;padding:10px 2px;color:var(--color-neutral-500);font-size:13px}.mpick{flex:1 1;min-height:0;display:flex;flex-direction:column}.mpick-filters{flex:none;display:flex;flex-direction:column;gap:8px;padding:12px 16px 8px}.mpick-all,.mpick-retry{align-self:flex-start;padding:2px 0;border:0;background:transparent;color:var(--color-accent-400);font-size:13px}.mpick-list{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px 16px 12px}.mpick-row{flex:none;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;background:var(--color-soft);cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none}@media (hover:hover){.mpick-row:hover:not(.placed){background:color-mix(in srgb,#f3f2f2 13%,transparent)}}.mpick-row.ticked{background:color-mix(in srgb,#ec3013 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#ec3013 55%,transparent)}.mpick-row.placed{opacity:.55}.mpick-check{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--color-neutral-600);color:#fff}.mpick-row.ticked .mpick-check{background:var(--color-accent);box-shadow:none}.mpick-row.placed .mpick-check{background:var(--color-neutral-700);box-shadow:none}.mpick-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.mpick-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mpick-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-neutral-400);font-size:12px}.mpick-end{flex:none;height:1px}.mpick-bar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-divider);background:var(--color-surface);font-size:13px}.mpick-bar span{flex:1 1 auto;color:var(--color-neutral-300)}.mpick-bar .btn-primary{flex:1 1 100%;height:38px}.mpick-subnets{max-height:50dvh;overflow-y:auto}.mpal-sheet{height:min(76dvh,680px);min-height:0}.mpal-sheet,.mpick-modal{display:flex;flex-direction:column}.mpick-modal{height:min(62dvh,560px)}@media (max-width:767px){.mpick-modal{height:calc(100dvh - 130px)}}.mtype-menu{display:flex;flex-direction:column;gap:8px;padding:8px}.mtype-list{max-height:min(50dvh,360px);overflow-y:auto;overscroll-behavior:contain}.mnode{position:relative;min-width:170px;max-width:240px;padding:10px 12px;border-radius:12px;background:var(--color-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,#f3f2f2 16%,transparent),0 6px 16px rgba(0,0,0,.35);color:var(--color-text);font-size:13px;line-height:1.35}.mnode.selected{box-shadow:inset 0 0 0 2px var(--color-accent),0 6px 16px rgba(0,0,0,.35)}.mnode-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mnode-addr{font-family:var(--font-mono);font-size:13px;font-weight:600}.mnode-title{font-weight:600;overflow-wrap:anywhere}.mnode-sub{color:var(--color-neutral-400);font-size:12px;overflow-wrap:anywhere}.mnode-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.mnode.missing{background:color-mix(in srgb,var(--color-surface) 70%,transparent);box-shadow:inset 0 0 0 1px var(--color-neutral-700);color:var(--color-neutral-400)}.mnode.missing.selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.mnode-device{display:flex;align-items:flex-start;gap:10px;min-width:120px;max-width:260px;padding:10px 14px 10px 10px}.mnode-device:has(.mnode-body>.mnode-head:only-child){align-items:center}.mnode-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,#ec3013 18%,transparent);color:var(--color-accent-300)}.mnode-body{min-width:0;display:flex;flex-direction:column;gap:2px}.mnode-kind{color:var(--color-neutral-500);font-size:11.5px}.mnode-body .mnode-ip{display:flex;align-items:center;gap:6px}.mnode-body .mnode-kind+.mnode-ip,.mnode-body .mnode-title+.mnode-ip{margin-top:4px}.mnode-ip.gone{color:var(--color-neutral-500);font-size:12px}.mnode-dot{flex:none;width:8px;height:8px;border-radius:50%}.mnode-dot.used{background:var(--color-accent)}.mnode-dot.reserved{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.mnode-more{color:var(--color-neutral-500);font-size:12px}.mnode-note{display:flex;align-items:flex-start;gap:8px;width:100%;height:100%;max-width:none;min-width:0;background:color-mix(in srgb,#ffe600 9%,var(--color-surface));overflow:hidden;overflow-wrap:anywhere}.mnode-note svg{flex:none;margin-top:2px;color:#ffe600}.mnode-frame{width:100%;height:100%;border-radius:16px;background:color-mix(in srgb,#f3f2f2 3.5%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#f3f2f2 22%,transparent)}.mnode-frame.selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.mnode-frame.zone{background:transparent;box-shadow:none;border:1.5px dashed color-mix(in srgb,#f3f2f2 28%,transparent)}.mnode-frame.zone.selected{border-color:var(--color-accent)}.mframe-name.zone{color:var(--color-neutral-300);font-weight:600}.mnode-frame.missing{box-shadow:inset 0 0 0 1.5px var(--color-neutral-700)}.mframe-head{display:flex;align-items:baseline;gap:8px;padding:10px 14px;font-size:13px}.mframe-cidr{font-family:var(--font-mono);font-weight:700}.mframe-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-neutral-400)}.mnode .mhandle,.mnode-frame .mhandle{width:10px;height:10px;border:2px solid var(--color-bg);border-radius:50%;background:var(--color-neutral-500);opacity:0;transition:opacity .12s,background-color .12s}.mnode-frame.selected .mhandle,.mnode-frame:hover .mhandle,.mnode.selected .mhandle,.mnode:hover .mhandle,.react-flow__handle.connectingfrom,.react-flow__handle.connectionindicator{opacity:1}.mhandle:hover{background:var(--color-accent)}@media (pointer:coarse){.mnode .mhandle,.mnode-frame .mhandle{width:16px;height:16px;opacity:1}}.mresize-line{border-color:var(--color-accent)!important}.mresize-handle{width:10px!important;height:10px!important;border:0!important;border-radius:3px!important;background:var(--color-accent)!important}.map-canvas .react-flow,.map-canvas .react-flow.dark{--xy-background-color:var(--color-bg);--xy-background-pattern-dots-color-default:color-mix(in srgb,#f3f2f2 14%,transparent);--xy-edge-stroke-default:var(--color-neutral-600);--xy-edge-stroke-width-default:1.6;--xy-edge-stroke-selected-default:var(--color-accent);--xy-connectionline-stroke-default:var(--color-accent);--xy-connectionline-stroke-width-default:2;--xy-selection-background-color-default:color-mix(in srgb,#ec3013 10%,transparent);--xy-selection-border-default:1px dashed var(--color-accent);--xy-controls-button-background-color-default:var(--color-surface);--xy-controls-button-background-color-hover-default:var(--color-surface-hover);--xy-controls-button-color-default:var(--color-neutral-300);--xy-controls-button-color-hover-default:var(--color-text);--xy-controls-button-border-color-default:var(--color-divider);--xy-controls-box-shadow-default:0 0 0 1px var(--color-divider);--xy-minimap-background-color-default:var(--color-surface);--xy-minimap-mask-background-color-default:color-mix(in srgb,#000 45%,transparent);--xy-minimap-node-background-color-default:var(--color-neutral-700);--xy-attribution-background-color-default:transparent;font-family:var(--font-body)}.map-canvas .react-flow__edge.dashed .react-flow__edge-path{stroke-dasharray:7 6}.map-canvas .react-flow__edge-text{fill:var(--color-text);font-size:11.5px}.map-canvas .react-flow__edge-textbg{fill:var(--color-surface)}.map-canvas .react-flow__attribution{opacity:.5}.map-mini{border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--color-divider)}.map-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;color:var(--color-neutral-500);pointer-events:none}.map-hint strong{color:var(--color-neutral-300);font-family:var(--font-heading);font-size:18px}.minspector{overflow-x:hidden;position:absolute;top:12px;right:12px;z-index:5;width:300px;display:flex;flex-direction:column;gap:12px;max-height:calc(100% - 24px);overflow-y:auto;padding:14px;border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-lg)}.minspector-head{display:flex;align-items:center;justify-content:space-between}.minspector-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.minspector-host,.minspector-sub{display:flex;align-items:center;justify-content:space-between;gap:8px}.minspector-ips{display:flex;flex-direction:column;gap:8px}.minspector-ip{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 10px;border-radius:10px;background:var(--color-soft)}.minspector-ip.gone{color:var(--color-neutral-400);font-size:13px}.minspector-ip-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.minspector-ip.gone .minspector-ip-main{flex-direction:row;align-items:center;gap:6px}.minspector-desc{width:100%;color:var(--color-neutral-400);font-size:13px;overflow-wrap:anywhere}.minspector-types{display:flex;gap:6px}.minspector-type{flex:1 1;display:grid;place-items:center;height:38px;border:0;border-radius:10px;background:var(--color-soft);color:var(--color-neutral-300)}.minspector-type.on{background:var(--color-accent);color:#fff}.minspector-check{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-neutral-300)}.minspector-check input{width:18px;height:18px;accent-color:var(--color-accent)}.minspector-actions{display:flex;flex-wrap:wrap;gap:8px}.minspector-delete{margin-left:auto}.map-fab{position:absolute;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:4;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--color-accent);color:#fff;box-shadow:0 8px 22px rgba(236,48,19,.35)}.map-fab:active{background:var(--color-accent-600)}@media (max-width:767px){.sections{margin-left:8px}.section-tab{padding:0 10px}.header .brand span{display:none}.maps-page{padding:18px 16px 32px}.maps-head{flex-wrap:wrap}.map-bar{padding:0 12px;gap:8px}.map-name{flex:1 1;width:auto;font-size:16px}.map-bar .grow{display:none}.map-save{font-size:12px}.map-conflict{flex-wrap:wrap;padding:10px 12px}.mpal{padding:4px 4px 12px}.minspector{top:auto;right:0;bottom:0;left:0;width:auto;max-height:48%;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.map-canvas .react-flow__controls{margin-bottom:calc(12px + env(safe-area-inset-bottom))}}.spinner.small{width:12px;height:12px;border-width:1.5px}.c-red{--mc:#ec3013}.c-orange{--mc:#ff7a1a}.c-yellow{--mc:#f2cf1d}.c-green{--mc:#49c46a}.c-cyan{--mc:#27c7d8}.c-blue{--mc:#4c8dff}.c-purple{--mc:#a56bff}.c-pink{--mc:#ff4fa3}.c-gray{--mc:#9b9797}.mnode-icon{background:color-mix(in srgb,var(--mc,#ec3013) 20%,transparent);color:color-mix(in srgb,var(--mc,#ec3013) 55%,#fff)}.mnode-device[class*=c-]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mc) 55%,transparent),0 6px 16px rgba(0,0,0,.35)}.mnode-device[class*=c-].selected{box-shadow:inset 0 0 0 2px var(--color-accent),0 6px 16px rgba(0,0,0,.35)}.mnode-note[class*=c-]{background:color-mix(in srgb,var(--mc) 14%,var(--color-surface))}.mnode-note[class*=c-] svg{color:var(--mc)}.mnode-frame[class*=c-]{background:color-mix(in srgb,var(--mc) 6%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--mc) 60%,transparent)}.mnode-frame.zone[class*=c-]{background:color-mix(in srgb,var(--mc) 4%,transparent);box-shadow:none;border-color:color-mix(in srgb,var(--mc) 65%,transparent)}.mnode-frame[class*=c-].selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.mnode-frame.zone[class*=c-].selected{box-shadow:none;border-color:var(--color-accent)}.mnode-head{display:flex;align-items:center;gap:8px;min-width:0}.mnode-head .mnode-title{min-width:0}.env{flex:none;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.06em;line-height:15px}.env-prod{background:color-mix(in srgb,#ec3013 22%,transparent);color:#ff9783}.env-stage{background:color-mix(in srgb,#f2cf1d 20%,transparent);color:#f2cf1d}.env-test{background:color-mix(in srgb,#27c7d8 20%,transparent);color:#27c7d8}.env-dev{background:color-mix(in srgb,#49c46a 20%,transparent);color:#49c46a}.mnode-url{color:var(--color-accent-400);font-size:12px;overflow-wrap:anywhere}.mnode-host{min-width:0}.mnode-hint,.mnode-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-neutral-500);font-size:11.5px}.mnode-hint{display:flex;align-items:center;gap:5px;margin-top:4px}.mnode-hint svg{flex:none}.react-flow__edge,.react-flow__node{transition:opacity .15s}.react-flow__edge.dimmed,.react-flow__node.dimmed{opacity:.2}.medge-layer{z-index:1000;position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.medge-layer>*{pointer-events:all}.medge-label{padding:2px 8px;border-radius:8px;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-divider);color:var(--color-text);font-size:11.5px;white-space:nowrap;cursor:text}.medge-label.selected{box-shadow:inset 0 0 0 1px var(--color-accent)}.medge-input{width:150px;height:28px;padding:0 8px;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px var(--ring-border),var(--ring);color:var(--color-text);font-size:12px;outline:none}.medge-input,.medge-tools{background:var(--color-surface)}.medge-tools{display:flex;gap:2px;padding:3px;border-radius:10px;box-shadow:var(--shadow-lg)}.medge-tools button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--color-neutral-300)}.medge-tools button.on{background:color-mix(in srgb,#ec3013 22%,transparent);color:var(--color-accent-300)}.medge-tools button.danger{color:var(--color-accent-400)}@media (hover:hover){.medge-tools button:hover{background:var(--color-hover)}}@media (pointer:coarse){.medge-tools button{width:38px;height:38px}}.mpal-custom{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:12px;background:color-mix(in srgb,#ec3013 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#ec3013 45%,transparent);color:var(--color-text);text-align:left;cursor:-webkit-grab;cursor:grab}.mpal-custom-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--color-accent);color:#fff}.mpal-custom-text{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:var(--color-neutral-300)}.mpal-custom-text strong{color:var(--color-text);font-size:14px}.mpal-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:4px 2px;border:0;background:transparent;color:var(--color-neutral-400);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:left}.mpal-group-head.static{cursor:default}.mpal-group-head .chev{flex:none;transition:transform .15s}.mpal-group-head .chev.closed{transform:rotate(-90deg)}.count,.mpal-group-head .count{margin-left:auto;color:var(--color-neutral-600);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.mpal-device-text{display:flex;flex-direction:column}.mpal-device-text small{color:var(--color-neutral-500);font-size:11px}.minspector-pair{display:grid;grid-template-columns:1fr 92px;grid-gap:10px;gap:10px}.minspector-chips{display:flex;flex-wrap:wrap;gap:6px}.chipbtn{padding:5px 10px;border:0;border-radius:999px;background:var(--color-soft);color:var(--color-neutral-300);font-size:12.5px}.chipbtn.small{padding:3px 8px;font-size:11.5px}.chipbtn.on{background:var(--color-accent);color:#fff}.chipbtn.env-prod.on{background:#ec3013;color:#fff}.chipbtn.env-stage.on{background:#f2cf1d;color:#1d1a0a}.chipbtn.env-test.on{background:#27c7d8;color:#04262a}.chipbtn.env-dev.on{background:#49c46a;color:#06260f}.minspector-colors{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:26px;height:26px;padding:0;border:0;border-radius:50%;background:var(--mc);box-shadow:inset 0 0 0 2px color-mix(in srgb,#000 25%,transparent)}.swatch.on{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--mc)}.minspector-url{display:flex;align-items:center;gap:6px}.minspector .textarea{height:84px}.micon-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;max-height:min(42dvh,280px);overflow-y:auto;overscroll-behavior:contain;padding:2px}.micon{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:9px;background:var(--color-soft);color:var(--color-neutral-300)}.micon.on{background:var(--color-accent);color:#fff}@media (hover:hover){.micon:hover:not(.on){background:var(--color-hover)}}.map-bar .icon-btn{width:34px;height:34px;border-radius:9px}.map-bar .icon-btn:disabled{opacity:.35}.icon-btn.on{background:var(--color-soft);color:var(--color-accent-400)}.map-search{flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 20px;border-bottom:1px solid var(--color-divider)}.map-search-row{display:flex;align-items:center;gap:8px}.map-search-row .btn.on{background:color-mix(in srgb,#ec3013 20%,transparent);color:var(--color-accent-300)}.map-search-found{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.map-search-found .count{margin-left:0}.map-found{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 10px;border:0;border-radius:999px;background:var(--color-soft);color:var(--color-text);font-size:12.5px}.map-found span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-found svg{flex:none;color:var(--color-accent-400)}.mmenu{z-index:70;max-height:min(70dvh,520px)}.mmenu .panel-list{overflow-x:hidden}.menu-ic{flex:none;display:grid;place-items:center;width:16px;height:16px}.menu-head.mini{padding:6px 12px 4px;color:var(--color-neutral-500);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}@media (max-width:767px){.map-save-text{display:none}.map-search{padding:10px 12px}.map-search-row{flex-wrap:wrap}.map-search-row .mpal-search{flex:1 1 100%}.micon-grid{grid-template-columns:repeat(5,1fr)}}.ports{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:5px 8px;border-radius:10px;background:var(--color-bg);border:1px solid transparent}.ports:focus-within{border-color:var(--ring-border);box-shadow:var(--ring)}.ports.bad{border-color:var(--color-accent)}.ports input{flex:1 1 90px;min-width:70px;height:26px;border:0;background:transparent;font-size:14px;outline:none}.port-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 9px;border-radius:999px;background:var(--color-soft);font-family:var(--font-mono);font-size:12.5px}.port-chip button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-neutral-400)}.map-peers{display:flex;align-items:center;padding-left:6px}.map-peer{--peer:#4fa3ff;width:28px;height:28px;margin-left:-6px;display:grid;place-items:center;border-radius:50%;background:var(--peer);box-shadow:0 0 0 2px var(--color-bg);color:#151414;font-size:12px;font-weight:700;line-height:1}.map-peer.more{background:var(--color-surface);color:var(--color-neutral-300)}.mcursors{width:0;height:0;z-index:3000}.mcursor,.mcursors{position:absolute;left:0;top:0;pointer-events:none}.mcursor{--peer:#4fa3ff;transform-origin:0 0;transition:transform .11s linear}.mcursor svg{display:block;fill:var(--peer);stroke:#151414;stroke-width:1.2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.mcursor span{position:absolute;left:12px;top:16px;padding:2px 8px;border-radius:999px;background:var(--peer);color:#151414;font-size:12px;font-weight:600;line-height:16px;white-space:nowrap}.react-flow__node[class*=peer-]{outline:2px solid var(--peer,#4fa3ff);outline-offset:3px;border-radius:12px}.map-canvas.exporting .react-flow__node[class*=peer-]{outline:none}.react-flow__node.peer-0{--peer:#4fa3ff}.react-flow__node.peer-1{--peer:#34c759}.react-flow__node.peer-2{--peer:#ffb020}.react-flow__node.peer-3{--peer:#c77dff}.react-flow__node.peer-4{--peer:#ff6fb1}.react-flow__node.peer-5{--peer:#2ed3c6}.react-flow__node.peer-6{--peer:#a3d940}.react-flow__node.peer-7{--peer:#ff8a4c}.react-flow__node.peer-8{--peer:#7a8cff}.react-flow__node.peer-9{--peer:#e5c07b}