{
  "schemaVersion": 1,
  "type": "resource",
  "id": "colorion-text-effects",
  "evaluation": {
    "reviewedOn": "2026-10-19",
    "status": "checked",
    "modes": [
      "http",
      "browser",
      "local-fixture"
    ],
    "summary": "The Borealis CSS sample rendered clipped gradient text locally. Its animation continued after reduced motion was requested, leaving one unmet motion-suppression expectation.",
    "reportUrl": "/design-evaluations/resource-colorion-text-effects.json",
    "identity": {
      "target": "colorion-text-effects first public CSS sample",
      "version": "unversioned generated sample",
      "integrity": "sha256:a05960a4f7b3cd5270f645d7922df710a8109d27a42a9b417d172f5967fa386b"
    },
    "environment": [
      "Chromium 155.0.8059.82 on Windows; fresh temporary profile and fresh account-free contexts.",
      "Public HTTPS GET/HEAD requests only; telemetry/auth routes and WebSockets blocked. No account storage or credential environment variables.",
      "Synthetic local inputs only. Package/skill source inspected before execution; no install lifecycle scripts run.",
      "Local package/CSS browser fixtures block real network. Variate additionally uses Node filesystem permissions and a no-network preload."
    ],
    "tests": [
      {
        "name": "Public document and DOM",
        "mode": "browser",
        "method": "Fresh Chromium GET, then inspect rendered controls after hydration delay",
        "result": "pass",
        "observation": "HTTP 200; 70 captured button labels; 0 inputs; 0 canvases."
      },
      {
        "name": "CSS sample generation",
        "mode": "browser",
        "method": "Open first CSS disclosure and inspect code or captured copy output; system clipboard is not written",
        "result": "pass",
        "observation": "Captured 842 UTF-8 bytes; SHA256 a05960a4f7b3cd5270f645d7922df710a8109d27a42a9b417d172f5967fa386b. This verifies disclosed/generated output, not OS clipboard permission."
      },
      {
        "name": "Text-effect render",
        "mode": "local-fixture",
        "method": "Inspect gradient clipping and active CSS animation",
        "result": "pass",
        "observation": "{\"animations\": 1, \"clip\": \"text\", \"color\": \"rgba(0, 0, 0, 0)\"}"
      },
      {
        "name": "Reduced-motion boundary",
        "mode": "local-fixture",
        "method": "Switch prefers-reduced-motion to reduce and count this sample animation",
        "result": "fail",
        "observation": "{\"runningAfterReduce\": 1, \"interpretation\": \"A remaining animation is an unmet motion-suppression expectation for this copied sample, not a full-library verdict.\"}"
      }
    ],
    "security": {
      "scope": "Passive inspection of the public response headers, requested hosts and the named browser sample. Also inspected pinned source and the specified synthetic fixture outputs. No active exploitation, authenticated permissions test or complete security audit.",
      "findings": [
        {
          "level": "concern",
          "basis": "observed",
          "title": "The copied animation does not stop for reduced motion",
          "detail": "The inspected sample defines an infinite animation without a reduced-motion branch. The local fixture still had one running animation after the preference changed."
        }
      ],
      "limits": [
        "No authenticated workspace, private content, production backend permissions or data-retention verification.",
        "One sample only; no forced-colors, print, contrast or complete collection test. No remote font was loaded."
      ]
    },
    "practicalCaveats": [
      "Add a static reduced-motion style and a readable text fallback before using the effect in a headline.",
      "Pin and recheck the selected version or sample before adoption; the observations apply only to the scope and date shown."
    ],
    "limits": [
      "One sample only; no forced-colors, print, contrast or complete collection test. No remote font was loaded.",
      "Fresh-browser restrictions can affect external assets and hydration. Initial failed selectors and limited probes remain in the evidence; they are not blanket product failures."
    ],
    "sources": [
      {
        "label": "Primary public resource",
        "url": "https://text-effects.colorion.co/"
      }
    ]
  }
}
