@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-app:#09090b;--bg-panel:#121214;--bg-panel-header:#18181b;--bg-input:#27272a;--border-subtle:#ffffff14;--border-medium:#ffffff26;--border-active:#3b82f6;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-data:#fafafa;--color-friend:#3b82f6;--color-foe:#ef4444;--color-neutral:#eab308;--color-unknown:#a8a29e;--color-success:#10b981;--color-warning:#f59e0b;--font-ui:"IBM Plex Sans", system-ui, sans-serif;--font-data:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-app);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:13px;overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff3}.dashboard-shell{background:var(--bg-app);grid-template-rows:36px 1fr 44px;width:100vw;height:100vh;display:grid;overflow:hidden}.content-area{position:relative;overflow:hidden}.master-layout{height:100%;display:grid;overflow:hidden}.master-map-pane{position:relative;overflow:hidden}.master-inspector-overlay{z-index:20;position:absolute;top:0;bottom:0;right:0}.master-inspector-resize-handle{z-index:21;position:absolute;top:0;bottom:0}.side-by-side-layout,.focused-layout{height:100%;display:flex;overflow:hidden}.panel-border-handle{cursor:col-resize;z-index:10;background:#ffffff0a;flex-shrink:0;width:4px;transition:background .15s}.panel-border-handle:hover{background:var(--color-friend)}.sidebar-collapse-btn:hover{color:var(--text-primary);background:#ffffff0d}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.mapboxgl-ctrl-top-right .mapboxgl-ctrl-group,.maplibregl-ctrl-top-right .maplibregl-ctrl-group,.mapbox-gl-draw_ctrl-draw-btn{display:none!important}.mapboxgl-canvas-container.mapboxgl-interactive{z-index:0}.mapboxgl-marker,.maplibregl-marker{z-index:5!important;pointer-events:all!important}.login-map-pane .maplibregl-map{position:absolute;inset:0}.login-map-pane .maplibregl-canvas-container{width:100%;height:100%}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.top-nav{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);z-index:100;align-items:center;gap:4px;height:36px;padding:0 8px;display:flex}.top-nav-brand{color:var(--text-primary);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:flex}button.top-nav-brand{cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;appearance:none;background:0 0;border:none;margin:0}.top-nav-brand-logo{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:auto;max-width:28px;height:20px;display:block}.top-nav-brand .brand-icon{background:var(--color-friend);color:#fff;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.nav-divider{background:var(--border-subtle);width:1px;height:20px;margin:0 4px}.nav-menu-items{align-items:center;gap:2px;display:flex}.nav-menu-dropdown-wrap{position:relative}.nav-menu-dropdown{background:var(--bg-panel);border:1px solid var(--border-medium);z-index:300;border-radius:6px;min-width:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 24px #00000059}.nav-menu-dropdown-item{width:100%;color:var(--text-secondary);text-align:left;font-size:11px;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 10px}.nav-menu-dropdown-item:hover{color:var(--text-primary);background:#ffffff0f}.nav-menu-dropdown-item--toggle{align-items:center;gap:8px;display:flex!important}.nav-menu-dropdown-item--disabled,.nav-menu-dropdown-item--disabled:hover{color:var(--text-muted);cursor:not-allowed;background:#ffffff05}.nav-menu-dropdown-check{width:14px;height:14px;color:var(--color-friend);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-menu-dropdown-check--radio{color:var(--color-friend);font-size:10px;line-height:1}.nav-menu-provider-label{flex:1}.nav-menu-provider-badge,.nav-menu-provider-status{white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:9px;line-height:1.2}.nav-menu-provider-badge{color:#93c5fd;background:#3b82f624}.nav-menu-provider-status{color:#fca5a5;background:#f8717124}.nav-menu-dropdown-item--has-submenu{align-items:center;gap:8px;position:relative;display:flex!important}.nav-menu-dropdown-item--has-submenu .submenu-chevron{color:var(--text-muted);margin-left:auto}.nav-menu-submenu{background:var(--bg-panel);border:1px solid var(--border-medium);border-radius:6px;min-width:140px;padding:4px;display:none;position:absolute;top:-5px;left:100%;box-shadow:6px 0 18px #0006}.nav-menu-dropdown-item--has-submenu:hover>.nav-menu-submenu,.nav-menu-dropdown-item--sentinel-hub:focus-within>.nav-menu-submenu,.nav-menu-dropdown-item--nasa-gibs:focus-within>.nav-menu-submenu{display:block}.nav-menu-dropdown-item--nasa-gibs{cursor:default}.nav-menu-dropdown-item--sentinel-hub{cursor:pointer}.nav-menu-dropdown-item--sentinel-hub-muted{opacity:.92}.nav-menu-dropdown-item--sentinel-hub:focus-visible{outline-offset:1px;outline:1px solid #3b82f68c}.nav-menu-submenu--sentinel-hub{z-index:310;min-width:240px;margin-left:-4px;padding:10px 10px 8px 8px}.nav-menu-satellite-sentinel-flyout{cursor:default;flex-direction:column;gap:6px;display:flex}.nav-menu-sentinel-radio-group{flex-direction:column;gap:2px;margin:0;display:flex}.nav-menu-sentinel-radio-row{box-sizing:border-box;text-align:left;cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;font-size:11px;padding:6px 8px!important}.nav-menu-sentinel-radio-row:hover{color:var(--text-primary);background:#ffffff0f}.nav-menu-sentinel-radio-row--active{color:var(--text-primary);background:#3b82f61f}.nav-menu-sentinel-instance-row{align-items:stretch;gap:2px;display:flex}.nav-menu-sentinel-instance-row .nav-menu-sentinel-radio-row{flex:1;min-width:0}.nav-menu-sentinel-custom-remove{width:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-self:center;padding:0;font-size:15px;line-height:1}.nav-menu-sentinel-custom-remove:hover{color:var(--text-primary);background:#ffffff0f}.nav-menu-sentinel-custom-tag{opacity:.8;font-size:10px}.nav-menu-sentinel-custom-add{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;display:flex}.nav-menu-satellite-inline-input{box-sizing:border-box;border:1px solid var(--border-medium);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:11px}.nav-menu-sentinel-add-btn{border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;background:#3b82f626;border-radius:4px;padding:6px 10px;font-size:11px}.nav-menu-sentinel-add-btn:disabled{opacity:.45;cursor:not-allowed}.nav-menu-btn{color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:4px 8px;font-size:11.5px;transition:background .1s,color .1s}.nav-menu-btn:hover{color:var(--text-primary);background:#ffffff0f}.nav-spacer{flex:1}.nav-toolbar{align-items:center;gap:2px;display:flex}.nav-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .1s,color .1s;display:flex}.nav-icon-btn:hover{color:var(--text-primary);background:#ffffff0f}.nav-icon-btn.active{background:var(--color-friend);color:#fff}.nav-search{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:2px;align-items:center;gap:4px;height:26px;padding:2px 8px;display:flex}.nav-search input{color:var(--text-primary);font-family:var(--font-ui);background:0 0;border:none;outline:none;width:120px;font-size:11px}.nav-search input::placeholder{color:var(--text-muted)}.mode-tabs{background:var(--bg-input);border-radius:2px;align-items:center;gap:1px;margin:0 8px;padding:2px;display:flex}.mode-tab{font-family:var(--font-ui);color:var(--text-muted);cursor:pointer;letter-spacing:.03em;white-space:nowrap;background:0 0;border:none;border-radius:1px;padding:3px 10px;font-size:10.5px;font-weight:500;transition:background .1s,color .1s}.mode-tab:hover{color:var(--text-secondary)}.mode-tab.active{background:var(--color-friend);color:#fff}.nav-modal-overlay{bottom:14px;left:14px;z-index:400;pointer-events:none;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:auto auto 14px 14px}.nav-modal-card{background:var(--bg-panel);border:1px solid var(--border-medium);pointer-events:auto;border-radius:8px;width:min(420px,100vw - 20px);padding:12px;box-shadow:0 12px 28px #0006}.nav-modal-card h3{color:var(--text-primary);margin:0;font-size:14px}.nav-modal-form{flex-direction:column;gap:8px;margin-top:10px;display:flex}.nav-modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);box-sizing:border-box;border-radius:4px;padding:6px 8px}.nav-modal-coords-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.nav-modal-action-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);font-size:10px;font-family:var(--font-ui);cursor:pointer;border-radius:4px;padding:5px 8px}.nav-modal-action-btn.is-active{color:var(--text-primary);border-color:#f59e0bb3}.nav-modal-icon-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.nav-modal-icon-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;height:26px;display:inline-flex}.nav-modal-icon-btn.is-active{color:var(--text-primary);border-color:#f59e0b99}.nav-modal-color-wrap{flex-direction:column;gap:6px;display:flex}.nav-modal-color-wrap .react-colorful{width:100%;height:130px}.nav-modal-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.nav-modal-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);font-size:11px;font-family:var(--font-ui);cursor:pointer;border-radius:4px;padding:5px 10px}.nav-modal-btn--primary{background:#f59e0b29;border-color:#f59e0bb3}.nav-modal-btn:disabled{opacity:.45;cursor:not-allowed}.nav-modal-size-row{grid-template-columns:auto 1fr 64px;align-items:center;gap:8px;display:grid}.nav-modal-size-row label{color:var(--text-muted);font-size:10px}.nav-modal-size-input{padding:4px 6px;font-size:10px}.nav-menu-satellite-panel{border-top:1px solid var(--border-subtle);cursor:default;flex-direction:column;align-items:stretch;gap:6px;margin:4px 0 0;padding:10px 10px 0;display:flex}.nav-menu-satellite-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.nav-menu-satellite-hint{color:var(--text-muted);margin:0;font-size:10px;line-height:1.35}.nav-menu-satellite-code{color:var(--text-secondary);word-break:break-all;font-family:ui-monospace,monospace;font-size:9px}.nav-menu-satellite-select,.nav-menu-satellite-date{box-sizing:border-box;width:100%;font-size:11px;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;padding:6px 8px}.nav-menu-satellite-select:focus,.nav-menu-satellite-date:focus{border-color:#3b82f68c;outline:none;box-shadow:0 0 0 1px #3b82f633}.nav-menu-satellite-select option{background:var(--bg-panel);color:var(--text-primary)}.nav-menu-eq-mag-panel{border-top:1px solid var(--border-subtle);cursor:default;margin:4px 0 0;padding:8px 10px 6px}.nav-menu-eq-mag-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.nav-menu-eq-mag-label strong{color:var(--text-primary);font-weight:700}.nav-menu-eq-mag-row{align-items:center;gap:6px;display:flex}.nav-menu-eq-mag-bound{color:var(--text-muted);text-align:center;min-width:18px;font-size:9px;font-weight:600}.nav-menu-eq-mag-slider{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:2px;outline:none;flex:1;height:4px}.nav-menu-eq-mag-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#f97316;border:2px solid #0000004d;border-radius:50%;width:12px;height:12px}.nav-menu-eq-mag-slider::-moz-range-thumb{cursor:pointer;background:#f97316;border:2px solid #0000004d;border-radius:50%;width:12px;height:12px}.bottom-timeline{background:var(--bg-panel);border-top:1px solid var(--border-subtle);z-index:100;align-items:center;gap:6px;height:44px;padding:0 8px;display:flex}.timeline-timestamp{font-family:var(--font-data);color:var(--text-data);background:var(--bg-input);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:2px;padding:3px 8px;font-size:11px}.timeline-controls{align-items:center;gap:2px;display:flex}.timeline-ctrl-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:26px;height:26px;transition:background .1s,color .1s;display:flex}.timeline-ctrl-btn:hover{color:var(--text-primary);background:#ffffff0f}.timeline-ctrl-btn.play-pause{background:var(--color-friend);color:#fff;width:52px;font-size:10px;font-family:var(--font-ui);border-radius:2px;gap:4px;font-weight:600}.timeline-speed{font-family:var(--font-data);color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border-subtle);cursor:pointer;border-radius:2px;padding:2px 6px;font-size:10px}.timeline-scrubber{background:var(--bg-input);cursor:pointer;border-radius:2px;flex:1;height:24px;position:relative;overflow:hidden}.timeline-scrubber-fill{border-right:2px solid var(--color-friend);background:#3b82f64d;height:100%;position:absolute;top:0;left:0}.timeline-scrubber-ticks{justify-content:space-between;align-items:flex-end;padding:0 4px 2px;display:flex;position:absolute;inset:0}.timeline-tick{color:var(--text-muted);font-size:8px;font-family:var(--font-data)}.timeline-duration{font-family:var(--font-data);color:var(--text-secondary);white-space:nowrap;font-size:10.5px}.timeline-label{color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:2px;padding:2px 8px;font-size:10px;font-weight:500}.ai-detections{border-left:1px solid var(--border-subtle);align-items:center;gap:8px;margin-left:auto;padding-left:8px;display:flex}.ai-detections-title{color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:500}.ai-detection-item{font-size:10.5px;font-family:var(--font-data);white-space:nowrap;align-items:center;gap:4px;display:flex}.ai-det-icon{border-radius:1px;width:8px;height:8px}.ai-det-label{color:var(--text-secondary)}.ai-det-count{color:var(--text-data);font-weight:600}.layer-sidebar{background:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.sidebar-tabs{border-bottom:1px solid var(--border-subtle);padding:0;display:flex}.sidebar-tab{color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-ui);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px;transition:color .1s}.sidebar-tab:hover{color:var(--text-secondary)}.sidebar-tab.active{color:var(--text-primary);border-bottom-color:var(--color-friend)}.sidebar-search{border-bottom:1px solid var(--border-subtle);padding:6px 8px}.sidebar-search input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);border-radius:2px;outline:none;padding:5px 8px}.sidebar-search input:focus{border-color:var(--color-friend)}.sidebar-search input::placeholder{color:var(--text-muted)}.layer-tree{flex:1;padding:4px 0;overflow-y:auto}.layer-group{border-bottom:1px solid var(--border-subtle)}.layer-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 8px;transition:background .1s;display:flex}.layer-group-header:hover{background:#ffffff08}.layer-group-header--annotations{background:#38bdf814}.layer-group-header--annotations:hover{background:#38bdf824}.layer-group-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.layer-group-chevron.expanded{transform:rotate(90deg)}.layer-group-icon{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.layer-group-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;font-weight:500;overflow:hidden}.layer-group-name--annotations{color:#7dd3fc}.layer-group-indicator{border-radius:50%;flex-shrink:0;width:7px;height:7px}.layer-items{padding-left:20px}.layer-item{cursor:pointer;align-items:center;gap:6px;padding:4px 8px;transition:background .1s;display:flex}.layer-item:hover{background:#ffffff08}.layer-toggle{border:1px solid var(--border-medium);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:flex}.layer-toggle.visible{background:var(--color-friend);border-color:var(--color-friend)}.layer-toggle svg{color:#fff;width:10px;height:10px}.layer-item-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.annotation-layer-item{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:2px;padding:6px 8px;display:flex}.annotation-layer-item--selected{background:#3b82f62e}.annotation-layer-item--hidden{opacity:.6}.annotation-layer-top-row{align-items:center;gap:8px;display:flex}.annotation-layer-item:last-child{border-bottom:none}.annotation-layer-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:500;overflow:hidden}.annotation-layer-meta{color:var(--text-muted);font-size:10px;line-height:1.3}.annotation-layer-actions{align-items:center;gap:4px;display:inline-flex}.annotation-subgroup{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;margin:6px 8px 6px 0;overflow:hidden}.annotation-subgroup--hidden{background:#ffffff03}.annotation-subgroup-header{align-items:stretch;gap:6px;padding:4px 6px;display:flex}.annotation-subgroup-toggle{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:6px;padding:4px 2px;display:flex}.annotation-subgroup-toggle:hover{background:#ffffff0a}.annotation-subgroup-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.annotation-subgroup-count{color:#93c5fd;background:#3b82f624;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:9px;line-height:1.3}.annotation-subgroup-actions{align-items:center;gap:4px;display:inline-flex}.annotation-subgroup-items{border-top:1px solid var(--border-subtle);padding-left:14px}.annotation-action-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);font-size:10px;font-family:var(--font-ui);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-height:20px;padding:2px 6px;display:inline-flex}.annotation-action-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-medium)}.annotation-action-btn:disabled{opacity:.5;cursor:not-allowed}.annotation-action-btn--danger{color:#fca5a5}.annotation-confirm-modal-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.annotation-confirm-modal{background:var(--bg-panel);border:1px solid var(--border-medium);border-radius:8px;width:min(320px,100vw - 24px);padding:12px;box-shadow:0 8px 24px #00000059}.annotation-confirm-modal h3{color:var(--text-primary);margin:0 0 8px;font-size:14px}.annotation-confirm-modal p{color:var(--text-secondary);margin:0;font-size:11px}.annotation-confirm-modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.annotation-modal-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);font-size:11px;font-family:var(--font-ui);cursor:pointer;border-radius:4px;padding:5px 10px}.annotation-modal-btn--danger{color:#fecaca;background:#ef444429;border-color:#ef444466}.tools-sidebar{padding:8px 10px 14px}.tools-feature-card{background:linear-gradient(#1c2027f5,#14181ffa);border:1px solid #ffffff14;border-radius:8px;margin-bottom:12px;padding:10px;box-shadow:inset 0 1px #ffffff08}.tools-feature-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tools-feature-title-row{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.tools-feature-title-row svg{color:#8ab4f8}.tools-feature-clear-btn{color:#9fb7cf;font-size:10px;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:0}.tools-feature-clear-btn:hover{color:var(--text-primary)}.tools-feature-body{flex-direction:column;gap:8px;display:flex}.tools-feature-copy{color:#b8c4d3;margin:0;font-size:10px;line-height:1.4}.tools-feature-copy.is-disabled{color:var(--text-muted)}.tools-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tools-feature-action{min-height:76px;color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;font-size:11px;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;display:flex}.tools-feature-action:hover:not(:disabled){background:#8ab4f814;border-color:#8ab4f859}.tools-feature-action svg{color:#8ab4f8}.tools-feature-action.is-active{background:linear-gradient(#091b15f2,#0f271ffa);border-color:#34d39961;box-shadow:0 0 0 1px #34d3991a}.tools-feature-action.is-active svg{color:#6ee7b7}.tools-feature-action:disabled{cursor:not-allowed;opacity:.55}.tools-sidebar-header{flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.tools-open-builder-btn{color:var(--text-primary);font-size:11px;font-family:var(--font-ui);cursor:pointer;background:#3b82f61f;border:1px solid #3b82f63d;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.tools-sidebar-tip{color:var(--color-friend);background:#3b82f614;border:1px solid #3b82f626;border-radius:6px;padding:6px 8px;font-size:10px}.tools-search-input{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:8px;align-items:center;gap:8px;padding:0 8px;display:flex}.tools-search-input svg{color:var(--text-muted)}.tools-search-input input{width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);background:0 0;border:none;outline:none;padding:8px 0}.tools-category{border-bottom:1px solid var(--border-subtle)}.tools-category-header{cursor:pointer;color:var(--text-primary);align-items:center;gap:6px;padding:8px 0;font-size:11px;font-weight:500;display:flex}.tools-category-header span:first-of-type{flex:1}.tools-category-count{color:var(--text-muted);font-size:9px}.tools-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 10px 14px;display:grid}.tools-symbol-card{position:relative}.tools-symbol-drag{cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-height:88px;padding:10px 6px;transition:border-color .12s,background .12s;display:flex}.tools-symbol-drag:hover{background:#ffffff08;border-color:#ffffff26}.tools-symbol-drag span{color:var(--text-muted);text-align:center;word-break:break-word;font-size:10px;line-height:1.2}.tools-symbol-delete{color:#fca5a5;cursor:pointer;background:#0f172ae0;border:1px solid #ef444433;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:4px;right:4px}.los-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.los-tool-card{color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff17;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:11.5px;font-weight:500;transition:border-color .12s,background .12s;display:flex}.los-tool-card:hover:not(:disabled){background:#8ab4f812;border-color:#8ab4f859}.los-tool-card.is-active{background:#8ab4f817;border-color:#8ab4f859}.los-tool-card.is-active .los-tool-thumb{border-color:#8ab4f859}.los-tool-card:disabled{opacity:.5;cursor:not-allowed}.los-tool-thumb{background:#1c2732;border:1px solid #ffffff1a;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:36px;display:flex;overflow:hidden}.los-tool-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.los-tool-thumb--direct,.los-tool-thumb--sweep{background:#1c2732}.los-tool-label{flex:1;min-width:0;line-height:1.2}.tools-find-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);align-items:center;gap:7px;padding:6px 10px;display:flex}.tools-find-bar svg{color:var(--text-muted);flex-shrink:0}.tools-find-bar input{color:var(--text-primary);font-size:11px;font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;padding:3px 0}.tools-find-bar input::placeholder{color:var(--text-muted)}.tools-find-clear{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.tools-find-clear:hover{color:var(--text-primary)}.tools-cat-section{border-bottom:1px solid var(--border-subtle);margin-bottom:10px}.tools-cat-section-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 10px 10px 8px;transition:background .1s;display:flex}.tools-cat-section-header:hover{background:#ffffff08}.tools-cat-section-icon{color:#8ab4f8;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tools-cat-section-icon img{width:16px;height:16px;display:block}.tools-cat-section-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tools-cat-section-title{color:var(--text-primary);font-size:11.5px;font-weight:600;font-family:var(--font-ui);line-height:1.2}.tools-cat-section-desc{color:var(--text-muted);font-size:9.5px;font-family:var(--font-ui);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.tools-cat-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.tools-cat-chevron.expanded{transform:rotate(90deg)}.tools-cat-content{border-top:1px solid var(--border-subtle);background:#0000001f;flex-direction:column;gap:8px;padding:8px 10px 12px;display:flex}.tools-cat-content .tools-feature-clear-btn{align-self:flex-start}.terrain-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.terrain-tool-card{color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;transition:border-color .12s,background .12s;display:flex}.terrain-tool-card:hover{background:#ffffff0d;border-color:#ffffff2e}.terrain-tool-card.is-active{background:linear-gradient(#261a0ceb,#1a1209f5);border-color:#f7a84a6b}.terrain-tool-card__icon{color:#f7a84a;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.terrain-tool-card__icon img{width:19px;height:19px;display:block}.terrain-tool-card__copy{flex-direction:column;gap:3px;width:100%;min-width:0;display:flex}.terrain-tool-card__title{color:var(--text-primary);font-size:11px;font-weight:600}.terrain-tool-card__desc{color:var(--text-muted);font-size:9.5px;line-height:1.35}@media (width<=420px){.terrain-tool-grid{grid-template-columns:1fr}}.tools-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:32px 16px;display:flex}.tools-empty-state p{color:var(--text-muted);text-align:center;margin:0;font-size:11px}.units-tab{flex-direction:column;flex:1;min-height:0;display:flex}.units-search{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:8px 10px;display:flex}.units-search svg{color:var(--text-muted);flex-shrink:0}.units-search input{width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);background:0 0;border:none;outline:none}.units-search input::placeholder{color:var(--text-muted)}.units-tab-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:10px;display:flex;overflow-y:auto}.units-section{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.units-section-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.units-section-header>span:last-child{color:var(--text-muted);font-size:10px}.units-section-toggle{cursor:pointer;background:0 0;border:none;width:100%}.units-section-toggle:hover{background:#ffffff08}.units-section-toggle-inline{justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.units-section-heading{align-items:center;gap:8px;display:inline-flex}.units-section-header-actions{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.units-nested-sections{flex-direction:column;gap:8px;padding:8px;display:flex}.units-section-body{overscroll-behavior:contain;min-height:0;max-height:min(42vh,360px);overflow-y:auto}.units-nested-sections .units-section{margin:0}.units-list,.units-group-members{flex-direction:column;display:flex}.units-row{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.units-row:hover,.units-group-toggle:hover{background:#ffffff0a}.units-row-copy,.units-group-copy{flex-direction:column;flex:1;min-width:0;display:flex}.units-row-title,.units-group-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.units-row-subtitle,.units-group-subtitle{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.units-empty-copy{color:var(--text-muted);margin:0;padding:10px;font-size:10px}.unit-avatar,.unit-group-swatch{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.unit-avatar-fallback,.unit-group-swatch-icon{background:#ffffff0f;border:1px solid #ffffff1a;font-size:10px;font-weight:700}.units-group-list{flex-direction:column;display:flex}.units-group-card+.units-group-card{border-top:1px solid var(--border-subtle)}.units-group-header{align-items:stretch;gap:6px;padding:4px 6px;display:flex}.units-group-toggle{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:8px;padding:6px 4px;display:flex}.units-group-actions{align-items:center;gap:4px;display:inline-flex}.units-inline-icon-btn{border:1px solid var(--border-subtle);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.units-inline-icon-btn:hover{color:var(--text-primary);border-color:var(--border-medium)}.units-inline-icon-btn-danger:hover{color:#fca5a5;border-color:#ef444466}.unit-group-dialog-backdrop{z-index:50;background:#050a12b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.unit-group-dialog{border:1px solid var(--border-medium);background:#10161f;border-radius:14px;width:min(520px,100vw - 32px);max-height:min(88vh,820px);display:flex;overflow:hidden;box-shadow:0 18px 60px #00000059}.unit-group-form{flex-direction:column;gap:14px;width:100%;min-height:0;padding:18px;display:flex}.unit-group-dialog-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.unit-group-dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.unit-group-dialog-header h3{color:var(--text-primary);margin:0;font-size:16px}.unit-group-dialog-header p{color:var(--text-muted);margin:4px 0 0;font-size:11px}.unit-group-dialog-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:18px}.unit-group-dialog-preview{background:#ffffff08;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.unit-group-dialog-preview-copy{flex-direction:column;gap:3px;display:flex}.unit-group-dialog-preview-copy strong{color:var(--text-primary);font-size:12px}.unit-group-dialog-preview-copy span{color:var(--text-muted);font-size:10px}.unit-group-field{flex-direction:column;gap:6px;display:flex}.unit-group-field span{color:var(--text-secondary);font-size:11px}.unit-group-field input,.unit-group-field select{border:1px solid var(--border-subtle);background:var(--bg-input);width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);border-radius:8px;padding:9px 10px}.unit-group-field-row{grid-template-columns:100px 1fr;gap:10px;display:grid}.unit-group-color-panel{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.unit-group-color-header{align-items:center;gap:10px;display:flex}.unit-group-color-swatch{cursor:default;border:1px solid #ffffff26;border-radius:10px;width:42px;height:42px}.unit-group-color-text{text-transform:uppercase;flex:1}.react-colorful{width:100%!important}.react-colorful__saturation{border-radius:10px 10px 0 0}.react-colorful__hue,.react-colorful__alpha{border-radius:999px;height:12px!important}.unit-group-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.unit-group-icon-option{border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;background:#ffffff05;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;font-size:10px;display:flex}.unit-group-icon-option:hover{border-color:var(--border-medium)}.unit-group-icon-option.is-active{background:#3b82f61f;border-color:#3b82f673}.unit-group-icon-option-preview{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.unit-group-upload-row{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.unit-group-upload-input{display:none}.unit-group-upload-btn{min-width:112px;min-height:36px;color:var(--text-primary);cursor:pointer;background:#3b82f624;border:1px solid #3b82f659;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:11px;display:inline-flex}.unit-group-upload-name{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.unit-group-image-clear,.unit-group-secondary-btn,.unit-group-primary-btn{border:1px solid var(--border-subtle);min-height:36px;color:var(--text-primary);cursor:pointer;font-size:11px;font-family:var(--font-ui);background:#ffffff08;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.unit-group-primary-btn{background:#3b82f629;border-color:#3b82f659}.unit-group-dialog-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.unit-group-field-error{color:#fca5a5;margin:0;font-size:10px}.unit-group-field-helper{color:var(--text-muted);margin:0;font-size:10px}@media (width<=420px){.unit-group-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-group-upload-row{flex-direction:column;align-items:stretch}.unit-group-upload-btn{width:100%}}.layer-group-header--waypoints{background:#f59e0b12}.layer-group-header--waypoints:hover{background:#f59e0b21}.layer-group-name--waypoints{color:#fcd34d}.waypoint-add-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.waypoint-add-btn:hover{color:var(--text-primary);border-color:var(--border-medium)}.waypoints-list{padding-left:20px}.waypoints-empty-copy{color:var(--text-muted);margin:0;padding:8px 12px;font-size:10px}.waypoint-add-form{border-bottom:1px solid var(--border-subtle);background:#f59e0b0d;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.waypoint-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-size:11px;font-family:var(--font-ui);box-sizing:border-box;border-radius:3px;padding:4px 7px}.waypoint-input:focus{border-color:#f59e0b;outline:none}.waypoint-input--coord{width:50%}.waypoint-coords-row,.waypoint-form-actions{gap:4px;display:flex}.waypoint-layer-item{gap:3px}.waypoint-layer-item .annotation-layer-top-row{padding-left:0}.waypoint-layer-title{flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex}.waypoint-layer-icon{justify-content:center;align-items:center;width:12px;display:inline-flex}.waypoint-layer-title .annotation-layer-name{flex:1}.waypoint-layer-meta{padding-left:18px}.waypoint-map-coord-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);font-size:10px;font-family:var(--font-ui);cursor:pointer;border-radius:4px;padding:4px 6px}.waypoint-map-coord-btn:disabled{opacity:.45;cursor:not-allowed}.waypoint-icon-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.waypoint-icon-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;height:24px;display:inline-flex}.waypoint-icon-btn.is-active{color:var(--text-primary);border-color:#f59e0b99}.waypoint-color-picker-wrap{flex-direction:column;gap:6px;display:flex}.waypoint-color-picker-wrap .react-colorful{width:100%;height:120px}.waypoint-color-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-size:10px;font-family:var(--font-ui);box-sizing:border-box;border-radius:3px;padding:4px 7px}.waypoint-size-row{grid-template-columns:auto 1fr 58px;align-items:center;gap:6px;display:grid}.waypoint-size-row label{color:var(--text-muted);font-size:10px}.waypoint-size-input{padding:3px 6px;font-size:10px}.data-source-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:8px 10px;transition:background .1s;display:flex}.data-source-item:hover{background:#ffffff05}.data-source-item--disabled,.data-source-item--disabled:hover{opacity:.62;background:#ffffff03}.data-source-indicator{border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .2s}.data-source-details{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.data-source-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;line-height:1.3;overflow:hidden}.data-source-badge{color:#93c5fd;background:#3b82f624;border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:9px;line-height:1.2}.datasource-switch{flex-shrink:0;width:26px;height:14px;display:inline-block;position:relative}.datasource-switch input{opacity:0;width:0;height:0}.datasource-slider{cursor:pointer;background-color:#3f3f46;border-radius:14px;transition:all .2s;position:absolute;inset:0}.datasource-slider:before{content:"";background-color:#fff;border-radius:50%;width:10px;height:10px;transition:all .2s;position:absolute;bottom:2px;left:2px}input:checked+.datasource-slider{background-color:var(--color-success)}input:checked+.datasource-slider:before{transform:translate(12px)}input:disabled+.datasource-slider{cursor:not-allowed;background-color:#2a2a30}input:disabled+.datasource-slider:before{background-color:#8f8f98}.milsym-modal-overlay{z-index:1200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1118278a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.milsym-modal-card{border:1px solid var(--border-subtle);background:#111113;border-radius:18px;grid-template-rows:auto auto 1fr;width:min(1440px,100vw - 32px);height:min(920px,100vh - 32px);display:grid;overflow:hidden;box-shadow:0 28px 100px #00000080}.milsym-modal-toolbar,.milsym-modal-topbar{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:12px 16px;display:flex}.milsym-modal-topbar{background:#18181b}.milsym-toolbar-group{align-items:center;gap:10px;display:flex}.milsym-toolbar-group-grow{flex:1}.milsym-standard-toggle{border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;overflow:hidden}.milsym-standard-toggle button,.milsym-tab-strip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.milsym-standard-toggle button{padding:8px 12px;font-size:12px}.milsym-standard-toggle button.is-active,.milsym-tab-strip button.is-active{color:#fff;background:#3c83f6}.milsym-inline-toggle{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.milsym-icon-btn,.milsym-close-btn{border:1px solid var(--border-subtle);color:#dbe7f6;cursor:pointer;background:#ffffff0a;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.milsym-icon-btn.is-primary{color:#fff;background:#3c83f6;border-color:#0b64f4}.milsym-close-btn{padding-inline:9px}.milsym-modal-body{grid-template-columns:minmax(220px,280px) minmax(300px,420px) 1fr;min-height:0;display:grid}.milsym-sidebar-column,.milsym-preview-column,.milsym-form-column{flex-direction:column;min-height:0;display:flex}.milsym-preview-scroll-region{flex:1;min-height:0;overflow-y:auto}.milsym-sidebar-column,.milsym-preview-column{border-right:1px solid var(--border-subtle)}.milsym-column-heading{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.milsym-column-heading span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.milsym-column-heading strong{color:#eef6ff;font-size:13px}.milsym-results-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow:auto}.milsym-result-item{border:1px solid var(--border-subtle);color:#eff6ff;cursor:pointer;text-align:left;background:#1d1d20;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.milsym-result-item small{color:var(--text-muted);font-size:11px}.milsym-result-item.is-active{background:#27272a;border-color:#3c83f6}.milsym-preview-card,.milsym-preview-summary{border:1px solid var(--border-subtle);background:#18181b;border-radius:16px;margin:16px}.milsym-preview-card{justify-content:center;align-items:center;min-height:320px;transition:background .14s;display:flex}.milsym-preview-card.is-dark{background:#27272a}.milsym-preview-card.is-light{background:#fff}.milsym-preview-svg{max-width:100%;max-height:100%}.milsym-preview-heading-actions{align-items:center;gap:12px;display:flex}.milsym-preview-surface-toggle{border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;overflow:hidden}.milsym-preview-surface-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:11px}.milsym-preview-surface-toggle button.is-active{color:#fff;background:#3c83f6}.milsym-preview-fallback{color:var(--text-muted);font-size:13px}.milsym-preview-summary{flex-direction:column;gap:12px;padding:14px;display:flex}.milsym-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.milsym-summary-grid div{background:#1d1d20;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.milsym-summary-grid span{color:var(--text-muted);font-size:11px}.milsym-summary-grid strong{color:#f8fbff;font-size:13px}.milsym-tab-strip{border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;overflow:hidden}.milsym-tab-strip button{padding:8px 12px;font-size:12px}.milsym-form-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid;overflow:auto}.milsym-field{flex-direction:column;gap:6px;display:flex}.milsym-field span{color:var(--text-muted);font-size:12px}.milsym-field input,.milsym-field select{border:1px solid var(--border-subtle);color:#f8fbff;background:#1d1d20;border-radius:10px;outline:none;width:100%;min-width:0;padding:10px 12px;font-size:13px}.milsym-field select option{color:#111827;background:#f3f4f6}.milsym-field-inline{flex:1;min-width:0}.milsym-field-search{flex:2}.milsym-search-input{border:1px solid var(--border-subtle);background:#1d1d20;border-radius:10px;align-items:center;gap:8px;padding-inline:12px;display:flex}.milsym-search-input input{background:0 0;border:none;padding-inline:0}.milsym-search-input svg{color:var(--text-muted)}@media (width<=1180px){.milsym-modal-card{border-radius:14px;width:calc(100vw - 12px);height:calc(100vh - 12px)}.milsym-modal-body{grid-template-rows:minmax(180px,240px) auto 1fr;grid-template-columns:1fr}.milsym-sidebar-column,.milsym-preview-column{border-right:none;border-bottom:1px solid var(--border-subtle)}.milsym-form-grid{grid-template-columns:1fr}.milsym-modal-toolbar,.milsym-modal-topbar{flex-wrap:wrap}}.entity-inspector{background:var(--bg-panel);border-left:1px solid var(--border-subtle);flex-direction:column;width:100%;height:100%;display:flex;overflow-y:auto}.inspector-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.inspector-title{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.inspector-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.inspector-entity-header{border-bottom:1px solid var(--border-subtle);padding:12px}.inspector-entity-icon{align-items:center;gap:10px;margin-bottom:10px;display:flex}.inspector-entity-icon .entity-symbol{width:36px;height:36px}.inspector-entity-name{color:var(--text-primary);font-size:13px;font-weight:600}.inspector-entity-type{color:var(--text-muted);margin-top:2px;font-size:11px}.inspector-live-unit-secondary-name{color:var(--text-secondary);margin-top:4px;font-size:11px}.inspector-live-unit-chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.inspector-live-unit-chip{color:#dbeafe;letter-spacing:.04em;text-transform:uppercase;background:#1e293b8c;border:1px solid #60a5fa33;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.inspector-live-unit-alert{background:radial-gradient(circle at 0 0,#f8717133,#0000 58%),linear-gradient(#450a0ac7,#2d0808db);border:1px solid #f8717147;border-radius:12px;margin-top:12px;padding:12px;box-shadow:inset 0 0 0 1px #7f1d1d2e}.inspector-live-unit-alert--stale{background:radial-gradient(circle at 0 0,#fbbf242e,#0000 58%),linear-gradient(#452208c2,#2e1808d6);border-color:#fbbf2440;box-shadow:inset 0 0 0 1px #78350f29}.inspector-live-unit-alert-copy{flex-direction:column;gap:4px;display:flex}.inspector-live-unit-alert-title{letter-spacing:.1em;text-transform:uppercase;color:#fecaca;font-size:10px;font-weight:700}.inspector-live-unit-alert-text{color:#fee2e2;font-size:11px}.inspector-live-unit-grid{gap:10px;padding:12px;display:grid}.inspector-live-unit-card{background:linear-gradient(#111827f5,#0c121df5);border:1px solid #ffffff14;border-radius:12px;padding:12px;box-shadow:0 12px 24px #0000002e}.inspector-live-unit-card-title{letter-spacing:.1em;text-transform:uppercase;color:#93c5fd;margin-bottom:10px;font-size:10px;font-weight:700}.inspector-meta{flex-direction:column;gap:4px;padding:8px 12px;display:flex}.inspector-meta-row{justify-content:space-between;font-size:11px;display:flex}.inspector-meta-label{color:var(--text-muted)}.inspector-meta-value{color:var(--text-primary);font-family:var(--font-data);font-size:10.5px}.inspector-meta-value.is-sos{color:#fca5a5;letter-spacing:.08em;font-weight:700}.inspector-meta-value.is-stale{color:#fcd34d;font-weight:700}.inspector-meta-row--satellite-value{align-items:flex-start;gap:10px}.inspector-meta-value-col{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;max-width:58%;display:flex}.inspector-meta-value-primary{font-family:var(--font-data);color:var(--text-primary);word-break:break-word;font-size:11px;line-height:1.35}.inspector-meta-value-secondary{font-family:var(--font-ui);color:var(--text-muted);font-size:10px;line-height:1.3}.inspector-doc-link{max-width:100%;font-family:var(--font-ui);color:#94a3b8eb;align-items:center;gap:4px;margin-top:1px;font-size:10px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.inspector-doc-link:hover{color:#93c5fd;text-decoration:underline}.inspector-doc-link svg{opacity:.5;flex-shrink:0}.inspector-doc-link:hover svg{opacity:.85}.inspector-doc-link--emphasis{font-family:var(--font-data);color:#7dd3fc;margin-top:0;font-size:11px;font-weight:500}.inspector-doc-link--emphasis:hover{color:#bae6fd}.inspector-doc-link--emphasis svg{opacity:.65}.inspector-section{border-top:1px solid var(--border-subtle)}.inspector-section-header{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.inspector-section-header:hover{background:#ffffff08}.inspector-section-title{color:var(--text-primary);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:flex}.inspector-section-content{padding:8px 12px}.inspector-section-subtitle{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:600}.inspector-video-preview{aspect-ratio:16/9;background:#000;border-radius:2px;width:100%;position:relative;overflow:hidden}.inspector-actions{gap:6px;padding:8px 12px;display:flex}.inspector-action-btn{min-height:30px;font-family:var(--font-ui);border:1px solid var(--border-medium);background:var(--bg-input);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:2px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:500;line-height:1;transition:background .1s;display:inline-flex}.inspector-action-btn:hover{background:#ffffff1a}.inspector-action-btn:disabled{opacity:.45;cursor:not-allowed}.inspector-actions-menu{flex:1;min-width:0;position:relative}.inspector-action-btn-delete{flex:1}.inspector-action-btn-delete.is-armed{color:#fecaca;background:#7f1d1d59;border-color:#ef4444a6}.inspector-actions-dropdown{border:1px solid var(--border-medium);z-index:4;background:#10161f;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 34px #00000047}.inspector-actions-dropdown-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;font-size:10px}.inspector-actions-dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px;font-size:11px;display:flex}.inspector-actions-dropdown-item:hover{background:#ffffff0d}.inspector-actions-dropdown-hint{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.inspector-command-targeting{background:#3b82f614;border:1px solid #3b82f647;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 12px 8px;padding:10px 12px;display:flex}.inspector-command-targeting-copy{flex-direction:column;gap:3px;display:flex}.inspector-command-targeting-label{color:#93c5fd;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.inspector-command-targeting-text{color:var(--text-secondary);font-size:11px}.inspector-command-targeting-cancel{color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#ffffff05;border:1px solid #ffffff24;border-radius:6px;padding:6px 10px;font-size:11px}.inspector-action-note{color:var(--text-muted);margin:0 12px 8px;font-size:10px}.inspector-group-chip-row{flex-wrap:wrap;gap:6px;display:flex}.inspector-group-chip{border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:inline-flex}.inspector-groups-toolbar{margin-top:10px;margin-bottom:12px;display:flex}.inspector-secondary-btn{border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.inspector-group-checklist{flex-direction:column;gap:8px;display:flex}.inspector-group-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:11px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.inspector-group-option:hover{background:#ffffff0a;border-color:#ffffff29}.inspector-group-option.is-selected{background:#7f1d1d29;border-color:#ef444485;box-shadow:inset 0 0 0 1px #ef444414}.inspector-group-option-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inspector-group-option-name{color:var(--text-primary);font-size:11px;font-weight:600}.inspector-group-option-state{color:var(--text-muted);font-size:10px}.inspector-group-option.is-selected .inspector-group-option-state{color:#fca5a5}.inspector-group-option-indicator{color:#0000;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.inspector-group-option-indicator.is-selected{color:#fca5a5;background:#ef444429;border-color:#ef444485}.inspector-empty-copy{color:var(--text-muted);font-size:10px}@media (width<=960px){.inspector-live-unit-grid,.inspector-live-unit-card{padding:10px}}.telemetry-panel{background:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-direction:column;height:100%;display:flex;overflow-y:auto}.telemetry-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel-header);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.telemetry-header-title{color:var(--text-primary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.telemetry-header-controls{align-items:center;gap:4px;display:flex}.mini-map-resize-handle{cursor:row-resize;z-index:10;background:#ffffff0a;flex-shrink:0;height:4px;transition:background .15s}.mini-map-resize-handle:hover{background:var(--color-friend)}.aircraft-model-container{border-bottom:1px solid var(--border-subtle);background:radial-gradient(#3b82f60d 0%,#0000 70%);width:100%;height:200px;position:relative}.aircraft-model-label{text-align:center;color:var(--text-muted);font-size:9px;font-style:italic;position:absolute;bottom:6px;left:0;right:0}.telemetry-toggle{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;display:flex}.telemetry-toggle-label{color:var(--text-secondary)}.telemetry-source-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:4px 10px;font-size:11px;display:flex}.telemetry-section{padding:6px 0}.telemetry-section-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;font-size:10px;font-weight:600}.telemetry-row{justify-content:space-between;align-items:center;padding:3px 10px;display:flex}.telemetry-label{color:var(--text-secondary);font-size:11px}.telemetry-value{font-family:var(--font-data);color:var(--text-data);letter-spacing:.02em;font-size:11px;font-weight:500}.video-feed-container{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.video-feed-canvas{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.video-feed-placeholder{background:radial-gradient(circle at 30% 20%,#3b82f62e,#0000 30%),linear-gradient(#050a14f2,#02060cfa);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-feed-placeholder-card{background:#070c16e0;border:1px solid #ffffff1a;border-radius:10px;width:min(420px,100% - 32px);padding:18px;box-shadow:0 18px 42px #00000052}.video-feed-placeholder-title{color:#ffffffeb;margin-bottom:8px;font-size:13px;font-weight:600}.video-feed-placeholder-copy{color:#ffffffb8;font-size:11px;line-height:1.5}.video-feed-placeholder-meta{font-size:10px;font-family:var(--font-data);color:#ffffff8f;text-transform:uppercase;letter-spacing:.08em;margin-top:10px}.video-feed-placeholder-grid{gap:8px;margin-top:14px;display:grid}.video-feed-placeholder-row{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:12px;display:grid}.video-feed-placeholder-label{font-size:10px;font-family:var(--font-data);color:#ffffff85;text-transform:uppercase;letter-spacing:.08em}.video-feed-placeholder-value{color:#ffffffdb;word-break:break-word;min-width:0;font-size:11px}.video-feed-placeholder-note{color:#ffffff94;border-top:1px solid #ffffff14;margin-top:14px;padding-top:12px;font-size:10px;line-height:1.5}.video-overlay-canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.video-feed-header{z-index:5;background:linear-gradient(#000000b3,#0000);justify-content:space-between;align-items:center;padding:6px 10px;display:flex;position:absolute;top:0;left:0;right:0}.video-feed-title{color:#fffc;font-size:10px;font-family:var(--font-data)}.video-feed-controls{z-index:5;background:linear-gradient(#0000,#000000b3);align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.stream-player-bar{z-index:6;align-items:center;gap:6px;display:flex;position:absolute;bottom:34px;right:10px}.stream-player-select{appearance:none;color:#fffffff2;font-size:10px;font-family:var(--font-data);cursor:pointer;background-color:#00000080;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;background-size:10px;border:1px solid #ffffff40;border-radius:3px;padding:4px 20px 4px 6px}.stream-player-select:hover{background-color:#000000a6;border-color:#fff6}.stream-player-select option{color:#fffffff2;background:#14141ef2;padding:4px 6px}.stream-player-select:focus{border-color:#3b82f699;outline:none}.stream-player-indicator{font-size:10px;font-family:var(--font-data);color:#ffffffb8;white-space:nowrap;align-items:center;gap:4px;display:flex}.stream-player-indicator[data-status=playing]{color:#22c55e}.stream-player-indicator[data-status=error]{color:#ef4444}.stream-player-spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stream-player-error{color:#ffffffe0;z-index:10;background:#000000e0;border:1px solid #ef444466;border-radius:6px;align-items:center;gap:8px;max-width:min(480px,100% - 24px);padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.stream-player-switch-btn{color:#93c5fdf2;font-size:10px;font-family:var(--font-data);cursor:pointer;background:#3b82f640;border:1px solid #3b82f680;border-radius:3px;flex-shrink:0;margin-left:4px;padding:3px 8px}.stream-player-switch-btn:hover{background:#3b82f666;border-color:#3b82f6b3}.map-container{background:#0a0a0a;width:100%;height:100%;position:relative}.map-container .mapboxgl-map,.map-container .maplibregl-map,.map-container .cesium-viewer,.map-container .cesium-widget{width:100%;height:100%}.map-controls-overlay{z-index:10;gap:4px;display:flex;position:absolute;top:8px;left:8px}.map-control-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121214e6;border-radius:2px;padding:4px 10px;font-size:10px;transition:background .1s,color .1s}.map-control-btn:hover{color:var(--text-primary);background:#1e1e22e6}.map-control-btn.active{border-color:var(--color-friend);color:var(--color-friend)}.map-bottom-left-controls{z-index:24;pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute;bottom:14px;left:14px}.map-compass-overlay{pointer-events:none}.map-compass-control{width:64px;height:64px;color:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;display:grid}.map-compass-control:focus-visible{outline-offset:2px;outline:2px solid #e2e8f0b3}.map-compass-control__svg{filter:drop-shadow(0 8px 18px #01060d80);width:64px;height:64px;overflow:visible}.map-compass-control__backdrop{fill:#08101be0}.map-compass-control__sheen{opacity:.45}.map-compass-control__ring{fill:none;stroke:#708596b8;stroke-width:1.7px}.map-compass-control__north{fill:#ff5347;font-family:var(--font-data);letter-spacing:.12em;text-anchor:middle;stroke:#490804b8;stroke-width:.55px;paint-order:stroke fill;font-size:10px;font-weight:700}.map-compass-control__indicator{transform-origin:36px 36px;transition:transform .18s}.map-compass-control__indicator-shell{fill:#0a11181f;stroke:#93a3b0c7;stroke-width:1.15px}.map-compass-control__indicator-top{fill:#ecf1f6f2}.map-compass-control__indicator-bottom{fill:#586774e0}.floating-map-controls{z-index:30;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;left:12px}.floating-map-control{pointer-events:auto;position:relative}.floating-map-trigger{width:96px;height:38px;color:var(--text-primary);font-family:var(--font-ui);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#1d222cf5,#141820f5);border:1px solid #ffffff14;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:10.5px;transition:border-color .14s,transform .14s,background .14s;display:flex;box-shadow:0 6px 18px #0003,inset 0 1px #ffffff08}.floating-map-trigger:hover{background:linear-gradient(#222732fa,#181d26fa);border-color:#ffffff29;transform:translateY(-1px)}.floating-map-trigger.icon-only{border-radius:8px;justify-content:center;width:40px;height:40px;padding:0}.floating-map-trigger.icon-only .floating-map-trigger-main{justify-content:center;align-items:center;gap:0;display:inline-flex}.floating-map-trigger.icon-only .floating-map-trigger-main span,.floating-map-trigger.icon-only .floating-map-trigger-chevron{display:none}.floating-map-trigger.icon-only{color:var(--text-muted);background:#0e1012e6;border:1px solid #ffffff0f;box-shadow:inset 0 1px #ffffff05,0 6px 14px #0000005c}.floating-map-trigger.icon-only svg{color:#9ca3af}.floating-map-trigger.icon-only:hover{background:#1c1e22f5;transform:translateY(-1px)}.floating-map-trigger.icon-only.is-active,.floating-map-control.is-open .floating-map-trigger.icon-only{background:linear-gradient(#0a1410f5,#12221cfa);border-color:#34d39938;box-shadow:0 8px 20px #00000047,0 0 0 1px #34d3990f}.floating-map-trigger.icon-only.is-active svg,.floating-map-control.is-open .floating-map-trigger.icon-only svg{color:#34d399;filter:drop-shadow(0 2px 6px #34d3991f)}.floating-map-trigger.is-active,.floating-map-control.is-open .floating-map-trigger{border-color:#3b82f66b;box-shadow:0 8px 20px #0000003d,0 0 0 1px #3b82f61f}.floating-map-trigger-main{align-items:center;gap:7px;min-width:0;display:inline-flex}.floating-map-trigger-main span{white-space:nowrap}.floating-map-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .14s,color .14s}.floating-map-trigger-chevron.is-open{color:var(--text-primary);transform:rotate(90deg)}.floating-map-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#060c10db,#0c121aeb);border:1px solid #14181e2e;border-radius:10px;width:252px;padding:10px;position:absolute;top:0;left:calc(100% + 10px);box-shadow:0 18px 42px #0000007a,inset 0 1px #ffffff05}.floating-map-panel-header{color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.floating-map-panel-hint{color:var(--text-muted);font-size:9px;font-weight:400}.floating-map-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.floating-map-tool-btn,.floating-map-option-btn{width:100%;height:36px;color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:6px 8px;font-size:10px;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;display:flex}.floating-map-tool-btn:hover,.floating-map-option-btn:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff24}.floating-map-tool-btn.is-active{border-color:color-mix(in srgb, var(--tool-accent) 70%, #ffffff1f);background:color-mix(in srgb, var(--tool-accent) 18%, #ffffff05);color:#fff}.floating-map-option-btn.is-active{color:#e6f0ff;background:linear-gradient(#0b121cf0,#121c28f5);border-color:#60a5fab8;box-shadow:0 10px 26px #3b82f61f,inset 0 0 20px #60a5fa0a}.floating-map-option-btn svg{color:var(--text-secondary)}.floating-map-option-btn.is-active svg{color:#93c5fd;filter:drop-shadow(0 2px 6px #3b82f61f)}.floating-map-style-card,.floating-map-coord-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:9px;margin-top:8px;padding:9px}.floating-map-style-header{color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:9.5px;font-weight:600;display:flex}.floating-map-style-preview{border-radius:999px;width:24px;height:6px}.floating-map-style-row{color:var(--text-secondary);grid-template-columns:44px 1fr;align-items:start;gap:8px;margin-bottom:7px;font-size:9.5px;display:grid}.floating-map-style-row:last-child{margin-bottom:0}.floating-map-style-input{align-items:center;gap:8px;display:flex}.floating-map-style-input-range{align-items:center}.floating-map-color-field{gap:10px;display:grid;position:relative}.floating-map-color-picker.react-colorful{background:0 0;width:100%;height:148px}.floating-map-color-picker .react-colorful__saturation{border-bottom:none;border-radius:10px 10px 0 0;box-shadow:inset 0 0 0 1px #ffffff0f}.floating-map-color-picker .react-colorful__hue{border-radius:999px;height:10px;margin-top:8px;box-shadow:inset 0 0 0 1px #ffffff14}.floating-map-color-picker .react-colorful__interactive{border-radius:inherit}.floating-map-color-picker .react-colorful__pointer{border-width:2px;width:14px;height:14px;box-shadow:0 2px 10px #00000059}.floating-map-color-meta{align-items:center;gap:8px;display:flex}.floating-map-color-trigger{cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;width:26px;height:26px;box-shadow:inset 0 0 0 1px #ffffff0f}.floating-map-color-popover{background:#050a10f2;border:1px solid #ffffff14;border-radius:10px;padding:10px;box-shadow:0 16px 30px #00000057}.floating-map-color-popover-labels{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;margin-bottom:8px;font-size:9px;display:flex}.floating-map-color-input{width:100%;height:30px;color:var(--text-primary);font-family:var(--font-data);background:#03080ed1;border:1px solid #ffffff14;border-radius:8px;outline:none;padding:0 10px;font-size:10.5px;box-shadow:inset 0 1px #ffffff08}.floating-map-color-input:focus{border-color:color-mix(in srgb, var(--color-friend) 55%, #ffffff2e);box-shadow:0 0 0 3px #3b82f61f}.floating-map-style-slider{appearance:none;background:linear-gradient(90deg, var(--slider-accent) 0%, var(--slider-accent) var(--slider-progress), #ffffff29 var(--slider-progress), #ffffff29 100%);border-radius:999px;outline:none;flex:1;width:100%;height:12px;box-shadow:inset 0 0 0 1px #ffffff14}.floating-map-style-slider::-webkit-slider-thumb{appearance:none;background:var(--slider-accent);cursor:pointer;border:2px solid #ffffffeb;border-radius:50%;width:18px;height:18px;box-shadow:0 3px 12px #00000052}.floating-map-style-slider::-moz-range-thumb{background:var(--slider-accent);cursor:pointer;border:2px solid #ffffffeb;border-radius:50%;width:18px;height:18px;box-shadow:0 3px 12px #00000052}.floating-map-style-slider::-moz-range-track{background:0 0;border-radius:999px;height:12px}.floating-map-style-input code,.floating-map-coord-card code{font-family:var(--font-data);color:var(--text-primary);font-size:9.5px}.floating-map-style-value{text-align:right;color:#f8fbff;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:9.5px;display:inline-flex}.floating-map-inline-actions{gap:6px;margin-top:7px;display:flex}.floating-map-inline-btn,.floating-map-danger-btn{font-family:var(--font-ui);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:9.5px;display:inline-flex}.floating-map-inline-btn{color:#fde68a;background:#facc151a;border:1px solid #facc1540;padding:5px 9px}.floating-map-inline-btn.is-muted{color:var(--text-secondary);background:#ffffff08;border-color:#ffffff14}.floating-map-danger-btn{color:#fca5a5;background:#ef44441f;border:1px solid #ef444442;width:100%;margin-top:8px;padding:8px 10px}.floating-map-scene-panel{flex-direction:column;gap:5px;width:70px;padding:6px;display:flex}.floating-terrain-panels{z-index:29;pointer-events:none;flex-direction:row;align-items:flex-start;gap:8px;display:flex;position:absolute;top:108px;left:18px}.floating-terrain-dock{pointer-events:auto;flex-direction:column;gap:8px;display:flex}.floating-terrain-dock__item{position:relative}.floating-terrain-dock__btn{color:#d8e2f0;cursor:pointer;pointer-events:auto;background:#0d1219f0;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative;box-shadow:0 10px 24px #00000047}.floating-terrain-dock__btn img{width:17px;height:17px;display:block}.floating-terrain-dock__btn.is-on{color:#cfe3ff;border-color:#7ab6ff3d}.floating-terrain-dock__btn.is-active{color:#f7a84a;background:linear-gradient(#1f1a15fa,#16120efa);border-color:#f7a84a57}.floating-terrain-dock__dismiss{color:#fff;cursor:pointer;background:#c42b33;border:none;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:inline-flex;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 8px #0000004d}.floating-terrain-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:270px;color:var(--text-primary);font-family:var(--font-ui);pointer-events:auto;background:linear-gradient(#1d181af5,#131114fa);border:1px solid #ffffff14;border-radius:8px;padding:10px;box-shadow:0 16px 38px #0000006b}.floating-terrain-panel--compact{width:236px}.floating-terrain-panel__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.floating-terrain-panel__title{font-size:11px;font-weight:700}.floating-terrain-panel__close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.floating-terrain-panel__close:hover{color:var(--text-primary)}.floating-terrain-panel__field{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:10px;font-size:10px;display:flex}.floating-terrain-panel__field select{width:100%;min-height:32px;color:var(--text-primary);font-family:var(--font-ui);background:#070a0fe0;border:1px solid #ffffff14;border-radius:6px;outline:none;padding:0 10px;font-size:11px}.floating-terrain-panel__table{border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;margin-bottom:10px;display:flex;overflow:hidden}.floating-terrain-panel__row,.floating-terrain-panel__empty{background:#ffffff08;border-bottom:1px solid #ffffff0d;grid-template-columns:56px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:10px;display:grid}.floating-terrain-panel__row:last-child,.floating-terrain-panel__empty:last-child{border-bottom:none}.floating-terrain-panel__row span:nth-child(2){color:#f7a84a}.floating-terrain-panel__row span:nth-child(3){color:#f8fafc;justify-self:end}.floating-terrain-panel__empty{color:var(--text-muted);grid-template-columns:1fr}.map-popup--hover{font-family:var(--font-ui,system-ui, sans-serif)!important;color:#e8e8ec!important}.map-bottom-left-row{pointer-events:none;flex-direction:row;align-items:flex-end;gap:8px;display:flex}.map-bottom-left-row>*{pointer-events:auto}.map-bottom-left-info-row{pointer-events:none;flex-direction:row;align-items:center;gap:8px;display:flex}.map-bottom-left-info-row>*{pointer-events:auto}.effis-legend-panel{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0ee0;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:4px;min-width:180px;max-height:260px;padding:6px;display:flex}.effis-legend-toolbar{gap:4px;margin-bottom:4px;display:flex}.effis-legend-zoom-btn{color:#ccc;cursor:pointer;background:#1e1e24e6;border:1px solid #ffffff26;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:14px;font-weight:700;line-height:1;display:flex}.effis-legend-zoom-btn:hover{color:#fff;background:#32323ce6}.effis-legend-scroll{scrollbar-width:thin;scrollbar-color:#fff3 transparent;max-height:210px;overflow:hidden auto}.effis-legend-scroll::-webkit-scrollbar{width:5px}.effis-legend-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.effis-legend-item{border-bottom:1px solid #ffffff0f;padding:4px}.effis-legend-item:last-child{border-bottom:none}.effis-legend-label{font-family:var(--font-ui,monospace);color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:9px;display:block}.effis-legend-img{max-width:200px;height:auto;display:block}.wind-hover-info{font-family:var(--font-data,monospace);color:#7ec8e3;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ed1;border:1px solid #7ec8e340;border-radius:4px;padding:2px 8px;font-size:10px}.wind-hover-icon{font-size:12px;line-height:1}.floating-terrain-panel__total{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:11px;display:flex}.floating-terrain-panel__total strong{color:#58b9ff;font-size:12px}.floating-terrain-panel__status{color:#7ee787;margin-bottom:10px;font-size:10px}.floating-terrain-panel__actions{gap:8px;display:flex}.floating-terrain-panel__primary,.floating-terrain-panel__danger{color:#fff;min-height:34px;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:6px;flex:1;font-size:11px}.floating-terrain-panel__primary{background:#3493ff}.floating-terrain-panel__danger{background:#d3313a}.terrain-measurement-point{cursor:grab;background:#f6f7fb;border:none;border-radius:999px;width:26px;height:26px;padding:0;position:relative;box-shadow:0 4px 16px #00000052}.terrain-measurement-point__dot{background:#a61f24;border:2px solid #fff;border-radius:999px;position:absolute;inset:5px}.terrain-measurement-point__index{color:#fff;text-shadow:0 2px 6px #000000e6;min-width:12px;font-size:10px;font-weight:700;position:absolute;bottom:-10px;right:-6px}.terrain-measurement-label{color:#f7a84a;font-family:var(--font-data);white-space:nowrap;background:#14181fe0;border:1px solid #f7a84a38;border-radius:4px;padding:3px 7px;font-size:10px;box-shadow:0 4px 12px #0000003d}.map-provider-selector{z-index:10;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121214e6;border-radius:2px;gap:2px;padding:2px;display:flex;position:absolute;bottom:8px;left:8px}.provider-btn{font-family:var(--font-ui);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:1px;padding:3px 8px;font-size:10px}.provider-btn.active{background:var(--color-friend);color:#fff}.mini-map-container{border-bottom:1px solid var(--border-subtle);width:100%;height:160px;position:relative;overflow:hidden}.mini-map-container .mapboxgl-map,.mini-map-container .maplibregl-map,.mini-map-container .cesium-viewer,.mini-map-container .cesium-widget{width:100%;height:100%}.entity-marker{cursor:pointer;z-index:10!important;pointer-events:all!important}.entity-marker-inner{transform-origin:50%;will-change:transform, opacity;transition:transform .15s,opacity .2s;position:relative}.entity-marker-inner.is-firefighter-marker{justify-content:center;align-items:center;display:flex}.entity-marker-inner svg{pointer-events:none;display:block;overflow:visible}.entity-marker:hover{filter:brightness(1.3);z-index:20!important}.entity-marker.selected{filter:drop-shadow(0 0 8px var(--color-friend));z-index:20!important}.entity-marker.has-sos{z-index:24!important}.entity-marker.has-sos .entity-marker-inner{filter:drop-shadow(0 0 12px #f871717a)}.entity-marker.has-sos .entity-marker-firefighter-ring{animation:1.8s ease-out infinite entity-sos-pulse;box-shadow:0 0 0 2px #7f1d1d2e}.entity-marker.is-stale .entity-marker-inner{opacity:.62;filter:saturate(.35)brightness(.88)}.entity-marker-firefighter-ring{background:var(--live-unit-marker-color,#16a34a);pointer-events:none;border:2px solid #0f172ad1;border-radius:999px;position:absolute;inset:0;box-shadow:0 8px 18px #0f172a4d}.entity-marker-firefighter-icon{z-index:1;-o-object-fit:contain;object-fit:contain;pointer-events:none;border-radius:999px;width:calc(100% - 10px);height:calc(100% - 10px);display:block;position:relative}.entity-label{font-size:9px;font-family:var(--font-data);color:var(--text-primary);white-space:nowrap;text-shadow:0 0 4px #000,0 0 8px #000;pointer-events:none;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.entity-sos-ring{pointer-events:none;background:radial-gradient(circle,#f8717114 0%,#f8717100 70%);border:2px solid #f87171e0;border-radius:999px;animation:1.8s ease-out infinite entity-sos-pulse;position:absolute;inset:-6px;box-shadow:0 0 0 1px #7f1d1d33}.entity-sos-badge{color:#fee2e2;min-width:24px;font-family:var(--font-data);letter-spacing:.08em;text-align:center;text-transform:uppercase;pointer-events:none;background:linear-gradient(#991b1bf5,#7f1d1df5);border:1px solid #fecaca66;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:700;position:absolute;top:-10px;right:-16px;box-shadow:0 8px 18px #450a0a73}.entity-stale-badge{color:#fef3c7;min-width:32px;font-family:var(--font-data);letter-spacing:.08em;text-align:center;text-transform:uppercase;pointer-events:none;background:linear-gradient(#78350ff5,#92400ef5);border:1px solid #fde68a59;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:700;position:absolute;top:-10px;right:-18px;box-shadow:0 8px 18px #78350f47}@keyframes entity-sos-pulse{0%{opacity:.95;transform:scale(.96)}70%{opacity:.2;transform:scale(1.12)}to{opacity:0;transform:scale(1.12)}}.sensor-fov-polygon{fill:#3b82f61a;stroke:#3b82f680;stroke-width:1.5px}.annotation-ctx-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:180px;font-family:var(--font-ui);color:var(--text-primary);z-index:1200;background:linear-gradient(#0c1016f5,#080c12fa);border:1px solid #ffffff1a;border-radius:10px;padding:5px;font-size:11px;box-shadow:0 16px 48px #00000080}.annotation-ctx-item{cursor:pointer;color:var(--text-secondary);border-radius:6px;outline:none;align-items:center;gap:8px;padding:7px 10px;display:flex}.annotation-ctx-item:hover,.annotation-ctx-item[data-highlighted]{color:var(--text-primary);background:#ffffff0f}.annotation-ctx-item.is-danger{color:#f87171}.annotation-ctx-item.is-danger:hover{background:#ef44441f}.annotation-ctx-section-header{padding:7px 10px 5px}.annotation-ctx-label{color:#f87171;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.annotation-ctx-caption{color:#facc15;margin-top:3px;font-size:10px}.annotation-ctx-separator{background:#ffffff14;height:1px;margin:4px 6px}.annotation-ctx-submenu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1201;background:#080c12fa;border:1px solid #ffffff14;border-radius:8px;min-width:140px;padding:4px}.annotation-ctx-check{justify-content:center;align-items:center;width:14px;display:flex}.ai-bbox{stroke-width:2px;fill:none}.ai-bbox.vehicle{stroke:#3b82f6}.ai-bbox.person{stroke:#ef4444}.ai-bbox.target{stroke:#ef4444;stroke-width:2.5px}.ai-bbox-label{font-size:9px;font-family:var(--font-data);fill:#fff}.classification-banner{background:var(--color-friend);color:#fff;text-align:center;letter-spacing:.15em;font-size:9px;font-weight:700;font-family:var(--font-ui);padding:1px 0}.map-tooltip{border:1px solid var(--border-medium);color:var(--text-primary);pointer-events:none;z-index:50;background:#121214f2;border-radius:2px;padding:6px 10px;font-size:11px;position:absolute}.map-container .cesium-viewer,.map-container .cesium-widget,.mini-map-container .cesium-viewer,.mini-map-container .cesium-widget{width:100%;height:100%}.cesium-viewer-toolbar,.cesium-viewer-animationContainer,.cesium-viewer-timelineContainer,.cesium-viewer-bottom{display:none!important}@media (width<=640px){.floating-terrain-panels{flex-direction:column;top:62px;left:12px;right:12px}.floating-terrain-panel,.floating-terrain-panel--compact{width:auto}}.xweather-legend{z-index:30;pointer-events:none;flex-direction:row;gap:6px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.xweather-legend__item{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#0c0b0ee6;border:1px solid #ffffff1a;border-radius:6px;width:180px;padding:5px 8px 4px;box-shadow:0 4px 16px #0006}.xweather-legend__label{color:#ffffffd1;font-size:9px;font-weight:600;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.xweather-legend__bar{border-radius:3px;width:100%;height:6px}.xweather-legend__range{color:#ffffff7a;font-size:8px;font-family:var(--font-ui);justify-content:space-between;margin-top:2px;display:flex}.xweather-legend__controls{pointer-events:auto;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.xweather-legend__controls button{color:#fff;cursor:pointer;font-family:var(--font-ui);background:#00000073;border:1px solid #ffffff59;border-radius:3px;padding:2px 8px;font-size:11px;line-height:1.4}.xweather-legend__controls button:hover{background:#000000a6}.xweather-legend__frame-counter{font-variant-numeric:tabular-nums;color:#ddd;font-family:var(--font-ui);font-size:10px}.xweather-hover-info{font-family:var(--font-data,monospace);color:#e8b44a;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ed1;border:1px solid #e8b44a40;border-radius:4px;padding:2px 8px;font-size:10px}.xweather-hover-info__wx{color:#e8b44ab3;margin-left:4px}.platform-map-ctrl-btn{color:#9ca3af;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1219eb;border:1px solid #ffffff14;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .13s,border-color .13s,color .13s,transform .13s;display:inline-flex;box-shadow:0 4px 12px #00000052}.platform-map-ctrl-btn:hover{color:#e2e8f0;background:#1c222cf5;border-color:#ffffff29;transform:translateY(-1px)}.platform-map-ctrl-btn--active{color:#34d399;background:linear-gradient(#0a1612f5,#12241efa);border-color:#34d39959;box-shadow:0 4px 14px #00000047,0 0 0 1px #34d39914}.platform-map-ctrl-btn--active:hover{color:#6ee7b7;border-color:#34d3998c}.platform-map-ctrl-btn--disabled,.platform-map-ctrl-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.floating-minimap{width:100%;height:100%;position:relative;overflow:hidden}.floating-minimap--docked{border-radius:0}.floating-minimap--floating{background:#0a0a0a;border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 8px 32px #0000008c,0 0 0 1px #0003}.floating-minimap__drag-handle{cursor:grab;z-index:5;height:18px;position:absolute;top:0;left:0;right:0}.floating-minimap__drag-handle:active{cursor:grabbing}.floating-minimap__map{width:100%;height:100%}.floating-minimap--floating .floating-minimap__map{border-radius:10px;overflow:hidden}.minimap-controls{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.minimap-controls__group{pointer-events:auto;gap:3px;display:flex}.minimap-controls .platform-map-ctrl-btn{border-radius:6px;width:26px;height:26px}.floating-minimap__compass{z-index:10;pointer-events:auto;position:absolute;bottom:36px;right:4px}.floating-minimap__compass .map-compass-control,.floating-minimap__compass .map-compass-control__svg{width:40px;height:40px}.satellite-legend-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:200px;max-width:240px;max-height:360px;font-family:var(--font-ui);color:var(--text-primary);pointer-events:auto;background:#0a0a0ee0;border:1px solid #ffffff1f;border-radius:6px;padding:8px;transition:max-height .15s ease-out;position:relative;overflow:hidden}.satellite-legend-panel[data-collapsed=true]{max-height:28px}.satellite-legend-panel__header{align-items:center;gap:8px;height:24px;display:flex}.satellite-legend-panel__title{letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.satellite-legend-panel__count-badge{color:#93c5fd;background:#3b82f624;border-radius:999px;height:16px;padding:0 6px;font-size:10px;font-weight:400;line-height:16px}.satellite-legend-panel__toggle{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.satellite-legend-panel__body{flex-direction:column;gap:12px;max-height:332px;padding-top:8px;display:flex;overflow-y:auto}.satellite-legend-panel__section{flex-direction:column;gap:4px;display:flex}.satellite-legend-panel__section-label-row{justify-content:space-between;align-items:center;height:16px;display:flex}.satellite-legend-panel__section-label{letter-spacing:.04em;color:var(--text-secondary);text-transform:uppercase;font-size:10px}.satellite-legend-panel__range-value{font-family:var(--font-data);color:var(--text-data);font-size:10px}.satellite-legend-panel__band-row{cursor:pointer;height:24px;color:var(--text-secondary);text-align:left;background:0 0;border:0;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:0 4px;display:grid}.satellite-legend-panel__band-row[data-active=false]{color:var(--text-muted)}.satellite-legend-panel__swatch{border-radius:2px;width:12px;height:12px}.satellite-legend-panel__band-label{letter-spacing:.04em;text-transform:uppercase;font-size:10px}.satellite-legend-panel__band-count{color:#93c5fd;background:#3b82f624;border-radius:999px;height:16px;padding:0 6px;font-size:10px;line-height:16px}.satellite-legend-panel__preset-row{gap:4px;display:flex}.satellite-legend-panel__preset-pill{height:24px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:0 8px;font-size:10px}.satellite-legend-panel__preset-pill[data-active=true]{color:#93c5fd;background:#3b82f62e;border-color:#3b82f680}.satellite-legend-panel__range{flex-direction:column;gap:4px;display:flex}.satellite-legend-panel__range input[type=range]{accent-color:#3b82f6;width:100%;height:4px}.satellite-legend-panel__search-wrap{position:relative}.satellite-legend-panel__search{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;height:28px;color:var(--text-primary);box-sizing:border-box;border-radius:4px;padding:0 24px 0 8px;font-size:11px}.satellite-legend-panel__search::placeholder{color:var(--text-muted)}.satellite-legend-panel__search:focus{border-color:var(--border-active);outline:none}.satellite-legend-panel__search-clear{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.satellite-legend-panel__empty{color:var(--text-muted);font-size:11px}.satellite-legend-panel__category-trigger{text-align:left;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;height:24px;padding:0;font-size:10px}.satellite-legend-panel__category-panel{background:var(--bg-panel);border:1px solid var(--border-medium);border-radius:6px;max-height:180px;margin-top:4px;padding:4px 0;overflow-y:auto}.satellite-legend-panel__category-row{width:100%;height:24px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-size:10px;display:flex}.satellite-legend-panel__category-check{width:12px;height:12px;color:var(--color-friend);justify-content:center;align-items:center;display:inline-flex}.satellite-legend-panel__category-name{color:var(--text-secondary);font-size:10px}.weather-panel{background:var(--bg-panel);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);z-index:20;flex-direction:column;max-height:520px;margin-bottom:1px;display:flex;position:absolute;bottom:100%;left:0;right:0;box-shadow:0 -4px 12px #0000004d}.weather-panel-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel-header);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.weather-panel-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.weather-panel-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.weather-panel-close:hover{color:var(--text-primary);background:#ffffff1a}.weather-location{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);background:#0003;align-items:center;gap:6px;padding:8px 12px;font-size:10px;display:flex}.weather-location-name{color:var(--text-primary);font-weight:500}.weather-coords{font-family:var(--font-data,monospace);opacity:.7;margin-left:auto}.weather-hero{text-align:center;border-bottom:1px solid var(--border-subtle);background:linear-gradient(#3b82f61a 0%,#0000 100%);padding:16px 12px}.weather-main{justify-content:center;align-items:center;gap:12px;display:flex}.weather-hero-icon{color:var(--color-friend,#3b82f6);filter:drop-shadow(0 2px 4px #3b82f64d)}.weather-temp{flex-direction:column;align-items:flex-start;display:flex}.weather-temp .temperature{color:var(--text-primary);font-size:36px;font-weight:300;line-height:1;font-family:var(--font-data,monospace)}.weather-temp .condition{color:var(--text-secondary);text-transform:capitalize;font-size:12px}.weather-feels-like{color:var(--text-muted);justify-content:center;align-items:center;gap:4px;margin-top:6px;font-size:10px;display:flex}.weather-tabs{background:var(--bg-panel-header);border-bottom:1px solid var(--border-subtle);gap:2px;padding:6px 6px 0;display:flex}.weather-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:10px;font-weight:500;transition:all .15s;display:flex}.weather-tabs button:hover{color:var(--text-secondary);background:#ffffff08}.weather-tabs button.active{color:var(--text-primary);background:var(--bg-panel);box-shadow:0 -1px 2px #0000001a}.weather-details{flex:1;padding:12px;overflow-y:auto}.weather-metrics-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.weather-metric{background:var(--bg-panel-header);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.weather-metric:hover{border-color:var(--border-medium)}.weather-metric svg{color:var(--color-friend,#3b82f6);opacity:.8;flex-shrink:0}.metric-info{flex-direction:column;flex:1;min-width:0;display:flex}.metric-value{color:var(--text-primary);font-size:13px;font-weight:500;font-family:var(--font-data,monospace)}.metric-label{text-transform:uppercase;letter-spacing:.03em;opacity:.8;font-size:9px}.wind-direction{color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;font-size:9px;display:flex}.wind-direction svg{color:var(--text-muted);opacity:.6}.weather-sun-times{background:var(--bg-panel-header);border:1px solid var(--border-subtle);border-radius:6px;justify-content:center;align-items:center;gap:16px;margin-top:12px;padding:12px;display:flex}.sun-time{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.sun-time svg{color:#f59e0b;opacity:.9}.sun-time div{flex-direction:column;display:flex}.sun-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;font-size:9px}.sun-value{color:var(--text-primary);font-size:12px;font-weight:500;font-family:var(--font-data,monospace)}.sun-divider{background:var(--border-subtle);width:1px;height:24px}.weather-hourly{flex:1;max-height:280px;overflow-y:auto}.hourly-list{flex-direction:column;display:flex}.hourly-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:8px 12px;font-size:11px;transition:background .1s;display:flex}.hourly-item:hover{background:#ffffff08}.hour-time{width:50px;color:var(--text-muted);font-family:var(--font-data,monospace)}.hour-temp{width:40px;color:var(--text-primary);font-weight:500;font-family:var(--font-data,monospace)}.hour-wind,.hour-precip{color:var(--text-secondary);align-items:center;gap:4px;margin-left:auto;font-size:10px;display:flex}.hour-precip{color:#3b82f6;width:50px}.weather-daily{flex:1;max-height:280px;overflow-y:auto}.daily-list{flex-direction:column;display:flex}.daily-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:10px 12px;font-size:11px;transition:background .1s;display:flex}.daily-item:hover{background:#ffffff08}.day-name{width:80px;color:var(--text-primary);font-weight:500}.day-icon-temp{flex:1;align-items:center;gap:10px;display:flex}.day-temps{flex-direction:column;gap:2px;display:flex}.day-max{color:var(--text-primary);font-weight:500;font-family:var(--font-data,monospace)}.day-min{color:var(--text-muted);font-family:var(--font-data,monospace)}.day-details{align-items:center;gap:8px;margin-left:auto;display:flex}.day-precip{color:#3b82f6;align-items:center;gap:4px;font-size:10px;display:flex}.weather-panel-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;font-size:11px;display:flex}.weather-spinner{border:2px solid var(--border-subtle);border-top-color:var(--color-friend,#3b82f6);border-radius:50%;width:24px;height:24px;animation:1s linear infinite weather-spin}@keyframes weather-spin{to{transform:rotate(360deg)}}.weather-panel-error{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px 20px;font-size:11px;display:flex}.weather-panel-error button{background:var(--color-friend,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:6px 16px;font-size:10px;transition:opacity .15s}.weather-panel-error button:hover{opacity:.9}.weather-footer{color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--bg-panel-header);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:9px;display:flex}.weather-refresh{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:9px;transition:all .15s;display:flex}.weather-refresh:hover{border-color:var(--border-medium);color:var(--text-primary);background:#ffffff0d}.weather-hourly::-webkit-scrollbar{width:6px}.weather-daily::-webkit-scrollbar{width:6px}.weather-details::-webkit-scrollbar{width:6px}.weather-hourly::-webkit-scrollbar-track{background:0 0}.weather-daily::-webkit-scrollbar-track{background:0 0}.weather-details::-webkit-scrollbar-track{background:0 0}.weather-hourly::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.weather-daily::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.weather-details::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.weather-hourly::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}.weather-daily::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}.weather-details::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}.map-style-selector{background:var(--bg-panel-header);border-top:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;position:relative}.map-style-bar{height:36px;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 8px;font-size:11px;display:flex}.bar-section{cursor:pointer;border-radius:4px;align-items:center;gap:8px;height:28px;padding:6px 8px;transition:background .1s,color .1s;display:flex}.weather-section{cursor:pointer}.weather-section.active{color:var(--text-primary);background:#ffffff1a}.style-section{flex:1;justify-content:center;margin:0 4px}.bar-divider{background:var(--border-subtle);width:1px;height:16px}.mini-preview{border:1px solid var(--border-medium);border-radius:2px;flex-shrink:0;width:16px;height:12px;overflow:hidden}.mini-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.style-name{color:var(--text-primary);font-weight:500}.chevron{color:var(--text-muted);transition:transform .2s}.chevron.open{transform:rotate(180deg)}.map-style-modal{background:var(--bg-panel);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);z-index:20;margin-bottom:1px;padding:12px;position:absolute;bottom:100%;left:0;right:0;box-shadow:0 -4px 12px #0000004d}.map-style-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.map-style-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:10px;font-weight:700}.provider-switch{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:4px;padding:2px;display:flex}.provider-switch button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:3px 10px;font-size:10px;font-weight:500;transition:color .1s,background .1s}.provider-switch button.active{background:var(--bg-panel);color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.style-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.style-option{cursor:pointer;flex-direction:column;gap:6px;display:flex}.style-preview{border:1px solid var(--border-subtle);border-radius:4px;height:48px;transition:border-color .1s;position:relative;overflow:hidden}.style-preview img{-o-object-fit:cover;object-fit:cover;filter:brightness(1.15)contrast(1.05);width:100%;height:100%;display:block}.style-option:hover .style-preview{border-color:var(--text-secondary)}.style-option.active .style-preview{border-color:var(--color-friend);box-shadow:0 0 0 1px var(--color-friend)}.style-check{background:var(--color-friend);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0003}.style-label{color:var(--text-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.style-option.active .style-label{color:var(--color-friend);font-weight:500}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:240 6% 4%;--foreground:240 5% 90%;--card:240 6% 7%;--card-foreground:240 5% 90%;--popover:240 6% 7%;--popover-foreground:240 5% 90%;--primary:217 91% 60%;--primary-foreground:0 0% 100%;--secondary:240 4% 16%;--secondary-foreground:240 5% 90%;--muted:240 4% 16%;--muted-foreground:240 5% 65%;--accent:240 4% 16%;--accent-foreground:240 5% 90%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--border:240 4% 16%;--input:240 4% 16%;--ring:217 91% 60%;--chart-1:217 91% 60%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--radius:.25rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}[data-debug-wrapper=true]{display:contents!important}[data-debug-wrapper=true]>*{margin-left:inherit;margin-right:inherit;margin-top:inherit;margin-bottom:inherit;padding-left:inherit;padding-right:inherit;padding-top:inherit;padding-bottom:inherit}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-bottom-8{bottom:-2rem}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.-top-5{top:-1.25rem}.bottom-2{bottom:.5rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-8{left:2rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.top-8{top:2rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.\!h-2{height:.5rem!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[200px\]{height:200px}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-12{max-height:3rem}.max-h-\[65vh\]{max-height:65vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.\!w-2{width:.5rem!important}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[480px\]{width:480px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[18px\]{min-width:18px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-\[60px\]{max-width:60px}.max-w-\[80px\]{max-width:80px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0{row-gap:0}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-4{row-gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.\!rounded-lg{border-radius:var(--radius)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.\!border{border-width:1px!important}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-white\/20{border-color:#fff3!important}.border-\[\#C9A000\]{--tw-border-opacity:1;border-color:rgb(201 160 0/var(--tw-border-opacity,1))}.border-\[\#C9A000\]\/50{border-color:#c9a00080}.border-amber-400\/20{border-color:#fbbf2433}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/40{border-color:#f59e0b66}.border-blue-400\/20{border-color:#60a5fa33}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-cyan-400\/20{border-color:#22d3ee33}.border-cyan-400\/40{border-color:#22d3ee66}.border-destructive{border-color:hsl(var(--destructive))}.border-emerald-500\/20{border-color:#10b98133}.border-green-400\/20{border-color:#4ade8033}.border-green-500\/40{border-color:#22c55e66}.border-orange-400\/20{border-color:#fb923c33}.border-purple-400\/20{border-color:#c084fc33}.border-red-400\/20{border-color:#f8717133}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-red-800\/50{border-color:#991b1b80}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity,1))}.border-zinc-400\/20{border-color:#a1a1aa33}.border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.border-zinc-500\/20{border-color:#71717a33}.border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.\!bg-zinc-500{--tw-bg-opacity:1!important;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))!important}.bg-\[\#0a0a0e\]{--tw-bg-opacity:1;background-color:rgb(10 10 14/var(--tw-bg-opacity,1))}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\[\#18181b\]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-\[\#1a1a2e\]{--tw-bg-opacity:1;background-color:rgb(26 26 46/var(--tw-bg-opacity,1))}.bg-\[\#C9A000\]{--tw-bg-opacity:1;background-color:rgb(201 160 0/var(--tw-bg-opacity,1))}.bg-\[\#C9A000\]\/10{background-color:#c9a0001a}.bg-\[\#C9A000\]\/5{background-color:#c9a0000d}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-700\/90{background-color:#b45309e6}.bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-blue-400\/10{background-color:#60a5fa1a}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--card))}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-400\/5{background-color:#22d3ee0d}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-green-400\/10{background-color:#4ade801a}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/20{background-color:#22c55e33}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-400\/10{background-color:#fb923c1a}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/50{background-color:hsl(var(--primary) / .5)}.bg-purple-400\/10{background-color:#c084fc1a}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-400\/10{background-color:#f871711a}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/80{background-color:#ef4444cc}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700\/90{background-color:#b91c1ce6}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-red-950\/40{background-color:#450a0a66}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity,1))}.bg-zinc-400\/10{background-color:#a1a1aa1a}.bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.bg-zinc-500\/10{background-color:#71717a1a}.bg-zinc-500\/15{background-color:#71717a26}.bg-zinc-700\/90{background-color:#3f3f46e6}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-900\/50{background-color:#18181b80}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-black{--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from:#000c var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #0003 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.to-black\/60{--tw-gradient-to:#0009 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-9{padding-left:2.25rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#C9A000\]{--tw-text-opacity:1;color:rgb(201 160 0/var(--tw-text-opacity,1))}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/20{color:#fff3}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.placeholder-zinc-600::placeholder{--tw-placeholder-opacity:1;color:rgb(82 82 91/var(--tw-placeholder-opacity,1))}.accent-amber-500{accent-color:#f59e0b}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.mix-blend-screen{mix-blend-mode:screen}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_10px_\#C9A000\]{--tw-shadow:0 0 10px #c9a000;--tw-shadow-colored:0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(201\,160\,0\,0\.3\)\]{--tw-shadow:0 0 15px #c9a0004d;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-black{--tw-shadow-color:#000;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-primary{--tw-ring-color:hsl(var(--primary))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px #0000000d);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in{--tw-enter-opacity:0}.slide-in-from-bottom-4{--tw-enter-translate-y:1rem}.duration-300{animation-duration:.3s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.paused{animation-play-state:paused}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e4e4e7;background:#09090b;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif}code{font-family:JetBrains Mono,monospace}.react-flow.dark .react-flow__controls{background:#111116;border:1px solid #ffffff1a;box-shadow:0 4px 24px #00000073}.react-flow.dark .react-flow__controls-button{fill:#d4d4d8;color:#d4d4d8;background:#111116;border-bottom:1px solid #ffffff14}.react-flow.dark .react-flow__controls-button:hover{fill:#fafafa;color:#fafafa;background:#ffffff14}.react-flow.dark .react-flow__controls-button:disabled{opacity:.35;pointer-events:none}.react-flow.dark .react-flow__controls-button:last-child{border-bottom:none}.react-flow__node-orgChartGroup{box-shadow:none;background:0 0;border:none;padding:0}.selection\:bg-primary\/30 ::selection{background-color:hsl(var(--primary) / .3)}.selection\:bg-primary\/30::selection{background-color:hsl(var(--primary) / .3)}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::file-selector-button{border-radius:calc(var(--radius) - 2px)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-white\/10::file-selector-button{background-color:#ffffff1a}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-zinc-100::file-selector-button{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.placeholder\:text-white\/30::placeholder{color:#ffffff4d}.placeholder\:text-zinc-600::placeholder{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.hover\:border-\[\#C9A000\]\/20:hover{border-color:#c9a00033}.hover\:border-\[\#C9A000\]\/30:hover{border-color:#c9a0004d}.hover\:border-\[\#C9A000\]\/50:hover{border-color:#c9a00080}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-yellow-500\/50:hover{border-color:#eab30880}.hover\:bg-\[\#C9A000\]\/20:hover{background-color:#c9a00033}.hover\:bg-\[\#C9A000\]\/5:hover{background-color:#c9a0000d}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-primary\/50:hover{background-color:hsl(var(--primary) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-400\/10:hover{background-color:#f871711a}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:text-\[\#C9A000\]:hover{--tw-text-opacity:1;color:rgb(201 160 0/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-200:hover{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.hover\:text-zinc-300:hover{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_25px_rgba\(201\,160\,0\,0\.5\)\]:hover{--tw-shadow:0 0 25px #c9a00080;--tw-shadow-colored:0 0 25px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-black\/20:hover{--tw-shadow-color:#0003;--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-black\/30:hover{--tw-shadow-color:#0000004d;--tw-shadow:var(--tw-shadow-colored)}.hover\:file\:bg-white\/20::file-selector-button:hover{background-color:#fff3}.focus\:border-\[\#C9A000\]:focus{--tw-border-opacity:1;border-color:rgb(201 160 0/var(--tw-border-opacity,1))}.focus\:border-\[\#C9A000\]\/50:focus{border-color:#c9a00080}.focus\:border-amber-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#C9A000\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 160 0/var(--tw-ring-opacity,1))}.focus\:ring-\[\#C9A000\]\/50:focus{--tw-ring-color:#c9a00080}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:shadow-lg:active{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.active\:shadow-\[\#C9A000\]\/10:active{--tw-shadow-color:#c9a0001a;--tw-shadow:var(--tw-shadow-colored)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.group\/gnode:hover .group-hover\/gnode\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media (width>=1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-left{text-align:left}}@media (width>=1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}
