:root { color-scheme: light dark; --bg:#f4f6f8; --panel:#fff; --ink:#162535; --border:#c8d1d9; --accent:#0664aa; --muted:#63707c; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#13202c; --panel:#1b2b3a; --ink:#e0ebf4; --border:#526373; --accent:#73bcf3; --muted:#9cabb8; } }
:root[data-theme="dark"] { color-scheme:dark; --bg:#13202c; --panel:#1b2b3a; --ink:#e0ebf4; --border:#526373; --accent:#73bcf3; --muted:#9cabb8; }
:root[data-theme="light"] { color-scheme:light; }
* { box-sizing:border-box; } body { margin:0; font:14px/1.45 system-ui,sans-serif; background:var(--bg); color:var(--ink); }
main { padding:20px; max-width:1900px; margin:auto; } h1,h2,h3 { margin:0 0 10px; } h1 { font-size:27px; } h2 { font-size:19px; } h3 { font-size:16px; }
header { margin-bottom:20px; } header>label, header>button { margin-right:12px; } button,input,select { font:inherit; color:inherit; border:1px solid var(--border); background:var(--panel); padding:6px 9px; border-radius:5px; }
button { cursor:pointer; } button:hover { border-color:var(--accent); } :focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.slice-layout { display:grid; grid-template-columns:minmax(215px,1fr) minmax(480px,3fr) minmax(240px,1.2fr); gap:16px; align-items:start; }
.slice-layout>* { min-width:0; }
section { background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:14px; margin-bottom:14px; }
.filter-controls { display:flex; gap:5px; } .filter-controls input { width:100%; min-width:0; } .filter-controls select { width:80px; }
ul { padding:0; list-style:none; } li { margin:5px 0; } .entity-button { text-align:left; width:100%; } .index-panel ul { max-height:240px; overflow:auto; }
.entity-button[data-relation-distance] { border-color:#b77c26; }
.entity-button[aria-current="true"] { border-color:#d87912; box-shadow:inset 3px 0 #d87912; }
.index-selection-swatch { display:inline-block; width:12px; height:12px; margin-right:6px; vertical-align:middle; }
.relation-badge { display:inline-block; margin-left:6px; padding:0 4px; border:1px solid currentColor; border-radius:4px; color:#986017; font-size:11px; }
:root[data-theme="dark"] .relation-badge { color:#efbb70; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .relation-badge { color:#efbb70; } }
.graph-preview svg { width:100%; max-height:450px; overflow:auto; } .graph-node { cursor:pointer; } .graph-node rect { fill:var(--panel); stroke:var(--border); stroke-width:1.5; }
.graph-node text { fill:var(--ink); font-size:12px; } .graph-node[data-highlight="selected"] rect { stroke:var(--accent); stroke-width:4; }
.graph-node[data-highlight="preview"] rect { stroke:#d38b13; stroke-width:3; } .graph-node[data-highlight="group"] rect { stroke:#a566dd; stroke-width:3; }
.graph-node[data-highlight="related"] rect { stroke:#2b9e87; stroke-width:2.5; } .graph-node[data-filter="faded"],.graph-node[data-highlight="muted"] { opacity:.45; }
.graph-node[data-highlight="selected"] { opacity:1; } .graph-node[data-visible-reason="selected-entity"] rect { stroke-dasharray:5 3; }
.context-actions { display:flex; gap:6px; flex-wrap:wrap; margin:12px 0; } details { margin:12px 0; } summary { cursor:pointer; font-weight:600; }
[data-testid="filter-conflicts"] { border-left:3px solid #d38b13; padding-left:12px; } [data-testid="as-of"] { color:var(--muted); }
@media (max-width:1000px) { .slice-layout { grid-template-columns:minmax(0,1fr); }  }
@media (prefers-reduced-motion:reduce) { * { animation:none!important; transition:none!important; } }

.playback { margin: 12px 0; padding: 12px; border: 1px solid var(--border, #778); border-radius: 8px; }
.playback-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.playback input[type=range] { width: 100%; }
.timeline-scroll { overflow-x: auto; padding: 4px; }
.timeline-track { position: relative; height: 76px; min-width: 500px; }
.timeline-mark { position: absolute; transform: translateX(10px); min-width: 24px; padding: 0 4px; z-index: 2; }
.timeline-mark[data-breakpoint=before], .timeline-mark[data-breakpoint=both] { border-left: 5px solid #da3348; }
.timeline-mark[data-breakpoint=after], .timeline-mark[data-breakpoint=both] { border-right: 5px solid #da3348; }
.timeline-mark:focus-visible { outline: 3px solid #d59b28; outline-offset: 3px; }
.timeline-bar { position: absolute; width: 3px; height: 68px; background: #d59b28; transform: translateX(22px); }
.stream-message { font-weight: 600; padding: 8px; background: #26334a; color: white; }
@media (prefers-reduced-motion: reduce) { .playback * { animation: none !important; transition: none !important; } }
.timeline-scroll { max-height: 300px; }
.timeline-category { position: absolute; left: 0; max-width: 132px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.timeline-bar { height: 100%; }

.playback-transport { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; }
.playback-transport-icons,.playback-options { display:flex; align-items:center; flex-wrap:wrap; gap:4px; min-inline-size:0; max-width:100%; margin:0; padding:0 5px 4px; border:1px solid var(--border); border-radius:7px; }
.playback-transport-icons legend,.playback-options legend { padding:0 4px; color:var(--muted); font-size:10px; }
.playback-transport-button { width:32px; height:32px; padding:2px; display:inline-flex; align-items:center; justify-content:center; }
.playback-transport-button svg { width:28px; height:22px; fill:currentColor; }
.playback-transport-button svg.playback-step-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.playback-step-icon .step-timeline { opacity:.58; }
.playback-transport-button:disabled .step-timeline { opacity:.8; }
.playback-step-icon .step-destination { stroke-width:3; }
.playback-step-icon .step-position { fill:currentColor; stroke:none; }
.playback-step-icon .step-arrow { stroke-width:2.4; }
.playback-transport-button[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); }
.playback-options label { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.playback-breakpoint-actions { display:flex; flex-wrap:wrap; gap:4px; }
.schematic > .playback.playback-compact { display:flex; flex-wrap:wrap; gap:2px 8px; margin:-6px -6px 6px; padding:3px 10px; border:0; border-bottom:1px solid var(--border); border-radius:8px 8px 0 0; font-size:11px; }
.playback-compact > .playback-toolbar { order:0; flex-basis:100%; gap:6px; }
.playback-compact .playback-toolbar > strong { white-space:nowrap; }
.playback-compact .playback-transport { gap:6px; }
.playback-compact .playback-transport-icons { flex-wrap:nowrap; gap:3px; }
.playback-compact .playback-transport-button { box-sizing:border-box; width:38px; height:27px; padding:2px; }
.playback-compact .playback-options { gap:6px; font-size:10px; }
.playback-compact .playback-options select { min-width:0; max-width:150px; padding:1px 2px; font:inherit; }
.playback-compact > .timeline-scroll { order:1; flex-basis:100%; }
.playback-compact .timeline-scroll { max-height:90px; overflow:auto; padding:0; overscroll-behavior:contain; }
.playback-compact .timeline-category { font-size:8px; line-height:9px; }
.playback-compact .timeline-mark { width:8px; height:8px; min-width:8px; min-height:0; padding:0!important; border:0; border-radius:50%; background:transparent; color:var(--accent); font-size:8px; line-height:8px; transform:translateX(-50%); }
.playback-compact .timeline-mark[data-breakpoint=before],.playback-compact .timeline-mark[data-breakpoint=both] { border-left:2px solid #da3348; }
.playback-compact .timeline-mark[data-breakpoint=after],.playback-compact .timeline-mark[data-breakpoint=both] { border-right:2px solid #da3348; }
.playback-compact .timeline-bar { width:2px; }
.playback-compact > section { order:2; flex-basis:100%; min-width:0; }
.playback-compact > input[type=range] { order:3; flex-basis:100%; min-width:0; height:10px; margin:0; padding:0; }
.playback-compact > [data-testid="playback-status"] { order:4; flex:1 1 200px; margin:0; color:var(--muted); font-size:10px; }
.playback-compact > .playback-help { order:4; margin:0; font-size:10px; }
.playback-compact > .playback-help[open] { flex-basis:100%; }
.playback-compact > .playback-breakpoint-actions,.playback-compact > [role=status]:not([data-testid="playback-status"]) { order:5; }
.playback-compact > section h3,.playback-compact > section h4 { margin:0; font-size:11px; }
.playback-compact > section p { margin:2px 0; font-size:10px; }

.evidence-controls, .forecast-controls { margin: 1rem 0; padding: 1rem; border: 1px solid currentColor; border-radius: .5rem; }
.captured-evidence { max-height: 65vh; overflow: auto; padding: 1rem; border-top: 1px solid currentColor; }
.captured-evidence li { margin-block: 1rem; }
.captured-evidence pre, .forecast-controls pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 20rem; overflow: auto; }
.captured-evidence button, .evidence-controls > button, .forecast-controls button { margin: .25rem; }
.captured-evidence code { overflow-wrap: anywhere; }

.atlas { overflow:visible; } .atlas-controls { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-block:10px; }
.atlas-chart-stack { position:relative; } .atlas-chart,.atlas-overview { width:100%; display:block; overflow:visible; touch-action:none; }
.atlas-background { fill:var(--panel); } .atlas-axis-tick line { stroke:var(--border); stroke-dasharray:2 4; opacity:.5; }
.atlas-axis-tick text,.atlas-lane text { fill:var(--muted); font-size:10px; } .atlas-pack-run { stroke:var(--accent); stroke-width:2; opacity:.6; }
.atlas-canvases { position:relative; width:100%; height:100%; } .atlas-canvases canvas { position:absolute; inset:0; width:100%; height:100%; }
.atlas-overview { height:64px; border-block:1px solid var(--border); margin-top:10px; }
.atlas-crosshair { stroke:var(--muted); stroke-width:1; stroke-dasharray:4 3; } .atlas-brush { fill:var(--accent); fill-opacity:.2; stroke:var(--accent); }
.atlas-tooltip { position:absolute; right:8px; top:8px; max-width:300px; pointer-events:none; padding:8px; background:var(--panel); border:1px solid var(--border); border-radius:5px; z-index:2; }
.atlas-tooltip p { margin:3px 0; } .atlas-help { font-size:12px; color:var(--muted); }

.atlas-controls,.atlas-timeline-controls { border:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-block:10px; }
.atlas-selected-crosshair,.atlas-reference,.atlas-highlight { pointer-events:none; }

.schematic-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-block:10px; }
.schematic-toolbar h2 { margin:0; } .schematic { min-width:0; } .schematic-toolbar select { max-width:100%; }
.schematic-canvas { width:100%; min-height:280px; max-height:65vh; border:1px solid var(--border); border-radius:7px; touch-action:none; }
.schematic-background { fill:var(--bg); } .schematic-card { fill:var(--panel); stroke:var(--border); stroke-width:2; }
.schematic-node { cursor:pointer; } .schematic-node[data-selected=true]>.schematic-card { stroke:var(--accent); stroke-width:5; }
.schematic-node[data-boundary=true]>.schematic-card { stroke-dasharray:6 4; }
.schematic-label { fill:var(--ink); font-weight:600; font-size:14px; }
.schematic-edge line { stroke:var(--muted); stroke-width:2; }
.schematic-edge { color:var(--muted); } .schematic-node[data-active=true]>.schematic-card { stroke:#e1a228; stroke-width:4; }
.schematic-inspectors pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:300px; overflow:auto; }
.schematic-table-scroll { overflow:auto; max-width:100%; } .schematic-inspectors table { border-collapse:collapse; width:100%; }
.schematic-inspectors th,.schematic-inspectors td { border:1px solid var(--border); text-align:left; padding:5px 8px; }
.schematic-inspectors td { overflow-wrap:anywhere; } .schematic-help { max-width:620px; color:var(--ink); background:var(--panel); border:1px solid var(--border); border-radius:9px; }
.schematic-help::backdrop { background:#0009; }
@media (max-width:600px) { main { padding:10px; } .schematic-toolbar>label { min-width:0; width:100%; } .schematic-toolbar select { width:100%; } .schematic-canvas { min-height:260px; } }

.panel-heading { display:flex; gap:5px; align-items:center; flex-wrap:wrap; } .panel-heading h3 { flex:1; margin:0; } .entity-facts { display:block; font-size:12px; color:var(--muted); } .why-tag { border:1px solid var(--border); border-radius:4px; margin:3px; padding:2px; }
.entity-context-menu { position:fixed; z-index:40; display:grid; max-width:240px; padding:8px; gap:4px; background:var(--panel); border:1px solid var(--border); box-shadow:0 5px 22px #0005; }
.skip-link { position:absolute; left:-9999px; } .skip-link:focus { left:10px; top:10px; z-index:100; padding:12px; background:var(--panel); }
.index-panel ul { max-height:var(--index-panel-height,315px); } header nav a { color:var(--accent); } header nav { margin-block:10px; } .slice-layout pre { white-space:pre-wrap; overflow-wrap:anywhere; } .filter-controls select { width:auto; max-width:110px; }
@media(min-width:1400px) { .slice-layout { grid-template-columns:minmax(215px,1fr) minmax(480px,3fr) minmax(240px,var(--right-rail-width,420px)); }}

/* Native first-party application chrome and Focus Lens facts. */
.application-chrome { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-block:12px; }
.application-chrome label { display:flex; align-items:center; gap:6px; }
.native-dialog::backdrop { background:#0009; }
.native-dialog { padding:20px; }
.native-dialog .about-dialog-header { position:sticky; top:0; background:var(--panel); z-index:1; }
.native-dialog .about-dialog-body { overflow-wrap:anywhere; }
.native-dialog .release-version-nav { margin-block:16px; }
.release-version-chip { display:inline-block; border:1px solid var(--border); border-radius:1rem; padding:3px 10px; color:var(--muted); font-size:12px; }
.app-logo-art svg { width:100%; height:100%; }
.app-logo .mcp-logo { --mcp-grey:var(--ink); }
.app-logo .mcp-mark { fill:#f0563a; transform-box:fill-box; transform-origin:center; }
.app-logo[data-connection="lost"] .mcp-mark { fill:#d23543; }
.app-logo[data-breathing="true"] .mcp-mark { animation:observatory-logo-breath 5s ease-in-out infinite; }
@keyframes observatory-logo-breath { 0%,100% { transform:scale(1); } 50% { transform:scale(.8); } }
.comet-spinner svg { animation:observatory-spinner 1.2s linear infinite; }
@keyframes observatory-spinner { to { transform:rotate(360deg); } }
.lens-details .production-summary { display:flex; flex-wrap:wrap; gap:4px; color:var(--muted); margin-block:8px; }
.lens-details .entity-detail-facts { display:flex; flex-wrap:wrap; gap:5px; font-size:12px; }
.lens-details .entity-detail-facts p { margin:0; }
.lens-details li { border-bottom:1px solid var(--border); padding-block:7px; }
.why-tag-badge { display:inline-block; border:1px solid var(--border); border-radius:4px; padding:2px 5px; margin:2px; }
.pack-gap-card { color:#c2410c; }
.shed-execution-summary table { border-collapse:collapse; }
.shed-execution-summary th,.shed-execution-summary td { padding:5px; border:1px solid var(--border); white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { .app-logo .mcp-mark,.comet-spinner svg { animation:none!important; } }

.atlas-loading-overlay:not([hidden]) { position:absolute; inset:0; z-index:3; display:grid; place-items:center; pointer-events:none; background:color-mix(in srgb,var(--panel) 70%,transparent); }

/* Preserve the Observatory shell: compact masthead, Atlas, Focus Lens, then
   indexes. Source/import authoring tools belong in Universe Settings. */
:root { --bg:#f6f7f9; --panel:#fff; --ink:#202124; --border:#d9dee7; --muted:#667085; --ui-font:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --title-font:"Orbitron","Arial Black",sans-serif; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --bg:#111827; --panel:#1b232f; --ink:#e4e7ec; --border:#344054; --muted:#a7b0c0; } }
:root[data-theme="dark"] { --bg:#111827; --panel:#1b232f; --ink:#e4e7ec; --border:#344054; --muted:#a7b0c0; }
body { font:15px/1.4 var(--ui-font); }
main.migration-app { max-width:none; padding:0; }
.migration-app h1,.migration-app h2,.migration-app h3 { font-family:var(--title-font); }
.migration-app h2,.migration-app h3 { font-size:16px; line-height:1.2; margin:0; }
.migration-app button,.migration-app input,.migration-app select { padding:3px 7px; border-radius:5px; }
.app-header { display:flex; align-items:center; gap:12px; min-height:42px; padding:4px 9px; background:var(--panel); border-bottom:1px solid var(--border); margin:0 0 8px; position:sticky; top:0; z-index:10; }
.app-title-row,.app-header-actions,.header-controls { display:flex; align-items:center; gap:7px; }
.app-title-row { min-width:0; flex:1; gap:10px; }
.app-header h1 { font-size:20px; line-height:1.1; white-space:nowrap; margin:0; }
.app-header p { margin:0; color:var(--muted); white-space:nowrap; font-size:14px; }
.app-header .app-logo { width:50px!important; height:24px!important; }
.app-header .application-chrome { flex-wrap:nowrap; gap:10px; margin:0; }
.connection-dot { color:var(--muted); font-size:14px; }
.app-header-actions { margin-left:auto; max-width:100%; flex-wrap:wrap; }
.app-header-actions button { font-size:12px; white-space:nowrap; }
.csv-upload-target { cursor:pointer; border:1px dashed var(--border); border-radius:6px; padding:4px 8px; font-weight:650; white-space:nowrap; }
.csv-upload-input { display:none; }
.get-data-file { color:var(--ink); font-size:12px; white-space:nowrap; border:1px solid var(--border); border-radius:5px; padding:3px 7px; }
.about-control { border-radius:50%!important; width:28px; height:28px; padding:0!important; }
.slice-layout { display:block; margin:0 9px; }
.atlas-workspace { width:100%; min-width:0; }
.migration-app section { padding:6px; margin-bottom:7px; }
.focus-lens p { margin:3px 0 0; }
.indexes { display:grid; grid-template-columns:repeat(var(--index-columns,4),minmax(0,1fr)); gap:var(--divider-size,4px); margin-top:0; }
.index-panel,.filter-groups { min-width:0; }
.index-panel ul { height:var(--index-panel-height,315px); max-height:var(--index-panel-height,315px); overflow:auto; margin:5px 0 0; }
.index-panel,.filter-groups { position:relative; }
.indexes .panel-heading { cursor:grab; }
.indexes .panel-heading:active { cursor:grabbing; }
.indexes .panel-heading button { cursor:pointer; }
.indexes > section[data-index-collapsed="true"] { max-height:none; overflow:hidden; }
.indexes > section[data-index-collapsed="true"] > :not(.panel-heading) { display:none!important; }
.indexes > section[data-index-collapsed="true"] > .panel-heading { margin-bottom:0; }
.layout-splitter,.index-layout-splitter { background:var(--border); border-radius:4px; touch-action:none; opacity:.65; }
.layout-splitter:hover,.index-layout-splitter:hover,.layout-splitter:focus-visible,.index-layout-splitter:focus-visible { background:var(--accent); opacity:1; }
.layout-splitter { width:var(--divider-size,4px); min-height:300px; cursor:col-resize; }
.index-layout-splitter { height:var(--divider-size,4px); width:100%; cursor:row-resize; margin:0; }
.indexes > .index-layout-splitter { grid-column:1 / -1; }
.panel-heading { flex-wrap:nowrap; margin-bottom:6px; }
.indexes .panel-heading h3,.indexes .panel-heading h2 { flex:0 1 auto; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin:0; }
.indexes .panel-heading > :not(h3):not(h2) { flex-shrink:0; }
.index-count { margin-left:auto; font:12px var(--ui-font); }
.panel-heading button { font-size:10px; padding:0 3px; }
.tooltip-help-indicator { font-size:11px; color:var(--muted); cursor:help; }
.filter-controls { margin-top:5px; }
.filter-controls input { font-size:12px; }
.filter-controls select { font-size:11px; max-width:65px; }
.filter-groups details { margin:5px 0; font-size:12px; }
.filter-groups > button { font-size:11px; margin-top:5px; }
.universe-settings,.migration-app > details { margin:7px 9px; padding:6px; border:1px solid var(--border); border-radius:8px; background:var(--panel); }
.universe-settings > summary { font-family:var(--title-font); font-size:16px; }
.universe-settings select { min-width:0; max-width:100%; }
.universe-settings nav { margin:10px 0; }
.universe-settings nav a { color:var(--accent); }
.universe-settings > label,.universe-settings > button { margin:5px; }
.atlas { position:relative; padding:3px 6px 8px!important; }
.atlas > h2 { padding-bottom:5px; border-bottom:1px solid var(--border); }
.atlas > output { display:block; font-size:10px; color:var(--muted); }
.atlas-controls { margin:4px 0; font-size:11px; }
.atlas-controls label { font-size:0; }
.atlas-controls select { font-size:10px; }
.atlas-controls label:nth-child(1) { order:2; }
.atlas-controls label:nth-child(2) { order:1; }
.atlas-controls label:nth-child(3) { order:3; }
.atlas-controls label:nth-child(4) { order:4; margin-left:auto; font-size:13px; display:flex; gap:8px; align-items:center; }
.atlas-controls label:nth-child(4) input { width:80px; height:14px; padding:0; }
.atlas-controls button { order:5; font-size:10px; }
.atlas-timeline-controls { font-size:10px; margin:3px 0; }
.atlas-timeline-controls select { font-size:10px; }
.atlas-chart { height:400px; }
.atlas-help { margin:3px 0; font-size:10px; }
/* Main paint coordinates are 460 units high in a 430px viewport. Give the
   64-unit overview the same scale so identical X values share screen pixels,
   including when SVG letterboxing is active on wide layouts. */
.atlas-overview { margin-top:1px; margin-bottom:2px; height:59.8260869565px; box-sizing:content-box; }
@media(max-width:1400px) { .app-title-row p { display:none; } }
@media(max-width:700px) { .app-header { flex-wrap:wrap; } .header-controls { flex-wrap:wrap; } .app-header-actions { margin-left:0; } .app-header h1 { font-size:17px; } .atlas-controls label:nth-child(4) { margin-left:0; } }
.atlas { --atlas-chart-left-margin:140px; --atlas-chart-right-margin:40px; }
/* Measure margins to the plot, including panel padding and SVG overflow rails. */
.atlas-chart-stack { display:flex; flex-direction:column;
 margin-left:calc(var(--atlas-chart-left-margin) - 7px - var(--atlas-chart-left-inset,0px));
 margin-right:calc(var(--atlas-chart-right-margin) - 7px - var(--atlas-chart-right-inset,0px));
 width:calc(100% - var(--atlas-chart-left-margin) - var(--atlas-chart-right-margin) + 14px + var(--atlas-chart-left-inset,0px) + var(--atlas-chart-right-inset,0px)); }
.atlas-chart-viewport { overflow-x:clip; }
/* Share the existing bottom gutter with the axis actions, without taking layout space. */
.atlas-highlight-legend-slot { position:absolute; bottom:4px; left:10px; right:242px; min-width:0; z-index:2; pointer-events:none; }
.atlas-highlight-legend { display:flex; align-items:center; gap:16px; height:22px; margin:0; padding:0; overflow-x:auto; list-style:none; color:var(--ink); font-size:12px; }
/* Backlog adds 11px to the existing 8px bottom gutter, whether highlighted or not. */
.atlas-backlog { --atlas-bottom-extra-padding:11px; padding-bottom:calc(8px + var(--atlas-bottom-extra-padding))!important; }
.atlas-backlog .atlas-highlight-legend-slot { bottom:1px; }
.atlas-backlog .atlas-highlight-legend { height:16px; line-height:16px; }
.atlas-highlight-legend li { pointer-events:auto; cursor:pointer; display:flex; align-items:center; gap:6px; flex:0 0 auto; min-width:0; }
.migration-app .highlight-close-swatch { display:grid; place-items:center; width:12px; min-width:12px; height:12px; min-height:12px; aspect-ratio:1; flex:0 0 12px; padding:0; margin:0; border:0; border-radius:0; line-height:0; appearance:none; }
.highlight-close-glyph { display:block; width:12px; height:12px; opacity:0; color:white; filter:drop-shadow(0 0 1px black); }
.highlight-close-swatch:hover .highlight-close-glyph,.highlight-close-swatch:focus-visible .highlight-close-glyph { opacity:1; }
.atlas-legend-label { max-width:24ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); transform:translateY(1px); }

.import-loading-overlay { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:color-mix(in srgb,var(--panel) 24%,transparent); }
.import-loading-overlay .native-comet-spinner { transform:translateY(-50px); }
.import-loading-progress { width:min(320px,80%); display:flex; flex-direction:column; align-items:center; gap:5px; padding:10px 14px; border:1px solid var(--border); border-radius:9px; background:var(--panel); box-shadow:0 8px 24px rgb(0 0 0 / 12%); font-size:13px; }
.import-loading-overlay .import-loading-progress { transform:translateY(-120px); }
.import-loading-progress progress { display:block; width:100%; height:14px; accent-color:var(--accent); }
.import-loading-progress small { color:var(--muted); }
.loading-lens,.loading-indexes .index-panel { min-height:110px; }
.atlas-timeline-controls { order:1; }
.atlas-overview { order:2; }
.atlas-help { order:3; }
.atlas-chart { height:365px; }
/* Match the reference Atlas's 430px chart and embedded axis/overview controls. */
.atlas-chart { height:var(--atlas-chart-height,430px); }
.atlas > .atlas-controls { position:absolute; inset:0; margin:0; padding:0; pointer-events:none; display:block; z-index:2; }
.atlas-controls label,.atlas-controls button { pointer-events:auto; position:absolute; }
.atlas-controls .atlas-y-control { top:32px; left:76px; }
.atlas-controls .atlas-x-control { top:var(--atlas-chart-height,430px); left:76px; }
.atlas-controls .atlas-x-control,.atlas-controls .atlas-y-control {
 left:10px; width:calc(4 * (var(--atlas-axis-label-edge,117px) - 11px) / 3);
}
.atlas-controls .atlas-x-control select,.atlas-controls .atlas-y-control select { width:100%; }
.atlas-controls .atlas-spread-control { top:4px; right:18px; margin:0; }
.atlas-controls .atlas-surface-control { top:4px; right:200px; }
.atlas-controls > button { right:10px; bottom:6px; font-size:9px; }
.atlas-controls > button:last-child { right:126px; }
.atlas-timeline-controls { position:absolute; top:calc(var(--atlas-chart-height,430px) + 9px); bottom:auto; left:97px; z-index:2; width:71px; max-width:71px; gap:4px; display:grid; grid-template-columns:repeat(3,21px); }
.atlas-backlog .atlas-timeline-controls { left:max(calc(var(--atlas-axis-label-edge-in-chart,9px) - 71px),calc(10px - var(--atlas-chart-left-margin) + var(--atlas-chart-left-inset,0px))); right:auto; }
.atlas-timeline-controls > button { box-sizing:border-box; width:21px; height:20px; min-height:0; padding:0; border:1px solid var(--border); border-radius:3px; background:var(--bg); color:var(--ink); }
.atlas-timeline-controls > button:hover:not(:disabled) { background:var(--panel); border-color:var(--accent); }
.atlas-timeline-controls > button:disabled { opacity:.42; cursor:default; }
.atlas-timeline-controls svg { display:block; width:19px; height:18px; overflow:visible; }
.atlas-timeline-controls svg text { fill:currentColor; text-anchor:middle; dominant-baseline:middle; font-weight:800; }
.atlas-timeline-controls .timeline-arrow-icon { font-size:20px; transform:translateY(2px); }
.atlas-timeline-controls .timeline-reset-zoom-icon { font-size:15px; }
.atlas-timeline-controls .timeline-zoom-sign { font-size:9px; }
.atlas-timeline-controls .timeline-lock-icon rect,.atlas-timeline-controls .timeline-lock-icon path { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.atlas-timeline-controls .timeline-zoom-icon { fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; }
.atlas-zoom-readout { grid-column:1 / -1; text-align:center; font-size:7px; line-height:8px; font-weight:750; color:var(--muted); pointer-events:none; }
.atlas-timeline-controls label { display:flex; align-items:center; font-size:10px; }
.atlas-timeline-controls > label:has(input[type="checkbox"]) { grid-column:1 / -1; }
.atlas-timeline-controls input + span { font-size:10px; }
.atlas-help,.atlas > output { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.atlas-dataset-label { position:absolute; top:5px; left:40%; font-size:11px; color:var(--muted); }
.atlas-axis-tick line,.atlas-overview-grid { stroke:#5aa2ff; stroke-width:1; stroke-opacity:.18; stroke-dasharray:none; opacity:1; vector-effect:non-scaling-stroke; }
.atlas-axis-tick.major line { stroke-width:3; stroke-opacity:.28; }
.atlas-axis-tick.weekend line,.atlas-intraday-tick line,.atlas-overview-grid.weekend { stroke-dasharray:3 4; }
.atlas-axis-tick text,.atlas-lane text,.atlas-legend-label { font-size:12px; }
.atlas-range-label { fill:var(--muted); font-size:12px; font-weight:650; }
.atlas-disjoint-axis line { stroke:var(--border); stroke-width:1; vector-effect:non-scaling-stroke; }
.atlas-overview-marker { vector-effect:non-scaling-stroke; }
.atlas-overview-reference { stroke:#c6b65e; stroke-width:1; }
/* The reference intentionally uses hollow SVG glyphs and filled Canvas glyphs.
   Keep this SVG-only palette separate from the unchanged Canvas paint contract. */
:root { --atlas-svg-order:#fff; --atlas-svg-item:#f8fafc; --atlas-svg-preview:#2f80ed; --atlas-svg-preview-stroke:#1d4ed8; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --atlas-svg-order:#182230; --atlas-svg-item:#202c3d; --atlas-svg-preview:#38bdf8; --atlas-svg-preview-stroke:#0284c7; } }
:root[data-theme="dark"] { --atlas-svg-order:#182230; --atlas-svg-item:#202c3d; --atlas-svg-preview:#38bdf8; --atlas-svg-preview-stroke:#0284c7; }
.atlas-chart .graph-node { fill:var(--atlas-svg-item); stroke:#8b95a5; stroke-width:1.5; opacity:1; }
.atlas-chart .graph-node[data-entity-type="order"],.atlas-chart .atlas-highlight[data-entity-type="order"] { stroke-width:2; }
.atlas-chart .graph-node[data-entity-type="order"] { fill:var(--atlas-svg-order); }
.atlas-chart .graph-node[data-filter="faded"] { opacity:.22; }
.atlas-chart .graph-node[data-highlight="selected"],.atlas-chart .atlas-highlight[data-highlight="selected"] { fill:#e16e52; stroke:#c2410c; }
.atlas-chart .graph-node[data-highlight="related"],.atlas-chart .atlas-highlight[data-highlight="related"] { fill:#efa895; stroke:#c2410c; }
.atlas-chart .graph-node[data-reason="reachable-relationship"],.atlas-chart .atlas-highlight[data-reason="reachable-relationship"] { fill:#f8dcd5; }
.atlas-chart .graph-node[data-highlight="group"],.atlas-chart .atlas-highlight[data-highlight="group"] { fill:#e9d5ff; stroke:#a566dd; }
.atlas-chart .graph-node[data-highlight="preview"],.atlas-chart .atlas-highlight[data-highlight="preview"] { fill:var(--atlas-svg-preview); stroke:var(--atlas-svg-preview-stroke); stroke-width:3; opacity:1; }
.atlas-chart .atlas-highlight { stroke-width:1.5; }
.atlas-reference { stroke:#c6b65e; stroke-dasharray:none; }
.atlas-reference text { visibility:hidden; }
@media(min-width:1401px) {
 .slice-layout { display:grid; grid-template-columns:minmax(0,1fr) var(--divider-size,4px); gap:var(--divider-size,4px); align-items:start; }
 .slice-layout[data-lens-open="true"] { grid-template-columns:minmax(0,1fr) var(--divider-size,4px) var(--right-rail-width,420px); padding-right:0; }
 .atlas-workspace { display:contents; }
 .atlas-workspace > .atlas,.atlas-workspace > .schematic { grid-column:1; grid-row:1; }
 /* Keep Lens disclosures from sizing the Atlas and index grid rows. */
 .atlas-workspace > .focus-lens { grid-column:3; grid-row:1 / span 3; align-self:stretch; min-height:0; contain:size; overflow-y:auto; }
 .slice-layout > .lens-rail { position:static; grid-column:2; grid-row:1 / span 3; width:auto; align-self:stretch; }
 .slice-layout > .atlas-layout-splitter { grid-column:1; grid-row:2; margin:0; }
 .indexes { grid-column:1; grid-row:3; margin-top:0; }
}
@media(max-width:700px) {
 .atlas-chart-viewport { overflow-x:auto; max-width:100%; }
 .atlas-chart-viewport .atlas-chart-stack { min-width:960px; }
 .atlas-chart-viewport .atlas-timeline-controls { transform:translateX(var(--atlas-viewport-scroll,0px)); }
 .app-title-row { flex-basis:100%; }
 .app-header-actions { margin-left:0; }
 .header-controls { max-width:100%; }
 .app-header .application-chrome { flex-wrap:wrap; }
 .atlas > h2 { padding-bottom:62px; }
 .atlas-dataset-label { top:29px; left:10px; max-width:calc(100% - 20px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .atlas-controls .atlas-surface-control { top:49px; left:10px; right:auto; }
 .atlas-controls .atlas-surface-control select { width:120px; }
 .atlas-controls .atlas-spread-control { top:49px; right:10px; gap:4px; font-size:11px; }
 .atlas-controls .atlas-spread-control input { width:65px; }
 .atlas-controls .atlas-y-control { top:91px; }
 .atlas-controls .atlas-x-control { top:calc(var(--atlas-chart-height,430px) + 59px); }
}

.performance-panel { background:var(--panel); border:1px solid var(--border); border-radius:8px; box-sizing:border-box; padding:5px; width:100%; }
.performance-disclosure { margin:0; }
.performance-disclosure > summary { list-style:none; }
.performance-disclosure > summary::-webkit-details-marker { display:none; }
.performance-disclosure > summary::marker { content:""; }
.performance-panel-header { align-items:center; display:grid; gap:10px; grid-template-columns:minmax(0,1fr) auto; }
.performance-panel-heading { align-items:center; display:flex; gap:10px; min-width:0; }
.performance-panel-heading h2 { color:var(--ink); font-size:13px; margin:0; }
.performance-panel-summary { align-items:center; color:var(--muted); display:flex; font-size:11px; gap:8px; justify-self:end; min-width:0; white-space:nowrap; }
.performance-panel .context-twisty { border:5px solid transparent; border-left-color:var(--muted); height:0; width:0; }
.performance-disclosure[open] .context-twisty { transform:rotate(90deg); }
.performance-disclosure[open] > summary { margin-bottom:8px; }
.performance-panel dl { align-items:stretch; display:flex; flex-wrap:wrap; gap:5px; margin:0; }
.performance-panel dl div { background:var(--bg); border:1px solid var(--border); border-radius:5px; flex:1 1 110px; min-width:0; padding:4px 6px; }
.performance-panel dl .performance-row-break { background:transparent; border:0; flex:0 0 100%; height:0; min-height:0; padding:0; }
.performance-panel dt { color:var(--muted); font-size:10px; line-height:1.15; }
.performance-panel dd { color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; line-height:1.2; margin:2px 0 0; }
@media(max-width:740px) { .performance-panel-header { grid-template-columns:minmax(0,1fr) auto; } .performance-panel-summary { grid-column:2; } }

/* Managed scalar status is visible; the legacy diagnostic output stays hidden. */
.atlas-extension-status { color:var(--muted); font-size:11px; padding:6px 10px 28px; overflow-wrap:anywhere; }

/* Every splitter and its neighboring gaps share one configurable dimension. */
.slice-layout { position:relative; padding-right:var(--divider-size,4px); }
.lens-rail { position:absolute; right:var(--divider-size,4px); top:0; bottom:0; width:var(--divider-size,4px); display:flex; flex-direction:column; align-items:center; min-height:0; }
.lens-rail .layout-splitter { flex:1; height:auto; min-height:0; }
.focus-lens[hidden] { display:none; }
.atlas-layout-splitter { height:var(--divider-size,4px); margin:var(--divider-size,4px) 0; background:var(--border); border-radius:4px; cursor:row-resize; touch-action:none; opacity:.65; }
.atlas-layout-splitter:hover,.atlas-layout-splitter:focus-visible { background:var(--accent); opacity:1; }
.filter-groups { max-height:calc(var(--index-panel-height,315px) + 70px); overflow-y:auto; }
.schematic-canvas { height:var(--atlas-chart-height,430px); max-height:none; }
@media(max-width:1400px) { .slice-layout { padding-right:calc(3 * var(--divider-size,4px)); } }

.atlas-workspace > .atlas,.atlas-workspace > .schematic,.atlas-workspace > .focus-lens,.indexes > section { margin-bottom:0; }
.migration-app > .universe-settings { margin-top:var(--divider-size,4px); }
/* Resize uses the ordinary axes/grid with no entity paint or hit targets. */
[data-atlas-resizing="true"] .atlas-nodes { display:none; }
[data-atlas-resizing="true"] .atlas { pointer-events:none; }
/* The collapsed Lens handle ends at the usable viewport edge, beside its scrollbar. */
.slice-layout[data-lens-open="false"] { margin-right:2px; padding-right:0; }
.slice-layout[data-lens-open="false"] > .lens-rail { right:0; }
@media(max-width:1400px) { .slice-layout[data-lens-open="false"] { padding-right:calc(2 * var(--divider-size,4px)); } }

/* Paired finite replay reuses the existing transport and compact timeline. */
.paired-replay { padding: 8px; overflow: auto; max-height: 100%; }
.pair-heading, .pair-navigation { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:8px 0; }
.pair-heading h2 { font-size:16px; margin:0; }
.pair-arms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pair-arm { border:1px solid var(--border,#8888); border-radius:6px; padding:10px; min-width:0; }
.pair-arm h3 { margin:0 0 4px; font-size:15px; }
.pair-arm h4 { margin:4px 0; font-size:12px; }
.pair-arm p { margin:5px 0; font-size:12px; overflow-wrap:anywhere; }
.pair-press { padding:8px; background:var(--panel-bg,#8881); border:1px solid #8885; border-radius:4px; }
.pair-stages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin:8px 0; }
.pair-stages section { border:1px solid #8884; padding:5px; }
.pair-stages button { font-size:12px; margin:2px; max-width:100%; overflow-wrap:anywhere; }
.pair-stages button[aria-pressed=true] { outline:2px solid #669eff; }
.pair-job-details { border-top:1px solid #8885; padding:8px 0; }
.pair-job-details pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; }
.pair-final { border-top:1px solid #8885; padding-top:8px; font-size:12px; }
.pair-stale { opacity:.65; }
@media (max-width:900px) { .pair-arms { grid-template-columns:1fr; } }

/* A bounded draft panel beside the native playback owner. */
.experiment-panel { border: 1px solid var(--border, #9aa6b2); border-radius: 7px; padding: .65rem; margin-block: .65rem; }
.experiment-panel h3 { margin: 0 0 .4rem; }
.experiment-panel p { margin: .4rem 0; overflow-wrap: anywhere; }
.experiment-host, .experiment-fields, .experiment-actions, .experiment-presets, .experiment-advanced { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-block: .4rem; }
.experiment-host input { min-width: 14rem; max-width: 100%; }
.experiment-panel details { margin-block: .4rem; }
.experiment-table-scroll { overflow-x: auto; max-width: 100%; }
.experiment-schedule table { border-collapse: collapse; font-size: .8rem; }
.experiment-schedule th, .experiment-schedule td { padding: .3rem; text-align: left; border-bottom: 1px solid var(--border, #9aa6b2); }
.experiment-schedule td label { font-size: 0; }
.experiment-schedule td input { width: 6rem; font-size: .8rem; }
.experiment-schedule td select { max-width: 7rem; }
.experiment-panel textarea { width: 100%; font-family: monospace; }
.experiment-panel code { overflow-wrap: anywhere; }

/* Optional bounded exploration views share the existing paired transport. */
.pair-job-details { overflow-wrap:anywhere; }
.pair-job-details pre,.pair-provenance pre { white-space:pre-wrap; max-height:22rem; overflow:auto; }
.pair-lanes,.pair-metrics,.pair-trace,.pair-provenance { margin:.6rem 0; }
.pair-lane { display:grid; grid-template-columns:7rem minmax(8rem,1fr); gap:.3rem; margin:.55rem 0; align-items:center; }
.pair-lane > button { min-width:0; overflow-wrap:anywhere; }
.pair-lane small { grid-column:1/-1; }
.pair-lane-track { position:relative; height:1.2rem; border:1px solid #8b98a8; background:#f6f8fa; }
.pair-lane-track > span { position:absolute; height:100%; min-width:1px; opacity:.85; }
.lane-generation { background:#8c8fc1; }.lane-ready-wait { background:#e4b34e; }.lane-submission-queue { background:#6ea8c5; }.lane-printing { background:#63a577; }
.pair-lane-track .lane-marker { width:2px; background:#202b35; z-index:1; }
.pair-trace > div { max-height:24rem; overflow:auto; }.pair-trace small { overflow-wrap:anywhere; }
.experiment-study table { min-width:44rem; }.experiment-study input { max-width:16rem; }
@media(max-width:850px) { .pair-lane { grid-template-columns:6rem minmax(5rem,1fr); } }

/* Orbit is an independent non-modal island outside the compact masthead. */
.orbit-drawer { box-sizing:border-box; min-width:0; overflow-x:hidden!important; white-space:normal; }
.orbit-drawer * { min-width:0; max-width:100%; box-sizing:border-box; }
.orbit-drawer p,.orbit-drawer button,.orbit-drawer label,.orbit-drawer td,.orbit-drawer summary { white-space:normal; overflow-wrap:anywhere; }
.orbit-drawer textarea { width:100%; font:inherit; color:inherit; background:var(--panel); }
.orbit-drawer table { width:100%; table-layout:fixed; border-collapse:collapse; }
.orbit-drawer td { vertical-align:top; padding:.3rem; border-bottom:1px solid var(--border); }
.orbit-drawer pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.orbit-drawer header { margin:0 0 1rem; }
.orbit-drawer button { margin:.2rem; }

.entity-entry { position:relative; }
.entity-button.has-selection-swatch { display:flex; align-items:center; gap:6px; }
.entity-button.has-selection-swatch .index-selection-swatch { flex:0 0 12px; margin:0; }
.entity-entry-text { min-width:0; }
.entity-entry .entity-close-swatch { position:absolute; top:50%; left:8px; transform:translateY(-50%); }

/* Outer paint does not alter the square's box, neighbors, or close-glyph center. */
.highlight-close-swatch[data-hover-highlight="true"],.index-selection-swatch[data-hover-highlight="true"] { box-shadow:0 0 0 3px var(--highlight-hover-color); }
/* Give the scrolling legend three paint pixels without moving its content. */
.atlas-highlight-legend { padding-left:3px; padding-right:3px; margin-left:-3px; margin-right:-3px; }

.orbit-entry { display:inline-flex; align-items:center; gap:5px; background:#6d28d9; border-color:#6d28d9; color:#fff; }
.orbit-entry:hover { background:#5b21b6; border-color:#5b21b6; }
.orbit-entry img { display:block; filter:brightness(0) invert(1); }
.orbit-coming-soon { position:fixed; inset:5rem 1rem 1rem auto; margin:0; width:min(30rem,calc(100vw - 2rem)); height:calc(100dvh - 6rem); max-width:none; max-height:none; padding:1.5rem; border:1px solid var(--border); border-radius:.6rem; background:var(--panel); color:var(--ink); box-shadow:0 6px 24px #0003; text-align:center; }
.orbit-coming-soon[open] { display:grid; justify-items:center; align-content:center; gap:1rem; }
.orbit-coming-soon::backdrop { background:transparent; }
.orbit-coming-soon button { background:#6d28d9; border-color:#6d28d9; color:white; padding:.5rem 1rem; }

/* Keep release content below an opaque header, flush with the dialog edge. */
:is(#release-notes-dialog, #about-dialog) { padding:0; }
:is(#release-notes-dialog, #about-dialog) .about-dialog-header { padding:0 20px; margin:0; }
:is(#release-notes-dialog, #about-dialog) .about-dialog-body { padding:0 20px 20px; }
#release-notes-dialog [id] { scroll-margin-top:85px; }

.native-dialog .about-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.native-dialog .about-dialog-header.with-center { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.dialog-header-center { justify-self:center; white-space:nowrap; }
.dialog-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:1rem; }
.native-dialog .about-dialog-header h2 { min-width:0; overflow-wrap:anywhere; }

/* Compact index facts and always-visible relationship summaries. */
.index-panel .entity-button { border-color:transparent; border-radius:3px; }
.index-panel .entity-primary { font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.entity-entry-text { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:6px; }
.entity-entry-text > .entity-facts { grid-column:1 / -1; }
.index-secondary { display:flex; justify-content:space-between; gap:8px; }
.index-secondary > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.index-panel .entity-button[data-relation-distance="1"] { background:color-mix(in srgb, var(--highlight-context-color, #e8791c) 15%, var(--panel)); }
.migration-app .filter-mode-toggle { align-items:center; background:transparent; border:0; cursor:pointer; display:inline-flex; flex:0 0 36px; height:18px; width:36px; padding:0; position:relative; }
.filter-mode-toggle > span { flex:0 0 36px; background:#98a2b3; border-radius:999px; display:block; height:18px; width:36px; position:relative; transition:background-color 120ms ease; }
.filter-mode-toggle > span::after { background:#fff; border-radius:999px; box-shadow:0 1px 2px rgba(16,24,40,.22); content:""; height:14px; width:14px; left:2px; top:2px; position:absolute; transition:transform 120ms ease; }
.filter-mode-toggle[data-mode="ignore"] > span { background:#16a34a; }
.filter-mode-toggle[data-mode="ignore"] > span::after { transform:translateX(0); }
.filter-mode-toggle[data-mode="fade"] > span::after { transform:translateX(9px); }
.filter-mode-toggle[data-mode="hide"] > span { background:#dc2626; }
.filter-mode-toggle[data-mode="hide"] > span::after { transform:translateX(18px); }
.filter-mode-toggle:focus-visible > span { outline:2px solid var(--accent); outline-offset:2px; }
.filter-mode-toggle:disabled { cursor:not-allowed; opacity:.5; }
.filter-mode-toggle:disabled > span { background:#98a2b3; }
.filter-controls { align-items:center; }
.filter-controls input { min-width:0; flex:1; }
.panel-heading .index-count { margin-left:auto; }
.production-summary, .metric-pills { display:flex; flex-wrap:wrap; gap:4px; font-size:12px; }
.production-fact { display:inline-flex; gap:4px; border-radius:12px; padding:2px 6px; background:var(--bg); color:var(--muted); }
.context-summary { display:inline-block; width:calc(100% - 20px); }
.context-summary > .production-summary { margin-top:6px; }
.lens-details details { border:1px solid var(--border); border-radius:5px; padding:6px; margin:6px 0; }
.lens-identity { display:flex; justify-content:space-between; gap:8px; }
.filter-summary { display:inline-block; width:calc(100% - 20px); }
.filter-groups details { border:1px solid var(--border); border-radius:4px; margin:4px 0; padding:5px; }

.filter-index-entry { border:1px solid var(--border); border-radius:4px; margin:5px 0; padding:5px; }
.filter-group-heading { display:flex; align-items:flex-start; gap:8px; }
.filter-group-swatch { flex:0 0 12px; margin-top:5px; }
.filter-group-swatch > span { display:block; width:12px; height:12px; }
.migration-app .filter-group-selector { flex:1; min-width:0; display:grid; gap:5px; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }
.filter-group-selector strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filter-index-entry > details { border:0; margin:5px 0 0; padding:0; }
.filter-index-entry > details > summary { width:max-content; font-size:11px; color:var(--muted); }
