.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:rgba(0,0,0,.1);margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:manipulation;touch-action:manipulation;user-select:none;z-index:100}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center;z-index:101}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.grid-stack-item.ui-draggable-armed{cursor:move;animation:gs-armed-wiggle .25s ease-in-out infinite}.grid-stack-item>.ui-resizable-handle.ui-resizable-armed{animation:gs-armed-pulse .5s ease-in-out infinite}@keyframes gs-armed-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}@keyframes gs-armed-pulse{0%,100%{opacity:1}50%{opacity:.3}}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.gs-print-show{display:none}@media print{@page gs-landscape{size:landscape}@page gs-portrait{size:portrait}.grid-stack{display:block!important;height:auto!important;position:static!important}.grid-stack>.grid-stack-item{display:block!important;float:left!important;position:static!important;height:auto!important;left:auto!important;top:auto!important;width:calc(100% * var(--gs-w)/ var(--gs-columns,12))!important;break-inside:avoid!important;page-break-inside:avoid!important}.grid-stack>.grid-stack-item>.grid-stack-item-content{position:relative!important;height:auto!important;overflow:visible!important;white-space:normal!important;margin-top:var(--gs-item-margin-top)!important;margin-right:var(--gs-item-margin-right)!important;margin-bottom:var(--gs-item-margin-bottom)!important;margin-left:var(--gs-item-margin-left)!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important}.gs-print-hide{display:none}.gs-print-show{display:block}.gs-print-avoid-break-after{break-after:avoid!important;page-break-after:avoid!important}.grid-stack>.grid-stack-item.gs-print-hide{display:none!important}.grid-stack>.grid-stack-item[gs-page-break=true],.grid-stack>.grid-stack-item[gs-print-orientation]{float:none!important;clear:both!important}.grid-stack>.grid-stack-item[gs-page-break=true]{page-break-before:always!important;break-before:page!important}.grid-stack>.grid-stack-item[gs-print-orientation=landscape]{page:gs-landscape;min-width:calc(100vmax * var(--gs-w)/ var(--gs-columns,12))!important}.grid-stack>.grid-stack-item[gs-print-orientation=portrait]{page:gs-portrait;min-width:calc(100vmin * var(--gs-w)/ var(--gs-columns,12))!important}.grid-stack>.grid-stack-item[gs-break-inside=true]{float:none!important;clear:both!important;width:100%!important;break-inside:auto!important;page-break-inside:auto!important}.grid-stack>.grid-stack-item>.ui-resizable-handle{display:none!important}}
:root{color-scheme:dark;--panel-bg:#0c1824;--panel-surface:#132737;--panel-border:#2a4354;--panel-text:#e3eeee;--panel-muted:#92adb8;--panel-accent:#58dac4;--topbar-h:76px}html,body{margin:0;min-height:100%;background:var(--panel-bg)}.panel-core-app,.panel-core-app *{box-sizing:border-box}.panel-core-app{min-height:100vh;background:radial-gradient(at 90% 0,#193a4a,transparent 50%),var(--panel-bg);color:var(--panel-text);font:14px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--topbar-h);padding:12px 24px;border-bottom:1px solid var(--panel-border);background:#0c1824eb;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:32px;color:var(--panel-accent)}.brand h1{font-size:18px;letter-spacing:.13em;font-weight:650}.brand small{color:var(--panel-muted);font-size:10px;letter-spacing:.14em}.topbar-controls{display:flex;align-items:center;gap:8px}button,input,select{font:inherit;color:var(--panel-text);background:var(--panel-surface);border:1px solid var(--panel-border);border-radius:6px;min-height:44px;padding:6px 10px}button,summary{cursor:pointer}button:disabled{opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.panel-header:focus-visible{outline:2px solid var(--panel-accent);outline-offset:2px}button:hover{border-color:var(--panel-accent)}.app-settings{position:relative}.app-settings>summary{padding:10px;min-height:44px}.app-settings>div{position:absolute;right:0;top:44px;display:grid;gap:12px;background:var(--panel-surface);padding:16px;border:1px solid var(--panel-border);width:330px;box-shadow:0 12px 40px #0008}.app-settings label{display:grid;gap:6px;color:var(--panel-muted)}.replay-controls{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.replay-controls input{width:130px}.replay-controls span{font-size:11px;color:var(--panel-muted)}.panel-grid{margin:12px 16px 24px}.grid-stack-item-content.panel-card{display:flex;flex-direction:column;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#152d3c,#102432);box-shadow:0 8px 24px #0002}.panel-header{display:flex;align-items:center;gap:8px;min-height:46px;padding:3px 7px 3px 14px;background:#102430;cursor:grab;touch-action:none;z-index:3;border-bottom:1px solid var(--panel-border)}.panel-header h2{flex:1;margin:0;font-size:13px;letter-spacing:.05em}.freshness{font-size:10px;color:var(--panel-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.freshness[data-state=live],.freshness[data-state=ready]{color:#7dd9b2}.freshness[data-state=stale],.freshness[data-state=disconnected]{color:#ffcd79}.freshness[data-state=offline]{color:#f9a299}.panel-close{padding:0;border:0;min-width:28px;min-height:36px;font-size:20px;background:none;color:var(--panel-muted)}.panel-menu summary{list-style:none;min-width:28px;min-height:36px;text-align:center;padding-top:5px;font-size:19px}.panel-menu summary::-webkit-details-marker{display:none}.panel-actions{position:absolute;right:7px;top:44px;z-index:6;background:#193543;border:1px solid var(--panel-border);border-radius:7px;max-height:140px;overflow-y:auto;box-shadow:0 8px 18px #0005}.panel-actions button{display:block;width:100%;border:0;border-radius:0;text-align:left}.panel-body{flex:1;min-height:0;overflow:auto;padding:12px}.panel-body[hidden],.ask-form[hidden]{display:none!important}.panel-content{min-height:0}.source-label{font-size:10px;color:var(--panel-muted);letter-spacing:.12em;display:block;margin-bottom:6px}.current-value{font-size:27px;line-height:1.2;color:var(--panel-accent);font-variant-numeric:tabular-nums}.series-plot{display:block;width:100%;height:75px;margin:8px 0}.series-plot polyline{stroke:var(--panel-accent);stroke-width:2}.data-table{font-size:10px;width:100%;border-collapse:collapse}.data-table caption{text-align:left;color:var(--panel-muted)}.data-table td,.data-table th{text-align:left;border-bottom:1px solid #ffffff10;padding:2px 5px}.event-list{list-style:none;margin:0;padding:0}.event-list li{border-left:2px solid #7baec5;padding:5px 9px;margin:5px 0;background:#ffffff03}.event-list li[data-severity=warning]{border-color:#ffcd79}.event-list li[data-severity=critical]{border-color:#ed958d}.event-list p{margin:4px 0;font-size:12px}.event-list small,.headline-list small{font-size:10px;color:var(--panel-muted)}.entity-link{padding:0;min-height:30px;background:none;border:0;color:var(--panel-accent);text-decoration:underline}.headline-list article{border-bottom:1px solid #ffffff10;padding:8px 0}.headline-list h3{font-size:12px;margin:0 0 4px}.key-values{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin:12px 0}.key-values dt{color:var(--panel-muted)}.key-values dd{margin:0;text-align:right;overflow-wrap:anywhere}.selection-body h3{font-size:16px}.selection-body p{font-size:12px}.panel-map .panel-body{padding:0;overflow:hidden;position:relative}.panel-map .panel-content{height:100%}.map-frame{border:0;width:100%;height:100%;display:block;touch-action:none}.video-frame{border:0;width:100%;height:135px;display:block}.panel-ai{border-top:1px solid var(--panel-border);padding-top:8px;margin-top:12px}.ask-ai{font-size:12px;color:var(--panel-accent);width:100%;text-align:left;background:#58dac408}.ask-form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.ask-form input{min-width:0;width:100%;font-size:12px}.question-preset{grid-column:1/-1;text-align:left;font-size:11px}.ai-status,.grounding{font-size:11px;color:var(--panel-muted);margin-top:6px;white-space:normal}.grounding[data-status=flagged]{color:#ffcd79}.grounding[data-status=grounded]{color:#7dd9b2}.ai-answer{font:12px/1.7 system-ui;white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;margin:5px 0}.ai-answer:empty,.ai-status:empty,.grounding:empty{display:none}.is-dragging .panel-map .panel-body:after{content:'';position:absolute;inset:0;z-index:5}.is-maximized{position:fixed!important;inset:82px 12px 12px!important;width:auto!important;height:auto!important;z-index:50!important}.update-button{position:fixed;bottom:16px;right:16px;z-index:70;background:#235e52}.is-collapsed .panel-card{background:#0e2532}.ui-resizable-handle{z-index:4!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.panel-core-app{isolation:isolate;min-width:0}.panel-core-app [hidden]{display:none!important}
.brand{min-width:0}.brand h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-controls{flex-shrink:0}
.panel-manager>summary{display:none}.panel-manager>div{display:flex!important;gap:8px;align-items:center}
.panel-manager:not([open])>div{content-visibility:visible}.app-settings>div{max-width:calc(100vw - 16px);z-index:60}
.panel-header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-header{flex-shrink:0}
.panel-header button,.panel-header summary{touch-action:manipulation}.panel-actions{max-height:min(60dvh,360px);min-width:150px}
.menu-open{z-index:65!important}.menu-open .panel-card{overflow:visible}.menu-open .panel-body{overflow:auto}.menu-open.panel-map .panel-body{overflow:hidden}
.panel-card:has(.panel-menu[open]){overflow:visible}.panel-actions [hidden]{display:none!important}
.panel-content,.panel-render{min-width:0;overflow-wrap:anywhere}.panel-body{overscroll-behavior:contain}
.map-frame{touch-action:auto}.panel-map .panel-body{min-height:0}.phone-only{display:none!important}
.replay-controls{display:grid;grid-template-columns:auto auto minmax(45px,1fr) auto auto;gap:4px;padding:6px 8px;background:#102430;border-bottom:1px solid var(--panel-border);flex-shrink:0}
.replay-controls input{width:100%;min-width:0;padding:0}.replay-controls button{min-width:36px;padding:4px 7px}.replay-controls select{width:65px;min-width:0;padding:4px}
.replay-controls output{grid-column:1/-1;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-navigation{display:none}.is-maximized{z-index:55!important}.is-maximized.menu-open{z-index:65!important}
@media(min-width:768px) and (max-width:1023px){
 .brand small{display:none}.topbar{padding:8px 12px;gap:8px}.brand h1{font-size:14px}.topbar-controls{gap:4px}
 .panel-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto!important;margin:12px}
 .panel-grid>.grid-stack-item{position:relative!important;inset:auto!important;width:auto!important;height:330px!important;min-width:0}
 .panel-grid>.panel-map{grid-column:1/-1;height:400px!important}.panel-grid>.grid-stack-item>.panel-card{inset:0!important}
 .panel-grid>.is-collapsed{height:56px!important}.panel-grid>.panel-map.is-collapsed{height:146px!important}
 .panel-grid>.is-maximized{position:fixed!important;inset:82px 12px 12px!important;height:auto!important;width:auto!important}
 .ui-resizable-handle{display:none!important}.panel-header{touch-action:manipulation;cursor:default}
}
@media(max-width:767px){
 .update-button{bottom:auto;top:calc(58px + env(safe-area-inset-top));right:8px;max-width:calc(100vw - 16px);font-size:12px}
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 .panel-core-app{--phone-top:calc(56px + env(safe-area-inset-top));--deck-h:min(43dvh,380px);--nav-h:calc(50px + env(safe-area-inset-bottom));height:100dvh;min-height:0;overflow:hidden}
 .topbar{height:var(--phone-top);min-height:var(--phone-top);padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));gap:4px}
 .brand{gap:4px;flex:1;overflow:hidden}.brand h1{font-size:12px;letter-spacing:.02em}.brand-icon{font-size:22px}.brand small{display:none}
 .topbar-controls{gap:2px}.panel-manager>summary,.app-settings>summary{display:block;font-size:12px;padding:12px 8px;min-height:44px;list-style:none;white-space:nowrap}
 .panel-manager{position:static}.panel-manager:not([open])>div{display:none!important}
 .panel-manager>div,.app-settings>div{position:absolute;top:var(--phone-top);right:8px;left:auto;width:min(304px,calc(100vw - 16px));max-height:calc(100dvh - var(--phone-top) - 16px);overflow:auto;display:grid!important;gap:8px;padding:12px;background:var(--panel-surface);border:1px solid var(--panel-border);z-index:70}
 .panel-manager select,.app-settings input{min-width:0;width:100%}.app-settings{position:static}
 .panel-grid{position:fixed!important;inset:auto 0 var(--nav-h);margin:0;padding:6px 12px;height:var(--deck-h)!important;min-height:0!important;display:flex!important;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;z-index:auto;background:none;pointer-events:none;touch-action:pan-x pan-y;scrollbar-width:none}
 .panel-grid>.grid-stack-item:not(.panel-map){position:relative!important;inset:auto!important;width:calc(100vw - 36px)!important;flex:0 0 calc(100vw - 36px)!important;height:100%!important;scroll-snap-align:start;transform:none!important;z-index:5;pointer-events:auto}
 .panel-grid>.grid-stack-item:not(.panel-map)>.panel-card{inset:0!important}.panel-grid>.grid-stack-item:not(.panel-map).is-collapsed{height:56px!important;align-self:flex-end}
 .panel-grid>.panel-map{display:block!important;position:fixed!important;left:0!important;right:0!important;top:var(--phone-top)!important;bottom:0!important;width:100%!important;height:calc(100dvh - var(--phone-top))!important;z-index:0!important;pointer-events:auto;touch-action:auto}
 .panel-map .panel-card{inset:0!important;border:0;border-radius:0;background:none;overflow:visible}.panel-map .panel-header{display:none}.panel-map .panel-body{height:100%;touch-action:auto}.panel-map .panel-content{height:100%}
 .panel-map .replay-controls{position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(var(--deck-h) + var(--nav-h));z-index:6;border:1px solid var(--panel-border);border-radius:8px}
 .deck-navigation{position:fixed;inset:auto 0 0;height:var(--nav-h);padding:3px 8px calc(3px + env(safe-area-inset-bottom));display:flex;gap:4px;align-items:center;background:var(--panel-bg);z-index:10}
 .deck-navigation button{min-width:44px;padding:4px 7px;font-size:12px}.deck-navigation output{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
 .deck-stowed{--deck-h:0px}.deck-stowed .panel-grid>.grid-stack-item:not(.panel-map){visibility:hidden;pointer-events:none}
 .panel-header{touch-action:manipulation;cursor:default;padding-left:8px;gap:4px}.panel-header h2{font-size:12px}.freshness{font-size:9px;max-width:95px;overflow:hidden;text-overflow:ellipsis}
 .panel-close,.panel-menu summary{min-width:44px;min-height:44px}.panel-body{padding:10px;touch-action:pan-x pan-y}.ui-resizable-handle{display:none!important}
 .panel-actions{position:fixed;top:auto;bottom:calc(var(--nav-h) + 8px);right:16px;max-height:min(55dvh,360px);z-index:70}
 .panel-grid>.grid-stack-item:not(.panel-map).is-maximized{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(var(--nav-h) + 6px)!important;top:auto!important;width:calc(100vw - 16px)!important;height:calc(var(--deck-h) - 12px)!important;z-index:55!important}
}
