:root{color-scheme:dark;font:14px system-ui;color:#e2e9f0;background:#0a111e}*{box-sizing:border-box}html,body{margin:0;overflow:hidden;width:100%;height:100%}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}button,input,select{color:inherit;font:inherit;background:#182637;border:1px solid #344459;border-radius:4px;padding:10px}button{cursor:pointer}button:hover,button[aria-pressed=true]{background:#2c3f58;border-color:#aac8ff}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #aac8ff;outline-offset:2px}[hidden]{display:none!important}header{position:fixed;z-index:2;top:22px;left:30px;right:30px;display:flex;justify-content:space-between;pointer-events:none}header nav{pointer-events:auto;display:flex;gap:6px}.tag{color:#a7caff;font-size:11px;letter-spacing:1.5px;margin:0 0 6px}h1{font-size:28px;margin:0}#focus{position:fixed;top:112px;left:30px;pointer-events:none}h2{font-size:26px;margin:5px 0}#region{font-size:13px;color:#9eb3c9;margin:7px 0}.tools{position:fixed;right:30px;top:112px;display:flex;gap:6px}#picked{position:fixed;bottom:129px;left:30px;right:30px;border-left:2px solid #aac8ff;background:#132031;padding:12px;font-size:13px;pointer-events:none}.view-label{position:fixed;bottom:92px;left:30px;color:#a5b7ca;font-size:12px;margin:0}#color-legend{position:fixed;bottom:87px;right:30px;font-size:11px;color:#a5b7ca}#color-legend i{display:inline-block;vertical-align:middle;width:90px;height:5px;margin:0 8px;background:linear-gradient(90deg,#8bb8ff,#e1e9ed 38%,#ee9c60)}footer{position:fixed;bottom:18px;left:30px;right:30px;color:#9eb3c9;font-size:12px}footer strong{font-weight:400}footer p{margin:5px 0}.drawer,dialog{position:fixed;z-index:6;right:20px;left:auto;top:90px;bottom:15px;width:390px;max-height:calc(100% - 105px);padding:24px;background:#101e30f7;border:1px solid #344459;overflow:auto;box-shadow:0 20px 80px #0009;color:#e2e9f0;margin:0}.drawer label{display:block;font-size:13px;margin:14px 0}.drawer input,.drawer select{display:block;width:100%;margin-top:5px}.drawer p,dialog p{font-size:13px;line-height:1.65;color:#b1c2d4}.close{float:right}.modes{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.modes button{font-size:12px}dl{font:12px/1.5 ui-monospace,monospace}dt{color:#9eb3c9}dd{margin:0 0 7px;overflow-wrap:anywhere}pre{white-space:pre-wrap;font-size:11px;overflow-wrap:anywhere}a{color:#aac8ff}#axes{position:fixed;inset:0;pointer-events:none}#axes span{position:absolute;font-size:11px;color:#9eb3c9}#cancel{position:fixed;z-index:7;bottom:25px;right:30px;border-color:#f3c07f}@media(max-width:650px){header{left:16px;right:16px;top:16px}h1{font-size:25px}header button{font-size:12px;padding:9px 7px}#focus{left:16px;right:16px;top:91px}h2{font-size:22px}#region{font-size:11px;max-width:320px}.tools{right:16px;top:auto;bottom:146px}.tools button{font-size:11px;padding:7px}#picked{left:16px;right:16px;bottom:97px;font-size:11px;padding:9px}.view-label{bottom:76px;left:16px;font-size:10px}#color-legend{bottom:57px;left:16px;right:auto;font-size:10px}footer{left:16px;right:16px;bottom:8px;font-size:10px}.drawer,dialog{left:12px;right:12px;top:83px;bottom:12px;width:auto;padding:18px;max-height:calc(100% - 95px)}#cancel{right:20px}}

@media(max-width:650px){.tools{top:185px;bottom:auto}.tools button{padding:7px 9px}}

#plot-labels{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
header button,.tools button{border:0;background:transparent}header button:hover,.tools button:hover{background:#ffffff12}.drawer{border:0;border-radius:0}

#picked{border:0;background:transparent;padding-left:0;padding-right:0}

@media(max-height:560px) and (min-width:650px){header{top:12px}h1{font-size:23px}#focus{top:66px;max-width:calc(100vw - 220px)}#focus .tag{display:none}#focus h2{font-size:18px}#region{font-size:11px;margin:4px 0}.tools{top:68px}#picked{bottom:70px;font-size:11px;padding:0}.view-label{bottom:46px;font-size:10px}#color-legend{bottom:44px;font-size:10px}footer{bottom:6px;font-size:10px}.drawer,dialog{top:60px;max-height:calc(100% - 70px)}}

/* Give native selects and their popup options the same explicit contrast. */
select,.modes select{color-scheme:dark;color:#f4f7fb;background-color:#142431}
select option,select optgroup{color-scheme:dark;color:#f4f7fb;background-color:#142431}
select option:checked{color:#f4f7fb;background-color:#29475b}
select:disabled,select option:disabled{color:#b2c2cf}
@media(forced-colors:active){
  select,.modes select,select option,select optgroup{forced-color-adjust:auto;color:CanvasText;background-color:Canvas}
  select option:checked{color:HighlightText;background-color:Highlight}
}

/* Full-window catalog space; one restrained edge control group. */
:root{background:#010309;color:#e2ebf4;font-family:system-ui,sans-serif}
header{top:26px;left:32px;right:32px}h1{font-size:27px;font-weight:550;letter-spacing:-.8px}.tag{color:#9ab4cb;font-size:10px;letter-spacing:2px}header nav{gap:12px}header button{font-size:12px;color:#c2d0dd}
#focus{top:112px;left:32px;width:340px;max-width:calc(100vw - 96px)}#focus h2{font-size:23px;font-weight:450;letter-spacing:-.6px;margin:18px 0 5px;max-width:320px}#region{font-size:11px;line-height:1.5;max-width:320px;color:#90a3b8}
.field-choice{pointer-events:auto;display:block;color:#7f96ac;font-size:9px;letter-spacing:1.7px}#field-select{display:block;width:100%;margin-top:9px;padding:8px 12px;min-height:42px;border:0;font-size:14px;letter-spacing:0;background-color:#12202d}
.view-switch{pointer-events:auto;display:flex;gap:20px;margin-top:16px}.view-switch button{border:0;border-radius:0;padding:7px 0;background:transparent;color:#8296aa;font-size:11px}.view-switch button[aria-pressed=true]{color:#edf4fb;border-bottom:1px solid #9dbed8}.view-switch button:hover{color:#fff;background:transparent}
.tools{top:auto;right:32px;bottom:114px;flex-direction:column;align-items:center;gap:4px}.tools button{font-size:12px;min-width:44px;min-height:44px;padding:7px;background:transparent;color:#c2d5e5}.tools #approach{color:#edf4fb;min-width:90px;font-size:12px;background:#132333c9;border-radius:25px;margin-top:10px}.tools #approach:disabled{color:#6d8398;background:#101c2866;cursor:default}
#picked{bottom:108px;left:32px;right:150px;font-size:12px;color:#a5bacd;line-height:1.6;padding:0}#picked strong{display:block;font-size:12px;font-weight:500;color:#dce8f3}#picked span{display:block;font-size:11px}.view-label{bottom:72px;left:32px;color:#70879e;font-size:10px}#color-legend{bottom:32px;right:32px;font-size:10px;color:#869bad}#color-legend i{height:3px;width:64px}footer{bottom:28px;left:32px;right:32px;font-size:10px;color:#8093a6}footer p{margin-top:6px;color:#586f86}
#star-labels{position:fixed;inset:0;pointer-events:none}.sun-label{position:absolute;top:0;left:0;font-size:10px;color:#91a8bd;white-space:nowrap}.source-reticle{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border:1px solid #b4d5eea1;border-radius:50%;box-shadow:0 0 13px #9dd4f333}.drawer,dialog{background:#08111cf5;box-shadow:none;border:0}dialog{max-height:430px}.drawer h2,dialog h2{font-size:23px;font-weight:450}.drawer input{background:#112130;border:1px solid #253d50}.drawer select{border:0}.drawer p,dialog p{color:#a4b8ca}
header,#focus,#picked,.view-label,.status,#color-legend{text-shadow:0 1px 6px #000,0 0 18px #010309}.workspace:after{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 420px 420px at 0 0,#010309b8,transparent),linear-gradient(0deg,#010309a6,transparent 130px);z-index:0}header,#focus,#picked,.tools,.view-label,.status,#color-legend{z-index:2}#star-labels{z-index:1}
@media(max-width:650px){header{left:18px;right:18px;top:20px}h1{font-size:25px}header nav{gap:4px}header button{padding:7px;font-size:11px}#focus{left:18px;top:100px;width:290px;max-width:calc(100vw - 86px)}#focus h2{font-size:21px;margin-top:14px}#region{font-size:10px}.view-switch{margin-top:10px;gap:22px}#field-select{font-size:13px;min-height:42px}.tools{right:12px;top:auto;bottom:157px;gap:0}.tools button{font-size:11px}.tools #approach{min-width:74px;margin-top:4px;font-size:11px}#picked{left:18px;right:92px;bottom:94px;font-size:11px}#picked strong{font-size:11px}#picked span{font-size:10px}.view-label{left:18px;bottom:69px;font-size:9px}#color-legend{left:18px;bottom:51px;font-size:9px}footer{left:18px;bottom:14px;font-size:9px}footer p{display:none}.drawer,dialog{top:87px}.sun-label{font-size:9px}}
@media(max-width:650px){#focus h2{display:none}#region{margin-top:10px}#focus{top:97px}.view-switch{margin-top:8px}}
#render-warning{position:fixed;top:44%;left:20%;right:20%;text-align:center;color:#b8cadb;font-size:14px;z-index:2}body[data-view=hr] #focus h2{display:none}
@media(max-height:560px) and (min-width:650px){header{top:13px}#focus{top:69px;width:275px}#focus h2{font-size:18px;margin-top:8px}#region{margin:2px 0}#field-select{min-height:36px;font-size:12px;padding:7px}.view-switch{margin-top:4px}.tools{bottom:44px;flex-direction:row;right:20px}.tools #approach{margin-top:0}#picked{left:32px;bottom:66px;right:200px}.view-label{bottom:45px}#color-legend{bottom:16px}footer{bottom:14px}footer p{display:none}}

@media(max-height:560px){body[data-view=hr] #focus .field-choice,body[data-view=hr] #focus #region{display:none}body[data-view=hr] #focus{top:78px}body[data-view=hr] #focus .view-switch{margin-top:0}}

/* Controls receive input; quiet edge labels leave the data canvas draggable. */
#picked,.view-label,.status,#color-legend,#render-warning{pointer-events:none}
.view-switch{pointer-events:none}.view-switch button{pointer-events:auto}
canvas{cursor:grab}canvas:active{cursor:grabbing}
