/* Shared observatory workspace. Existing scientific controls and canvas IDs are preserved. */
:root{--paper:#e0eddf;--paper-strong:#edf7e6;--muted:#a1b5a7;--dim:#849e8c;--panel:#102019;--line:#b6d5ba24;--amber:#cee6af;--cyan:#92d9c2;color-scheme:dark}
html,body{height:100%;min-width:320px;overflow:hidden}body{background:#081210;font-family:'Segoe UI',Arial,sans-serif;color:var(--paper)}body:before{display:none}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #cbeeb8;outline-offset:3px}.workspace-header{height:68px;padding:0 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.workspace-brand{display:flex;align-items:center;gap:9px;font-size:19px;letter-spacing:-.7px}.workspace-brand b{font-weight:350;color:#b7cbb7}.workspace-header nav{display:flex;gap:4px;background:#112219;padding:4px;border:1px solid var(--line);border-radius:8px}.workspace-header nav a{padding:9px 22px;font-size:12px;border-radius:4px;color:#a1b9a8}.workspace-header nav a[aria-current]{background:#c8e8b5;color:#17271b}.all-models{font-size:11px;color:#b1c7af}.all-models span{margin-left:12px;font-size:17px}.workspace-heading{height:94px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between}.workspace-eyebrow{font:9px Consolas,monospace;letter-spacing:1.5px;color:#8da88e}.workspace-heading h1{font-size:28px;line-height:1.2;font-weight:450;letter-spacing:-1px;margin:7px 0 0}.workspace-heading h1 span{font-size:11px;letter-spacing:1px;font-weight:400;margin-left:12px;color:#8faa91}.workspace-heading>p{font-size:11px;color:#91aa96}#app{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;width:auto;height:calc(100dvh - 180px);margin:0 20px 18px;overflow:hidden}.stage-column{display:flex;flex-direction:column;min-height:0;min-width:0;gap:12px}.map-stage{position:relative;isolation:isolate;flex:1;min-height:200px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#020303}.map-stage #field-canvas,.map-stage #particle-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.map-badge{position:absolute;top:20px;left:20px;color:#bcd3c2;font:9px Consolas,monospace;letter-spacing:1.2px;pointer-events:none}.map-dot{display:inline-block;width:5px;height:5px;background:#c9e8b5;border-radius:50%;margin-right:7px}.map-instruction{position:absolute;bottom:18px;right:18px;font:9px Consolas,monospace;color:#9ab0a2;pointer-events:none}.workspace-sidebar{display:flex;flex-direction:column;min-width:0;overflow:auto;gap:12px;padding:0 2px 3px 0;scrollbar-width:thin;scrollbar-color:#3a5543 transparent}.hud{position:relative;inset:auto!important;transform:none!important;width:100%;min-width:0;max-height:none;box-shadow:none;backdrop-filter:none;border:1px solid var(--line);background:#102019;border-radius:10px}.hud-status,.hud-menu{padding:19px;display:block}.brand{font:10px Consolas,monospace!important;letter-spacing:1px;color:#d6e7cf}.strap{font:10px/1.5 'Segoe UI',sans-serif;text-transform:none;color:#9eb49e;margin-top:6px}.week-pill{min-width:42px;border:1px solid #c4e4ad50;border-radius:5px;padding:8px 6px;color:#d6edb9;background:#c9e8b50a;font:12px Consolas,monospace}.dataset{font-size:10px;color:#a7bca9;margin-top:17px;line-height:1.6;overflow-wrap:anywhere}.status-grid{gap:12px;border:0;background:none;margin-top:16px}.status-grid div{background:#07160f80;border:1px solid #b5d4b416;border-radius:5px;padding:10px}.status-grid span{font:9px Consolas,monospace;color:#93ad99;letter-spacing:.2px}.status-grid strong{font-size:11px;font-weight:500;white-space:normal;line-height:1.5;color:#dfedda}.readout{margin:12px 0 0;font:10px/1.6 Consolas,monospace;color:#b6d1bc;min-height:16px}.panel-title{border:0;padding:0 0 14px}.panel-title span{font:10px Consolas,monospace;letter-spacing:1px;color:#c7dcc7}.panel-title strong{font-size:10px;color:#91b59a}.hud-menu label{margin-top:12px;display:grid;gap:8px}.hud-menu label span{font-size:10px;text-transform:none;color:#9eb8a3}.mode-row{display:grid;grid-template-columns:1fr 1fr;margin:12px 0;gap:8px}button,select{min-height:37px;border:1px solid #c5e3bf2b;border-radius:5px;background:#1b3023;color:#d6e6cf;font-size:11px;padding:8px 10px}button:hover,button.active{border-color:#b5dba35c;background:#29452e;color:#e4f4d4}select{width:100%;background:#11261a}select option{background:#11261a}.panel-note{font-size:10px;line-height:1.7;color:#96ad9b}input[type=range]{accent-color:#c5e6ad;width:100%;height:20px;cursor:pointer}.hud-timeline{flex:none;padding:14px 16px;background:#102019}.timeline-top{display:flex;gap:8px;align-items:center;margin-bottom:6px}.timeline-top button{width:auto;min-width:48px;font-size:10px;min-height:32px;text-transform:capitalize;padding:6px 10px}#play-toggle{background:#c5e6ad;color:#18321c;border-color:#c5e6ad}#time-label{font:10px Consolas,monospace;color:#c0d5bd;margin-left:auto;text-align:right;white-space:normal}.timeline-rail{display:flex!important;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:3px 0 5px;margin:5px 0 0}.timeline-mark{flex:1 0 58px;padding:8px;min-height:46px}.timeline-mark strong{font:11px Consolas,monospace;color:#c1dcb2}.timeline-mark span{font:9px/1.5 'Segoe UI',sans-serif;display:block;color:#95af9d;margin-top:5px}.timeline-mark.active{background:#c4e5b21a;border-color:#bbdea36e;box-shadow:inset 0 2px #c5e6ad}.hud-legend{position:absolute;left:18px!important;bottom:16px!important;top:auto!important;width:180px;padding:10px 12px;border-radius:6px;background:#0c1c17e8;pointer-events:none;display:block}#legend-name{font-size:9px}#legend-canvas{height:8px;border:0;border-radius:2px;margin-top:7px}.legend-values{font-size:9px;margin-top:5px}.loading{position:absolute;inset:0!important;transform:none;display:grid;place-items:center;border:0;background:#06130edb;color:#c5e6ad;font:11px Consolas,monospace;border-radius:12px;z-index:4}.loading.hidden{display:none}.analysis-details{border:1px solid var(--line);border-radius:10px;background:#102019;min-width:0}.analysis-details summary{position:relative;cursor:pointer;padding:17px 18px;font-size:11px;color:#c8dfbf;list-style:none;border-radius:10px}.analysis-details summary:after{content:'+';float:right}.analysis-details[open] summary:after{content:'−'}.analysis-details summary:hover{background:#1a2f20}.hud-enso,.hud-assistant{border:0;border-top:1px solid var(--line);border-radius:0 0 10px 10px;overflow:visible;background:#102019;padding:16px}.hud-enso .section-head{display:block}.hud-enso h2{font-size:15px;font-weight:450;margin:6px 0}.eyebrow{font-size:9px;color:#8fae99}#iriStamp{font-size:9px;color:#93a992}.chart-wrap{height:210px;margin-top:12px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px}.summary-grid>div{padding:10px;background:#081a11;border-radius:5px}.summary-grid .label{font-size:8px}.summary-grid strong{font-size:12px}.hud-assistant{padding:0}.assistant-hero{grid-template-columns:1fr;padding:16px;background:none}.earthbot{display:none}.assistant-hero-title{font:18px 'Segoe UI',sans-serif}.assistant-note{max-width:none;color:#a2b99f;font-size:11px}.assistant-block{background:#0b1b12;border:1px solid var(--line);border-radius:6px}.assistant-note,.assistant-summary,.assistant-output{font-size:11px;color:#b4cbb0}#assistant-input{border-radius:6px;background:#0b1b12;font-size:12px;color:#e4f1db}#assistant-submit{background:#c5e6ad;color:#17321a;border:0}.assistant-grid{gap:10px}.assistant-step{border-radius:5px}.assistant-input-wrap span{font-size:10px}.assistant-step-progress-bar{background:linear-gradient(90deg,#7bd3b4,#d6ebad)}.viewer-skip{position:fixed;top:-100px;left:20px;z-index:99;padding:12px;background:#c5e6ad;color:#102019}.viewer-skip:focus{top:12px}.embed-viewer .workspace-header,.embed-viewer .workspace-heading,.embed-viewer .workspace-sidebar,.embed-viewer .map-badge,.embed-viewer .map-instruction,.embed-viewer .hud{display:none!important}.embed-viewer #app{display:block;height:100vh;margin:0}.embed-viewer .stage-column,.embed-viewer .map-stage{height:100%;border:0;border-radius:0}
@media(max-width:1100px){#app{grid-template-columns:minmax(0,1fr) 300px}.workspace-heading>p{display:none}.workspace-header{padding:0 20px}.hud-status,.hud-menu{padding:15px}.map-instruction{font-size:8px;bottom:85px;right:12px}.hud-enso{left:auto;right:auto;top:auto;bottom:auto}.hud-menu{display:block}.hud-legend{display:block}.hud-assistant{max-height:none}}
@media(max-width:760px){html,body{height:auto;min-height:100%;overflow:auto}.workspace-header{height:auto;min-height:66px;flex-wrap:wrap;padding:14px 18px;gap:15px}.workspace-brand{font-size:18px}.workspace-header nav{order:3;width:100%;justify-content:center}.workspace-header nav a{flex:1;text-align:center;padding:10px 8px}.all-models{font-size:10px}.workspace-heading{height:85px;padding:16px 18px}.workspace-heading h1{font-size:26px}.workspace-heading h1 span{font-size:10px}#app{display:flex;flex-direction:column;height:auto;margin:0 12px 20px;gap:16px;overflow:visible}.stage-column{gap:10px}.map-stage{height:52svh;min-height:320px;flex:auto}.map-badge{left:14px;top:15px;font-size:8px}.map-instruction{font-size:8px;bottom:18px;right:12px;max-width:130px;text-align:right}.hud-legend{width:145px;left:12px!important;bottom:12px!important}.hud-timeline{padding:12px}.timeline-top{gap:5px}.timeline-top button{min-width:43px;padding:7px}.timeline-mark{flex-basis:55px}.timeline-mark span{display:block;font-size:8px}#time-label{font-size:9px}.workspace-sidebar{overflow:visible;padding:0}.hud-status,.hud-menu{width:100%;padding:18px}.status-grid{grid-template-columns:repeat(2,1fr)}.status-grid strong{font-size:12px}.chart-wrap{height:230px}.summary-grid{grid-template-columns:repeat(2,1fr)}.hud-enso,.hud-assistant{width:100%;max-height:none}.mode-row button{min-height:42px}.hud-menu label{margin-top:15px}.analysis-details summary{min-height:48px;padding:17px}.embed-viewer html,.embed-viewer body{overflow:hidden}.embed-viewer .map-stage{min-height:0;height:100vh}}
