coordinateConventions
{
  "canvas": [
    1920,
    1080
  ],
  "workingDomain": [
    4096,
    4096
  ],
  "designOriginPx": [
    1024,
    1024
  ],
  "workingDesignCenterPx": [
    1024,
    1024
  ],
  "recipeAxes": "top-left, +X right, +Y down",
  "fusionAxes": "normalized bottom-left, +X right, +Y up",
  "pointFormula": "((x+1024)/4096,1-(y+1024)/4096)",
  "transform": "AnchorShift(c-o) -> ScaleRotate(scale,-rotation) -> Position(t+o-c); default pivot/center(.5,.5)",
  "layerOriginDefault": [
    0,
    0
  ],
  "masks": "Local before transform; alpha after child assembly; group dimensions do not scale children.",
  "finalCropDesignRect": [
    0,
    0,
    1920,
    1080
  ],
  "finalCropWorkingRect": [
    1024,
    1024,
    1920,
    1080
  ],
  "interpolation": "Left-key easing; smooth t*t*(3-2*t), linear t, hold until exact right key. Bake native-frame values with linear keys.",
  "clock": "Global local frame; no start subtraction; all ends exclusive; 60/1 rational.",
  "roundMaskBezierKappa": 0.5522847498307936
}

fusionNodes
[
  {
    "layerId": "phone-context",
    "kind": "group",
    "recipePointer": "/layers/0",
    "parentLayerId": null,
    "mergeIndex": 0,
    "nodeId": "phone-context_Merge",
    "output": "phone-context_Merge",
    "backgroundInput": "RootPaper",
    "foregroundInput": "phone-context_Gated",
    "activeLocalFrames": [
      0,
      56
    ],
    "effectiveActiveLocalFrames": [
      0,
      56
    ],
    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
    "staticControls": {
      "start": 0,
      "end": 56,
      "width": 1920,
      "height": 1080
    },
    "rawNumericControls": {
      "width": 1920,
      "height": 1080
    },
    "tools": {
      "Construct": "phone-context_Construct",
      "LocalMask": "phone-context_LocalMask",
      "AnchorShift": "phone-context_AnchorShift",
      "ScaleRotate": "phone-context_ScaleRotate",
      "Position": "phone-context_Position",
      "Gated": "phone-context_Gated",
      "Merge": "phone-context_Merge"
    },
    "connections": [
      "phone-context_Construct -> phone-context_LocalMask -> phone-context_AnchorShift -> phone-context_ScaleRotate -> phone-context_Position -> phone-context_Gated -> phone-context_Merge.Foreground",
      "RootPaper -> phone-context_Merge.Background"
    ],
    "mask": {
      "overflow": "visible",
      "clip": null,
      "cornerRadiusPx": 0,
      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
    },
    "children": [
      {
        "layerId": "intro-shell",
        "kind": "rect",
        "recipePointer": "/layers/0/children/0",
        "parentLayerId": "phone-context",
        "mergeIndex": 0,
        "nodeId": "intro-shell_Merge",
        "output": "intro-shell_Merge",
        "backgroundInput": "phone-context_Transparent",
        "foregroundInput": "intro-shell_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "x": 448,
          "y": -760,
          "width": 1024,
          "height": 1712,
          "fill": "$border",
          "radius": 150
        },
        "rawNumericControls": {
          "x": 448,
          "y": -760,
          "width": 1024,
          "height": 1712,
          "radius": 150
        },
        "tools": {
          "Construct": "intro-shell_Construct",
          "LocalMask": "intro-shell_LocalMask",
          "AnchorShift": "intro-shell_AnchorShift",
          "ScaleRotate": "intro-shell_ScaleRotate",
          "Position": "intro-shell_Position",
          "Gated": "intro-shell_Gated",
          "Merge": "intro-shell_Merge"
        },
        "connections": [
          "intro-shell_Construct -> intro-shell_LocalMask -> intro-shell_AnchorShift -> intro-shell_ScaleRotate -> intro-shell_Position -> intro-shell_Gated -> intro-shell_Merge.Foreground",
          "phone-context_Transparent -> intro-shell_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 150,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
      },
      {
        "layerId": "intro-screen",
        "kind": "rect",
        "recipePointer": "/layers/0/children/1",
        "parentLayerId": "phone-context",
        "mergeIndex": 1,
        "nodeId": "intro-screen_Merge",
        "output": "intro-screen_Merge",
        "backgroundInput": "intro-shell_Merge",
        "foregroundInput": "intro-screen_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "x": 480,
          "y": -728,
          "width": 960,
          "height": 1648,
          "fill": "#ffffff",
          "radius": 118
        },
        "rawNumericControls": {
          "x": 480,
          "y": -728,
          "width": 960,
          "height": 1648,
          "radius": 118
        },
        "tools": {
          "Construct": "intro-screen_Construct",
          "LocalMask": "intro-screen_LocalMask",
          "AnchorShift": "intro-screen_AnchorShift",
          "ScaleRotate": "intro-screen_ScaleRotate",
          "Position": "intro-screen_Position",
          "Gated": "intro-screen_Gated",
          "Merge": "intro-screen_Merge"
        },
        "connections": [
          "intro-screen_Construct -> intro-screen_LocalMask -> intro-screen_AnchorShift -> intro-screen_ScaleRotate -> intro-screen_Position -> intro-screen_Gated -> intro-screen_Merge.Foreground",
          "intro-shell_Merge -> intro-screen_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 118,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
      },
      {
        "layerId": "intro-card-fragment",
        "kind": "rect",
        "recipePointer": "/layers/0/children/2",
        "parentLayerId": "phone-context",
        "mergeIndex": 2,
        "nodeId": "intro-card-fragment_Merge",
        "output": "intro-card-fragment_Merge",
        "backgroundInput": "intro-screen_Merge",
        "foregroundInput": "intro-card-fragment_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "x": 520,
          "y": -270,
          "width": 880,
          "height": 410,
          "fill": "$accent",
          "radius": 44
        },
        "rawNumericControls": {
          "x": 520,
          "y": -270,
          "width": 880,
          "height": 410,
          "radius": 44
        },
        "tools": {
          "Construct": "intro-card-fragment_Construct",
          "LocalMask": "intro-card-fragment_LocalMask",
          "AnchorShift": "intro-card-fragment_AnchorShift",
          "ScaleRotate": "intro-card-fragment_ScaleRotate",
          "Position": "intro-card-fragment_Position",
          "Gated": "intro-card-fragment_Gated",
          "Merge": "intro-card-fragment_Merge"
        },
        "connections": [
          "intro-card-fragment_Construct -> intro-card-fragment_LocalMask -> intro-card-fragment_AnchorShift -> intro-card-fragment_ScaleRotate -> intro-card-fragment_Position -> intro-card-fragment_Gated -> intro-card-fragment_Merge.Foreground",
          "intro-screen_Merge -> intro-card-fragment_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 44,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
      },
      {
        "layerId": "intro-mark",
        "kind": "image",
        "recipePointer": "/layers/0/children/3",
        "parentLayerId": "phone-context",
        "mergeIndex": 3,
        "nodeId": "intro-mark_Merge",
        "output": "intro-mark_Merge",
        "backgroundInput": "intro-card-fragment_Merge",
        "foregroundInput": "intro-mark_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "slot": "suggestionMark",
          "x": 568,
          "y": 34,
          "width": 56,
          "height": 56,
          "fit": "contain"
        },
        "rawNumericControls": {
          "x": 568,
          "y": 34,
          "width": 56,
          "height": 56
        },
        "tools": {
          "Construct": "intro-mark_Construct",
          "LocalMask": "intro-mark_LocalMask",
          "AnchorShift": "intro-mark_AnchorShift",
          "ScaleRotate": "intro-mark_ScaleRotate",
          "Position": "intro-mark_Position",
          "Gated": "intro-mark_Gated",
          "Merge": "intro-mark_Merge"
        },
        "connections": [
          "intro-mark_Construct -> intro-mark_LocalMask -> intro-mark_AnchorShift -> intro-mark_ScaleRotate -> intro-mark_Position -> intro-mark_Gated -> intro-mark_Merge.Foreground",
          "intro-card-fragment_Merge -> intro-mark_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "content": {
          "defaults": {
            "kind": "image",
            "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
            "width": 64,
            "height": 64,
            "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
          },
          "adaptation": {
            "kind": "image",
            "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
            "width": 64,
            "height": 64,
            "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
          }
        },
        "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
      },
      {
        "layerId": "intro-heading",
        "kind": "text",
        "recipePointer": "/layers/0/children/4",
        "parentLayerId": "phone-context",
        "mergeIndex": 4,
        "nodeId": "intro-heading_Merge",
        "output": "intro-heading_Merge",
        "backgroundInput": "intro-mark_Merge",
        "foregroundInput": "intro-heading_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "slot": "introTitle",
          "x": 520,
          "y": 233,
          "width": 880,
          "height": 70,
          "fontSize": 44,
          "weight": 400,
          "lineHeight": 1.2,
          "color": "$ink"
        },
        "rawNumericControls": {
          "x": 520,
          "y": 233,
          "width": 880,
          "height": 70
        },
        "tools": {
          "Construct": "intro-heading_Construct",
          "LocalMask": "intro-heading_LocalMask",
          "AnchorShift": "intro-heading_AnchorShift",
          "ScaleRotate": "intro-heading_ScaleRotate",
          "Position": "intro-heading_Position",
          "Gated": "intro-heading_Gated",
          "Merge": "intro-heading_Merge"
        },
        "connections": [
          "intro-heading_Construct -> intro-heading_LocalMask -> intro-heading_AnchorShift -> intro-heading_ScaleRotate -> intro-heading_Position -> intro-heading_Gated -> intro-heading_Merge.Foreground",
          "intro-mark_Merge -> intro-heading_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "content": {
          "defaults": "A few notes for today.",
          "adaptation": "A few sketches for today."
        },
        "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
        "textControls": {
          "font": "Geist",
          "fontFile": "project/public/fonts/Geist.ttf",
          "weight": 400,
          "fontSizePx": 44,
          "lineAdvancePx": 52.8,
          "trackingPx": 0,
          "alignment": "left",
          "verticalAlignment": "top",
          "nominalTextPlusSizeStartingEstimate": 0.0107421875,
          "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
          "reveal": null,
          "prefix": "",
          "suffix": ""
        }
      },
      {
        "layerId": "intro-body",
        "kind": "text",
        "recipePointer": "/layers/0/children/5",
        "parentLayerId": "phone-context",
        "mergeIndex": 5,
        "nodeId": "intro-body_Merge",
        "output": "intro-body_Merge",
        "backgroundInput": "intro-heading_Merge",
        "foregroundInput": "intro-body_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "slot": "introBody",
          "x": 520,
          "y": 354,
          "width": 880,
          "height": 190,
          "fontSize": 44,
          "weight": 400,
          "lineHeight": 1.2,
          "color": "$ink"
        },
        "rawNumericControls": {
          "x": 520,
          "y": 354,
          "width": 880,
          "height": 190
        },
        "tools": {
          "Construct": "intro-body_Construct",
          "LocalMask": "intro-body_LocalMask",
          "AnchorShift": "intro-body_AnchorShift",
          "ScaleRotate": "intro-body_ScaleRotate",
          "Position": "intro-body_Position",
          "Gated": "intro-body_Gated",
          "Merge": "intro-body_Merge"
        },
        "connections": [
          "intro-body_Construct -> intro-body_LocalMask -> intro-body_AnchorShift -> intro-body_ScaleRotate -> intro-body_Position -> intro-body_Gated -> intro-body_Merge.Foreground",
          "intro-heading_Merge -> intro-body_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "content": {
          "defaults": "Tomorrow could bring a paper study,\na new colour pairing, and a small\nidea for the shared studio.",
          "adaptation": "Tomorrow could bring a garden page,\na sky observation, and a small\nidea for the next notebook."
        },
        "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
        "textControls": {
          "font": "Geist",
          "fontFile": "project/public/fonts/Geist.ttf",
          "weight": 400,
          "fontSizePx": 44,
          "lineAdvancePx": 52.8,
          "trackingPx": 0,
          "alignment": "left",
          "verticalAlignment": "top",
          "nominalTextPlusSizeStartingEstimate": 0.0107421875,
          "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
          "reveal": null,
          "prefix": "",
          "suffix": ""
        }
      },
      {
        "layerId": "intro-question",
        "kind": "text",
        "recipePointer": "/layers/0/children/6",
        "parentLayerId": "phone-context",
        "mergeIndex": 6,
        "nodeId": "intro-question_Merge",
        "output": "intro-question_Merge",
        "backgroundInput": "intro-body_Merge",
        "foregroundInput": "intro-question_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "slot": "introQuestion",
          "x": 520,
          "y": 599,
          "width": 880,
          "height": 70,
          "fontSize": 44,
          "weight": 400,
          "lineHeight": 1.2,
          "color": "$ink"
        },
        "rawNumericControls": {
          "x": 520,
          "y": 599,
          "width": 880,
          "height": 70
        },
        "tools": {
          "Construct": "intro-question_Construct",
          "LocalMask": "intro-question_LocalMask",
          "AnchorShift": "intro-question_AnchorShift",
          "ScaleRotate": "intro-question_ScaleRotate",
          "Position": "intro-question_Position",
          "Gated": "intro-question_Gated",
          "Merge": "intro-question_Merge"
        },
        "connections": [
          "intro-question_Construct -> intro-question_LocalMask -> intro-question_AnchorShift -> intro-question_ScaleRotate -> intro-question_Position -> intro-question_Gated -> intro-question_Merge.Foreground",
          "intro-body_Merge -> intro-question_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "content": {
          "defaults": "What would you like to explore?",
          "adaptation": "What would you like to notice?"
        },
        "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
        "textControls": {
          "font": "Geist",
          "fontFile": "project/public/fonts/Geist.ttf",
          "weight": 400,
          "fontSizePx": 44,
          "lineAdvancePx": 52.8,
          "trackingPx": 0,
          "alignment": "left",
          "verticalAlignment": "top",
          "nominalTextPlusSizeStartingEstimate": 0.0107421875,
          "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
          "reveal": null,
          "prefix": "",
          "suffix": ""
        }
      },
      {
        "layerId": "intro-action",
        "kind": "group",
        "recipePointer": "/layers/0/children/7",
        "parentLayerId": "phone-context",
        "mergeIndex": 7,
        "nodeId": "intro-action_Merge",
        "output": "intro-action_Merge",
        "backgroundInput": "intro-question_Merge",
        "foregroundInput": "intro-action_Gated",
        "activeLocalFrames": [
          0,
          56
        ],
        "effectiveActiveLocalFrames": [
          0,
          56
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 0,
          "end": 56,
          "x": 520,
          "y": 730,
          "width": 880,
          "height": 136,
          "origin": [
            440,
            68
          ]
        },
        "rawNumericControls": {
          "x": 520,
          "y": 730,
          "width": 880,
          "height": 136,
          "scale": [
            {
              "frame": 0,
              "value": 1,
              "easing": "hold"
            },
            {
              "frame": 39,
              "value": 1,
              "easing": "smooth"
            },
            {
              "frame": 45,
              "value": 0.96,
              "easing": "smooth"
            },
            {
              "frame": 52,
              "value": 1,
              "easing": "smooth"
            }
          ]
        },
        "tools": {
          "Construct": "intro-action_Construct",
          "LocalMask": "intro-action_LocalMask",
          "AnchorShift": "intro-action_AnchorShift",
          "ScaleRotate": "intro-action_ScaleRotate",
          "Position": "intro-action_Position",
          "Gated": "intro-action_Gated",
          "Merge": "intro-action_Merge"
        },
        "connections": [
          "intro-action_Construct -> intro-action_LocalMask -> intro-action_AnchorShift -> intro-action_ScaleRotate -> intro-action_Position -> intro-action_Gated -> intro-action_Merge.Foreground",
          "intro-question_Merge -> intro-action_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": null,
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "children": [
          {
            "layerId": "intro-action-bg",
            "kind": "rect",
            "recipePointer": "/layers/0/children/7/children/0",
            "parentLayerId": "intro-action",
            "mergeIndex": 0,
            "nodeId": "intro-action-bg_Merge",
            "output": "intro-action-bg_Merge",
            "backgroundInput": "intro-action_Transparent",
            "foregroundInput": "intro-action-bg_Gated",
            "activeLocalFrames": [
              0,
              56
            ],
            "effectiveActiveLocalFrames": [
              0,
              56
            ],
            "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
            "staticControls": {
              "start": 0,
              "end": 56,
              "x": 0,
              "y": 0,
              "width": 880,
              "height": 136,
              "fill": "$ink",
              "radius": 68
            },
            "rawNumericControls": {
              "x": 0,
              "y": 0,
              "width": 880,
              "height": 136,
              "radius": 68
            },
            "tools": {
              "Construct": "intro-action-bg_Construct",
              "LocalMask": "intro-action-bg_LocalMask",
              "AnchorShift": "intro-action-bg_AnchorShift",
              "ScaleRotate": "intro-action-bg_ScaleRotate",
              "Position": "intro-action-bg_Position",
              "Gated": "intro-action-bg_Gated",
              "Merge": "intro-action-bg_Merge"
            },
            "connections": [
              "intro-action-bg_Construct -> intro-action-bg_LocalMask -> intro-action-bg_AnchorShift -> intro-action-bg_ScaleRotate -> intro-action-bg_Position -> intro-action-bg_Gated -> intro-action-bg_Merge.Foreground",
              "intro-action_Transparent -> intro-action-bg_Merge.Background"
            ],
            "mask": {
              "overflow": "visible",
              "clip": null,
              "cornerRadiusPx": 68,
              "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
            },
            "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
          },
          {
            "layerId": "intro-action-text",
            "kind": "text",
            "recipePointer": "/layers/0/children/7/children/1",
            "parentLayerId": "intro-action",
            "mergeIndex": 1,
            "nodeId": "intro-action-text_Merge",
            "output": "intro-action-text_Merge",
            "backgroundInput": "intro-action-bg_Merge",
            "foregroundInput": "intro-action-text_Gated",
            "activeLocalFrames": [
              0,
              56
            ],
            "effectiveActiveLocalFrames": [
              0,
              56
            ],
            "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
            "staticControls": {
              "start": 0,
              "end": 56,
              "slot": "introButton",
              "x": 156,
              "y": 43,
              "width": 674,
              "height": 66,
              "fontSize": 42,
              "weight": 400,
              "lineHeight": 1.2,
              "color": "#ffffff"
            },
            "rawNumericControls": {
              "x": 156,
              "y": 43,
              "width": 674,
              "height": 66
            },
            "tools": {
              "Construct": "intro-action-text_Construct",
              "LocalMask": "intro-action-text_LocalMask",
              "AnchorShift": "intro-action-text_AnchorShift",
              "ScaleRotate": "intro-action-text_ScaleRotate",
              "Position": "intro-action-text_Position",
              "Gated": "intro-action-text_Gated",
              "Merge": "intro-action-text_Merge"
            },
            "connections": [
              "intro-action-text_Construct -> intro-action-text_LocalMask -> intro-action-text_AnchorShift -> intro-action-text_ScaleRotate -> intro-action-text_Position -> intro-action-text_Gated -> intro-action-text_Merge.Foreground",
              "intro-action-bg_Merge -> intro-action-text_Merge.Background"
            ],
            "mask": {
              "overflow": "visible",
              "clip": null,
              "cornerRadiusPx": 0,
              "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
            },
            "content": {
              "defaults": "Choose the next note",
              "adaptation": "Choose the next page"
            },
            "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
            "textControls": {
              "font": "Geist",
              "fontFile": "project/public/fonts/Geist.ttf",
              "weight": 400,
              "fontSizePx": 42,
              "lineAdvancePx": 50.4,
              "trackingPx": 0,
              "alignment": "left",
              "verticalAlignment": "top",
              "nominalTextPlusSizeStartingEstimate": 0.01025390625,
              "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
              "reveal": null,
              "prefix": "",
              "suffix": ""
            }
          },
          {
            "layerId": "intro-action-mark",
            "kind": "image",
            "recipePointer": "/layers/0/children/7/children/2",
            "parentLayerId": "intro-action",
            "mergeIndex": 2,
            "nodeId": "intro-action-mark_Merge",
            "output": "intro-action-mark_Merge",
            "backgroundInput": "intro-action-text_Merge",
            "foregroundInput": "intro-action-mark_Gated",
            "activeLocalFrames": [
              0,
              56
            ],
            "effectiveActiveLocalFrames": [
              0,
              56
            ],
            "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
            "staticControls": {
              "start": 0,
              "end": 56,
              "slot": "suggestionMark",
              "x": 72,
              "y": 38,
              "width": 60,
              "height": 60,
              "fit": "contain"
            },
            "rawNumericControls": {
              "x": 72,
              "y": 38,
              "width": 60,
              "height": 60
            },
            "tools": {
              "Construct": "intro-action-mark_Construct",
              "LocalMask": "intro-action-mark_LocalMask",
              "AnchorShift": "intro-action-mark_AnchorShift",
              "ScaleRotate": "intro-action-mark_ScaleRotate",
              "Position": "intro-action-mark_Position",
              "Gated": "intro-action-mark_Gated",
              "Merge": "intro-action-mark_Merge"
            },
            "connections": [
              "intro-action-mark_Construct -> intro-action-mark_LocalMask -> intro-action-mark_AnchorShift -> intro-action-mark_ScaleRotate -> intro-action-mark_Position -> intro-action-mark_Gated -> intro-action-mark_Merge.Foreground",
              "intro-action-text_Merge -> intro-action-mark_Merge.Background"
            ],
            "mask": {
              "overflow": "visible",
              "clip": null,
              "cornerRadiusPx": 0,
              "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
            },
            "content": {
              "defaults": {
                "kind": "image",
                "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                "width": 64,
                "height": 64,
                "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
              },
              "adaptation": {
                "kind": "image",
                "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                "width": 64,
                "height": 64,
                "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
              }
            },
            "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
          }
        ],
        "constructInput": "intro-action-mark_Merge",
        "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
      }
    ],
    "constructInput": "intro-action_Merge",
    "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
  },
  {
    "layerId": "suggestion-scene",
    "kind": "group",
    "recipePointer": "/layers/1",
    "parentLayerId": null,
    "mergeIndex": 1,
    "nodeId": "suggestion-scene_Merge",
    "output": "suggestion-scene_Merge",
    "backgroundInput": "phone-context_Merge",
    "foregroundInput": "suggestion-scene_Gated",
    "activeLocalFrames": [
      56,
      420
    ],
    "effectiveActiveLocalFrames": [
      56,
      420
    ],
    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
    "staticControls": {
      "start": 56,
      "end": 420,
      "width": 1920,
      "height": 1080,
      "origin": [
        960,
        540
      ]
    },
    "rawNumericControls": {
      "width": 1920,
      "height": 1080,
      "scale": [
        {
          "frame": 56,
          "value": 0.84,
          "easing": "smooth"
        },
        {
          "frame": 88,
          "value": 1,
          "easing": "smooth"
        }
      ],
      "opacity": [
        {
          "frame": 56,
          "value": 0.55,
          "easing": "smooth"
        },
        {
          "frame": 66,
          "value": 1,
          "easing": "smooth"
        }
      ]
    },
    "tools": {
      "Construct": "suggestion-scene_Construct",
      "LocalMask": "suggestion-scene_LocalMask",
      "AnchorShift": "suggestion-scene_AnchorShift",
      "ScaleRotate": "suggestion-scene_ScaleRotate",
      "Position": "suggestion-scene_Position",
      "Gated": "suggestion-scene_Gated",
      "Merge": "suggestion-scene_Merge"
    },
    "connections": [
      "suggestion-scene_Construct -> suggestion-scene_LocalMask -> suggestion-scene_AnchorShift -> suggestion-scene_ScaleRotate -> suggestion-scene_Position -> suggestion-scene_Gated -> suggestion-scene_Merge.Foreground",
      "phone-context_Merge -> suggestion-scene_Merge.Background"
    ],
    "mask": {
      "overflow": "visible",
      "clip": null,
      "cornerRadiusPx": 0,
      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
    },
    "children": [
      {
        "layerId": "stack-viewport",
        "kind": "group",
        "recipePointer": "/layers/1/children/0",
        "parentLayerId": "suggestion-scene",
        "mergeIndex": 0,
        "nodeId": "stack-viewport_Merge",
        "output": "stack-viewport_Merge",
        "backgroundInput": "suggestion-scene_Transparent",
        "foregroundInput": "stack-viewport_Gated",
        "activeLocalFrames": [
          56,
          420
        ],
        "effectiveActiveLocalFrames": [
          56,
          420
        ],
        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
        "staticControls": {
          "start": 56,
          "end": 420,
          "x": 0,
          "y": 0,
          "width": 1920,
          "height": 1080,
          "clip": {
            "top": 154,
            "right": 0,
            "bottom": 144,
            "left": 0
          }
        },
        "rawNumericControls": {
          "x": 0,
          "y": 0,
          "width": 1920,
          "height": 1080,
          "clip.top": 154,
          "clip.right": 0,
          "clip.bottom": 144,
          "clip.left": 0
        },
        "tools": {
          "Construct": "stack-viewport_Construct",
          "LocalMask": "stack-viewport_LocalMask",
          "AnchorShift": "stack-viewport_AnchorShift",
          "ScaleRotate": "stack-viewport_ScaleRotate",
          "Position": "stack-viewport_Position",
          "Gated": "stack-viewport_Gated",
          "Merge": "stack-viewport_Merge"
        },
        "connections": [
          "stack-viewport_Construct -> stack-viewport_LocalMask -> stack-viewport_AnchorShift -> stack-viewport_ScaleRotate -> stack-viewport_Position -> stack-viewport_Gated -> stack-viewport_Merge.Foreground",
          "suggestion-scene_Transparent -> stack-viewport_Merge.Background"
        ],
        "mask": {
          "overflow": "visible",
          "clip": {
            "top": 154,
            "right": 0,
            "bottom": 144,
            "left": 0
          },
          "cornerRadiusPx": 0,
          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
        },
        "children": [
          {
            "layerId": "cycling-list",
            "kind": "group",
            "recipePointer": "/layers/1/children/0/children/0",
            "parentLayerId": "stack-viewport",
            "mergeIndex": 0,
            "nodeId": "cycling-list_Merge",
            "output": "cycling-list_Merge",
            "backgroundInput": "stack-viewport_Transparent",
            "foregroundInput": "cycling-list_Gated",
            "activeLocalFrames": [
              56,
              420
            ],
            "effectiveActiveLocalFrames": [
              56,
              420
            ],
            "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
            "staticControls": {
              "start": 56,
              "end": 420,
              "width": 1920,
              "height": 1500
            },
            "rawNumericControls": {
              "y": [
                {
                  "frame": 56,
                  "value": 0,
                  "easing": "hold"
                },
                {
                  "frame": 120,
                  "value": 0,
                  "easing": "smooth"
                },
                {
                  "frame": 144,
                  "value": -204,
                  "easing": "hold"
                },
                {
                  "frame": 210,
                  "value": -204,
                  "easing": "smooth"
                },
                {
                  "frame": 234,
                  "value": -408,
                  "easing": "smooth"
                }
              ],
              "width": 1920,
              "height": 1500
            },
            "tools": {
              "Construct": "cycling-list_Construct",
              "LocalMask": "cycling-list_LocalMask",
              "AnchorShift": "cycling-list_AnchorShift",
              "ScaleRotate": "cycling-list_ScaleRotate",
              "Position": "cycling-list_Position",
              "Gated": "cycling-list_Gated",
              "Merge": "cycling-list_Merge"
            },
            "connections": [
              "cycling-list_Construct -> cycling-list_LocalMask -> cycling-list_AnchorShift -> cycling-list_ScaleRotate -> cycling-list_Position -> cycling-list_Gated -> cycling-list_Merge.Foreground",
              "stack-viewport_Transparent -> cycling-list_Merge.Background"
            ],
            "mask": {
              "overflow": "visible",
              "clip": null,
              "cornerRadiusPx": 0,
              "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
            },
            "children": [
              {
                "layerId": "row-0",
                "kind": "group",
                "recipePointer": "/layers/1/children/0/children/0/children/0",
                "parentLayerId": "cycling-list",
                "mergeIndex": 0,
                "nodeId": "row-0_Merge",
                "output": "row-0_Merge",
                "backgroundInput": "cycling-list_Transparent",
                "foregroundInput": "row-0_Gated",
                "activeLocalFrames": [
                  56,
                  140
                ],
                "effectiveActiveLocalFrames": [
                  56,
                  140
                ],
                "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                "staticControls": {
                  "start": 56,
                  "end": 140,
                  "x": 260,
                  "y": 252,
                  "width": 1400,
                  "height": 168
                },
                "rawNumericControls": {
                  "x": 260,
                  "y": 252,
                  "width": 1400,
                  "height": 168,
                  "opacity": [
                    {
                      "frame": 56,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 120,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 140,
                      "value": 0,
                      "easing": "smooth"
                    }
                  ]
                },
                "tools": {
                  "Construct": "row-0_Construct",
                  "LocalMask": "row-0_LocalMask",
                  "AnchorShift": "row-0_AnchorShift",
                  "ScaleRotate": "row-0_ScaleRotate",
                  "Position": "row-0_Position",
                  "Gated": "row-0_Gated",
                  "Merge": "row-0_Merge"
                },
                "connections": [
                  "row-0_Construct -> row-0_LocalMask -> row-0_AnchorShift -> row-0_ScaleRotate -> row-0_Position -> row-0_Gated -> row-0_Merge.Foreground",
                  "cycling-list_Transparent -> row-0_Merge.Background"
                ],
                "mask": {
                  "overflow": "visible",
                  "clip": null,
                  "cornerRadiusPx": 0,
                  "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                },
                "children": [
                  {
                    "layerId": "row-0-surface",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0",
                    "parentLayerId": "row-0",
                    "mergeIndex": 0,
                    "nodeId": "row-0-surface_Merge",
                    "output": "row-0-surface_Merge",
                    "backgroundInput": "row-0_Transparent",
                    "foregroundInput": "row-0-surface_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      140
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "fill": "$surface",
                      "radius": 84
                    },
                    "rawNumericControls": {
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "radius": 84
                    },
                    "tools": {
                      "Construct": "row-0-surface_Construct",
                      "LocalMask": "row-0-surface_LocalMask",
                      "AnchorShift": "row-0-surface_AnchorShift",
                      "ScaleRotate": "row-0-surface_ScaleRotate",
                      "Position": "row-0-surface_Position",
                      "Gated": "row-0-surface_Gated",
                      "Merge": "row-0-surface_Merge"
                    },
                    "connections": [
                      "row-0-surface_Construct -> row-0-surface_LocalMask -> row-0-surface_AnchorShift -> row-0-surface_ScaleRotate -> row-0-surface_Position -> row-0-surface_Gated -> row-0-surface_Merge.Foreground",
                      "row-0_Transparent -> row-0-surface_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 84,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "row-0-mark",
                    "kind": "image",
                    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1",
                    "parentLayerId": "row-0",
                    "mergeIndex": 1,
                    "nodeId": "row-0-mark_Merge",
                    "output": "row-0-mark_Merge",
                    "backgroundInput": "row-0-surface_Merge",
                    "foregroundInput": "row-0-mark_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      140
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "suggestionMark",
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "fit": "contain",
                      "opacity": 1
                    },
                    "rawNumericControls": {
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "opacity": 1
                    },
                    "tools": {
                      "Construct": "row-0-mark_Construct",
                      "LocalMask": "row-0-mark_LocalMask",
                      "AnchorShift": "row-0-mark_AnchorShift",
                      "ScaleRotate": "row-0-mark_ScaleRotate",
                      "Position": "row-0-mark_Position",
                      "Gated": "row-0-mark_Gated",
                      "Merge": "row-0-mark_Merge"
                    },
                    "connections": [
                      "row-0-mark_Construct -> row-0-mark_LocalMask -> row-0-mark_AnchorShift -> row-0-mark_ScaleRotate -> row-0-mark_Position -> row-0-mark_Gated -> row-0-mark_Merge.Foreground",
                      "row-0-surface_Merge -> row-0-mark_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      },
                      "adaptation": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      }
                    },
                    "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
                  },
                  {
                    "layerId": "row-0-copy",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/0/children/2",
                    "parentLayerId": "row-0",
                    "mergeIndex": 2,
                    "nodeId": "row-0-copy_Merge",
                    "output": "row-0-copy_Merge",
                    "backgroundInput": "row-0-mark_Merge",
                    "foregroundInput": "row-0-copy_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      140
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "row0",
                      "x": 168,
                      "y": 48,
                      "width": 1178,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink"
                    },
                    "rawNumericControls": {
                      "x": 168,
                      "y": 48,
                      "width": 1178,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "row-0-copy_Construct",
                      "LocalMask": "row-0-copy_LocalMask",
                      "AnchorShift": "row-0-copy_AnchorShift",
                      "ScaleRotate": "row-0-copy_ScaleRotate",
                      "Position": "row-0-copy_Position",
                      "Gated": "row-0-copy_Gated",
                      "Merge": "row-0-copy_Merge"
                    },
                    "connections": [
                      "row-0-copy_Construct -> row-0-copy_LocalMask -> row-0-copy_AnchorShift -> row-0-copy_ScaleRotate -> row-0-copy_Position -> row-0-copy_Gated -> row-0-copy_Merge.Foreground",
                      "row-0-mark_Merge -> row-0-copy_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "I'm curious about...",
                      "adaptation": "I want to notice..."
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  }
                ],
                "constructInput": "row-0-copy_Merge",
                "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
              },
              {
                "layerId": "row-1",
                "kind": "group",
                "recipePointer": "/layers/1/children/0/children/0/children/1",
                "parentLayerId": "cycling-list",
                "mergeIndex": 1,
                "nodeId": "row-1_Merge",
                "output": "row-1_Merge",
                "backgroundInput": "row-0_Merge",
                "foregroundInput": "row-1_Gated",
                "activeLocalFrames": [
                  56,
                  230
                ],
                "effectiveActiveLocalFrames": [
                  56,
                  230
                ],
                "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                "staticControls": {
                  "start": 56,
                  "end": 230,
                  "x": 260,
                  "y": 456,
                  "width": 1400,
                  "height": 168
                },
                "rawNumericControls": {
                  "x": 260,
                  "y": 456,
                  "width": 1400,
                  "height": 168,
                  "opacity": [
                    {
                      "frame": 56,
                      "value": 1,
                      "easing": "hold"
                    },
                    {
                      "frame": 120,
                      "value": 1,
                      "easing": "smooth"
                    },
                    {
                      "frame": 144,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 210,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 230,
                      "value": 0,
                      "easing": "smooth"
                    }
                  ]
                },
                "tools": {
                  "Construct": "row-1_Construct",
                  "LocalMask": "row-1_LocalMask",
                  "AnchorShift": "row-1_AnchorShift",
                  "ScaleRotate": "row-1_ScaleRotate",
                  "Position": "row-1_Position",
                  "Gated": "row-1_Gated",
                  "Merge": "row-1_Merge"
                },
                "connections": [
                  "row-1_Construct -> row-1_LocalMask -> row-1_AnchorShift -> row-1_ScaleRotate -> row-1_Position -> row-1_Gated -> row-1_Merge.Foreground",
                  "row-0_Merge -> row-1_Merge.Background"
                ],
                "mask": {
                  "overflow": "visible",
                  "clip": null,
                  "cornerRadiusPx": 0,
                  "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                },
                "children": [
                  {
                    "layerId": "row-1-surface",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0",
                    "parentLayerId": "row-1",
                    "mergeIndex": 0,
                    "nodeId": "row-1-surface_Merge",
                    "output": "row-1-surface_Merge",
                    "backgroundInput": "row-1_Transparent",
                    "foregroundInput": "row-1-surface_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      230
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "fill": "$surface",
                      "radius": 84
                    },
                    "rawNumericControls": {
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "radius": 84
                    },
                    "tools": {
                      "Construct": "row-1-surface_Construct",
                      "LocalMask": "row-1-surface_LocalMask",
                      "AnchorShift": "row-1-surface_AnchorShift",
                      "ScaleRotate": "row-1-surface_ScaleRotate",
                      "Position": "row-1-surface_Position",
                      "Gated": "row-1-surface_Gated",
                      "Merge": "row-1-surface_Merge"
                    },
                    "connections": [
                      "row-1-surface_Construct -> row-1-surface_LocalMask -> row-1-surface_AnchorShift -> row-1-surface_ScaleRotate -> row-1-surface_Position -> row-1-surface_Gated -> row-1-surface_Merge.Foreground",
                      "row-1_Transparent -> row-1-surface_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 84,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "row-1-mark",
                    "kind": "image",
                    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1",
                    "parentLayerId": "row-1",
                    "mergeIndex": 1,
                    "nodeId": "row-1-mark_Merge",
                    "output": "row-1-mark_Merge",
                    "backgroundInput": "row-1-surface_Merge",
                    "foregroundInput": "row-1-mark_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      230
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "suggestionMark",
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "fit": "contain",
                      "opacity": 1
                    },
                    "rawNumericControls": {
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "opacity": 1
                    },
                    "tools": {
                      "Construct": "row-1-mark_Construct",
                      "LocalMask": "row-1-mark_LocalMask",
                      "AnchorShift": "row-1-mark_AnchorShift",
                      "ScaleRotate": "row-1-mark_ScaleRotate",
                      "Position": "row-1-mark_Position",
                      "Gated": "row-1-mark_Gated",
                      "Merge": "row-1-mark_Merge"
                    },
                    "connections": [
                      "row-1-mark_Construct -> row-1-mark_LocalMask -> row-1-mark_AnchorShift -> row-1-mark_ScaleRotate -> row-1-mark_Position -> row-1-mark_Gated -> row-1-mark_Merge.Foreground",
                      "row-1-surface_Merge -> row-1-mark_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      },
                      "adaptation": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      }
                    },
                    "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
                  },
                  {
                    "layerId": "row-1-copy",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/1/children/2",
                    "parentLayerId": "row-1",
                    "mergeIndex": 2,
                    "nodeId": "row-1-copy_Merge",
                    "output": "row-1-copy_Merge",
                    "backgroundInput": "row-1-mark_Merge",
                    "foregroundInput": "row-1-copy_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      230
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "row1",
                      "x": 168,
                      "y": 48,
                      "width": 430,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink"
                    },
                    "rawNumericControls": {
                      "x": 168,
                      "y": 48,
                      "width": 430,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "row-1-copy_Construct",
                      "LocalMask": "row-1-copy_LocalMask",
                      "AnchorShift": "row-1-copy_AnchorShift",
                      "ScaleRotate": "row-1-copy_ScaleRotate",
                      "Position": "row-1-copy_Position",
                      "Gated": "row-1-copy_Gated",
                      "Merge": "row-1-copy_Merge"
                    },
                    "connections": [
                      "row-1-copy_Construct -> row-1-copy_LocalMask -> row-1-copy_AnchorShift -> row-1-copy_ScaleRotate -> row-1-copy_Position -> row-1-copy_Gated -> row-1-copy_Merge.Foreground",
                      "row-1-mark_Merge -> row-1-copy_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "I'm making",
                      "adaptation": "I'm collecting"
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  },
                  {
                    "layerId": "row-1-topic",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3",
                    "parentLayerId": "row-1",
                    "mergeIndex": 3,
                    "nodeId": "row-1-topic_Merge",
                    "output": "row-1-topic_Merge",
                    "backgroundInput": "row-1-copy_Merge",
                    "foregroundInput": "row-1-topic_Gated",
                    "activeLocalFrames": [
                      56,
                      140
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      140
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 56,
                      "end": 140,
                      "slot": "topic1",
                      "x": 620,
                      "y": 48,
                      "width": 726,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$accent"
                    },
                    "rawNumericControls": {
                      "x": 620,
                      "y": 48,
                      "width": 726,
                      "height": 80,
                      "opacity": [
                        {
                          "frame": 56,
                          "value": 1,
                          "easing": "hold"
                        },
                        {
                          "frame": 120,
                          "value": 1,
                          "easing": "smooth"
                        },
                        {
                          "frame": 140,
                          "value": 0,
                          "easing": "smooth"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "row-1-topic_Construct",
                      "LocalMask": "row-1-topic_LocalMask",
                      "AnchorShift": "row-1-topic_AnchorShift",
                      "ScaleRotate": "row-1-topic_ScaleRotate",
                      "Position": "row-1-topic_Position",
                      "Gated": "row-1-topic_Gated",
                      "Merge": "row-1-topic_Merge"
                    },
                    "connections": [
                      "row-1-topic_Construct -> row-1-topic_LocalMask -> row-1-topic_AnchorShift -> row-1-topic_ScaleRotate -> row-1-topic_Position -> row-1-topic_Gated -> row-1-topic_Merge.Foreground",
                      "row-1-copy_Merge -> row-1-topic_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "paper objects",
                      "adaptation": "garden colours"
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  }
                ],
                "constructInput": "row-1-topic_Merge",
                "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
              },
              {
                "layerId": "row-2",
                "kind": "group",
                "recipePointer": "/layers/1/children/0/children/0/children/2",
                "parentLayerId": "cycling-list",
                "mergeIndex": 2,
                "nodeId": "row-2_Merge",
                "output": "row-2_Merge",
                "backgroundInput": "row-1_Merge",
                "foregroundInput": "row-2_Gated",
                "activeLocalFrames": [
                  56,
                  298
                ],
                "effectiveActiveLocalFrames": [
                  56,
                  298
                ],
                "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                "staticControls": {
                  "start": 56,
                  "end": 298,
                  "x": 260,
                  "y": 660,
                  "width": 1400,
                  "height": 168
                },
                "rawNumericControls": {
                  "x": 260,
                  "y": 660,
                  "width": 1400,
                  "height": 168,
                  "opacity": [
                    {
                      "frame": 56,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 120,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 144,
                      "value": 1,
                      "easing": "hold"
                    },
                    {
                      "frame": 210,
                      "value": 1,
                      "easing": "smooth"
                    },
                    {
                      "frame": 234,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 278,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 298,
                      "value": 0,
                      "easing": "smooth"
                    }
                  ]
                },
                "tools": {
                  "Construct": "row-2_Construct",
                  "LocalMask": "row-2_LocalMask",
                  "AnchorShift": "row-2_AnchorShift",
                  "ScaleRotate": "row-2_ScaleRotate",
                  "Position": "row-2_Position",
                  "Gated": "row-2_Gated",
                  "Merge": "row-2_Merge"
                },
                "connections": [
                  "row-2_Construct -> row-2_LocalMask -> row-2_AnchorShift -> row-2_ScaleRotate -> row-2_Position -> row-2_Gated -> row-2_Merge.Foreground",
                  "row-1_Merge -> row-2_Merge.Background"
                ],
                "mask": {
                  "overflow": "visible",
                  "clip": null,
                  "cornerRadiusPx": 0,
                  "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                },
                "children": [
                  {
                    "layerId": "row-2-surface",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0",
                    "parentLayerId": "row-2",
                    "mergeIndex": 0,
                    "nodeId": "row-2-surface_Merge",
                    "output": "row-2-surface_Merge",
                    "backgroundInput": "row-2_Transparent",
                    "foregroundInput": "row-2-surface_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "fill": "$surface",
                      "radius": 84
                    },
                    "rawNumericControls": {
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "radius": 84
                    },
                    "tools": {
                      "Construct": "row-2-surface_Construct",
                      "LocalMask": "row-2-surface_LocalMask",
                      "AnchorShift": "row-2-surface_AnchorShift",
                      "ScaleRotate": "row-2-surface_ScaleRotate",
                      "Position": "row-2-surface_Position",
                      "Gated": "row-2-surface_Gated",
                      "Merge": "row-2-surface_Merge"
                    },
                    "connections": [
                      "row-2-surface_Construct -> row-2-surface_LocalMask -> row-2-surface_AnchorShift -> row-2-surface_ScaleRotate -> row-2-surface_Position -> row-2-surface_Gated -> row-2-surface_Merge.Foreground",
                      "row-2_Transparent -> row-2-surface_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 84,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "row-2-mark",
                    "kind": "image",
                    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1",
                    "parentLayerId": "row-2",
                    "mergeIndex": 1,
                    "nodeId": "row-2-mark_Merge",
                    "output": "row-2-mark_Merge",
                    "backgroundInput": "row-2-surface_Merge",
                    "foregroundInput": "row-2-mark_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "suggestionMark",
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "fit": "contain",
                      "opacity": 1
                    },
                    "rawNumericControls": {
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "opacity": 1
                    },
                    "tools": {
                      "Construct": "row-2-mark_Construct",
                      "LocalMask": "row-2-mark_LocalMask",
                      "AnchorShift": "row-2-mark_AnchorShift",
                      "ScaleRotate": "row-2-mark_ScaleRotate",
                      "Position": "row-2-mark_Position",
                      "Gated": "row-2-mark_Gated",
                      "Merge": "row-2-mark_Merge"
                    },
                    "connections": [
                      "row-2-mark_Construct -> row-2-mark_LocalMask -> row-2-mark_AnchorShift -> row-2-mark_ScaleRotate -> row-2-mark_Position -> row-2-mark_Gated -> row-2-mark_Merge.Foreground",
                      "row-2-surface_Merge -> row-2-mark_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      },
                      "adaptation": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      }
                    },
                    "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
                  },
                  {
                    "layerId": "row-2-copy",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/2/children/2",
                    "parentLayerId": "row-2",
                    "mergeIndex": 2,
                    "nodeId": "row-2-copy_Merge",
                    "output": "row-2-copy_Merge",
                    "backgroundInput": "row-2-mark_Merge",
                    "foregroundInput": "row-2-copy_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      56,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "row2",
                      "x": 168,
                      "y": 48,
                      "width": 430,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink"
                    },
                    "rawNumericControls": {
                      "x": 168,
                      "y": 48,
                      "width": 430,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "row-2-copy_Construct",
                      "LocalMask": "row-2-copy_LocalMask",
                      "AnchorShift": "row-2-copy_AnchorShift",
                      "ScaleRotate": "row-2-copy_ScaleRotate",
                      "Position": "row-2-copy_Position",
                      "Gated": "row-2-copy_Gated",
                      "Merge": "row-2-copy_Merge"
                    },
                    "connections": [
                      "row-2-copy_Construct -> row-2-copy_LocalMask -> row-2-copy_AnchorShift -> row-2-copy_ScaleRotate -> row-2-copy_Position -> row-2-copy_Gated -> row-2-copy_Merge.Foreground",
                      "row-2-mark_Merge -> row-2-copy_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "Keep notes on",
                      "adaptation": "Keep notes on"
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  },
                  {
                    "layerId": "row-2-topic",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3",
                    "parentLayerId": "row-2",
                    "mergeIndex": 3,
                    "nodeId": "row-2-topic_Merge",
                    "output": "row-2-topic_Merge",
                    "backgroundInput": "row-2-copy_Merge",
                    "foregroundInput": "row-2-topic_Gated",
                    "activeLocalFrames": [
                      120,
                      230
                    ],
                    "effectiveActiveLocalFrames": [
                      120,
                      230
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 120,
                      "end": 230,
                      "slot": "topic2",
                      "x": 620,
                      "y": 48,
                      "width": 726,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$accent"
                    },
                    "rawNumericControls": {
                      "x": 620,
                      "y": 48,
                      "width": 726,
                      "height": 80,
                      "opacity": [
                        {
                          "frame": 120,
                          "value": 0,
                          "easing": "smooth"
                        },
                        {
                          "frame": 132,
                          "value": 1,
                          "easing": "hold"
                        },
                        {
                          "frame": 210,
                          "value": 1,
                          "easing": "smooth"
                        },
                        {
                          "frame": 230,
                          "value": 0,
                          "easing": "smooth"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "row-2-topic_Construct",
                      "LocalMask": "row-2-topic_LocalMask",
                      "AnchorShift": "row-2-topic_AnchorShift",
                      "ScaleRotate": "row-2-topic_ScaleRotate",
                      "Position": "row-2-topic_Position",
                      "Gated": "row-2-topic_Gated",
                      "Merge": "row-2-topic_Merge"
                    },
                    "connections": [
                      "row-2-topic_Construct -> row-2-topic_LocalMask -> row-2-topic_AnchorShift -> row-2-topic_ScaleRotate -> row-2-topic_Position -> row-2-topic_Gated -> row-2-topic_Merge.Foreground",
                      "row-2-copy_Merge -> row-2-topic_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "studio rituals",
                      "adaptation": "evening skies"
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  }
                ],
                "constructInput": "row-2-topic_Merge",
                "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
              },
              {
                "layerId": "row-3",
                "kind": "group",
                "recipePointer": "/layers/1/children/0/children/0/children/3",
                "parentLayerId": "cycling-list",
                "mergeIndex": 3,
                "nodeId": "row-3_Merge",
                "output": "row-3_Merge",
                "backgroundInput": "row-2_Merge",
                "foregroundInput": "row-3_Gated",
                "activeLocalFrames": [
                  120,
                  420
                ],
                "effectiveActiveLocalFrames": [
                  120,
                  420
                ],
                "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                "staticControls": {
                  "start": 120,
                  "end": 420,
                  "x": 260,
                  "y": 864,
                  "width": 1400,
                  "height": 168
                },
                "rawNumericControls": {
                  "x": 260,
                  "y": 864,
                  "width": 1400,
                  "height": 168,
                  "opacity": [
                    {
                      "frame": 56,
                      "value": 0,
                      "easing": "hold"
                    },
                    {
                      "frame": 120,
                      "value": 0,
                      "easing": "smooth"
                    },
                    {
                      "frame": 144,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 210,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 234,
                      "value": 1,
                      "easing": "smooth"
                    }
                  ]
                },
                "tools": {
                  "Construct": "row-3_Construct",
                  "LocalMask": "row-3_LocalMask",
                  "AnchorShift": "row-3_AnchorShift",
                  "ScaleRotate": "row-3_ScaleRotate",
                  "Position": "row-3_Position",
                  "Gated": "row-3_Gated",
                  "Merge": "row-3_Merge"
                },
                "connections": [
                  "row-3_Construct -> row-3_LocalMask -> row-3_AnchorShift -> row-3_ScaleRotate -> row-3_Position -> row-3_Gated -> row-3_Merge.Foreground",
                  "row-2_Merge -> row-3_Merge.Background"
                ],
                "mask": {
                  "overflow": "visible",
                  "clip": null,
                  "cornerRadiusPx": 0,
                  "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                },
                "children": [
                  {
                    "layerId": "row-3-surface",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0",
                    "parentLayerId": "row-3",
                    "mergeIndex": 0,
                    "nodeId": "row-3-surface_Merge",
                    "output": "row-3-surface_Merge",
                    "backgroundInput": "row-3_Transparent",
                    "foregroundInput": "row-3-surface_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      120,
                      420
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "fill": "$surface",
                      "radius": 84
                    },
                    "rawNumericControls": {
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "radius": 84
                    },
                    "tools": {
                      "Construct": "row-3-surface_Construct",
                      "LocalMask": "row-3-surface_LocalMask",
                      "AnchorShift": "row-3-surface_AnchorShift",
                      "ScaleRotate": "row-3-surface_ScaleRotate",
                      "Position": "row-3-surface_Position",
                      "Gated": "row-3-surface_Gated",
                      "Merge": "row-3-surface_Merge"
                    },
                    "connections": [
                      "row-3-surface_Construct -> row-3-surface_LocalMask -> row-3-surface_AnchorShift -> row-3-surface_ScaleRotate -> row-3-surface_Position -> row-3-surface_Gated -> row-3-surface_Merge.Foreground",
                      "row-3_Transparent -> row-3-surface_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 84,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "row-3-mark",
                    "kind": "image",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1",
                    "parentLayerId": "row-3",
                    "mergeIndex": 1,
                    "nodeId": "row-3-mark_Merge",
                    "output": "row-3-mark_Merge",
                    "backgroundInput": "row-3-surface_Merge",
                    "foregroundInput": "row-3-mark_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      120,
                      420
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "suggestionMark",
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "fit": "contain"
                    },
                    "rawNumericControls": {
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "opacity": [
                        {
                          "frame": 0,
                          "value": 1,
                          "easing": "hold"
                        },
                        {
                          "frame": 298,
                          "value": 1,
                          "easing": "smooth"
                        },
                        {
                          "frame": 309,
                          "value": 0,
                          "easing": "smooth"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "row-3-mark_Construct",
                      "LocalMask": "row-3-mark_LocalMask",
                      "AnchorShift": "row-3-mark_AnchorShift",
                      "ScaleRotate": "row-3-mark_ScaleRotate",
                      "Position": "row-3-mark_Position",
                      "Gated": "row-3-mark_Gated",
                      "Merge": "row-3-mark_Merge"
                    },
                    "connections": [
                      "row-3-mark_Construct -> row-3-mark_LocalMask -> row-3-mark_AnchorShift -> row-3-mark_ScaleRotate -> row-3-mark_Position -> row-3-mark_Gated -> row-3-mark_Merge.Foreground",
                      "row-3-surface_Merge -> row-3-mark_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      },
                      "adaptation": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      }
                    },
                    "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
                  },
                  {
                    "layerId": "row-3-copy",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/2",
                    "parentLayerId": "row-3",
                    "mergeIndex": 2,
                    "nodeId": "row-3-copy_Merge",
                    "output": "row-3-copy_Merge",
                    "backgroundInput": "row-3-mark_Merge",
                    "foregroundInput": "row-3-copy_Gated",
                    "activeLocalFrames": [
                      0,
                      362
                    ],
                    "effectiveActiveLocalFrames": [
                      120,
                      362
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 362,
                      "slot": "row3",
                      "y": 48,
                      "width": 1178,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink"
                    },
                    "rawNumericControls": {
                      "x": [
                        {
                          "frame": 0,
                          "value": 168,
                          "easing": "hold"
                        },
                        {
                          "frame": 300,
                          "value": 168,
                          "easing": "smooth"
                        },
                        {
                          "frame": 312,
                          "value": 62,
                          "easing": "smooth"
                        }
                      ],
                      "y": 48,
                      "width": 1178,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "row-3-copy_Construct",
                      "LocalMask": "row-3-copy_LocalMask",
                      "AnchorShift": "row-3-copy_AnchorShift",
                      "ScaleRotate": "row-3-copy_ScaleRotate",
                      "Position": "row-3-copy_Position",
                      "Gated": "row-3-copy_Gated",
                      "Merge": "row-3-copy_Merge"
                    },
                    "connections": [
                      "row-3-copy_Construct -> row-3-copy_LocalMask -> row-3-copy_AnchorShift -> row-3-copy_ScaleRotate -> row-3-copy_Position -> row-3-copy_Gated -> row-3-copy_Merge.Foreground",
                      "row-3-mark_Merge -> row-3-copy_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "Leave a note...",
                      "adaptation": "Share a thought..."
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  },
                  {
                    "layerId": "typed-request",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/3",
                    "parentLayerId": "row-3",
                    "mergeIndex": 3,
                    "nodeId": "typed-request_Merge",
                    "output": "typed-request_Merge",
                    "backgroundInput": "row-3-copy_Merge",
                    "foregroundInput": "typed-request_Gated",
                    "activeLocalFrames": [
                      362,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      362,
                      420
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 362,
                      "end": 420,
                      "slot": "typed",
                      "x": 62,
                      "y": 48,
                      "width": 1178,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink",
                      "suffix": "|",
                      "reveal": {
                        "unit": "characters",
                        "steps": [
                          {
                            "frame": 362,
                            "count": 0
                          },
                          {
                            "frame": 363,
                            "count": 1
                          },
                          {
                            "frame": 365,
                            "count": 2
                          },
                          {
                            "frame": 367,
                            "count": 3
                          },
                          {
                            "frame": 369,
                            "count": 4
                          },
                          {
                            "frame": 371,
                            "count": 5
                          },
                          {
                            "frame": 373,
                            "count": 6
                          },
                          {
                            "frame": 375,
                            "count": 7
                          },
                          {
                            "frame": 377,
                            "count": 8
                          },
                          {
                            "frame": 379,
                            "count": 9
                          },
                          {
                            "frame": 381,
                            "count": 10
                          },
                          {
                            "frame": 383,
                            "count": 11
                          },
                          {
                            "frame": 385,
                            "count": 12
                          },
                          {
                            "frame": 387,
                            "count": 13
                          },
                          {
                            "frame": 389,
                            "count": 14
                          },
                          {
                            "frame": 391,
                            "count": 15
                          },
                          {
                            "frame": 393,
                            "count": 16
                          },
                          {
                            "frame": 395,
                            "count": 17
                          },
                          {
                            "frame": 397,
                            "count": 18
                          },
                          {
                            "frame": 399,
                            "count": 19
                          },
                          {
                            "frame": 401,
                            "count": 20
                          },
                          {
                            "frame": 403,
                            "count": 21
                          },
                          {
                            "frame": 405,
                            "count": 22
                          },
                          {
                            "frame": 407,
                            "count": 23
                          },
                          {
                            "frame": 409,
                            "count": 24
                          },
                          {
                            "frame": 411,
                            "count": 25
                          },
                          {
                            "frame": 413,
                            "count": 26
                          },
                          {
                            "frame": 415,
                            "count": 27
                          },
                          {
                            "frame": 417,
                            "count": 28
                          },
                          {
                            "frame": 419,
                            "count": 29
                          }
                        ]
                      }
                    },
                    "rawNumericControls": {
                      "x": 62,
                      "y": 48,
                      "width": 1178,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "typed-request_Construct",
                      "LocalMask": "typed-request_LocalMask",
                      "AnchorShift": "typed-request_AnchorShift",
                      "ScaleRotate": "typed-request_ScaleRotate",
                      "Position": "typed-request_Position",
                      "Gated": "typed-request_Gated",
                      "Merge": "typed-request_Merge"
                    },
                    "connections": [
                      "typed-request_Construct -> typed-request_LocalMask -> typed-request_AnchorShift -> typed-request_ScaleRotate -> typed-request_Position -> typed-request_Gated -> typed-request_Merge.Foreground",
                      "row-3-copy_Merge -> typed-request_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "Add a weekly paper sketching prompt.",
                      "adaptation": "Send a monthly colour study reminder."
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": {
                        "unit": "characters",
                        "steps": [
                          {
                            "frame": 362,
                            "count": 0
                          },
                          {
                            "frame": 363,
                            "count": 1
                          },
                          {
                            "frame": 365,
                            "count": 2
                          },
                          {
                            "frame": 367,
                            "count": 3
                          },
                          {
                            "frame": 369,
                            "count": 4
                          },
                          {
                            "frame": 371,
                            "count": 5
                          },
                          {
                            "frame": 373,
                            "count": 6
                          },
                          {
                            "frame": 375,
                            "count": 7
                          },
                          {
                            "frame": 377,
                            "count": 8
                          },
                          {
                            "frame": 379,
                            "count": 9
                          },
                          {
                            "frame": 381,
                            "count": 10
                          },
                          {
                            "frame": 383,
                            "count": 11
                          },
                          {
                            "frame": 385,
                            "count": 12
                          },
                          {
                            "frame": 387,
                            "count": 13
                          },
                          {
                            "frame": 389,
                            "count": 14
                          },
                          {
                            "frame": 391,
                            "count": 15
                          },
                          {
                            "frame": 393,
                            "count": 16
                          },
                          {
                            "frame": 395,
                            "count": 17
                          },
                          {
                            "frame": 397,
                            "count": 18
                          },
                          {
                            "frame": 399,
                            "count": 19
                          },
                          {
                            "frame": 401,
                            "count": 20
                          },
                          {
                            "frame": 403,
                            "count": 21
                          },
                          {
                            "frame": 405,
                            "count": 22
                          },
                          {
                            "frame": 407,
                            "count": 23
                          },
                          {
                            "frame": 409,
                            "count": 24
                          },
                          {
                            "frame": 411,
                            "count": 25
                          },
                          {
                            "frame": 413,
                            "count": 26
                          },
                          {
                            "frame": 415,
                            "count": 27
                          },
                          {
                            "frame": 417,
                            "count": 28
                          },
                          {
                            "frame": 419,
                            "count": 29
                          }
                        ]
                      },
                      "prefix": "",
                      "suffix": "|"
                    }
                  },
                  {
                    "layerId": "idle-caret",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4",
                    "parentLayerId": "row-3",
                    "mergeIndex": 4,
                    "nodeId": "idle-caret_Merge",
                    "output": "idle-caret_Merge",
                    "backgroundInput": "typed-request_Merge",
                    "foregroundInput": "idle-caret_Gated",
                    "activeLocalFrames": [
                      324,
                      362
                    ],
                    "effectiveActiveLocalFrames": [
                      324,
                      362
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 324,
                      "end": 362,
                      "x": 62,
                      "y": 53,
                      "width": 3,
                      "height": 62,
                      "fill": "$ink"
                    },
                    "rawNumericControls": {
                      "x": 62,
                      "y": 53,
                      "width": 3,
                      "height": 62,
                      "opacity": [
                        {
                          "frame": 324,
                          "value": 1,
                          "easing": "hold"
                        },
                        {
                          "frame": 331,
                          "value": 0,
                          "easing": "hold"
                        },
                        {
                          "frame": 354,
                          "value": 1,
                          "easing": "hold"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "idle-caret_Construct",
                      "LocalMask": "idle-caret_LocalMask",
                      "AnchorShift": "idle-caret_AnchorShift",
                      "ScaleRotate": "idle-caret_ScaleRotate",
                      "Position": "idle-caret_Position",
                      "Gated": "idle-caret_Gated",
                      "Merge": "idle-caret_Merge"
                    },
                    "connections": [
                      "idle-caret_Construct -> idle-caret_LocalMask -> idle-caret_AnchorShift -> idle-caret_ScaleRotate -> idle-caret_Position -> idle-caret_Gated -> idle-caret_Merge.Foreground",
                      "typed-request_Merge -> idle-caret_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "composer-voice",
                    "kind": "group",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5",
                    "parentLayerId": "row-3",
                    "mergeIndex": 5,
                    "nodeId": "composer-voice_Merge",
                    "output": "composer-voice_Merge",
                    "backgroundInput": "idle-caret_Merge",
                    "foregroundInput": "composer-voice_Gated",
                    "activeLocalFrames": [
                      310,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      310,
                      420
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 310,
                      "end": 420,
                      "x": 1250,
                      "y": 20,
                      "width": 128,
                      "height": 128,
                      "origin": [
                        64,
                        64
                      ]
                    },
                    "rawNumericControls": {
                      "x": 1250,
                      "y": 20,
                      "width": 128,
                      "height": 128,
                      "scale": [
                        {
                          "frame": 310,
                          "value": 0.02,
                          "easing": "smooth"
                        },
                        {
                          "frame": 323,
                          "value": 1,
                          "easing": "smooth"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "composer-voice_Construct",
                      "LocalMask": "composer-voice_LocalMask",
                      "AnchorShift": "composer-voice_AnchorShift",
                      "ScaleRotate": "composer-voice_ScaleRotate",
                      "Position": "composer-voice_Position",
                      "Gated": "composer-voice_Gated",
                      "Merge": "composer-voice_Merge"
                    },
                    "connections": [
                      "composer-voice_Construct -> composer-voice_LocalMask -> composer-voice_AnchorShift -> composer-voice_ScaleRotate -> composer-voice_Position -> composer-voice_Gated -> composer-voice_Merge.Foreground",
                      "idle-caret_Merge -> composer-voice_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "children": [
                      {
                        "layerId": "voice-disc",
                        "kind": "ellipse",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 0,
                        "nodeId": "voice-disc_Merge",
                        "output": "voice-disc_Merge",
                        "backgroundInput": "composer-voice_Transparent",
                        "foregroundInput": "voice-disc_Gated",
                        "activeLocalFrames": [
                          310,
                          420
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          420
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 420,
                          "x": 0,
                          "y": 0,
                          "width": 128,
                          "height": 128,
                          "fill": "$ink"
                        },
                        "rawNumericControls": {
                          "x": 0,
                          "y": 0,
                          "width": 128,
                          "height": 128
                        },
                        "tools": {
                          "Construct": "voice-disc_Construct",
                          "LocalMask": "voice-disc_LocalMask",
                          "AnchorShift": "voice-disc_AnchorShift",
                          "ScaleRotate": "voice-disc_ScaleRotate",
                          "Position": "voice-disc_Position",
                          "Gated": "voice-disc_Gated",
                          "Merge": "voice-disc_Merge"
                        },
                        "connections": [
                          "voice-disc_Construct -> voice-disc_LocalMask -> voice-disc_AnchorShift -> voice-disc_ScaleRotate -> voice-disc_Position -> voice-disc_Gated -> voice-disc_Merge.Foreground",
                          "composer-voice_Transparent -> voice-disc_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 0,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "voice-bar-0",
                        "kind": "rect",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 1,
                        "nodeId": "voice-bar-0_Merge",
                        "output": "voice-bar-0_Merge",
                        "backgroundInput": "voice-disc_Merge",
                        "foregroundInput": "voice-bar-0_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "x": 37,
                          "y": 50,
                          "width": 8,
                          "height": 28,
                          "fill": "#ffffff",
                          "radius": 4
                        },
                        "rawNumericControls": {
                          "x": 37,
                          "y": 50,
                          "width": 8,
                          "height": 28,
                          "radius": 4
                        },
                        "tools": {
                          "Construct": "voice-bar-0_Construct",
                          "LocalMask": "voice-bar-0_LocalMask",
                          "AnchorShift": "voice-bar-0_AnchorShift",
                          "ScaleRotate": "voice-bar-0_ScaleRotate",
                          "Position": "voice-bar-0_Position",
                          "Gated": "voice-bar-0_Gated",
                          "Merge": "voice-bar-0_Merge"
                        },
                        "connections": [
                          "voice-bar-0_Construct -> voice-bar-0_LocalMask -> voice-bar-0_AnchorShift -> voice-bar-0_ScaleRotate -> voice-bar-0_Position -> voice-bar-0_Gated -> voice-bar-0_Merge.Foreground",
                          "voice-disc_Merge -> voice-bar-0_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 4,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "voice-bar-1",
                        "kind": "rect",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 2,
                        "nodeId": "voice-bar-1_Merge",
                        "output": "voice-bar-1_Merge",
                        "backgroundInput": "voice-bar-0_Merge",
                        "foregroundInput": "voice-bar-1_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "x": 52,
                          "y": 37,
                          "width": 8,
                          "height": 54,
                          "fill": "#ffffff",
                          "radius": 4
                        },
                        "rawNumericControls": {
                          "x": 52,
                          "y": 37,
                          "width": 8,
                          "height": 54,
                          "radius": 4
                        },
                        "tools": {
                          "Construct": "voice-bar-1_Construct",
                          "LocalMask": "voice-bar-1_LocalMask",
                          "AnchorShift": "voice-bar-1_AnchorShift",
                          "ScaleRotate": "voice-bar-1_ScaleRotate",
                          "Position": "voice-bar-1_Position",
                          "Gated": "voice-bar-1_Gated",
                          "Merge": "voice-bar-1_Merge"
                        },
                        "connections": [
                          "voice-bar-1_Construct -> voice-bar-1_LocalMask -> voice-bar-1_AnchorShift -> voice-bar-1_ScaleRotate -> voice-bar-1_Position -> voice-bar-1_Gated -> voice-bar-1_Merge.Foreground",
                          "voice-bar-0_Merge -> voice-bar-1_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 4,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "voice-bar-2",
                        "kind": "rect",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 3,
                        "nodeId": "voice-bar-2_Merge",
                        "output": "voice-bar-2_Merge",
                        "backgroundInput": "voice-bar-1_Merge",
                        "foregroundInput": "voice-bar-2_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "x": 67,
                          "y": 50,
                          "width": 8,
                          "height": 28,
                          "fill": "#ffffff",
                          "radius": 4
                        },
                        "rawNumericControls": {
                          "x": 67,
                          "y": 50,
                          "width": 8,
                          "height": 28,
                          "radius": 4
                        },
                        "tools": {
                          "Construct": "voice-bar-2_Construct",
                          "LocalMask": "voice-bar-2_LocalMask",
                          "AnchorShift": "voice-bar-2_AnchorShift",
                          "ScaleRotate": "voice-bar-2_ScaleRotate",
                          "Position": "voice-bar-2_Position",
                          "Gated": "voice-bar-2_Gated",
                          "Merge": "voice-bar-2_Merge"
                        },
                        "connections": [
                          "voice-bar-2_Construct -> voice-bar-2_LocalMask -> voice-bar-2_AnchorShift -> voice-bar-2_ScaleRotate -> voice-bar-2_Position -> voice-bar-2_Gated -> voice-bar-2_Merge.Foreground",
                          "voice-bar-1_Merge -> voice-bar-2_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 4,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "voice-bar-3",
                        "kind": "rect",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 4,
                        "nodeId": "voice-bar-3_Merge",
                        "output": "voice-bar-3_Merge",
                        "backgroundInput": "voice-bar-2_Merge",
                        "foregroundInput": "voice-bar-3_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "x": 82,
                          "y": 37,
                          "width": 8,
                          "height": 54,
                          "fill": "#ffffff",
                          "radius": 4
                        },
                        "rawNumericControls": {
                          "x": 82,
                          "y": 37,
                          "width": 8,
                          "height": 54,
                          "radius": 4
                        },
                        "tools": {
                          "Construct": "voice-bar-3_Construct",
                          "LocalMask": "voice-bar-3_LocalMask",
                          "AnchorShift": "voice-bar-3_AnchorShift",
                          "ScaleRotate": "voice-bar-3_ScaleRotate",
                          "Position": "voice-bar-3_Position",
                          "Gated": "voice-bar-3_Gated",
                          "Merge": "voice-bar-3_Merge"
                        },
                        "connections": [
                          "voice-bar-3_Construct -> voice-bar-3_LocalMask -> voice-bar-3_AnchorShift -> voice-bar-3_ScaleRotate -> voice-bar-3_Position -> voice-bar-3_Gated -> voice-bar-3_Merge.Foreground",
                          "voice-bar-2_Merge -> voice-bar-3_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 4,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "send-arrow",
                        "kind": "path",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5",
                        "parentLayerId": "composer-voice",
                        "mergeIndex": 5,
                        "nodeId": "send-arrow_Merge",
                        "output": "send-arrow_Merge",
                        "backgroundInput": "voice-bar-3_Merge",
                        "foregroundInput": "send-arrow_Gated",
                        "activeLocalFrames": [
                          362,
                          420
                        ],
                        "effectiveActiveLocalFrames": [
                          362,
                          420
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 362,
                          "end": 420,
                          "path": "M 28 54 V 23 L 14 37 L 8 31 L 32 7 L 56 31 L 50 37 L 36 23 V 54 Z",
                          "viewBox": [
                            0,
                            0,
                            64,
                            64
                          ],
                          "x": 29,
                          "y": 29,
                          "width": 70,
                          "height": 70,
                          "fill": "#ffffff"
                        },
                        "rawNumericControls": {
                          "x": 29,
                          "y": 29,
                          "width": 70,
                          "height": 70
                        },
                        "tools": {
                          "Construct": "send-arrow_Construct",
                          "LocalMask": "send-arrow_LocalMask",
                          "AnchorShift": "send-arrow_AnchorShift",
                          "ScaleRotate": "send-arrow_ScaleRotate",
                          "Position": "send-arrow_Position",
                          "Gated": "send-arrow_Gated",
                          "Merge": "send-arrow_Merge"
                        },
                        "connections": [
                          "send-arrow_Construct -> send-arrow_LocalMask -> send-arrow_AnchorShift -> send-arrow_ScaleRotate -> send-arrow_Position -> send-arrow_Gated -> send-arrow_Merge.Foreground",
                          "voice-bar-3_Merge -> send-arrow_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 0,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Native closed Polygon masks for the absolute M/L/H/V/Z path subpaths, mapped from the stated viewBox. Preserve winding: inner bookmark contour subtracts from the outer contour. No freehand tracing. Fill only; raw path remains exact editable code."
                      }
                    ],
                    "constructInput": "send-arrow_Merge",
                    "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
                  },
                  {
                    "layerId": "composer-microphone",
                    "kind": "group",
                    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6",
                    "parentLayerId": "row-3",
                    "mergeIndex": 6,
                    "nodeId": "composer-microphone_Merge",
                    "output": "composer-microphone_Merge",
                    "backgroundInput": "composer-voice_Merge",
                    "foregroundInput": "composer-microphone_Gated",
                    "activeLocalFrames": [
                      310,
                      362
                    ],
                    "effectiveActiveLocalFrames": [
                      310,
                      362
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 310,
                      "end": 362,
                      "x": 1135,
                      "y": 52,
                      "width": 48,
                      "height": 64
                    },
                    "rawNumericControls": {
                      "x": 1135,
                      "y": 52,
                      "width": 48,
                      "height": 64,
                      "opacity": [
                        {
                          "frame": 310,
                          "value": 0,
                          "easing": "smooth"
                        },
                        {
                          "frame": 323,
                          "value": 1,
                          "easing": "smooth"
                        }
                      ]
                    },
                    "tools": {
                      "Construct": "composer-microphone_Construct",
                      "LocalMask": "composer-microphone_LocalMask",
                      "AnchorShift": "composer-microphone_AnchorShift",
                      "ScaleRotate": "composer-microphone_ScaleRotate",
                      "Position": "composer-microphone_Position",
                      "Gated": "composer-microphone_Gated",
                      "Merge": "composer-microphone_Merge"
                    },
                    "connections": [
                      "composer-microphone_Construct -> composer-microphone_LocalMask -> composer-microphone_AnchorShift -> composer-microphone_ScaleRotate -> composer-microphone_Position -> composer-microphone_Gated -> composer-microphone_Merge.Foreground",
                      "composer-voice_Merge -> composer-microphone_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "children": [
                      {
                        "layerId": "mic-capsule",
                        "kind": "rect",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0",
                        "parentLayerId": "composer-microphone",
                        "mergeIndex": 0,
                        "nodeId": "mic-capsule_Merge",
                        "output": "mic-capsule_Merge",
                        "backgroundInput": "composer-microphone_Transparent",
                        "foregroundInput": "mic-capsule_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "x": 14,
                          "y": 0,
                          "width": 20,
                          "height": 37,
                          "fill": "$muted",
                          "radius": 10
                        },
                        "rawNumericControls": {
                          "x": 14,
                          "y": 0,
                          "width": 20,
                          "height": 37,
                          "radius": 10
                        },
                        "tools": {
                          "Construct": "mic-capsule_Construct",
                          "LocalMask": "mic-capsule_LocalMask",
                          "AnchorShift": "mic-capsule_AnchorShift",
                          "ScaleRotate": "mic-capsule_ScaleRotate",
                          "Position": "mic-capsule_Position",
                          "Gated": "mic-capsule_Gated",
                          "Merge": "mic-capsule_Merge"
                        },
                        "connections": [
                          "mic-capsule_Construct -> mic-capsule_LocalMask -> mic-capsule_AnchorShift -> mic-capsule_ScaleRotate -> mic-capsule_Position -> mic-capsule_Gated -> mic-capsule_Merge.Foreground",
                          "composer-microphone_Transparent -> mic-capsule_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 10,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                      },
                      {
                        "layerId": "mic-base",
                        "kind": "path",
                        "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1",
                        "parentLayerId": "composer-microphone",
                        "mergeIndex": 1,
                        "nodeId": "mic-base_Merge",
                        "output": "mic-base_Merge",
                        "backgroundInput": "mic-capsule_Merge",
                        "foregroundInput": "mic-base_Gated",
                        "activeLocalFrames": [
                          310,
                          362
                        ],
                        "effectiveActiveLocalFrames": [
                          310,
                          362
                        ],
                        "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                        "staticControls": {
                          "start": 310,
                          "end": 362,
                          "path": "M 7 28 H 13 V 38 L 20 45 H 28 L 35 38 V 28 H 41 V 41 L 30 51 H 27 V 58 H 37 V 64 H 11 V 58 H 21 V 51 H 18 L 7 41 Z",
                          "viewBox": [
                            0,
                            0,
                            64,
                            64
                          ],
                          "x": 0,
                          "y": 0,
                          "width": 48,
                          "height": 48,
                          "fill": "$muted"
                        },
                        "rawNumericControls": {
                          "x": 0,
                          "y": 0,
                          "width": 48,
                          "height": 48
                        },
                        "tools": {
                          "Construct": "mic-base_Construct",
                          "LocalMask": "mic-base_LocalMask",
                          "AnchorShift": "mic-base_AnchorShift",
                          "ScaleRotate": "mic-base_ScaleRotate",
                          "Position": "mic-base_Position",
                          "Gated": "mic-base_Gated",
                          "Merge": "mic-base_Merge"
                        },
                        "connections": [
                          "mic-base_Construct -> mic-base_LocalMask -> mic-base_AnchorShift -> mic-base_ScaleRotate -> mic-base_Position -> mic-base_Gated -> mic-base_Merge.Foreground",
                          "mic-capsule_Merge -> mic-base_Merge.Background"
                        ],
                        "mask": {
                          "overflow": "visible",
                          "clip": null,
                          "cornerRadiusPx": 0,
                          "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                        },
                        "construction": "Native closed Polygon masks for the absolute M/L/H/V/Z path subpaths, mapped from the stated viewBox. Preserve winding: inner bookmark contour subtracts from the outer contour. No freehand tracing. Fill only; raw path remains exact editable code."
                      }
                    ],
                    "constructInput": "mic-base_Merge",
                    "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
                  }
                ],
                "constructInput": "composer-microphone_Merge",
                "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
              },
              {
                "layerId": "row-4",
                "kind": "group",
                "recipePointer": "/layers/1/children/0/children/0/children/4",
                "parentLayerId": "cycling-list",
                "mergeIndex": 4,
                "nodeId": "row-4_Merge",
                "output": "row-4_Merge",
                "backgroundInput": "row-3_Merge",
                "foregroundInput": "row-4_Gated",
                "activeLocalFrames": [
                  210,
                  298
                ],
                "effectiveActiveLocalFrames": [
                  210,
                  298
                ],
                "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                "staticControls": {
                  "start": 210,
                  "end": 298,
                  "x": 260,
                  "y": 1068,
                  "width": 1400,
                  "height": 168
                },
                "rawNumericControls": {
                  "x": 260,
                  "y": 1068,
                  "width": 1400,
                  "height": 168,
                  "opacity": [
                    {
                      "frame": 56,
                      "value": 0,
                      "easing": "hold"
                    },
                    {
                      "frame": 210,
                      "value": 0,
                      "easing": "smooth"
                    },
                    {
                      "frame": 234,
                      "value": 0.42,
                      "easing": "hold"
                    },
                    {
                      "frame": 278,
                      "value": 0.42,
                      "easing": "smooth"
                    },
                    {
                      "frame": 298,
                      "value": 0,
                      "easing": "smooth"
                    }
                  ]
                },
                "tools": {
                  "Construct": "row-4_Construct",
                  "LocalMask": "row-4_LocalMask",
                  "AnchorShift": "row-4_AnchorShift",
                  "ScaleRotate": "row-4_ScaleRotate",
                  "Position": "row-4_Position",
                  "Gated": "row-4_Gated",
                  "Merge": "row-4_Merge"
                },
                "connections": [
                  "row-4_Construct -> row-4_LocalMask -> row-4_AnchorShift -> row-4_ScaleRotate -> row-4_Position -> row-4_Gated -> row-4_Merge.Foreground",
                  "row-3_Merge -> row-4_Merge.Background"
                ],
                "mask": {
                  "overflow": "visible",
                  "clip": null,
                  "cornerRadiusPx": 0,
                  "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                },
                "children": [
                  {
                    "layerId": "row-4-surface",
                    "kind": "rect",
                    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0",
                    "parentLayerId": "row-4",
                    "mergeIndex": 0,
                    "nodeId": "row-4-surface_Merge",
                    "output": "row-4-surface_Merge",
                    "backgroundInput": "row-4_Transparent",
                    "foregroundInput": "row-4-surface_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      210,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "fill": "$surface",
                      "radius": 84
                    },
                    "rawNumericControls": {
                      "x": 0,
                      "y": 0,
                      "width": 1400,
                      "height": 168,
                      "radius": 84
                    },
                    "tools": {
                      "Construct": "row-4-surface_Construct",
                      "LocalMask": "row-4-surface_LocalMask",
                      "AnchorShift": "row-4-surface_AnchorShift",
                      "ScaleRotate": "row-4-surface_ScaleRotate",
                      "Position": "row-4-surface_Position",
                      "Gated": "row-4-surface_Gated",
                      "Merge": "row-4-surface_Merge"
                    },
                    "connections": [
                      "row-4-surface_Construct -> row-4-surface_LocalMask -> row-4-surface_AnchorShift -> row-4-surface_ScaleRotate -> row-4-surface_Position -> row-4-surface_Gated -> row-4-surface_Merge.Foreground",
                      "row-4_Transparent -> row-4-surface_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 84,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius."
                  },
                  {
                    "layerId": "row-4-mark",
                    "kind": "image",
                    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1",
                    "parentLayerId": "row-4",
                    "mergeIndex": 1,
                    "nodeId": "row-4-mark_Merge",
                    "output": "row-4-mark_Merge",
                    "backgroundInput": "row-4-surface_Merge",
                    "foregroundInput": "row-4-mark_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      210,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "suggestionMark",
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "fit": "contain",
                      "opacity": 1
                    },
                    "rawNumericControls": {
                      "x": 52,
                      "y": 56,
                      "width": 56,
                      "height": 56,
                      "opacity": 1
                    },
                    "tools": {
                      "Construct": "row-4-mark_Construct",
                      "LocalMask": "row-4-mark_LocalMask",
                      "AnchorShift": "row-4-mark_AnchorShift",
                      "ScaleRotate": "row-4-mark_ScaleRotate",
                      "Position": "row-4-mark_Position",
                      "Gated": "row-4-mark_Gated",
                      "Merge": "row-4-mark_Merge"
                    },
                    "connections": [
                      "row-4-mark_Construct -> row-4-mark_LocalMask -> row-4-mark_AnchorShift -> row-4-mark_ScaleRotate -> row-4-mark_Position -> row-4-mark_Gated -> row-4-mark_Merge.Foreground",
                      "row-4-surface_Merge -> row-4-mark_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      },
                      "adaptation": {
                        "kind": "image",
                        "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg",
                        "width": 64,
                        "height": 64,
                        "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources."
                      }
                    },
                    "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader."
                  },
                  {
                    "layerId": "row-4-copy",
                    "kind": "text",
                    "recipePointer": "/layers/1/children/0/children/0/children/4/children/2",
                    "parentLayerId": "row-4",
                    "mergeIndex": 2,
                    "nodeId": "row-4-copy_Merge",
                    "output": "row-4-copy_Merge",
                    "backgroundInput": "row-4-mark_Merge",
                    "foregroundInput": "row-4-copy_Gated",
                    "activeLocalFrames": [
                      0,
                      420
                    ],
                    "effectiveActiveLocalFrames": [
                      210,
                      298
                    ],
                    "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.",
                    "staticControls": {
                      "start": 0,
                      "end": 420,
                      "slot": "row4",
                      "x": 168,
                      "y": 48,
                      "width": 1178,
                      "height": 80,
                      "fontSize": 54,
                      "weight": 400,
                      "lineHeight": 1.2,
                      "color": "$ink"
                    },
                    "rawNumericControls": {
                      "x": 168,
                      "y": 48,
                      "width": 1178,
                      "height": 80
                    },
                    "tools": {
                      "Construct": "row-4-copy_Construct",
                      "LocalMask": "row-4-copy_LocalMask",
                      "AnchorShift": "row-4-copy_AnchorShift",
                      "ScaleRotate": "row-4-copy_ScaleRotate",
                      "Position": "row-4-copy_Position",
                      "Gated": "row-4-copy_Gated",
                      "Merge": "row-4-copy_Merge"
                    },
                    "connections": [
                      "row-4-copy_Construct -> row-4-copy_LocalMask -> row-4-copy_AnchorShift -> row-4-copy_ScaleRotate -> row-4-copy_Position -> row-4-copy_Gated -> row-4-copy_Merge.Foreground",
                      "row-4-mark_Merge -> row-4-copy_Merge.Background"
                    ],
                    "mask": {
                      "overflow": "visible",
                      "clip": null,
                      "cornerRadiusPx": 0,
                      "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping."
                    },
                    "content": {
                      "defaults": "Help me learn...",
                      "adaptation": "Give me a prompt..."
                    },
                    "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.",
                    "textControls": {
                      "font": "Geist",
                      "fontFile": "project/public/fonts/Geist.ttf",
                      "weight": 400,
                      "fontSizePx": 54,
                      "lineAdvancePx": 64.8,
                      "trackingPx": 0,
                      "alignment": "left",
                      "verticalAlignment": "top",
                      "nominalTextPlusSizeStartingEstimate": 0.01318359375,
                      "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.",
                      "reveal": null,
                      "prefix": "",
                      "suffix": ""
                    }
                  }
                ],
                "constructInput": "row-4-copy_Merge",
                "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
              }
            ],
            "constructInput": "row-4_Merge",
            "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
          }
        ],
        "constructInput": "cycling-list_Merge",
        "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
      }
    ],
    "constructInput": "stack-viewport_Merge",
    "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children."
  }
]

svgSubgraphs
{
  "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg": {
    "viewBox": [
      0.0,
      0.0,
      64.0,
      64.0
    ],
    "prefixRule": "Prefix every primitive/node name with the consuming layerId; repeated uses remain editable independent instances.",
    "primitives": [
      {
        "id": "Primitive00",
        "kind": "rect",
        "geometry": {
          "centerPx": [
            32.0,
            32.0
          ],
          "sizePx": [
            58.0,
            58.0
          ],
          "cornerRadiusPx": 14.0
        },
        "fill": "#c86d46",
        "alpha": 1.0,
        "tools": [
          "Rectangle",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive00_Mask",
          "foreground": "Primitive00_Paint",
          "background": "Transparent",
          "output": "Primitive00_Merge"
        },
        "svgAttributes": {
          "x": "3",
          "y": "3",
          "width": "58",
          "height": "58",
          "rx": "14",
          "fill": "#c86d46"
        }
      },
      {
        "id": "Primitive01",
        "kind": "polygon",
        "geometry": {
          "verticesPx": [
            [
              15.0,
              18.0
            ],
            [
              32.0,
              11.0
            ],
            [
              49.0,
              18.0
            ],
            [
              49.0,
              47.0
            ],
            [
              32.0,
              54.0
            ],
            [
              15.0,
              47.0
            ]
          ],
          "closed": true
        },
        "fill": "#ffffff",
        "alpha": 1.0,
        "tools": [
          "Polygon",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive01_Mask",
          "foreground": "Primitive01_Paint",
          "background": "Primitive00_Merge",
          "output": "Primitive01_Merge"
        },
        "svgAttributes": {
          "points": "15,18 32,11 49,18 49,47 32,54 15,47",
          "fill": "#ffffff"
        }
      },
      {
        "id": "Primitive02",
        "kind": "rect",
        "geometry": {
          "centerPx": [
            32.0,
            32.0
          ],
          "sizePx": [
            6.0,
            28.0
          ],
          "cornerRadiusPx": 0.0
        },
        "fill": "#c86d46",
        "alpha": 1.0,
        "tools": [
          "Rectangle",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive02_Mask",
          "foreground": "Primitive02_Paint",
          "background": "Primitive01_Merge",
          "output": "Primitive02_Merge"
        },
        "svgAttributes": {
          "x": "29",
          "y": "18",
          "width": "6",
          "height": "28",
          "fill": "#c86d46"
        }
      }
    ],
    "output": "Primitive02_Merge",
    "fit": "Contain, centered in consuming box. factor=min(boxWidth/viewBoxWidth,boxHeight/viewBoxHeight); letterbox offsets=(boxSize-factor*viewBoxSize)/2. Map primitive geometry through factor/offset before layer transform.",
    "input": "Transparent padded working domain; no raster Loader or source frame."
  },
  "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg": {
    "viewBox": [
      0.0,
      0.0,
      64.0,
      64.0
    ],
    "prefixRule": "Prefix every primitive/node name with the consuming layerId; repeated uses remain editable independent instances.",
    "primitives": [
      {
        "id": "Primitive00",
        "kind": "rect",
        "geometry": {
          "centerPx": [
            32.0,
            32.0
          ],
          "sizePx": [
            58.0,
            58.0
          ],
          "cornerRadiusPx": 14.0
        },
        "fill": "#ad702d",
        "alpha": 1.0,
        "tools": [
          "Rectangle",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive00_Mask",
          "foreground": "Primitive00_Paint",
          "background": "Transparent",
          "output": "Primitive00_Merge"
        },
        "svgAttributes": {
          "x": "3",
          "y": "3",
          "width": "58",
          "height": "58",
          "rx": "14",
          "fill": "#ad702d"
        }
      },
      {
        "id": "Primitive01",
        "kind": "circle",
        "geometry": {
          "centerPx": [
            23.0,
            23.0
          ],
          "sizePx": [
            16.0,
            16.0
          ]
        },
        "fill": "#ffffff",
        "alpha": 1.0,
        "tools": [
          "Ellipse",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive01_Mask",
          "foreground": "Primitive01_Paint",
          "background": "Primitive00_Merge",
          "output": "Primitive01_Merge"
        },
        "svgAttributes": {
          "cx": "23",
          "cy": "23",
          "r": "8",
          "fill": "#ffffff"
        }
      },
      {
        "id": "Primitive02",
        "kind": "circle",
        "geometry": {
          "centerPx": [
            43.0,
            41.0
          ],
          "sizePx": [
            18.0,
            18.0
          ]
        },
        "fill": "#ffffff",
        "alpha": 1.0,
        "tools": [
          "Ellipse",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive02_Mask",
          "foreground": "Primitive02_Paint",
          "background": "Primitive01_Merge",
          "output": "Primitive02_Merge"
        },
        "svgAttributes": {
          "cx": "43",
          "cy": "41",
          "r": "9",
          "fill": "#ffffff"
        }
      },
      {
        "id": "Primitive03",
        "kind": "rect",
        "geometry": {
          "centerPx": [
            23.0,
            43.5
          ],
          "sizePx": [
            6.0,
            15.0
          ],
          "cornerRadiusPx": 2.0
        },
        "fill": "#ffffff",
        "alpha": 1.0,
        "tools": [
          "Rectangle",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive03_Mask",
          "foreground": "Primitive03_Paint",
          "background": "Primitive02_Merge",
          "output": "Primitive03_Merge"
        },
        "svgAttributes": {
          "x": "20",
          "y": "36",
          "width": "6",
          "height": "15",
          "rx": "2",
          "fill": "#ffffff"
        }
      },
      {
        "id": "Primitive04",
        "kind": "rect",
        "geometry": {
          "centerPx": [
            43.0,
            16.0
          ],
          "sizePx": [
            10.0,
            6.0
          ],
          "cornerRadiusPx": 2.0
        },
        "fill": "#ffffff",
        "alpha": 1.0,
        "tools": [
          "Rectangle",
          "Background",
          "Merge"
        ],
        "connections": {
          "mask": "Primitive04_Mask",
          "foreground": "Primitive04_Paint",
          "background": "Primitive03_Merge",
          "output": "Primitive04_Merge"
        },
        "svgAttributes": {
          "x": "38",
          "y": "13",
          "width": "10",
          "height": "6",
          "rx": "2",
          "fill": "#ffffff"
        }
      }
    ],
    "output": "Primitive04_Merge",
    "fit": "Contain, centered in consuming box. factor=min(boxWidth/viewBoxWidth,boxHeight/viewBoxHeight); letterbox offsets=(boxSize-factor*viewBoxSize)/2. Map primitive geometry through factor/offset before layer transform.",
    "input": "Transparent padded working domain; no raster Loader or source frame."
  }
}

tracks
[
  {
    "layerId": "phone-context",
    "parentId": null,
    "property": "width",
    "recipePointer": "/layers/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1920,
    "maximum": 1920,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1920
  },
  {
    "layerId": "phone-context",
    "parentId": null,
    "property": "height",
    "recipePointer": "/layers/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1080,
    "maximum": 1080,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1080
  },
  {
    "layerId": "intro-shell",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 448,
    "maximum": 448,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 448
  },
  {
    "layerId": "intro-shell",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": -760,
    "maximum": -760,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": -760
  },
  {
    "layerId": "intro-shell",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1024,
    "maximum": 1024,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1024
  },
  {
    "layerId": "intro-shell",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1712,
    "maximum": 1712,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1712
  },
  {
    "layerId": "intro-shell",
    "parentId": "phone-context",
    "property": "radius",
    "recipePointer": "/layers/0/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 150,
    "maximum": 150,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 150
  },
  {
    "layerId": "intro-screen",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 480,
    "maximum": 480,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 480
  },
  {
    "layerId": "intro-screen",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": -728,
    "maximum": -728,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": -728
  },
  {
    "layerId": "intro-screen",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 960,
    "maximum": 960,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 960
  },
  {
    "layerId": "intro-screen",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1648,
    "maximum": 1648,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1648
  },
  {
    "layerId": "intro-screen",
    "parentId": "phone-context",
    "property": "radius",
    "recipePointer": "/layers/0/children/1/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 118,
    "maximum": 118,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 118
  },
  {
    "layerId": "intro-card-fragment",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 520,
    "maximum": 520,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 520
  },
  {
    "layerId": "intro-card-fragment",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": -270,
    "maximum": -270,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": -270
  },
  {
    "layerId": "intro-card-fragment",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-card-fragment",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 410,
    "maximum": 410,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 410
  },
  {
    "layerId": "intro-card-fragment",
    "parentId": "phone-context",
    "property": "radius",
    "recipePointer": "/layers/0/children/2/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 44,
    "maximum": 44,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 44
  },
  {
    "layerId": "intro-mark",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 568,
    "maximum": 568,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 568
  },
  {
    "layerId": "intro-mark",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 34,
    "maximum": 34,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 34
  },
  {
    "layerId": "intro-mark",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "intro-mark",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "intro-heading",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/4/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 520,
    "maximum": 520,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 520
  },
  {
    "layerId": "intro-heading",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/4/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 233,
    "maximum": 233,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 233
  },
  {
    "layerId": "intro-heading",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/4/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-heading",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/4/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 70,
    "maximum": 70,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 70
  },
  {
    "layerId": "intro-body",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/5/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 520,
    "maximum": 520,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 520
  },
  {
    "layerId": "intro-body",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/5/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 354,
    "maximum": 354,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 354
  },
  {
    "layerId": "intro-body",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/5/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-body",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/5/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 190,
    "maximum": 190,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 190
  },
  {
    "layerId": "intro-question",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/6/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 520,
    "maximum": 520,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 520
  },
  {
    "layerId": "intro-question",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/6/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 599,
    "maximum": 599,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 599
  },
  {
    "layerId": "intro-question",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/6/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-question",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/6/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 70,
    "maximum": 70,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 70
  },
  {
    "layerId": "intro-action",
    "parentId": "phone-context",
    "property": "x",
    "recipePointer": "/layers/0/children/7/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 520,
    "maximum": 520,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 520
  },
  {
    "layerId": "intro-action",
    "parentId": "phone-context",
    "property": "y",
    "recipePointer": "/layers/0/children/7/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 730,
    "maximum": 730,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 730
  },
  {
    "layerId": "intro-action",
    "parentId": "phone-context",
    "property": "width",
    "recipePointer": "/layers/0/children/7/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-action",
    "parentId": "phone-context",
    "property": "height",
    "recipePointer": "/layers/0/children/7/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 136,
    "maximum": 136,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 136
  },
  {
    "layerId": "intro-action",
    "parentId": "phone-context",
    "property": "scale",
    "recipePointer": "/layers/0/children/7/scale",
    "animated": true,
    "keyCount": 4,
    "minimum": 0.96,
    "maximum": 1,
    "nativeMapping": "ScaleRotate.Size=scale",
    "rawTrack": [
      {
        "frame": 0,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 39,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 45,
        "value": 0.96,
        "easing": "smooth"
      },
      {
        "frame": 52,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "intro-action-bg",
    "parentId": "intro-action",
    "property": "x",
    "recipePointer": "/layers/0/children/7/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "intro-action-bg",
    "parentId": "intro-action",
    "property": "y",
    "recipePointer": "/layers/0/children/7/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "intro-action-bg",
    "parentId": "intro-action",
    "property": "width",
    "recipePointer": "/layers/0/children/7/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 880,
    "maximum": 880,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 880
  },
  {
    "layerId": "intro-action-bg",
    "parentId": "intro-action",
    "property": "height",
    "recipePointer": "/layers/0/children/7/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 136,
    "maximum": 136,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 136
  },
  {
    "layerId": "intro-action-bg",
    "parentId": "intro-action",
    "property": "radius",
    "recipePointer": "/layers/0/children/7/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 68,
    "maximum": 68,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 68
  },
  {
    "layerId": "intro-action-text",
    "parentId": "intro-action",
    "property": "x",
    "recipePointer": "/layers/0/children/7/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 156,
    "maximum": 156,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 156
  },
  {
    "layerId": "intro-action-text",
    "parentId": "intro-action",
    "property": "y",
    "recipePointer": "/layers/0/children/7/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 43,
    "maximum": 43,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 43
  },
  {
    "layerId": "intro-action-text",
    "parentId": "intro-action",
    "property": "width",
    "recipePointer": "/layers/0/children/7/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 674,
    "maximum": 674,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 674
  },
  {
    "layerId": "intro-action-text",
    "parentId": "intro-action",
    "property": "height",
    "recipePointer": "/layers/0/children/7/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 66,
    "maximum": 66,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 66
  },
  {
    "layerId": "intro-action-mark",
    "parentId": "intro-action",
    "property": "x",
    "recipePointer": "/layers/0/children/7/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 72,
    "maximum": 72,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 72
  },
  {
    "layerId": "intro-action-mark",
    "parentId": "intro-action",
    "property": "y",
    "recipePointer": "/layers/0/children/7/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 38,
    "maximum": 38,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 38
  },
  {
    "layerId": "intro-action-mark",
    "parentId": "intro-action",
    "property": "width",
    "recipePointer": "/layers/0/children/7/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 60,
    "maximum": 60,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 60
  },
  {
    "layerId": "intro-action-mark",
    "parentId": "intro-action",
    "property": "height",
    "recipePointer": "/layers/0/children/7/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 60,
    "maximum": 60,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 60
  },
  {
    "layerId": "suggestion-scene",
    "parentId": null,
    "property": "width",
    "recipePointer": "/layers/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1920,
    "maximum": 1920,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1920
  },
  {
    "layerId": "suggestion-scene",
    "parentId": null,
    "property": "height",
    "recipePointer": "/layers/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1080,
    "maximum": 1080,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1080
  },
  {
    "layerId": "suggestion-scene",
    "parentId": null,
    "property": "scale",
    "recipePointer": "/layers/1/scale",
    "animated": true,
    "keyCount": 2,
    "minimum": 0.84,
    "maximum": 1,
    "nativeMapping": "ScaleRotate.Size=scale",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0.84,
        "easing": "smooth"
      },
      {
        "frame": 88,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "suggestion-scene",
    "parentId": null,
    "property": "opacity",
    "recipePointer": "/layers/1/opacity",
    "animated": true,
    "keyCount": 2,
    "minimum": 0.55,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0.55,
        "easing": "smooth"
      },
      {
        "frame": 66,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "x",
    "recipePointer": "/layers/1/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "y",
    "recipePointer": "/layers/1/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "width",
    "recipePointer": "/layers/1/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1920,
    "maximum": 1920,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1920
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "height",
    "recipePointer": "/layers/1/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1080,
    "maximum": 1080,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1080
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "clip.top",
    "recipePointer": "/layers/1/children/0/clip/top",
    "animated": false,
    "keyCount": 1,
    "minimum": 154,
    "maximum": 154,
    "nativeMapping": "Local mask top edge in pixels",
    "rawTrack": 154
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "clip.right",
    "recipePointer": "/layers/1/children/0/clip/right",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Local mask right inset in pixels",
    "rawTrack": 0
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "clip.bottom",
    "recipePointer": "/layers/1/children/0/clip/bottom",
    "animated": false,
    "keyCount": 1,
    "minimum": 144,
    "maximum": 144,
    "nativeMapping": "Local mask bottom inset in pixels",
    "rawTrack": 144
  },
  {
    "layerId": "stack-viewport",
    "parentId": "suggestion-scene",
    "property": "clip.left",
    "recipePointer": "/layers/1/children/0/clip/left",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Local mask left edge in pixels",
    "rawTrack": 0
  },
  {
    "layerId": "cycling-list",
    "parentId": "stack-viewport",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/y",
    "animated": true,
    "keyCount": 5,
    "minimum": -408,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 0,
        "easing": "smooth"
      },
      {
        "frame": 144,
        "value": -204,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": -204,
        "easing": "smooth"
      },
      {
        "frame": 234,
        "value": -408,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "cycling-list",
    "parentId": "stack-viewport",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1920,
    "maximum": 1920,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1920
  },
  {
    "layerId": "cycling-list",
    "parentId": "stack-viewport",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 1500,
    "maximum": 1500,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 1500
  },
  {
    "layerId": "row-0",
    "parentId": "cycling-list",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 260,
    "maximum": 260,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 260
  },
  {
    "layerId": "row-0",
    "parentId": "cycling-list",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 252,
    "maximum": 252,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 252
  },
  {
    "layerId": "row-0",
    "parentId": "cycling-list",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-0",
    "parentId": "cycling-list",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-0",
    "parentId": "cycling-list",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/0/opacity",
    "animated": true,
    "keyCount": 3,
    "minimum": 0,
    "maximum": 0.42,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 140,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-0-surface",
    "parentId": "row-0",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-0-surface",
    "parentId": "row-0",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-0-surface",
    "parentId": "row-0",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-0-surface",
    "parentId": "row-0",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-0-surface",
    "parentId": "row-0",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 84,
    "maximum": 84,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 84
  },
  {
    "layerId": "row-0-mark",
    "parentId": "row-0",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "row-0-mark",
    "parentId": "row-0",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 56
  },
  {
    "layerId": "row-0-mark",
    "parentId": "row-0",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-0-mark",
    "parentId": "row-0",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-0-mark",
    "parentId": "row-0",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/opacity",
    "animated": false,
    "keyCount": 1,
    "minimum": 1,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": 1
  },
  {
    "layerId": "row-0-copy",
    "parentId": "row-0",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 168
  },
  {
    "layerId": "row-0-copy",
    "parentId": "row-0",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-0-copy",
    "parentId": "row-0",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1178,
    "maximum": 1178,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1178
  },
  {
    "layerId": "row-0-copy",
    "parentId": "row-0",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "row-1",
    "parentId": "cycling-list",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 260,
    "maximum": 260,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 260
  },
  {
    "layerId": "row-1",
    "parentId": "cycling-list",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 456,
    "maximum": 456,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 456
  },
  {
    "layerId": "row-1",
    "parentId": "cycling-list",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-1",
    "parentId": "cycling-list",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-1",
    "parentId": "cycling-list",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/1/opacity",
    "animated": true,
    "keyCount": 5,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 144,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 230,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-1-surface",
    "parentId": "row-1",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-1-surface",
    "parentId": "row-1",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-1-surface",
    "parentId": "row-1",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-1-surface",
    "parentId": "row-1",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-1-surface",
    "parentId": "row-1",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 84,
    "maximum": 84,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 84
  },
  {
    "layerId": "row-1-mark",
    "parentId": "row-1",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "row-1-mark",
    "parentId": "row-1",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 56
  },
  {
    "layerId": "row-1-mark",
    "parentId": "row-1",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-1-mark",
    "parentId": "row-1",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-1-mark",
    "parentId": "row-1",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/opacity",
    "animated": false,
    "keyCount": 1,
    "minimum": 1,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": 1
  },
  {
    "layerId": "row-1-copy",
    "parentId": "row-1",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 168
  },
  {
    "layerId": "row-1-copy",
    "parentId": "row-1",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-1-copy",
    "parentId": "row-1",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 430,
    "maximum": 430,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 430
  },
  {
    "layerId": "row-1-copy",
    "parentId": "row-1",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "row-1-topic",
    "parentId": "row-1",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 620,
    "maximum": 620,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 620
  },
  {
    "layerId": "row-1-topic",
    "parentId": "row-1",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-1-topic",
    "parentId": "row-1",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 726,
    "maximum": 726,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 726
  },
  {
    "layerId": "row-1-topic",
    "parentId": "row-1",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "row-1-topic",
    "parentId": "row-1",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/opacity",
    "animated": true,
    "keyCount": 3,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 140,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-2",
    "parentId": "cycling-list",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 260,
    "maximum": 260,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 260
  },
  {
    "layerId": "row-2",
    "parentId": "cycling-list",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 660,
    "maximum": 660,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 660
  },
  {
    "layerId": "row-2",
    "parentId": "cycling-list",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-2",
    "parentId": "cycling-list",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-2",
    "parentId": "cycling-list",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/2/opacity",
    "animated": true,
    "keyCount": 7,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 144,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 234,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 278,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 298,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-2-surface",
    "parentId": "row-2",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-2-surface",
    "parentId": "row-2",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-2-surface",
    "parentId": "row-2",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-2-surface",
    "parentId": "row-2",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-2-surface",
    "parentId": "row-2",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 84,
    "maximum": 84,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 84
  },
  {
    "layerId": "row-2-mark",
    "parentId": "row-2",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "row-2-mark",
    "parentId": "row-2",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 56
  },
  {
    "layerId": "row-2-mark",
    "parentId": "row-2",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-2-mark",
    "parentId": "row-2",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-2-mark",
    "parentId": "row-2",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/opacity",
    "animated": false,
    "keyCount": 1,
    "minimum": 1,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": 1
  },
  {
    "layerId": "row-2-copy",
    "parentId": "row-2",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 168
  },
  {
    "layerId": "row-2-copy",
    "parentId": "row-2",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-2-copy",
    "parentId": "row-2",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 430,
    "maximum": 430,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 430
  },
  {
    "layerId": "row-2-copy",
    "parentId": "row-2",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "row-2-topic",
    "parentId": "row-2",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 620,
    "maximum": 620,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 620
  },
  {
    "layerId": "row-2-topic",
    "parentId": "row-2",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-2-topic",
    "parentId": "row-2",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 726,
    "maximum": 726,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 726
  },
  {
    "layerId": "row-2-topic",
    "parentId": "row-2",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "row-2-topic",
    "parentId": "row-2",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/opacity",
    "animated": true,
    "keyCount": 4,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 120,
        "value": 0,
        "easing": "smooth"
      },
      {
        "frame": 132,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 230,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-3",
    "parentId": "cycling-list",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 260,
    "maximum": 260,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 260
  },
  {
    "layerId": "row-3",
    "parentId": "cycling-list",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 864,
    "maximum": 864,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 864
  },
  {
    "layerId": "row-3",
    "parentId": "cycling-list",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-3",
    "parentId": "cycling-list",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-3",
    "parentId": "cycling-list",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/3/opacity",
    "animated": true,
    "keyCount": 5,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0,
        "easing": "hold"
      },
      {
        "frame": 120,
        "value": 0,
        "easing": "smooth"
      },
      {
        "frame": 144,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 234,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-3-surface",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-3-surface",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-3-surface",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-3-surface",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-3-surface",
    "parentId": "row-3",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 84,
    "maximum": 84,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 84
  },
  {
    "layerId": "row-3-mark",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "row-3-mark",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 56
  },
  {
    "layerId": "row-3-mark",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-3-mark",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-3-mark",
    "parentId": "row-3",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/opacity",
    "animated": true,
    "keyCount": 3,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 0,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 298,
        "value": 1,
        "easing": "smooth"
      },
      {
        "frame": 309,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-3-copy",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/x",
    "animated": true,
    "keyCount": 3,
    "minimum": 62,
    "maximum": 168,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": [
      {
        "frame": 0,
        "value": 168,
        "easing": "hold"
      },
      {
        "frame": 300,
        "value": 168,
        "easing": "smooth"
      },
      {
        "frame": 312,
        "value": 62,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-3-copy",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-3-copy",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1178,
    "maximum": 1178,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1178
  },
  {
    "layerId": "row-3-copy",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "typed-request",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 62,
    "maximum": 62,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 62
  },
  {
    "layerId": "typed-request",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "typed-request",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1178,
    "maximum": 1178,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1178
  },
  {
    "layerId": "typed-request",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  },
  {
    "layerId": "idle-caret",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 62,
    "maximum": 62,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 62
  },
  {
    "layerId": "idle-caret",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 53,
    "maximum": 53,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 53
  },
  {
    "layerId": "idle-caret",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 3,
    "maximum": 3,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 3
  },
  {
    "layerId": "idle-caret",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 62,
    "maximum": 62,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 62
  },
  {
    "layerId": "idle-caret",
    "parentId": "row-3",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/opacity",
    "animated": true,
    "keyCount": 3,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 324,
        "value": 1,
        "easing": "hold"
      },
      {
        "frame": 331,
        "value": 0,
        "easing": "hold"
      },
      {
        "frame": 354,
        "value": 1,
        "easing": "hold"
      }
    ]
  },
  {
    "layerId": "composer-voice",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 1250,
    "maximum": 1250,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 1250
  },
  {
    "layerId": "composer-voice",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 20,
    "maximum": 20,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 20
  },
  {
    "layerId": "composer-voice",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 128,
    "maximum": 128,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 128
  },
  {
    "layerId": "composer-voice",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 128,
    "maximum": 128,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 128
  },
  {
    "layerId": "composer-voice",
    "parentId": "row-3",
    "property": "scale",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/scale",
    "animated": true,
    "keyCount": 2,
    "minimum": 0.02,
    "maximum": 1,
    "nativeMapping": "ScaleRotate.Size=scale",
    "rawTrack": [
      {
        "frame": 310,
        "value": 0.02,
        "easing": "smooth"
      },
      {
        "frame": 323,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "voice-disc",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "voice-disc",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "voice-disc",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 128,
    "maximum": 128,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 128
  },
  {
    "layerId": "voice-disc",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 128,
    "maximum": 128,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 128
  },
  {
    "layerId": "voice-bar-0",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 37,
    "maximum": 37,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 37
  },
  {
    "layerId": "voice-bar-0",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 50,
    "maximum": 50,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 50
  },
  {
    "layerId": "voice-bar-0",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 8,
    "maximum": 8,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 8
  },
  {
    "layerId": "voice-bar-0",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 28,
    "maximum": 28,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 28
  },
  {
    "layerId": "voice-bar-0",
    "parentId": "composer-voice",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 4,
    "maximum": 4,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 4
  },
  {
    "layerId": "voice-bar-1",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "voice-bar-1",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 37,
    "maximum": 37,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 37
  },
  {
    "layerId": "voice-bar-1",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 8,
    "maximum": 8,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 8
  },
  {
    "layerId": "voice-bar-1",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 54,
    "maximum": 54,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 54
  },
  {
    "layerId": "voice-bar-1",
    "parentId": "composer-voice",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 4,
    "maximum": 4,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 4
  },
  {
    "layerId": "voice-bar-2",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 67,
    "maximum": 67,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 67
  },
  {
    "layerId": "voice-bar-2",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 50,
    "maximum": 50,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 50
  },
  {
    "layerId": "voice-bar-2",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 8,
    "maximum": 8,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 8
  },
  {
    "layerId": "voice-bar-2",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 28,
    "maximum": 28,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 28
  },
  {
    "layerId": "voice-bar-2",
    "parentId": "composer-voice",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 4,
    "maximum": 4,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 4
  },
  {
    "layerId": "voice-bar-3",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 82,
    "maximum": 82,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 82
  },
  {
    "layerId": "voice-bar-3",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 37,
    "maximum": 37,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 37
  },
  {
    "layerId": "voice-bar-3",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 8,
    "maximum": 8,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 8
  },
  {
    "layerId": "voice-bar-3",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 54,
    "maximum": 54,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 54
  },
  {
    "layerId": "voice-bar-3",
    "parentId": "composer-voice",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 4,
    "maximum": 4,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 4
  },
  {
    "layerId": "send-arrow",
    "parentId": "composer-voice",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 29,
    "maximum": 29,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 29
  },
  {
    "layerId": "send-arrow",
    "parentId": "composer-voice",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 29,
    "maximum": 29,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 29
  },
  {
    "layerId": "send-arrow",
    "parentId": "composer-voice",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 70,
    "maximum": 70,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 70
  },
  {
    "layerId": "send-arrow",
    "parentId": "composer-voice",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 70,
    "maximum": 70,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 70
  },
  {
    "layerId": "composer-microphone",
    "parentId": "row-3",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 1135,
    "maximum": 1135,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 1135
  },
  {
    "layerId": "composer-microphone",
    "parentId": "row-3",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "composer-microphone",
    "parentId": "row-3",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 48
  },
  {
    "layerId": "composer-microphone",
    "parentId": "row-3",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 64,
    "maximum": 64,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 64
  },
  {
    "layerId": "composer-microphone",
    "parentId": "row-3",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/opacity",
    "animated": true,
    "keyCount": 2,
    "minimum": 0,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 310,
        "value": 0,
        "easing": "smooth"
      },
      {
        "frame": 323,
        "value": 1,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "mic-capsule",
    "parentId": "composer-microphone",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 14,
    "maximum": 14,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 14
  },
  {
    "layerId": "mic-capsule",
    "parentId": "composer-microphone",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "mic-capsule",
    "parentId": "composer-microphone",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 20,
    "maximum": 20,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 20
  },
  {
    "layerId": "mic-capsule",
    "parentId": "composer-microphone",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 37,
    "maximum": 37,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 37
  },
  {
    "layerId": "mic-capsule",
    "parentId": "composer-microphone",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 10,
    "maximum": 10,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 10
  },
  {
    "layerId": "mic-base",
    "parentId": "composer-microphone",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "mic-base",
    "parentId": "composer-microphone",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "mic-base",
    "parentId": "composer-microphone",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 48
  },
  {
    "layerId": "mic-base",
    "parentId": "composer-microphone",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 48
  },
  {
    "layerId": "row-4",
    "parentId": "cycling-list",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/4/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 260,
    "maximum": 260,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 260
  },
  {
    "layerId": "row-4",
    "parentId": "cycling-list",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/4/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 1068,
    "maximum": 1068,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 1068
  },
  {
    "layerId": "row-4",
    "parentId": "cycling-list",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/4/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-4",
    "parentId": "cycling-list",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/4/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-4",
    "parentId": "cycling-list",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/4/opacity",
    "animated": true,
    "keyCount": 5,
    "minimum": 0,
    "maximum": 0.42,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": [
      {
        "frame": 56,
        "value": 0,
        "easing": "hold"
      },
      {
        "frame": 210,
        "value": 0,
        "easing": "smooth"
      },
      {
        "frame": 234,
        "value": 0.42,
        "easing": "hold"
      },
      {
        "frame": 278,
        "value": 0.42,
        "easing": "smooth"
      },
      {
        "frame": 298,
        "value": 0,
        "easing": "smooth"
      }
    ]
  },
  {
    "layerId": "row-4-surface",
    "parentId": "row-4",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-4-surface",
    "parentId": "row-4",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 0,
    "maximum": 0,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 0
  },
  {
    "layerId": "row-4-surface",
    "parentId": "row-4",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1400,
    "maximum": 1400,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1400
  },
  {
    "layerId": "row-4-surface",
    "parentId": "row-4",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 168
  },
  {
    "layerId": "row-4-surface",
    "parentId": "row-4",
    "property": "radius",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/radius",
    "animated": false,
    "keyCount": 1,
    "minimum": 84,
    "maximum": 84,
    "nativeMapping": "Pixel corner radius; use rounded-mask construction",
    "rawTrack": 84
  },
  {
    "layerId": "row-4-mark",
    "parentId": "row-4",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 52,
    "maximum": 52,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 52
  },
  {
    "layerId": "row-4-mark",
    "parentId": "row-4",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 56
  },
  {
    "layerId": "row-4-mark",
    "parentId": "row-4",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-4-mark",
    "parentId": "row-4",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 56,
    "maximum": 56,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 56
  },
  {
    "layerId": "row-4-mark",
    "parentId": "row-4",
    "property": "opacity",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/opacity",
    "animated": false,
    "keyCount": 1,
    "minimum": 1,
    "maximum": 1,
    "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly",
    "rawTrack": 1
  },
  {
    "layerId": "row-4-copy",
    "parentId": "row-4",
    "property": "x",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/x",
    "animated": false,
    "keyCount": 1,
    "minimum": 168,
    "maximum": 168,
    "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096",
    "rawTrack": 168
  },
  {
    "layerId": "row-4-copy",
    "parentId": "row-4",
    "property": "y",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/y",
    "animated": false,
    "keyCount": 1,
    "minimum": 48,
    "maximum": 48,
    "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096",
    "rawTrack": 48
  },
  {
    "layerId": "row-4-copy",
    "parentId": "row-4",
    "property": "width",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/width",
    "animated": false,
    "keyCount": 1,
    "minimum": 1178,
    "maximum": 1178,
    "nativeMapping": "Local geometry width in pixels; do not resize children",
    "rawTrack": 1178
  },
  {
    "layerId": "row-4-copy",
    "parentId": "row-4",
    "property": "height",
    "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/height",
    "animated": false,
    "keyCount": 1,
    "minimum": 80,
    "maximum": 80,
    "nativeMapping": "Local geometry height in pixels; do not resize children",
    "rawTrack": 80
  }
]

steps
[
  "0–55: retain the phone-footer context and a 39–52 button press/release. At 56 cut to suggestions. Do not trim this lead to make the collapse start earlier.",
  "56–88: stack scales .84→1 around (960,540). Rows are 1400×168px, pitch 204px, inside a fixed clip; visible text is live.",
  "120–144: list shifts −204px; the initially lower row becomes central. 210–234: shift reaches −408px and the free-note row becomes central. A fourth row can overlap the visibility fringe during travel; this is one stack treatment.",
  "278–298: top/bottom rows clear while the middle surface remains. 298–309: its leading mark fades; 300–312: its placeholder moves 168→62px locally. Controls grow separately at 310–323.",
  "324–361: empty placeholder/caret phase. At 362, placeholder and microphone/voice bars switch off and send arrow/typed layer switch on. Characters arrive at 363+2n, n=0…28. Local 419 shows only 29 characters, not the entire supplied sentence; no submit follows."
]

checkpoints
[
  {
    "localFrame": 0,
    "excerptFrame": 0,
    "sourceFrame": 3060,
    "nominalSourceSeconds": 51.0,
    "expected": "Phone footer, not suggestion rows."
  },
  {
    "localFrame": 40,
    "excerptFrame": 40,
    "sourceFrame": 3100,
    "nominalSourceSeconds": 51.666666666666664,
    "expected": "Footer button press phase."
  },
  {
    "localFrame": 55,
    "excerptFrame": 55,
    "sourceFrame": 3115,
    "nominalSourceSeconds": 51.916666666666664,
    "expected": "Last phone-context frame."
  },
  {
    "localFrame": 56,
    "excerptFrame": 56,
    "sourceFrame": 3116,
    "nominalSourceSeconds": 51.93333333333333,
    "expected": "Cut to suggestion abstraction."
  },
  {
    "localFrame": 88,
    "excerptFrame": 88,
    "sourceFrame": 3148,
    "nominalSourceSeconds": 52.46666666666667,
    "expected": "Stack at full authored scale."
  },
  {
    "localFrame": 120,
    "excerptFrame": 120,
    "sourceFrame": 3180,
    "nominalSourceSeconds": 53.0,
    "expected": "First upward list cycle begins."
  },
  {
    "localFrame": 140,
    "excerptFrame": 140,
    "sourceFrame": 3200,
    "nominalSourceSeconds": 53.333333333333336,
    "expected": "Departing top row gone."
  },
  {
    "localFrame": 144,
    "excerptFrame": 144,
    "sourceFrame": 3204,
    "nominalSourceSeconds": 53.4,
    "expected": "Second subject occupies the center."
  },
  {
    "localFrame": 210,
    "excerptFrame": 210,
    "sourceFrame": 3270,
    "nominalSourceSeconds": 54.5,
    "expected": "Second upward cycle begins."
  },
  {
    "localFrame": 230,
    "excerptFrame": 230,
    "sourceFrame": 3290,
    "nominalSourceSeconds": 54.833333333333336,
    "expected": "Former first selected row gone."
  },
  {
    "localFrame": 234,
    "excerptFrame": 234,
    "sourceFrame": 3294,
    "nominalSourceSeconds": 54.9,
    "expected": "Free-note row at the center."
  },
  {
    "localFrame": 278,
    "excerptFrame": 278,
    "sourceFrame": 3338,
    "nominalSourceSeconds": 55.63333333333333,
    "expected": "Peripheral fade begins."
  },
  {
    "localFrame": 298,
    "excerptFrame": 298,
    "sourceFrame": 3358,
    "nominalSourceSeconds": 55.96666666666667,
    "expected": "Peripheral rows inactive."
  },
  {
    "localFrame": 300,
    "excerptFrame": 300,
    "sourceFrame": 3360,
    "nominalSourceSeconds": 56.0,
    "expected": "Leading mark clears as placeholder starts shifting."
  },
  {
    "localFrame": 309,
    "excerptFrame": 309,
    "sourceFrame": 3369,
    "nominalSourceSeconds": 56.15,
    "expected": "No leading mark."
  },
  {
    "localFrame": 310,
    "excerptFrame": 310,
    "sourceFrame": 3370,
    "nominalSourceSeconds": 56.166666666666664,
    "expected": "Separate voice/microphone growth begins."
  },
  {
    "localFrame": 323,
    "excerptFrame": 323,
    "sourceFrame": 3383,
    "nominalSourceSeconds": 56.38333333333333,
    "expected": "Controls full size."
  },
  {
    "localFrame": 324,
    "excerptFrame": 324,
    "sourceFrame": 3384,
    "nominalSourceSeconds": 56.4,
    "expected": "Placeholder focus/caret phase."
  },
  {
    "localFrame": 361,
    "excerptFrame": 361,
    "sourceFrame": 3421,
    "nominalSourceSeconds": 57.016666666666666,
    "expected": "Last placeholder frame."
  },
  {
    "localFrame": 362,
    "excerptFrame": 362,
    "sourceFrame": 3422,
    "nominalSourceSeconds": 57.03333333333333,
    "expected": "Blank typed layer, send arrow; no first character yet."
  },
  {
    "localFrame": 363,
    "excerptFrame": 363,
    "sourceFrame": 3423,
    "nominalSourceSeconds": 57.05,
    "expected": "First original character."
  },
  {
    "localFrame": 391,
    "excerptFrame": 391,
    "sourceFrame": 3451,
    "nominalSourceSeconds": 57.516666666666666,
    "expected": "15 characters visible."
  },
  {
    "localFrame": 419,
    "excerptFrame": 419,
    "sourceFrame": 3479,
    "nominalSourceSeconds": 57.983333333333334,
    "expected": "29 characters, partial word at source cutoff; no send."
  }
]

limitations
[
  "Suggestion words, symbols, press response, row opacity curves and input cadence are original approximations. The source uses a wand mark and different content; this kit is a promotional motion specimen, not proof of a shipping suggestion/composer interaction.",
  "No worker rendering, browser font measurement or native Resolve execution.",
  "Static all-frame excerpt inspection is not moving review or source-fidelity acceptance."
]
