:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f8fc;--foreground:#172033;--card:#fff;--card-foreground:#172033;--primary:#0369a1;--primary-foreground:#fff;--secondary:#edf2f7;--secondary-foreground:#172033;--muted:#edf2f7;--muted-foreground:#52627a;--accent:#e0f2fe;--accent-foreground:#0369a1;--destructive:#b91c1c;--border:#cbd5e1;--input:#cbd5e1;--ring:#0369a1;--warning:#d97706;--success:#16a34a;--canvas:#f6f8fc;--grid-dot:#cbd5e1;--brand-box:#15803d;--radius:.625rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0f172a;--foreground:#e2e8f0;--card:#1e293b;--card-foreground:#e2e8f0;--primary:#38bdf8;--primary-foreground:#082f49;--secondary:#172337;--secondary-foreground:#e2e8f0;--muted:#172337;--muted-foreground:#94a3b8;--accent:#123044;--accent-foreground:#7dd3fc;--destructive:#fca5a5;--border:#334155;--input:#334155;--ring:#38bdf8;--warning:#f59e0b;--success:#22c55e;--canvas:#0f172a;--grid-dot:#334155;--brand-box:#4ade80}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--background);color:var(--foreground);margin:0}a{color:inherit}button{font:inherit}.nb-page{max-width:48rem;margin:0 auto;padding:2rem 1rem}.nb-page h1{margin:0 0 1rem;font-size:1.5rem}.nb-muted{color:var(--muted-foreground)}.nb-error{color:var(--destructive)}.nb-error button{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:6px;margin-top:.5rem;padding:.25rem .75rem}.nb-board-page{flex-direction:column;height:100%;display:flex}.nb-connection{color:var(--muted-foreground);white-space:nowrap;font-size:.75rem}.nb-connection:before{content:"";background:var(--muted-foreground);vertical-align:middle;border-radius:50%;width:.5rem;height:.5rem;margin-right:.375rem;display:inline-block}.nb-connection.is-open:before{background:var(--success)}.nb-connection.is-reconnecting:before{background:var(--warning)}.nb-board-view{touch-action:none;overscroll-behavior:none;background-color:var(--canvas);background-image:radial-gradient(circle, var(--grid-dot) 1px, transparent 1.2px);background-size:24px 24px;flex:1;min-height:0;position:relative;overflow:hidden}.nb-board-view.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.nb-board-view.is-panning iframe{pointer-events:none}.nb-board-canvas{transform-origin:0 0;position:absolute;top:0;left:0}.nb-board-message{color:var(--muted-foreground);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.nb-chip-button{border:1px solid var(--border);background:color-mix(in oklch, var(--card) 90%, transparent);width:1.75rem;height:1.75rem;color:var(--foreground);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding:0;font-size:.75rem;text-decoration:none;display:inline-flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.nb-chip-button:hover,.nb-chip-button:focus-visible{background:var(--accent);outline:none}.nb-chip-button.is-text{width:auto;padding:0 .5rem}.nb-icon-button{border:1px solid var(--border);background:var(--card);width:1.75rem;height:1.75rem;color:var(--foreground);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nb-icon-button:hover{background:var(--accent)}.nb-kiosk-controls{left:.75rem;right:.75rem;top:max(.5rem, env(safe-area-inset-top));z-index:50;pointer-events:none;align-items:center;gap:.25rem;display:flex;position:absolute}.nb-kiosk-controls>*{pointer-events:auto}.nb-kiosk-controls>.nb-spacer{pointer-events:none}.nb-kiosk-panel{border:1px solid var(--border);background:color-mix(in oklch, var(--card) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;align-items:center;gap:.25rem;min-width:0;height:1.75rem;padding:0 .25rem;font-size:.75rem;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.nb-back-button{border:1px solid var(--border);height:1.5rem;color:var(--foreground);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:0 .375rem;font-size:.75rem;display:inline-flex}.nb-back-button:hover{background:var(--accent)}.nb-back-button.is-mobile{border-radius:.5rem;height:2.25rem}.nb-crumbs{overscroll-behavior-x:contain;white-space:nowrap;scrollbar-width:thin;align-items:center;gap:.125rem;min-width:0;display:flex;overflow-x:auto}.nb-crumb{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.nb-crumb a{color:var(--muted-foreground);padding:0 .25rem;text-decoration:none}.nb-crumb a:hover{color:var(--foreground)}.nb-crumb-sep{color:var(--muted-foreground);flex-shrink:0}.nb-crumb-current{margin:0;padding:0 .25rem;font-size:.75rem;font-weight:500}.nb-kiosk-controls .nb-status-pill{border:1px solid var(--border);background:color-mix(in oklch, var(--card) 90%, transparent);height:1.75rem;color:var(--foreground);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:0 .5rem}.nb-kiosk-controls .nb-user-button{border-radius:6px;align-items:center;height:1.75rem}.nb-canvas-controls{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;flex-direction:column;align-items:center;gap:.25rem;display:flex;position:absolute}.nb-canvas-controls .nb-chip-button{background:var(--card)}.nb-zoom-badge{border:1px solid var(--border);background:color-mix(in oklch, var(--background) 80%, transparent);width:1.75rem;height:1.25rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:0;font-size:9px;line-height:1}.nb-zoom-badge:hover{color:var(--foreground)}@media (pointer:coarse){.nb-canvas-controls{gap:.5rem}.nb-canvas-controls .nb-chip-button,.nb-zoom-badge{width:2.75rem;height:2.75rem}.nb-zoom-badge{height:1.75rem;font-size:11px}}.nb-theme-controls{border:1px solid var(--border);background:color-mix(in oklch, var(--card) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;gap:.25rem;padding:.25rem;display:flex;box-shadow:0 4px 6px -1px #0000001a}.nb-theme-controls.is-floating{left:max(.75rem, env(safe-area-inset-left));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:50;position:absolute}.nb-theme-controls button{width:2rem;height:2rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.nb-theme-controls button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.nb-theme-controls button:hover:not([aria-pressed=true]){background:var(--accent)}.nb-frame-menu{position:relative}.nb-frame-menu .nb-menu{min-width:12rem}.nb-frame-menu .nb-menu button{align-items:center;gap:.5rem;display:flex}.nb-menu-label{overflow-wrap:anywhere;min-width:0}.nb-menu-hint{color:var(--muted-foreground);margin-left:auto;font-size:.75rem}.nb-menu-sep{border-top:1px solid var(--border)!important;border-radius:0!important}.nb-star{fill:#fbbf24;color:#f59e0b}.nb-conn-lost{background:color-mix(in oklch, #f59e0b 12%, var(--card));color:#b45309;white-space:nowrap;border:1px solid #f59e0b66;border:1px solid lab(72.7914% 26.933 75.434/.4);border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;display:inline-flex}:root.dark .nb-conn-lost{color:#fcd34d}.nb-search-box{flex-shrink:0;width:14rem;position:relative}.nb-search-box.is-compact{width:7rem}.nb-search-box.is-compact:focus-within{width:14rem}.nb-search-box input{border:1px solid var(--input);background:var(--card);width:100%;height:1.75rem;color:var(--foreground);font:inherit;border-radius:6px;padding:0 .5rem 0 1.75rem;font-size:.75rem}.nb-search-box input:focus-visible{outline:2px solid var(--ring);outline-offset:0}.nb-search-icon{color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.nb-search-pop{z-index:60;border:1px solid var(--border);background:var(--card);width:26rem;max-width:calc(100vw - 24px);max-height:60vh;color:var(--card-foreground);border-radius:6px;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 10px 30px #0003}.nb-search-group{background:var(--muted);padding:.375rem .75rem;font-size:.75rem;font-weight:600;position:sticky;top:0}.nb-search-pop button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.375rem .75rem;font-size:.75rem;display:flex}.nb-search-pop button.is-active{background:var(--accent);color:var(--accent-foreground)}.nb-search-detail{color:var(--muted-foreground);padding-left:.5rem}.nb-search-empty{color:var(--muted-foreground);margin:0;padding:.75rem;font-size:.8125rem}.nb-app-header,.nb-overview-header{z-index:10;min-height:2.75rem;padding:max(.25rem, env(safe-area-inset-top)) .75rem .25rem;border-bottom:1px solid var(--border);background:var(--card);color:var(--card-foreground);flex-shrink:0;align-items:center;gap:.5rem;display:flex;position:relative}.nb-app-header .nb-chip-button,.nb-overview-header .nb-chip-button{box-shadow:none;background:var(--card)}.nb-brand{letter-spacing:-.01em;align-items:baseline;margin-left:.25rem;font-size:1rem;font-weight:800;display:inline-flex}.nb-brand span{color:var(--brand-box)}.nb-app-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted-foreground);margin:0 0 0 .25rem;font-size:.875rem;font-weight:600;overflow:hidden}.nb-app-title:before{content:"·";margin-right:.5rem}.nb-overview-title{white-space:nowrap;align-items:center;gap:.375rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.nb-count-chip{border:1px solid var(--border);color:var(--muted-foreground);white-space:nowrap;border-radius:6px;padding:.125rem .5rem;font-size:.75rem}.nb-head-button{border:1px solid var(--border);min-height:2rem;color:var(--foreground);white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:.375rem;padding:0 .5rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.nb-head-button:hover{background:var(--accent)}.nb-head-button.is-primary{border-color:color-mix(in oklch, var(--primary) 30%, transparent);background:color-mix(in oklch, var(--primary) 10%, transparent);color:var(--primary)}.nb-head-button.is-primary:hover{background:color-mix(in oklch, var(--primary) 20%, transparent)}.nb-user-button{align-items:center}@media (max-width:640px){.nb-user-role{display:none}.nb-user-name{text-overflow:ellipsis;max-width:5rem;overflow:hidden}.nb-overview-header{gap:.375rem;padding-inline:.5rem}}.nb-mobile-bar{z-index:50;padding:env(safe-area-inset-top) max(.25rem, env(safe-area-inset-right)) 0 max(.25rem, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--card);color:var(--card-foreground);flex-shrink:0;align-items:center;gap:.125rem;display:flex}.nb-mobile-button{width:2.25rem;height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.nb-mobile-button:active{background:var(--accent)}.nb-badge{color:#fff;text-align:center;background:#0284c7;border-radius:999px;min-width:1rem;padding:0 .25rem;font-size:10px;font-weight:600;line-height:1rem;position:absolute;top:.125rem;right:.125rem}.nb-mobile-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;padding:0 .375rem;font-size:.75rem;font-weight:600;overflow:hidden}.nb-mobile-bar .nb-user-name,.nb-mobile-bar .nb-user-role{text-overflow:ellipsis;max-width:4.5rem;overflow:hidden}.nb-mobile-bar .nb-user-role{display:none}.nb-status-pill.is-compact .nb-status-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nb-mobile-row{z-index:50;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.125rem .5rem;display:flex}.nb-mobile-row .nb-theme-controls,.nb-mobile-row .nb-icon-button{margin-right:auto}.nb-mobile-row .nb-search-box{width:9rem}.nb-sheet-backdrop{z-index:70;background:#0006;position:fixed;inset:0}.nb-sheet{border-top:1px solid var(--border);background:var(--card);max-height:75dvh;color:var(--card-foreground);border-radius:1rem 1rem 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0000004d}.nb-sheet-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.nb-sheet-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:.875rem;overflow:hidden}.nb-sheet-head button{width:2.5rem;height:2.5rem;color:inherit;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:flex}.nb-sheet ul{min-height:0;padding:.25rem .5rem max(.75rem, env(safe-area-inset-bottom));flex:1;margin:0;list-style:none;overflow-y:auto}.nb-sheet a{min-height:3rem;color:inherit;border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem .75rem;text-decoration:none;display:flex}.nb-sheet a:active{background:var(--accent)}.nb-sheet-text{flex-direction:column;flex:1;min-width:0;display:flex}.nb-sheet-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.nb-sheet-desc{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);font-size:.75rem;overflow:hidden}.nb-board-view.is-stack{touch-action:auto;background-image:none}.nb-stack{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:hidden auto}.nb-stack-inner{min-height:100%;position:relative}.nb-stack-block{position:absolute}.nb-stack-block.is-focus{outline-offset:4px;border-radius:4px;outline:2px solid #3b82f6}.nb-stack-block.is-gated>div:first-child{pointer-events:none}.nb-stack-block.is-expanded{z-index:60;background:var(--background);touch-action:none;position:fixed;inset:0}.nb-stack-expand{color:#fff;white-space:nowrap;background:#0009;border:0;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;display:inline-flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.nb-stack-close{right:.75rem;top:max(.75rem, env(safe-area-inset-top));z-index:2;color:#fff;background:#0009;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;position:absolute}.nb-widget.is-highlight{outline-offset:3px;border-radius:6px;outline:2px solid #3b82f6;animation:1s ease-in-out 3 nb-highlight}@keyframes nb-highlight{50%{outline-color:#0000}}.nb-ov-node.is-focus{outline-offset:4px;outline:2px solid #3b82f6}.nb-widget{transform-origin:50%;position:absolute}.nb-card{border:1px solid var(--border);background:var(--card);width:100%;height:100%;color:var(--card-foreground);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.nb-kind-value{gap:.25rem;padding:.5rem}.nb-title{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);flex-shrink:0;font-size:.75rem;font-weight:500;overflow:hidden}.nb-center{text-align:center}.nb-grow{flex:1;min-height:0}.nb-row{justify-content:center;align-items:center;gap:.75rem;display:flex}.nb-abs{position:absolute}.nb-value{font-variant-numeric:tabular-nums;white-space:nowrap;flex:1;justify-content:center;align-items:center;min-height:0;font-size:2.25rem;font-weight:600;line-height:1;display:flex;overflow:hidden}.nb-footer{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--muted-foreground);flex-shrink:0;font-size:10px;overflow:hidden}.nb-footer.is-warn{color:var(--warning)}.nb-level-body{justify-content:center;align-items:center;gap:.75rem;display:flex}.nb-level-body.is-horizontal{flex-direction:column}.nb-meter{border:2px solid var(--border);background:var(--muted);border-radius:8px;width:100%;height:2rem;position:relative;overflow:hidden}.nb-meter.is-vertical{width:3.5rem;height:100%}.nb-meter-fill{transition:width .3s,height .3s;position:absolute;bottom:0;left:0}.nb-level-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.nb-range{color:var(--muted-foreground);margin-top:.25rem;font-size:10px}.nb-lamp{border:4px solid color-mix(in oklch, var(--background) 40%, transparent);border-radius:50%;flex-shrink:0;width:2rem;height:2rem}.nb-state{text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:600;overflow:hidden}.nb-control{cursor:not-allowed;flex-direction:column;justify-content:center;gap:.5rem;display:flex}.nb-button{cursor:not-allowed;border-style:solid;border-radius:6px;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.nb-toggle{color:inherit;cursor:not-allowed;background:0 0;border:0;justify-content:center;align-items:center;gap:.75rem;display:flex}.nb-switch{border-radius:999px;width:3rem;height:1.75rem;position:relative}.nb-knob{background:#fff;border-radius:50%;width:1.25rem;height:1.25rem;transition:left .2s;position:absolute;top:.25rem;left:.25rem}.nb-knob.is-on{left:1.5rem}.nb-slider{width:100%}.nb-slider-vertical{writing-mode:vertical-lr;direction:rtl;flex:1;min-height:0;margin:0 auto}.nb-feedback{font-size:10px}button:disabled,input:disabled{opacity:1}.nb-shape{width:100%;height:100%;position:relative}.nb-shape.is-passthrough{pointer-events:none}.nb-shape.is-link,.nb-image.is-link{cursor:pointer}.nb-shape.is-link:hover svg,.nb-image.is-link:hover{filter:drop-shadow(0 3px 8px #38bdf840)}.nb-shape.is-link:focus-visible,.nb-image.is-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.nb-shape-label{overflow-wrap:anywhere;pointer-events:none;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.nb-shape-label>span{white-space:pre-line;width:100%}.nb-image{flex-direction:column;width:100%;height:100%;margin:0;display:flex}.nb-image-box{position:relative}.nb-image-box img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.nb-image-empty{border:2px dashed var(--border);width:100%;height:100%;color:var(--muted-foreground);border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.nb-caption{justify-content:space-between;gap:.5rem;padding-top:.25rem;font-size:.75rem;display:flex}.nb-caption-label{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.nb-caption-credit{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nb-unavailable{background:var(--muted);border-style:dashed}.nb-unavailable-text{color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.75rem;display:flex}.nb-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes iotdash-blink{50%{opacity:.25}}@keyframes iotdash-fade{50%{opacity:.25}}@keyframes iotdash-pulse{50%{transform:scale(1.04)}}@keyframes iotdash-flash{50%{background-color:var(--iotdash-anim-alt,#fff)}}@keyframes iotdash-flash-stroke{50%{stroke:var(--iotdash-anim-alt,#fff)}}@keyframes iotdash-flash-fill{50%{fill:var(--iotdash-anim-alt,#fff)}}@keyframes iotdash-flow{to{stroke-dashoffset:var(--iotdash-anim-dash,-20)}}.iotdash-anim{animation-duration:var(--iotdash-anim-duration,1s);animation-iteration-count:infinite}.iotdash-anim-blink{animation-name:iotdash-blink;animation-timing-function:step-start}.iotdash-anim-fade{animation-name:iotdash-fade;animation-timing-function:ease-in-out}.iotdash-anim-pulse{transform-origin:50%;transform-box:fill-box;animation-name:iotdash-pulse;animation-timing-function:ease-in-out}.iotdash-anim-flash{animation-name:iotdash-flash;animation-timing-function:step-start}.iotdash-anim-flash-stroke{animation-name:iotdash-flash-stroke;animation-timing-function:step-start}.iotdash-anim-flash-fill{animation-name:iotdash-flash-fill;animation-timing-function:step-start}.iotdash-anim-flow{animation-name:iotdash-flow;animation-timing-function:linear}.nb-link-dot{width:.625rem;height:.625rem;box-shadow:0 0 0 1.5px var(--card);border-radius:50%;flex-shrink:0;display:inline-block}.nb-link-badge{z-index:20;border:1px solid var(--border);background:var(--card);min-width:18px;height:18px;color:var(--foreground);border-radius:999px;align-items:center;gap:3px;padding:0 4px;font:600 10px/1 system-ui,sans-serif;display:inline-flex;position:absolute;top:-9px;right:-9px;box-shadow:0 1px 2px #00000026}.nb-link-badge.is-button{cursor:pointer}.nb-link-badge.is-button:hover,.nb-link-badge.is-button:focus-visible{border-color:var(--ring);outline:none;transform:scale(1.15)}.nb-link-badge.is-critical .nb-link-dot{animation:1s ease-in-out infinite iotdash-pulse}.nb-link-count{font-variant-numeric:tabular-nums}.nb-status-pill{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:.375rem;font-size:.75rem;display:inline-flex}.nb-shell{flex-direction:column;min-height:100%;display:flex}.nb-spacer{flex:1}.nb-splash{height:100%;color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.nb-page-wide{max-width:72rem}.nb-primary{border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:600}.nb-primary:disabled{opacity:.6;cursor:default}.nb-page button:not(.nb-primary),.nb-dialog button:not(.nb-primary),.nb-button-link,.nb-slider-row button{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;text-decoration:none}.nb-page button:disabled,.nb-dialog button:disabled,.nb-slider-row button:disabled{opacity:.55;cursor:default}.nb-button-link{align-items:center;display:inline-flex}.nb-login{background:var(--canvas);justify-content:center;align-items:center;min-height:100%;padding:1rem;display:flex}.nb-login-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.875rem;width:100%;max-width:22rem;padding:1.75rem;display:flex;box-shadow:0 4px 24px #0000000f}.nb-login-card h1{text-align:center;margin:0 0 .25rem;font-size:1.375rem}.nb-field{color:var(--muted-foreground);flex-direction:column;gap:.25rem;font-size:.8125rem;display:flex}.nb-field input,.nb-field select{border:1px solid var(--input);background:var(--background);color:var(--foreground);font:inherit;border-radius:6px;padding:.5rem .625rem;font-size:.9375rem}.nb-field input:focus-visible,.nb-field select:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.nb-form{flex-direction:column;gap:.75rem;max-width:24rem;display:flex}.nb-form-error{color:var(--destructive);margin:0;font-size:.875rem}.nb-success{color:var(--success);margin:0;font-size:.875rem}.nb-notice{background:var(--muted);border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.875rem}.nb-hint{color:var(--muted-foreground);margin:0;font-size:.8125rem}.nb-user-menu{position:relative}.nb-user-button{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:baseline;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;display:inline-flex}.nb-user-role{color:var(--muted-foreground);font-size:.6875rem}.nb-menu{z-index:50;border:1px solid var(--border);background:var(--card);border-radius:8px;flex-direction:column;min-width:10rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 6px 24px #0000001f}.nb-menu a,.nb-menu button{color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;text-decoration:none}.nb-menu a:hover,.nb-menu button:hover,.nb-menu a:focus-visible,.nb-menu button:focus-visible{background:var(--muted);outline:none}.nb-dialog-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.nb-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;max-width:26rem;max-height:calc(100% - 2rem);color:var(--card-foreground);padding:1.25rem;overflow:auto;box-shadow:0 12px 48px #00000040}.nb-dialog-title{margin:0 0 .75rem;font-size:1.0625rem}.nb-dialog-body p{margin:0 0 .5rem;font-size:.875rem}.nb-dialog-footer{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.nb-pre{border:1px solid var(--border);background:var(--muted);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:8rem;margin:0;padding:.5rem;font-size:.8125rem;overflow:auto}.nb-section{margin-bottom:2rem}.nb-section h2{margin:0 0 .75rem;font-size:1.0625rem}.nb-facts{grid-template-columns:max-content 1fr;gap:.375rem 1.25rem;margin:0;font-size:.9375rem;display:grid}.nb-facts dt{color:var(--muted-foreground)}.nb-facts dd{margin:0}.nb-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1rem;display:flex}.nb-tabs a{color:var(--muted-foreground);border-bottom:2px solid #0000;padding:.5rem .875rem;font-weight:500;text-decoration:none}.nb-tabs a[aria-current=page]{border-bottom-color:var(--foreground);color:var(--foreground)}.nb-toolbar{gap:.5rem;margin:.75rem 0;display:flex}.nb-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.nb-table{border-collapse:collapse;width:100%;font-size:.875rem}.nb-table th{text-align:left;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:.5rem;font-size:.75rem;font-weight:600}.nb-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem}.nb-actions{flex-wrap:wrap;justify-content:flex-end;gap:.375rem;display:flex}.nb-nowrap{white-space:nowrap}.nb-tag{background:var(--muted);color:var(--muted-foreground);border-radius:999px;margin-left:.375rem;padding:0 .375rem;font-size:.6875rem;display:inline-block}.nb-tag.is-off{background:color-mix(in oklch, var(--destructive) 15%, transparent);color:var(--destructive);margin-left:0}.nb-ov-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.nb-ov-edges path{fill:none;stroke:currentColor;stroke-width:2px;opacity:.55}.nb-ov-edges path.nb-ov-arrow{fill:currentColor;stroke:none}.nb-ov-edges .is-alarm path{opacity:1}.nb-ov-edges .is-alarm path:not(.nb-ov-arrow){stroke-dasharray:8 6;animation:.9s linear infinite nb-ov-flow}@keyframes nb-ov-flow{to{stroke-dashoffset:-14px}}.nb-ov-node{border:2px solid var(--border);background:var(--card);color:var(--card-foreground);border-radius:10px;flex-direction:column;gap:.25rem;padding:.625rem .75rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #00000014}.nb-ov-node:hover,.nb-ov-node:focus-visible{outline:none;box-shadow:0 6px 20px #00000024}.nb-ov-node.is-dashed{border-style:dashed}.nb-ov-node.is-pulse{animation:1s ease-in-out infinite nb-ov-pulse}@keyframes nb-ov-pulse{50%{box-shadow:0 0 0 5px color-mix(in oklch, var(--nb-ov-color,transparent) 30%, transparent)}}.nb-ov-head{align-items:baseline;gap:.5rem;min-width:0;display:flex}.nb-ov-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}.nb-ov-subs{color:var(--muted-foreground);flex-shrink:0;font-size:.6875rem}.nb-ov-desc{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);font-size:.75rem;overflow:hidden}.nb-ov-strip{flex-wrap:wrap;gap:.25rem;margin-top:auto;display:flex}.nb-ov-chip{background:color-mix(in oklch, var(--nb-chip) 16%, transparent);color:color-mix(in oklch, var(--nb-chip) 75%, var(--foreground));border-radius:999px;padding:.0625rem .4375rem;font-size:.6875rem;font-weight:600}.nb-ov-ok{color:var(--muted-foreground);align-items:center;gap:.375rem;font-size:.75rem;display:inline-flex}.nb-ov-star{z-index:1;border:1px solid var(--border);background:var(--card);min-width:22px;height:22px;color:var(--muted-foreground);font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:.25rem;padding:0 5px;font-size:.6875rem;font-weight:700;display:inline-flex;position:absolute;transform:translate(-100%);box-shadow:0 1px 3px #0000001f}button.nb-ov-star{cursor:pointer;opacity:0;transition:opacity .15s}button.nb-ov-star:hover,button.nb-ov-star:focus-visible,.nb-ov-node:hover+button.nb-ov-star{opacity:1}button.nb-ov-star:not(.is-main):hover{color:#f59e0b}.nb-ov-star.is-main{opacity:1;background:color-mix(in oklch, #f59e0b 16%, var(--card));color:#b45309;border-color:#f59e0b8c;border-color:lab(72.7914% 26.933 75.434/.55)}.dark .nb-ov-star.is-main{color:#fbbf24}.nb-ov-star.is-main svg{fill:currentColor}@media (hover:none){button.nb-ov-star{opacity:.7}}.nb-head-notice{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);font-size:.75rem;overflow:hidden}.nb-head-notice.is-error{color:var(--destructive)}.nb-monitor code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.nb-monitor .nb-hint{margin-bottom:.75rem}.nb-small{font-size:.75rem}.nb-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0;display:grid}.nb-stats>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:.75rem 1rem}.nb-stats dt{color:var(--muted-foreground);font-size:.75rem}.nb-stats dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.375rem;font-weight:600}.nb-stats>.is-warn dd{color:var(--warning)}.nb-table-wrap{overflow-x:auto}.nb-links{flex-wrap:wrap;gap:.25rem .625rem;display:flex}.nb-chip{background:var(--muted);border-radius:4px;margin:0 .25rem .25rem 0;padding:.0625rem .375rem;display:inline-block}.nb-value-cell{font-variant-numeric:tabular-nums}.nb-search{border:1px solid var(--input);background:var(--background);min-width:12rem;color:var(--foreground);font:inherit;border-radius:6px;flex:1;padding:.375rem .625rem;font-size:.875rem}.nb-monitor h2 .nb-connection{margin-left:.5rem;font-weight:500}.nb-feed td{padding-top:.375rem;padding-bottom:.375rem}.nb-feed .nb-payload{text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.nb-feed tr.is-bad td:last-child{color:var(--destructive)}.nb-feed tr.is-warn td:last-child{color:var(--warning)}.nb-dir{text-align:center;background:var(--muted);min-width:2.25rem;color:var(--muted-foreground);border-radius:4px;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-block}.nb-dir.is-in{color:#2563eb;background:#3b82f629;background:lab(54.6189% 8.76281 -65.7907/.16)}.nb-dir.is-out{background:color-mix(in oklch, var(--success) 16%, transparent);color:var(--success)}.nb-control:has(:enabled){cursor:auto}.nb-button:enabled,.nb-toggle:enabled{cursor:pointer}.nb-control:has(.nb-slider-row){justify-content:safe center;gap:.25rem}.nb-slider-row{flex-shrink:0;gap:.25rem;display:flex}.nb-slider-row input{border:1px solid var(--input);background:var(--background);min-width:0;color:var(--foreground);font:inherit;border-radius:4px;flex:1;padding:.125rem .375rem;font-size:.75rem}.nb-slider-row button{padding:.125rem .5rem!important;font-size:.75rem!important}.nb-command-notice{text-align:center;color:var(--success);font-size:.75rem}.nb-command-notice.is-error{color:var(--destructive)}.nb-html{border:1px solid var(--border);background:var(--card);border-radius:8px;width:100%;height:100%;overflow:hidden}.nb-html-frame{color-scheme:normal;background:0 0;border:0;width:100%;height:100%;display:block}.nb-public-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:1rem;padding:.75rem 1rem}.nb-public-toggle{cursor:pointer;align-items:flex-start;gap:.625rem;font-size:.875rem;display:flex}.nb-public-toggle input{margin-top:.2rem}.nb-public-link{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.625rem 0 0;font-size:.8125rem;display:flex}.nb-public-link code{background:var(--muted);border-radius:4px;padding:.125rem .375rem}.nb-link-button{color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.25rem;font-size:.875rem;text-decoration:underline}.nb-link-button:hover{color:var(--foreground)}.nb-widget[data-kind=line],.nb-widget[data-kind=polyline],.nb-widget[data-kind=area]{pointer-events:none}.nb-vector{pointer-events:none;transform-origin:50%;position:absolute;top:0;left:0;overflow:visible}.nb-vector-link{cursor:pointer;pointer-events:all}.nb-vector-link:hover{filter:drop-shadow(0 3px 8px #38bdf859)}.nb-vector-link:focus{outline:none}.nb-vector-link:focus-visible{stroke:var(--ring);stroke-width:3px}.nb-note{cursor:pointer;text-align:left;border:0 solid;border-left-width:4px;border-radius:6px;flex-direction:column;gap:.25rem;width:100%;height:100%;padding:.5rem .75rem;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.nb-note:hover{box-shadow:0 3px 10px #0000001f}.nb-note:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.nb-note-head{flex-shrink:0;align-items:center;gap:.375rem;min-width:0;font-weight:600;line-height:1.25;display:flex}.nb-note-head svg{flex-shrink:0}.nb-note-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nb-note-excerpt{opacity:.85;overflow-wrap:anywhere;min-height:0;margin:0;font-size:.75rem;line-height:1.375;overflow:hidden}.nb-dialog:has(.nb-note-md){max-width:48rem;max-height:85dvh}.nb-note-md{overflow-wrap:anywhere;font-size:.875rem;line-height:1.6}.nb-note-md :is(p,ul,ol,blockquote,pre,hr,h1,h2,h3,h4,h5,h6,.nb-note-md-table){margin:0}.nb-note-md :is(p,ul,ol,blockquote,pre,hr,h1,h2,h3,h4,h5,h6,.nb-note-md-table)+:is(p,ul,ol,blockquote,pre,hr,h1,h2,h3,h4,h5,h6,.nb-note-md-table){margin-top:.6em}.nb-note-md h1{font-size:1.35rem;font-weight:700}.nb-note-md h2{padding-top:.4em;font-size:1.15rem;font-weight:700}.nb-note-md h3{padding-top:.3em;font-size:1rem;font-weight:600}.nb-note-md h4,.nb-note-md h5,.nb-note-md h6{padding-top:.2em;font-size:.875rem;font-weight:600}.nb-note-md>:first-child{padding-top:0}.nb-note-md ul{padding-left:1.4em;list-style:outside}.nb-note-md ol{padding-left:1.4em;list-style:decimal}.nb-note-md ul ul,.nb-note-md ol ul{list-style:circle}.nb-note-md li+li{margin-top:.2em}.nb-note-md li.nb-note-md-task{margin-left:-1.2em;list-style:none}.nb-note-md-check{vertical-align:-.1em;border:1px solid var(--muted-foreground);border-radius:3px;justify-content:center;align-items:center;width:.95em;height:.95em;margin-right:.4em;font-size:.75em;line-height:1;display:inline-flex}.nb-note-md-check.is-checked{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.nb-note-md a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.nb-note-md code{background:var(--muted);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.nb-note-md pre{background:var(--muted);overflow-wrap:normal;border-radius:6px;padding:.75em;overflow-x:auto}.nb-note-md pre code{white-space:pre;background:0 0;padding:0}.nb-note-md blockquote{border-left:3px solid var(--border);color:var(--muted-foreground);padding-left:.8em}.nb-note-md-table{overflow-x:auto}.nb-note-md table{border-collapse:collapse;overflow-wrap:normal;width:100%;font-size:.8125rem}.nb-note-md th,.nb-note-md td{border:1px solid var(--border);text-align:left;padding:.3em .6em}.nb-note-md th{background:var(--muted);font-weight:600}.nb-note-md hr{border:0;border-top:1px solid var(--border)}.nb-note-md img{vertical-align:middle;border-radius:4px;max-width:100%;height:auto}.nb-note-md-noimg{color:var(--muted-foreground);font-style:italic}.nb-table{border:1px solid var(--border);background:var(--card);width:100%;height:100%;color:var(--foreground);border-radius:4px;flex-direction:column;display:flex;position:relative;overflow:hidden}.nb-table-label{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:.375rem .5rem;font-weight:500;overflow:hidden}.nb-table-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.nb-table-grid{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.nb-table-grid th{z-index:1;border-bottom:1px solid var(--border);background:var(--card);white-space:nowrap;text-overflow:ellipsis;padding:0 .5rem;font-weight:500;position:sticky;top:0;overflow:hidden}.nb-table-grid td{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);white-space:nowrap;text-overflow:ellipsis;padding:0 .5rem;overflow:hidden}.nb-table-grid tr.is-striped{background:color-mix(in srgb, var(--muted) 40%, transparent)}.nb-table-empty{min-height:4rem;color:var(--muted-foreground);flex:1;justify-content:center;align-items:center;padding:.5rem;display:flex}.nb-table-footer{text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--border);color:var(--muted-foreground);flex-shrink:0;padding:.25rem .5rem;font-size:10px;overflow:hidden}.nb-camera{color:#fff;border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.nb-camera-media{pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.nb-camera-shadow{text-shadow:0 1px 2px #000000d9}.nb-camera-empty{color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.5rem .5rem 1.75rem;font-size:.75rem;display:flex;position:absolute;inset:0}.nb-camera-loading{pointer-events:none;color:#fffc;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;inset:0}.nb-camera-error{color:#fff;background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;font-size:.75rem;display:flex;position:absolute;inset:0}.nb-camera-error-detail{color:#ffffffb3;font-size:10px}.nb-camera-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .5rem;display:inline-flex}.nb-camera-error button:hover{background:#ffffff1a}.nb-camera-label{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:calc(100% - .75rem);font-weight:500;position:absolute;top:.25rem;left:.375rem;overflow:hidden}.nb-camera-bar{color:#ffffffe6;pointer-events:none;background:#000000a6;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.125rem .5rem;padding:.25rem .375rem;font-size:11px;display:flex;position:absolute;inset:auto 0 0}.nb-camera-credit{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nb-camera-updated{flex-shrink:0}.nb-chart{border:1px solid var(--border);border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.nb-chart.is-link,.nb-chart-frame.is-link{cursor:pointer}.nb-chart.is-link:focus-visible,.nb-chart-frame.is-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.nb-chart-svg{pointer-events:none;display:block;position:absolute;top:0;left:0;overflow:hidden}.nb-chart-grid line,.nb-chart-tick{stroke:var(--border);stroke-width:1px;shape-rendering:crispedges}.nb-chart-axis text{fill:var(--muted-foreground);font-variant-numeric:tabular-nums;font-family:inherit}.nb-chart-unit{font-weight:600}.nb-chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.nb-chart-label{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-weight:500;line-height:1.25;position:absolute;top:4px;left:6px;right:24px;overflow:hidden}.nb-chart-empty{text-align:center;color:var(--muted-foreground);pointer-events:none;justify-content:center;align-items:center;padding:0 .5rem;font-size:11px;display:flex;position:absolute;inset:0}.nb-chart-badge{color:var(--muted-foreground);opacity:.6;line-height:0;position:absolute;top:4px;right:6px}.nb-chart-frame{border:1px solid var(--border);border-radius:4px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.nb-chart-frame-title{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:6px .5rem;font-weight:500;line-height:1.25;overflow:hidden}.nb-chart-frame-body{flex-shrink:0;min-height:0;position:relative}.nb-chart-frame-footer{text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--border);color:var(--muted-foreground);flex-shrink:0;padding:3px .5rem;font-size:10px;line-height:15px;overflow:hidden}.nb-image.can-expand .nb-image-box img{cursor:zoom-in}.nb-image-footer{background:color-mix(in srgb, var(--background) 90%, transparent);max-height:40%;color:var(--foreground);flex-shrink:0;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;overflow-y:auto}.nb-image-title{font-weight:500}.nb-image-description{white-space:pre-wrap;overflow-wrap:anywhere}.nb-image-credit{opacity:.7}.nb-image-refresh{flex-wrap:wrap;gap:.125rem .75rem;display:flex}.nb-image-refresh-failed{color:var(--warning)}.nb-image-expand{z-index:10;color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;line-height:0;display:inline-flex;position:absolute;top:8px;right:8px}.nb-image-expand:hover{background:#000000d9}.nb-image-expand:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.nb-image-viewer{z-index:100;color:#fff;background:#09090b;flex-direction:column;padding:16px;display:flex;position:fixed;inset:0}.nb-image-viewer-body{flex:1;min-height:0;position:relative}.nb-image-viewer-body img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.nb-image-viewer .nb-image-footer{color:#fff;background:#000000a6;max-height:30vh}.nb-image-viewer .nb-image-refresh-failed{color:#f59e0b}.nb-map{box-sizing:border-box;background:var(--card);border:1px solid var(--border);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;width:100%;height:100%;position:relative;overflow:hidden}.nb-map:focus-visible{box-shadow:0 0 0 2px var(--ring)}.nb-map.is-dragging{cursor:grabbing}.nb-map-layer{pointer-events:none;position:absolute;top:0;left:0}.nb-map-layer.is-markers{overflow:visible}.nb-map-area{fill:color-mix(in srgb, var(--foreground) 8%, var(--card));stroke:color-mix(in srgb, var(--foreground) 28%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.nb-map-river{fill:none;stroke:#38bdf88c;stroke-width:1.2px;vector-effect:non-scaling-stroke}.nb-map-label{fill:var(--muted-foreground);paint-order:stroke;stroke:var(--card);stroke-width:3px;opacity:.85;font-size:10px}.nb-map-marker{pointer-events:auto;cursor:pointer;outline:none}.nb-map-dot{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.nb-map-marker.is-hover .nb-map-dot,.nb-map-marker:focus-visible .nb-map-dot{stroke:var(--primary);stroke-width:3px}.nb-map-count{fill:#0f172a;pointer-events:none;font-size:11px;font-weight:600}.nb-map-link-dot{fill:#1e293b;stroke:#fff;stroke-width:1px}.nb-map-status{color:var(--muted-foreground);pointer-events:none;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;inset:0}.nb-map-title{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--card) 80%, transparent);pointer-events:none;border-radius:4px;max-width:60%;padding:0 .375rem;font-size:.75rem;font-weight:500;position:absolute;top:.375rem;left:.5rem;overflow:hidden}.nb-map-empty{text-align:center;color:var(--muted-foreground);pointer-events:none;font-size:.75rem;position:absolute;top:50%;left:0;right:0}.nb-map-legend{background:color-mix(in srgb, var(--card) 85%, transparent);pointer-events:none;border-radius:4px;flex-wrap:wrap;gap:.125rem .5rem;max-width:70%;padding:.125rem .375rem;font-size:10px;display:flex;position:absolute;bottom:.25rem;left:.25rem}.nb-map-legend-item{align-items:center;gap:.25rem;display:flex}.nb-map-swatch{border-radius:999px;flex:none;width:.5rem;height:.5rem;display:inline-block}.nb-map-credit{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--card) 85%, transparent);max-width:40%;color:var(--muted-foreground);pointer-events:none;border-radius:4px;padding:0 .375rem;font-size:10px;position:absolute;bottom:.25rem;right:.25rem;overflow:hidden}.nb-map-controls{flex-direction:column;gap:.25rem;display:flex;position:absolute;top:.375rem;right:.375rem}.nb-stack-block.is-expanded .nb-map-controls{top:max(4.25rem, calc(env(safe-area-inset-top) + 4.25rem))}.nb-map-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 90%, transparent);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 1px 2px #0000001f}.nb-map-btn:hover{background:var(--accent);color:var(--accent-foreground)}.nb-map-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.nb-map-tip{z-index:20;box-sizing:border-box;border:1px solid var(--border);background:var(--card);width:11rem;color:var(--card-foreground);pointer-events:none;border-radius:6px;padding:.5rem;font-size:.75rem;position:absolute;box-shadow:0 4px 12px #0000002e}.nb-map-tip-body>*+*{margin-top:.25rem}.nb-map-tip-title{font-weight:600}.nb-map-tip-row{align-items:center;gap:.375rem;display:flex}.nb-map-muted{color:var(--muted-foreground)}.nb-map-note{white-space:pre-wrap;overflow-wrap:anywhere}.nb-map-small{font-size:10px}.nb-map-sheet{z-index:20;border-top:1px solid var(--border);background:var(--card);color:var(--card-foreground);cursor:default;border-radius:8px 8px 0 0;padding:.75rem;font-size:.75rem;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000002e}.nb-map-sheet-actions{gap:.5rem;margin-top:.5rem;display:flex}.nb-map-sheet-btn{border:1px solid var(--border);background:var(--secondary);min-height:2rem;color:var(--secondary-foreground);cursor:pointer;border-radius:4px;padding:.25rem .625rem}.nb-map-sheet-btn.is-end{margin-left:auto}
