#sol-panel{position:fixed;top:20px;left:20px;width:292px;max-height:calc(100vh - 110px);overflow-y:auto;padding:var(--sp-3);color:var(--fg);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);backdrop-filter:var(--blur);font-size:var(--fs-sm);line-height:1.4}#sol-panel button{font:inherit}.sol-seg,.sol-mini-seg{display:flex;gap:2px;padding:2px;background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius)}.sol-seg button,.sol-mini-seg button{flex:1 1 auto;white-space:nowrap;min-height:var(--ctl-h-sm);padding:2px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);cursor:pointer;transition:background .15s,color .15s}.sol-seg button:hover:not(:disabled),.sol-mini-seg button:hover{background:var(--bg-raise-hover);color:var(--fg)}.sol-seg button.on,.sol-mini-seg button.on{background:var(--accent-bg);color:var(--accent)}.sol-seg button:disabled{cursor:default}.sol-mini-seg{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-xs)}.sol-mini-seg button{min-height:22px}.sol-body{margin-top:var(--sp-2)}.sol-line{margin:var(--sp-1) 0;color:var(--fg-muted)}.sol-line b{color:var(--fg);font-weight:500}.sol-line.sol-warn{color:var(--danger)}.sol-time{font-family:var(--font-mono);font-size:var(--fs-xs)}.sol-legend{margin:var(--sp-1) 0 var(--sp-2)}.sol-leg{display:flex;align-items:center;gap:7px;padding:1px 0;color:var(--fg-muted);font-size:var(--fs-xs)}.sol-leg i{flex:none;width:8px;height:8px;border-radius:50%}.sol-leg i.sol-big{width:10px;height:10px;background:#fff}.sol-leg i.sol-dim{background:#78a6ff;opacity:.35}.sol-leg span{flex:1}.sol-leg em{font-style:normal;font-family:var(--font-mono);color:var(--fg-faint)}.sol-src{margin-top:var(--sp-2);color:var(--fg-faint);font-size:var(--fs-2xs);line-height:1.45}.sol-card{margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--border)}.sol-card[hidden]{display:none}.sol-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.sol-card-head b{color:var(--accent);font-weight:600;font-size:var(--fs-md);overflow-wrap:anywhere}.sol-x{flex:none;width:22px;height:22px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);cursor:pointer;line-height:1}.sol-x:hover{background:var(--bg-raise-hover);color:var(--fg)}.sol-card-sub{margin:2px 0 var(--sp-1);color:var(--fg-muted);font-size:var(--fs-xs)}.sol-card-sub:empty{display:none}.sol-card .detail-hud-row{font-size:var(--fs-xs)}.sol-card .detail-hud-row b{text-align:right}@media (max-width: 768px){#sol-panel{top:12px;left:12px;width:44vw;max-height:calc(100vh - 90px);padding:8px;font-size:var(--fs-xs)}.sol-seg{flex-direction:column}.sol-seg button{white-space:normal}.sol-src,.sol-legend,.sol-mini-seg,.sol-opt{display:none}.sol-card{margin-top:var(--sp-2)}}#star-info .sys-box{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-inset);border-radius:var(--radius);border-left:2px solid var(--accent-border)}#star-info .sys-box:empty{display:none}#star-info .sys-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}#star-info .sys-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}#star-info .sys-count,#star-info .sys-wait{font-size:.7rem;color:var(--fg-faint)}#star-info .sys-row{display:flex;gap:var(--sp-2);padding:4px 0;border-top:1px solid var(--bg-raise)}#star-info .sys-row:first-of-type{border-top:0}#star-info .sys-row.click{cursor:pointer}#star-info .sys-row.click:hover .sys-name{color:var(--accent)}#star-info .sys-l{flex:0 0 26px;font:600 .78rem/1.35 var(--font-mono);color:var(--fg-muted)}#star-info .sys-row.sel .sys-l,#star-info .sys-row.sel .sys-name{color:var(--accent)}#star-info .sys-main{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}#star-info .sys-name{color:var(--fg);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#star-info .sys-spec,#star-info .sys-rel{font-size:.72rem;color:var(--fg-muted);font-family:var(--font-mono)}#star-info .sys-rel{color:var(--fg-faint)}#star-info .sys-tag{color:var(--fg-muted)}#star-info .sys-tag.ok{color:var(--ok)}#star-info .sys-note{margin-top:6px;font-size:.68rem;line-height:1.4;color:var(--fg-faint)}#star-info .sys-sub{font-size:.68rem;color:var(--fg-faint);margin:2px 0}#star-info .sys-row.nb .sys-name{color:var(--fg-muted)}.sys-sw{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border-radius:var(--radius);background:var(--bg-inset);border:1px solid var(--border-subtle)}.sys-sw-b{min-width:30px;height:var(--ctl-h-sm);padding:0 9px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);font:600 12px/1 var(--font-mono);letter-spacing:.02em;cursor:pointer;transition:background .15s,color .15s}.sys-sw-b:hover{background:var(--bg-raise-hover);color:var(--fg)}.sys-sw-b.on{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border);cursor:default}.sys-sw-b:focus-visible{outline:none;box-shadow:var(--focus-ring)}#star-info .sys-sw{margin:2px 0 6px}#workbench{position:fixed;top:0;right:0;z-index:250;display:flex;flex-direction:column;width:var(--wb-w, clamp(560px, 70vw, 1180px));height:100vh;height:100dvh;background:var(--bg-panel-solid);border-left:1px solid var(--border);box-shadow:-16px 0 48px #00000080;color:var(--fg);font-family:var(--font-ui);font-size:var(--fs-md);line-height:1.45}#workbench[hidden],#workbench [hidden]{display:none!important}:where(#workbench) :where(button,input,select,textarea){font-family:inherit}:where(#workbench) :where(h3,h4,p){margin:0}#workbench a{color:var(--accent)}.wb-spacer{flex:1}.wb-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.wb-muted{color:var(--fg-muted)}.wb-faint{color:var(--fg-faint)}.wb-head{display:flex;align-items:center;gap:var(--sp-3);flex:none;min-height:56px;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5);border-bottom:1px solid var(--border-subtle)}.wb-title{display:flex;align-items:center;gap:var(--sp-2);flex:none}.wb-title svg{width:18px;height:18px;color:var(--accent)}.wb-title h3{font-size:var(--fs-lg);font-weight:600;letter-spacing:.01em}.wb-regions{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex:1;overflow:hidden}.wb-rchip{display:inline-flex;align-items:center;gap:6px;min-width:0;height:26px;padding:0 var(--sp-2) 0 6px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--fg-muted);font:400 var(--fs-xs)/1 var(--font-mono)}.wb-rchip>span:not(.wb-tag){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-rchip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-4px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-faint);cursor:pointer}.wb-rchip button:hover{color:var(--fg);background:var(--bg-raise-hover)}.wb-rchip button svg{width:10px;height:10px}.wb-tag{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;border-radius:50%;font:700 9px/1 var(--font-ui)}.wb-tag--a{background:var(--accent);color:var(--accent-contrast)}.wb-tag--b{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg-muted)}.wb-close{flex:none}.wb-tabs{display:flex;gap:var(--sp-1);flex:none;padding:0 var(--sp-4);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.wb-tabs::-webkit-scrollbar{display:none}.wb-tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 var(--sp-3);border:0;background:transparent;color:var(--fg-muted);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer}.wb-tab:hover{color:var(--fg)}.wb-tab:after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:transparent}.wb-tab.active{color:var(--fg)}.wb-tab.active:after{background:var(--accent)}.wb-tab .ui-badge{height:17px}.wb-tab.active .ui-badge{background:var(--accent-bg);color:var(--accent)}.wb-body{flex:1;min-height:0;display:flex;overflow:hidden}.wb-panel{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.wb-panel>*{flex-shrink:0}.wb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--sp-4);align-items:start}.wb-col{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.wb-card{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0;padding:var(--sp-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-inset)}.wb-card-head{display:flex;align-items:center;gap:var(--sp-2);min-height:20px}.wb-card-head h4{font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.wb-card-head .wb-faint{font-size:var(--fs-xs)}.wb-card-head>.wb-spacer+*{flex:none}.wb-sec{font:600 var(--fs-2xs)/1.3 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.wb-row{display:flex;align-items:center;gap:var(--sp-2)}.wb-wrap{flex-wrap:wrap}.wb-grow{flex:1;min-width:0}.wb-desc{color:var(--fg-muted);font-size:var(--fs-xs)}.wb-text{color:var(--fg-muted);font-size:var(--fs-sm);line-height:1.55}.wb-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--sp-3) var(--sp-2)}.wb-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-fields--6{grid-template-columns:repeat(6,minmax(0,1fr))}.wb-fields--6>:nth-child(-n+3){grid-column:span 2}.wb-fields--6>:nth-child(n+4){grid-column:span 3}.wb-fields .ui-input{width:100%}.wb-coverage{display:flex;align-items:flex-start;gap:var(--sp-2);color:var(--fg-muted);font-size:var(--fs-xs);line-height:1.45}.wb-coverage:before{content:"";flex:none;width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--ok)}.wb-coverage.warn{color:var(--fg)}.wb-coverage.warn:before{background:var(--accent)}.wb-presets{display:flex;flex-wrap:wrap;gap:6px}.wb-chipbtn{height:26px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--fg-muted);font-size:var(--fs-xs);cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}.wb-chipbtn:hover{color:var(--fg);border-color:var(--border-strong);background:var(--bg-raise)}.wb-filter{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(70px,1fr) minmax(70px,1fr);gap:6px var(--sp-2);align-items:center}.wb-filter>.wb-fh{color:var(--fg-faint);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.wb-filter>label{color:var(--fg-muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-filter>label small{color:var(--fg-faint);font:400 var(--fs-2xs)/1 var(--font-mono);margin-left:4px}.wb-filter .ui-input{width:100%}.wb-filter .ui-input.set{border-color:var(--accent-border)}.wb-toggle{display:flex;align-items:center;gap:var(--sp-2);min-height:26px;color:var(--fg-muted);font-size:var(--fs-sm);cursor:pointer}.wb-toggle>span{flex:1}.wb-toggle:hover{color:var(--fg)}.wb-center{display:flex;flex-wrap:wrap;gap:6px}.wb-named{position:relative;flex:1 1 180px;min-width:150px}.wb-named .ui-input{width:100%;padding-left:28px}.wb-named svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--fg-faint);pointer-events:none}.wb-note{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-inset);color:var(--fg-muted);font-size:var(--fs-xs);line-height:1.45}.wb-note.wb-accent{background:var(--accent-bg);border-color:var(--accent-border);color:var(--fg)}.wb-note.wb-warn{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.wb-foot{display:flex;align-items:center;gap:var(--sp-3);flex:none;min-height:52px;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5);border-top:1px solid var(--border);background:var(--bg-panel-solid)}.wb-status{display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:0;color:var(--fg-muted);font-size:var(--fs-xs)}.wb-status>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--fg-faint)}.wb-status[data-state=ok] .wb-dot{background:var(--ok)}.wb-status[data-state=stale] .wb-dot{background:var(--accent)}.wb-status[data-state=stale]{color:var(--fg)}.wb-status[data-state=error] .wb-dot{background:var(--danger)}.wb-status[data-state=error]{color:var(--danger)}.wb-status[data-state=busy] .wb-dot{background:transparent;border:2px solid var(--bg-active);border-top-color:var(--accent);width:12px;height:12px;animation:wb-rot .8s linear infinite}@keyframes wb-rot{to{transform:rotate(360deg)}}.wb-run{min-width:128px}.wb-run.is-stale{box-shadow:0 0 0 3px var(--accent-bg-hover)}.wb-run .ui-kbd{background:#0000001f;border-color:#00000040;color:var(--accent-contrast)}.wb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);flex:1;min-height:260px;padding:var(--sp-8) var(--sp-4);color:var(--fg-muted);text-align:center}.wb-empty svg{width:40px;height:40px;color:var(--fg-faint)}.wb-empty h4{font-size:var(--fs-md);font-weight:600;color:var(--fg)}.wb-empty p{max-width:420px;font-size:var(--fs-sm);line-height:1.55}.wb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.wb-kpi{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-inset);min-width:0}.wb-kpi-label{color:var(--fg-faint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.wb-kpi-val{color:var(--fg);font:500 20px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-kpi-val small{color:var(--fg-faint);font-size:var(--fs-xs);font-weight:400;margin-left:4px}.wb-kpi-sub{display:flex;align-items:center;gap:6px;color:var(--fg-muted);font:400 var(--fs-xs)/1.35 var(--font-ui)}.wb-kpi-sub .wb-tag{width:14px;height:14px;font-size:8px}.wb-dist{display:flex;flex-direction:column;gap:var(--sp-2)}.wb-dist-row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(80px,2fr) auto;gap:var(--sp-3);align-items:center;font-size:var(--fs-sm)}.wb-dist-row>span:first-child{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-bars{display:flex;flex-direction:column;gap:3px}.wb-bar{position:relative;height:6px;border-radius:3px;background:var(--bg-raise);overflow:hidden}.wb-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--accent)}.wb-bar--b>i{background:var(--fg-muted)}.wb-dist-val{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font:400 var(--fs-xs)/1.3 var(--font-mono);color:var(--fg);white-space:nowrap}.wb-dist-val .wb-faint{font-size:var(--fs-2xs)}.wb-kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;font-size:var(--fs-sm)}.wb-kv>.wb-v,.wb-kv>.wb-h.r{padding-left:var(--sp-4)}.wb-kv.has-b{grid-template-columns:minmax(0,1fr) auto auto}.wb-kv>*{padding:6px 0;border-bottom:1px solid var(--border-subtle)}.wb-kv>.wb-k{color:var(--fg-muted)}.wb-kv>.wb-v{color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right;white-space:nowrap}.wb-kv>.wb-h{color:var(--fg-faint);font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-top:0}.wb-kv>.wb-h.r{text-align:right}.wb-kv>:nth-last-child(-n+2){border-bottom:0}.wb-kv.has-b>:nth-last-child(-n+3){border-bottom:0}.wb-link{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer;text-align:right}.wb-link:hover{text-decoration:underline;text-underline-offset:2px}.wb-stats{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.wb-stats th,.wb-stats td{padding:6px var(--sp-2);border-bottom:1px solid var(--border-subtle);text-align:right;white-space:nowrap}.wb-stats th:first-child,.wb-stats td:first-child{text-align:left;padding-left:0}.wb-stats th{color:var(--fg-faint);font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.wb-stats td{font:400 var(--fs-xs)/1.3 var(--font-mono);color:var(--fg)}.wb-stats td:first-child{font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--fg-muted)}.wb-stats tr:last-child td{border-bottom:0}.wb-stats td small{color:var(--fg-faint);margin-left:4px}.wb-panel[data-panel=charts]{flex-direction:row;gap:0;padding:0;overflow:hidden}.wb-chartnav{display:flex;flex-direction:column;gap:2px;flex:none;width:196px;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border-subtle);overflow-y:auto}.wb-chartnav .wb-sec{padding:var(--sp-2) var(--sp-2) 6px}.wb-chartnav .wb-sec:not(:first-child){margin-top:var(--sp-3)}.wb-navbtn{display:flex;align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-2);border:0;border-radius:var(--radius);background:transparent;color:var(--fg-muted);font-size:var(--fs-sm);text-align:left;cursor:pointer}.wb-navbtn svg{width:15px;height:15px;flex:none;color:var(--fg-faint)}.wb-navbtn:hover{background:var(--bg-raise);color:var(--fg)}.wb-navbtn.on{background:var(--accent-bg);color:var(--accent)}.wb-navbtn.on svg{color:var(--accent)}.wb-chartmain{display:flex;flex-direction:column;gap:var(--sp-3);flex:1;min-width:0;min-height:0;padding:var(--sp-4) var(--sp-5) var(--sp-4);overflow-y:auto}.wb-chart-head{display:flex;align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap}.wb-chart-title{flex:1 1 220px;min-width:0}.wb-chart-title h4{font-size:var(--fs-md);font-weight:600;color:var(--fg)}.wb-chart-title p{margin-top:2px;color:var(--fg-faint);font-size:var(--fs-xs)}.wb-chart-opts{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}.wb-chart-opts label.wb-opt{display:inline-flex;align-items:center;gap:6px;color:var(--fg-muted);font-size:var(--fs-xs);white-space:nowrap}.wb-chart-opts .ui-select{height:var(--ctl-h-sm);font-size:var(--fs-xs)}.wb-chart-opts .ui-input{height:var(--ctl-h-sm);width:64px;font-size:var(--fs-xs)}.wb-chart-box{position:relative;flex:1 1 auto;min-height:300px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-inset);overflow:hidden}.wb-chart-box>canvas{position:absolute;inset:0;width:100%;height:100%}.wb-canvas{display:block;width:100%;height:100%;touch-action:none}.wb-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);color:var(--fg-muted);font-size:var(--fs-xs)}.wb-legend span{display:inline-flex;align-items:center;gap:6px}.wb-legend i{display:inline-block;width:14px;height:8px;border-radius:2px;background:var(--accent)}.wb-legend i.b{background:transparent;border:1.5px solid var(--fg);height:8px}.wb-legend i.ramp{width:64px;background:linear-gradient(to right,#3e2e1a,#ffc478,#fff7e8)}.wb-marks{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius);background:var(--bg-inset);font-size:var(--fs-sm)}.wb-marks>span:first-child{flex:1;color:var(--fg)}.wb-panel[data-panel=table]{gap:var(--sp-3)}.wb-table{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 auto;min-height:0}.wb-table-bar{position:relative;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.wb-table-info{color:var(--fg-muted);font-size:var(--fs-xs)}.wb-table-pager{display:inline-flex;align-items:center;gap:2px;margin-left:auto;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--fg-muted)}.wb-table-pager>span{min-width:72px;text-align:center}.wb-table-pager svg{width:14px;height:14px}.wb-table-wrap{flex:1 1 auto;min-height:160px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-inset)}.wb-table table{min-width:100%;border-collapse:separate;border-spacing:0;font:400 var(--fs-xs)/1.3 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.wb-table th,.wb-table td{padding:6px var(--sp-3);border-bottom:1px solid var(--border-subtle);text-align:right}.wb-table th:first-child,.wb-table td:first-child{text-align:left}.wb-table th{position:sticky;top:0;z-index:1;background:var(--bg-elev);color:var(--fg-muted);font:600 var(--fs-xs)/1.2 var(--font-ui);cursor:pointer;user-select:none;border-bottom-color:var(--border)}.wb-table th small{color:var(--fg-faint);font-weight:400;margin-left:3px}.wb-table th:hover{color:var(--fg)}.wb-table th.sorted{color:var(--accent)}.wb-table th .wb-sort{display:inline-block;width:8px;margin-left:3px;color:var(--accent)}.wb-table tbody tr{cursor:pointer}.wb-table tbody tr:nth-child(2n) td{background:#ffffff04}.wb-table tbody tr:hover td{background:var(--bg-raise)}.wb-table tr.marked td{color:var(--ok)}.wb-table tr.sel td{background:var(--accent-bg);color:var(--accent)}.wb-table-empty{padding:var(--sp-6);color:var(--fg-faint);text-align:center;font-family:var(--font-ui)}.wb-colmenu{position:absolute;top:calc(100% + 4px);right:0;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:2px var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:var(--shadow-pop);max-height:50vh;overflow:auto}.wb-colmenu label{display:flex;align-items:center;gap:var(--sp-2);height:26px;color:var(--fg-muted);font-size:var(--fs-sm);cursor:pointer}.wb-colmenu label:hover{color:var(--fg)}.wb-colmenu input{accent-color:var(--accent)}.wb-hint{color:var(--fg-faint);font-size:var(--fs-xs)}.wb-panel[data-panel=script]{gap:var(--sp-3);overflow:hidden}.wb-panel[data-panel=script]>.wb-output{flex:1 1 auto;min-height:140px;overflow-y:auto;padding-right:2px}.wb-toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.wb-toolbar .ui-select{min-width:220px;max-width:100%}.wb-progress{color:var(--fg-muted);font-size:var(--fs-xs)}.wb-editor-wrap{display:flex;flex:none;height:260px;min-height:120px;max-height:70vh;border:1px solid var(--border);border-radius:var(--radius-lg);background:#00000040;overflow:hidden;resize:vertical}.wb-editor-wrap:focus-within{border-color:var(--accent-border);box-shadow:var(--focus-ring)}.wb-gutter{flex:none;min-width:40px;margin:0;padding:var(--sp-3) var(--sp-2) var(--sp-3) 0;border-right:1px solid var(--border-subtle);color:var(--fg-faint);font:400 var(--fs-sm)/1.55 var(--font-mono);text-align:right;white-space:pre;overflow:hidden;user-select:none}.wb-editor{flex:1;min-width:0;margin:0;padding:var(--sp-3);border:0;outline:none;resize:none;background:transparent;color:var(--fg);font:400 var(--fs-sm)/1.55 var(--font-mono);tab-size:4;white-space:pre;overflow:auto}.wb-ref{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-inset)}.wb-ref>summary{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:var(--fg-muted);font-size:var(--fs-sm);cursor:pointer;list-style:none}.wb-ref>summary::-webkit-details-marker{display:none}.wb-ref>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.wb-ref[open]>summary:before{transform:rotate(45deg)}.wb-ref>summary:hover{color:var(--fg)}.wb-api{display:grid;grid-template-columns:minmax(160px,auto) 1fr;gap:0 var(--sp-4);padding:0 var(--sp-3) var(--sp-3);font-size:var(--fs-xs)}.wb-api>*{padding:5px 0;border-bottom:1px solid var(--border-subtle)}.wb-api code{color:var(--accent);font:400 var(--fs-xs)/1.4 var(--font-mono)}.wb-api span{color:var(--fg-muted)}.wb-out-head{display:flex;align-items:center;gap:var(--sp-2)}.wb-output{display:flex;flex-direction:column;gap:var(--sp-3);min-height:80px}.wb-output:empty:before{content:attr(data-empty);padding:var(--sp-5);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--fg-faint);font-size:var(--fs-sm);text-align:center}.wb-out-text{margin:0;padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius);background:#00000040;color:var(--fg);font:400 var(--fs-xs)/1.55 var(--font-mono);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.wb-out-text:empty{display:none}.wb-out-text.wb-err{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.wb-out-text.wb-info{color:var(--fg-muted)}.wb-out-plot,.wb-out-table{display:flex;flex-direction:column;gap:6px}.wb-out-plot .wb-chart-box{flex:none;height:260px;min-height:0}.wb-out-cap{color:var(--fg-muted);font-size:var(--fs-xs);font-weight:500}.wb-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.wb-url{display:flex;gap:var(--sp-2)}.wb-url .ui-input{flex:1;font-family:var(--font-mono);font-size:var(--fs-xs)}.wb-code-tabs{display:flex;gap:2px}.wb-code-tabs button{height:26px;padding:0 var(--sp-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);font-size:var(--fs-xs);font-weight:500;cursor:pointer}.wb-code-tabs button:hover{color:var(--fg);background:var(--bg-raise)}.wb-code-tabs button.on{color:var(--fg);background:var(--bg-active)}.wb-refdoc summary{font-size:var(--fs-sm)}.wb-reftable{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.wb-reftable th,.wb-reftable td{padding:6px var(--sp-2);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.wb-reftable th{color:var(--fg-faint);font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.wb-reftable td{color:var(--fg-muted)}.wb-reftable code{color:var(--accent);font-family:var(--font-mono);white-space:nowrap}.wb-scroll{overflow-x:auto;padding:0 var(--sp-3) var(--sp-3)}.wb-licence{color:var(--fg-faint);font-size:var(--fs-xs)}@media (max-width: 768px){#workbench{top:auto;bottom:0;width:100vw;height:84vh;height:84dvh;border-left:0;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -16px 48px #00000080}.wb-head{padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);gap:var(--sp-2);min-height:48px}.wb-title h3{font-size:var(--fs-md)}.wb-title svg{display:none}.wb-rchip{display:none}.wb-tabs,.wb-tab{padding:0 var(--sp-2)}.wb-tabs{gap:0}.wb-panel{padding:var(--sp-3);gap:var(--sp-3)}.wb-grid{grid-template-columns:1fr;gap:var(--sp-3)}.wb-card{padding:var(--sp-3)}.wb-fields--2{grid-template-columns:1fr 1fr}.wb-panel[data-panel=charts]{flex-direction:column}.wb-chartnav{flex-direction:row;width:auto;padding:var(--sp-2) var(--sp-3);border-right:0;border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}.wb-chartnav .wb-sec{display:none}.wb-navbtn{flex:none;height:30px}.wb-navbtn svg{display:none}.wb-chartmain{padding:var(--sp-3)}.wb-chart-box{min-height:240px}.wb-foot{padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom)) var(--sp-3)}.wb-run .ui-kbd{display:none}.wb-run{min-width:0}.wb-api{grid-template-columns:1fr}.wb-api>code{border-bottom:0;padding-bottom:0}.wb-colmenu{grid-template-columns:1fr}.wb-editor-wrap{height:200px}.wb-panel[data-panel=script]{overflow-y:auto}.wb-panel[data-panel=script]>.wb-output{flex:none;overflow:visible}.wb-toolbar .ui-select{min-width:0;flex:1 1 160px}}@media (max-width: 420px){.wb-tab .ui-badge{display:none}}#map-labels{position:fixed;inset:0;pointer-events:none;z-index:55;overflow:hidden}body.detail-mode #map-labels{display:none}#map-labels .ml{position:absolute;left:0;top:0;width:0;height:0;will-change:transform,opacity}#map-labels .ml-t{position:absolute;white-space:nowrap;font:500 12px/1.2 var(--font-ui);letter-spacing:.02em;color:var(--fg);text-shadow:0 0 2px rgba(0,4,9,.95),0 0 5px rgba(0,4,9,.8)}#map-labels .ml.a-above .ml-t{transform:translate(-50%,-100%)}#map-labels .ml.a-below .ml-t{transform:translate(-50%)}#map-labels .ml.a-right .ml-t{transform:translateY(-50%)}#map-labels .ml.a-center .ml-t{transform:translate(-50%,-50%)}#map-labels .ml.deepsky .ml-t{color:#8fe0c8;font-size:11.5px}#map-labels .ml.bh .ml-t{font:500 11px/1.2 var(--font-mono);letter-spacing:.03em;color:#89bfff}#map-labels .ml.bh-smbh .ml-t{color:#ffb066}#map-labels .ml.gal-centre .ml-t{color:var(--fg);font-weight:600}#map-labels .ml.gal-sun .ml-t{color:var(--accent);font-weight:600;font-size:13px}#map-labels .ml svg{position:absolute;overflow:visible}#map-markers{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}body.detail-mode #map-markers{display:none}#map-markers .mk{position:absolute;left:0;top:0;width:0;height:0;will-change:transform}#map-markers .mk svg{position:absolute;overflow:visible}#map-markers .mk-lbl{position:absolute;padding:1px 3px;border-radius:2px;background:#0004099e;font:500 10px/1 var(--font-mono);letter-spacing:.04em;color:var(--fg);white-space:nowrap}#map-markers .mk-lbl:empty{display:none}#map-markers .mk.sel .mk-lbl{color:var(--accent)}#map-markers .mk.hov .mk-lbl{color:var(--fg)}#map-links{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:54;overflow:hidden}body.detail-mode #map-links{display:none}#map-links line{stroke-linecap:round}#map-links line.halo{stroke:#000409;stroke-width:3;stroke-opacity:.55}#map-links line.core{stroke:var(--fg);stroke-width:1;stroke-opacity:.62}#map-labels .ml.sl .ml-t{display:flex;flex-direction:column;align-items:center;gap:1px;font:500 11.5px/1.25 var(--font-ui);letter-spacing:.01em;font-variant-numeric:tabular-nums}#map-labels .ml.sl .ml-t b{font-weight:500;color:var(--fg)}#map-labels .ml.sl .ml-t i{font-style:normal;font-size:10.5px;color:var(--fg-muted)}#map-labels .ml.sl .ml-t i.sl-note{color:var(--fg-faint)}#sys-switch-map{position:fixed;left:50%;bottom:calc(var(--edge) + 50px);transform:translate(-50%);z-index:95;display:none;align-items:center;gap:var(--sp-2);max-width:calc(100vw - 2 * var(--edge));padding:3px 3px 3px var(--sp-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-panel);backdrop-filter:var(--blur);color:var(--fg-muted);font-size:var(--fs-xs);white-space:nowrap}#sys-switch-map.on{display:flex}body.detail-mode #sys-switch-map{display:none}#sys-switch-map .sl-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}#sys-switch-map .sys-sw{flex-wrap:nowrap;flex-shrink:0}#sys-switch-map .sys-sw,#sys-switch-map .sys-sw-b{border-radius:var(--radius-pill)}#sys-switch-map .sl-lines{display:inline-flex;align-items:center;gap:6px;height:var(--ctl-h-sm);padding:0 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--fg-faint);font:500 var(--fs-xs)/1 var(--font-ui);cursor:pointer}#sys-switch-map .sl-lines svg{width:20px;height:12px;fill:currentColor;stroke:currentColor;stroke-width:1.2}#sys-switch-map .sl-lines:hover{color:var(--fg);background:var(--bg-raise-hover)}#sys-switch-map .sl-lines.on{color:var(--fg-muted)}#sys-switch-map .sl-lines:not(.on) span{text-decoration:line-through}#sys-switch-map .sl-lines:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 768px){#sys-switch-map{bottom:calc(var(--edge) + 24px + 6px + 36px + 6px + 40px)}#sys-switch-map{padding-left:3px}#sys-switch-map .sl-title,#sys-switch-map .sl-lines span{display:none}}#dv-sys-sw{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:0 0 8px;font-size:.75rem;color:var(--fg-faint)}#star-info .ruwe-note{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-inset);border-radius:var(--radius);border-left:2px solid var(--accent-border);color:var(--fg-muted);font-size:.75rem;line-height:1.45}#star-info .ruwe-note b{color:var(--fg);font-weight:600}#map-labels .ml.cst-name .ml-t{font:500 10.5px/1.2 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:#9fb6d6}#map-labels .ml.cst-name.r3 .ml-t{font-size:9.5px;letter-spacing:.12em}#map-labels .ml.cst-ast .ml-t{font:500 11px/1.2 var(--font-ui);letter-spacing:.04em;color:var(--accent)}#map-labels .ml.cst-star .ml-t{font:500 11.5px/1.2 var(--font-ui);color:var(--fg)}#map-labels .ml.cst-extra .ml-t{font:500 11px/1.2 var(--font-ui);letter-spacing:.04em;color:#8fe0c8}#map-labels .ml.cst-sol .ml-t{font:600 12.5px/1.2 var(--font-ui);color:var(--accent)}body.cst-tour #star-info,body.cst-tour .tool-panel,body.cst-tour #known-stars-panel,body.cst-tour #info-modal{display:none!important}body.cst-tour #canvas-container canvas{cursor:default!important}#cst-tour{position:fixed;left:50%;bottom:var(--sp-4);transform:translate(-50%);width:min(580px,calc(100vw - 2 * var(--sp-4)));max-height:min(52vh,460px);overflow-y:auto;z-index:130;padding:var(--sp-3) var(--sp-4) var(--sp-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);color:var(--fg);font-size:var(--fs-sm);line-height:1.5}#cst-tour .ct-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}#cst-tour .ct-kicker{font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint)}#cst-tour .ct-count{font-family:var(--font-mono);letter-spacing:.04em;margin-left:var(--sp-1)}#cst-tour .ct-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:4px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--fg-muted);cursor:pointer}#cst-tour .ct-close:hover{background:var(--bg-raise-hover);color:var(--fg)}#cst-tour .ct-close svg{width:16px;height:16px}#cst-tour .ct-progress{height:2px;margin:var(--sp-1) 0 var(--sp-2);background:var(--bg-raise);border-radius:2px;overflow:hidden}#cst-tour .ct-progress span{display:block;height:100%;width:0;background:var(--accent)}#cst-tour .ct-title{font-size:var(--fs-lg);font-weight:600}#cst-tour .ct-sub{color:var(--fg-faint);font-size:var(--fs-xs);margin-top:1px}#cst-tour .ct-text{margin:var(--sp-2) 0;color:var(--fg-muted)}#cst-tour .ct-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}#cst-tour .ct-table th{text-align:left;font-weight:500;color:var(--fg-faint);padding:2px var(--sp-2) 2px 0;border-bottom:1px solid var(--border-subtle)}#cst-tour .ct-table td{padding:2px var(--sp-2) 2px 0;border-bottom:1px solid var(--border-subtle)}#cst-tour .ct-table .num{text-align:right;font-family:var(--font-mono);white-space:nowrap}#cst-tour .ct-table .sp{font-family:var(--font-mono);color:var(--fg-muted)}#cst-tour .ct-table td.ring:after{content:"";display:inline-block;width:7px;height:7px;margin-left:6px;border:1px solid var(--fg-faint);border-radius:50%;vertical-align:1px}#cst-tour .ct-foot{position:sticky;bottom:calc(-1 * var(--sp-3));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) calc(-1 * var(--sp-4)) 0;padding:var(--sp-2) var(--sp-4) var(--sp-3);background:var(--bg-panel-solid);border-top:1px solid var(--border-subtle)}#cst-tour .ct-phase{color:var(--fg-faint);font-size:var(--fs-xs)}#cst-tour .ct-btns{display:inline-flex;gap:var(--sp-2);margin-left:auto}#cst-tour .ct-note{margin-top:var(--sp-2);color:var(--fg-faint);font-size:var(--fs-2xs)}#cst-tour .ct-note:empty{display:none}@media (max-width: 640px){#cst-tour{bottom:var(--sp-2);padding:var(--sp-2) var(--sp-3);max-height:46vh}#cst-tour .ct-foot{bottom:calc(-1 * var(--sp-2));margin:var(--sp-2) calc(-1 * var(--sp-3)) 0;padding:var(--sp-2) var(--sp-3)}#cst-tour .ct-text{margin:var(--sp-1) 0 var(--sp-2)}#cst-tour .ct-btns{width:100%}#cst-tour .ct-btns .tb-btn{flex:1;justify-content:center}}body.cst-tour #ui,body.cst-tour #nav-buttons,body.cst-tour #tool-rail,body.cst-tour #status-chips{display:none!important}@media (min-width: 900px){#cst-tour{left:var(--edge);top:var(--edge);bottom:auto;transform:none;width:360px;max-height:calc(100vh - 2 * var(--edge) - 52px)}}
