:root,:host{--ol-background-color:white;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{box-sizing:border-box;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color);border-radius:2px}.ol-mouse-position{position:absolute;top:8px;right:8px}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;padding:2px;position:absolute;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-align:center;will-change:contents, width;border-top:none;margin:1px;font-size:10px;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:var(--ol-foreground-color);float:right;z-index:10;width:1px;height:15px}.ol-scale-step-text{z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:10px;position:absolute;bottom:-5px}.ol-scale-text{text-align:center;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:12px;position:absolute;bottom:25px}.ol-scale-singlebar{z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color);height:10px;position:relative}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{top:.5em;left:.5em}.ol-rotate{transition:opacity .25s linear,visibility linear;top:.5em;right:.5em}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{top:.5em;right:.5em}.ol-control button{color:var(--ol-subtle-foreground-color);font-weight:700;font-size:inherit;text-align:center;background-color:var(--ol-background-color);border:none;border-radius:2px;width:1.375em;height:1.375em;margin:1px;padding:0;line-height:.4em;text-decoration:none;display:block}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{will-change:transform;font-weight:400;display:block}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;flex-flow:row-reverse;align-items:center;max-width:calc(100% - 1.3em);display:flex;bottom:.5em;right:.5em}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);margin:0;padding:1px .5em;font-size:12px}.ol-attribution li{list-style:none;display:inline}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{max-height:1.6em;margin-top:-.2em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;top:4.5em;left:.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);width:150px;height:150px}.ol-overviewmap:not(.ol-collapsed) button{position:absolute;bottom:0;left:0}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{--csu-green:#1e4d2b;--csu-gold:#c8c372;--aggie-orange:#d9782d;--slate:#59595b;--paper:#f7f6f2;--white:#fff;--ink:#1f2a2f;--muted:#6c757d;--panel:#ffffffd1;--sidebar-width:270px;--rhi-panel-height:min(44vh, 520px);--radial-panel-height:min(46vh, 520px);--historical-browser-height:clamp(340px, 38vh, 360px);--historical-browser-rail-height:64px;--select-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath fill='%231e4d2b' d='M1 1.2 5 5.2 9 1.2z'/%3E%3C/svg%3E")}html,body{background:var(--paper);width:100%;min-width:100vw;height:100%;min-height:100vh;color:var(--slate);margin:0;padding:0;font-family:Helvetica Neue,Segoe UI,Arial,sans-serif;overflow:hidden}select{box-sizing:border-box;appearance:none;background-color:var(--white);background-image:var(--select-caret);min-width:0;max-width:100%;min-height:34px;color:var(--csu-green);cursor:pointer;font:inherit;text-overflow:ellipsis;background-position:right .65rem center;background-repeat:no-repeat;border:1px solid #1e4d2b3d;border-radius:7px;padding:.35rem 1.9rem .35rem .55rem;font-size:.88rem;font-weight:700;line-height:1.15;overflow:hidden}select:hover:not(:disabled){border-color:#1e4d2b61}select:focus-visible{border-color:#1e4d2b7a;outline:none;box-shadow:0 0 0 3px #1e4d2b1f}select:disabled{color:#59595bb3;cursor:not-allowed;opacity:1;background-color:#f5f7f5}#app{width:100vw;min-width:0;height:100vh;min-height:0}#app-startup-message,#startup-error-banner{box-sizing:border-box;background:var(--white);max-width:min(640px,100vw - 32px);color:var(--ink);border:1px solid #1e4d2b2e;border-radius:6px;margin:24px;padding:14px 16px;font-weight:700;box-shadow:0 8px 22px #00000014}#app-startup-message.is-error,#startup-error-banner{color:#6f1d18;border-color:#aa2c266b}#startup-error-banner{z-index:10000;margin:0;position:fixed;top:16px;left:16px}#container{width:100vw;min-width:0;height:100vh;display:flex}#sidebar{width:var(--sidebar-width);box-sizing:border-box;z-index:2;background:linear-gradient(#fdfdfb 0%,#f3f1eb 100%);border-right:3px solid #1e4d2b1f;flex-direction:column;gap:.75em;height:100vh;padding:1.2em 1.1em 1.4em;display:flex;position:relative;overflow-y:auto;box-shadow:6px 0 16px #0000000f}#map{flex:1;min-width:0;height:100%;transition:height .3s ease-in-out;position:relative}.radar-marker-overlay{z-index:900;pointer-events:none;position:absolute;inset:0}.radar-marker-overlay[hidden]{display:none}.radar-marker-dot{color:#0000;cursor:pointer;pointer-events:auto;background:#5f6f67;border:2px solid #fff;border-radius:50%;width:14px;min-width:14px;height:14px;min-height:14px;padding:0;font-size:0;line-height:1;transition:background-color .15s,border-color .15s,box-shadow .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #00000047}.radar-marker-dot:hover,.radar-marker-dot:focus-visible{background:#f2b544;border-color:#fff;outline:none}.radar-marker-dot.is-active{background:#168a43;box-shadow:0 0 0 2px #168a4347,0 1px 5px #00000047}.radar-marker-dot.is-active:hover,.radar-marker-dot.is-active:focus-visible{background:#20a456}.radar-marker-dot.is-selected{border-color:#f2b544;outline:none;box-shadow:0 0 0 2px #f2b54485,0 1px 5px #00000047}.radar-marker-dot.is-selected.is-active{background:#168a43}.radar-marker-dot.is-colocated{width:16px;min-width:16px;height:16px;min-height:16px}.radar-marker-dot.is-colocated:after{content:"";pointer-events:none;border:1px solid #ffffffdb;border-radius:50%;position:absolute;inset:3px}.radar-marker-dot:hover,.radar-marker-dot:focus,.radar-marker-dot:focus-visible{z-index:2}.radar-marker-dot:focus-visible{box-shadow:0 0 0 3px #185d3747,0 1px 5px #00000047}.radar-marker-tooltip{color:#fff;opacity:0;pointer-events:none;text-align:left;visibility:hidden;white-space:nowrap;background:#1c2428f0;border:1px solid #ffffff29;border-radius:6px;gap:.08rem;min-width:max-content;max-width:190px;padding:.42rem .55rem .45rem;font-size:.78rem;font-weight:600;line-height:1.15;transition:opacity .12s,transform .12s,visibility 0s linear .12s;display:grid;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 10px 24px #00000047}.radar-marker-dot.is-colocated .radar-marker-tooltip{gap:.28rem;min-width:230px;max-width:280px}.radar-marker-dot.is-tooltip-open.is-colocated .radar-marker-tooltip,.radar-marker-dot:focus-within.is-colocated .radar-marker-tooltip{pointer-events:auto}.radar-marker-tooltip:after{content:"";background:#1c2428f0;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.radar-marker-tooltip strong,.radar-marker-tooltip span{display:block}.radar-marker-code{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:800}.radar-marker-count{color:#ffffffdb;white-space:nowrap;border-top:1px solid #ffffff24;margin-top:.22rem;padding-top:.24rem;font-size:.72rem;font-weight:700;line-height:1.2}.radar-marker-count[data-state=loading]{color:#ffffffa8}.radar-marker-count[data-state=error]{color:#ffd2c7}.radar-marker-choices{gap:.3rem;margin-top:.2rem;display:grid}.radar-marker-choice{color:#fff;cursor:pointer;width:100%;min-width:0;font:inherit;text-align:left;background:#ffffff14;border:1px solid #ffffff24;border-radius:5px;gap:.12rem;padding:.42rem .48rem;line-height:1.15;display:grid}.radar-marker-choice:hover,.radar-marker-choice:focus-visible{background:#ffffff29;border-color:#ffffff57;outline:none}.radar-marker-choice-label{color:#fff;overflow-wrap:anywhere;white-space:normal;font-size:.76rem;font-weight:800}.radar-marker-choice .radar-marker-count{white-space:normal;border-top:0;margin-top:0;padding-top:0;font-size:.7rem}.radar-marker-dot.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot:focus-within .radar-marker-tooltip{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.radar-marker-dot.is-tooltip-left .radar-marker-tooltip{left:-7px;transform:translateY(4px)}.radar-marker-dot.is-tooltip-left.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot.is-tooltip-left:focus-within .radar-marker-tooltip{transform:translate(0)}.radar-marker-dot.is-tooltip-left .radar-marker-tooltip:after{left:12px;transform:rotate(45deg)}.radar-marker-dot.is-tooltip-right .radar-marker-tooltip{left:auto;right:-7px;transform:translateY(4px)}.radar-marker-dot.is-tooltip-right.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot.is-tooltip-right:focus-within .radar-marker-tooltip{transform:translate(0)}.radar-marker-dot.is-tooltip-right .radar-marker-tooltip:after{left:auto;right:12px;transform:rotate(45deg)}.radar-marker-dot.is-tooltip-below .radar-marker-tooltip{top:calc(100% + 9px);bottom:auto;transform:translate(-50%,-4px)}.radar-marker-dot.is-tooltip-below.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot.is-tooltip-below:focus-within .radar-marker-tooltip{transform:translate(-50%)}.radar-marker-dot.is-tooltip-below .radar-marker-tooltip:after{top:-6px;bottom:auto}.radar-marker-dot.is-tooltip-below.is-tooltip-left .radar-marker-tooltip,.radar-marker-dot.is-tooltip-below.is-tooltip-right .radar-marker-tooltip{transform:translateY(-4px)}.radar-marker-dot.is-tooltip-below.is-tooltip-left.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot.is-tooltip-below.is-tooltip-left:focus-within .radar-marker-tooltip,.radar-marker-dot.is-tooltip-below.is-tooltip-right.is-tooltip-open .radar-marker-tooltip,.radar-marker-dot.is-tooltip-below.is-tooltip-right:focus-within .radar-marker-tooltip{transform:translate(0)}.ppi-hover-hint{z-index:1000;width:max-content;min-width:0;color:var(--white);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f2a2feb;border:1px solid #fff3;border-radius:4px;flex-direction:column;gap:.08rem;padding:.24rem .34rem;font-size:.75rem;line-height:1.08;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 4px 12px #0003}.ppi-hover-hint[hidden]{display:none}.ppi-hover-hint div{white-space:nowrap;gap:.38rem;display:flex}.ppi-hover-hint strong{color:var(--white);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;display:block}.ppi-hover-hint span{color:#ffffffd1;font-variant-numeric:tabular-nums}.map-context-menu{z-index:1100;background:var(--white);border:1px solid #1e4d2b29;border-radius:6px;min-width:210px;padding:.24rem;position:absolute;top:10px;left:10px;box-shadow:0 10px 24px #00000038}.map-context-menu[hidden]{display:none}.map-context-menu button{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:.48rem .58rem;font-size:.84rem;font-weight:650;display:block}.map-context-menu button:hover,.map-context-menu button:focus-visible{background:#eef3ee;outline:none}.full-rhi-view{background:var(--white);flex:1;min-width:0;height:100%;display:none}#full-rhi-plot{box-sizing:border-box;width:100%;height:100%;padding:1em}#full-rhi-plot>div{width:100%;height:100%}body.full-rhi-viewer #full-rhi-plot .modebar-container{top:58px!important;right:18px!important}body.full-rhi-viewer #map{display:none}body.full-rhi-viewer.bookmark-region-drawing #map,body.full-rhi-viewer .full-rhi-view{display:block}body.full-rhi-viewer.bookmark-region-drawing .full-rhi-view{display:none}body.full-rhi-viewer #colorbar-overlay{z-index:5;display:flex}body.full-rhi-viewer #scan-frame-panel{bottom:20px}body.full-rhi-viewer #scan-frame-panel.is-positioned{bottom:auto}#colorbar-overlay{top:86px;left:calc(var(--sidebar-width) + 16px);pointer-events:none;z-index:950;align-items:flex-start;display:flex;position:absolute}body.rhi-panel-open #map{height:calc(100vh - var(--rhi-panel-height))}body.radial-panel-open #map{height:calc(100vh - var(--radial-panel-height))}body.rhi-panel-resizing #map,body.radial-panel-resizing #map{transition:none}body.rhi-panel-open #scan-frame-panel{bottom:calc(var(--rhi-panel-height) + 20px)}body.radial-panel-open #scan-frame-panel{bottom:calc(var(--radial-panel-height) + 20px)}body.rhi-panel-open #scan-frame-panel.is-positioned,body.radial-panel-open #scan-frame-panel.is-positioned{bottom:auto}body.historical-browser-expanded:not(.rhi-panel-open):not(.radial-panel-open) #map,body.historical-browser-expanded:not(.rhi-panel-open):not(.radial-panel-open) .full-rhi-view{height:calc(100vh - var(--historical-browser-height))}body.historical-browser-collapsed:not(.rhi-panel-open):not(.radial-panel-open) #map,body.historical-browser-collapsed:not(.rhi-panel-open):not(.radial-panel-open) .full-rhi-view{height:calc(100vh - var(--historical-browser-rail-height))}#colorbar-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:1;background:#ffffff8c;border:1px solid #1e4d2b26;border-radius:12px;flex-direction:column;align-items:center;gap:.4em;margin-left:12px;padding:.35em .5em;display:flex;box-shadow:0 6px 14px #00000024}#colorbar-body{align-items:center;gap:.4em;display:flex}#colorbar-title{color:var(--ink);white-space:nowrap;writing-mode:vertical-rl;letter-spacing:.05em;font-size:.78rem;font-weight:700;transform:rotate(180deg)}#colorbar-bar-wrap{width:18px;height:180px;position:relative;overflow:visible}#colorbar-bar{object-fit:fill;border:1px solid #00000026;border-radius:8px;width:18px;height:180px;display:block;box-shadow:inset 0 0 4px #00000038}#colorbar-hover-marker{pointer-events:none;background:#fffffffa;border-radius:999px;width:28px;height:2px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1f2a2fd9,0 1px 3px #00000059}#colorbar-hover-marker[hidden]{display:none}#colorbar-range{color:var(--ink);flex-direction:column;align-items:center;gap:.3em;font-size:.82rem;display:flex}#colorbar-range span{text-align:center;min-width:4ch;font-family:monospace}#colorbar-edit{width:100%;color:var(--ink);cursor:pointer;pointer-events:auto;background:#ffffffb8;border:1px solid #1e4d2b2e;border-radius:5px;padding:.25em .4em;font-size:.72rem;font-weight:700}#colorbar-editor{pointer-events:auto;grid-template-columns:2.6em 5.2em;align-items:center;gap:.28em .35em;display:grid}#colorbar-editor[hidden],#colorbar-edit[hidden]{display:none}#colorbar-editor label,#colorbar-limit-error{color:var(--ink);font-size:.72rem;font-weight:700}#colorbar-editor input{width:100%;min-width:0;color:var(--slate);border:1px solid #1e4d2b33;border-radius:4px;padding:.18em .3em;font-family:monospace;font-size:.78rem}#colorbar-limit-error,#colorbar-editor-actions{grid-column:1/-1}#colorbar-editor-actions{justify-content:center;gap:.25em;display:flex}#colorbar-editor-actions button{color:var(--ink);cursor:pointer;background:#ffffffb8;border:1px solid #1e4d2b2e;border-radius:4px;padding:.22em .34em;font-size:.68rem;font-weight:700}#sidebar h1{color:var(--ink);letter-spacing:.01em;align-items:center;gap:.4em;margin:0 0 .3em;font-size:1.45rem;display:flex}#sidebar h2{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:.8em 0 .4em;font-size:.95rem}.panel-header{justify-content:space-between;align-items:center;gap:.5em;display:flex}.panel-actions{align-items:center;gap:.35em;display:flex}.panel-header h2{margin:.8em 0 .4em}.icon-button{color:var(--csu-green);cursor:pointer;background:#ffffffbf;border:1px solid #1e4d2b33;border-radius:6px;padding:4px 6px;line-height:0;transition:transform .12s,box-shadow .12s,border-color .12s;position:relative}.icon-button svg{fill:currentColor;width:16px;height:16px}.icon-button:hover:not(.is-disabled){border-color:#1e4d2b66;transform:translateY(-1px);box-shadow:0 6px 12px #1e4d2b26}.icon-button.is-copied{color:var(--aggie-orange);border-color:var(--aggie-orange)}.icon-button.is-disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.tooltip-button:after,.tooltip-button:before{opacity:0;pointer-events:none;z-index:5000;position:absolute;right:0}.tooltip-button:after{content:attr(data-tooltip);background:var(--ink);width:max-content;max-width:220px;color:var(--white);text-align:left;white-space:normal;border-radius:6px;padding:.45em .6em;font-size:.76rem;font-weight:700;line-height:1.2;top:calc(100% + 9px);transform:translateY(-2px);box-shadow:0 8px 18px #00000038}.tooltip-button:before{content:"";border:6px solid #0000;border-bottom-color:var(--ink);top:calc(100% + 3px)}.tooltip-button:hover:after,.tooltip-button:hover:before,.tooltip-button:focus-visible:after,.tooltip-button:focus-visible:before{opacity:1;transform:translateY(0)}.info-panel{background:var(--panel);border:1px solid #1e4d2b14;border-radius:8px;margin-top:.3em;padding:.5em .75em;font-size:.9rem;line-height:1.4;box-shadow:0 10px 18px #00000014}.info-panel div{flex-wrap:wrap;margin:2px 0;display:flex}.label{min-width:90px;color:var(--csu-green);margin-right:.5em;font-weight:600}.value{color:var(--slate);flex:1;font-family:monospace}.info-panel .info-task-row{flex-wrap:nowrap}#info-task-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.control-row{align-items:center;gap:.5em;margin-top:.5em;display:flex}.control-row label,.control-row .control-label{white-space:nowrap;color:var(--slate);font-weight:600}.control-row select{flex:1 1 0;width:0;min-width:0}.control-row input[type=number]{background-color:var(--white);min-width:0;color:var(--slate);border:1px solid #1e4d2b40;border-radius:4px;flex:0 0 4.5rem;min-height:30px;padding:2px 6px;font-size:.9rem;box-shadow:inset 0 1px 2px #0000000d}.control-row .unit-label{color:var(--slate);white-space:nowrap;flex:none;font-size:.85rem}.unit-control-row{min-width:0}.inline-unit-control{align-items:center;gap:.35em;min-width:0;margin-left:auto;display:flex}.inline-unit-control input[type=number]{flex-basis:3.5rem;width:3.5rem}.scan-mode-toggle{box-sizing:border-box;background:#1e4d2b14;border:1px solid #1e4d2b40;border-radius:6px;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-width:0;min-height:30px;padding:2px;display:grid}.scan-mode-button{min-width:0;color:var(--slate);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 8px;font-size:.85rem;font-weight:700;line-height:1;transition:background .12s,color .12s,box-shadow .12s}.scan-mode-button:hover{background:#ffffffd1}.scan-mode-button:focus-visible{outline:2px solid var(--aggie-orange);outline-offset:2px}.scan-mode-button.is-active{background:var(--csu-green);color:var(--white);box-shadow:0 1px 3px #00000029}.scan-mode-button.is-active:hover{background:#163a21}.control-row{justify-content:flex-start;align-items:center;gap:.5em;margin-top:.2em;display:flex;position:relative}#go-to-radar,#latest-data,#open-bookmarks,#radial-view-control{background:var(--csu-green);min-width:0;min-height:30px;color:var(--white);cursor:pointer;font:inherit;border:0;border-radius:4px;padding:0 10px;font-size:.85rem;font-weight:700;line-height:1;transition:background .12s,color .12s,box-shadow .12s;box-shadow:0 1px 3px #00000029}#get-data{cursor:pointer;color:var(--white);background:linear-gradient(135deg,#d9782d,#f1963f);border:none;border-radius:999px;padding:6px 12px;font-size:.9rem;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 4px 10px #0000001f}#go-to-radar:hover,#latest-data:hover,#open-bookmarks:hover,#radial-view-control:hover{background:#163a21}#go-to-radar:focus-visible,#latest-data:focus-visible,#open-bookmarks:focus-visible,#radial-view-control:focus-visible{outline:2px solid var(--aggie-orange);outline-offset:2px}#latest-data.is-active,#radial-view-control.is-active{background:var(--aggie-orange)}#latest-data.is-active:hover,#radial-view-control.is-active:hover{background:#b7641f}#get-data:hover{background:#b7641f;transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.control-row:has(#go-to-radar,#latest-data,#open-bookmarks,#radial-view-control){grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:.35em;width:100%;display:grid}.control-row:has(#go-to-radar,#latest-data,#open-bookmarks,#radial-view-control) button{width:100%}.toggle-control{min-height:28px;color:var(--slate);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45em;font-size:.85rem;font-weight:700;display:inline-flex}.toggle-control input{width:16px;height:16px;accent-color:var(--csu-green);cursor:pointer;margin:0}.opacity-control-row input[type=range]{min-width:0;accent-color:var(--csu-green);flex:1}.opacity-value{text-align:right;min-width:3ch;color:var(--slate);font-family:monospace;font-size:.82rem}.toggle-control:has(input:focus-visible){outline:2px solid var(--aggie-orange);outline-offset:3px;border-radius:4px}#sidebar-logo{text-align:center;margin-top:auto;padding-top:1em}#sidebar-logo-small{object-fit:contain;width:38px;height:38px}#sidebar-logo img{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.8;max-width:80%;height:auto}#sidebar .spacer{height:.75em}#time-slider-container{z-index:auto;color:var(--white);background:#1e4d2be6;border-radius:6px;flex-direction:column;align-items:center;gap:.4em;min-width:300px;padding:.5em 1em;display:flex;position:static;box-shadow:0 2px 8px #0000002e}#time-slider{width:min(420px,100%)}#scan-frame-panel{bottom:20px;left:calc(var(--sidebar-width) + 24px);z-index:1100;width:min(520px, calc(100vw - var(--sidebar-width) - 48px));box-sizing:border-box;color:var(--white);background:#1e4d2be6;border-radius:8px;flex-direction:column;align-items:stretch;gap:.45em;padding:.55em .7em .65em;transition:bottom .3s ease-in-out,width .12s,padding .12s;display:flex;position:absolute;box-shadow:0 6px 18px #00000038}#scan-frame-panel.is-positioned{transition:width .12s,padding .12s;bottom:auto}#scan-frame-panel.is-dragging{-webkit-user-select:none;user-select:none}#scan-frame-panel[hidden]{display:none}#scan-frame-header{align-items:center;gap:.45em;min-width:0;display:flex}#scan-frame-drag-handle{cursor:grab;touch-action:none;flex:1;align-items:center;gap:.45em;min-width:0;display:flex}#scan-frame-panel.is-dragging #scan-frame-drag-handle{cursor:grabbing}.scan-frame-grip{opacity:.72;background-image:radial-gradient(currentColor 1.3px,#0000 1.3px);background-position:0 0;background-size:6px 6px;flex:none;width:12px;height:18px}#scan-frame-status{min-width:0;min-height:1.2em;color:var(--white);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;overflow:hidden}#frame-panel-collapse{background:var(--white);width:28px;height:28px;color:var(--csu-green);cursor:pointer;border:1px solid #1e4d2b4d;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:800;line-height:1;display:inline-flex}#frame-panel-collapse:hover{background:#e6e3d9}#scan-frame-body{flex-direction:column;gap:.45em;display:flex}#scan-frame-panel.is-collapsed{width:min(300px, calc(100vw - var(--sidebar-width) - 48px));padding:.45em .55em}#scan-frame-panel.is-collapsed #scan-frame-body{display:none}#scan-frame-panel{display:none!important}.historical-browser-dock{bottom:0;right:0;left:var(--sidebar-width);z-index:2100;box-sizing:border-box;color:var(--ink);background:#fdfdfbf7;border-top:1px solid #1e4d2b2e;position:fixed;box-shadow:0 -6px 22px #00000024}.historical-browser-dock[hidden],.historical-browser-dock .historical-browser-expanded,.historical-browser-dock .historical-browser-rail{display:none}.historical-browser-dock.is-expanded .historical-browser-expanded{height:var(--historical-browser-height);flex-direction:column;min-height:218px;display:flex}.historical-browser-dock.is-collapsed .historical-browser-rail{height:var(--historical-browser-rail-height);box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.65rem 1rem;display:grid}.historical-browser-header{z-index:1;background:linear-gradient(135deg, var(--csu-green), #2f6a3f);color:var(--white);border-bottom:1px solid #1e4d2b47;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem .6rem;display:flex;position:relative}.historical-browser-heading{min-width:0}.historical-browser-heading h2{color:var(--white);margin:0;font-size:1rem;line-height:1.15}.historical-browser-heading p{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-size:.8rem;font-weight:700;overflow:hidden}.historical-browser-actions,.historical-browser-window-controls,.historical-browser-playback-controls,.historical-browser-rail-controls{flex-wrap:nowrap;align-items:center;gap:.45rem;display:flex}.historical-browser-actions button,.historical-browser-window-controls button,.historical-browser-playback-controls button,.historical-browser-rail button{background:var(--white);min-height:34px;color:var(--csu-green);cursor:pointer;font:inherit;white-space:nowrap;border:1px solid #1e4d2b38;border-radius:7px;padding:0 .78rem;font-size:.86rem;font-weight:850;line-height:1;box-shadow:0 1px 5px #00000014}.historical-browser-actions button{border-color:#ffffffa6}.historical-browser-actions button:hover:not(:disabled),.historical-browser-window-controls button:hover:not(:disabled),.historical-browser-playback-controls button:hover:not(:disabled),.historical-browser-rail button:hover:not(:disabled){background:#eef3ee}.historical-browser-actions button:hover:not(:disabled){background:#f7faf7}.historical-browser-actions button:disabled,.historical-browser-window-controls button:disabled,.historical-browser-playback-controls button:disabled,.historical-browser-rail button:disabled{cursor:not-allowed;opacity:.55}#historical-browser-play,#historical-browser-rail-play{background:var(--csu-green);color:var(--white)}#historical-browser-speed{min-width:3.2rem;color:var(--slate);text-align:center;font-weight:850}.historical-browser-content{z-index:2;box-sizing:border-box;flex:1;grid-template-columns:minmax(290px,.36fr) minmax(420px,1fr);align-content:start;gap:1rem;min-height:0;padding:.75rem 1rem 1rem;display:grid;position:relative;overflow:visible}.historical-browser-dock.has-open-popover .historical-browser-content{z-index:40;overflow:visible}.historical-browser-dock.is-bookmark-editing .historical-browser-content{grid-template-columns:minmax(520px,.42fr) minmax(480px,1fr)}.historical-browser-dock.is-bookmark-editing .historical-browser-query{display:none}.historical-browser-dock.is-bookmark-editing .historical-browser-playback{grid-area:1/2;align-self:stretch}.historical-browser-query{z-index:20;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.65rem .75rem;min-width:0;display:grid;position:relative;overflow:visible}.historical-browser-dock.has-open-popover .historical-browser-query{z-index:2900}.historical-browser-field{flex-direction:column;gap:.28rem;min-width:0;display:flex;position:relative}.historical-browser-field.is-popover-open,.historical-browser-angle-filter.is-popover-open,.historical-browser-filter-options.is-popover-open{z-index:2900}.historical-browser-field label{color:var(--slate);font-size:.78rem;font-weight:850}.historical-browser-field input,.historical-browser-field select{background:var(--white);width:100%;min-width:0;min-height:38px;color:var(--ink);font:inherit;box-sizing:border-box;border:1px solid #1e4d2b3d;border-radius:7px;padding:.38rem .55rem;font-size:.95rem}.historical-browser-field .historical-browser-duration-native{display:none}.historical-browser-duration-dropdown{width:100%;min-width:0}.historical-browser-duration-trigger{min-height:38px;color:var(--ink);font-size:.95rem;font-weight:500}.historical-browser-datetime-control{z-index:2500;min-width:0;display:block;position:relative}.historical-browser-datetime-control input{cursor:pointer}.historical-browser-calendar{z-index:2901;width:min(500px, calc(100vw - var(--sidebar-width) - 2rem));box-sizing:border-box;background:#fdfdfbfa;border:1px solid #1e4d2b47;border-radius:8px;padding:.75rem;position:absolute;bottom:calc(100% + .45rem);left:0;box-shadow:0 12px 32px #0000003d}.historical-browser-calendar[hidden]{display:none}.historical-browser-calendar-hover-hint{z-index:2902;width:max-content;max-width:min(320px,100% - 1rem);color:var(--white);text-align:center;white-space:normal;overflow-wrap:anywhere;pointer-events:none;background:#2a2a2af0;border:1px solid #ffffff2e;border-radius:4px;padding:.28rem .42rem;font-size:.72rem;font-weight:850;line-height:1.15;position:absolute;box-shadow:0 5px 12px #00000038}.historical-browser-calendar-hover-hint[hidden]{display:none}.historical-browser-calendar-body{grid-template-columns:minmax(0,1fr) 72px;align-items:stretch;gap:.75rem;display:grid}.historical-browser-calendar-date-pane{min-width:0}.historical-browser-calendar-header{grid-template-columns:34px 34px minmax(0,1fr) 34px 34px;align-items:center;gap:.5rem;margin-bottom:.55rem;display:grid}.historical-browser-calendar-title{color:var(--ink);text-align:center;font-size:.98rem;font-weight:900}.historical-browser-calendar-nav{background:var(--white);width:34px;height:32px;color:var(--csu-green);font:inherit;cursor:pointer;border:1px solid #1e4d2b33;border-radius:7px;font-size:1rem;font-weight:900}.historical-browser-calendar-nav.is-year{font-size:.76rem}.historical-browser-calendar-nav:hover{background:#1e4d2b14}.historical-browser-calendar-weekdays,.historical-browser-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.historical-browser-calendar-weekdays{color:#21272c9e;text-align:center;margin-bottom:.3rem;font-size:.68rem;font-weight:850}.historical-browser-calendar-day{aspect-ratio:1;min-width:0;min-height:34px;color:var(--ink);font:inherit;cursor:pointer;box-sizing:border-box;background:#f9fbf8;border:1px solid #1e4d2b24;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:.06rem;padding:.1rem;display:flex}.historical-browser-calendar-day[data-level="1"]{background:#e7f2eb}.historical-browser-calendar-day[data-level="2"]{background:#c7e4d0}.historical-browser-calendar-day[data-level="3"]{background:#8fc79f}.historical-browser-calendar-day[data-level="4"]{color:var(--white);background:#4f9868}.historical-browser-calendar-day[data-level="5"]{background:var(--csu-green);color:var(--white)}.historical-browser-calendar-day:hover,.historical-browser-calendar-day:focus-visible{border-color:#1e4d2bbf;outline:2px solid #2f6a3f2e}.historical-browser-calendar-day.is-muted{opacity:.55}.historical-browser-calendar-day.is-selected{border-color:#2f6ff2;box-shadow:inset 0 0 0 2px #2f6ff2}.historical-browser-calendar-day.is-today:not(.is-selected){border-color:#1e4d2b9e}.historical-browser-calendar-day-number{font-size:.82rem;font-weight:900;line-height:1}.historical-browser-calendar-time{border-left:1px solid #1e4d2b24;flex-direction:column;gap:.45rem;min-width:0;padding-left:.75rem;display:flex;overflow:hidden}.historical-browser-calendar-time-title{color:var(--ink);text-align:center;font-size:.82rem;font-weight:900}.historical-browser-calendar-time-lists{flex:1;grid-template-columns:minmax(0,1fr);gap:.35rem;min-height:0;display:grid}.historical-browser-calendar-time-column{flex-direction:column;min-width:0;min-height:0;display:flex}.historical-browser-calendar-time-label{color:var(--slate);text-align:center;text-transform:uppercase;margin-bottom:.25rem;font-size:.66rem;font-weight:900}.historical-browser-calendar-time-list{scrollbar-width:thin;scrollbar-color:#1e4d2b9e #1e4d2b14;background:#1e4d2b0d;border-radius:7px;flex-direction:column;flex:1;gap:.22rem;min-height:0;padding:.15rem;display:flex;overflow-y:auto}.historical-browser-calendar-time-option{min-height:28px;color:var(--ink);font:inherit;cursor:pointer;background:#f9fbf8;border:1px solid #1e4d2b1f;border-radius:7px;padding:.18rem .25rem;font-size:.78rem;font-weight:900}.historical-browser-calendar-time-option[data-level="1"]{background:#e7f2eb}.historical-browser-calendar-time-option[data-level="2"]{background:#c7e4d0}.historical-browser-calendar-time-option[data-level="3"]{background:#8fc79f}.historical-browser-calendar-time-option[data-level="4"]{color:var(--white);background:#4f9868}.historical-browser-calendar-time-option[data-level="5"]{background:var(--csu-green);color:var(--white)}.historical-browser-calendar-time-option:hover,.historical-browser-calendar-time-option:focus-visible{border-color:#1e4d2bbf;outline:2px solid #2f6a3f2e}.historical-browser-calendar-time-option.is-selected{border-color:#2f6ff2;box-shadow:inset 0 0 0 2px #2f6ff2}.historical-browser-calendar-time-status{min-height:1rem;color:var(--slate);text-align:center;font-size:.66rem;font-weight:900}.historical-browser-calendar-data-footer{border-top:1px solid #1e4d2b24;justify-content:space-between;gap:.5rem;padding-top:.55rem;display:flex}.historical-browser-calendar-data-nav{background:var(--white);min-width:5.8rem;height:30px;color:var(--csu-green);font:inherit;cursor:pointer;border:1px solid #1e4d2b33;border-radius:7px;font-size:.78rem;font-weight:900}.historical-browser-calendar-data-nav:hover:not(:disabled){background:#1e4d2b14}.historical-browser-calendar-data-nav:disabled{color:#5a636f85;cursor:not-allowed;background:#ffffff94;border-color:#5a636f2e}.historical-browser-calendar-status{min-height:1rem;color:var(--slate);margin-top:.55rem;font-size:.72rem;font-weight:700}.historical-browser-angle-filters{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;min-width:0;display:grid}.historical-browser-angle-filter{min-width:0;position:relative}.historical-browser-filter-label{color:var(--slate);text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:900;display:block}.historical-browser-filter-options{min-width:0;position:relative}.historical-browser-filter-dropdown{position:relative}.historical-browser-filter-dropdown[open]{z-index:2901}.historical-browser-filter-trigger{width:100%;min-width:0;min-height:34px;color:var(--csu-green);font:inherit;cursor:pointer;box-sizing:border-box;background:#ffffffeb;border:1px solid #1e4d2b3d;border-radius:7px;justify-content:space-between;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.82rem;font-weight:850;line-height:1.1;list-style:none;display:flex}.historical-browser-filter-trigger::-webkit-details-marker{display:none}.historical-browser-filter-trigger:hover:not(:disabled),.historical-browser-filter-trigger:focus-visible{background:#eef3ee;border-color:#1e4d2b6b;outline:none}.historical-browser-filter-trigger:disabled{color:var(--muted);cursor:not-allowed;opacity:.65}.historical-browser-filter-summary-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.historical-browser-filter-caret{border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;flex:none;width:0;height:0;transition:transform .12s}.historical-browser-filter-dropdown[open] .historical-browser-filter-caret{transform:rotate(180deg)}.historical-browser-filter-menu{z-index:2902;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#1e4d2b9e #1e4d2b1a;background:var(--white);box-sizing:border-box;border:1px solid #1e4d2b38;border-radius:7px;max-height:min(12rem,46vh);padding:.25rem;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow-y:scroll;box-shadow:0 10px 22px #0000002e}.historical-browser-filter-menu::-webkit-scrollbar{width:10px}.historical-browser-filter-menu::-webkit-scrollbar-track{background:#1e4d2b1a;border-radius:999px}.historical-browser-filter-menu::-webkit-scrollbar-thumb{border:2px solid var(--white);background:#1e4d2b9e;border-radius:999px}.historical-browser-filter-menu::-webkit-scrollbar-thumb:hover{background:#1e4d2bc7}.historical-browser-filter-option{min-width:0;min-height:28px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:.45rem;padding:.25rem .35rem;font-size:.8rem;font-weight:800;display:flex}.historical-browser-filter-option:hover{background:#1e4d2b14}.historical-browser-filter-option input{width:15px;height:15px;accent-color:var(--csu-green);flex:none;margin:0}.historical-browser-filter-option-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.historical-browser-duration-option{width:100%;min-height:28px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;padding:.25rem .35rem;font-size:.8rem;font-weight:800;display:flex}.historical-browser-duration-option:hover,.historical-browser-duration-option:focus-visible{background:#1e4d2b14;outline:none}.historical-browser-duration-option.is-selected{color:var(--csu-green);background:#1e4d2b24}.historical-browser-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.historical-browser-metric{box-sizing:border-box;background:#ffffffc7;border:1px solid #1e4d2b21;border-radius:7px;min-width:0;padding:.58rem .65rem}.historical-browser-metric span{color:var(--slate);text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.historical-browser-metric strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:1rem;line-height:1.15;display:block;overflow:hidden}.historical-browser-playback{z-index:1;flex-direction:column;gap:.55rem;min-width:0;min-height:0;display:flex;position:relative}.historical-browser-playback-header{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.historical-browser-timeline{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.55rem .65rem;min-height:96px;display:grid}.historical-browser-first-load-note{color:var(--slate);grid-column:2;align-self:end;font-size:.72rem;font-weight:850;line-height:1.1}.historical-browser-lane-label{color:var(--csu-green);text-align:right;font-size:.82rem;font-weight:900}.historical-browser-track{background:#1e4d2b0a;border:1px solid #1e4d2b24;border-radius:8px;min-width:0;height:42px;padding:0 .55rem;position:relative;overflow:visible}.historical-browser-track-line{background:#1e4d2b2b;border-radius:999px;height:3px;position:absolute;top:50%;left:.7rem;right:.7rem;transform:translateY(-50%)}.historical-browser-range{cursor:grab;background:#c8c37273;border:1px solid #d9782d6b;border-radius:8px;min-width:8px;position:absolute;top:8px;bottom:8px}.historical-browser-range.is-dragging{cursor:grabbing}.historical-browser-handle{z-index:8;cursor:ew-resize;touch-action:none;background:0 0;border:0;width:48px;height:56px;position:absolute;top:50%;transform:translate(-50%,-50%)}.historical-browser-handle:before{content:"";box-sizing:border-box;border:4px solid var(--white);background:var(--csu-green);border-radius:999px;width:26px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #00000052}.historical-browser-handle:after{content:"";border-left:2px solid #ffffffb8;border-right:2px solid #ffffffb8;width:8px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.historical-browser-handle:hover:before,.historical-browser-handle:focus-visible:before{box-shadow:0 0 0 5px #1e4d2b2e,0 3px 12px #00000057}.historical-browser-start-handle{left:0}.historical-browser-end-handle{left:100%}.historical-browser-tick{z-index:4;background:var(--csu-green);cursor:pointer;border:0;border-radius:999px;width:4px;min-width:4px;height:18px;padding:0;position:absolute;top:50%;overflow:visible;transform:translate(-50%,-50%)}.historical-browser-tick.has-duration{min-width:6px;transform:translateY(-50%)}.historical-browser-tick.is-point{width:4px;min-width:4px}.historical-browser-tick.is-rhi{background:#4778a8}.historical-browser-volume{box-sizing:border-box;background:#1e4d2b2e;border:1px solid #1e4d2b66;border-radius:5px;min-width:8px;height:20px;overflow:visible}.historical-browser-volume.is-rhi{background:#4778a833;border-color:#4778a880}.historical-browser-volume.is-all-selected{background:var(--csu-green)}.historical-browser-volume.is-all-selected.is-rhi{background:#4778a8}.historical-browser-volume-highlight{background:var(--csu-green);pointer-events:none;border-radius:3px;position:absolute;top:2px;bottom:2px}.historical-browser-volume.is-rhi .historical-browser-volume-highlight{background:#4778a8}.historical-browser-tick.is-filtered-out{cursor:not-allowed;opacity:.48;background:#9a9f9a;border-color:#78807885}.historical-browser-tick:before,.historical-browser-tooltip{opacity:0;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.historical-browser-tick:before{content:"";z-index:31;border:5px solid #0000;border-top-color:#2a2a2af0;bottom:calc(100% + 3px)}.historical-browser-tooltip{z-index:30;box-sizing:border-box;width:max-content;max-width:min(320px,100vw - 24px);color:var(--white);text-align:center;overflow-wrap:anywhere;white-space:pre-wrap;background:#2a2a2af0;border:1px solid #ffffff2e;border-radius:5px;flex-direction:column;gap:.08rem;padding:.35rem .5rem;font-size:.76rem;font-weight:800;line-height:1.15;display:flex;bottom:calc(100% + 12px);box-shadow:0 6px 14px #00000038}.historical-browser-tooltip-angles{white-space:nowrap}.historical-browser-tooltip-angle{padding-left:.16rem}.historical-browser-tooltip-angle.is-muted{color:#ffffff6b}.historical-browser-tick.is-tooltip-left .historical-browser-tooltip{left:calc(50% - 8px);transform:none}.historical-browser-tick.is-tooltip-right .historical-browser-tooltip{left:auto;right:calc(50% - 8px);transform:none}.historical-browser-tick:hover,.historical-browser-tick:focus-visible{z-index:120;background:var(--aggie-orange);outline:2px solid var(--white);outline-offset:1px;box-shadow:0 0 0 3px #d9782d3d,0 2px 8px #00000038}.historical-browser-volume.is-rhi:not(.is-filtered-out):hover,.historical-browser-volume.is-rhi:not(.is-filtered-out):focus-visible{background:var(--aggie-orange);border-color:#d9782db8}.historical-browser-volume.is-rhi:not(.is-filtered-out):hover .historical-browser-volume-highlight,.historical-browser-volume.is-rhi:not(.is-filtered-out):focus-visible .historical-browser-volume-highlight{background:var(--aggie-orange)}.historical-browser-tick.is-point:hover,.historical-browser-tick.is-point:focus-visible{width:10px;min-width:10px}.historical-browser-tick.is-active{z-index:6;background:var(--aggie-orange);outline:2px solid var(--white);outline-offset:1px;box-shadow:0 0 0 3px #d9782d3d,0 2px 8px #00000038}.historical-browser-volume.is-active.is-rhi,.historical-browser-volume.is-active.is-all-selected.is-rhi{background:var(--aggie-orange);border-color:#d9782db8}.historical-browser-volume.is-active.is-rhi .historical-browser-volume-highlight{background:var(--aggie-orange)}.historical-browser-tick.is-active.is-point{width:10px;min-width:10px}.historical-browser-tick.is-filtered-out:hover,.historical-browser-tick.is-filtered-out:focus-visible{background:#777d77;outline-color:#ffffffd9;box-shadow:0 0 0 3px #5050502e,0 2px 8px #00000029}.historical-browser-tick:hover:before,.historical-browser-tick:hover .historical-browser-tooltip,.historical-browser-tick:focus-visible:before,.historical-browser-tick:focus-visible .historical-browser-tooltip{opacity:1;z-index:121}.historical-browser-track.is-empty:after{content:"No scans";color:var(--muted);font-size:.78rem;font-weight:800;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.historical-browser-status{min-height:1.1rem;color:var(--muted);font-size:.8rem;font-weight:750}.historical-browser-rail-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:850;overflow:hidden}@media (width<=1180px){:root{--historical-browser-height:min(42vh, 360px)}.historical-browser-content{grid-template-columns:1fr;overflow:auto}.historical-browser-query{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-browser-playback-header{align-items:flex-end;gap:.55rem}}@media (width<=760px){.historical-browser-dock,.rhi-panel,.radial-panel{left:0}.radial-panel-body{flex-direction:column}.radial-panel-controls{border-bottom:1px solid #1e4d2b1a;border-right:0;flex-direction:row;flex:none;max-width:none;overflow:visible}.radial-panel-controls .control-group{flex:160px}.historical-browser-header,.historical-browser-dock.is-collapsed .historical-browser-rail{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.historical-browser-actions,.historical-browser-window-controls,.historical-browser-playback-controls,.historical-browser-rail-controls{flex-wrap:wrap;width:100%}.historical-browser-query,.historical-browser-angle-filters,.historical-browser-metrics{grid-template-columns:1fr}}#frame-slider{width:100%}#viewer-loading{top:18px;left:calc(var(--sidebar-width) + 24px);z-index:1250;max-width:min(420px, calc(100vw - var(--sidebar-width) - 48px));width:fit-content;color:var(--white);background:#1f2a2fe0;border-radius:8px;align-items:center;gap:.6em;margin:0 auto;padding:.6em .8em;font-size:.9rem;font-weight:800;line-height:1.2;display:inline-flex;position:absolute;right:24px;box-shadow:0 8px 20px #00000038}#viewer-loading[hidden]{display:none}#viewer-loading-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-loading-spinner{border:3px solid #ffffff59;border-top-color:var(--white);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite viewer-loading-spin}@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}#sweep-select{width:100%}#time-slider-controls{align-items:center;gap:.4em;display:flex}#time-slider-controls button{background:var(--white);color:var(--csu-green);cursor:pointer;border:1px solid #1e4d2b4d;border-radius:6px;padding:4px 8px;font-weight:600;transition:background .12s,transform .12s,box-shadow .12s}#time-slider-controls button:hover{background:#e6e3d9;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}#time-slider-controls button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}#playback-speed{text-align:center;letter-spacing:.02em;min-width:3.5em;font-weight:700}#slider-times{letter-spacing:.01em;width:100%;color:var(--white);justify-content:space-between;font-size:.9rem;font-weight:700;display:flex}#filter-panel{margin-top:.5em}#filter-panel summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}#filter-panel summary::-webkit-details-marker{display:none}#filter-panel summary::marker{display:none}#filter-panel summary:before{content:"▶";margin-right:.4em;font-size:.7em;transition:transform .2s;display:inline-block}#filter-panel[open] summary:before{transform:rotate(90deg)}.filter-options{background:var(--panel);border:1px solid #1e4d2b14;border-radius:8px;flex-direction:column;gap:.45rem;padding:.5em;display:flex}.filter-options .control-row{min-height:32px;margin-top:0}.filter-options label{color:var(--slate);cursor:pointer;align-items:center;gap:.4em;font-weight:500;line-height:1.1;display:flex}.filter-options input[type=checkbox]{accent-color:var(--csu-green);cursor:pointer;flex:none;width:16px;height:16px;margin-left:auto}.display-filter-panel{box-sizing:border-box;background:#ffffff7a;border:1px solid #1e4d2b1f;border-radius:7px;width:100%;min-width:0;margin:0 0 .35rem;padding:.45rem;display:block;overflow:visible}.display-filter-panel *{box-sizing:border-box}.display-filter-panel>summary{list-style:none}.display-filter-panel>summary::-webkit-details-marker{display:none}.display-filter-open{min-width:0;min-height:34px;color:var(--slate);cursor:pointer;font:inherit;border-radius:6px;grid-template-columns:minmax(0,1fr) 1.25rem;align-items:center;gap:.45rem;margin:-.45rem;padding:.35rem .45rem;font-weight:500;display:grid}.display-filter-open:after{content:"+";width:1.25rem;min-height:34px;color:var(--csu-green);border-radius:5px;place-items:center;font-size:.94rem;font-weight:850;line-height:1;display:inline-grid}.display-filter-panel[open]>.display-filter-open:after{content:"-"}.display-filter-open:hover,.display-filter-open:focus-visible{background:#f7faf7;outline:none}.display-filter-open-title{color:var(--slate);font-weight:500}#display-filter-summary{min-width:0;color:var(--muted);text-align:left;white-space:normal;font-size:.78rem;font-weight:700;line-height:1.15;overflow:visible}.display-filter-applied{background:#ffffff75;border:1px solid #1e4d2b1a;border-radius:6px;gap:.15rem;min-width:0;padding:.38rem .45rem;display:grid}.display-filter-applied span{color:var(--slate);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.display-filter-controls{gap:.55rem;width:100%;min-width:0;margin-top:.65rem;display:grid}.display-filter-controls .control-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:.25rem;width:100%;min-height:0;margin:0;display:grid}.display-filter-controls>.control-row>label{color:var(--slate);cursor:default;text-transform:uppercase;font-size:.72rem;font-weight:850}.display-filter-controls select,.display-filter-controls>.control-row input[type=number]{width:100%;min-width:0}.display-filter-controls>.control-row input[type=number]{box-sizing:border-box;min-height:34px;box-shadow:none;color:var(--ink);border-radius:7px;flex:none;padding:.35rem .55rem}.display-filter-controls .display-filter-actions{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.35rem;display:flex}#display-filter-apply,#display-filter-reset{background:var(--white);min-height:28px;color:var(--csu-green);cursor:pointer;font:inherit;border:1px solid #1e4d2b3d;border-radius:5px;padding:0 .65rem;font-size:.78rem;font-weight:750}#display-filter-apply{background:var(--csu-green);color:var(--white)}#display-filter-apply:disabled{color:#59595bb3;cursor:default;background:#e7ece7;border-color:#1e4d2b1f}#display-filter-apply:not(:disabled):hover,#display-filter-apply:not(:disabled):focus-visible,#display-filter-reset:hover,#display-filter-reset:focus-visible{border-color:#1e4d2b6b;outline:none}#display-filter-apply:not(:disabled):hover,#display-filter-apply:not(:disabled):focus-visible{background:#143c24}#display-filter-reset:hover,#display-filter-reset:focus-visible{background:#eef3ee}.display-filter-rules{gap:.35rem;width:100%;min-width:0;display:grid}.display-filter-empty{color:var(--muted);padding:.42rem .34rem;font-size:.78rem;font-weight:700}.filter-options .display-filter-rule{background:#ffffff8a;border:1px solid #1e4d2b1f;border-radius:7px;grid-template-columns:minmax(0,1fr);align-items:start;gap:.28rem;width:100%;min-width:0;padding:.32rem .34rem;display:grid}.filter-options .display-filter-rule-main,.filter-options .display-filter-rule-condition{align-items:center;min-width:0;display:grid}.filter-options .display-filter-rule-main{grid-template-columns:16px minmax(0,1fr);gap:.42rem}.filter-options .display-filter-rule-condition{grid-template-columns:minmax(3.4rem,auto) minmax(4.5rem,1fr);gap:.35rem;padding-left:1.62rem}.display-filter-rule input[type=checkbox]{width:15px;height:15px;accent-color:var(--csu-green);margin:0}.display-filter-rule-name{min-width:0;max-width:100%;color:var(--slate);overflow-wrap:anywhere;white-space:normal;font-size:.8rem;font-weight:750;line-height:1.1;display:block;overflow:visible}.display-filter-rule-operator{box-sizing:border-box;background:var(--white);width:100%;min-height:30px;color:var(--muted);cursor:pointer;text-align:center;border:1px solid #1e4d2b38;border-radius:6px;padding:.2rem .34rem;font-size:.74rem;font-weight:800;line-height:1}.display-filter-rule-operator:disabled{color:#59595ba3;cursor:default;background:#f5f7f5}.display-filter-rule-operator:not(:disabled):hover,.display-filter-rule-operator:not(:disabled):focus-visible{color:var(--csu-green);border-color:#1e4d2b6b}.display-filter-rule-threshold{box-sizing:border-box;background:var(--white);width:100%;min-width:0;min-height:30px;color:var(--ink);font:inherit;border:1px solid #1e4d2b3d;border-radius:6px;padding:.25rem .35rem;font-size:.8rem}.display-filter-rule-threshold:disabled{color:#59595ba3;background:#f5f7f5}#config-select{width:100%}#auth-area{z-index:2000;align-items:center;gap:.6em;display:flex;position:fixed;top:12px;right:16px}#user-badge{background:var(--panel);color:var(--ink);border:1px solid #1e4d2b33;border-radius:999px;align-items:center;gap:.4em;padding:.35em .8em;font-size:.85rem;display:inline-flex;box-shadow:0 2px 8px #0000001a}#user-badge-text{color:var(--muted)}#user-badge-name{color:var(--csu-green);font-weight:600}#login-button,#logout-button{cursor:pointer;border:none;border-radius:999px;padding:.4em 1em;font-size:.85rem;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s}#login-button{color:var(--white);background:linear-gradient(135deg,#1e4d2b,#2f6a3f);box-shadow:0 2px 8px #00000026}#login-button:hover{background:#163a21;transform:translateY(-1px);box-shadow:0 4px 12px #0003}#logout-button{background:var(--white);color:var(--slate);border:1px solid #1e4d2b40;box-shadow:0 2px 6px #00000014}#logout-button:hover{background:#f0efeb;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.bookmarks-modal-content{flex-direction:column;gap:1rem;width:min(90vw,760px);max-width:760px;max-height:min(82vh,720px);display:flex}.bookmarks-modal-header,.bookmarks-search-row,.bookmark-form-header,.bookmark-form-actions,.bookmark-region-row{align-items:center;gap:.65rem;display:flex}.bookmarks-modal-header{justify-content:space-between}.bookmarks-modal-header h2,.bookmark-form-header h3,.bookmark-form-header p{margin:0}.bookmark-form-header p{color:var(--slate);margin-top:.18rem;font-size:.78rem;font-weight:750}.bookmarks-search-row{flex-wrap:wrap;align-items:stretch}.bookmarks-search-row input,.bookmarks-search-row select,.bookmark-form-field input,.bookmark-form-field select,.bookmark-form-field textarea{box-sizing:border-box;background:var(--white);width:100%;min-width:0;color:var(--ink);font:inherit;border:1px solid #1e4d2b3d;border-radius:7px;font-size:.9rem}.bookmarks-search-row select,.bookmark-form-field select{background-image:var(--select-caret);color:var(--csu-green);background-position:right .7rem center;background-repeat:no-repeat;padding-right:2rem;font-weight:800}.bookmarks-search-row select:focus-visible,.bookmark-form-field select:focus-visible{border-color:#1e4d2b85;outline:none;box-shadow:0 0 0 3px #1e4d2b24}.bookmarks-search-row input,.bookmark-form-field input,.bookmark-form-field textarea{padding:.55rem .68rem}.bookmarks-search-row input{flex:2 260px}.bookmarks-search-row select{flex:150px}.bookmarks-filter-select{max-width:180px}.bookmarks-list{flex-direction:column;gap:.55rem;min-height:220px;max-height:52vh;padding-right:.15rem;display:flex;overflow-y:auto}.bookmarks-empty{color:var(--slate);text-align:center;border:1px dashed #1e4d2b38;border-radius:7px;padding:1rem;font-size:.92rem;font-weight:750}.bookmark-row{cursor:pointer;background:#fbfcfa;border:1px solid #1e4d2b24;border-radius:8px;grid-template-columns:minmax(118px,.28fr) minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.72rem;display:grid}.bookmark-row:hover,.bookmark-row:focus-visible{border-color:#d9782d80;outline:none;box-shadow:0 0 0 3px #d9782d21}.bookmark-row.is-last-viewed{background:#f6faf6;border-color:#1e4d2b5c}.bookmark-row-main{min-width:0}.bookmark-row-title{color:var(--ink);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.98rem;font-weight:850;display:flex}.bookmark-row-title>span:first-child{overflow-wrap:anywhere;min-width:0}.bookmark-last-viewed-badge{background:var(--white);color:var(--csu-green);border:1px solid #1e4d2b38;border-radius:999px;flex:none;padding:.18rem .42rem;font-size:.64rem;font-weight:900;line-height:1}.bookmark-row-meta,.bookmark-row-notes{color:var(--slate);overflow-wrap:anywhere;margin-top:.18rem;font-size:.78rem;font-weight:700;line-height:1.25}.bookmark-row-notes{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bookmark-row-actions{gap:.35rem;display:flex}.bookmarks-icon-button{background:var(--white);min-width:34px;min-height:32px;color:var(--csu-green);cursor:pointer;font:inherit;border:1px solid #1e4d2b33;border-radius:7px;padding:0 .55rem;font-size:.78rem;font-weight:850;line-height:1}.bookmarks-icon-button:hover:not(:disabled){background:#eef3ee}.bookmarks-icon-button.is-danger{color:#9f2f2f;border-color:#b02d2d47}.bookmark-chip,.historical-browser-bookmark-marker{--bookmark-color:#59595b}.bookmark-chip[data-event-type=rain],.historical-browser-bookmark-marker[data-event-type=rain]{--bookmark-color:#2f80ed}.bookmark-chip[data-event-type=thunderstorm],.historical-browser-bookmark-marker[data-event-type=thunderstorm]{--bookmark-color:#7b3fb2}.bookmark-chip[data-event-type=tornado],.historical-browser-bookmark-marker[data-event-type=tornado]{--bookmark-color:#c73636}.bookmark-chip[data-event-type=hail],.historical-browser-bookmark-marker[data-event-type=hail]{--bookmark-color:#2a9d8f}.bookmark-chip[data-event-type=wind_downburst],.historical-browser-bookmark-marker[data-event-type=wind_downburst]{--bookmark-color:#d9782d}.bookmark-chip[data-event-type=snow],.historical-browser-bookmark-marker[data-event-type=snow]{--bookmark-color:#5d8cc1}.bookmark-chip[data-event-type=winter_mix],.historical-browser-bookmark-marker[data-event-type=winter_mix]{--bookmark-color:#8a6fb4}.bookmark-chip[data-event-type=flooding],.historical-browser-bookmark-marker[data-event-type=flooding]{--bookmark-color:#0b6e99}.bookmark-chip[data-event-type=clutter],.historical-browser-bookmark-marker[data-event-type=clutter]{--bookmark-color:#7a7f6a}.bookmark-chip[data-event-type=test_calibration],.historical-browser-bookmark-marker[data-event-type=test_calibration]{--bookmark-color:#6a5d4d}.bookmark-chip[data-event-type=interesting_qc],.historical-browser-bookmark-marker[data-event-type=interesting_qc]{--bookmark-color:#bd5d95}.bookmark-chip[data-event-type=other],.historical-browser-bookmark-marker[data-event-type=other]{--bookmark-color:#59595b}.bookmark-chip{background:color-mix(in srgb, var(--bookmark-color), white 82%);min-width:0;color:var(--bookmark-color);text-align:center;overflow-wrap:anywhere;border-radius:6px;justify-content:center;align-items:center;padding:.34rem .48rem;font-size:.72rem;font-weight:900;line-height:1.1;display:inline-flex}.historical-browser-bookmark-form{background:#ffffffd1;border:1px solid #1e4d2b24;border-radius:8px;grid-area:1/1;min-width:0;padding:.72rem}.historical-browser-dock.is-bookmark-editing .historical-browser-bookmark-form{max-height:100%;padding:.58rem;overflow:auto}.historical-browser-bookmark-form[hidden]{display:none}.bookmark-form-header{justify-content:space-between;margin-bottom:.65rem}.bookmark-form-header h3{color:var(--csu-green);font-size:.95rem;line-height:1.15}.bookmark-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.58rem;display:grid}.historical-browser-dock.is-bookmark-editing .bookmark-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.44rem}.bookmark-form-field{flex-direction:column;gap:.24rem;min-width:0;display:flex}.bookmark-form-field span{color:var(--slate);font-size:.74rem;font-weight:850}.bookmark-form-notes,.historical-browser-dock.is-bookmark-editing .bookmark-title-field,.historical-browser-dock.is-bookmark-editing .bookmark-event-field,.historical-browser-dock.is-bookmark-editing .bookmark-form-time-mode,.historical-browser-dock.is-bookmark-editing .bookmark-form-time-mode,.historical-browser-dock.is-bookmark-editing .bookmark-form-notes{grid-column:span 2}.bookmark-form-field textarea{resize:vertical;min-height:72px}.historical-browser-dock.is-bookmark-editing .bookmark-form-field textarea{min-height:46px;max-height:72px}.bookmark-time-toggle{background:var(--white);border:1px solid #1e4d2b33;border-radius:7px;min-height:38px;display:flex;overflow:hidden}.bookmark-time-toggle label{cursor:pointer;flex:1;place-items:center;min-width:0;display:grid}.bookmark-time-toggle input{opacity:0;pointer-events:none;position:absolute}.bookmark-time-toggle span{box-sizing:border-box;width:100%;height:100%;color:var(--csu-green);text-align:center;place-items:center;padding:0 .45rem;font-size:.78rem;font-weight:850;display:grid}.bookmark-time-toggle input:checked+span{background:var(--csu-green);color:var(--white)}.bookmark-region-row{flex-wrap:wrap;margin-top:.65rem}.historical-browser-dock.is-bookmark-editing .bookmark-region-row{margin-top:.48rem}.bookmark-region-row button{background:var(--white);min-height:32px;color:var(--csu-green);cursor:pointer;font:inherit;border:1px solid #1e4d2b38;border-radius:7px;padding:0 .65rem;font-size:.8rem;font-weight:850}.bookmark-region-color-field{min-height:32px;color:var(--slate);align-items:center;gap:.4rem;margin-left:auto;font-size:.78rem;font-weight:850;display:inline-flex}.bookmark-region-color-field span{white-space:nowrap}.bookmark-region-color-field input[type=color]{box-sizing:border-box;background:var(--white);cursor:pointer;border:1px solid #1e4d2b38;border-radius:7px;width:34px;height:30px;padding:2px}#bookmark-region-status{color:var(--slate);font-size:.78rem;font-weight:850}.bookmark-form-actions{justify-content:flex-end;margin-top:.7rem}.historical-browser-dock.is-bookmark-editing .bookmark-form-actions{margin-top:.52rem}.bookmark-draw-banner{z-index:1600;color:var(--ink);background:#fffffff0;border:1px solid #1e4d2b38;border-radius:8px;align-items:center;gap:.8rem;padding:.55rem .7rem;font-size:.86rem;font-weight:850;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.bookmark-draw-banner[hidden]{display:none}.bookmark-draw-banner button{background:var(--white);min-height:30px;color:var(--csu-green);cursor:pointer;font:inherit;border:1px solid #1e4d2b38;border-radius:7px;padding:0 .65rem;font-size:.8rem;font-weight:850}.historical-browser-bookmark-marker{z-index:12;border:2px solid var(--white);background:var(--bookmark-color);cursor:pointer;border-radius:999px;width:10px;min-width:10px;height:9px;padding:0;position:absolute;top:4px;transform:translate(-50%);box-shadow:0 2px 8px #00000038}.historical-browser-bookmark-marker.has-duration{border-radius:5px;min-width:10px;transform:none}.historical-browser-bookmark-marker:after{content:attr(data-tooltip);z-index:140;width:max-content;max-width:min(300px,100vw - 24px);color:var(--white);text-align:center;white-space:pre-wrap;opacity:0;pointer-events:none;background:#2a2a2af0;border-radius:5px;padding:.34rem .48rem;font-size:.74rem;font-weight:850;line-height:1.18;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.historical-browser-bookmark-marker:hover,.historical-browser-bookmark-marker:focus-visible{z-index:130;outline:2px solid var(--white);outline-offset:1px;height:13px}.historical-browser-bookmark-marker:hover:after,.historical-browser-bookmark-marker:focus-visible:after{opacity:1}@media (width<=900px){.bookmarks-search-row,.bookmark-form-actions{flex-wrap:wrap}.bookmarks-search-row input,.bookmarks-search-row select,.bookmarks-search-row button{flex:100%}.bookmark-row{grid-template-columns:minmax(0,1fr);align-items:start}.bookmark-row-actions{justify-content:flex-start}.bookmark-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookmark-form-notes,.bookmark-form-time-mode{grid-column:1/-1}.bookmark-region-color-field{margin-left:0}}.modal{z-index:3000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--white);border-radius:12px;min-width:320px;max-width:90%;padding:1.5em 2em;box-shadow:0 12px 40px #00000040}.modal-content h2{color:var(--ink);margin:0 0 .8em;font-size:1.3rem}.modal-notice{color:var(--aggie-orange);background:#d9782d26;border:1px solid #d9782d4d;border-radius:6px;margin-bottom:1em;padding:.6em .9em;font-size:.9rem}.modal-form{flex-direction:column;gap:.9em;display:flex}.form-row{flex-direction:column;gap:.3em;display:flex}.form-row label{color:var(--slate);font-size:.9rem;font-weight:600}.form-row input{background:var(--white);color:var(--ink);border:1px solid #1e4d2b4d;border-radius:6px;padding:.55em .75em;font-size:1rem;transition:border-color .12s,box-shadow .12s}.form-row input:focus{border-color:var(--csu-green);outline:none;box-shadow:0 0 0 3px #1e4d2b26}.form-error{color:#b33;background:#c832321a;border:1px solid #c832324d;border-radius:6px;padding:.5em .75em;font-size:.9rem}.form-actions{justify-content:flex-end;gap:.6em;margin-top:.5em;display:flex}.btn-primary{cursor:pointer;color:var(--white);background:linear-gradient(135deg,#1e4d2b,#2f6a3f);border:none;border-radius:8px;padding:.55em 1.2em;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 2px 8px #00000026}.btn-primary:hover:not(:disabled){background:#163a21;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{cursor:pointer;background:var(--white);color:var(--slate);border:1px solid #1e4d2b40;border-radius:8px;padding:.55em 1.2em;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 2px 6px #00000014}.btn-secondary:hover{background:#f0efeb;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}#container.auth-required{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.timeline-slider-shell{width:100%;padding:.25em 0 .15em;position:relative}.rhi-panel{top:auto;bottom:0;right:0;left:var(--sidebar-width);width:auto;min-width:0;max-width:none;height:var(--rhi-panel-height);background:var(--white);z-index:2500;flex-direction:column;min-height:260px;max-height:75vh;transition:transform .3s ease-in-out;display:flex;position:fixed;transform:translateY(calc(100% + 18px));box-shadow:0 -4px 20px #0000002e}.rhi-panel.visible{transform:translateY(0)}.rhi-panel.resizing,.radial-panel.resizing{-webkit-user-select:none;user-select:none;transition:none}.rhi-panel-resize-handle,.radial-panel-resize-handle{cursor:ns-resize;touch-action:none;z-index:20;background:linear-gradient(#1e4d2b8c,#1e4d2b00);width:auto;height:18px;position:absolute;top:0;left:0;right:0}.rhi-panel-resize-handle:before,.radial-panel-resize-handle:before{content:"";background:#1e4d2bb3;border-radius:999px;width:72px;height:8px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000003d}.rhi-panel-resize-handle:after,.radial-panel-resize-handle:after{content:"";background:#ffffffe6;border-radius:999px;width:40px;height:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 -4px #ffffffb8,0 4px #ffffffb8}.rhi-panel-resize-handle:hover,.rhi-panel-resize-handle.active,.radial-panel-resize-handle:hover,.radial-panel-resize-handle.active{background:linear-gradient(#1e4d2bbf,#1e4d2b0d)}.rhi-panel-header{background:linear-gradient(135deg, var(--csu-green), #2f6a3f);color:var(--white);justify-content:space-between;align-items:center;padding:1em 1em .8em;display:flex}.rhi-panel-header h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.rhi-panel-actions{flex-shrink:0;align-items:center;gap:.6em;display:flex}.rhi-panel-action{background:var(--white);color:var(--csu-green);cursor:pointer;white-space:nowrap;border:1px solid #ffffffa6;border-radius:6px;padding:.45em .75em;font-size:.85rem;font-weight:700;line-height:1}.rhi-panel-action:hover{background:#eef3ee}.rhi-panel-action:disabled,.rhi-panel-action.is-disabled{cursor:not-allowed;opacity:.55}.rhi-panel-close{color:var(--white);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:opacity .15s}.rhi-panel-close:hover{opacity:1}.rhi-panel-controls{background:var(--panel);border-bottom:1px solid #1e4d2b1a;flex-wrap:wrap;gap:.5em;padding:.6em 1em;display:flex}.rhi-panel-controls .control-group{flex-direction:column;gap:.2em;display:flex}.rhi-panel-controls label{color:var(--slate);font-size:.75rem;font-weight:600}.rhi-panel-controls select{font-size:.85rem}.radial-panel{top:auto;bottom:0;right:0;left:var(--sidebar-width);width:auto;min-width:0;max-width:none;height:var(--radial-panel-height);background:var(--white);z-index:2480;flex-direction:column;min-height:300px;max-height:70vh;transition:transform .3s ease-in-out;display:flex;position:fixed;transform:translateY(calc(100% + 18px));box-shadow:0 -4px 20px #0000002e}.radial-panel.visible{transform:none}.radial-panel-header{background:linear-gradient(135deg, var(--csu-green), #2f6a3f);color:var(--white);justify-content:space-between;align-items:center;padding:.72em .9em;display:flex}.radial-panel-header h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1rem;font-weight:650;overflow:hidden}.radial-panel-actions{flex-shrink:0;align-items:center;gap:.6em;display:flex}.radial-panel-close{color:var(--white);cursor:pointer;opacity:.82;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:opacity .15s}.radial-panel-close:hover{opacity:1}.radial-panel-body{background:var(--white);flex:1;min-width:0;min-height:0;display:flex}.radial-panel-controls{background:var(--panel);border-right:1px solid #1e4d2b1a;flex-direction:column;flex:0 0 250px;gap:.8em;min-width:220px;max-width:300px;min-height:0;padding:.8em .9em;display:flex;overflow-y:auto}.radial-panel-controls .control-group{flex-direction:column;gap:.2em;min-width:0;display:flex}.radial-panel-controls label{color:var(--slate);font-size:.75rem;font-weight:650}.radial-panel-controls select{font-size:.85rem}.radial-plot-container{background:var(--white);flex:1;min-width:0;min-height:0;padding:.55em .65em .95em;overflow:hidden}#radial-plot-canvas{cursor:crosshair;width:100%;height:100%;display:block}.rhi-plot-container{flex:1;padding:.5em;overflow:hidden}.rhi-plot-container>div{width:100%;height:100%}.rhi-canvas-panel{background:var(--white);width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.rhi-canvas-panel-webgl,.rhi-canvas-panel-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.rhi-canvas-panel-canvas{cursor:grab;touch-action:none}.rhi-canvas-panel-canvas.is-panning{cursor:grabbing}.rhi-canvas-tooltip{z-index:2;width:max-content;min-width:0;color:var(--white);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f2a2feb;border:1px solid #fff3;border-radius:4px;flex-direction:column;gap:.08rem;padding:.24rem .34rem;font-size:.75rem;line-height:1.08;display:flex;position:absolute;transform:translateY(-100%);box-shadow:0 4px 12px #0003}.rhi-canvas-tooltip div{white-space:nowrap;gap:.38rem;display:flex}.rhi-canvas-tooltip span{color:#ffffffd1;font-variant-numeric:tabular-nums}.rhi-canvas-tooltip strong{color:var(--white);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;display:block}.rhi-canvas-tooltip[hidden]{display:none}.rhi-plot-container .nsewdrag,#rhi-plot-main .nsewdrag,#full-rhi-plot .nsewdrag{cursor:grab!important}.rhi-plot-container .nsewdrag:active,#rhi-plot-main .nsewdrag:active,#full-rhi-plot .nsewdrag:active{cursor:grabbing!important}.rhi-panel-loading{height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.rhi-panel-error{color:#b33;text-align:center;justify-content:center;align-items:center;height:100%;padding:1em;font-size:.9rem;display:flex}.rhi-panel-empty{height:100%;color:var(--slate);text-align:center;justify-content:center;align-items:center;padding:1em;font-size:.95rem;font-weight:850;display:flex}.rhi-azimuth-line{stroke-dasharray:8 4}.rhi-info-row{color:var(--aggie-orange);cursor:pointer;background:#d9782d1a;border:1px solid #d9782d4d;border-radius:6px;align-items:center;gap:.5em;margin-top:.5em;padding:.4em .6em;font-size:.85rem;transition:background .15s;display:flex}.rhi-info-row:hover{background:#d9782d33}.rhi-info-count{font-weight:700}.rhi-page-link{color:var(--csu-green);cursor:pointer;background:0 0;border:1px solid #1e4d2b4d;border-radius:4px;align-items:center;gap:.3em;padding:.3em .6em;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.rhi-page-link:hover{background:#1e4d2b1a}.rhi-line-tooltip{background:var(--ink);color:#fff;pointer-events:none;z-index:3000;white-space:nowrap;opacity:0;border-radius:6px;padding:.5em .75em;font-size:.8rem;line-height:1.4;transition:opacity .15s;position:fixed;box-shadow:0 4px 12px #00000040}.rhi-line-tooltip.visible{opacity:1}.rhi-line-tooltip:after{content:none}.rhi-line-tooltip .tooltip-azimuth{color:var(--csu-gold);font-weight:700}.rhi-line-tooltip .tooltip-time{color:#ffffffd9}#rhi-container{height:100vh;display:flex}#rhi-sidebar{box-sizing:border-box;z-index:2;background:linear-gradient(#fdfdfb 0%,#f3f1eb 100%);border-right:3px solid #1e4d2b1f;flex-direction:column;gap:.75em;width:270px;height:100vh;padding:1.2em 1.1em 1.4em;display:flex;position:relative;overflow-y:auto;box-shadow:6px 0 16px #0000000f}#rhi-sidebar h1{color:var(--ink);letter-spacing:.01em;align-items:center;gap:.4em;margin:0 0 .3em;font-size:1.45rem;display:flex}#rhi-sidebar h2{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:.8em 0 .4em;font-size:.95rem}#rhi-main{background:var(--paper);flex-direction:column;flex:1;min-width:0;transition:height .3s ease-in-out;display:flex;position:relative}#rhi-plot-main{flex:1;min-height:0;padding:1em}#rhi-plot-main>div{width:100%;height:100%}#rhi-time-slider-container{z-index:1000;color:var(--white);background:#1e4d2be6;border-radius:10px;flex-direction:column;align-items:center;gap:.4em;min-width:360px;padding:.5em 1em;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #0000004d}#rhi-time-slider{width:300px}#rhi-slider-times{letter-spacing:.01em;width:100%;color:var(--white);justify-content:space-between;font-size:.9rem;font-weight:700;display:flex}#rhi-time-slider-controls{align-items:center;gap:.4em;display:flex}#rhi-time-slider-controls button{background:var(--white);color:var(--csu-green);cursor:pointer;border:1px solid #1e4d2b4d;border-radius:6px;padding:4px 8px;font-weight:600;transition:background .12s,transform .12s,box-shadow .12s}#rhi-time-slider-controls button:hover{background:#e6e3d9;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}#rhi-playback-speed{text-align:center;letter-spacing:.02em;min-width:3.5em;font-weight:700}#rhi-update-data{cursor:pointer;color:var(--white);background:linear-gradient(135deg,#1e4d2b,#2f6a3f);border:none;border-radius:999px;padding:4px 10px;font-size:.9rem;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 4px 10px #0000001f}#rhi-update-data:hover{background:#163a21;transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}#rhi-container.auth-required{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}
