:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:var(--surface-0,#070b12);color:var(--text,#e5edf5);margin:0;padding:0}#root{text-align:left;flex-direction:column;width:100%;max-width:100%;min-height:100svh;display:flex}:root{--surface-0:#070b12;--surface-1:#0d1521;--surface-2:#121d2b;--surface-3:#182536;--surface-raised:#101a28;--border:#26364a;--border-strong:#37506a;--text:#e5edf5;--text-strong:#f7fafc;--text-muted:#91a3b7;--text-subtle:#64778c;--primary:#55b8f6;--primary-strong:#178bc1;--on-primary:#fff;--primary-soft:#12364c;--warning:#e5a23b;--danger:#f87171;--success:#4ade80;--scrim:#02060c9e;--shadow:0 22px 70px #0006;--radius-sm:7px;--radius-md:12px;--radius-lg:18px;--ease:.18s ease}:root[data-theme=light]{--surface-0:#f4f7fa;--surface-1:#fff;--surface-2:#f0f4f8;--surface-3:#e6edf4;--surface-raised:#fff;--border:#cbd7e2;--border-strong:#9fb2c3;--text:#26384a;--text-strong:#102235;--text-muted:#596f83;--text-subtle:#72869a;--primary:#087eaf;--primary-strong:#076d98;--primary-soft:#dceffc;--warning:#a95d00;--danger:#b91c1c;--success:#15803d;--scrim:#14233259;--shadow:0 22px 60px #1f32452e}button,input,select,summary{font:inherit}button,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline-offset:2px;outline:2px solid var(--primary)!important}.skip-link{z-index:2000;color:#07121d;background:#fff;border-radius:4px;padding:.7rem 1rem;position:fixed;top:-4rem;left:.75rem}.skip-link:focus{top:.75rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.live-region:empty{display:none}.tabular{font-variant-numeric:tabular-nums}.dashboard{height:100svh;font-family:system-ui,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.sidebar{border-right:1px solid #1a2f46;flex-direction:column;padding:0;display:flex;overflow-y:auto}.sidebar-header{border-bottom:1px solid #1a2f46}.sidebar-header h1{font-weight:700;line-height:1.3}.sidebar-header h1 span{color:#38bdf8}.sidebar-subtitle{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.7rem}.sidebar-section{flex-direction:column;flex:none;display:flex}.burst-section{border-bottom:1px solid #1a2f46;flex-direction:column;flex:auto;min-height:0;padding-top:0;padding-bottom:.75rem;display:flex}.sidebar.has-files .station-checklist{max-height:140px}.sidebar.has-files .burst-section{flex-shrink:0;min-height:12rem}.section-title{text-transform:uppercase;letter-spacing:.1em;margin:0 0 .25rem;font-size:.65rem;font-weight:700}.control-label{flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:600;display:flex}.control-input{border:1px solid #1e3a52;padding:.4rem .6rem;font-family:inherit;font-size:.82rem;transition:border-color .2s}.control-input:focus{border-color:#38bdf8}.control-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.control-slider{appearance:none;cursor:pointer;background:#1e3a52;border-radius:2px;outline:none;width:100%;height:4px;margin-top:.4rem;transition:opacity .2s}.control-slider:disabled{opacity:.3;cursor:not-allowed}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#38bdf8;border-radius:50%;width:14px;height:14px;transition:background .2s}.control-slider:not(:disabled)::-webkit-slider-thumb:hover{background:#7dd3fc}.slider-row{justify-content:space-between;align-items:center;width:100%;display:flex}.slider-value{font-variant-numeric:tabular-nums;color:#38bdf8;text-align:right;min-width:2.5rem;font-size:.78rem}.control-checkbox{color:#7fb3d3;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.control-checkbox input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;flex-shrink:0;width:14px;height:14px}.btn-load{cursor:pointer;border:none;margin-top:.25rem;padding:.55rem .75rem;font-family:inherit;font-size:.82rem;font-weight:600}.btn-load:disabled{opacity:.5;cursor:not-allowed}.main-content{scrollbar-gutter:stable;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden auto}.main-header{border-bottom:1px solid #1a2f46;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.main-header h2{color:#7fb3d3;letter-spacing:.03em;margin:0;font-size:.9rem;font-weight:600}.main-header .file-badge{color:#4a7a9b;text-overflow:ellipsis;white-space:nowrap;background:#0d1b2a;border:1px solid #1a2f46;border-radius:3px;max-width:420px;padding:.2rem .5rem;font-family:ui-monospace,Consolas,monospace;font-size:.7rem;overflow:hidden}.plot-area{flex:1 0 420px;position:relative}.status-message{color:#4a7a9b;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;inset:0}.spinner{border:3px solid #1a2f46;border-top-color:#38bdf8;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#f87171;text-align:center;background:#1f0a0a;border:1px solid #7f1d1d;border-radius:5px;max-width:500px;padding:.6rem 1rem;font-size:.82rem}.burst-list{scrollbar-width:thin;scrollbar-color:#1a2f46 transparent;flex-direction:column;flex:10rem;gap:2px;min-height:10rem;padding-right:2px;display:flex;overflow-y:auto}.burst-list::-webkit-scrollbar{width:4px}.burst-list::-webkit-scrollbar-track{background:0 0}.burst-list::-webkit-scrollbar-thumb{background:#1a2f46;border-radius:2px}.burst-hour-group{margin-bottom:4px}.burst-hour-header{letter-spacing:.04em;-webkit-user-select:none;user-select:none;border-bottom:1px solid #0d1e2e;margin-bottom:2px;padding:.15rem .6rem;font-family:ui-monospace,Consolas,monospace;font-size:.66rem}.burst-chip{text-align:left;color:#5a8fa8;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:3px;padding:.3rem .6rem;font-family:ui-monospace,Consolas,monospace;font-size:.78rem;transition:background .15s,color .15s,border-color .15s;overflow:hidden}.burst-chip:hover{border-color:#1e3a52}.burst-chip.active{border-color:#1d6fa6;font-weight:600}.files-hint{margin:0;font-size:.72rem;font-style:italic}.files-loading-dot{vertical-align:middle;background:#38bdf8;border-radius:50%;width:6px;height:6px;margin-left:.4rem;animation:1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.station-checklist{scrollbar-width:thin;scrollbar-color:#1a2f46 transparent;border:1px solid #1e3a52;max-height:210px;margin-top:.2rem;padding:2px;overflow-y:auto}.station-checklist::-webkit-scrollbar{width:4px}.station-checklist::-webkit-scrollbar-track{background:0 0}.station-checklist::-webkit-scrollbar-thumb{background:#1a2f46;border-radius:2px}.station-check-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;padding:.22rem .5rem;transition:background .1s;display:flex}.station-check-row span{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;transition:color .1s;overflow:hidden}.burst-chip-receiver{color:var(--text-muted);margin-left:.35rem;font-size:.65rem}.station-status-dot{border-radius:50%;flex:none;width:7px;height:7px}.station-status-dot.active{background:#22c55e;box-shadow:0 0 5px #22c55e88}.station-status-dot.inactive{background:#64748b}.station-check-row input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;flex-shrink:0;width:13px;height:13px}.layer-row{border-bottom:1px solid #0d1e2e;flex-direction:column;gap:.15rem;padding:.35rem 0;display:flex}.layer-row:last-child{border-bottom:none}.layer-name{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;display:flex;overflow:hidden}.layer-name input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;flex-shrink:0;width:13px;height:13px}.layer-name span{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;overflow:hidden}.layer-failed{color:#92400e;padding:.2rem 0;font-size:.7rem;font-style:italic}.btn-reset-zoom{color:#4ade80;cursor:pointer;white-space:nowrap;background:#0d2840;border:1px solid #166534;border-radius:4px;padding:.25rem .55rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.btn-reset-zoom:hover{color:#86efac;background:#14532d}.tab-btn{cursor:pointer;border-bottom:none;font-family:inherit}.tab-btn.active{border-color:#1a2f46;margin-bottom:-1px;padding-bottom:calc(.4rem + 1px)}.tab-badge{font-size:.62rem;line-height:1.4}.tab-panel{background:#0d1b2a;border-bottom:1px solid #1a2f46;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:1.25rem;padding:.6rem 1.5rem;display:flex}.tab-group{align-items:center;gap:1rem;display:flex}.tab-field{flex-direction:column;gap:.25rem;min-width:110px;font-size:.72rem;font-weight:600;display:flex}.tab-num{width:80px}.slider-field{min-width:160px}.tab-hint{max-width:420px;font-size:.7rem;font-style:italic}.tab-layer-row{border-bottom:none;min-width:200px}.stat-chip{color:#38bdf8;white-space:nowrap;background:#0d2840;border:1px solid #1d6fa6;border-radius:4px;padding:.25rem .55rem;font-family:ui-monospace,Consolas,monospace;font-size:.7rem}.btn-apply{cursor:pointer;border:none;padding:.35rem .8rem;font-family:inherit;font-size:.74rem;font-weight:600}.btn-apply:disabled{opacity:.5;cursor:not-allowed}.segmented{border:1px solid #1e3a52;border-radius:4px;display:flex;overflow:hidden}.segmented button{color:#5a8fa8;cursor:pointer;background:#0a1828;border:none;padding:.32rem .7rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.segmented button+button{border-left:1px solid #1e3a52}.segmented button.active{color:#38bdf8;background:#0d2840}.btn-tool{cursor:pointer;border:1px solid #1e3a52;font-family:inherit;font-size:.74rem;font-weight:600}.btn-tool:disabled{cursor:not-allowed}.btn-tool.active{background:#1a2e05;border-color:#4d7c0f}.station-search{margin-top:.3rem;padding:.3rem .5rem;font-size:.74rem}.burst-hour-header.collapsible{cursor:pointer;align-items:center;gap:.3rem;transition:color .15s;display:flex}.burst-hour-header.collapsible:hover{color:#5a8fa8}.chevron{width:.7rem;font-size:.6rem;display:inline-block}.hour-count{color:#1e3a52;margin-left:auto;padding-right:.3rem}.modal-overlay{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid #1e3a52;border-radius:8px;flex-direction:column;width:min(560px,92vw);max-height:80vh;display:flex}.modal-header{border-bottom:1px solid #1a2f46;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.modal-header h3{margin:0;font-size:.85rem;font-weight:600}.modal-close{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.9rem;transition:color .15s,background .15s}.modal-close:hover{color:#f87171;background:#0d1e2e}.modal-body{scrollbar-width:thin;scrollbar-color:#1a2f46 transparent;padding:.5rem 1rem 1rem;overflow-y:auto}.header-table{border-collapse:collapse;width:100%;font-family:ui-monospace,Consolas,monospace;font-size:.72rem}.header-table td{vertical-align:top;border-bottom:1px solid #0d1e2e;padding:.22rem .5rem}.header-key{white-space:nowrap;width:1%}.header-val{word-break:break-all}.app-root{flex-direction:column;height:100svh;display:flex;overflow:hidden}.app-nav{background:#0b1622;border-bottom:1px solid #1a2f46;flex:none;align-items:center;display:flex}.app-brand{font-size:.95rem;font-weight:700}.app-brand b{margin-left:.4rem}.app-nav-tabs{display:flex}.app-nav-tabs button{cursor:pointer;background:0 0;border:none;font-family:inherit;font-weight:600}.app-nav-spacer{flex:1}.app-root .dashboard{flex:auto;height:auto;min-height:0}.stations-map{flex-direction:column;flex:auto;min-height:0;display:flex}.map-toolbar{border-bottom:1px solid #14283c;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1.25rem;display:flex}.map-title-block h2{letter-spacing:.02em;margin:0;font-size:1.1rem;font-weight:700}.map-subtitle{align-items:center;margin:.25rem 0 0;font-size:.72rem;display:flex}.map-controls{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.map-seg button{padding:.35rem .75rem;font-size:.76rem}.map-check{color:#9db9ca;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.32rem;font-size:.74rem;display:flex}.map-check input{accent-color:#38bdf8;cursor:pointer}.map-check input:disabled{cursor:not-allowed}.map-search{border:1px solid #1e3a52;outline:none;width:150px;padding:.35rem .6rem;font-family:inherit;font-size:.74rem}.map-search:focus{border-color:#38bdf8}.map-search::placeholder{color:#4a6b82}.map-refresh{color:#7fb3d3;cursor:pointer;background:#0a1828;border:1px solid #1e3a52;border-radius:4px;padding:.3rem .55rem;font-size:.9rem;line-height:1;transition:background .15s,color .15s}.map-refresh:hover{color:#38bdf8;background:#0d1e2e}.map-canvas{flex:auto;min-height:0;position:relative}.map-overlay{z-index:5;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.map-error{color:#f87171}.map-statusbar{color:#9db9ca;border-top:1px solid #14283c;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.5rem 1.25rem;font-size:.74rem;display:flex}.map-stat{align-items:center;gap:.35rem;display:flex}.map-stat-warn{color:#f59e0b}.dot{border-radius:50%;width:9px;height:9px;margin:0 .25rem;display:inline-block}.dot-green{background:#22c55e;box-shadow:0 0 5px #22c55e88}.dot-red{background:#ef4444;box-shadow:0 0 5px #ef444488}.page-shell{flex:auto;min-height:0;padding:1.25rem clamp(1rem,3vw,2.5rem) 3rem;overflow:auto}.page-header{justify-content:space-between;align-items:end;gap:1rem;max-width:1280px;margin:0 auto 1rem;display:flex}.page-header h1{margin:0;font-size:clamp(1.35rem,3vw,2rem)}.page-subtitle{max-width:70ch;margin:.45rem 0 0;font-size:.78rem;line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.12em;margin:0 0 .25rem;font-size:.7rem;font-weight:700}.filter-bar{border:1px solid var(--border);grid-template-columns:160px 150px minmax(220px,1fr) auto;align-items:end;gap:.75rem;max-width:1280px;margin:0 auto 1rem;display:grid}.filter-bar label,.page-header label,.inline-controls label{gap:.35rem;font-size:.78rem;font-weight:600;display:grid}.filter-bar input,.filter-bar select,.page-header input,.inline-controls input{box-sizing:border-box;border:1px solid var(--border);padding:.5rem .65rem}.btn-primary,.inline-controls button{cursor:pointer;border:1px solid #1686b6;padding:.5rem .9rem;font-weight:700}.btn-primary:disabled,.inline-controls button:disabled{opacity:.45;cursor:not-allowed}.data-table-wrap{border:1px solid var(--border);max-width:1280px;margin:0 auto;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.82rem}.data-table th{z-index:1;text-align:left;padding:.7rem;position:sticky;top:0}.data-table td{vertical-align:top;border-top:1px solid #182f46;padding:.65rem .7rem}.type-badge{color:#f5b65f;text-align:center;border:1px solid #a65e08;border-radius:999px;min-width:2.5rem;padding:.2rem .4rem;font-weight:700;display:inline-block}.station-links{flex-wrap:wrap;gap:.25rem .45rem;min-width:16rem;display:flex}.station-link{min-height:32px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.2rem 0;font-weight:650}.station-link:hover{border-bottom-color:currentColor}.station-link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #7dd3fc}.longitude-cell{text-align:right;min-width:4.6rem}.source-badge{border-radius:4px;min-width:8.5rem;padding:.2rem .4rem;font-size:.74rem;display:inline-block}.page-error,.page-warning,.empty-card{border-radius:7px;max-width:1280px;margin:0 auto 1rem;padding:1rem}.page-error{color:#fecaca;background:#3b1115;border:1px solid #7f1d1d}.page-error button{margin-left:1rem}.page-warning{color:#f6c978;background:#2b1e0d;border:1px solid #7c4a05}.empty-card{text-align:center;border:1px dashed var(--border);color:var(--text-muted)}.ranking-card{border:1px solid var(--border);max-width:900px;margin:0 auto;padding:1rem}.stats-controls{align-items:end;gap:.75rem;display:flex}.stats-controls label{gap:.3rem;font-size:.78rem;display:grid}.stats-controls input,.stats-controls select{border:1px solid var(--border);padding:.45rem .6rem}.stats-controls button{border:1px solid var(--border);min-height:42px;color:var(--text);background:var(--surface-2);cursor:pointer;border-radius:5px;padding:.45rem .75rem}.stats-controls button:hover{border-color:var(--border-strong);color:var(--text-strong)}.stats-controls button:disabled{opacity:.5;cursor:wait}.timeline-card{border:1px solid var(--border);max-width:900px;margin:0 auto 1rem;padding:1rem}.timeline-card h2{margin-top:0}.timeline-bars{border-bottom:1px solid var(--border);align-items:stretch;gap:3px;height:155px;padding-top:18px;display:flex}.timeline-bar-item{flex:1;grid-template-rows:1fr 20px;align-items:end;min-width:8px;display:grid}.timeline-bar-item>i{background:#168fbd;border-radius:2px 2px 0 0;width:100%;min-height:0;font-style:normal;display:block;position:relative}.timeline-bar-item>i b{color:#a9c5d8;opacity:0;padding-bottom:2px;font-size:.62rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.timeline-bar-item:hover>i b,.timeline-bar-item:focus-within>i b{opacity:1}.timeline-bar-item small{color:#7899ad;text-align:center;align-self:center;font-size:.58rem}.ranking-card h2{margin-top:0}.ranking-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #183047;grid-template-columns:2.5rem minmax(170px,1fr) minmax(100px,2fr) 3rem;align-items:center;gap:.65rem;width:100%;min-height:44px;display:grid}.rank{color:var(--text-muted);text-align:center}.ranking-name{font-weight:600}.ranking-bar{border-radius:99px;height:8px;overflow:hidden}.ranking-bar i{background:var(--primary);height:100%;display:block}.statistics-page{padding-bottom:4rem}.statistics-view-switcher{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-width:760px;margin:0 auto 1rem;padding:.35rem;display:grid}.statistics-view-switcher button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;gap:.22rem;min-height:64px;padding:.7rem .9rem;transition:border-color .18s,background-color .18s,color .18s;display:grid}.statistics-view-switcher button[aria-selected=true]{box-shadow:inset 0 0 0 1px #1c90bf33}.statistics-view-switcher button:focus-visible{outline-offset:3px;outline:2px solid #7dd3fc}.statistics-view-switcher strong{font-size:.9rem}.statistics-view-switcher span{color:#7899ad;font-size:.7rem;font-weight:500}.statistics-view-switcher button[aria-selected=true] span{color:#a9cee1}.statistics-summary{max-width:900px;margin:0 auto}.statistics-summary-toolbar{border:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.statistics-summary-toolbar h2{margin:0}.statistics-summary-toolbar p:not(.eyebrow){margin:.35rem 0 0;font-size:.74rem}.xmatch-card{border:1px solid var(--border);max-width:1280px;margin:0 auto;padding:1rem}.xmatch-card>header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.xmatch-card h2{margin:0}.xmatch-card header p:not(.eyebrow){max-width:72ch;margin:.4rem 0 0;font-size:.76rem;line-height:1.5}.xmatch-basis{color:#7899ad;margin:.5rem 0 0;font-size:.7rem}.xmatch-data{color:#a9c5d8;margin-top:.75rem;font-size:.78rem}.xmatch-data summary{cursor:pointer;min-height:36px}.xmatch-data .data-table-wrap{max-height:360px}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1000px;margin:0 auto;display:grid}.about-grid article{border:1px solid var(--border);padding:1.25rem}.about-grid h2{margin-top:0}.about-grid p{line-height:1.65}.about-grid a{text-underline-offset:.2em;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.about-grid code{color:#bae6fd;overflow-wrap:anywhere}.about-links{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.lightcurve-card{border:1px solid var(--border);flex:none;margin:.75rem 1rem 1rem;padding:.8rem}.lightcurve-toolbar{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.lightcurve-toolbar .inline-controls{margin-bottom:0}.lightcurve-actions{flex-wrap:wrap;gap:.5rem;display:flex}.field-help{align-self:center;max-width:15rem;font-size:.7rem;line-height:1.4}.lightcurve-close{cursor:pointer;border:1px solid #315472;border-radius:5px;flex:none;min-height:42px;padding:.5rem .9rem;font-weight:700}.lightcurve-plot{margin-top:.5rem}.daily-overview{border:1px solid var(--border);flex:none}.daily-overview header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.daily-overview h2{margin:0 0 .75rem}.daily-overview header span{color:var(--text-muted);font-size:.78rem}.daily-overview header p{color:var(--text-muted);margin:.35rem 0 0;font-size:.74rem}.overview-colormap{gap:.3rem;min-width:130px;font-size:.74rem;font-weight:600;display:grid}.overview-colormap select,.overview-task-controls input{border:1px solid var(--border);padding:.45rem .6rem}.overview-stations{gap:.85rem;margin-top:1rem;display:grid}.overview-station-card{border:1px solid #193149;border-radius:7px;min-width:0;overflow:hidden}.overview-station-card>h3{justify-content:space-between;gap:.75rem;margin:0;padding:.65rem .8rem;font-size:.84rem;display:flex}.overview-station-card>h3 small{color:var(--text-muted);font-weight:500}.overview-station-card.no_data{opacity:.78;border-style:dashed;padding-bottom:1.25rem}.overview-receiver>p{border-top:1px solid #193149;margin:0;padding:.4rem .8rem;font-size:.72rem}.overview-warning{color:#f6c978;margin:0;padding:.5rem .8rem;font-size:.72rem}.overview-task-controls{border-radius:6px;align-items:end}.overview-task-controls legend{color:#9fc5dd;padding:0 .35rem;font-size:.72rem;font-weight:700}.overview-task-controls label{gap:.25rem;font-size:.72rem;display:grid}.tool-help{flex-basis:100%;margin:0;font-size:.7rem;line-height:1.45}.inline-controls{align-items:end;gap:.75rem;margin-bottom:.5rem;display:flex}.btn-tool{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width<=900px){.app-nav{align-items:stretch;overflow-x:auto}.app-nav-tabs{min-width:max-content}.app-nav-tabs button{min-height:44px}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-nav{flex-wrap:wrap;gap:.25rem;height:auto;min-height:0;padding:.4rem .5rem .5rem;overflow-x:visible}.app-brand{flex:1 0 100%;padding:.15rem .35rem}.app-nav-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;width:100%;min-width:0;display:grid}.app-nav-tabs button{white-space:normal;min-width:0;padding:.45rem .25rem;line-height:1.2}.app-nav-spacer{display:none}.dashboard{flex-direction:column;overflow:hidden auto}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex:none;width:100%;min-width:0;max-height:none;overflow:visible}.sidebar.has-files .burst-section{min-height:0}.sidebar.has-files .burst-list{flex:none;min-height:12rem;max-height:42dvh}.main-content{min-height:70dvh;overflow:visible}.plot-area{flex-basis:360px;min-height:360px}.lightcurve-toolbar{flex-direction:column;align-items:stretch}.lightcurve-actions{justify-content:space-between}.lightcurve-close{align-self:flex-end}.tab-btn{white-space:normal;justify-content:center;min-height:44px;padding-inline:.35rem}.filter-bar{grid-template-columns:1fr}.page-header,.stats-controls{flex-direction:column;align-items:stretch}.statistics-view-switcher{grid-template-columns:1fr}.statistics-summary-toolbar,.xmatch-card>header{flex-direction:column;align-items:stretch}.about-grid{grid-template-columns:1fr}.ranking-row{grid-template-columns:2rem minmax(130px,1fr) 3rem}.ranking-bar{display:none}.inline-controls{flex-direction:column;align-items:stretch}.overview-task-controls{grid-template-columns:1fr}.daily-overview header{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-root,.dashboard,.main-content,.page-shell{background:var(--surface-0);color:var(--text)}.app-root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-nav{z-index:50;border-bottom-color:var(--border);background:color-mix(in srgb, var(--surface-1) 96%, transparent);height:62px;min-height:62px;box-shadow:0 1px 0 color-mix(in srgb, var(--border) 65%, transparent);gap:1rem;padding:0 1rem}.app-brand{min-width:205px;color:var(--text-strong);letter-spacing:-.02em;line-height:1.05;display:grid}.app-brand b{color:var(--text-strong);margin:0;font-size:1rem;font-weight:750}.app-brand small{color:var(--text-subtle);letter-spacing:.07em;text-transform:uppercase;margin-top:.25rem;font-size:.64rem;font-weight:600}.app-nav-tabs{align-items:center;gap:.2rem}.app-nav-tabs button{border-radius:var(--radius-sm);min-height:42px;color:var(--text-muted);transition:color var(--ease), background-color var(--ease);padding:.55rem .8rem;font-size:.77rem}.app-nav-tabs button:hover{color:var(--text-strong);background:var(--surface-2)}.app-nav-tabs button.active{color:var(--text-strong);background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 38%, transparent)}.theme-toggle{border:1px solid var(--border);min-width:82px;min-height:42px;color:var(--text-muted);background:var(--surface-2);transition:border-color var(--ease), color var(--ease), background-color var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface-3)}.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.sidebar{border-right-color:var(--border);background:var(--surface-1);scrollbar-color:var(--border) transparent;width:272px;min-width:272px}.sidebar-header{border-bottom-color:var(--border);padding:1.1rem 1.1rem .9rem}.sidebar-header h1{color:var(--text-strong);letter-spacing:-.01em;margin:0;font-size:.96rem}.sidebar-subtitle,.section-title,.files-hint,.burst-hour-header,.tab-hint,.tool-help,.field-help{color:var(--text-subtle)}.sidebar-section{gap:.8rem;padding:1rem 1.1rem}.burst-section{border-color:var(--border)}.control-label,.tab-field,.filter-bar label,.page-header label,.inline-controls label,.overview-colormap,.overview-task-controls label,.stats-controls label{color:var(--text-muted)}.control-input,.filter-bar input,.filter-bar select,.page-header input,.inline-controls input,.overview-colormap select,.overview-task-controls input,.stats-controls input,.stats-controls select,.map-search{border-color:var(--border);border-radius:var(--radius-sm);min-height:42px;color:var(--text);background:var(--surface-2)}.control-input option{color:var(--text);background:var(--surface-2)}.control-input[type=date]::-webkit-calendar-picker-indicator{filter:none;opacity:.72}:root[data-theme=dark] .control-input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}.station-checklist{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.station-check-row{border-radius:5px;min-height:34px}.station-check-row span,.layer-name span{color:var(--text-muted)}.station-check-row:hover,.burst-chip:hover{background:var(--surface-3)}.station-check-row:hover span,.burst-chip:hover{color:var(--text)}.station-check-row.selected,.burst-chip.active{background:var(--primary-soft)}.station-check-row.selected span,.burst-chip.active{color:var(--primary)}.btn-load,.btn-apply,.btn-primary,.inline-controls button,.tool-primary-action{border:1px solid color-mix(in srgb, var(--primary-strong) 75%, var(--border));border-radius:var(--radius-sm);color:#fff;background:var(--primary-strong);min-height:42px;box-shadow:none;transition:filter var(--ease), opacity var(--ease)}.btn-load:hover,.btn-apply:hover,.btn-primary:hover,.inline-controls button:hover{background:var(--primary-strong);filter:brightness(1.1)}.main-content{position:relative}.workspace-toolbar{z-index:25;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-1) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:58px;padding:.5rem .85rem;display:flex;position:sticky;top:0}.workspace-toolbar-actions{align-items:center;gap:.35rem;min-width:0;display:flex}.tab-btn{border-radius:var(--radius-sm);min-height:40px;color:var(--text-muted);white-space:nowrap;transition:color var(--ease), border-color var(--ease), background-color var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.42rem;padding:.48rem .68rem;font-size:.73rem;font-weight:700;display:inline-flex}.tab-btn:hover{border-color:var(--border);color:var(--text-strong);background:var(--surface-2)}.tab-btn.active{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary);background:var(--primary-soft);margin:0;padding:.48rem .68rem}.tab-btn.quick-toggle{border-color:var(--border);background:var(--surface-2)}.tab-btn.quick-toggle.active{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}.toggle-state{color:var(--text-subtle);font-size:.62rem;font-weight:650}.tab-btn.quick-toggle.active .toggle-state{color:var(--primary)}.tab-badge{color:#fff;background:var(--primary-strong);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 .3rem;display:inline-flex}.workspace-context{text-align:right;min-width:0;max-width:32%;display:grid}.workspace-context span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font:650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.workspace-context small{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.62rem;overflow:hidden}.workspace-drawer-scrim{z-index:80;background:var(--scrim);cursor:default;border:0;width:100%;height:auto;padding:0;animation:.18s ease-out both workspace-fade;position:fixed;inset:62px 0 0}.workspace-drawer{z-index:90;border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(430px,100vw - 24px);color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow);flex-direction:column;animation:.22s ease-out both workspace-drawer-in;display:flex;position:fixed;top:74px;bottom:12px;right:12px;overflow:hidden}@keyframes workspace-fade{0%{opacity:0}}@keyframes workspace-drawer-in{0%{opacity:0;transform:translate(20px)}}.workspace-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.workspace-drawer-header h2,.tool-section-heading h3{color:var(--text-strong);letter-spacing:-.01em;margin:.18rem 0 0;font-size:1rem}.section-kicker{color:var(--primary);letter-spacing:.09em;text-transform:uppercase;font-size:.62rem;font-weight:750;display:block}.drawer-close{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:38px;color:var(--text-muted);background:var(--surface-2);padding:.4rem .7rem;font-size:.7rem;font-weight:700}.drawer-close:hover{color:var(--text-strong);border-color:var(--border-strong)}.workspace-drawer-body{scrollbar-color:var(--border) transparent;min-height:0;padding:1rem;overflow-y:auto}.workspace-drawer .tab-panel{background:0 0;border:0;align-items:stretch;gap:1rem;padding:0;display:grid}.workspace-drawer .tab-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.workspace-drawer .tab-field,.workspace-drawer .slider-field{width:100%;min-width:0}.workspace-drawer .tab-num{width:100%}.workspace-drawer .segmented{border-color:var(--border);border-radius:var(--radius-sm);width:100%}.workspace-drawer .segmented button{min-height:40px;color:var(--text-muted);background:var(--surface-2);flex:1}.workspace-drawer .segmented button.active{color:var(--primary);background:var(--primary-soft)}.workspace-drawer .layer-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:.8rem}.tool-sections{gap:.85rem;display:grid}.tool-section,.tool-disclosure{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);padding:.95rem}.tool-section-heading{gap:.55rem;margin-bottom:.85rem;display:grid}.tool-section-heading p{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.5}.tool-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.btn-tool{border-color:var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);background:var(--surface-2);transition:color var(--ease), border-color var(--ease), background-color var(--ease);padding:.55rem .7rem}.btn-tool:hover{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface-3)}.btn-tool.active{border-color:color-mix(in srgb, var(--success) 45%, var(--border));color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--surface-2))}.btn-tool:disabled{opacity:.42}.overview-task-controls{border:0;grid-template-columns:1fr 1fr;gap:.65rem;width:100%;margin:0;padding:0;display:grid}.overview-task-controls .tool-primary-action{grid-column:1/-1;width:100%}.task-progress-card{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--surface-2);grid-template-columns:1fr auto;gap:.45rem .75rem;margin-top:.85rem;padding:.75rem;font-size:.72rem;display:grid}.task-progress-card strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.task-progress-track{background:var(--surface-3);border-radius:99px;grid-column:1/-1;height:5px;overflow:hidden}.task-progress-track i{transform-origin:0;border-radius:inherit;background:var(--primary);width:100%;height:100%;transition:transform .22s;display:block}.task-progress-card p,.task-progress-card a{grid-column:1/-1;margin:0}.task-progress-card.failed{border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.task-progress-card.succeeded{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.tool-disclosure{padding:0;overflow:hidden}.tool-disclosure summary{min-height:52px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .95rem;font-size:.76rem;font-weight:750;display:flex}.tool-disclosure summary span{color:var(--text-subtle);font-size:.64rem;font-weight:600}.tool-disclosure-body{gap:.5rem;padding:0 .95rem .95rem;display:grid}.detection-pending{color:var(--text-muted);margin:.75rem 0 0;font-size:.72rem}.detection-result{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);gap:.55rem;margin-top:.75rem;padding:.75rem;display:grid}.detection-result header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.detection-result header strong{color:var(--text-strong);font-size:.76rem}.detection-result header span{color:var(--text-muted);background:var(--surface-3);border-radius:99px;padding:.18rem .45rem;font-size:.64rem;font-weight:750}.detection-result.burst{border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.detection-result.burst header span{color:#fecaca;background:color-mix(in srgb, var(--danger) 18%, var(--surface-3))}.detection-result.candidate{border-color:color-mix(in srgb, var(--warning) 55%, var(--border))}.detection-result.candidate header span{color:#fde68a;background:color-mix(in srgb, var(--warning) 16%, var(--surface-3))}.detection-result.clear header span{color:#bbf7d0;background:color-mix(in srgb, var(--success) 15%, var(--surface-3))}.detection-result p{color:var(--text-muted);margin:0;font-size:.7rem;line-height:1.5}.detection-result dl{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:0;display:grid}.detection-result dl div{gap:.15rem;min-width:0;display:grid}.detection-result dt{color:var(--text-subtle);font-size:.6rem}.detection-result dd{overflow-wrap:anywhere;color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:.68rem}.tool-guide{gap:0;margin:0;padding:0 .95rem .95rem;display:grid}.tool-guide div{border-top:1px solid var(--border);gap:.2rem;padding:.65rem 0;display:grid}.tool-guide dt{color:var(--text);font-size:.72rem;font-weight:750}.tool-guide dd{color:var(--text-muted);margin:0;font-size:.68rem;line-height:1.45}.lightcurve-card,.daily-overview,.filter-bar,.data-table-wrap,.ranking-card,.timeline-card,.statistics-summary-toolbar,.xmatch-card,.about-grid article{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-1)}.lightcurve-card.embedded{background:0 0;border:0;border-radius:0;margin:0;padding:0}.lightcurve-card.embedded .lightcurve-toolbar{flex-direction:column}.lightcurve-card.embedded .inline-controls{width:100%;display:grid}.lightcurve-card.embedded .inline-controls button{width:100%}.lightcurve-context{color:var(--text-muted);overflow-wrap:anywhere;margin:0 0 .85rem;font:.68rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.lightcurve-close{border-color:var(--border);color:var(--text);background:var(--surface-2)}.lightcurve-close:hover{border-color:var(--primary);color:var(--text-strong)}.lightcurve-result,.combined-result{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-0);flex:none;min-width:0}.lightcurve-result>header,.combined-result>header{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem .35rem;display:flex}.lightcurve-result h2,.combined-result h2{color:var(--text-strong);margin:.12rem 0 0;font-size:.92rem}.lightcurve-result header p,.combined-result header p{color:var(--text-muted);margin:.3rem 0 0;font:.68rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.lightcurve-result .lightcurve-actions{justify-content:flex-end}.lightcurve-result .lightcurve-actions button,.task-result-action{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);background:var(--surface-2);cursor:pointer;padding:.5rem .75rem}.lightcurve-result .lightcurve-actions button:hover,.task-result-action:hover{color:var(--text-strong);border-color:var(--primary)}.lightcurve-result .lightcurve-plot{margin:0}.combined-result>.js-plotly-plot{display:block}.result-loading{color:var(--text-muted);text-align:center;flex:none;padding:1.25rem}.task-result-action{width:100%;color:var(--on-primary);border-color:var(--primary-strong);background:var(--primary-strong);grid-column:1/-1;font-weight:750}.task-result-action:hover{color:var(--on-primary);filter:brightness(1.1)}.daily-overview{margin:1rem;padding:1rem}.daily-overview h2,.page-header h1,.statistics-summary-toolbar h2,.xmatch-card h2,.about-grid h2,.about-grid strong{color:var(--text-strong)}.overview-station-card{border-color:var(--border);background:var(--surface-2)}.overview-station-card>h3{color:var(--text-strong);background:var(--surface-3)}.overview-receiver>p{border-color:var(--border);color:var(--text-muted)}.page-shell{padding-top:1.75rem}.page-header{margin-bottom:1.25rem}.page-header h1{letter-spacing:-.025em}.page-subtitle,.about-grid p{color:var(--text-muted)}.eyebrow{color:var(--primary)}.filter-bar{padding:.85rem}.data-table{color:var(--text);background:var(--surface-1)}.data-table th{color:var(--text-muted);background:var(--surface-2)}.data-table td{border-color:var(--border)}.data-table tbody tr:hover,.ranking-row:hover{background:var(--surface-2)}.longitude-cell{color:var(--text)}.source-badge{color:var(--primary);background:var(--primary-soft)}.station-link,.about-grid a{color:var(--primary)}.station-link:hover{color:var(--text-strong)}.ranking-row{border-color:var(--border);color:var(--text)}.ranking-bar{background:var(--surface-3)}.statistics-view-switcher{border-color:var(--border);background:var(--surface-2)}.statistics-view-switcher button{color:var(--text-muted)}.statistics-view-switcher button:hover{color:var(--text-strong);background:var(--surface-3)}.statistics-view-switcher button[aria-selected=true]{border-color:var(--primary);color:var(--text-strong);background:var(--primary-soft)}.xmatch-card header p:not(.eyebrow),.statistics-summary-toolbar p:not(.eyebrow){color:var(--text-muted)}.stations-map{color:var(--text);background:var(--surface-0)}.map-toolbar,.map-statusbar{border-color:var(--border)}.map-title-block h2{color:var(--text-strong)}.map-subtitle,.map-overlay,.map-stat-muted{color:var(--text-muted)}.modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{border-color:var(--border-strong);color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow)}.modal-header{border-color:var(--border)}.modal-header h3{color:var(--text-strong)}.modal-close{min-height:38px;color:var(--text-muted)}.header-table td{border-color:var(--border)}.header-key{color:var(--primary)}.header-val{color:var(--text)}.plot-area{flex-basis:500px;min-height:500px}@media (width<=1120px){.app-brand{min-width:150px}.app-brand small,.workspace-context{display:none}.workspace-toolbar-actions{scrollbar-width:none;overflow-x:auto}.workspace-toolbar-actions::-webkit-scrollbar{display:none}}@media (width<=760px){.app-nav{flex-wrap:wrap;gap:.35rem;height:auto;min-height:104px;padding:.5rem}.app-brand{flex:1;min-width:0;padding-left:.25rem}.app-nav-tabs{order:3;width:100%;overflow-x:auto}.app-nav-tabs button{white-space:nowrap;flex:none;min-height:40px}.app-nav-spacer{display:none}.theme-toggle{min-width:76px}.dashboard{flex-direction:column;overflow:auto}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;min-width:0;max-height:none;overflow:visible}.main-content{min-height:70dvh;overflow:visible}.workspace-toolbar{padding-inline:.5rem;position:sticky;top:0;overflow:hidden}.workspace-toolbar-actions{width:100%}.tab-btn{flex:none;min-height:44px}.workspace-drawer-scrim{inset:148px 0 0}.workspace-drawer{border-radius:var(--radius-md);width:calc(100vw - 16px);top:156px;bottom:8px;right:8px}.tool-action-grid,.overview-task-controls{grid-template-columns:1fr}.overview-task-controls .tool-primary-action{grid-column:1}.plot-area{flex-basis:390px;min-height:390px}.daily-overview{margin:.65rem}.lightcurve-result>header,.combined-result>header{flex-direction:column;align-items:stretch}.lightcurve-result .lightcurve-actions{justify-content:flex-start}.combined-result header .btn-tool{width:100%}}
