.observatory{--observatory-line: var(--ui-border-strong);color:var(--ui-text);container-type:inline-size}.observatory-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--ui-border)}.observatory-toolbar .self-tabs{margin:0}.observatory-map-layout{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid var(--ui-border);background:var(--ui-surface-inset);border-radius:8px;overflow:hidden}.observatory-lanes{padding:20px 12px;border-right:1px solid var(--ui-border);max-height:720px;overflow:auto}.observatory-lane{display:flex;gap:9px;width:100%;text-align:left;background:transparent;border:0;padding:12px 4px;color:var(--ui-text-muted);cursor:pointer;font:inherit;font-size:.85rem;overflow-wrap:anywhere}.observatory-lane[data-child=true]{padding-left:15px}.observatory-lane[data-active=true]{color:var(--ui-accent-strong);background:var(--ui-accent-quiet)}.observatory-lane span{color:var(--ui-accent)}.observatory-map{min-width:0;background:radial-gradient(ellipse at 65% 90%,var(--ui-accent-quiet),transparent 60%)}.observatory-date-axis{display:flex;justify-content:space-between;padding:14px 20px;color:var(--ui-text-muted);font-size:.8rem;letter-spacing:.1em;border-bottom:1px solid var(--ui-border-plain)}.observatory-scene-scroll{overflow:auto;max-height:720px}.observatory-three,.observatory-flat{position:relative;min-width:560px;overflow:hidden}.observatory-three canvas{display:block;touch-action:pan-y;cursor:grab}.observatory-three canvas:active{cursor:grabbing}.observatory-flat svg{position:absolute;inset:0;width:100%;height:100%}.observatory-road-line{stroke:var(--observatory-line);stroke-width:1}.observatory-star{fill:var(--ui-accent-strong)}.observatory-halo{fill:var(--ui-accent-quiet);stroke:var(--ui-accent);stroke-width:.5}.observatory-lane-label{fill:var(--ui-text-muted);font-size:13px;letter-spacing:.06em}.observatory-possible .observatory-star{fill:var(--ui-info)}.observatory-possible .observatory-halo{fill:none;stroke:var(--ui-info);stroke-dasharray:2 3}.observatory-now-line{stroke:var(--ui-accent-strong);stroke-width:1;stroke-dasharray:3 5}.observatory-now-label{fill:var(--ui-accent-strong);font-size:11px;letter-spacing:.1em}.observatory-node-label{position:absolute;transform:translate(-50%);max-width:118px;padding:4px 6px;background:var(--ui-surface-inset);border:1px solid transparent;border-radius:4px;color:var(--ui-text);font:inherit;font-size:.8rem;text-align:center;cursor:pointer}.observatory-node-label span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.observatory-node-label small{display:block;font-size:.57rem;color:var(--ui-text-muted);letter-spacing:.06em;margin-top:4px}.observatory-node-label:hover,.observatory-node-label[data-selected=true]{border-color:var(--ui-accent);background:var(--ui-surface-2);z-index:2}.observatory-node-label[data-selected=true]{box-shadow:0 0 24px var(--ui-accent-quiet)}.observatory button:focus-visible,.observatory-choice-review button:focus-visible{outline:2px solid var(--ui-accent-strong);outline-offset:3px}.observatory-three-now{position:absolute;color:var(--ui-accent-strong);letter-spacing:.15em;font-size:.7rem;pointer-events:none}.observatory-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 18px;font-size:.7rem;color:var(--ui-text-muted);border-top:1px solid var(--ui-border-plain)}.observatory-inspector,.observatory-futures{min-width:0;padding:22px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface-1)}.observatory-branches{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.observatory-branches button{flex:1 1 115px;padding:14px;text-align:left;font:inherit;color:var(--ui-text);border:1px solid var(--ui-border);border-radius:5px;background:transparent;cursor:pointer;overflow-wrap:anywhere}.observatory-branches button[aria-pressed=true]{border-color:var(--ui-accent);background:var(--ui-accent-quiet)}.observatory-branches button strong{display:block;font-size:.9rem;font-weight:500}.observatory-branches button span{display:block;margin-top:8px;font-size:.72rem;color:var(--ui-text-muted)}.observatory-budget{container-type:inline-size;padding:18px 0}.observatory-budget-cards{display:none;max-height:340px;overflow:auto}.observatory-budget-cards article{padding:12px 0;border-bottom:1px solid var(--ui-border)}.observatory-budget-cards dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:14px 0 0}.observatory-budget-cards dt{color:var(--ui-text-muted);font-size:.75rem}.observatory-budget-cards dd{margin:4px 0 0;font-size:.95rem}@container (max-width: 700px){.observatory-budget-cards{display:block}.observatory-budget>.observatory-table-scroll{display:none}}.observatory-budget-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:15px;color:var(--ui-text-muted);font-size:.8rem}.observatory-table-scroll{max-height:330px;overflow:auto}.observatory-budget table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.observatory-budget th,.observatory-budget td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--ui-border-plain);font-weight:400}.observatory-budget thead th{position:sticky;top:0;color:var(--ui-text-muted);background:var(--ui-surface-1)}.observatory-budget small{display:block;color:var(--ui-text-muted);font-size:.7rem}.observatory-overbudget{color:var(--ui-warning)}.observatory-budget-disclosure,.observatory-record-list{border-top:1px solid var(--ui-border);padding:16px 0}.observatory summary,.observatory-choice-review summary{cursor:pointer;color:var(--ui-accent);padding:8px 0}.observatory-record-list button,.observatory-cluster button{display:block;width:100%;text-align:left;background:transparent;color:var(--ui-text);font:inherit;border:0;border-bottom:1px solid var(--ui-border-plain);padding:12px 4px;cursor:pointer;overflow-wrap:anywhere}.observatory-record-list small,.observatory-cluster small{display:block;color:var(--ui-text-muted);font-size:.75rem}.observatory-cluster{max-height:320px;overflow:auto;margin-top:18px}.observatory-adjustment{padding:16px;border:1px solid var(--ui-border);border-radius:6px}.observatory-choice-review{padding:20px;border:1px solid var(--ui-border);border-radius:6px}@media(prefers-reduced-motion:reduce){.observatory *,.observatory-choice-review *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
