diff --git a/dogfood/cash-ios-moneybot/build-survey.mjs b/dogfood/cash-ios-moneybot/build-survey.mjs deleted file mode 100644 index 60fb8559..00000000 --- a/dogfood/cash-ios-moneybot/build-survey.mjs +++ /dev/null @@ -1,545 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; -import { dirname, join, relative } from "node:path"; - -const TARGET_ROOT = - "/Users/nahiyan/Development/cash-ios/Code/Features/Moneybot"; -const OUT = - "/Users/nahiyan/Development/ghost/dogfood/cash-ios-moneybot/survey.json"; - -const SOURCE = { - id: "moneybot", - role: "primary", - target: "squareup/cash-ios/Code/Features/Moneybot", - commit: "9dce179a54f", - scanned_at: "2026-05-04T00:00:00Z", - scanner_version: "dogfood-cash-ios-moneybot-1", -}; - -const SOURCES = [ - SOURCE, - { - id: "arcade", - role: "resolver", - target: "squareup/cash-ios/Code/DesignSystem/Arcade", - commit: "9dce179a54f", - scanned_at: SOURCE.scanned_at, - scanner_version: SOURCE.scanner_version, - resolves: ["color", "spacing", "typography", "radius", "components"], - }, - { - id: "arcade-swiftui", - role: "resolver", - target: "squareup/cash-ios/Code/DesignSystem/ArcadeSwiftUI", - commit: "9dce179a54f", - scanned_at: SOURCE.scanned_at, - scanner_version: SOURCE.scanner_version, - resolves: ["swiftui-components", "typography", "spacing", "interaction"], - }, - { - id: "arcade-tokens", - role: "resolver", - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - scanned_at: SOURCE.scanned_at, - scanner_version: SOURCE.scanner_version, - resolves: ["color", "spacing", "typography", "radius", "haptics"], - }, -]; - -const EXCLUDE_PARTS = [ - "/Fakes/", - "Fakes/", - "/DevApp/", - "/UnitTests/", - "/Networking/Proto/", - "/Sources/Resources/en.lproj/", -]; - -function walk(dir, acc = []) { - for (const entry of readdirSync(dir)) { - const path = join(dir, entry); - const rel = `/${relative(TARGET_ROOT, path)}`; - if (EXCLUDE_PARTS.some((part) => rel.includes(part))) continue; - const stat = statSync(path); - if (stat.isDirectory()) { - walk(path, acc); - } else if (/\.(swift|metal|json)$/.test(entry)) { - acc.push(path); - } - } - return acc; -} - -const files = walk(TARGET_ROOT).sort(); -const swiftFiles = files.filter((file) => file.endsWith(".swift")); -const sourceSwiftFiles = swiftFiles.filter((file) => - relative(TARGET_ROOT, file).includes("/Sources/"), -); - -const texts = new Map(files.map((file) => [file, readFileSync(file, "utf8")])); - -function rel(path) { - return relative(TARGET_ROOT, path); -} - -function addCount(map, key, raw, file, inc = 1) { - const row = map.get(key) ?? { raw, occurrences: 0, files: new Set() }; - row.occurrences += inc; - row.files.add(file); - map.set(key, row); -} - -function normalizeHex(hex) { - return `#${hex.replace(/^#/, "").toLowerCase()}`; -} - -function hexFrom255(parts) { - const channels = parts.map((part) => { - const [num, den] = part.split("/").map((value) => Number(value.trim())); - const value = den ? Math.round((num / den) * 255) : Math.round(num); - return value.toString(16).padStart(2, "0"); - }); - return `#${channels.join("")}`; -} - -function colorSpec(hex) { - if (hex === "transparent") { - return { space: "srgb", rgb: { r: 0, g: 0, b: 0, a: 0 } }; - } - const clean = hex.replace("#", ""); - const r = Number.parseInt(clean.slice(0, 2), 16); - const g = Number.parseInt(clean.slice(2, 4), 16); - const b = Number.parseInt(clean.slice(4, 6), 16); - return { space: "srgb", hex, rgb: { r, g, b } }; -} - -function roleForColor(hex) { - const roles = { - "#101010": "moneybot-card-dark", - "#fcfcfc": "moneybot-elevated-light", - "#e8e8e8": "avatar-background-light", - "#232323": "avatar-background-dark", - "#666666": "avatar-tint-light", - "#878787": "avatar-tint-dark", - "#ffffff": "canvas-foreground", - "#000000": "canvas-background", - transparent: "clear-layer", - }; - return roles[hex]; -} - -const valueRows = []; -const tokenRows = []; -const componentRows = []; - -const colorBuckets = new Map(); -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - - for (const match of text.matchAll(/#([0-9a-fA-F]{6})/g)) { - addCount(colorBuckets, normalizeHex(match[1]), match[0], file); - } - for (const match of text.matchAll(/\.srgb\s*=\s*"([0-9a-fA-F]{6})"/g)) { - addCount(colorBuckets, normalizeHex(match[1]), match[0], file); - } - for (const match of text.matchAll( - /Color\(red:\s*([0-9 ]+\/\s*255),\s*green:\s*([0-9 ]+\/\s*255),\s*blue:\s*([0-9 ]+\/\s*255)\)/g, - )) { - addCount( - colorBuckets, - hexFrom255([match[1], match[2], match[3]]), - match[0], - file, - ); - } - for (const match of text.matchAll( - /\b(Color|UIColor)\.(black|white|clear)\b/g, - )) { - const named = { - black: "#000000", - white: "#ffffff", - clear: "transparent", - }[match[2]]; - addCount(colorBuckets, named, match[0], file); - } -} - -for (const [value, bucket] of [...colorBuckets.entries()].sort()) { - valueRows.push({ - id: "", - source: SOURCE, - kind: "color", - value, - raw: bucket.raw, - spec: colorSpec(value), - occurrences: bucket.occurrences, - files_count: bucket.files.size, - usage: { swift_literal: bucket.occurrences }, - role_hypothesis: roleForColor(value), - }); -} - -const numberBuckets = new Map(); -const numberContexts = [ - /(?:spacing|width|height|cornerRadius|radius|padding|offset|blur|lineSpacing|kerning|size|lineHeight|cardWidth|margin|verticalSpacing|horizontalSpacing|MaxWidth|MinWidth)\s*[:=]\s*(-?\d+(?:\.\d+)?)/g, - /\.(?:padding|frame|cornerRadius|offset|blur|lineSpacing|kerning)\([^)\n]*?(-?\d+(?:\.\d+)?)/g, - /CGSize\(width:\s*(-?\d+(?:\.\d+)?),\s*height:\s*(-?\d+(?:\.\d+)?)\)/g, - /CGRect\(x:\s*(-?\d+(?:\.\d+)?),\s*y:\s*(-?\d+(?:\.\d+)?),\s*width:\s*(-?\d+(?:\.\d+)?),\s*height:\s*(-?\d+(?:\.\d+)?)\)/g, -]; - -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - const lines = text.split(/\r?\n/); - for (const line of lines) { - if ( - !/(spacing|padding|frame|cornerRadius|radius|offset|blur|lineSpacing|kerning|font|size|height|width|margin|card|clipShape|RoundedRectangle)/.test( - line, - ) - ) { - continue; - } - for (const regex of numberContexts) { - for (const match of line.matchAll(regex)) { - for (let i = 1; i < match.length; i++) { - if (match[i] === undefined) continue; - const n = Number(match[i]); - if (!Number.isFinite(n)) continue; - if (!Number.isInteger(n)) continue; - if (Math.abs(n) > 480) continue; - addCount(numberBuckets, `${n}px`, match[0], file); - } - } - } - } -} - -for (const [value, bucket] of [...numberBuckets.entries()].sort( - (a, b) => Number.parseFloat(a[0]) - Number.parseFloat(b[0]), -)) { - const n = Number.parseFloat(value); - valueRows.push({ - id: "", - source: SOURCE, - kind: "spacing", - value, - raw: bucket.raw, - spec: { scalar: n, unit: "px" }, - occurrences: bucket.occurrences, - files_count: bucket.files.size, - usage: { swift_ui_layout_literal: bucket.occurrences }, - }); -} - -const radiusBuckets = new Map(); -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - for (const match of text.matchAll( - /(?:cornerRadius|radius)\s*(?::\s*(?:CGFloat|Double|Float|Int))?\s*[=:]\s*(\d+(?:\.\d+)?)/g, - )) { - addCount(radiusBuckets, `${Number(match[1])}px`, match[0], file); - } - for (const match of text.matchAll( - /\.Arcade\.CornerRadius\.([A-Za-z0-9_]+)/g, - )) { - addCount(radiusBuckets, `.Arcade.CornerRadius.${match[1]}`, match[0], file); - } -} - -for (const [value, bucket] of [...radiusBuckets.entries()].sort()) { - const numeric = Number.parseFloat(value); - valueRows.push({ - id: "", - source: SOURCE, - kind: "radius", - value, - raw: bucket.raw, - spec: Number.isFinite(numeric) - ? { scalar: numeric, unit: "px" } - : { raw: value }, - occurrences: bucket.occurrences, - files_count: bucket.files.size, - usage: { swift_shape: bucket.occurrences }, - resolution: value.startsWith(".Arcade.") - ? { - status: "unresolved-external", - source_id: "arcade-tokens", - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - symbol: value, - chain: [value], - } - : undefined, - }); -} - -const typeBuckets = new Map(); -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - for (const match of text.matchAll(/ArcadeTextStyle\.([A-Za-z0-9_]+)/g)) { - addCount(typeBuckets, `ArcadeTextStyle.${match[1]}`, match[0], file); - } - for (const match of text.matchAll(/\.font\(\.Arcade\.([A-Za-z0-9_]+)\)/g)) { - addCount(typeBuckets, `.font(.Arcade.${match[1]})`, match[0], file); - } - for (const match of text.matchAll( - /monospacedSystemFont\(ofSize:\s*(\d+(?:\.\d+)?),\s*weight:\s*\.([A-Za-z0-9_]+)/g, - )) { - addCount(typeBuckets, `${match[1]}px-${match[2]}`, match[0], file); - } -} - -for (const [value, bucket] of [...typeBuckets.entries()].sort()) { - const size = value.match(/^(\d+(?:\.\d+)?)px-/); - const weight = value.match(/px-([A-Za-z0-9_]+)$/); - valueRows.push({ - id: "", - source: SOURCE, - kind: "typography", - value, - raw: bucket.raw, - spec: size - ? { - family: "monospacedSystem", - size: { scalar: Number(size[1]), unit: "px" }, - weight: weight?.[1] === "bold" ? 700 : weight?.[1], - } - : { family: "ArcadeTextStyle" }, - occurrences: bucket.occurrences, - files_count: bucket.files.size, - usage: { swift_text_style: bucket.occurrences }, - resolution: - value.startsWith("ArcadeTextStyle") || value.startsWith(".font") - ? { - status: "unresolved-external", - source_id: "arcade-tokens", - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - symbol: value, - chain: [value], - } - : undefined, - }); -} - -const motionBuckets = new Map(); -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - for (const match of text.matchAll( - /\.ease(?:InOut|In|Out)?\(duration:\s*(\d+(?:\.\d+)?)/g, - )) { - addCount(motionBuckets, `${Number(match[1]) * 1000}ms`, match[0], file); - } - for (const match of text.matchAll( - /\.Arcade\.Spring\.Smooth\.([A-Za-z0-9_]+)/g, - )) { - addCount( - motionBuckets, - `.Arcade.Spring.Smooth.${match[1]}`, - match[0], - file, - ); - } -} - -for (const [value, bucket] of [...motionBuckets.entries()].sort()) { - const ms = Number.parseFloat(value); - valueRows.push({ - id: "", - source: SOURCE, - kind: "motion", - value, - raw: bucket.raw, - spec: Number.isFinite(ms) ? { duration_ms: ms } : { easing: value }, - occurrences: bucket.occurrences, - files_count: bucket.files.size, - usage: { swift_animation: bucket.occurrences }, - resolution: value.startsWith(".Arcade.") - ? { - status: "unresolved-external", - source_id: "arcade-tokens", - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - symbol: value, - chain: [value], - } - : undefined, - }); -} - -const tokenCounts = new Map(); -for (const [file, text] of texts) { - if (!file.endsWith(".swift")) continue; - - for (const match of text.matchAll(/\.Arcade(?:\.[A-Za-z][A-Za-z0-9_]*)+/g)) { - const symbol = match[0].replace(/\.opacity$/, ""); - addCount(tokenCounts, symbol, match[0], file); - } - for (const match of text.matchAll(/ArcadeTextStyle\.([A-Za-z0-9_]+)/g)) { - addCount(tokenCounts, `ArcadeTextStyle.${match[1]}`, match[0], file); - } - for (const match of text.matchAll( - /Color\.MoneybotUI\.([A-Za-z0-9_]+)(\s*\()?/g, - )) { - const base = match[1]; - const isCall = Boolean(match[2]); - const signature = - base === "card" && isCall - ? "card(for:)" - : base === "ElevatedBackground" - ? "ElevatedBackground(for:)" - : base === "ElevatedBackgroundPressed" - ? "ElevatedBackgroundPressed(for:)" - : base; - addCount(tokenCounts, `Color.MoneybotUI.${signature}`, match[0], file); - } - for (const match of text.matchAll(/\.font\(\.Arcade\.([A-Za-z0-9_]+)\)/g)) { - addCount(tokenCounts, `.font(.Arcade.${match[1]})`, match[0], file); - } -} - -function classifyToken(name) { - if (name.includes(".CornerRadius.")) return "radius"; - if ( - name.includes(".Semantic.") || - name.includes(".Component.") || - name.includes(".Data.") - ) { - return "color"; - } - if (name.includes(".Base.")) return "color"; - if ( - /\.Arcade\.(body|label|headline|pageTitle|input)[A-Za-z0-9_.]*/.test(name) - ) { - return "typography"; - } - if ( - /\.(xsmall|small|medium|large|xlarge|margin)$/.test(name) || - name.includes(".Border.") - ) { - return "spacing"; - } - if (name.startsWith("ArcadeTextStyle") || name.startsWith(".font(")) { - return "typography"; - } - if (name.includes(".Spring.")) return "motion"; - if (name.startsWith("Color.MoneybotUI")) return "color"; - if (name.includes("Haptics")) return "motion"; - return "icon-or-component"; -} - -function resolvedTokenValue(name) { - if (name === "Color.MoneybotUI.card") return "#101010"; - if (name === "Color.MoneybotUI.card(for:)") { - return "light:.Arcade.Semantic.Background.subtle dark:#101010 default:.Arcade.Semantic.Background.subtle"; - } - if (name === "Color.MoneybotUI.ElevatedBackground(for:)") { - return "light:#fcfcfc dark:.Arcade.Semantic.Background.standard default:.Arcade.Semantic.Background.app"; - } - if (name === "Color.MoneybotUI.ElevatedBackgroundPressed(for:)") { - return "light:.Arcade.Semantic.Background.subtle dark:.Arcade.Semantic.Background.prominent default:.Arcade.Semantic.Background.app"; - } - return "unresolved-external"; -} - -for (const [name, bucket] of [...tokenCounts.entries()].sort()) { - const local = name.startsWith("Color.MoneybotUI"); - const token = { - id: "", - source: SOURCE, - name, - alias_chain: local ? [name] : [name], - resolved_value: resolvedTokenValue(name), - occurrences: bucket.occurrences, - kind: classifyToken(name), - files_count: bucket.files.size, - }; - if (name === "Color.MoneybotUI.card") { - token.resolution = { - status: "resolved", - source_id: "moneybot", - target: SOURCE.target, - symbol: name, - chain: [name, "#101010"], - }; - } else if (local) { - token.resolution = { - status: "resolved", - source_id: "moneybot", - target: SOURCE.target, - symbol: name, - chain: [name], - }; - } else { - token.resolution = { - status: "unresolved-external", - source_id: "arcade-tokens", - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - symbol: name, - chain: [name], - message: - "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout.", - }; - } - tokenRows.push(token); -} - -const componentNames = new Map(); -for (const file of sourceSwiftFiles) { - const text = texts.get(file); - for (const match of text.matchAll( - /(?:public\s+|private\s+|final\s+|@MainActor\s+|struct\s+|class\s+|enum\s+)*\b(struct|final class|class)\s+([A-Z][A-Za-z0-9_]*(?:View|Cell|Card|Button|Label|Composer|Header|Chart|Graph|Ring|Sheet|Menu|Bar|Renderer|Factory|Modifier|Style|Model))\b/g, - )) { - const name = match[2]; - if (name.endsWith("Model") || name.endsWith("Factory")) continue; - const slot = componentNames.get(name) ?? { - files: new Set(), - kind: match[1], - }; - slot.files.add(file); - componentNames.set(name, slot); - } -} - -for (const [name, slot] of [...componentNames.entries()].sort()) { - const firstPath = [...slot.files][0]; - const variants = []; - if (name.includes("Card")) variants.push("card"); - if (name.includes("Chart") || name.includes("Graph")) variants.push("chart"); - if (name.includes("Composer")) variants.push("composer"); - if (name.includes("EmptyState")) variants.push("empty-state"); - if (name.includes("Canvas")) variants.push("canvas"); - componentRows.push({ - id: "", - source: SOURCE, - name, - discovered_via: "Swift UI type heuristic", - variants, - paths: [...slot.files].map(rel).sort(), - module: dirname(rel(firstPath)).split("/").slice(0, 2).join("/"), - }); -} - -const survey = { - schema: "ghost.survey/v1", - sources: SOURCES, - values: valueRows.sort((a, b) => - `${a.kind}:${a.value}:${a.raw}`.localeCompare( - `${b.kind}:${b.value}:${b.raw}`, - ), - ), - tokens: tokenRows, - components: componentRows, -}; - -writeFileSync(OUT, `${JSON.stringify(survey, null, 2)}\n`); -console.log( - JSON.stringify( - { - out: OUT, - files: files.length, - swift_files: swiftFiles.length, - values: survey.values.length, - tokens: survey.tokens.length, - components: survey.components.length, - }, - null, - 2, - ), -); diff --git a/dogfood/cash-ios-moneybot/fingerprint.md b/dogfood/cash-ios-moneybot/fingerprint.md deleted file mode 100644 index e94b1916..00000000 --- a/dogfood/cash-ios-moneybot/fingerprint.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: cash-ios-moneybot -source: llm -timestamp: 2026-05-04T00:00:00Z -sources: - - squareup/cash-ios/Code/Features/Moneybot - - squareup/cash-ios/Code/DesignSystem/Arcade - - squareup/cash-ios/Code/DesignSystem/ArcadeSwiftUI - - "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens" -observation: - personality: - - native - - assistant-like - - token-led - - rounded - - ambient - - calm - resembles: - - Cash App - - Apple Human Interface Guidelines -references: - specs: - - MoneybotUI/MoneybotUI/Sources/Extensions/Color+MoneybotUI.swift - - MoneybotUI/MoneybotUI/BUILD.bazel - - MoneybotChat/MoneybotChatImplementations/BUILD.bazel - components: - - MoneybotUI/MoneybotUI/Sources - - MoneybotUI/MoneybotUIImplementations/Sources - - MoneybotChat/MoneybotChatImplementations/Sources/Views - - MoneybotHome/MoneybotHomeImplementations/Sources - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources - - MoneybotCanvas/MoneybotCanvasImplementations/Sources - examples: - - MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardView.swift - - MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ComposerView.swift - - MoneybotHome/MoneybotHomeImplementations/Sources/MoneybotHomeView.swift - - MoneybotUI/MoneybotUIImplementations/Sources/BriefView.swift - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources/MoneybotAutomationsHubView.swift -decisions: - - dimension: color-strategy - - dimension: token-architecture - - dimension: spatial-system - - dimension: shape-language - - dimension: typography-voice - - dimension: surface-hierarchy - - dimension: composition-patterns - - dimension: motion - - dimension: rendering-posture - dimension_kind: composition-patterns -checks: [] -palette: - dominant: - - { role: moneybot-card-dark, value: "#101010" } - - { role: elevated-light, value: "#fcfcfc" } - - { role: canvas-background, value: "#000000" } - - { role: canvas-foreground, value: "#ffffff" } - neutrals: - steps: - - "#000000" - - "#101010" - - "#232323" - - "#666666" - - "#878787" - - "#e8e8e8" - - "#fcfcfc" - - "#ffffff" - count: 8 - semantic: [] - saturationProfile: muted - contrast: high -spacing: - scale: [0, 1, 2, 4, 8, 10, 12, 16, 20, 24, 32, 36, 40, 44, 48, 50, 56, 60, 80, 100, 150, 180, 200, 240, 250, 272, 280, 300, 320, 350, 362, 375, 390, 393, 400, 428] - regularity: 0.62 - baseUnit: 4 -typography: - families: - - ArcadeTextStyle - - monospacedSystem - sizeRamp: [80] - weightDistribution: - "700": 1 - lineHeightPattern: normal -surfaces: - borderRadii: [0, 0.5, 1, 4, 8, 10, 16, 20, 26, 32, 40] - shadowComplexity: deliberate-none - borderUsage: moderate -metadata: - mode: consumer - survey_values: 77 - survey_tokens: 74 - survey_components: 113 - unresolved_resolver: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens" - top_component_module: MoneybotChat/MoneybotChatImplementations ---- - -# Character - -A native assistant language sits on Cash iOS Arcade foundations: bright app backgrounds, semantic text and icon tokens, compact rounded controls, and a few deliberately dark Moneybot card moments for generated financial content. The mood is calm and task-focused rather than decorative, with AI-specific surfaces feeling like a continuation of Cash App instead of a separate chat product. Variety comes from switching composition modes - chat feed, home entry, generated template card, brief, automations list, and ambient canvas - while the visual grammar stays token-led and restrained. - -# Signature - -The recognizable picture is a full-screen iOS surface with Arcade semantic backgrounds, bottom-heavy composer controls, rounded generated cards, and minimal chrome. Chat and home experiences favor a white or app-background field, then introduce dark rounded cards, glassy composer affordances, or a Metal-backed canvas only when the assistant interaction needs a stronger stage. The system reads as Cash-native first and AI-native second: assistant affordances are shaped as product controls, not as a separate visual brand. - -# Decisions - -### color-strategy - -Use Arcade semantic color for the default app, text, icon, border, button, and warning roles; keep local Moneybot literals narrow and role-specific. The local palette is neutral and high-contrast: `#101010` anchors dark generated cards, `#fcfcfc` anchors elevated light surfaces, `#000000` / `#ffffff` appear in canvas and UIKit bridge contexts, and `#232323`, `#666666`, `#878787`, `#e8e8e8` support generated avatar/preview assets rather than broad UI theming. - -**Evidence:** -- Survey color values are neutral-only: `#000000`, `#101010`, `#232323`, `#666666`, `#878787`, `#e8e8e8`, `#fcfcfc`, `#ffffff`, plus transparent layers. -- `.Arcade.Semantic.Background.app` appears 110 times across 41 files; `.Arcade.Semantic.Text.standard` appears 44 times across 30 files; `.Arcade.Semantic.Text.subtle` appears 31 times across 26 files. -- `Color.MoneybotUI.card` resolves locally to `#101010` and appears 4 times across 2 files; `Color.MoneybotUI.card(for:)` maps light to `.Arcade.Semantic.Background.subtle`, dark to `#101010`, and default to `.Arcade.Semantic.Background.subtle`. -- `Color.MoneybotUI.ElevatedBackground(for:)` maps light to `#fcfcfc`, dark to `.Arcade.Semantic.Background.standard`, and default to `.Arcade.Semantic.Background.app`. -- Prominent actions stay Arcade-owned: `.Arcade.Component.Button.Prominent.Background.normal` appears 12 times and `.Arcade.Component.Button.Prominent.Icon.normal` appears 6 times. - -### token-architecture - -Treat Moneybot as a consumer fingerprint layered over Arcade, not a standalone token system. New UI should reach first for `.Arcade.Semantic.*`, `.Arcade.Component.*`, `.Arcade.*` spacing/radius tokens, `ArcadeTextStyle.*`, and `Color.MoneybotUI.*` only for the few local surface overrides that the feature owns. - -**Evidence:** -- The survey found 74 token rows; the highest-use symbols are external Arcade tokens, while local Moneybot color tokens are limited to card and elevated background roles. -- Spacing token use is broad: `.Arcade.small` appears 82 times, `.Arcade.medium` 60 times, `.Arcade.margin` 45 times, `.Arcade.large` 16 times, and `.Arcade.xsmall` 14 times. -- `ArcadeTokens` is resolved through Bazel external `@swiftpkg_cash_arcade_tokens_spm`, so the fingerprint keeps unresolved Arcade values symbolic instead of inventing upstream concrete values. -- Moneybot's local token file is a Swift extension, not a full token pipeline: `Color.MoneybotUI.card`, `card(for:)`, `ElevatedBackground(for:)`, and `ElevatedBackgroundPressed(for:)` are overrides on top of Arcade semantics. - -### spatial-system - -Use Arcade spacing tokens for rhythm and margins, then allow fixed iOS content measures where generated UI needs a stable shape. The concrete scale includes small 4px-step values for padding and separators, 24px margins for card and composer affordances, 44px controls, and repeated mobile preview widths around 300-390px. - -**Evidence:** -- Survey spacing rows cluster around `0`, `4`, `8`, `16`, `24`, `44`, `56`, and fixed container widths such as `300`, `320`, `350`, `375`, and `390`. -- `.Arcade.margin` appears 45 times across 22 files and drives horizontal page/composer margins. -- Template cards use 24px margin, 320px width, and 8px template line spacing; navigation cards and composer buttons use compact 44px-scale controls. -- The scale is 4px-based but intentionally irregular because it includes generated preview containers, canvas test frames, and device-width fixtures. - -### shape-language - -Favor soft, highly rounded native shapes. Arcade radius tokens carry ordinary component rounding, while Moneybot adds pill-like 26px composer containers and 40px generated template cards/buttons for assistant content that should feel approachable and tappable. - -**Evidence:** -- Survey radius values include `0`, `0.5`, `1`, `4`, `8`, `10`, `16`, `20`, `26`, `32`, and `40`. -- `.Arcade.CornerRadius.small`, `.Arcade.CornerRadius.medium`, `.Arcade.CornerRadius.large`, and `.Arcade.CornerRadius.xlarge` all appear in product code. -- `cornerRadius: CGFloat = 40` appears 4 times across 4 files in template card/button surfaces. -- Composer surfaces use `cornerRadius: CGFloat = 26` and compact shapes derived from Arcade large plus small radius tokens. - -### typography-voice - -Let Arcade text styles set the voice: product-native labels, body copy, inputs, headlines, and page titles should remain on `ArcadeTextStyle` rather than local type math. The one strong local exception is the canvas debug/rendering layer, where large bold monospaced system type is part of the rendering surface rather than the product UI voice. - -**Evidence:** -- `ArcadeTextStyle.pageTitle` appears 5 times, `bodyMedium` 2 times, `headlineSmall` 2 times, `labelXSmall` 2 times, and `bodySmall` / `input` in supporting UI. -- `.font(.Arcade.bodyMedium)` appears as a SwiftUI convenience form for the same upstream type system. -- The only concrete font size row is `monospacedSystemFont(ofSize: 80, weight: .bold)`, isolated to canvas rendering evidence. -- No local font files or feature-specific typeface declarations were observed in the Moneybot target. - -### surface-hierarchy - -Build hierarchy through semantic background roles, rounded borders, state overlays, and control density rather than shadows. Default surfaces sit on `.Arcade.Semantic.Background.app`; raised Moneybot moments use `Color.MoneybotUI.ElevatedBackground` or `Color.MoneybotUI.card`; borders are meaningful when they indicate subtle separation, warning, or brand focus. - -**Evidence:** -- The survey found no shadow rows, while `.Arcade.Semantic.Border.subtle` appears 10 times and `.Arcade.Semantic.Border.brand` appears 6 times. -- Brief cards and template cards use rounded filled surfaces instead of drop shadows. -- Chat composer warning states use a border overlay, not an elevated shadow treatment. -- `Color.MoneybotUI.ElevatedBackgroundPressed(for:)` maps light to `.Arcade.Semantic.Background.subtle`, dark to `.Arcade.Semantic.Background.prominent`, and default to `.Arcade.Semantic.Background.app`. - -### composition-patterns - -Choose the surface shape from the assistant task. Chat messages, generated template cards, brief summaries, automation rows, home widgets, and canvas interactions are all first-class compositions; repeated cards are one tool, not the default answer for every generated UI. - -**Evidence:** -- The survey found 113 component rows across implementation modules; 52 are in `MoneybotChat/MoneybotChatImplementations`, 21 in `MoneybotUI/MoneybotUI`, 18 in `MoneybotUI/MoneybotUIImplementations`, and 12 in `MoneybotHome/MoneybotHomeImplementations`. -- Component names include `TemplateCardView`, `TextMessageView`, `ComposerView`, `ChatComposerView`, `NavigationCard`, `BriefView`, `MoneybotEmptyStateView`, `MoneybotHomeView`, `MoneybotAutomationsHubView`, `CanvasBackgroundView`, and `AudioWaveformView`. -- Automations surfaces use list rows and empty/error states; brief surfaces use larger rounded content blocks; generated template cards use compact 320px assistant cards. -- Snapshot and reference-image paths in the map show that visible UI states are treated as reviewable examples, not just implementation details. - -### motion - -Keep motion functional and short: use Arcade smooth springs for native state continuity and 100-300ms ease transitions for press, composer, list, and reveal behavior. Motion should reinforce state change or spatial continuity, not become decorative ambience outside the canvas interaction layer. - -**Evidence:** -- Survey motion values are `100ms`, `120ms`, `150ms`, `200ms`, `250ms`, `300ms`, plus `.Arcade.Spring.Smooth.fast`, `.gentle`, and `.slow`. -- `100ms` ease-out appears 5 times across 4 files; `300ms` ease-out appears 4 times across 3 files; `.Arcade.Spring.Smooth.fast` appears 3 times. -- Template card press behavior uses `easeOut(0.1)`, and composer/container changes use short ease-in-out transitions. -- No long-running decorative animation system was observed in the feature survey. - -### rendering-posture - -Prefer native SwiftUI/UIKit construction for product UI and reserve custom rendering for the Moneybot canvas. The Metal-backed canvas can be immersive and full-bleed, but surrounding assistant controls should still use Arcade semantics, safe-area-aware native layout, and Cash iOS navigation conventions. - -**Evidence:** -- Map composition is mixed native SwiftUI/UIKit with Metal as a scoped rendering layer. -- `MoneybotCanvas` contributes 4 component rows, while the bulk of the visible surface is SwiftUI/UIKit product UI. -- `CanvasBackgroundView` is a full-bleed Metal-backed surface with fallback `Color.black`; home and chat still use `.Arcade.Semantic.Background.app` and native safe-area/titlebar structure. -- The source graph includes `Arcade`, `ArcadeSwiftUI`, and `ArcadeTokens` as resolvers, confirming that custom rendering is an exception around a tokenized native shell. diff --git a/dogfood/cash-ios-moneybot/map.md b/dogfood/cash-ios-moneybot/map.md deleted file mode 100644 index 682ccbb6..00000000 --- a/dogfood/cash-ios-moneybot/map.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -schema: ghost.map/v1 -id: cash-ios-moneybot -repo: squareup/cash-ios/Code/Features/Moneybot -subject: - id: cash-ios-moneybot - target: /Users/nahiyan/Development/cash-ios/Code/Features/Moneybot -sources: - - id: moneybot - role: primary - target: /Users/nahiyan/Development/cash-ios/Code/Features/Moneybot - paths: - - . - - id: arcade - role: resolver - target: /Users/nahiyan/Development/cash-ios/Code/DesignSystem/Arcade - resolves: [color, spacing, typography, radius, haptics, components] - paths: - - ../../DesignSystem/Arcade - - id: arcade-swiftui - role: resolver - target: /Users/nahiyan/Development/cash-ios/Code/DesignSystem/ArcadeSwiftUI - resolves: [swiftui-components, typography, spacing, interaction] - paths: - - ../../DesignSystem/ArcadeSwiftUI - - id: arcade-tokens - role: resolver - target: "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens" - resolves: [color, spacing, typography, radius, haptics] -mapped_at: 2026-05-04 -platform: ios -languages: - - { name: swift, files: 651, share: 0.929 } - - { name: json, files: 18, share: 0.026 } - - { name: yaml, files: 17, share: 0.024 } - - { name: markdown, files: 15, share: 0.021 } -build_system: [bazel, xcode] -package_manifests: - - AutomationsHub/AutomationsHub/BUILD.bazel - - AutomationsHub/AutomationsHubFakes/BUILD.bazel - - AutomationsHub/AutomationsHubImplementations/BUILD.bazel - - MoneybotAutomationsHub/MoneybotAutomationsHub/BUILD.bazel - - MoneybotAutomationsHub/MoneybotAutomationsHubFakes/BUILD.bazel - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/BUILD.bazel - - MoneybotCanvas/MoneybotCanvas/BUILD.bazel - - MoneybotCanvas/MoneybotCanvasFakes/BUILD.bazel - - MoneybotCanvas/MoneybotCanvasImplementations/BUILD.bazel - - MoneybotChat/MoneybotChat/BUILD.bazel - - MoneybotChat/MoneybotChatFakes/BUILD.bazel - - MoneybotChat/MoneybotChatImplementations/BUILD.bazel - - MoneybotContainer/MoneybotContainer/BUILD.bazel - - MoneybotContainer/MoneybotContainerFakes/BUILD.bazel - - MoneybotContainer/MoneybotContainerImplementations/BUILD.bazel - - MoneybotHome/MoneybotHome/BUILD.bazel - - MoneybotHome/MoneybotHomeFakes/BUILD.bazel - - MoneybotHome/MoneybotHomeImplementations/BUILD.bazel - - MoneybotUI/MoneybotUI/BUILD.bazel - - MoneybotUI/MoneybotUIFakes/BUILD.bazel - - MoneybotUI/MoneybotUIImplementations/BUILD.bazel -composition: - frameworks: - - { name: swiftui } - - { name: uikit } - - { name: metal } - - { name: bazel } - - { name: arcade } - - { name: arcade-swiftui } - - { name: arcade-tokens } - - { name: markdownui } - rendering: mixed-native-swiftui-uikit - styling: - - arcade-tokens - - swiftui-modifiers - - uikit-models - - xcassets - navigation: cash-ios-navigation -design_system: - paths: - - MoneybotUI/MoneybotUI/Sources - - MoneybotUI/MoneybotUIImplementations/Sources - - MoneybotChat/MoneybotChatImplementations/Sources/Views - - MoneybotHome/MoneybotHomeImplementations/Sources - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources - - MoneybotCanvas/MoneybotCanvasImplementations/Sources - entry_files: - - MoneybotUI/MoneybotUI/Sources/Extensions/Color+MoneybotUI.swift - - MoneybotUI/MoneybotUI/BUILD.bazel - - MoneybotUI/MoneybotUIImplementations/BUILD.bazel - - MoneybotChat/MoneybotChatImplementations/BUILD.bazel - token_source: mixed - upstream: - - Code/DesignSystem/Arcade - - Code/DesignSystem/ArcadeSwiftUI - - "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens" - status: active -ui_surface: - include: - - AutomationsHub/**/Sources/** - - MoneybotAutomationsHub/**/Sources/** - - MoneybotCanvas/**/Sources/** - - MoneybotChat/**/Sources/Views/** - - MoneybotHome/**/Sources/** - - MoneybotUI/**/Sources/** - - "**/SnapshotTests/**" - - "**/ReferenceImages/**" - exclude: - - "**/Fakes/**" - - "**/DevApp/**" - - "**/UnitTests/**" - - "**/Networking/Proto/**" - - "**/Resources/en.lproj/**" - - "**/OWNERS.yaml" - - "**/AGENTS.md" - - "**/BUILD.bazel" -feature_areas: - - name: shared-moneybot-ui - paths: - - MoneybotUI/MoneybotUI/Sources - - MoneybotUI/MoneybotUIImplementations/Sources - sub_areas: - - empty-state - - navigation-card - - brief - - chart - - cells - - suggestion - - name: chat - paths: - - MoneybotChat/MoneybotChatImplementations/Sources/Views - sub_areas: - - composer - - chat-feed - - text-message - - template-card - - markdown - - generated-ui-playground - - name: home - paths: - - MoneybotHome/MoneybotHomeImplementations/Sources - sub_areas: - - home-view - - overflow-menu - - widgets - - next-best-action - - name: automations - paths: - - AutomationsHub/AutomationsHub/Sources - - AutomationsHub/AutomationsHubImplementations/Sources - - MoneybotAutomationsHub/MoneybotAutomationsHub/Sources - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources - sub_areas: - - automation-row - - triggered-action-row - - hub-list - - empty-error-states - - name: canvas - paths: - - MoneybotCanvas/MoneybotCanvas/Sources - - MoneybotCanvas/MoneybotCanvasImplementations/Sources - sub_areas: - - metal-background - - ripple - - touch-overlay - - volume-detection - - name: snapshots-and-assets - paths: - - MoneybotUI/MoneybotUIImplementations/SnapshotTests - - MoneybotChat/MoneybotChatImplementations/SnapshotTests - - MoneybotCanvas/MoneybotCanvasImplementations/SnapshotTests - - MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/SnapshotTests - - MoneybotUI/MoneybotUIImplementations/Sources/Resources/Images.xcassets -orientation_files: - - /Users/nahiyan/Development/cash-ios/AGENTS.md - - MoneybotUI/MoneybotUI/Sources/Extensions/Color+MoneybotUI.swift - - MoneybotUI/MoneybotUI/BUILD.bazel - - MoneybotChat/MoneybotChatImplementations/BUILD.bazel - - MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardView.swift - - MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatComposerView.swift - - MoneybotHome/MoneybotHomeImplementations/Sources/MoneybotHomeView.swift - - MoneybotCanvas/MoneybotCanvasImplementations/Sources/CanvasBackgroundView.swift ---- - -## Identity - -Moneybot is a Cash iOS feature cluster for the app's assistant surfaces: chat, generated UI, home entry points, automations, a canvas background, and reusable Moneybot UI pieces. It is a module-level iOS target inside `squareup/cash-ios`, not a standalone design system package, so its fingerprint should describe the Moneybot feature language rather than all of Cash App. - -## Topology - -The local design-system signal is concentrated in `MoneybotUI`, which defines shared SwiftUI/UIKit pieces and one local `Color.MoneybotUI` extension for elevated and card backgrounds. Most concrete token meaning comes from upstream Arcade modules: Moneybot imports Arcade, ArcadeSwiftUI, UIControls, and the external ArcadeTokens Swift package through Bazel targets, while product areas consume those tokens in SwiftUI modifiers, UIKit models, generated proto renderers, and snapshot-tested views. - -Product salience comes from the implementation modules. `MoneybotChatImplementations` is the largest UI surface and owns chat feed, composer, markdown, template cards, generated UI previews, and networking-backed renderables; `MoneybotUIImplementations` owns shared components and snapshot fixtures; `MoneybotHome`, `MoneybotAutomationsHub`, `AutomationsHub`, and `MoneybotCanvas` add home, list, automation, and Metal-backed ambient surfaces. - -## Conventions - -The feature follows the Cash iOS module pattern: base protocols, implementation modules, fakes, Bazel `ios_framework` targets, and snapshot tests for visible UI states. Styling is token-first when the token is available (`.Arcade.Semantic.*`, `.Arcade.*`, `ArcadeTextStyle.*`, `Image.Arcade.*`), with local literals mostly reserved for the Moneybot card/elevated override, canvas drawing, generated preview fixtures, and snapshot proto color inputs. - -Because ArcadeTokens is external to this checkout, a full survey should keep primary Moneybot usage counts separate from resolver meaning. Resolved rows can cite local Moneybot literals and Arcade wrapper symbols; unresolved ArcadeTokens rows should remain symbolic rather than pretending the upstream package's concrete palette is locally visible. diff --git a/dogfood/cash-ios-moneybot/survey.json b/dogfood/cash-ios-moneybot/survey.json deleted file mode 100644 index e68240d8..00000000 --- a/dogfood/cash-ios-moneybot/survey.json +++ /dev/null @@ -1,5820 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - { - "id": "arcade", - "role": "resolver", - "target": "squareup/cash-ios/Code/DesignSystem/Arcade", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1", - "resolves": ["color", "spacing", "typography", "radius", "components"] - }, - { - "id": "arcade-swiftui", - "role": "resolver", - "target": "squareup/cash-ios/Code/DesignSystem/ArcadeSwiftUI", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1", - "resolves": ["swiftui-components", "typography", "spacing", "interaction"] - }, - { - "id": "arcade-tokens", - "role": "resolver", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1", - "resolves": ["color", "spacing", "typography", "radius", "haptics"] - } - ], - "values": [ - { - "id": "0089ccf8e71a032d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#000000", - "raw": "Color.black", - "spec": { - "space": "srgb", - "hex": "#000000", - "rgb": { - "r": 0, - "g": 0, - "b": 0 - } - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_literal": 3 - }, - "role_hypothesis": "canvas-background" - }, - { - "id": "7f7f65e5723c71c7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#101010", - "raw": "#101010", - "spec": { - "space": "srgb", - "hex": "#101010", - "rgb": { - "r": 16, - "g": 16, - "b": 16 - } - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "swift_literal": 3 - }, - "role_hypothesis": "moneybot-card-dark" - }, - { - "id": "78dd481ccaee49a2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#232323", - "raw": ".srgb = \"232323\"", - "spec": { - "space": "srgb", - "hex": "#232323", - "rgb": { - "r": 35, - "g": 35, - "b": 35 - } - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "swift_literal": 5 - }, - "role_hypothesis": "avatar-background-dark" - }, - { - "id": "46dc0c46a52b8aef", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#666666", - "raw": ".srgb = \"666666\"", - "spec": { - "space": "srgb", - "hex": "#666666", - "rgb": { - "r": 102, - "g": 102, - "b": 102 - } - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "swift_literal": 5 - }, - "role_hypothesis": "avatar-tint-light" - }, - { - "id": "63176c5e7910dcac", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#878787", - "raw": ".srgb = \"878787\"", - "spec": { - "space": "srgb", - "hex": "#878787", - "rgb": { - "r": 135, - "g": 135, - "b": 135 - } - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "swift_literal": 5 - }, - "role_hypothesis": "avatar-tint-dark" - }, - { - "id": "01dc125c88d10e54", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": ".srgb = \"E8E8E8\"", - "spec": { - "space": "srgb", - "hex": "#e8e8e8", - "rgb": { - "r": 232, - "g": 232, - "b": 232 - } - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "swift_literal": 5 - }, - "role_hypothesis": "avatar-background-light" - }, - { - "id": "094b8195f5091365", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#fcfcfc", - "raw": "Color(red: 252/255, green: 252/255, blue: 252/255)", - "spec": { - "space": "srgb", - "hex": "#fcfcfc", - "rgb": { - "r": 252, - "g": 252, - "b": 252 - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_literal": 1 - }, - "role_hypothesis": "moneybot-elevated-light" - }, - { - "id": "5a8b6f3fa25b9dd2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "#ffffff", - "raw": "UIColor.white", - "spec": { - "space": "srgb", - "hex": "#ffffff", - "rgb": { - "r": 255, - "g": 255, - "b": 255 - } - }, - "occurrences": 3, - "files_count": 2, - "usage": { - "swift_literal": 3 - }, - "role_hypothesis": "canvas-foreground" - }, - { - "id": "fd6fe47cf01c9ada", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "color", - "value": "transparent", - "raw": "UIColor.clear", - "spec": { - "space": "srgb", - "rgb": { - "r": 0, - "g": 0, - "b": 0, - "a": 0 - } - }, - "occurrences": 25, - "files_count": 19, - "usage": { - "swift_literal": 25 - }, - "role_hypothesis": "clear-layer" - }, - { - "id": "9ec5375196aac0ab", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": ".Arcade.Spring.Smooth.fast", - "raw": ".Arcade.Spring.Smooth.fast", - "spec": { - "easing": ".Arcade.Spring.Smooth.fast" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_animation": 3 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.fast", - "chain": [".Arcade.Spring.Smooth.fast"] - } - }, - { - "id": "dc3e76392e092fa4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": ".Arcade.Spring.Smooth.gentle", - "raw": ".Arcade.Spring.Smooth.gentle", - "spec": { - "easing": ".Arcade.Spring.Smooth.gentle" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_animation": 1 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.gentle", - "chain": [".Arcade.Spring.Smooth.gentle"] - } - }, - { - "id": "7b1079709bb8cda8", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": ".Arcade.Spring.Smooth.slow", - "raw": ".Arcade.Spring.Smooth.slow", - "spec": { - "easing": ".Arcade.Spring.Smooth.slow" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_animation": 2 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.slow", - "chain": [".Arcade.Spring.Smooth.slow"] - } - }, - { - "id": "1cae3124a2fba3f6", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "100ms", - "raw": ".easeOut(duration: 0.1", - "spec": { - "duration_ms": 100 - }, - "occurrences": 5, - "files_count": 4, - "usage": { - "swift_animation": 5 - } - }, - { - "id": "7fbae859ea3ab489", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "120ms", - "raw": ".easeIn(duration: 0.12", - "spec": { - "duration_ms": 120 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_animation": 1 - } - }, - { - "id": "0ad665de28a30aab", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "150ms", - "raw": ".easeInOut(duration: 0.15", - "spec": { - "duration_ms": 150 - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "swift_animation": 4 - } - }, - { - "id": "4a098e9136aba49c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "200ms", - "raw": ".easeInOut(duration: 0.2", - "spec": { - "duration_ms": 200 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_animation": 3 - } - }, - { - "id": "cffdfa7c4189b124", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "250ms", - "raw": ".easeOut(duration: 0.25", - "spec": { - "duration_ms": 250 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_animation": 1 - } - }, - { - "id": "b8cab5c75b9e0f8b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "motion", - "value": "300ms", - "raw": ".easeOut(duration: 0.3", - "spec": { - "duration_ms": 300 - }, - "occurrences": 4, - "files_count": 3, - "usage": { - "swift_animation": 4 - } - }, - { - "id": "e1f2b4899db4406a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": ".Arcade.CornerRadius.large", - "raw": ".Arcade.CornerRadius.large", - "spec": { - "raw": ".Arcade.CornerRadius.large" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_shape": 2 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.large", - "chain": [".Arcade.CornerRadius.large"] - } - }, - { - "id": "a162987a529eeece", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": ".Arcade.CornerRadius.medium", - "raw": ".Arcade.CornerRadius.medium", - "spec": { - "raw": ".Arcade.CornerRadius.medium" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_shape": 3 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.medium", - "chain": [".Arcade.CornerRadius.medium"] - } - }, - { - "id": "a8e14dbe4b671e6a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": ".Arcade.CornerRadius.small", - "raw": ".Arcade.CornerRadius.small", - "spec": { - "raw": ".Arcade.CornerRadius.small" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_shape": 3 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.small", - "chain": [".Arcade.CornerRadius.small"] - } - }, - { - "id": "8fd1ee21bbfb8331", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": ".Arcade.CornerRadius.xlarge", - "raw": ".Arcade.CornerRadius.xlarge", - "spec": { - "raw": ".Arcade.CornerRadius.xlarge" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_shape": 3 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.xlarge", - "chain": [".Arcade.CornerRadius.xlarge"] - } - }, - { - "id": "7383bf009dca5019", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "0.5px", - "raw": "radius: 0.5", - "spec": { - "scalar": 0.5, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "ba612cc44ee17769", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "0px", - "raw": "radius: 0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_shape": 3 - } - }, - { - "id": "ef9fda99ec223440", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "10px", - "raw": "cornerRadius: 10", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "4233388d59a81e56", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "16px", - "raw": "radius: 16", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_shape": 2 - } - }, - { - "id": "6c11b2b379a7b798", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "1px", - "raw": "radius: 1", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "0565e183ba8a83cf", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "20px", - "raw": "radius: 20", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "241760a23bb6d9e4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "26px", - "raw": "cornerRadius: CGFloat = 26", - "spec": { - "scalar": 26, - "unit": "px" - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "swift_shape": 3 - } - }, - { - "id": "debb5a75f28a89dc", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "32px", - "raw": "radius: 32", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "027a8d337dc4313f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "40px", - "raw": "cornerRadius: CGFloat = 40", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 4, - "files_count": 4, - "usage": { - "swift_shape": 4 - } - }, - { - "id": "0d3387b62c7c164f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "4px", - "raw": "cornerRadius: 4.0", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 4, - "files_count": 3, - "usage": { - "swift_shape": 4 - } - }, - { - "id": "a04ebe866bf548db", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "radius", - "value": "8px", - "raw": "radius: 8", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_shape": 1 - } - }, - { - "id": "e791d992de67ad14", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "0px", - "raw": "spacing: 0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 109, - "files_count": 58, - "usage": { - "swift_ui_layout_literal": 109 - } - }, - { - "id": "fca7519f8ac217d0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "100px", - "raw": "width: 100", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 4 - } - }, - { - "id": "2f185c71431bf586", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "10px", - "raw": "cornerRadius: 10", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "eb54dd3f436b3930", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "12px", - "raw": "spacing: 12", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "bc31296c47f45cba", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "150px", - "raw": "width: 150", - "spec": { - "scalar": 150, - "unit": "px" - }, - "occurrences": 5, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 5 - } - }, - { - "id": "c5effd04842f277e", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "16px", - "raw": "size: 16", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 17, - "files_count": 7, - "usage": { - "swift_ui_layout_literal": 17 - } - }, - { - "id": "23a958d39e8b7eb7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "180px", - "raw": "height: 180", - "spec": { - "scalar": 180, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "1932542bc20d25cf", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "1px", - "raw": "height: 1", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "swift_ui_layout_literal": 5 - } - }, - { - "id": "a33c3d6033bf74f9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "200px", - "raw": "width: 200", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "swift_ui_layout_literal": 6 - } - }, - { - "id": "d85236e3ff3c5ace", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "20px", - "raw": "radius: 20", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "220413c8076e1b12", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "240px", - "raw": ".frame(height: min(contentHeight, 240", - "spec": { - "scalar": 240, - "unit": "px" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "a6f464e1fd8f0485", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "24px", - "raw": "width: 24", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 10, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 10 - } - }, - { - "id": "a12f46d213b6ee38", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "250px", - "raw": "width: 250", - "spec": { - "scalar": 250, - "unit": "px" - }, - "occurrences": 4, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 4 - } - }, - { - "id": "d6045cfa262fbfaa", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "272px", - "raw": "width: 272", - "spec": { - "scalar": 272, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "937e378b640f0977", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "280px", - "raw": "width: 280", - "spec": { - "scalar": 280, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "3dbb57a9f7e2323f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "2px", - "raw": "spacing: 2", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "556404b55c4c33e9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "300px", - "raw": "width: 300", - "spec": { - "scalar": 300, - "unit": "px" - }, - "occurrences": 15, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 15 - } - }, - { - "id": "7b61999b92b7a065", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "320px", - "raw": "width: 320", - "spec": { - "scalar": 320, - "unit": "px" - }, - "occurrences": 12, - "files_count": 5, - "usage": { - "swift_ui_layout_literal": 12 - } - }, - { - "id": "3a1b478f560dd586", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "32px", - "raw": "size: 32", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "348e74cfb542a547", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "350px", - "raw": "width: 350", - "spec": { - "scalar": 350, - "unit": "px" - }, - "occurrences": 37, - "files_count": 9, - "usage": { - "swift_ui_layout_literal": 37 - } - }, - { - "id": "8d04ea33ce7b92ae", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "362px", - "raw": "height: 362", - "spec": { - "scalar": 362, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "bcfcc9b5c56f23c3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "36px", - "raw": ".padding(.horizontal, 36", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "a449f5215390334c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "375px", - "raw": "width: 375", - "spec": { - "scalar": 375, - "unit": "px" - }, - "occurrences": 12, - "files_count": 4, - "usage": { - "swift_ui_layout_literal": 12 - } - }, - { - "id": "d4209a7e39ccd6bc", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "390px", - "raw": "width: 390", - "spec": { - "scalar": 390, - "unit": "px" - }, - "occurrences": 6, - "files_count": 3, - "usage": { - "swift_ui_layout_literal": 6 - } - }, - { - "id": "a06543f86e996734", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "393px", - "raw": "width: 393", - "spec": { - "scalar": 393, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "4e356f06989cfa16", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "400px", - "raw": "height: 400", - "spec": { - "scalar": 400, - "unit": "px" - }, - "occurrences": 4, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 4 - } - }, - { - "id": "205cc902fbac03cb", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "40px", - "raw": "width: 40", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 4 - } - }, - { - "id": "845bd30e512eea8a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "428px", - "raw": "width: 428", - "spec": { - "scalar": 428, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "fe066506ef886a52", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "44px", - "raw": "height: 44", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 7, - "files_count": 3, - "usage": { - "swift_ui_layout_literal": 7 - } - }, - { - "id": "0a546a7e868e561b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "48px", - "raw": "size: 48", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 4, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 4 - } - }, - { - "id": "0f7e2f240746a0d9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "4px", - "raw": ".padding(.vertical, 4", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 9, - "files_count": 5, - "usage": { - "swift_ui_layout_literal": 9 - } - }, - { - "id": "84ef0977f2c231e1", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "50px", - "raw": "CGRect(x: 50, y: 600, width: 272, height: 362)", - "spec": { - "scalar": 50, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "b570917f804b6453", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "56px", - "raw": "height: 56", - "spec": { - "scalar": 56, - "unit": "px" - }, - "occurrences": 5, - "files_count": 2, - "usage": { - "swift_ui_layout_literal": 5 - } - }, - { - "id": "ea2842b1c6172083", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "60px", - "raw": ".frame(minWidth: 60", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 1 - } - }, - { - "id": "060d96d9efb17e2f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "80px", - "raw": "height: 80", - "spec": { - "scalar": 80, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_ui_layout_literal": 2 - } - }, - { - "id": "d0c46f0be43f3248", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "spacing", - "value": "8px", - "raw": "width: 8", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 9, - "files_count": 3, - "usage": { - "swift_ui_layout_literal": 9 - } - }, - { - "id": "364adb147dad0266", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": ".font(.Arcade.bodyMedium)", - "raw": ".font(.Arcade.bodyMedium)", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_text_style": 1 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".font(.Arcade.bodyMedium)", - "chain": [".font(.Arcade.bodyMedium)"] - } - }, - { - "id": "8bf60db47e7b286f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "80px-bold", - "raw": "monospacedSystemFont(ofSize: 80, weight: .bold", - "spec": { - "family": "monospacedSystem", - "size": { - "scalar": 80, - "unit": "px" - }, - "weight": 700 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_text_style": 1 - } - }, - { - "id": "3959c13b373aaddb", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.bodyMedium", - "raw": "ArcadeTextStyle.bodyMedium", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_text_style": 2 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.bodyMedium", - "chain": ["ArcadeTextStyle.bodyMedium"] - } - }, - { - "id": "29e766e9d2f338e7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.bodySmall", - "raw": "ArcadeTextStyle.bodySmall", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_text_style": 1 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.bodySmall", - "chain": ["ArcadeTextStyle.bodySmall"] - } - }, - { - "id": "1f1a4d3fdfcd52b7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.headlineSmall", - "raw": "ArcadeTextStyle.headlineSmall", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "swift_text_style": 2 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.headlineSmall", - "chain": ["ArcadeTextStyle.headlineSmall"] - } - }, - { - "id": "5c6d04f550cf30ff", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.input", - "raw": "ArcadeTextStyle.input", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "swift_text_style": 1 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.input", - "chain": ["ArcadeTextStyle.input"] - } - }, - { - "id": "ea9059c14e84bc48", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.labelXSmall", - "raw": "ArcadeTextStyle.labelXSmall", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "swift_text_style": 2 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.labelXSmall", - "chain": ["ArcadeTextStyle.labelXSmall"] - } - }, - { - "id": "aa8efd3a8ffca98f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "kind": "typography", - "value": "ArcadeTextStyle.pageTitle", - "raw": "ArcadeTextStyle.pageTitle", - "spec": { - "family": "ArcadeTextStyle" - }, - "occurrences": 5, - "files_count": 2, - "usage": { - "swift_text_style": 5 - }, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.pageTitle", - "chain": ["ArcadeTextStyle.pageTitle"] - } - } - ], - "tokens": [ - { - "id": "e9e78c4a09b7d0e9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.brandCashGreen", - "alias_chain": [".Arcade.Base.brandCashGreen"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.brandCashGreen", - "chain": [".Arcade.Base.brandCashGreen"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "564a6f2568c23b25", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.cashGreen10", - "alias_chain": [".Arcade.Base.cashGreen10"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.cashGreen10", - "chain": [".Arcade.Base.cashGreen10"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "d8666052088b15e4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.cashGreen20", - "alias_chain": [".Arcade.Base.cashGreen20"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.cashGreen20", - "chain": [".Arcade.Base.cashGreen20"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "ef089acdb183827b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.cashGreen40", - "alias_chain": [".Arcade.Base.cashGreen40"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.cashGreen40", - "chain": [".Arcade.Base.cashGreen40"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3fbbe3654b88f4d4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.constantBlack", - "alias_chain": [".Arcade.Base.constantBlack"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.constantBlack", - "chain": [".Arcade.Base.constantBlack"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3c84a28539835cf3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Base.constantWhite", - "alias_chain": [".Arcade.Base.constantWhite"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Base.constantWhite", - "chain": [".Arcade.Base.constantWhite"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "1e5f9a59d7034f46", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Component.Button.Prominent.Background.normal", - "alias_chain": [".Arcade.Component.Button.Prominent.Background.normal"], - "resolved_value": "unresolved-external", - "occurrences": 12, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Component.Button.Prominent.Background.normal", - "chain": [".Arcade.Component.Button.Prominent.Background.normal"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "f565b41448612784", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Component.Button.Prominent.Icon.normal", - "alias_chain": [".Arcade.Component.Button.Prominent.Icon.normal"], - "resolved_value": "unresolved-external", - "occurrences": 6, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Component.Button.Prominent.Icon.normal", - "chain": [".Arcade.Component.Button.Prominent.Icon.normal"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "1c6928737a02b64b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Component.Input.cursor", - "alias_chain": [".Arcade.Component.Input.cursor"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Component.Input.cursor", - "chain": [".Arcade.Component.Input.cursor"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "6c67015a5b6caea2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Component.Sheet.background", - "alias_chain": [".Arcade.Component.Sheet.background"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Component.Sheet.background", - "chain": [".Arcade.Component.Sheet.background"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "e73a70523934dbd3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Component.TitleBar.Icon.normal", - "alias_chain": [".Arcade.Component.TitleBar.Icon.normal"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Component.TitleBar.Icon.normal", - "chain": [".Arcade.Component.TitleBar.Icon.normal"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "8a4fcde2a5979d7c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.CornerRadius.large", - "alias_chain": [".Arcade.CornerRadius.large"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "radius", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.large", - "chain": [".Arcade.CornerRadius.large"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "ad6a0fb3d43b7fae", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.CornerRadius.medium", - "alias_chain": [".Arcade.CornerRadius.medium"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "radius", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.medium", - "chain": [".Arcade.CornerRadius.medium"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "2946b44d7bccbbbf", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.CornerRadius.small", - "alias_chain": [".Arcade.CornerRadius.small"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "radius", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.small", - "chain": [".Arcade.CornerRadius.small"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "5f0855c0fbcea01f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.CornerRadius.xlarge", - "alias_chain": [".Arcade.CornerRadius.xlarge"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "radius", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.CornerRadius.xlarge", - "chain": [".Arcade.CornerRadius.xlarge"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "6a6540dfa447e567", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Data.Portion.empty", - "alias_chain": [".Arcade.Data.Portion.empty"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Data.Portion.empty", - "chain": [".Arcade.Data.Portion.empty"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "7b64e9177ce54229", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.app", - "alias_chain": [".Arcade.Semantic.Background.app"], - "resolved_value": "unresolved-external", - "occurrences": 110, - "kind": "color", - "files_count": 41, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.app", - "chain": [".Arcade.Semantic.Background.app"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "de45dd211b554cbe", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.brand", - "alias_chain": [".Arcade.Semantic.Background.brand"], - "resolved_value": "unresolved-external", - "occurrences": 47, - "kind": "color", - "files_count": 4, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.brand", - "chain": [".Arcade.Semantic.Background.brand"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "0f28136d19caba57", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.extraProminent", - "alias_chain": [".Arcade.Semantic.Background.extraProminent"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.extraProminent", - "chain": [".Arcade.Semantic.Background.extraProminent"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "1a3329e4cfc16678", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.inverse", - "alias_chain": [".Arcade.Semantic.Background.inverse"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.inverse", - "chain": [".Arcade.Semantic.Background.inverse"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "0057cac89cf0ba03", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.prominent", - "alias_chain": [".Arcade.Semantic.Background.prominent"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.prominent", - "chain": [".Arcade.Semantic.Background.prominent"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "14806db6f44c3ea7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.standard", - "alias_chain": [".Arcade.Semantic.Background.standard"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "color", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.standard", - "chain": [".Arcade.Semantic.Background.standard"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "9e8b3065aa6d279d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.subtle", - "alias_chain": [".Arcade.Semantic.Background.subtle"], - "resolved_value": "unresolved-external", - "occurrences": 18, - "kind": "color", - "files_count": 13, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.subtle", - "chain": [".Arcade.Semantic.Background.subtle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "36d6bd9521d9cf79", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Background.warning", - "alias_chain": [".Arcade.Semantic.Background.warning"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "color", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Background.warning", - "chain": [".Arcade.Semantic.Background.warning"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "d23ac34f6aae3868", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Border.brand", - "alias_chain": [".Arcade.Semantic.Border.brand"], - "resolved_value": "unresolved-external", - "occurrences": 6, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Border.brand", - "chain": [".Arcade.Semantic.Border.brand"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "5db0231d79b16aa0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Border.prominent", - "alias_chain": [".Arcade.Semantic.Border.prominent"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Border.prominent", - "chain": [".Arcade.Semantic.Border.prominent"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "ebbaa85170bb484c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Border.subtle", - "alias_chain": [".Arcade.Semantic.Border.subtle"], - "resolved_value": "unresolved-external", - "occurrences": 10, - "kind": "color", - "files_count": 7, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Border.subtle", - "chain": [".Arcade.Semantic.Border.subtle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "e8e2c4c8ad8136be", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Icon.disabled", - "alias_chain": [".Arcade.Semantic.Icon.disabled"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Icon.disabled", - "chain": [".Arcade.Semantic.Icon.disabled"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "4b5ed82de194ff68", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Icon.extraSubtle", - "alias_chain": [".Arcade.Semantic.Icon.extraSubtle"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "color", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Icon.extraSubtle", - "chain": [".Arcade.Semantic.Icon.extraSubtle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "33c00a51d69942c1", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Icon.prominent", - "alias_chain": [".Arcade.Semantic.Icon.prominent"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Icon.prominent", - "chain": [".Arcade.Semantic.Icon.prominent"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "0095452f413dfc80", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Icon.standard", - "alias_chain": [".Arcade.Semantic.Icon.standard"], - "resolved_value": "unresolved-external", - "occurrences": 8, - "kind": "color", - "files_count": 7, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Icon.standard", - "chain": [".Arcade.Semantic.Icon.standard"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "512af65db6c22277", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Icon.subtle", - "alias_chain": [".Arcade.Semantic.Icon.subtle"], - "resolved_value": "unresolved-external", - "occurrences": 9, - "kind": "color", - "files_count": 8, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Icon.subtle", - "chain": [".Arcade.Semantic.Icon.subtle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "b3e8c40d54803b28", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.disabled", - "alias_chain": [".Arcade.Semantic.Text.disabled"], - "resolved_value": "unresolved-external", - "occurrences": 6, - "kind": "color", - "files_count": 4, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.disabled", - "chain": [".Arcade.Semantic.Text.disabled"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "9f1f7b0fab6f3896", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.placeholder", - "alias_chain": [".Arcade.Semantic.Text.placeholder"], - "resolved_value": "unresolved-external", - "occurrences": 18, - "kind": "color", - "files_count": 6, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.placeholder", - "chain": [".Arcade.Semantic.Text.placeholder"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "666e84d0599cf7fd", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.prominent", - "alias_chain": [".Arcade.Semantic.Text.prominent"], - "resolved_value": "unresolved-external", - "occurrences": 4, - "kind": "color", - "files_count": 4, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.prominent", - "chain": [".Arcade.Semantic.Text.prominent"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "e94b7b4f4f0436a4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.standard", - "alias_chain": [".Arcade.Semantic.Text.standard"], - "resolved_value": "unresolved-external", - "occurrences": 44, - "kind": "color", - "files_count": 30, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.standard", - "chain": [".Arcade.Semantic.Text.standard"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "22b35db83902d993", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.subtle", - "alias_chain": [".Arcade.Semantic.Text.subtle"], - "resolved_value": "unresolved-external", - "occurrences": 31, - "kind": "color", - "files_count": 26, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.subtle", - "chain": [".Arcade.Semantic.Text.subtle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "17b5d1daa35b2077", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Semantic.Text.warning", - "alias_chain": [".Arcade.Semantic.Text.warning"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "color", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Semantic.Text.warning", - "chain": [".Arcade.Semantic.Text.warning"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "a228822b28e11fd7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Spring.Smooth.fast", - "alias_chain": [".Arcade.Spring.Smooth.fast"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "motion", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.fast", - "chain": [".Arcade.Spring.Smooth.fast"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "fb93cb0969be59ee", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Spring.Smooth.gentle", - "alias_chain": [".Arcade.Spring.Smooth.gentle"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "motion", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.gentle", - "chain": [".Arcade.Spring.Smooth.gentle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "362a71b33e50b235", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.Spring.Smooth.slow", - "alias_chain": [".Arcade.Spring.Smooth.slow"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "motion", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.Spring.Smooth.slow", - "chain": [".Arcade.Spring.Smooth.slow"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3884462fd601c6f2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.add16", - "alias_chain": [".Arcade.add16"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.add16", - "chain": [".Arcade.add16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "d178ca47b2960634", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.alertReportedFill24", - "alias_chain": [".Arcade.alertReportedFill24"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.alertReportedFill24", - "chain": [".Arcade.alertReportedFill24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "b4bc8e8e0ef69073", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.bodyMedium", - "alias_chain": [".Arcade.bodyMedium"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "typography", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.bodyMedium", - "chain": [".Arcade.bodyMedium"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "98c6544ae82b1ef3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.bodyMedium.lineHeight", - "alias_chain": [".Arcade.bodyMedium.lineHeight"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "typography", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.bodyMedium.lineHeight", - "chain": [".Arcade.bodyMedium.lineHeight"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "8efd6e3b93200cf7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.caretDown16", - "alias_chain": [".Arcade.caretDown16"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.caretDown16", - "chain": [".Arcade.caretDown16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "8cfa88b16fa95fe5", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.chatHistory24", - "alias_chain": [".Arcade.chatHistory24"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.chatHistory24", - "chain": [".Arcade.chatHistory24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3d6a6bd929ebd94d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.check16", - "alias_chain": [".Arcade.check16"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "icon-or-component", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.check16", - "chain": [".Arcade.check16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3628c93269270bc5", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.clear24", - "alias_chain": [".Arcade.clear24"], - "resolved_value": "unresolved-external", - "occurrences": 3, - "kind": "icon-or-component", - "files_count": 3, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.clear24", - "chain": [".Arcade.clear24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "4ec4db3ae1910d41", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.document24", - "alias_chain": [".Arcade.document24"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "icon-or-component", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.document24", - "chain": [".Arcade.document24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "c106b0a8b2bda302", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.failed16", - "alias_chain": [".Arcade.failed16"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "icon-or-component", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.failed16", - "chain": [".Arcade.failed16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "c2b9bfc684b67b9b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.large", - "alias_chain": [".Arcade.large"], - "resolved_value": "unresolved-external", - "occurrences": 16, - "kind": "spacing", - "files_count": 11, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.large", - "chain": [".Arcade.large"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "f0c2279d62e07e29", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.margin", - "alias_chain": [".Arcade.margin"], - "resolved_value": "unresolved-external", - "occurrences": 45, - "kind": "spacing", - "files_count": 22, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.margin", - "chain": [".Arcade.margin"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "6e58605a5f11bf45", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.medium", - "alias_chain": [".Arcade.medium"], - "resolved_value": "unresolved-external", - "occurrences": 60, - "kind": "spacing", - "files_count": 32, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.medium", - "chain": [".Arcade.medium"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "19e691f12faa1797", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.navigationNewChat", - "alias_chain": [".Arcade.navigationNewChat"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.navigationNewChat", - "chain": [".Arcade.navigationNewChat"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "93592d9ea563079a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.push24", - "alias_chain": [".Arcade.push24"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.push24", - "chain": [".Arcade.push24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3b56babad5ccb9a9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.recurringAutomatic24", - "alias_chain": [".Arcade.recurringAutomatic24"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.recurringAutomatic24", - "chain": [".Arcade.recurringAutomatic24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "03d7bb837252183f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.sendArrow24", - "alias_chain": [".Arcade.sendArrow24"], - "resolved_value": "unresolved-external", - "occurrences": 5, - "kind": "icon-or-component", - "files_count": 4, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.sendArrow24", - "chain": [".Arcade.sendArrow24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "d897435c98267ac0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.settings24", - "alias_chain": [".Arcade.settings24"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.settings24", - "chain": [".Arcade.settings24"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "ee5ae455b0f844b0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.small", - "alias_chain": [".Arcade.small"], - "resolved_value": "unresolved-external", - "occurrences": 82, - "kind": "spacing", - "files_count": 30, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.small", - "chain": [".Arcade.small"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "71c569e0a1ac4dc8", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.subtleExpand16", - "alias_chain": [".Arcade.subtleExpand16"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "icon-or-component", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.subtleExpand16", - "chain": [".Arcade.subtleExpand16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "423209186d3f2c97", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.subtlePush16", - "alias_chain": [".Arcade.subtlePush16"], - "resolved_value": "unresolved-external", - "occurrences": 6, - "kind": "icon-or-component", - "files_count": 5, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.subtlePush16", - "chain": [".Arcade.subtlePush16"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "ce846085599f77f5", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".Arcade.xsmall", - "alias_chain": [".Arcade.xsmall"], - "resolved_value": "unresolved-external", - "occurrences": 14, - "kind": "spacing", - "files_count": 11, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".Arcade.xsmall", - "chain": [".Arcade.xsmall"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "3a5f75e2843c5a6d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": ".font(.Arcade.bodyMedium)", - "alias_chain": [".font(.Arcade.bodyMedium)"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "typography", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": ".font(.Arcade.bodyMedium)", - "chain": [".font(.Arcade.bodyMedium)"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "a5437456c3ca00d2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.bodyMedium", - "alias_chain": ["ArcadeTextStyle.bodyMedium"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "typography", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.bodyMedium", - "chain": ["ArcadeTextStyle.bodyMedium"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "87bbd5627a5f91dc", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.bodySmall", - "alias_chain": ["ArcadeTextStyle.bodySmall"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "typography", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.bodySmall", - "chain": ["ArcadeTextStyle.bodySmall"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "10001e6e344de564", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.headlineSmall", - "alias_chain": ["ArcadeTextStyle.headlineSmall"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "typography", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.headlineSmall", - "chain": ["ArcadeTextStyle.headlineSmall"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "a9c7e62f815619b7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.input", - "alias_chain": ["ArcadeTextStyle.input"], - "resolved_value": "unresolved-external", - "occurrences": 1, - "kind": "typography", - "files_count": 1, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.input", - "chain": ["ArcadeTextStyle.input"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "4afc515054748b28", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.labelXSmall", - "alias_chain": ["ArcadeTextStyle.labelXSmall"], - "resolved_value": "unresolved-external", - "occurrences": 2, - "kind": "typography", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.labelXSmall", - "chain": ["ArcadeTextStyle.labelXSmall"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "7ce0c494ac9527bb", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ArcadeTextStyle.pageTitle", - "alias_chain": ["ArcadeTextStyle.pageTitle"], - "resolved_value": "unresolved-external", - "occurrences": 5, - "kind": "typography", - "files_count": 2, - "resolution": { - "status": "unresolved-external", - "source_id": "arcade-tokens", - "target": "@swiftpkg_cash_arcade_tokens_spm//:ArcadeTokens", - "symbol": "ArcadeTextStyle.pageTitle", - "chain": ["ArcadeTextStyle.pageTitle"], - "message": "ArcadeTokens is resolved through Bazel external @swiftpkg_cash_arcade_tokens_spm and is not present as local source in this checkout." - } - }, - { - "id": "9df65ce7be0aed79", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "Color.MoneybotUI.ElevatedBackground(for:)", - "alias_chain": ["Color.MoneybotUI.ElevatedBackground(for:)"], - "resolved_value": "light:#fcfcfc dark:.Arcade.Semantic.Background.standard default:.Arcade.Semantic.Background.app", - "occurrences": 5, - "kind": "color", - "files_count": 4, - "resolution": { - "status": "resolved", - "source_id": "moneybot", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "symbol": "Color.MoneybotUI.ElevatedBackground(for:)", - "chain": ["Color.MoneybotUI.ElevatedBackground(for:)"] - } - }, - { - "id": "9a6ae23b39688572", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "Color.MoneybotUI.ElevatedBackgroundPressed(for:)", - "alias_chain": ["Color.MoneybotUI.ElevatedBackgroundPressed(for:)"], - "resolved_value": "light:.Arcade.Semantic.Background.subtle dark:.Arcade.Semantic.Background.prominent default:.Arcade.Semantic.Background.app", - "occurrences": 2, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "resolved", - "source_id": "moneybot", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "symbol": "Color.MoneybotUI.ElevatedBackgroundPressed(for:)", - "chain": ["Color.MoneybotUI.ElevatedBackgroundPressed(for:)"] - } - }, - { - "id": "ff80491411dfe402", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "Color.MoneybotUI.card(for:)", - "alias_chain": ["Color.MoneybotUI.card(for:)"], - "resolved_value": "light:.Arcade.Semantic.Background.subtle dark:#101010 default:.Arcade.Semantic.Background.subtle", - "occurrences": 3, - "kind": "color", - "files_count": 3, - "resolution": { - "status": "resolved", - "source_id": "moneybot", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "symbol": "Color.MoneybotUI.card(for:)", - "chain": ["Color.MoneybotUI.card(for:)"] - } - }, - { - "id": "6f46916e48c2a961", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "Color.MoneybotUI.card", - "alias_chain": ["Color.MoneybotUI.card"], - "resolved_value": "#101010", - "occurrences": 4, - "kind": "color", - "files_count": 2, - "resolution": { - "status": "resolved", - "source_id": "moneybot", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "symbol": "Color.MoneybotUI.card", - "chain": ["Color.MoneybotUI.card", "#101010"] - } - } - ], - "components": [ - { - "id": "0e52d057a7489b16", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AccessoryLabel", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": ["AutomationsHub/AutomationsHub/Sources/AutomationRow.swift"], - "module": "AutomationsHub/AutomationsHub" - }, - { - "id": "ae053113b97fb290", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ActionCard", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/ActionCard.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "4eae49297c1c61a2", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ActivityListView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/ActivityListView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "e62bd555bd11775c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AnimatedTokenView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeAnimatedNextBestActionText.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "f7332e83e0d03ad1", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AnyClientRenderableView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": ["MoneybotUI/MoneybotUI/Sources/AnyClientRenderableView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "3c9bd7e541cf88b5", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AssistantTextMessageView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "8e4285c82ea82f6d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AttachmentButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/AttachmentButton.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "85cc5566ea991a3d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AudioWaveformView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/AudioWaveformView.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "98af6f3efaabcdb3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AutomationsHubCell", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "AutomationsHub/AutomationsHubImplementations/Sources/AutomationsHubCell.swift" - ], - "module": "AutomationsHub/AutomationsHubImplementations" - }, - { - "id": "c23bd981f7c3dc44", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AutomationsHubView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "AutomationsHub/AutomationsHubImplementations/Sources/AutomationsHubView.swift" - ], - "module": "AutomationsHub/AutomationsHubImplementations" - }, - { - "id": "be06ceee1ec6568a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "AxisLabel", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Models/Charts/AxisLabel.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "9abef3ce88e39141", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "BarChartView", - "discovered_via": "Swift UI type heuristic", - "variants": ["chart"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Charts/BarChartView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "0a72eb58dd68c79f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "BriefView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/BriefView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "7e335e705f2ebd90", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ButtonWaveformView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/ClassicComposerView.swift", - "MoneybotUI/MoneybotUI/Sources/Composer/ComposerView.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "114360089e5f97ba", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CanvasBackgroundView", - "discovered_via": "Swift UI type heuristic", - "variants": ["canvas"], - "paths": [ - "MoneybotCanvas/MoneybotCanvasImplementations/Sources/CanvasBackgroundView.swift" - ], - "module": "MoneybotCanvas/MoneybotCanvasImplementations" - }, - { - "id": "681bcfc9b7ae1fab", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CanvasMetalView", - "discovered_via": "Swift UI type heuristic", - "variants": ["canvas"], - "paths": [ - "MoneybotCanvas/MoneybotCanvasImplementations/Sources/CanvasMetalView.swift" - ], - "module": "MoneybotCanvas/MoneybotCanvasImplementations" - }, - { - "id": "0ab1fc1edb7198aa", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CanvasRenderer", - "discovered_via": "Swift UI type heuristic", - "variants": ["canvas"], - "paths": [ - "MoneybotCanvas/MoneybotCanvasImplementations/Sources/CanvasRenderer.swift" - ], - "module": "MoneybotCanvas/MoneybotCanvasImplementations" - }, - { - "id": "f8306871d13cf870", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CellActionCardView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/CellActionCardView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "a5b5721f0e277675", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CellListView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/CellListView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "daa62eecdeabd20f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChartHeader", - "discovered_via": "Swift UI type heuristic", - "variants": ["chart"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Charts/ChartHeader.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "9d0ddb0fe93141fc", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChartLegendView", - "discovered_via": "Swift UI type heuristic", - "variants": ["chart"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Charts/ChartLegendView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "fcc85fa6baee1b6a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatBodyView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatBodyView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "750c2bfb96bb141a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatCardModifier", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Extensions/View+ChatCard.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "17d5f85337f01fda", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatComposerView", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatComposerView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "87e97f26ee0d05cd", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatContentTableViewCell", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/ChatContentTableViewCell.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "24231d22b446aaf7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatContentView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/ChatContentView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "720474563d74905c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatHistoryView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatHistoryView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "d06f5f195358e0d8", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatScrollView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatScrollView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "4bf44539e9c08ec9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatTableView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatTableView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "9fff40ac967f0a01", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatTitleBarView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatTitleBarView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "913e3f464bfaa2cb", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ChatView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "aacf651401b49843", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CircleButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/CircleButtonStyle.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "b0b9c303cda1d996", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ClassicComposerView", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/ClassicComposerView.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "4e9c7170061ea29a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ClientRenderablePreviewView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/GenUIPlayground/ClientRenderablePreviewView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "28cd573c842dd339", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ColorSchemeAwareTitleBar", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/ChatTitleBarView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "00d44cc2b63719ec", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "CompareResponsesDebugView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/CompareResponsesDebugView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "960eac1368fd394d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ComposerAttachmentBar", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/ComposerAttachmentBar.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "67790c2a2f4057f7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ComposerFileAttachmentBar", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/ComposerFileAttachmentBar.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "ce4b52f9660dc88d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ComposerGlassEffectModifier", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/ComposerGlassEffectModifier.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "72a94a8b91992a6c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ComposerTextEditorStyle", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/AnimatedComposerTextEditor.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "f177716477195840", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ComposerView", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": ["MoneybotUI/MoneybotUI/Sources/Composer/ComposerView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "1bcb722ef5be8479", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ConditionalBottomDividerModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/SuggestionListView.swift", - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/CellListView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "2623f073c460216f", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ContinueButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeNextBestActionSectionView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "79ceffcf6c7c83e0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ElevatedCircleButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ElevatedCircleButton.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "be33d64817e40fa8", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ElevationModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Extensions/ElevationModifier.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "3d4ffa452114defd", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "EquityBuysSetupView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "AutomationsHub/AutomationsHubImplementations/Sources/EquityBuysSetupView.swift" - ], - "module": "AutomationsHub/AutomationsHubImplementations" - }, - { - "id": "b9f65efc79ad9ad1", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "FileMessageView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/FileMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "8eba6f7e8caaeff9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "GenUIPlaygroundView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/GenUIPlayground/GenUIPlaygroundView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "04872bac94560a7b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "GenieCardView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/GenieCardView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "fa23a96943753e66", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "GreetingView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/GreetingView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "1c07f0433ba8d94a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "HomeSuggestionButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": ["MoneybotUI/MoneybotUI/Sources/SuggestionCellView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "2918e72f6750771e", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ImageMessageView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/ImageMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "7af4e50a88956288", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "InlineButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/InlineButton.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "327390ee6c97d6b7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "InsightChartView", - "discovered_via": "Swift UI type heuristic", - "variants": ["chart"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Charts/InsightChartView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "8b0f17aa848a7c2b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "LineGraphView", - "discovered_via": "Swift UI type heuristic", - "variants": ["chart"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Charts/LineGraphView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "63d4c4ba93ac8726", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "McpAppContainerView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/McpApp/McpAppContainerView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "5ed0cc5a6107fcc9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "McpAppView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/McpApp/McpAppView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "43e381d2b1bb3f2c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MemoryLabelView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/MemoryLabelView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "d5d2d5795b68bc3a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MessageInsertionAnimationModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/ChatContentView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "bab8a5870dd5d546", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotAutomationsHubCell", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources/MoneybotAutomationsHubCell.swift" - ], - "module": "MoneybotAutomationsHub/MoneybotAutomationsHubImplementations" - }, - { - "id": "c717ecd62abc640c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotAutomationsHubView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotAutomationsHub/MoneybotAutomationsHubImplementations/Sources/MoneybotAutomationsHubView.swift" - ], - "module": "MoneybotAutomationsHub/MoneybotAutomationsHubImplementations" - }, - { - "id": "d2463b8bc11c6b9c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotBodyMediumTextStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "68e328eec794ee6a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotDebugToolsSheetView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/MoneybotDebugToolsSheetView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "7d567c55820b833c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotEmptyStateView", - "discovered_via": "Swift UI type heuristic", - "variants": ["empty-state"], - "paths": ["MoneybotUI/MoneybotUI/Sources/MoneybotEmptyStateView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "887a63fc9355d08e", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeDebugToolsView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeDebugToolsView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "9b54245a0a182579", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeErrorView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeErrorView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "025e5cb97819f897", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeLoadingView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeLoadingView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "d7b6af53a0d9c118", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeNextBestActionSectionView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeNextBestActionSectionView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "9176cfd51736c3e3", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeOverflowView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeOverflowView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "564592f72011f718", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeTitleBarView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeTitleBarView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "7fbe73972058360d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "4686feeaf1d1e3cd", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotHomeWidgetSectionView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeWidgetSectionView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "620d8ef40b925938", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotListItemLabelStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/MarkdownTheme+Moneybot.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "20400787d7468b52", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotRecentChatsView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/Chat/MoneybotRecentChatsView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "bd8de6421fbcab09", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotTitleBarIconButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/MoneybotTitleBarIconButton.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "89544f4410aee225", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotTitleBarIconLabel", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/MoneybotTitleBarIconLabel.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "43a66a4b69e44464", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "MoneybotTitleBarTextButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/MoneybotTitleBarTextButton.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "f1344d7b45ed2392", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "NavigationCard", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/NavigationCard.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "167cf59a41213046", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "PassthroughView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotCanvas/MoneybotCanvasImplementations/Sources/CanvasTouchOverlay.swift" - ], - "module": "MoneybotCanvas/MoneybotCanvasImplementations" - }, - { - "id": "b2d22329274dfb58", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "PinnedAnimationModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/SuggestionListView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "2d39b15d3c3437a4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "PreambleEditorDebugView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/PreambleEditorDebugView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "4311ddf538d80266", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "QuickActionButton", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "f678349a5c0a3f5e", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "QuickActionButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "0dc1ccc6c75bd623", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "RawMessagesView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/RawMessagesView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "9958e8ffbe656f95", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "RealChatOverflowMenuConfigComposer", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Navigation/RealChatOverflowMenuConfigComposer.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "7835c486bfea935c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "RealHomeOverflowMenuConfigComposer", - "discovered_via": "Swift UI type heuristic", - "variants": ["composer"], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Navigation/RealHomeOverflowMenuConfigComposer.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "b6ab5a2abea18f34", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "RealMoneybotWidgetRenderer", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Models/ClientRender/RealMoneybotWidgetRenderer.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "f1adef6a5e78830a", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SavingsGoalIconView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/SavingsGoalProgressRing.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "e32af908de358b66", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SavingsGoalProgressRing", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/SavingsGoalProgressRing.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "5a054b393e00e38d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ScrollEdgeGradientModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Extensions/ScrollEdgeGradientModifier.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "fdd059747cded0a0", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SizingTextView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUI/Sources/Composer/InternalPaddingTextEditor.swift" - ], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "2a09d8a96315284b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SkipButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotHome/MoneybotHomeImplementations/Sources/Views/MoneybotHomeNextBestActionSectionView.swift" - ], - "module": "MoneybotHome/MoneybotHomeImplementations" - }, - { - "id": "6fc616f0db479175", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SlashCommandMenuView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/SlashCommand/SlashCommandMenuView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "30148004314e5a07", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SuggestionCellView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": ["MoneybotUI/MoneybotUI/Sources/SuggestionCellView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "6e3880ffb5a78964", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SuggestionIconView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": ["MoneybotUI/MoneybotUI/Sources/SuggestionIconView.swift"], - "module": "MoneybotUI/MoneybotUI" - }, - { - "id": "17d782e591190717", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SuggestionListView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/SuggestionListView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "bd7ed66d958c30c7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SuggestionListWidgetAnimationModifier", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/SuggestionListWidgetView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "672238e44b6ef1a7", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "SuggestionListWidgetView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/SuggestionListWidgetView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "db0ba38a7aca0438", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TappableChatCardButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Extensions/View+ChatCard.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "72aca6bb338a50f5", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardAmountFieldView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardAmountFieldView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "99c27702aeb0314c", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardBottomPickerView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardBottomPickerView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "0e1182ef034a3a10", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardButtonStyle", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "5ce13a9e09d2b086", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardPickerFieldView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardPickerFieldView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "1be99e240e79e9c9", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardPickerSheetView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardPickerSheetView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "349d850bffce870e", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardTextFieldView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardTextFieldView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "09375c02a5c0648d", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TemplateCardView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TemplateCard/TemplateCardView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "fd071697fc6553e8", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TextCardView", - "discovered_via": "Swift UI type heuristic", - "variants": ["card"], - "paths": [ - "MoneybotUI/MoneybotUIImplementations/Sources/Views/Cards/TextCardView.swift" - ], - "module": "MoneybotUI/MoneybotUIImplementations" - }, - { - "id": "5ebcff83ac8c3d05", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TextMessageView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "85614d06a54937da", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TokenUsageDebugView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/TokenUsageDebugView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "64e4570db582045b", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "ToolsDebugView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ToolsDebugView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "13462c344795c614", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "TooltipView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TooltipView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "c1fea3c6348191da", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "UserTextMessageView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/ChatContent/TextMessageView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - }, - { - "id": "8e0ff1ecf54dd4d4", - "source": { - "id": "moneybot", - "role": "primary", - "target": "squareup/cash-ios/Code/Features/Moneybot", - "commit": "9dce179a54f", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "dogfood-cash-ios-moneybot-1" - }, - "name": "VoiceInputDebugView", - "discovered_via": "Swift UI type heuristic", - "variants": [], - "paths": [ - "MoneybotChat/MoneybotChatImplementations/Sources/Views/VoiceInputDebugView.swift" - ], - "module": "MoneybotChat/MoneybotChatImplementations" - } - ] -} diff --git a/dogfood/dsgn-playground/fingerprint.md b/dogfood/dsgn-playground/fingerprint.md deleted file mode 100644 index 0d8f446a..00000000 --- a/dogfood/dsgn-playground/fingerprint.md +++ /dev/null @@ -1,224 +0,0 @@ ---- -id: dsgn-playground -source: llm -timestamp: 2026-05-04T00:00:00Z -sources: - - squareup/dsgn-playground - - block/ghost/packages/ghost-ui (reference only) -observation: - personality: - - editorial - - monochromatic - - media-first - - kinetic - - pill-shaped - - cash-branded - resembles: - - ghost-ui - - Cash App -references: - specs: - - src/app.css - - src/scss/_variables.scss - - src/scss/_fonts.scss - - src/scss/_breakpoints.scss - - src/scss/_mixins.scss - - src/scss/_editorial.scss - - src/scss/global.scss - - src/scss/design-drops.scss - components: - - src/lib/components - - src/lib/animations - examples: - - src/routes/+page.svelte - - src/routes/drops - - ../../packages/ghost-ui/fingerprint.md - - ../../packages/ghost-ui/src/styles/main.css -decisions: - - dimension: color-strategy - - dimension: font-sourcing - - dimension: typography-voice - - dimension: shape-language - - dimension: spatial-system - - dimension: surface-hierarchy - - dimension: elevation - - dimension: motion - - dimension: theming-architecture - - dimension: composition-patterns -checks: [] -palette: - dominant: - - role: ink - value: "#1a1a1a" - - role: page - value: "#ffffff" - - role: soft-surface - value: "#f5f5f5" - - role: line - value: "#e5e5e5" - - role: inverse - value: "#000000" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f2f2f2" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#0a0a0a" - - "#000000" - count: 14 - semantic: - - role: destructive - value: "#dc2626" - - role: destructive-dark - value: "#ef4444" - - role: success - value: "#22c55e" - saturationProfile: muted - contrast: high -spacing: - scale: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 24, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 75, 80, 96, 100, 120, 180, 200, 220] - regularity: 0.74 - baseUnit: 2 -typography: - families: - - "Cash Sans" - - "Cash Sans Wide" - - "Cash Sans Mono" - - "Source Code Pro" - - "Courier" - - "Helvetica Neue" - sizeRamp: [10, 11.2, 12, 12.8, 13.6, 14, 14.4, 15.2, 16, 17.6, 18, 20, 24, 28, 32, 35, 40, 45, 48, 55, 56, 128, 192] - weightDistribution: - "300": 2 - "400": 7 - "500": 12 - "600": 6 - "700": 6 - "900": 7 - lineHeightPattern: tight -surfaces: - borderRadii: [0, 2, 4, 6, 10, 12, 16, 999] - shadowComplexity: layered - borderUsage: moderate -metadata: - survey_values: 433 - survey_tokens: 165 - survey_components: 29 - ghost_ui_reference: ../../packages/ghost-ui/fingerprint.md ---- - -# Character - -A monochrome editorial-gallery language with a strong Cash-family voice: wide display type, small metadata, media-as-surface, and black pill chrome. It shares Ghost UI's achromatic discipline, pill controls, and editorial confidence, but it is more kinetic and image-led; motion, parallax, reveal, and full-screen detail transitions are part of the identity rather than decorative trim. Color mostly steps aside so posted work, thumbnails, and media panels become the expressive material. - -# Signature - -The recognizable move is a full-viewport editorial opening that gives way to dense media grids, dark rounded detail panels, and fixed bottom or corner controls. Output should feel like a curated internal design magazine: black-and-white structure, Cash Sans authority, generous hero scale, tight utility labels, and compact pills or circular controls for actions. Compared with Ghost UI, keep the shared monochrome/pill/editorial foundation but bias toward immersive moving gallery surfaces over reusable catalogue chrome. - -# Decisions - -### color-strategy - -Use achromatic structure by default, with hue reserved for destructive, success, upload/error, media-overlay, or user-supplied content. The token layer defines a grayscale ladder first; applied color repeats the same black/white/gray vocabulary for controls, modal panels, card overlays, text metadata, and dark detail surfaces. Do not add ambient brand gradients or decorative color fills unless the content itself provides the color. - -**Evidence:** -- Fresh survey color evidence: 76 color rows, led by `#1a1a1a`, `#ffffff`, `#e5e5e5`, `#000000`, `#f0f0f0`, white alpha overlays, and dark alpha overlays. -- The neutral ladder is `#ffffff`, `#f5f5f5`, `#f2f2f2`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#0a0a0a`, and `#000000`. -- Semantic hue is narrow: destructive uses `#dc2626` / `#ef4444`, success uses `#22c55e`. -- Theme tokens keep the same vocabulary across light and dark: `--background`, `--foreground`, `--muted`, `--line`, `--surface-dark`, `--accent`, `--contrast`, and their Tailwind `--color-*` aliases. - -### font-sourcing - -Use Cash Sans as the brand face, Cash Sans Wide for editorial display, and Cash Sans Mono for small metadata or system-flavored subtitles. Fonts are explicitly loaded from Cash-owned font assets; the fingerprint should not drift into generic webfont imports or unrelated display faces. The type identity is closer to Cash App editorial than to a neutral dashboard. - -**Evidence:** -- Fresh survey token evidence includes Cash Sans family aliases: `--font-sans`, `--font-display`, `--font-editorial-mono`, `$cashSans`, `$cashSansWide`, and `$cashSansMono`. -- Font-face evidence covers Cash Sans weights 400/500/600/700/900, Cash Sans Mono weights 300/500/700, and Cash Sans Wide weights 400/500/600/700/900. -- Survey typography rows repeatedly observe `Cash Sans`, `Cash Sans Wide`, and `Cash Sans Mono`; `Source Code Pro`, `Courier`, and `Helvetica Neue` appear only as mono/fallback support. - -### typography-voice - -Typography is editorial, not purely utilitarian: wide uppercase display titles establish the page, while tiny uppercase subtitle labels and compact metadata create rhythm around media. The system permits major scale contrast, including hero display sizes, but most chrome labels stay tight, all-caps, and low-height. Body copy can loosen to 1.6 line-height, yet the visual voice is defined by heavy weight, tight line-height, and negative tracking in headings. - -**Evidence:** -- Fresh survey typography evidence: 67 typography rows; weights cluster at 500 (12 occurrences), 400 (7), 900 (7), 600 (6), 700 (6), and 300 (2). -- Editorial display type uses Cash Sans Wide, weight 900, `clamp(3rem, 12vw, 12rem)`, line-height `0.9`, letter-spacing `-0.04em`, uppercase. -- Editorial subtitle type uses Cash Sans Mono, weight 300, `clamp(0.65rem, 0.8vw, 0.85rem)`, letter-spacing `0.1em`, uppercase. -- Heading tokens use 35px / 45px / 55px sizes, `110%` line-height, and negative tracking from `-0.04em` to `-0.02em`. - -### shape-language - -Shape separates interaction from containers. Buttons, filters, link actions, progress bars, metadata pills, and dock controls are pills or circles; media cards, modals, upload areas, dropdowns, and detail panels use moderate 10-16px rounding. Sharp corners appear only as explicit resets inside media fills or borderless text inputs, not as the default posture. - -**Evidence:** -- Fresh survey radius evidence: `border-radius: 999px` appears 14 times across 10 files; `rounded-full` appears 4 times. -- Structural surfaces cluster at `12px` and `16px`, with smaller local affordances at 10px, 6px, 4px, and 2px. -- Pill/control tokens are `--radius-input: 999px`, `--radius-button: 999px`, and `--radius-pill: 999px`; structural tokens are `--radius-card: 12px`, `--radius-card-lg: 16px`, `--radius-card-sm: 10px`, `--radius-dropdown: 10px`, and `--radius-modal: 16px`. - -### spatial-system - -Spacing is compact at card/grid and form-control scale, then roomy at editorial breaks. Grids and metadata clusters can sit on 4-12px rhythms, controls often use 44-56px heights, and page/section surfaces jump to 75/100/120/200px intervals for magazine breathing room. This is a 2px/4px-compatible system with deliberate editorial leaps, not a purely even component-library scale. - -**Evidence:** -- Fresh survey spacing evidence: 162 spacing rows; frequent values include 6px gaps, 8px padding/gaps, 12px gaps/padding, 20px padding, 28px padding, 32px padding, 44px controls, 56px controls, and 60px/75px/100px editorial gaps. -- Control-height tokens are `--spacing-input: 3.25rem` (52px), `--spacing-input-sm: 2.75rem` (44px), `--spacing-button: 2.75rem` (44px), and `--spacing-button-sm: 2rem` (32px). -- Breakpoint evidence is compact and explicit: 480px, 960px, 1440px, and 1920px. -- Large editorial/page values include 75px heading margin, 100px section padding, 120px media/logo sizing, 180-220px upload/media affordances, and 200px transition offsets. - -### surface-hierarchy - -Surface hierarchy comes from inversion, media framing, borders, and local dark panels rather than many background colors. The main feed is white and content-led; detail and modal flows can invert into near-black panels; cards use subtle borders and overlay pills to keep metadata legible over media. Avoid stacking generic white cards inside white pages unless the task is a form or operational control. - -**Evidence:** -- Fresh survey color/surface evidence shows dark detail surfaces built from `#1a1a1a`, `#0a0a0a`, `#f5f5f5`, `rgba(255, 255, 255, 0.08)`, and `rgba(255, 255, 255, 0.5)`. -- Media cards use asset-as-surface with a subtle border, gradient overlay, and black pill metadata. -- Large-screen detail composition uses a dark information panel paired with a white media frame; the surface contrast does more work than elevation. -- Form flows use a white modal shell, borderless text fields, pale upload surfaces, and pill actions rather than nested card stacks. - -### elevation - -Elevation is present but restrained and named by role. Most hierarchy is flat border/contrast, while popovers, modals, cards, buttons, and focus states use a small shadow vocabulary. Avoid arbitrary deep shadows that make the gallery feel like a SaaS dashboard stack. - -**Evidence:** -- Fresh survey shadow evidence: 14 shadow rows, including named usage of `shadow-mini`, `shadow-popover`, `shadow-btn`, `shadow-card`, `shadow-elevated`, `shadow-modal`, and focus/date-field shadows. -- Named shadow tokens cover mini, inset mini, popover, keyboard, button, card, elevated, modal, and date-field focus roles. -- Concrete shadow values include `0 2px 8px rgba(76, 76, 76, 0.15)`, `0 8px 30px rgba(0, 0, 0, 0.12)`, and `0 20px 60px rgba(0, 0, 0, 0.2)`, with darker equivalents in dark mode. - -### motion - -Motion is one of the signatures. It should communicate gallery browsing, state transitions, filtering, opening detail, and content reveal: scroll-triggered card reveal, grid-to-detail transition, bottom-up modal entrance, streamed hero text, parallax media, and a hand-drawn loading mark. Keep motion functional and tactile; do not replace it with unrelated decorative loops, but preserve the lively 0.1-0.6s interaction range and longer 0.8-1.2s cinematic reveal constants. - -**Evidence:** -- Fresh survey motion evidence: 40 motion rows, led by `all 0.15s ease`, GSAP `duration: 0.6`, `duration: 0.5`, `all 0.3s ease`, Tailwind `duration-150`, `expo.out`, and `power2.out`. -- Shared animation constants include grid zoom 1.2s, text reveal 1.2s, scroll reveal 0.8s, Flip 0.6s, card reveal 0.9s, card reveal scale 0.92, and y-offset 80. -- Modal and detail transitions slide from bottom over 0.5-0.6s, reveal content with 0.5s staggered motion, and fade surrounding grids back with 0.3-0.35s opacity transitions. -- Hero and loading states use word streaming, blur/y reveal, title fade, logo fade, and hand-drawn SVG path animation. - -### theming-architecture - -The theme architecture is inline and project-local: light/dark custom properties feed Tailwind 4 through `@theme inline`, while a parallel SCSS layer carries grayscale, type, radius, breakpoint, and editorial mixins for local composition. This is not a full upstream token package; changes should happen at the token/mixin layer before spreading literals into components. - -**Evidence:** -- Fresh survey token evidence: 165 token rows, including 125 unique CSS custom properties, 26 unique SCSS variables, consumed Tailwind defaults, and font-family declarations. -- Theme structure declares `:root`, `.dark`, and `@theme inline`; each `--color-*` alias resolves through semantic variables such as `--background`, `--foreground`, `--muted`, `--border-card`, `--destructive`, and `--contrast` (source provenance: `src/app.css`). -- The SCSS layer holds the grayscale palette, semantic colors, Cash font variables, breakpoint map, editorial type mixins, pill mixin, foreground blends, and page/section heading variables. - -### composition-patterns - -Composition should be selected by task, with three recurring shapes: an editorial article/hero for public-facing context, a masonry-like media gallery for browsing work, and a split detail/control surface for viewing or creation. Cards are one surface in the gallery, not the default answer shape; modal and detail flows often invert into black panels or borderless form fields. Compared with Ghost UI, keep the editorial and pill DNA but favor immersive media grids and full-screen transitions over registry catalogue pages. - -**Evidence:** -- The opening shape pairs a full-viewport hero/wordmark/status area with a downstream grouped media feed. -- Browse surfaces use varied media-card sizing, black pill metadata, subtle borders, and parallax/reveal movement. -- Detail surfaces use an approximately 2/5 information panel and 3/5 media panel at large breakpoints, with dark details and a white media frame. -- Creation flows use borderless form fields, upload media, link pills, contributor comboboxes, and pill submit/cancel actions. -- Ghost UI is a nearby internal fingerprint for monochrome editorial/pill decisions, but this fresh survey shows more motion, media framing, local SCSS composition, and app-specific full-screen transitions. diff --git a/dogfood/dsgn-playground/map.md b/dogfood/dsgn-playground/map.md deleted file mode 100644 index 5ebf5616..00000000 --- a/dogfood/dsgn-playground/map.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -schema: ghost.map/v1 -id: dsgn-playground -repo: squareup/dsgn-playground -mapped_at: 2026-05-04 -platform: web -languages: - - { name: typescript, files: 77, share: 0.484 } - - { name: svelte, files: 36, share: 0.226 } - - { name: json, files: 17, share: 0.107 } - - { name: markdown, files: 7, share: 0.044 } - - { name: scss, files: 7, share: 0.044 } - - { name: javascript, files: 6, share: 0.038 } - - { name: yaml, files: 5, share: 0.031 } - - { name: shell, files: 2, share: 0.013 } - - { name: css, files: 1, share: 0.006 } - - { name: html, files: 1, share: 0.006 } -build_system: [pnpm, vite] -package_manifests: - - package.json -composition: - frameworks: - - { name: svelte, version: "5.39.8" } - - { name: sveltekit, version: "2.43.7" } - - { name: vite, version: "6.3.6" } - - { name: tailwindcss, version: "4.1.14" } - - { name: bits-ui, version: "1.8.0" } - - { name: gsap, version: "3.14.2" } - - { name: phosphor-svelte, version: "3.0.1" } - rendering: sveltekit - styling: - - tailwindcss-v4 - - scss - - css-custom-properties - navigation: sveltekit-router -design_system: - paths: - - src/app.css - - src/scss - - src/lib/components - - src/lib/animations - entry_files: - - src/app.css - - src/scss/_variables.scss - - src/scss/_fonts.scss - - src/scss/_breakpoints.scss - - src/scss/_mixins.scss - - src/scss/_editorial.scss - - src/scss/global.scss - - src/scss/design-drops.scss - - tailwind.config.js - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - src/app.css - - src/scss/** - - src/lib/components/** - - src/lib/animations/** - - src/routes/** - exclude: - - "**/node_modules/**" - - "**/dist/**" - - "**/build/**" - - "**/.svelte-kit/**" - - "**/*.test.ts" - - "**/*.spec.ts" - - src/lib/server/** - - src/routes/api/** -feature_areas: - - name: tokens-and-theme - paths: - - src/app.css - - src/scss - sub_areas: - - tailwind-theme - - scss-variables - - cash-fonts - - breakpoint-mixins - - editorial-mixins - - name: editorial-feed - paths: - - src/routes/+page.svelte - - src/lib/components/EditorialHero.svelte - - src/lib/components/FeedTimeline.svelte - - src/lib/components/FeedGrid.svelte - - src/lib/components/GridCard.svelte - - name: post-detail - paths: - - src/lib/components/PostExpanded.svelte - - src/lib/components/Post.svelte - - src/lib/components/PostPreview.svelte - - src/routes/post/[id] - - name: creation-flow - paths: - - src/lib/components/PostEdit.svelte - - src/lib/components/Combobox.svelte - - src/lib/components/Select.svelte - - src/lib/components/Modal.svelte - - name: media-surfaces - paths: - - src/lib/components/Media.svelte - - src/lib/components/Video.svelte - - src/lib/components/AudioPlayer.svelte - - src/lib/components/Placeholder.svelte - - name: design-drops - paths: - - src/routes/drops - - src/scss/design-drops.scss - - name: motion-system - paths: - - src/lib/animations - - src/lib/components/ScribbleLoader.svelte -orientation_files: - - README.md - - src/app.css - - src/scss/_variables.scss - - src/scss/_editorial.scss - - src/scss/design-drops.scss - - src/lib/components/EditorialHero.svelte - - src/lib/components/GridCard.svelte - - src/lib/components/PostExpanded.svelte - - src/lib/components/PostEdit.svelte - - ../ghost/packages/ghost-ui/fingerprint.md ---- - -## Identity - -Design Playground is a SvelteKit web app for Block's design community: a media-heavy internal gallery where designers post work, browse a feed, open detailed showcases, and collect work into drops. It is an app, not a reusable UI package, but it carries a clear in-repo design language through `src/app.css`, SCSS variables and mixins, Svelte component styles, and GSAP-driven interaction. - -## Topology - -The design language is split between a Tailwind 4 token sheet (`src/app.css`) and SCSS authoring layers under `src/scss`. `src/app.css` declares light/dark semantic custom properties, `@theme inline` aliases, Cash Sans font aliases, radii, named shadows, control heights, breakpoints, and animation tokens. The SCSS files provide the grayscale palette, Cash Sans font-face loads, editorial mixins, breakpoint helpers, and a `design-drops.scss` layer for the drops pages. - -Product surfaces live primarily in `src/lib/components` and `src/routes`. The home feed (`EditorialHero`, `FeedTimeline`, `FeedGrid`, `GridCard`) is the canonical first read for the editorial-media posture; `PostExpanded`, `Post`, `PostEdit`, `Modal`, `Combobox`, and `Select` show how the same tokens behave in dense operational flows. Server, API, database, and sync folders are excluded because they do not shape the visual language. - -## Conventions - -The app blends Tailwind utility classes with substantial component-local SCSS. Global tokens are monochrome and Square/Cash-branded: Cash Sans, Cash Sans Wide, and Cash Sans Mono are loaded from `cash-f.squarecdn.com`, while color defaults to grayscale with red reserved for destructive/error states. Motion is a first-class convention: GSAP scroll reveal, grid reveal, Flip-like transitions, modal slide-ins, and a hand-drawn SVG loader give the playground a kinetic gallery feel. - -For dogfooding Ghost, the closest internal comparison point is `ghost-ui`: this scan keeps a direct orientation reference to `../ghost/packages/ghost-ui/fingerprint.md`. The two systems share monochrome editorial discipline, Cash-family affinity, pill controls, and high-contrast surface treatment, but Playground is more media-first and animated, with local SCSS composition instead of a registry-distributed React design system. diff --git a/dogfood/dsgn-playground/survey.json b/dogfood/dsgn-playground/survey.json deleted file mode 100644 index 6d3cd8e8..00000000 --- a/dogfood/dsgn-playground/survey.json +++ /dev/null @@ -1,12868 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - } - ], - "values": [ - { - "id": "8d05ab288eef0c23", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "breakpoints: 1440px", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "6303b97bdf1f567f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "breakpoint", - "value": "1920px", - "raw": "breakpoints: 1920px", - "spec": { - "scalar": 1920, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "9b6431561f7df884", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "breakpoint", - "value": "480px", - "raw": "breakpoints: 480px", - "spec": { - "scalar": 480, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "5346d4794a0d8e96", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "breakpoint", - "value": "960px", - "raw": "breakpoints: 960px", - "spec": { - "scalar": 960, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "623821e31e4fccbc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "#1a1a1a", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 13, - "usage": { - "literal": 13 - }, - "files_count": 7 - }, - { - "id": "94f89da7c680d0b2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#ffffff", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 8, - "usage": { - "literal": 8 - }, - "files_count": 3 - }, - { - "id": "9e8d8464ae046870", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "#e5e5e5", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 7, - "usage": { - "literal": 7 - }, - "files_count": 5 - }, - { - "id": "893d3e609c9f5acb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 6, - "usage": { - "literal": 6 - }, - "files_count": 4 - }, - { - "id": "ba3466a03f897b8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "#f0f0f0", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 5, - "usage": { - "literal": 5 - }, - "files_count": 5 - }, - { - "id": "732fd48bd7b270ec", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "rgba(255, 255, 255, 0.08)", - "spec": { - "space": "unknown" - }, - "occurrences": 5, - "usage": { - "function": 5 - }, - "files_count": 4 - }, - { - "id": "49a3b24f7392ef76", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#232323", - "raw": "#232323", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 4, - "usage": { - "literal": 4 - }, - "files_count": 2 - }, - { - "id": "47cde0cf0b844fd5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#999999", - "raw": "#999999", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 4, - "usage": { - "literal": 4 - }, - "files_count": 2 - }, - { - "id": "975b73d0eba362b7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#fff", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 4, - "usage": { - "literal": 4 - }, - "files_count": 3 - }, - { - "id": "f3f9d400c03a6ce7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.4)", - "raw": "rgba(0, 0, 0, 0.4)", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "usage": { - "function": 4 - }, - "files_count": 1 - }, - { - "id": "df6242d3a9b74242", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "rgba(255, 255, 255, 0.5)", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "usage": { - "function": 4 - }, - "files_count": 3 - }, - { - "id": "89e16bb752f84c5d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(76, 76, 76, 0.15)", - "raw": "rgba(76, 76, 76, 0.15)", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "usage": { - "function": 4 - }, - "files_count": 1 - }, - { - "id": "fe886b27dc21d041", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#333333", - "raw": "#333333", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 2 - }, - { - "id": "1c0260545fad54a7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#666666", - "raw": "#666666", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 2 - }, - { - "id": "4753d1655a670798", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#999999", - "raw": "#999", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 3 - }, - { - "id": "f468ee7ccf374380", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#dc2626", - "raw": "#dc2626", - "spec": { - "space": "srgb", - "hex": "#dc2626" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 3 - }, - { - "id": "783e230cb16639c5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "#e8e8e8", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 3 - }, - { - "id": "07982a4bb439a6dd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ef4444", - "raw": "#ef4444", - "spec": { - "space": "srgb", - "hex": "#ef4444" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 3 - }, - { - "id": "54207d15450d12db", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "#f5f5f5", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 3, - "usage": { - "literal": 3 - }, - "files_count": 2 - }, - { - "id": "10f48da619b992e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.08)", - "raw": "rgba(0, 0, 0, 0.08)", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "usage": { - "function": 3 - }, - "files_count": 2 - }, - { - "id": "9b81584673541ca3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.12)", - "raw": "rgba(0, 0, 0, 0.12)", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "usage": { - "function": 3 - }, - "files_count": 3 - }, - { - "id": "24720d626aca7a8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.3)", - "raw": "rgba(0, 0, 0, 0.3)", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "usage": { - "function": 3 - }, - "files_count": 2 - }, - { - "id": "8d49e7343d73826f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.5)", - "raw": "rgba(0, 0, 0, 0.5)", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "usage": { - "function": 3 - }, - "files_count": 2 - }, - { - "id": "f99b0e192b136a6f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#22c55e", - "raw": "#22c55e", - "spec": { - "space": "srgb", - "hex": "#22c55e" - }, - "occurrences": 2, - "usage": { - "literal": 2 - }, - "files_count": 2 - }, - { - "id": "f2333142393ff243", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#666666", - "raw": "#666", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 2, - "usage": { - "literal": 2 - }, - "files_count": 2 - }, - { - "id": "71786360bae62b0b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#cccccc", - "raw": "#cccccc", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 2, - "usage": { - "literal": 2 - }, - "files_count": 2 - }, - { - "id": "1e9e243e08c052fd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f2f2f2", - "raw": "#f2f2f2", - "spec": { - "space": "srgb", - "hex": "#f2f2f2" - }, - "occurrences": 2, - "usage": { - "literal": 2 - }, - "files_count": 1 - }, - { - "id": "3d9fef472cb61512", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.8)", - "raw": "rgba(0, 0, 0, 0.8)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "bdd577086ac687a4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.9)", - "raw": "rgba(0, 0, 0, 0.9)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "05046e90eac98068", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0)", - "raw": "rgba(0, 0, 0, 0)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "25e24598ad9e7479", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.1)", - "raw": "rgba(255, 255, 255, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "f65136045542eccf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.2)", - "raw": "rgba(255, 255, 255, 0.2)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "61cdf3099f7cc67d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.3)", - "raw": "rgba(255, 255, 255, 0.3)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "d26a83109218cb8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.4)", - "raw": "rgba(255, 255, 255, 0.4)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 1 - }, - { - "id": "2c5b6414dd448a4e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.6)", - "raw": "rgba(255, 255, 255, 0.6)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "7ca380f19cee70cf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.9)", - "raw": "rgba(255, 255, 255, 0.9)", - "spec": { - "space": "unknown" - }, - "occurrences": 2, - "usage": { - "function": 2 - }, - "files_count": 2 - }, - { - "id": "0e93fabbd755c1fc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#000000", - "raw": "#000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "c323b3912f18b68e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "#0a0a0a", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "7a2856a6814f2539", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#0acf83", - "raw": "#0acf83", - "spec": { - "space": "srgb", - "hex": "#0acf83" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "9c25fe3286a4b228", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#1abcfe", - "raw": "#1abcfe", - "spec": { - "space": "srgb", - "hex": "#1abcfe" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "18a0203863bdf0f5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#2eb67d", - "raw": "#2EB67D", - "spec": { - "space": "srgb", - "hex": "#2eb67d" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "dd4888730cdc2143", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#36c5f0", - "raw": "#36C5F0", - "spec": { - "space": "srgb", - "hex": "#36c5f0" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "51165083e480bf00", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#555555", - "raw": "#555555", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "a92222a982763a02", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#626262", - "raw": "#626262", - "spec": { - "space": "srgb", - "hex": "#626262" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "5542e034e9b0b8bf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#a259ff", - "raw": "#a259ff", - "spec": { - "space": "srgb", - "hex": "#a259ff" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "65df040f5254b4e0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#e01e5a", - "raw": "#E01E5A", - "spec": { - "space": "srgb", - "hex": "#e01e5a" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "013d4b629de4ae1b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ecb22e", - "raw": "#ECB22E", - "spec": { - "space": "srgb", - "hex": "#ecb22e" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "57c78f1f2933abad", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f24e1e", - "raw": "#f24e1e", - "spec": { - "space": "srgb", - "hex": "#f24e1e" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "015dd16bafa082b7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f87171", - "raw": "#f87171", - "spec": { - "space": "srgb", - "hex": "#f87171" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "b2610ea14222e4e1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#f8f9fb", - "raw": "#f8f9fb", - "spec": { - "space": "srgb", - "hex": "#f8f9fb" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "1a5c825af26a27ad", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#faf8fa", - "raw": "#faf8fa", - "spec": { - "space": "srgb", - "hex": "#faf8fa" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "c0c94ac149fce7b7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#fafaf8", - "raw": "#fafaf8", - "spec": { - "space": "srgb", - "hex": "#fafaf8" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "ab6b54a6f6ab3d48", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ff3e3e", - "raw": "#ff3e3e", - "spec": { - "space": "srgb", - "hex": "#ff3e3e" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "3b2177a94ebdef9e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "#ff7262", - "raw": "#ff7262", - "spec": { - "space": "srgb", - "hex": "#ff7262" - }, - "occurrences": 1, - "usage": { - "literal": 1 - }, - "files_count": 1 - }, - { - "id": "59714cff0807fd93", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba($destructive, 0.05)", - "raw": "rgba($destructive, 0.05)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "22c95e284850e531", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.05)", - "raw": "rgba(0, 0, 0, 0.05)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "96315181aa81b42d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.06)", - "raw": "rgba(0, 0, 0, 0.06)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "ad21c7b954b92487", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.1)", - "raw": "rgba(0, 0, 0, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "ff247b03dac86717", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.2)", - "raw": "rgba(0, 0, 0, 0.2)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "0a6da8b1dc9c3369", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.6)", - "raw": "rgba(0, 0, 0, 0.6)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "8d7abadee6427e47", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.75)", - "raw": "rgba(0, 0, 0, 0.75)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "9c18afc725e33861", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(242, 242, 242, 0.04)", - "raw": "rgba(242, 242, 242, 0.04)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "f6870b482186a1d6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(242, 242, 242, 0.1)", - "raw": "rgba(242, 242, 242, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "575ba61e4d18d771", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(242, 242, 242, 0.4)", - "raw": "rgba(242, 242, 242, 0.4)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "1cf55e8bef43a2dc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(244, 244, 245, 0.1)", - "raw": "rgba(244, 244, 245, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "8c65e1c1b600b393", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.12)", - "raw": "rgba(255, 255, 255, 0.12)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "3c381b4aaf17b918", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.25)", - "raw": "rgba(255, 255, 255, 0.25)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "07862512bd9220fa", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.7)", - "raw": "rgba(255, 255, 255, 0.7)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "ed32701d48b1ef31", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.95)", - "raw": "rgba(255, 255, 255, 0.95)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "354cd9ebb74c95ad", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 1)", - "raw": "rgba(255, 255, 255, 1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "e92662f6beb0f0ba", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "rgba(26, 26, 26, 0.04)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "fdba70438a46d35a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "rgba(26, 26, 26, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "87a2a893a23e5c76", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.15)", - "raw": "rgba(26, 26, 26, 0.15)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "00cc8da371bb3537", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "rgba(26, 26, 26, 0.4)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "426a0e7800174178", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(76, 76, 76, 0.1)", - "raw": "rgba(76, 76, 76, 0.1)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "b2bbac3c2c6c68c7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "color", - "value": "rgba(76, 76, 76, 0.22)", - "raw": "rgba(76, 76, 76, 0.22)", - "spec": { - "space": "unknown" - }, - "occurrences": 1, - "usage": { - "function": 1 - }, - "files_count": 1 - }, - { - "id": "b1c4f43890800463", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1px", - "raw": "border: 1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 10, - "usage": { - "css_property": 10 - }, - "files_count": 7 - }, - { - "id": "061721c08850f0ad", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1fr", - "raw": "grid-template-columns: 1fr", - "spec": { - "scalar": 1, - "unit": "fr" - }, - "occurrences": 8, - "usage": { - "css_property": 8 - }, - "files_count": 4 - }, - { - "id": "8070cddeb01ee58b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0", - "raw": "y: 0", - "spec": { - "kind": "animation-offset", - "raw": "y: 0" - }, - "occurrences": 6, - "usage": { - "animation_config": 6 - }, - "files_count": 5 - }, - { - "id": "f9981c21258ecc1a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "8px", - "raw": "backdrop-filter: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 3 - }, - { - "id": "90b28cbb7b866d7e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0deg", - "raw": "transform: 0deg", - "spec": { - "scalar": 0, - "unit": "deg" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "00bf21ed6fc2e798", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "16px", - "raw": "backdrop-filter: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "0aed97f1bac405a1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "4px", - "raw": "filter: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "e2cfca2b79c9a51b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "280px", - "raw": "grid-auto-rows: 280px", - "spec": { - "scalar": 280, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "fa3cb8e78a9a008e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "999px", - "raw": "px: 999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "c4ad88aba8994034", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1", - "raw": "scale: 1", - "spec": { - "kind": "animation-scale", - "raw": "scale: 1" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 1 - }, - { - "id": "0f77374f46f7c97c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "3px", - "raw": "text-underline-offset: 3px", - "spec": { - "scalar": 3, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "ddde03abd2b5d00b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "-10deg", - "raw": "transform: -10deg", - "spec": { - "scalar": -10, - "unit": "deg" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "f911a71298762523", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "-200px", - "raw": "transform: -200px", - "spec": { - "scalar": -200, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "3bc707f3d7a274f6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "180deg", - "raw": "transform: 180deg", - "spec": { - "scalar": 180, - "unit": "deg" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "30df3b3b60aade02", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "200px", - "raw": "transform: 200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "40961f3b17629360", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "20", - "raw": "y: 20", - "spec": { - "kind": "animation-offset", - "raw": "y: 20" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 1 - }, - { - "id": "67eb3b9e6b0400f2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "30", - "raw": "y: 30", - "spec": { - "kind": "animation-offset", - "raw": "y: 30" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 2 - }, - { - "id": "ecf2fa7522a0e71d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "92vw", - "raw": "--grid-cell-size: 92vw", - "spec": { - "scalar": 92, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "abf780db84623e9e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "20px", - "raw": "--page-container-side-gutter: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c37c1cfc4035de8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "24px", - "raw": "--page-container-side-gutter: 24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7f01066d8d70077d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "2rem", - "raw": "--spacing-button-sm: 2rem", - "spec": { - "scalar": 2, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "630bb143ee8ed500", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "2.75rem", - "raw": "--spacing-button: 2.75rem", - "spec": { - "scalar": 2.75, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "07cff1fb96c6071a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "2.75rem", - "raw": "--spacing-input-sm: 2.75rem", - "spec": { - "scalar": 2.75, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f1cece1e00c67b02", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "3.25rem", - "raw": "--spacing-input: 3.25rem", - "spec": { - "scalar": 3.25, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c741defdf6d016b6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "10px", - "raw": "--text-xxs: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e334b8e99b381d24", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "12px", - "raw": "backdrop-filter: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8a6dbca1c89bdf61", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0deg", - "raw": "background: 0deg", - "spec": { - "scalar": 0, - "unit": "deg" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "80adfce478d4d65f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "2px", - "raw": "border: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "257f632157130674", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "260px", - "raw": "grid-auto-rows: 260px", - "spec": { - "scalar": 260, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8b1315091def65ff", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "300px", - "raw": "grid-auto-rows: 300px", - "spec": { - "scalar": 300, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "97387b2a8ed11783", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "380px", - "raw": "grid-auto-rows: 380px", - "spec": { - "scalar": 380, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c3a884ecd66008da", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "420px", - "raw": "grid-auto-rows: 420px", - "spec": { - "scalar": 420, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "31a0dabb4a8c8ae6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "440px", - "raw": "grid-auto-rows: 440px", - "spec": { - "scalar": 440, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "5aeded4bc0d46fb2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0.5", - "raw": "opacity-50", - "spec": { - "kind": "opacity", - "raw": "opacity-50" - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "0fde4fff7c67e4af", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "10px", - "raw": "px: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d020ffeaee46aa8f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "12px", - "raw": "px: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "5d1899db84b2d1fa", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0.92", - "raw": "scale: 0.92", - "spec": { - "kind": "animation-scale", - "raw": "scale: 0.92" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "7303847c36870546", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1.03", - "raw": "scale: 1.03", - "spec": { - "kind": "animation-scale", - "raw": "scale: 1.03" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "c79529b63162f73d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1.08", - "raw": "scale: 1.08", - "spec": { - "kind": "animation-scale", - "raw": "scale: 1.08" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "56d81a9fc5d9c9a5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "1.1", - "raw": "scale: 1.1", - "spec": { - "kind": "animation-scale", - "raw": "scale: 1.1" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "446ede6083617cc2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "2px", - "raw": "text-underline-offset: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "aec20afe913725a7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "-10px", - "raw": "transform: -10px", - "spec": { - "scalar": -10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "aef443f6c10e321d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "-6px", - "raw": "transform: -6px", - "spec": { - "scalar": -6, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "516c1d7d8394503a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "10px", - "raw": "transform: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "6e03940a5446da38", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "20px", - "raw": "transform: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "be9c050e11f17b9d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "360deg", - "raw": "transform: 360deg", - "spec": { - "scalar": 360, - "unit": "deg" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "a826152a0611c785", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "4px", - "raw": "transform: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b2d6a0eb9aaad942", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "6px", - "raw": "transform: 6px", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "fe90bf71107b22a1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "0", - "raw": "x: 0", - "spec": { - "kind": "animation-offset", - "raw": "x: 0" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "0c34b02ab077c8d6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "layout-primitive", - "value": "80", - "raw": "y: 80", - "spec": { - "kind": "animation-offset", - "raw": "y: 80" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "4eb4025c23c37a5f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.15s ease", - "raw": "all 0.15s ease", - "spec": { - "easing": "all 0.15s ease" - }, - "occurrences": 7, - "usage": { - "css_property": 7 - }, - "files_count": 7 - }, - { - "id": "d6d8b8416557b102", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "0.6s", - "raw": "duration: 0.6", - "spec": { - "duration_ms": 600 - }, - "occurrences": 7, - "usage": { - "animation_config": 7 - }, - "files_count": 6 - }, - { - "id": "d92f270092d6f1eb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "0.5s", - "raw": "duration: 0.5", - "spec": { - "duration_ms": 500 - }, - "occurrences": 5, - "usage": { - "animation_config": 5 - }, - "files_count": 3 - }, - { - "id": "7779e4d0a83d681f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.3s ease", - "raw": "all 0.3s ease", - "spec": { - "easing": "all 0.3s ease" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 4 - }, - { - "id": "d7a48b5f50f1e246", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "150ms", - "raw": "duration-150", - "spec": { - "duration_ms": 150 - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 2 - }, - { - "id": "328d129d2f17f07f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.25s ease", - "raw": "all 0.25s ease", - "spec": { - "easing": "all 0.25s ease" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "e714d3d985527ee8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "expo.out", - "raw": "ease: 'expo.out'", - "spec": { - "easing": "expo.out" - }, - "occurrences": 3, - "usage": { - "animation_config": 3 - }, - "files_count": 3 - }, - { - "id": "976d4fbc5c9c2930", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "power2.out", - "raw": "ease: 'power2.out'", - "spec": { - "easing": "power2.out" - }, - "occurrences": 3, - "usage": { - "animation_config": 3 - }, - "files_count": 3 - }, - { - "id": "3da0fff6dc302c5c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.1s ease", - "raw": "all 0.1s ease", - "spec": { - "easing": "all 0.1s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "03e9597cd2164f44", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "background 0.1s ease", - "raw": "background 0.1s ease", - "spec": { - "easing": "background 0.1s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "6ca79a1fb82d5583", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "color 0.1s ease", - "raw": "color 0.1s ease", - "spec": { - "easing": "color 0.1s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "a6ca739048edb406", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "color 0.2s ease", - "raw": "color 0.2s ease", - "spec": { - "easing": "color 0.2s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "416d7fa2bb38824d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "dropdown-in 0.2s ease-out", - "raw": "dropdown-in 0.2s ease-out", - "spec": { - "easing": "dropdown-in 0.2s ease-out" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "62aa1e0f0dbe16ff", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "0.2s", - "raw": "duration: 0.2", - "spec": { - "duration_ms": 200 - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 2 - }, - { - "id": "3be3631b21893178", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "expo.in", - "raw": "ease: 'expo.in'", - "spec": { - "easing": "expo.in" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 2 - }, - { - "id": "10dc3cb3db283a0f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "none", - "raw": "ease: 'none'", - "spec": { - "easing": "none" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 2 - }, - { - "id": "7186dbb2a01d7fdc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "power1.inOut", - "raw": "ease: 'power1.inOut'", - "spec": { - "easing": "power1.inOut" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 1 - }, - { - "id": "02549bfd7aeee05f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "power2.in", - "raw": "ease: 'power2.in'", - "spec": { - "easing": "power2.in" - }, - "occurrences": 2, - "usage": { - "animation_config": 2 - }, - "files_count": 2 - }, - { - "id": "2b7f1ed3e67ecf3d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "opacity 0.15s ease", - "raw": "opacity 0.15s ease", - "spec": { - "easing": "opacity 0.15s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "ceaaa9aa3fb02cb1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "opacity 0.2s ease", - "raw": "opacity 0.2s ease", - "spec": { - "easing": "opacity 0.2s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "235626f739500294", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "titleFadeIn 0.6s ease-out both", - "raw": "titleFadeIn 0.6s ease-out both", - "spec": { - "easing": "titleFadeIn 0.6s ease-out both" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "e493fb35b11498e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "transform 0.25s ease", - "raw": "transform 0.25s ease", - "spec": { - "easing": "transform 0.25s ease" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "0d52373a70343624", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.2s ease", - "raw": "all 0.2s ease", - "spec": { - "easing": "all 0.2s ease" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "aea5581b693b15a3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.3s cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "all 0.3s cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "easing": "all 0.3s cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f2b8eb1fc777fe70", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "all 0.4s cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "all 0.4s cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "easing": "all 0.4s cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "a9be4a56c877c838", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "background 0.6s ease", - "raw": "background 0.6s ease", - "spec": { - "easing": "background 0.6s ease" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e18974f0f113ab04", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "border-color 0.15s ease, background 0.15s ease", - "raw": "border-color 0.15s ease, background 0.15s ease", - "spec": { - "easing": "border-color 0.15s ease, background 0.15s ease" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "6adb8aa508db9252", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "border-color 0.2s ease", - "raw": "border-color 0.2s ease", - "spec": { - "easing": "border-color 0.2s ease" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c23fc85418868a58", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "color 0.15s ease", - "raw": "color 0.15s ease", - "spec": { - "easing": "color 0.15s ease" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "baabcbcbb8e256d8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "dock-enter 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0.3s both", - "raw": "dock-enter 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0.3s both", - "spec": { - "easing": "dock-enter 0.6s cubic-bezier(0.33, 1, 0.68, 1) 0.3s both" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "68022cdbf24cfd02", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "0.9s", - "raw": "duration: 0.9", - "spec": { - "duration_ms": 900 - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "6691d5a5ecd61f91", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "power2.inOut", - "raw": "ease: 'power2.inOut'", - "spec": { - "easing": "power2.inOut" - }, - "occurrences": 1, - "usage": { - "animation_config": 1 - }, - "files_count": 1 - }, - { - "id": "8b6a8a062dd7531e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "fadeIn 0.5s ease-out forwards", - "raw": "fadeIn 0.5s ease-out forwards", - "spec": { - "easing": "fadeIn 0.5s ease-out forwards" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4944be7c1e54c24c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "height 0.4s ease-out", - "raw": "height 0.4s ease-out", - "spec": { - "easing": "height 0.4s ease-out" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "52a75af2358c3f48", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "opacity 0.15s ease-out", - "raw": "opacity 0.15s ease-out", - "spec": { - "easing": "opacity 0.15s ease-out" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2989608138bf7d78", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "opacity 0.5s ease-out", - "raw": "opacity 0.5s ease-out", - "spec": { - "easing": "opacity 0.5s ease-out" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4d673713382bcac3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "spin 1s linear infinite", - "raw": "spin 1s linear infinite", - "spec": { - "easing": "spin 1s linear infinite" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "17da7ef8c2f757c6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "transform $duration cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "transform $duration cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "easing": "transform $duration cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "1c6b10ae912e3994", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "transform 0.15s ease-out", - "raw": "transform 0.15s ease-out", - "spec": { - "easing": "transform 0.15s ease-out" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0465a883858dbe55", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "motion", - "value": "wordReveal 0.4s ease-out forwards", - "raw": "wordReveal 0.4s ease-out forwards", - "spec": { - "easing": "wordReveal 0.4s ease-out forwards" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2fe7f90d15830876", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "999px", - "raw": "border-radius: 999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 14, - "usage": { - "css_property": 14 - }, - "files_count": 10 - }, - { - "id": "e1d0f62d7292d705", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "12px", - "raw": "border-radius: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 8, - "usage": { - "css_property": 8 - }, - "files_count": 5 - }, - { - "id": "2edaca44b57e06a0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "16px", - "raw": "border-radius: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 5 - }, - { - "id": "c55d1a2e69b4ee21", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "999px", - "raw": "rounded-full", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 2 - }, - { - "id": "e3edaf9a1e5aef83", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "10px", - "raw": "border-radius: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "4d56bfa095b3366d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "4px", - "raw": "border-radius: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "b1f24596b0da1a54", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "10px", - "raw": "--audio-player-pane-border-radius: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b7850725b01cf215", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "16px", - "raw": "--audio-player-pane-border-radius: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2e0a4380b689938e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "12px", - "raw": "--border-radius: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "9b86936dc424cf6e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-button: 999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "afd355c19c8d6bd1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-card-lg: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d96da8024dbd671b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-card-sm: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "23be47787020c008", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "12px", - "raw": "--radius-card: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "677320ddbdf6d9cd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-dropdown: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "eb0fd2c78f28de8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-input: 999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "dedb2c6b39f481e4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-modal: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "ed932a7c7696bd02", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-pill: 999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "cd2f03e8bb45e5fc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "0px", - "raw": "border-radius: 0px", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "497ee796ae25f1df", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "2px", - "raw": "border-radius: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0c6dae28d1e2c217", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "radius", - "value": "6px", - "raw": "border-radius: 6px", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c7f8ae67a6471f2b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-mini", - "raw": "shadow-mini", - "spec": { - "raw": "shadow-mini" - }, - "occurrences": 10, - "usage": { - "className": 10 - }, - "files_count": 3 - }, - { - "id": "c4ba1527bf33695e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow", - "raw": "shadow", - "spec": { - "raw": "shadow" - }, - "occurrences": 7, - "usage": { - "className": 7 - }, - "files_count": 3 - }, - { - "id": "22134b3e652cd8f7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-popover", - "raw": "shadow-popover", - "spec": { - "raw": "shadow-popover" - }, - "occurrences": 6, - "usage": { - "className": 6 - }, - "files_count": 3 - }, - { - "id": "dbbdfc3aaed0b6da", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-btn", - "raw": "shadow-btn", - "spec": { - "raw": "shadow-btn" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "a487f9383c3ed08c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-card", - "raw": "shadow-card", - "spec": { - "raw": "shadow-card" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "726ada1dcf90615a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-date", - "raw": "shadow-date", - "spec": { - "raw": "shadow-date" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "30f8677a8b60aa67", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-elevated", - "raw": "shadow-elevated", - "spec": { - "raw": "shadow-elevated" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "dcadb47b195aa1a8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-kbd", - "raw": "shadow-kbd", - "spec": { - "raw": "shadow-kbd" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "7636f5cd3b5a74b2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-modal", - "raw": "shadow-modal", - "spec": { - "raw": "shadow-modal" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 1 - }, - { - "id": "315c566637e2ecd7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "none", - "raw": "none", - "spec": { - "raw": "none" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 1 - }, - { - "id": "943d6ae83665fea5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "0 8px 30px rgba(0, 0, 0, 0.12)", - "spec": { - "raw": "0 8px 30px rgba(0, 0, 0, 0.12)" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "351a29b756077353", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "0 0 0 var(--audio-player-pane-border-radius) var(--background-color)", - "raw": "0 0 0 var(--audio-player-pane-border-radius) var(--background-color)", - "spec": { - "raw": "0 0 0 var(--audio-player-pane-border-radius) var(--background-color)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "294e1b8368596219", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "0 2px 12px rgba(0, 0, 0, 0.08)", - "raw": "0 2px 12px rgba(0, 0, 0, 0.08)", - "spec": { - "raw": "0 2px 12px rgba(0, 0, 0, 0.08)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d66719649aeec97b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "shadow", - "value": "shadow-color", - "raw": "shadow-color", - "spec": { - "raw": "shadow-color" - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "59d5a521a4a3dc45", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "6px", - "raw": "gap: 6px", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 9, - "usage": { - "css_property": 9 - }, - "files_count": 4 - }, - { - "id": "e126bf0fba408637", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "padding: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 7, - "usage": { - "css_property": 7 - }, - "files_count": 6 - }, - { - "id": "38c358912c4ded89", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "gap: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 5 - }, - { - "id": "a1d3b2720d2bd945", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "56px", - "raw": "height: 56px", - "spec": { - "scalar": 56, - "unit": "px" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 3 - }, - { - "id": "69f6c2a722563dc3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "padding: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 5 - }, - { - "id": "991af15439f624df", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.5em", - "raw": "gap: 0.5em", - "spec": { - "scalar": 0.5, - "unit": "em" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 2 - }, - { - "id": "0806dfbd0128c101", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "gap: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 4 - }, - { - "id": "a6cd0e485a0ea474", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "10px", - "raw": "padding: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 4 - }, - { - "id": "5770139ac829ef70", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "translate-y-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 5, - "usage": { - "className": 5 - }, - "files_count": 2 - }, - { - "id": "f8d3541c5af9f209", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "100vh", - "raw": "height: 100vh", - "spec": { - "scalar": 100, - "unit": "vh" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 2 - }, - { - "id": "7505b3a452adb05d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "padding: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 3 - }, - { - "id": "526ba157f8d7cf28", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "14px", - "raw": "padding: 14px", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 3 - }, - { - "id": "a0e837ee669943af", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "padding: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 3 - }, - { - "id": "adda20b162ba5bf0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2px", - "raw": "padding: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 1 - }, - { - "id": "e3a3e7c5ef5bf929", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "padding: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 2 - }, - { - "id": "bac1523e92774c23", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "py-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 2 - }, - { - "id": "cfa6205bf6536ab8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "size-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 2 - }, - { - "id": "597bc4ba5412ba55", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "translate-x-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 4, - "usage": { - "className": 4 - }, - "files_count": 2 - }, - { - "id": "bcc9d8328665fc35", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1px", - "raw": "border-top: 1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 3 - }, - { - "id": "ef9b56651fdbbc4b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "gap: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 3 - }, - { - "id": "543401eb40599e8a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "98453ccd48c9d075", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60px", - "raw": "gap: 60px", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 3 - }, - { - "id": "6a72880439297b3f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "44px", - "raw": "height: 44px", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 3 - }, - { - "id": "f42faf702b924c6a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "margin: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "f2df6b758c6fb52c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "32px", - "raw": "padding: 32px", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "7b8d2f9e6df10dd8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "40px", - "raw": "padding: 40px", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "f1ebf944901d7417", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "6px", - "raw": "padding: 6px", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "fab7f9fe9ce3619b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "-bottom-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "c9a60aba2e6da37d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "-left-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "0a9473974ba252c5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "-right-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "13d853a6271bfe43", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "-top-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "2b65cb67d72b975d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "gap: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "d3c6bab8f5875485", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "24px", - "raw": "gap: 24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "95b3fc7c33c7ad67", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "40px", - "raw": "h-10", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "31e7552f334994aa", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2px", - "raw": "height: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "ee62211bdd50640c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "left: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "bb195ea52f2d68db", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "margin-bottom: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "96f6841cfd087500", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "75px", - "raw": "margin-bottom: 75px", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "e8ae69dd168caf1c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60px", - "raw": "margin-top: 60px", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "ab44e9e2949939b2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "5px", - "raw": "margin: 5px", - "spec": { - "scalar": 5, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "9802a6b6d9388b79", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "80px", - "raw": "margin: 80px", - "spec": { - "scalar": 80, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "4113b978990eca7a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60vh", - "raw": "max-height: 60vh", - "spec": { - "scalar": 60, - "unit": "vh" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "5aaf109a9e641f40", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "200px", - "raw": "min-width: 200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "219080609a1a6092", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "p-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "2ea00cf10f0a8d69", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "padding-top: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "146a854a3f2578c0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "padding: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "c261d3b1a603b367", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "24px", - "raw": "padding: 24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "d83bce0cde6e4172", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "30px", - "raw": "padding: 30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "d4be9dc054b409f9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "48px", - "raw": "padding: 48px", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "ebd42afe705890f2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "pl-5", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "eca084e63f44dc06", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "6px", - "raw": "pr-1.5", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "a6a9344879f94ad2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "px-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "e136eab0d9537587", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "px-5", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "81cd248319ef14c2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "py-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 1 - }, - { - "id": "538f8c83c3107272", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "right: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "05a7074daee55427", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "right: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "f7e48cd1bcfa45c3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "24px", - "raw": "size-6", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "className": 2 - }, - "files_count": 2 - }, - { - "id": "db1679d7a80d6fbf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "top: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "3e9b8908eb107f16", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "44px", - "raw": "width: 44px", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "7955f54e7d2b391a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "56px", - "raw": "width: 56px", - "spec": { - "scalar": 56, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "e9f18c1d8d4e713c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "350px", - "raw": "--audio-player-pane-width: 350px", - "spec": { - "scalar": 350, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "492b05d21194de1e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "400px", - "raw": "--audio-player-pane-width: 400px", - "spec": { - "scalar": 400, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e32559af5030d8a6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1440px", - "raw": "--breakpoint-desktop: 1440px", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "6bb55447ec418a41", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "--gap: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "01093abf749c74dc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "--grid-gap: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "37872d2102fcc83a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "800px", - "raw": "--max-height: 800px", - "spec": { - "scalar": 800, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2636b5b04897ba74", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1200px", - "raw": "--max-width: 1200px", - "spec": { - "scalar": 1200, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e779226156e97e63", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1440px", - "raw": "--page-container-max-width: 1440px", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "88a1ad42eb664790", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "75px", - "raw": "--section-heading-margin-bottom: 75px", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8a80da6601ae768e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "100px", - "raw": "--section-padding-vertical: 100px", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "5a468f9846a9bf1b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "bottom: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d41370891232a61a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "bottom: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "265035e72dcef413", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "bottom: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0fcf7dd1c17d86e7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "f156404840cb036a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.5ch", - "raw": "gap: 0.5ch", - "spec": { - "scalar": 0.5, - "unit": "ch" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "cf664727008baf8a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.5rem", - "raw": "gap: 0.5rem", - "spec": { - "scalar": 0.5, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "32a0c49d243d4010", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "100px", - "raw": "gap: 100px", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "dbbe5de0008eaee0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "10px", - "raw": "gap: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "fad044e988dcb094", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "14px", - "raw": "gap: 14px", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "491d49824b21796a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1em", - "raw": "gap: 1em", - "spec": { - "scalar": 1, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f0fa41f80aa76ea5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1rem", - "raw": "gap: 1rem", - "spec": { - "scalar": 1, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "bd4f8c9b1bf35319", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "200px", - "raw": "gap: 200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "560d72de49670e3e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2em", - "raw": "gap: 2em", - "spec": { - "scalar": 2, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7dd6d003815cf0bf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "30px", - "raw": "gap: 30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "427dc8fdc778766c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "32px", - "raw": "gap: 32px", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "1f9d0b8bc0c97679", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "50px", - "raw": "gap: 50px", - "spec": { - "scalar": 50, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "489f87bd69183bbc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1.2em", - "raw": "height: 1.2em", - "spec": { - "scalar": 1.2, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c3b9751efa3b8104", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1.5em", - "raw": "height: 1.5em", - "spec": { - "scalar": 1.5, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0771d8b0995b1e69", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "120px", - "raw": "height: 120px", - "spec": { - "scalar": 120, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "276ebaa904b3b1f2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "height: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8e42a36b988ca976", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1px", - "raw": "height: 1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "107d63164779de43", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "20px", - "raw": "height: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "16654ec0bb65b848", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "height: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "68d37cc88caa4d29", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "36px", - "raw": "height: 36px", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "81ebe0b5d1f29271", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60px", - "raw": "height: 60px", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "eb650cc334e23275", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "height: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "08dabd9a80f1c5b5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0px", - "raw": "left: 0px", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "056e3208c985bff5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "left: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "61ea8f6b23ac8e3d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "180px", - "raw": "left: 180px", - "spec": { - "scalar": 180, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "88398cf85280853b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "200px", - "raw": "left: 200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7205306d309d789c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "24px", - "raw": "margin-bottom: 24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c286e99711d2a3d0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.5ch", - "raw": "margin-left: 0.5ch", - "spec": { - "scalar": 0.5, - "unit": "ch" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e872abc3b0e3b10e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.3em", - "raw": "margin-right: 0.3em", - "spec": { - "scalar": 0.3, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2ff35ff874de2bb2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "-24px", - "raw": "margin-top: -24px", - "spec": { - "scalar": -24, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7e7574aa542c4215", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "margin-top: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f0703e943ba9708b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "30px", - "raw": "margin-top: 30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "5fd9601914e31b3c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "32px", - "raw": "margin-top: 32px", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "69747ce08232d909", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "margin-top: 4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "da5712276b0123f6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "50px", - "raw": "margin-top: 50px", - "spec": { - "scalar": 50, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "fc68a04cb9b37a4d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "10px", - "raw": "margin: 10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4543d7aa4fb72f86", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "24px", - "raw": "margin: 24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "138bcb700470d49f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2px", - "raw": "margin: 2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "982155fe93d04baf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2rem", - "raw": "margin: 2rem", - "spec": { - "scalar": 2, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e874130eb46c20dc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "30px", - "raw": "margin: 30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "ee81fb7f835e7e4a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "3rem", - "raw": "margin: 3rem", - "spec": { - "scalar": 3, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "78d209cbd077b159", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "40px", - "raw": "margin: 40px", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "94ebb702c20660eb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "48px", - "raw": "margin: 48px", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "826d2b59323b1dcc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60px", - "raw": "margin: 60px", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e3728c66d0e4ba01", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "100vh", - "raw": "max-height: 100vh", - "spec": { - "scalar": 100, - "unit": "vh" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "db4e469f1899582d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "50vh", - "raw": "max-height: 50vh", - "spec": { - "scalar": 50, - "unit": "vh" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e9411baa64df6b7d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "96px", - "raw": "max-height: 96px", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e62f23ac188898c4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "60ch", - "raw": "max-width: 60ch", - "spec": { - "scalar": 60, - "unit": "ch" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "a449b6ffe97781f7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "700px", - "raw": "max-width: 700px", - "spec": { - "scalar": 700, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4137782bf85fc094", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "860px", - "raw": "max-width: 860px", - "spec": { - "scalar": 860, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d6463d1a64729377", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "92vw", - "raw": "max-width: 92vw", - "spec": { - "scalar": 92, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "3b197100aeb98901", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "100vh", - "raw": "min-height: 100vh", - "spec": { - "scalar": 100, - "unit": "vh" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f9b6a96cf16810d3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "120px", - "raw": "min-height: 120px", - "spec": { - "scalar": 120, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "41ecb28d14aa37b0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "200px", - "raw": "min-height: 200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "5d96695c46b8e822", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "220px", - "raw": "min-height: 220px", - "spec": { - "scalar": 220, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "94a1d2b685280a08", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "10ch", - "raw": "min-width: 10ch", - "spec": { - "scalar": 10, - "unit": "ch" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "04be024b11286cf0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "p-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "531f3bba96b7f059", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "120px", - "raw": "padding-bottom: 120px", - "spec": { - "scalar": 120, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "98fa9923b497d1a1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "padding-left: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b6eb96dde3f19da6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "padding-right: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "534e98783cc78a8b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "padding-top: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "cd566588e44142f3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "padding-top: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7fcbe2d7ef115a5c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "50px", - "raw": "padding-top: 50px", - "spec": { - "scalar": 50, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "95e3669ea53b0ebd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "80px", - "raw": "padding-top: 80px", - "spec": { - "scalar": 80, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "aa0f1bf78f7e5564", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0.5rem", - "raw": "padding: 0.5rem", - "spec": { - "scalar": 0.5, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c814e598c3f14c91", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "120px", - "raw": "padding: 120px", - "spec": { - "scalar": 120, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "aa399af6cb7b46d0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "18px", - "raw": "padding: 18px", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4a81d30a161a2562", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "1px", - "raw": "padding: 1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c5e0b01a099c32b9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "2rem", - "raw": "padding: 2rem", - "spec": { - "scalar": 2, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "438be6dd737a61f3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4vh", - "raw": "padding: 4vh", - "spec": { - "scalar": 4, - "unit": "vh" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2a4311044badab82", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4vw", - "raw": "padding: 4vw", - "spec": { - "scalar": 4, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "64f589480fd5e36b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "7px", - "raw": "padding: 7px", - "spec": { - "scalar": 7, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c0f462a7e4482e76", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "80px", - "raw": "padding: 80px", - "spec": { - "scalar": 80, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f9ca3e00ec8d2b50", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8vh", - "raw": "padding: 8vh", - "spec": { - "scalar": 8, - "unit": "vh" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "4e94bf3075cda162", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "right: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "da8ee9fdba62e3c5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "4px", - "raw": "top-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "6a1c1fc8591a9527", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0px", - "raw": "top: 0px", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7b234a45695f8361", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "12px", - "raw": "top: 12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "abac7c723d243348", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "top: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "43a0b2dd98ee3223", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "top: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e97ae8db9679fda4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "0px", - "raw": "width: 0px", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "65dce32d698abf34", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "120px", - "raw": "width: 120px", - "spec": { - "scalar": 120, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c2f337ba2426ab7a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "16px", - "raw": "width: 16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "99ae13b7ae516e18", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "28px", - "raw": "width: 28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0ed4b8be615bd8b3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "30px", - "raw": "width: 30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "3ce49fc8ebad272a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "36px", - "raw": "width: 36px", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e71c1e04c88df9e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "50px", - "raw": "width: 50px", - "spec": { - "scalar": 50, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "bf22be7e4dd2290b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "spacing", - "value": "8px", - "raw": "width: 8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f63d3645728a9599", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "500", - "raw": "font-weight: 500", - "spec": { - "weight": 500 - }, - "occurrences": 11, - "usage": { - "css_property": 11 - }, - "files_count": 8 - }, - { - "id": "f3bdc42e462f7351", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.85rem", - "raw": "font-size: 0.85rem", - "spec": { - "scalar": 0.85, - "unit": "rem" - }, - "occurrences": 7, - "usage": { - "css_property": 7 - }, - "files_count": 2 - }, - { - "id": "38716a08d2b29bb6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "400", - "raw": "font-weight: 400", - "spec": { - "weight": 400 - }, - "occurrences": 7, - "usage": { - "css_property": 7 - }, - "files_count": 5 - }, - { - "id": "e23ae5c13c924ccd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "900", - "raw": "font-weight: 900", - "spec": { - "weight": 900 - }, - "occurrences": 7, - "usage": { - "css_property": 7 - }, - "files_count": 5 - }, - { - "id": "a4a4779e25c7f629", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.7rem", - "raw": "font-size: 0.7rem", - "spec": { - "scalar": 0.7, - "unit": "rem" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 4 - }, - { - "id": "9aafffe8ecd15042", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.8rem", - "raw": "font-size: 0.8rem", - "spec": { - "scalar": 0.8, - "unit": "rem" - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 5 - }, - { - "id": "679947ac7191d880", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "600", - "raw": "font-weight: 600", - "spec": { - "weight": 600 - }, - "occurrences": 6, - "usage": { - "css_property": 6 - }, - "files_count": 3 - }, - { - "id": "c20035baed2cb8a3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "'Cash Sans Wide'", - "raw": "font-family: 'Cash Sans Wide'", - "spec": { - "family": "'Cash Sans Wide'" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 1 - }, - { - "id": "812e05e090ff597a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "'Cash Sans'", - "raw": "font-family: 'Cash Sans'", - "spec": { - "family": "'Cash Sans'" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 1 - }, - { - "id": "78ad82147dd2365a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "$cashSans", - "raw": "font-family: $cashSans", - "spec": { - "family": "$cashSans" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 2 - }, - { - "id": "d3a510d0049050f9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "$cashSansWide", - "raw": "font-family: $cashSansWide", - "spec": { - "family": "$cashSansWide" - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 4 - }, - { - "id": "57ba9717d3823ceb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "700", - "raw": "font-weight: 700", - "spec": { - "weight": 700 - }, - "occurrences": 5, - "usage": { - "css_property": 5 - }, - "files_count": 2 - }, - { - "id": "688d592c274831ac", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.9rem", - "raw": "font-size: 0.9rem", - "spec": { - "scalar": 0.9, - "unit": "rem" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 3 - }, - { - "id": "25a5bcd0980a6178", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1rem", - "raw": "font-size: 1rem", - "spec": { - "scalar": 1, - "unit": "rem" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 4 - }, - { - "id": "f030c37685bcfd49", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "letter-spacing: -0.01em", - "spec": { - "scalar": -0.01, - "unit": "em" - }, - "occurrences": 4, - "usage": { - "css_property": 4 - }, - "files_count": 3 - }, - { - "id": "838944c6fe2f1ec4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "'Cash Sans Mono'", - "raw": "font-family: 'Cash Sans Mono'", - "spec": { - "family": "'Cash Sans Mono'" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 1 - }, - { - "id": "3b1d467fb327a315", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.8em", - "raw": "font-size: 0.8em", - "spec": { - "scalar": 0.8, - "unit": "em" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "1bdfcefb3d6fe3e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.1vw", - "raw": "font-size: 1.1vw", - "spec": { - "scalar": 1.1, - "unit": "vw" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "2eac4e6f23cec4f4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "2.5rem", - "raw": "font-size: 2.5rem", - "spec": { - "scalar": 2.5, - "unit": "rem" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "5f042a9a0db66239", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.08em", - "raw": "letter-spacing: 0.08em", - "spec": { - "scalar": 0.08, - "unit": "em" - }, - "occurrences": 3, - "usage": { - "css_property": 3 - }, - "files_count": 2 - }, - { - "id": "e0d9525bf608e160", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.65rem", - "raw": "font-size: 0.65rem", - "spec": { - "scalar": 0.65, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "1db823e0d08f8338", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.75em", - "raw": "font-size: 0.75em", - "spec": { - "scalar": 0.75, - "unit": "em" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "01ab011bd1a82b12", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.75rem", - "raw": "font-size: 0.75rem", - "spec": { - "scalar": 0.75, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "678ce1620194c4e8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.95rem", - "raw": "font-size: 0.95rem", - "spec": { - "scalar": 0.95, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "f6b02a970ac128d0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.1rem", - "raw": "font-size: 1.1rem", - "spec": { - "scalar": 1.1, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "779697942e808550", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.5rem", - "raw": "font-size: 1.5rem", - "spec": { - "scalar": 1.5, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "1d8013508faf9896", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "18px", - "raw": "font-size: 18px", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 1 - }, - { - "id": "7f31a69a0a46f569", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "3rem", - "raw": "font-size: 3rem", - "spec": { - "scalar": 3, - "unit": "rem" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "c9924a6e31f3f7fe", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "3vw", - "raw": "font-size: 3vw", - "spec": { - "scalar": 3, - "unit": "vw" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "4d2166a2401d6223", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "4vw", - "raw": "font-size: 4vw", - "spec": { - "scalar": 4, - "unit": "vw" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "bb2f4050c31faec1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "55px", - "raw": "font-size: 55px", - "spec": { - "scalar": 55, - "unit": "px" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "a3666cfdfae094e2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "300", - "raw": "font-weight: 300", - "spec": { - "weight": 300 - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "c396c9eb4681f20d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "letter-spacing: -0.02em", - "spec": { - "scalar": -0.02, - "unit": "em" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "b46006549b04434b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.04em", - "raw": "letter-spacing: -0.04em", - "spec": { - "scalar": -0.04, - "unit": "em" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "acd8f0bc4bc07d69", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.06em", - "raw": "letter-spacing: 0.06em", - "spec": { - "scalar": 0.06, - "unit": "em" - }, - "occurrences": 2, - "usage": { - "css_property": 2 - }, - "files_count": 2 - }, - { - "id": "f9fc498450b681d1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "'Cash Sans', sans-serif", - "raw": "--font-family: 'Cash Sans', sans-serif", - "spec": { - "family": "'Cash Sans', sans-serif" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b74eb33116fa0411", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "700", - "raw": "--heading-font-weight: 700", - "spec": { - "weight": 700 - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "94acb9d3812656b4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "55px", - "raw": "--heading-large-font-size: 55px", - "spec": { - "scalar": 55, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b86b22178e1471e5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.04em", - "raw": "--heading-large-letter-spacing: -0.04em", - "spec": { - "scalar": -0.04, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "b5511a0bc504971d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "45px", - "raw": "--heading-regular-font-size: 45px", - "spec": { - "scalar": 45, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "3ea6a7c14daa17db", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.03em", - "raw": "--heading-regular-letter-spacing: -0.03em", - "spec": { - "scalar": -0.03, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "0416ac25abc4f063", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "35px", - "raw": "--heading-small-font-size: 35px", - "spec": { - "scalar": 35, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "ea5a3fb6ded022bd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "--heading-small-letter-spacing: -0.02em", - "spec": { - "scalar": -0.02, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "944e81a126e8985b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "$cashSansMono", - "raw": "font-family: $cashSansMono", - "spec": { - "family": "$cashSansMono" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "350a619e2aa09c3a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "var(--font-family)", - "raw": "font-family: var(--font-family)", - "spec": { - "family": "var(--font-family)" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d4797b84a6de70aa", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "500", - "raw": "font-medium", - "spec": { - "weight": 500 - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - }, - { - "id": "8f7047420e9a5912", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.8vw", - "raw": "font-size: 0.8vw", - "spec": { - "scalar": 0.8, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "457d90e70c6b3141", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.15rem", - "raw": "font-size: 1.15rem", - "spec": { - "scalar": 1.15, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "e5bc35dee9e7a8ed", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.2vw", - "raw": "font-size: 1.2vw", - "spec": { - "scalar": 1.2, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "159110c5d3f43052", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.6rem", - "raw": "font-size: 1.6rem", - "spec": { - "scalar": 1.6, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f2a751c3330420e7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.75rem", - "raw": "font-size: 1.75rem", - "spec": { - "scalar": 1.75, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "558289cb8e7df5bd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.8rem", - "raw": "font-size: 1.8rem", - "spec": { - "scalar": 1.8, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "854e0d1cf0df65e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1.8vw", - "raw": "font-size: 1.8vw", - "spec": { - "scalar": 1.8, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "77d3d138693b1105", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "10vw", - "raw": "font-size: 10vw", - "spec": { - "scalar": 10, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "c13ef3984fe8088a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "12rem", - "raw": "font-size: 12rem", - "spec": { - "scalar": 12, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "d87a83e04df0597d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "12vw", - "raw": "font-size: 12vw", - "spec": { - "scalar": 12, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8a9339dead5082a4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "14px", - "raw": "font-size: 14px", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "61f0e08eb9b126c3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "2.5vw", - "raw": "font-size: 2.5vw", - "spec": { - "scalar": 2.5, - "unit": "vw" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "edd07bc2c1fb9973", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "20px", - "raw": "font-size: 20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "8dec0bf7130d13d1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "2rem", - "raw": "font-size: 2rem", - "spec": { - "scalar": 2, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2db8fc8b0f4f0e6b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "3.5rem", - "raw": "font-size: 3.5rem", - "spec": { - "scalar": 3.5, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "7b84e0478c409ce0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "34px", - "raw": "font-size: 34px", - "spec": { - "scalar": 34, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "63f679073b72cef3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "8rem", - "raw": "font-size: 8rem", - "spec": { - "scalar": 8, - "unit": "rem" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "cf00e08102e8b83b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.02em", - "raw": "letter-spacing: 0.02em", - "spec": { - "scalar": 0.02, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "2247236bdc375c7e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "0.1em", - "raw": "letter-spacing: 0.1em", - "spec": { - "scalar": 0.1, - "unit": "em" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "f14f551f3c203225", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "1px", - "raw": "letter-spacing: 1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 1, - "usage": { - "css_property": 1 - }, - "files_count": 1 - }, - { - "id": "01b45ed01b75cb24", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "kind": "typography", - "value": "16px", - "raw": "text-base", - "spec": { - "size": { - "scalar": 16, - "unit": "px" - } - }, - "occurrences": 1, - "usage": { - "className": 1 - }, - "files_count": 1 - } - ], - "tokens": [ - { - "id": "eed243f826e9670b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--accent", - "resolved_value": "#1a1a1a", - "alias_chain": [], - "by_theme": { - "light": "#1a1a1a", - "dark": "#ffffff" - }, - "occurrences": 7 - }, - { - "id": "7409d298b06947bb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--accent-foreground", - "resolved_value": "#ffffff", - "alias_chain": [], - "by_theme": { - "light": "#ffffff", - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "8281dc7f785047ad", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-accordion-down", - "resolved_value": "accordion-down 0.2s ease-out", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "9182dbe14a2e547b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-accordion-up", - "resolved_value": "accordion-up 0.2s ease-out", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "8bf72a35c24d4837", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-caret-blink", - "resolved_value": "caret-blink 1s ease-out infinite", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "97f421064c748473", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-enter-from-left", - "resolved_value": "enter-from-left 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "042a36a3018fb249", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-enter-from-right", - "resolved_value": "enter-from-right 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "bc34fa7dc33c3637", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-exit-to-left", - "resolved_value": "exit-to-left 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "9deba3a66a7b4da7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-exit-to-right", - "resolved_value": "exit-to-right 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "48f91a4c18578fdc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-fade-in", - "resolved_value": "fade-in 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "b6cbf55442c08fb4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-fade-out", - "resolved_value": "fade-out 0.15s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "13ce544e335bf402", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-scale-in", - "resolved_value": "scale-in 0.2s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "52b948e160778bf1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--animate-scale-out", - "resolved_value": "scale-out 0.15s ease", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "625de05af9257fae", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--aspect-ratio", - "resolved_value": "1", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "228b2686c6e134ff", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--audio-player-pane-border-radius", - "resolved_value": "16px", - "alias_chain": [], - "occurrences": 11 - }, - { - "id": "c5bc7baa7e854747", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--audio-player-pane-padding", - "resolved_value": "16px", - "alias_chain": ["--audio-player-pane-border-radius"], - "occurrences": 2 - }, - { - "id": "c5438e6f697c14c8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--audio-player-pane-width", - "resolved_value": "400px", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "a8ed829b2703acb8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--background", - "resolved_value": "#ffffff", - "alias_chain": [], - "by_theme": { - "light": "#ffffff", - "dark": "#000000" - }, - "occurrences": 19 - }, - { - "id": "9e87a9a80c1e77e7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--background-alt", - "resolved_value": "#f5f5f5", - "alias_chain": [], - "by_theme": { - "light": "#f5f5f5", - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "2ca016d9c7d8badd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--background-color", - "resolved_value": "#000", - "alias_chain": [], - "by_theme": { - "default": "#000", - "light": "#fff" - }, - "occurrences": 13 - }, - { - "id": "12859b94cc9b98be", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--border", - "resolved_value": "#1a1a1a", - "alias_chain": [], - "by_theme": { - "light": "#1a1a1a", - "dark": "#ffffff" - }, - "occurrences": 15 - }, - { - "id": "c6b641354b016fc1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--border-card", - "resolved_value": "#e8e8e8", - "alias_chain": [], - "by_theme": { - "light": "#e8e8e8", - "dark": "#333333" - }, - "occurrences": 4 - }, - { - "id": "b81cf9df8e8c0dd1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--border-input", - "resolved_value": "#e5e5e5", - "alias_chain": [], - "by_theme": { - "light": "#e5e5e5", - "dark": "#333333" - }, - "occurrences": 6 - }, - { - "id": "26fce56b9a52a9b0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--border-input-hover", - "resolved_value": "#cccccc", - "alias_chain": [], - "by_theme": { - "light": "#cccccc", - "dark": "#555555" - }, - "occurrences": 3 - }, - { - "id": "1f166ba78d746300", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--border-radius", - "resolved_value": "12px", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "644915741e46805c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--breakpoint-desktop", - "resolved_value": "1440px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3a0c99e8886d8d05", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-accent", - "resolved_value": "#1a1a1a", - "alias_chain": ["--accent"], - "occurrences": 2 - }, - { - "id": "2eb16756a49e0df3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-accent-foreground", - "resolved_value": "#ffffff", - "alias_chain": ["--accent-foreground"], - "occurrences": 1 - }, - { - "id": "ad3210fc47988939", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-background", - "resolved_value": "#ffffff", - "alias_chain": ["--background"], - "occurrences": 2 - }, - { - "id": "24eeafb2b46d0fe1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-background-alt", - "resolved_value": "#f5f5f5", - "alias_chain": ["--background-alt"], - "occurrences": 1 - }, - { - "id": "03e3165d22f44c09", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-border", - "resolved_value": "#e8e8e8", - "alias_chain": ["--border-card"], - "occurrences": 5 - }, - { - "id": "c9fdcfe17a8ee061", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-border-card", - "resolved_value": "#e8e8e8", - "alias_chain": ["--border-card"], - "occurrences": 2 - }, - { - "id": "8e27adf380a008ed", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-border-input", - "resolved_value": "#e5e5e5", - "alias_chain": ["--border-input"], - "occurrences": 2 - }, - { - "id": "25ef015618798424", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-border-input-hover", - "resolved_value": "#cccccc", - "alias_chain": ["--border-input-hover"], - "occurrences": 1 - }, - { - "id": "8d36398190353338", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-contrast", - "resolved_value": "#000000", - "alias_chain": ["--contrast"], - "occurrences": 1 - }, - { - "id": "c3154ab065b5c077", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-dark", - "resolved_value": "#1a1a1a", - "alias_chain": ["--dark"], - "occurrences": 4 - }, - { - "id": "26544d1b0288f750", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-dark-04", - "resolved_value": "rgba(26, 26, 26, 0.04)", - "alias_chain": ["--dark-04"], - "occurrences": 1 - }, - { - "id": "d6d01f676f86b8d0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-dark-10", - "resolved_value": "rgba(26, 26, 26, 0.1)", - "alias_chain": ["--dark-10"], - "occurrences": 1 - }, - { - "id": "a8d0bed7b9cc09d9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-dark-40", - "resolved_value": "rgba(26, 26, 26, 0.4)", - "alias_chain": ["--dark-40"], - "occurrences": 1 - }, - { - "id": "88cb8dff8c3e1a28", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-destructive", - "resolved_value": "#dc2626", - "alias_chain": ["--destructive"], - "occurrences": 1 - }, - { - "id": "871fb082bad5379e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-foreground", - "resolved_value": "#1a1a1a", - "alias_chain": ["--foreground"], - "occurrences": 2 - }, - { - "id": "2216d775404de4c2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-foreground-alt", - "resolved_value": "#666666", - "alias_chain": ["--foreground-alt"], - "occurrences": 1 - }, - { - "id": "0368341d5afbd2c3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-line", - "resolved_value": "#e5e5e5", - "alias_chain": ["--line"], - "occurrences": 1 - }, - { - "id": "d14109e067d66def", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-muted", - "resolved_value": "#f0f0f0", - "alias_chain": ["--muted"], - "occurrences": 2 - }, - { - "id": "b032a03faf613790", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-muted-foreground", - "resolved_value": "#999999", - "alias_chain": ["--muted-foreground"], - "occurrences": 1 - }, - { - "id": "11113b4784bfc6e8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--color-tertiary", - "resolved_value": "#666666", - "alias_chain": ["--tertiary"], - "occurrences": 1 - }, - { - "id": "992fa875f051de73", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--contrast", - "resolved_value": "#000000", - "alias_chain": [], - "by_theme": { - "light": "#000000", - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "eb97f42e37ecedfa", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--dark", - "resolved_value": "#1a1a1a", - "alias_chain": [], - "by_theme": { - "light": "#1a1a1a", - "dark": "#f2f2f2" - }, - "occurrences": 12 - }, - { - "id": "72bbf2d632078c31", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--dark-04", - "resolved_value": "rgba(26, 26, 26, 0.04)", - "alias_chain": [], - "by_theme": { - "light": "rgba(26, 26, 26, 0.04)", - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 3 - }, - { - "id": "e16c3a529d48c53e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--dark-10", - "resolved_value": "rgba(26, 26, 26, 0.1)", - "alias_chain": [], - "by_theme": { - "light": "rgba(26, 26, 26, 0.1)", - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 3 - }, - { - "id": "177e8c65d8210c10", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--dark-40", - "resolved_value": "rgba(26, 26, 26, 0.4)", - "alias_chain": [], - "by_theme": { - "light": "rgba(26, 26, 26, 0.4)", - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "2c9807943ec91331", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--destructive", - "resolved_value": "#dc2626", - "alias_chain": [], - "by_theme": { - "light": "#dc2626", - "dark": "#ef4444" - }, - "occurrences": 3 - }, - { - "id": "4b77f4b31e008807", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--drop-shadow-color", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 1 - }, - { - "id": "ea7797c8579fb8c4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-alt", - "resolved_value": "'Courier', 'sans-serif'", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "4f9b8dbb7d973735", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-display", - "resolved_value": "'Cash Sans Wide', 'Cash Sans', 'sans-serif'", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "00117f5e77149f52", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-editorial-mono", - "resolved_value": "'Cash Sans Mono', 'monospace'", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "5aacf4da80fe65d6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-family", - "resolved_value": "'Cash Sans', sans-serif", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "bddcef5e5187432a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-mono", - "resolved_value": "'Source Code Pro', 'monospace'", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "6c566dbfff890331", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--font-sans", - "resolved_value": "'Cash Sans', 'sans-serif'", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "70e8da29e14b277d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground", - "resolved_value": "#1a1a1a", - "alias_chain": [], - "by_theme": { - "light": "#1a1a1a", - "dark": "#f2f2f2" - }, - "occurrences": 33 - }, - { - "id": "e9427afd17571960", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-alt", - "resolved_value": "#666666", - "alias_chain": [], - "by_theme": { - "light": "#666666", - "dark": "#999999" - }, - "occurrences": 4 - }, - { - "id": "0af498622238f3fb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color", - "resolved_value": "#fff", - "alias_chain": [], - "by_theme": { - "default": "#fff", - "light": "#1a1a1a" - }, - "occurrences": 26 - }, - { - "id": "2533e11c697ff61b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-10", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 1 - }, - { - "id": "a13cea0216c2bf04", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-3", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 2 - }, - { - "id": "17c7a84838a7cccb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-30", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 1 - }, - { - "id": "602ca44c7b88d6c7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-40", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 4 - }, - { - "id": "b22741f6d04e8453", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-50", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 2 - }, - { - "id": "d325c05ce8a829b9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-60", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 1 - }, - { - "id": "da287f4e8e8cdf5b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--foreground-color-blend-70", - "resolved_value": "#fff", - "alias_chain": ["--foreground-color"], - "occurrences": 1 - }, - { - "id": "182ca16417d86747", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--gap", - "resolved_value": "16px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "97d21b17c6f5a28d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--grid-cell-size", - "resolved_value": "1", - "alias_chain": ["--grid-columns"], - "occurrences": 1 - }, - { - "id": "525f415a61d1d79b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--grid-columns", - "resolved_value": "1", - "alias_chain": [], - "occurrences": 8 - }, - { - "id": "e8882a23276a706e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--grid-gap", - "resolved_value": "4px", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "ba6e56ca64d1de57", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-font-weight", - "resolved_value": "700", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "b802a7b9d2b70423", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-large-font-size", - "resolved_value": "55px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "2eadbbf5a8cffcee", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-large-letter-spacing", - "resolved_value": "-0.04em", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "8c0fb05d4719a448", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-large-line-height", - "resolved_value": "110%", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "1c171f610d2e51af", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-regular-font-size", - "resolved_value": "45px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "89f4d6d500b737ca", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-regular-letter-spacing", - "resolved_value": "-0.03em", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "c5db944fdede65e8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-regular-line-height", - "resolved_value": "110%", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "1ba2295745b7bf99", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-small-font-size", - "resolved_value": "35px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "0bebc8ba52be84bd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-small-letter-spacing", - "resolved_value": "-0.02em", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "af9b9b591882273a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--heading-small-line-height", - "resolved_value": "110%", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "daa46a846df80131", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--line", - "resolved_value": "#e5e5e5", - "alias_chain": [], - "by_theme": { - "light": "#e5e5e5", - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "72d1abf292aa67b7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--max-height", - "resolved_value": "800px", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "68944032a4a375f8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--max-width", - "resolved_value": "1200px", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "e1356ba32fdb5821", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--muted", - "resolved_value": "#f0f0f0", - "alias_chain": [], - "by_theme": { - "light": "#f0f0f0", - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "8742a0dab9b31836", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--muted-foreground", - "resolved_value": "#999999", - "alias_chain": [], - "by_theme": { - "light": "#999999", - "dark": "rgba(255, 255, 255, 0.5)" - }, - "occurrences": 3 - }, - { - "id": "a574e64a2afb649c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--nav-z-index", - "resolved_value": "10", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "6a080a1f27c95c2c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--page-container-max-width", - "resolved_value": "1440px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "b8274d7621c15006", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--page-container-side-gutter", - "resolved_value": "20px", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "14511201df1928a1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-10px", - "resolved_value": "10px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "de4a376cb7ece92a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-15px", - "resolved_value": "12px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "b2e3ac5b86ef556b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-5px", - "resolved_value": "999px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "711e25bf4746fdb8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-9px", - "resolved_value": "999px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "51dfe5a254562e1b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-button", - "resolved_value": "999px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "1bd8053502fd87d7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-card", - "resolved_value": "12px", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "e973afa53bc89393", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-card-lg", - "resolved_value": "16px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3d1efdc99e351589", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-card-sm", - "resolved_value": "10px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "94de54d66e349248", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-dropdown", - "resolved_value": "10px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3c6146a28c76efd9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-full", - "resolved_value": "--radius-full", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "be1a0d680b93cdc2", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-input", - "resolved_value": "999px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "e09d667fe58deb25", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-modal", - "resolved_value": "16px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3613277d57bdfced", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--radius-pill", - "resolved_value": "999px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "e3a7e3899744fc52", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--section-heading-margin-bottom", - "resolved_value": "75px", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "c49c191df1cee12c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--section-padding-vertical", - "resolved_value": "100px", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "fb70f9ff3048bf9b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-btn", - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "5f4af709b93a296a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-card", - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "35d0d238835d2b0a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-date-field-focus", - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "e0452dde9a315c2e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-elevated", - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "9134c270d3d74fea", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-kbd", - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "6af9a5fa60ff949e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-mini", - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "alias_chain": [], - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "8e55ad4cb06635e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-mini-inset", - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "alias_chain": [], - "by_theme": { - "default": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - }, - "occurrences": 4 - }, - { - "id": "6b24eb3ae26c8ed6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-modal", - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "96046a9d4d842ceb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--shadow-popover", - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "alias_chain": [], - "by_theme": { - "default": "0 8px 30px rgba(0, 0, 0, 0.12)", - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 4 - }, - { - "id": "f76625db5c060f39", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-1", - "resolved_value": "--spacing-1", - "alias_chain": [], - "occurrences": 17 - }, - { - "id": "d61c250158785a54", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-1.5", - "resolved_value": "--spacing-1.5", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "07607feff64921db", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-10", - "resolved_value": "--spacing-10", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "ebf138778699e1f0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-2", - "resolved_value": "--spacing-2", - "alias_chain": [], - "occurrences": 8 - }, - { - "id": "9042e7d31036a285", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-3", - "resolved_value": "--spacing-3", - "alias_chain": [], - "occurrences": 9 - }, - { - "id": "ef5b81f9eafab2d7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-5", - "resolved_value": "--spacing-5", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "c0282b6f7db9f2b0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-6", - "resolved_value": "--spacing-6", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "4e9dff012ad2f4d9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-button", - "resolved_value": "2.75rem", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "3d8e5e7d721a976a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-button-sm", - "resolved_value": "2rem", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "cf89a1c4e2c446e6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-input", - "resolved_value": "3.25rem", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "c9d33107cc3a5358", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--spacing-input-sm", - "resolved_value": "2.75rem", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "6388aa2b440ae89f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--surface-dark", - "resolved_value": "#0a0a0a", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "bb4d9e64ed783c45", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--surface-dark-border", - "resolved_value": "rgba(255, 255, 255, 0.08)", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3aa8594e183c2be6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--surface-dark-muted", - "resolved_value": "rgba(255, 255, 255, 0.5)", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "8212dec77629f104", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--surface-dark-text", - "resolved_value": "#f5f5f5", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "d9dad5364207fe43", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--tertiary", - "resolved_value": "#666666", - "alias_chain": [], - "by_theme": { - "light": "#666666", - "dark": "#999999" - }, - "occurrences": 3 - }, - { - "id": "7ebfabb2ee686ef9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--text-base", - "resolved_value": "--text-base", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "c5465fe3e586c6ea", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "--text-xxs", - "resolved_value": "10px", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3b8b4b036dde024f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$bgColor", - "resolved_value": "#ffffff", - "alias_chain": ["$white"], - "occurrences": 1 - }, - { - "id": "1f25f0153ec745fc", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$black", - "resolved_value": "#000000", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "2943a07dec18c7bb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$breakpointLg", - "resolved_value": "map.get($breakpoints, 'lg')", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3541a48bb3f158d8", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$breakpointMax", - "resolved_value": "map.get($breakpoints, 'max')", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "82e45ca7733efac7", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$breakpoints", - "resolved_value": "( sm: 480px, lg: 960px, xl: 1440px, max: 1920px )", - "alias_chain": [], - "occurrences": 9 - }, - { - "id": "4ae05d8d523f4e1a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$breakpointSm", - "resolved_value": "map.get($breakpoints, 'sm')", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "7faa27c91140d4e9", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$breakpointXl", - "resolved_value": "map.get($breakpoints, 'xl')", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "3f0f46532defa969", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$cashSans", - "resolved_value": "'Cash Sans', 'Helvetica Neue', helvetica, sans-serif", - "alias_chain": [], - "occurrences": 14 - }, - { - "id": "a449f0a469e33b9e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$cashSansMono", - "resolved_value": "'Cash Sans Mono', 'Helvetica Neue', helvetica, sans-serif", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "ccf149aab3816dc6", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$cashSansWide", - "resolved_value": "'Cash Sans Wide', 'Helvetica Neue', helvetica, sans-serif", - "alias_chain": [], - "occurrences": 6 - }, - { - "id": "d80e6370985d90df", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$clear", - "resolved_value": "rgba(0, 0, 0, 0)", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "69c634f39172900b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$destructive", - "resolved_value": "#dc2626", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "255234755982934a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-100", - "resolved_value": "#f0f0f0", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "dc4949219cd60270", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-200", - "resolved_value": "#e8e8e8", - "alias_chain": [], - "occurrences": 5 - }, - { - "id": "ad6799d84f6a6072", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-300", - "resolved_value": "#e5e5e5", - "alias_chain": [], - "occurrences": 5 - }, - { - "id": "f098a55b331c795a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-400", - "resolved_value": "#cccccc", - "alias_chain": [], - "occurrences": 11 - }, - { - "id": "430855f5f81c59a3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-50", - "resolved_value": "#f5f5f5", - "alias_chain": [], - "occurrences": 13 - }, - { - "id": "1068ac06b00a4bc3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-500", - "resolved_value": "#999999", - "alias_chain": [], - "occurrences": 4 - }, - { - "id": "959ae29e7f98aa03", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-600", - "resolved_value": "#666666", - "alias_chain": [], - "occurrences": 11 - }, - { - "id": "94b1f221e01cc817", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-700", - "resolved_value": "#333333", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "d7600470b99e0060", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-800", - "resolved_value": "#232323", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "42a3a68396767563", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$gray-900", - "resolved_value": "#1a1a1a", - "alias_chain": [], - "occurrences": 28 - }, - { - "id": "8363c30cc6500a1f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$scale", - "resolved_value": "1.03, $duration: 0.6s) { transition: transform $duration cubic-bezier(0.33, 1, 0.68, 1)", - "alias_chain": [], - "occurrences": 2 - }, - { - "id": "256911036fde45e5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$success", - "resolved_value": "#22c55e", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "14034f9f77dddb0a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "$white", - "resolved_value": "#ffffff", - "alias_chain": [], - "occurrences": 25 - }, - { - "id": "0b41480cb1ff56ef", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:$cashSans", - "resolved_value": "font-family:$cashSans", - "alias_chain": [], - "occurrences": 5 - }, - { - "id": "4d92b8cbe4d38d19", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:$cashSansMono", - "resolved_value": "font-family:$cashSansMono", - "alias_chain": [], - "occurrences": 1 - }, - { - "id": "83a69a7bc4b8a059", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:$cashSansWide", - "resolved_value": "font-family:$cashSansWide", - "alias_chain": [], - "occurrences": 5 - }, - { - "id": "4795475119535fe3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:Cash Sans", - "resolved_value": "font-family:Cash Sans", - "alias_chain": [], - "occurrences": 6 - }, - { - "id": "8584f9cc20ec2ae0", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:Cash Sans Mono", - "resolved_value": "font-family:Cash Sans Mono", - "alias_chain": [], - "occurrences": 3 - }, - { - "id": "58181c70c5a33769", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:Cash Sans Wide", - "resolved_value": "font-family:Cash Sans Wide", - "alias_chain": [], - "occurrences": 5 - }, - { - "id": "46a93fb46848ca7a", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "font-family:var(--font-family)", - "resolved_value": "font-family:var(--font-family)", - "alias_chain": [], - "occurrences": 1 - } - ], - "components": [ - { - "id": "e15de9db1b1df05f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "AudioPlayer", - "discovered_via": "svelte-file" - }, - { - "id": "23deab75b5727915", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Combobox", - "discovered_via": "svelte-file" - }, - { - "id": "51dcb9df5557f98b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "EditorialHero", - "discovered_via": "svelte-file" - }, - { - "id": "85e551a0a48f5b24", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "FeedFilter", - "discovered_via": "svelte-file" - }, - { - "id": "64cf725ee24a3b9d", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "FeedGrid", - "discovered_via": "svelte-file" - }, - { - "id": "15e5ec8abc2c3cbf", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "FeedTimeline", - "discovered_via": "svelte-file" - }, - { - "id": "3f2585f99c3338d1", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "GridCard", - "discovered_via": "svelte-file" - }, - { - "id": "2cc3877b62ab2291", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconAi", - "discovered_via": "svelte-icon-file" - }, - { - "id": "b45f003df67c29d5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconCopy", - "discovered_via": "svelte-icon-file" - }, - { - "id": "5087fda6e5b58330", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconCopyCheck", - "discovered_via": "svelte-icon-file" - }, - { - "id": "025d108183c22144", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconFigma", - "discovered_via": "svelte-icon-file" - }, - { - "id": "6636bad13c201bbd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconForward", - "discovered_via": "svelte-icon-file" - }, - { - "id": "1de2b8b2047ab584", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconLike", - "discovered_via": "svelte-icon-file" - }, - { - "id": "1cc0e8462545069f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconPlayPause", - "discovered_via": "svelte-icon-file" - }, - { - "id": "ef824d4d503c7e7e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconRewind", - "discovered_via": "svelte-icon-file" - }, - { - "id": "d31cd1a27bbc925c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "IconSlack", - "discovered_via": "svelte-icon-file" - }, - { - "id": "f34c20b2afa80b9f", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Media", - "discovered_via": "svelte-file" - }, - { - "id": "a4f85bda03827fb4", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Meta", - "discovered_via": "svelte-file" - }, - { - "id": "d4ee1ce412ca4605", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Modal", - "discovered_via": "svelte-file" - }, - { - "id": "baff1ba3b993b212", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Navigation", - "discovered_via": "svelte-file" - }, - { - "id": "fba32983113ca53e", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Placeholder", - "discovered_via": "svelte-file" - }, - { - "id": "2950df5b143ec687", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Post", - "discovered_via": "svelte-file" - }, - { - "id": "c1db8e5c647ebacd", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "PostEdit", - "discovered_via": "svelte-file" - }, - { - "id": "fb3d30d4dab6baa5", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "PostExpanded", - "discovered_via": "svelte-file" - }, - { - "id": "89ac5e5caced0812", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "PostPreview", - "discovered_via": "svelte-file" - }, - { - "id": "8519dcce9234460c", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "ScribbleLoader", - "discovered_via": "svelte-file" - }, - { - "id": "e2a30f8cfef9630b", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Select", - "discovered_via": "svelte-file" - }, - { - "id": "e8c76f54f7cbd7fb", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "SyncButton", - "discovered_via": "svelte-file" - }, - { - "id": "c210d2b102f845ea", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Video", - "discovered_via": "svelte-file" - } - ], - "ui_surfaces": [ - { - "id": "a4cd9dad19352cf3", - "source": { - "id": "dsgn-playground", - "role": "primary", - "target": "github:squareup/dsgn-playground", - "commit": "8c810580233d7aa2392971ebbe88866d4af444f3", - "scanned_at": "2026-05-04T00:00:00Z", - "scanner_version": "ghost-scan dogfood fresh-scan" - }, - "name": "Editorial feed", - "kind": "route", - "locator": "src/routes/+page.svelte", - "renderability": "source-only", - "files": [ - "src/routes/+page.svelte", - "src/lib/components/EditorialHero.svelte", - "src/lib/components/FeedTimeline.svelte", - "src/lib/components/FeedGrid.svelte" - ], - "classification": { - "intent": "browse editorial updates", - "surface_type": "feed", - "density": "breathing", - "layout_shape": "article", - "confidence": 0.78 - }, - "signals": { - "dominant_components": [ - "EditorialHero", - "FeedTimeline", - "FeedGrid", - "GridCard" - ], - "layout_patterns": [ - "editorial hero followed by timeline and grid sections" - ], - "breakpoint_behavior": [ - "SvelteKit route composes responsive feed modules from source." - ], - "notes": ["Static-source evidence from route and feature components."] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-1/NOTES.md b/dogfood/ghost-ui/attempt-1/NOTES.md deleted file mode 100644 index 796a3663..00000000 --- a/dogfood/ghost-ui/attempt-1/NOTES.md +++ /dev/null @@ -1,54 +0,0 @@ -# Attempt 1 — ghost-ui scan, 2026-04-29 - -First end-to-end dogfood of the new three-stage scan pipeline (`map.md` → `survey.json` → `fingerprint.md`) against `packages/ghost-ui`. Authored by an agent (Claude Opus 4.7) following the bundled `map.md`, `survey.md`, `profile.md` skill recipes. All three artifacts lint clean. - -## What worked - -- Pipeline ran end-to-end: every stage produced a lint-clean artifact. -- `survey fix-ids` worked as designed — agent authored rows with `"id": ""`, finalized in one pass. -- Schema flexed across every value kind (`color`, `spacing`, `radius`, `shadow`, `breakpoint`, `motion`, `typography`, `layout-primitive`). -- Token alias chains captured the 3-deep indirection cleanly (`--color-foreground` → `--foreground` → `--text-default` → `--color-gray-900`). - -## What failed - -### 1. Survey recall ~10–20% - -Massive undercount across every section: - -| Section | Recorded | Reality | Recall | -|---|---|---|---| -| `components` | 6 | 97 UI primitives + 48 AI elements + 5 themes (~150 registry items) | ~4% | -| `values` (distinct hexes) | 8 | 25 distinct hexes in canonical token layer (139 across `src/`) | ~32% | -| `tokens` | 11 | 80+ named tokens in `main.css` alone | ~14% | -| `libraries` | 6 | 27 distinct `@radix-ui/*` packages alone (rolled into 1 row) | OK at the category level | - -The recipe instructed exhaustiveness; the agent sampled. **A 90% undercount is a failed scan** — the interpreter downstream cannot recover what wasn't recorded. - -### 2. Decision-level coverage 7/11 - -Missed four load-bearing decisions named in the prior fingerprint.md (authored under the old single-pass recipe): - -- **`font-sourcing`** — ghost-ui ships zero bundled fonts (`font-faces.css` is one comment). Critical character claim, missed entirely. -- **`interactive-patterns`** — global `*:focus-visible` discipline applied uniformly; missed. -- **`density`** — "compact controls inside generous structural whitespace" composition; missed. -- **Charts as a sub-strategy** — 5-color warm chart palette deliberately departing from the monochromatic discipline; missed. - -### 3. Quantitative errors in named decisions - -- **`shadow-hierarchy: 4-tier`** is wrong. There are **7 named tiers** (`mini`, `btn`, `card`, `elevated`, `popover`, `modal`, `kbd`) plus 2 special-purpose (`mini-inset`, `date-field-focus`). -- **`color-strategy`** overstated "no brand or accent color." `--background-accent` exists (mapping to `gray-900`). The real claim is *monochrome accent* — a deliberate refusal of chromatic accent. - -### 4. Decision naming bias - -The new survey-grounded recipe produced more literal/technical names (`color-strategy`, `shape-language`, `shadow-hierarchy`) where the existing fingerprint named patterns at a more useful abstraction (`surface-hierarchy`, `elevation`, `theming-architecture`, `interactive-patterns`). The recipe should reinforce "name the pattern, not the value." - -### 5. Bug in self-distance check (separate from the recipe) - -`ghost-drift compare fingerprint.md fingerprint.md` reports 17.5% self-distance because `loadFingerprint` doesn't backfill `oklch` on palette colors. `comparePalette` then treats every color as fully unmatched (distance 1). Fix shipping in attempt 2's run; not a recipe issue. - -## Lessons for attempt 2 - -1. **Exhaustiveness is the load-bearing rule** — the agent must enumerate every section's source of truth, not sample. Cross-check counts from two independent passes; a divergence > ~10% means re-pass. Already strengthening this in `survey.md`. -2. **No leading repo-specific guidance** in the recipe (e.g. don't say "use registry.json") — Ghost is BYOA-agnostic. The recipe states the discipline; the agent identifies the canonical signal in this repo. -3. **Profile recipe should reinforce "name the pattern, not the value."** Decision dimensions like `font-sourcing`, `interactive-patterns`, `density` are more useful than restated tokens. -4. **Cross-check decision count against prior art when available.** If the old `fingerprint.md` had 11 dimensions and the new has 7, ask why the four absent ones weren't observable — usually a recall gap upstream. diff --git a/dogfood/ghost-ui/attempt-1/fingerprint.md b/dogfood/ghost-ui/attempt-1/fingerprint.md deleted file mode 100644 index 4fc00052..00000000 --- a/dogfood/ghost-ui/attempt-1/fingerprint.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-04-29T13:55:00Z -sources: - - github:block/ghost#packages/ghost-ui - -observation: - personality: [monochromatic, editorial, generous, restrained, deliberate] - resembles: [vercel-geist, linear] - -decisions: - - dimension: color-strategy - - dimension: shape-language - - dimension: typography-voice - - dimension: token-architecture - - dimension: theming - - dimension: motion - - dimension: shadow-hierarchy - -palette: - dominant: - - { role: ink, value: "#1a1a1a" } - neutrals: - steps: ["#ffffff", "#f5f5f5", "#f0f0f0", "#e8e8e8", "#e5e5e5", "#cccccc", "#999999", "#666666", "#333333", "#232323", "#1a1a1a", "#000000"] - count: 12 - semantic: - - { role: success, value: "#91cb80" } - - { role: danger, value: "#f94b4b" } - - { role: info, value: "#5c98f9" } - - { role: warning, value: "#fbcd44" } - saturationProfile: muted - contrast: high - -spacing: - scale: [2, 8, 20, 100] - baseUnit: 4 - regularity: 0.7 - -typography: - families: ["system-ui", "Geist Mono"] - sizeRamp: [10, 11, 12, 14, 16, 20, 28, 44, 64, 96] - weightDistribution: { "300": 1, "600": 4, "700": 2, "900": 1 } - lineHeightPattern: tight - -surfaces: - borderRadii: [10, 14, 16, 20, 24, 999] - shadowComplexity: layered - borderUsage: minimal ---- - -# Character - -`ghost-ui` is a quietly editorial design language: pure-monochromatic neutrals do almost all of the work, semantic colors light up only for state, and every interactive surface lands on a generous pill or rounded card. Headings move on a magazine scale via fluid `clamp()` sizing; bodies sit on system-ui at a measured 1.65 line-height. The whole system is restrained — no brand color, no decorative anything — and gets its character from shape rhythm and shadow cadence rather than chroma. - -# Decisions - -### color-strategy - -The system is monochromatic by default. A 12-step pure-gray scale (white → black) carries surface, border, and text across the entire UI; semantic colors (success, danger, info, warning) appear only when the UI needs to signal state. There is no brand or accent color — distinction is shape and shadow, not chroma. - -**Evidence:** -- Monochromatic ladder white → black: `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#000000` (declared as `--color-gray-50` through `--color-gray-900` plus `--color-white`/`--color-black`) -- Semantic-only utility colors: `#91cb80` (success), `#f94b4b` (danger), `#5c98f9` (info), `#fbcd44` (warning) — bound to `--background-success`, `--background-danger`, `--background-info`, `--background-warning` -- `src/styles/main.css` declares no brand color or accent — `--color-*: initial` resets Tailwind's defaults - -### shape-language - -Pill-first interactive radii: every button and input is fully pilled (`999px`) by default; cards stay distinct as soft squares (`20px`); modals (`16px`) and dropdowns (`10px`) live in between. The shape choice is itself a rhythm — interactive vs. structural surfaces are read by their corner radius before any color cue. - -**Evidence:** -- `--radius-pill: 999px`, `--radius-button: 999px`, `--radius-input: 999px` -- `--radius-card: 20px`, `--radius-modal: 16px`, `--radius-dropdown: 10px` - -### typography-voice - -Headings live on a magazine-scale fluid hierarchy: `clamp()` sizing across display (64–96px), section (44–64px), sub (28–40px), and card (20–28px) tiers, with progressively tightening line-heights (0.88 → 1.1) and decreasing negative letter-spacing. Body copy uses `system-ui` at fluid `1rem–1.25rem`; mono is `Geist Mono`. There is no brand display face — the system inherits the OS sans and lets weight + scale do the work. - -**Evidence:** -- `--heading-display-font-size: clamp(64px, 8vw, 96px)` with line-height `0.88`, weight `900` -- `--heading-card-font-size: clamp(20px, 2vw, 28px)` with line-height `1.1`, weight `600` -- `--font-sans: system-ui, …`, `--font-mono: "Geist Mono"` - -### token-architecture - -Tokens layer three deep. The base layer declares raw stepped values (`--color-gray-900: #1a1a1a`). The semantic layer aliases them to roles (`--text-default: var(--color-gray-900)`). The shadcn alias layer wraps the semantic layer (`--foreground: var(--text-default)`, then `--color-foreground: var(--foreground)`). Consumers reach for any layer that matches their intent — Tailwind utilities pull `--color-foreground`; component CSS pulls `--text-default`; raw needs reach `--color-gray-900` directly. - -**Evidence:** -- chain `--color-foreground` → `--foreground` → `--text-default` → `--color-gray-900` -- chain `--background-default` → `--color-white` -- the `@theme inline` block in `src/styles/main.css` re-exposes every semantic alias as a Tailwind color token - -### theming - -Light and dark themes share token names but route through different cascade values: `.dark` overrides the semantic layer (`--background-default`, `--text-default`, etc.) so the alias-chained downstream tokens automatically pick up the new values. Shadows aren't inverted — they're intensified (alpha doubled in dark mode) so depth reads through the darker background. Alpha utility tokens (`--dark-10`, `--dark-40`, `--dark-04`) flip from gray-900-based to white-based across themes. - -**Evidence:** -- `.dark { --background-default: var(--color-black); --text-default: var(--color-white); … }` -- light `--shadow-card: 0 2px 8px rgba(76, 76, 76, 0.15)` → dark `--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.4)` - -### motion - -Three durations (`0.15s` fast, `0.2s` normal, `0.4s` slow) drive every transition; a single shared cubic-bezier easing (`--ease-spring: cubic-bezier(0.33, 1, 0.68, 1)`) gives interactions a consistent decelerating feel. Animations are short, deliberate, and limited to opacity/transform/blur — no heavy motion. - -**Evidence:** -- `--duration-fast: 0.15s`, `--duration-normal: 0.2s`, `--duration-slow: 0.4s` -- `--ease-spring: cubic-bezier(0.33, 1, 0.68, 1)` -- keyframe library: `fade-in/out`, `scale-in/out`, `enter-from-left/right`, `word-reveal` - -### shadow-hierarchy - -Four tiers organize elevation: mini (cards, buttons, kbd), elevated (raised surfaces), popover (floating menus), modal (overlays). Each tier has fixed offset/blur values; the tier is the noun, not the parameters. A separate `mini-inset` exists for inset shadows, and `date-field-focus` is a special-purpose ring. In dark mode every tier's alpha doubles to maintain perceived depth. - -**Evidence:** -- `--shadow-mini`, `--shadow-btn`, `--shadow-card`, `--shadow-elevated`, `--shadow-popover`, `--shadow-modal`, `--shadow-kbd` -- `--shadow-mini-inset` for inset accents -- `--shadow-date-field-focus: 0 0 0 3px rgba(26, 26, 26, 0.15)` diff --git a/dogfood/ghost-ui/attempt-1/map.md b/dogfood/ghost-ui/attempt-1/map.md deleted file mode 100644 index 87184c5b..00000000 --- a/dogfood/ghost-ui/attempt-1/map.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -mapped_at: 2026-04-29 -platform: web -languages: - - { name: typescript, files: 116, share: 0.4696 } - - { name: json, files: 113, share: 0.4575 } - - { name: markdown, files: 10, share: 0.0405 } - - { name: css, files: 4, share: 0.0162 } - - { name: javascript, files: 4, share: 0.0162 } -build_system: [pnpm, vite] -package_manifests: - - package.json - - tsconfig.json - - tsconfig.lib.json - - tsconfig.mcp.json - - vite.lib.config.ts - - components.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: radix-ui } - - { name: lucide-react, version: "^1.7.0" } - - { name: cmdk, version: "^1.1.1" } - - { name: sonner, version: "^2.0.7" } - - { name: class-variance-authority, version: "^0.7.1" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties -registry: - path: ./registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts - - src/lib/theme-utils.ts - - src/lib/theme-provider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - "src/components/ui/**" - - "src/components/ai-elements/**" - - "src/components/theme/**" - - "src/styles/**" - - "src/lib/theme-*" - exclude: - - "src/mcp/**" - - "scripts/**" - - "dist/**" - - "dist-lib/**" - - "dist-mcp/**" - - "public/r/**" - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: ["src/components/ui"] - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: ["src/components/ai-elements"] - sub_areas: [chat, agent-state, artifacts, audio] - - name: theme - paths: ["src/components/theme", "src/lib/theme-presets.ts", "src/lib/theme-defaults.ts", "src/lib/theme-utils.ts", "src/lib/theme-provider.tsx"] - - name: tokens - paths: ["src/styles"] - - name: hooks - paths: ["src/hooks"] - - name: registry-tooling - paths: ["scripts", "registry.json", "components.json"] - - name: mcp-server - paths: ["src/mcp"] -orientation_files: - - README.md - - registry.json - - src/styles/main.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts ---- - -## Identity - -`ghost-ui` is a private workspace package in the `block/ghost` monorepo. It ships a reference design system — 49 shadcn-style UI primitives plus 48 AI-element components plus a theme layer — distributed via a shadcn `registry.json` rather than npm. It also ships an MCP server (`ghost-mcp` bin) that re-exposes the registry to AI assistants. - -## Topology - -The design system lives across three folders. Tokens are inline CSS custom properties declared in `src/styles/main.css` (Tailwind v4 `@theme` blocks plus `:root` and `.dark` variable layers). Theme presets and defaults are TypeScript modules under `src/lib/theme-*.ts`, surfaced through a `theme-provider.tsx` React context. UI primitives live under `src/components/ui/`; AI-specific elements (chat surfaces, agent-state indicators, artifacts) live under `src/components/ai-elements/`. The `registry.json` at the package root indexes 106 distributable items consumed by `shadcn build`. - -## Conventions - -Tailwind v4 with custom theming via `@theme` blocks, CSS custom properties for runtime token resolution, and a class-variance-authority pattern for variant-heavy primitives. Radix UI underlies most interactive primitives. Components are flat (no nested theme variants) and ship as both source files and a baked `registry.json` plus per-item snapshots under `public/r/` (113 JSON files account for the JSON-heavy histogram). Build splits into a Vite library bundle and a separate TypeScript-built MCP server. diff --git a/dogfood/ghost-ui/attempt-1/survey.json b/dogfood/ghost-ui/attempt-1/survey.json deleted file mode 100644 index cbda1e17..00000000 --- a/dogfood/ghost-ui/attempt-1/survey.json +++ /dev/null @@ -1,800 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - } - ], - "values": [ - { - "id": "07998cc8e99e422d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#ffffff", - "spec": { - "space": "srgb", - "hex": "#ffffff", - "rgb": { - "r": 255, - "g": 255, - "b": 255 - } - }, - "occurrences": 24, - "files_count": 4, - "role_hypothesis": "neutral-extreme-light" - }, - { - "id": "f699bc316c60d1df", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000", - "rgb": { - "r": 0, - "g": 0, - "b": 0 - } - }, - "occurrences": 15, - "files_count": 3, - "role_hypothesis": "neutral-extreme-dark" - }, - { - "id": "b2de7ad8c2837a78", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "#1a1a1a", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 9, - "files_count": 3, - "role_hypothesis": "neutral-darkest-step" - }, - { - "id": "4b8ba7755a7b0ad6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "#f5f5f5", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 3, - "files_count": 2, - "role_hypothesis": "neutral-lightest-step" - }, - { - "id": "b6756caa068847ff", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#91cb80", - "raw": "#91cb80", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 9, - "files_count": 2, - "role_hypothesis": "semantic-success" - }, - { - "id": "c43f851c1cb8e9bd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "#f94b4b", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 5, - "files_count": 2, - "role_hypothesis": "semantic-danger" - }, - { - "id": "22a9e7619e96133b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "#5c98f9", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 5, - "files_count": 2, - "role_hypothesis": "semantic-info" - }, - { - "id": "51eea2d9c0c627e3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "#fbcd44", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 5, - "files_count": 2, - "role_hypothesis": "semantic-warning" - }, - { - "id": "0e913b5f5566586a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "8", - "raw": "8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 21, - "files_count": 2, - "role_hypothesis": "spacing-base-unit" - }, - { - "id": "fcd6f6793118b2d6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "2", - "raw": "2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 25, - "files_count": 3 - }, - { - "id": "43e686cb95055b82", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "20", - "raw": "20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 14, - "files_count": 3, - "role_hypothesis": "spacing-card-radius-unit" - }, - { - "id": "42331c1ca6bbb635", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "100", - "raw": "100px", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1, - "role_hypothesis": "section-padding-vertical" - }, - { - "id": "d77862c3e75ef823", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "radius", - "value": "999", - "raw": "999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 9, - "files_count": 2, - "role_hypothesis": "radius-pill" - }, - { - "id": "bcf70cb399fa2f2e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "radius", - "value": "20", - "raw": "20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1, - "role_hypothesis": "radius-card-default" - }, - { - "id": "13fe983e4d8cad2e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "0 2px 8px rgba(76, 76, 76, 0.15)", - "spec": { - "offset_x": { - "scalar": 0, - "unit": "px" - }, - "offset_y": { - "scalar": 2, - "unit": "px" - }, - "blur": { - "scalar": 8, - "unit": "px" - }, - "color": "rgba(76, 76, 76, 0.15)" - }, - "occurrences": 4, - "files_count": 1, - "role_hypothesis": "shadow-mini-light" - }, - { - "id": "9a298083f034b5d0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "breakpoint", - "value": "1440", - "raw": "1440px", - "spec": { - "scalar": 1440, - "unit": "px", - "label": "desktop" - }, - "occurrences": 2, - "files_count": 1, - "role_hypothesis": "breakpoint-desktop" - }, - { - "id": "3ac3a9616596e548", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "0.2s", - "raw": "0.2s", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 1, - "role_hypothesis": "duration-normal" - }, - { - "id": "79cec1551cea2c94", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "0.15s", - "raw": "0.15s", - "spec": { - "duration_ms": 150 - }, - "occurrences": 3, - "files_count": 1, - "role_hypothesis": "duration-fast" - }, - { - "id": "9b765541bf0e2a42", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "role_hypothesis": "easing-spring" - }, - { - "id": "6cd2a74b3334e115", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "typography", - "value": "Geist Mono", - "raw": "\"Geist Mono\"", - "spec": { - "family": "Geist Mono" - }, - "occurrences": 1, - "files_count": 1, - "role_hypothesis": "font-mono" - }, - { - "id": "7e0c4961e87935f8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "typography", - "value": "system-ui", - "raw": "system-ui", - "spec": { - "family": "system-ui" - }, - "occurrences": 2, - "files_count": 1, - "role_hypothesis": "font-sans" - }, - { - "id": "8f1fb0ee33db31a0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "kind": "layout-primitive", - "value": "1440px", - "raw": "1440px", - "spec": { - "kind": "max-width", - "scalar": 1440, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "role_hypothesis": "page-container-max-width" - } - ], - "tokens": [ - { - "id": "a98934fc1e31ad67", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 9 - }, - { - "id": "12ea54555a0564cf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "by_theme": { - "light": "#1a1a1a", - "dark": "#ffffff" - }, - "occurrences": 12 - }, - { - "id": "9e25b641c24e539a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "by_theme": { - "light": "#1a1a1a", - "dark": "#ffffff" - }, - "occurrences": 8 - }, - { - "id": "441b3c286c0261ca", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-foreground", - "alias_chain": ["--foreground", "--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "by_theme": { - "light": "#1a1a1a", - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "035086c7634b82d4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-default", - "alias_chain": ["--color-white"], - "resolved_value": "#ffffff", - "by_theme": { - "light": "#ffffff", - "dark": "#000000" - }, - "occurrences": 11 - }, - { - "id": "ec631d558a6a99d1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 5 - }, - { - "id": "b23396b5f5917ece", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 4 - }, - { - "id": "6495da33b44d2a78", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 3 - }, - { - "id": "d440ce2b5a94d053", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "light": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "0c2a5e27fb5ab060", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "ea66cc1267da58ae", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - } - ], - "components": [ - { - "id": "08d82e05c20c6443", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Button", - "discovered_via": "registry.json", - "variants": [ - "default", - "destructive", - "outline", - "secondary", - "ghost", - "link" - ], - "sizes": ["default", "sm", "lg", "icon"] - }, - { - "id": "c0247ab4b8650edd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Input", - "discovered_via": "registry.json" - }, - { - "id": "a5c90d03f29f5c06", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Card", - "discovered_via": "registry.json" - }, - { - "id": "3d87605ed68215ef", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Dialog", - "discovered_via": "registry.json" - }, - { - "id": "60b034a3edf75635", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "DropdownMenu", - "discovered_via": "registry.json" - }, - { - "id": "69c55fea7b09ab3e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Badge", - "discovered_via": "registry.json" - } - ], - "libraries": [ - { - "id": "6348a4fef3c0b8d4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "lucide-react", - "kind": "icons", - "version": "^1.7.0" - }, - { - "id": "4f8ef2d2b5cd65ee", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-*", - "kind": "primitives", - "version": "^1.x" - }, - { - "id": "b497cbc85c1baf41", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "cmdk", - "kind": "command-palette", - "version": "^1.1.1" - }, - { - "id": "d7dd2e7250f6c2a1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "sonner", - "kind": "toast", - "version": "^2.0.7" - }, - { - "id": "07dcc1e35fef16db", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "class-variance-authority", - "kind": "variant-helper", - "version": "^0.7.1" - }, - { - "id": "396e1af18e2813b3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "tw-animate-css", - "kind": "animation", - "version": "(imported via main.css)" - } - ], - "ui_surfaces": [ - { - "id": "25391ab83eaae1a7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "5f821cb6f3ef79ca2515091ba1174e6de5cf8227", - "scanned_at": "2026-04-29T13:55:00Z", - "scanner_version": "0.1.0" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-2/NOTES.md b/dogfood/ghost-ui/attempt-2/NOTES.md deleted file mode 100644 index e4460ed0..00000000 --- a/dogfood/ghost-ui/attempt-2/NOTES.md +++ /dev/null @@ -1,66 +0,0 @@ -# Attempt 2 — ghost-ui scan, 2026-04-29 (post-tighten) - -Second dogfood after the survey-recipe tightening (commit `916e728`) and the oklch backfill bug fix. Same target as attempt 1 (`packages/ghost-ui`). - -## Recall delta vs attempt 1 - -| Section | Attempt 1 | Attempt 2 | Reality | -|---|---|---|---| -| `values[]` | 22 | 190 | ~190 (136 distinct hex + 41 distinct spacing + radii + breakpoints + motion + typography) ✓ | -| `tokens[]` | 11 | 238 | 240 unique CSS custom properties in `main.css` — **99% recall** ✓ | -| `components[]` | 6 | 97 | 97 `registry:ui` items in `registry.json` — **100% recall** ✓ | -| `libraries[]` | 6 | 42 | 42 design-surface deps in `package.json` (27 radix primitives + 15 others) — **100% recall** ✓ | - -The survey file is 242 KB (vs 21 KB in attempt 1). Exhaustiveness is expensive in disk; honest is what matters. - -## Decision-level coverage - -| Attempt 1 (7 decisions) | Attempt 2 (11 decisions) | -|---|---| -| color-strategy | color-strategy | -| — | **chart-strategy** ← new | -| — | **surface-hierarchy** ← new | -| shape-language | shape-language | -| token-architecture | **theming-architecture** ← renamed (pattern-named) | -| typography-voice | typography-voice | -| — | **font-sourcing** ← new (load-bearing absence) | -| — | **density** ← new | -| — | **interactive-patterns** ← new (focus-ring discipline) | -| theming → folded into theming-architecture | — | -| shadow-hierarchy: 4-tier (WRONG) | **elevation: 7 named tiers** (CORRECT, renamed) | -| motion | motion | - -Coverage went from 7/11 (64%) → 11/11 (100%) of the load-bearing decisions identified in the audit of attempt 1. - -## What the recipe tightening produced - -1. **The agent wrote a script.** Following "use shell tools, identify the canonical signal" the agent generated `build-survey.mjs` (pinned alongside the artifacts) that: - - Walks `main.css` line-by-line, scope-aware (`@theme`, `:root`, `.dark`), captures every `--name: value` declaration with by_theme cascade. - - Reads `registry.json` and emits one component row per `registry:ui` item. - - Categorizes every `package.json` dependency by design surface (icons, primitives, motion, charts, forms, dates, command, toast, drawer, etc.). - - Frequency-clusters values via `rg -oNI` with proper filename suppression. - -2. **No leading repo-specific guidance was needed.** The recipe just said "find the canonical signal." For ghost-ui that's `registry.json`, `package.json`, and `main.css`. For a different repo it would be different files. Recipe stays agnostic. - -3. **Pattern-naming worked.** `surface-hierarchy`, `theming-architecture`, `font-sourcing`, `density`, `interactive-patterns`, `elevation` all read as patterns rather than restated tokens. That's the prose discipline the existing pre-survey fingerprint had. - -## Bug fixes verified - -- Self-distance is now 0.0% (was 17.5% in attempt 1) — confirms the oklch backfill fix. -- Lint passes with 0 errors, 0 warnings, 0 info — no unused-palette flags, every palette entry cited in evidence. - -## What's still imperfect - -- **Spacing scale messiness**: attempt 2 records 22 distinct px values in the spacing scale. Real ghost-ui has a coherent rem-based component-height system (2rem, 2.75rem, 3rem, 3.25rem) layered on top of an ad-hoc px scatter (1, 2, 3, 4, 6, 8, 10, 12...). The survey captured both honestly; the fingerprint flattened them into a single `spacing.scale` array. A future iteration might split rem-component-height from px-utility values explicitly in the spec. -- **No dark-mode-specific rows for tokens that diverge between themes**: each token has a `by_theme` field when light/dark differ, but value-level dark-mode rows aren't separate rows. That's by design but worth noting. -- **The agent's heuristic categorizers** (e.g. "999px → radius, 1440px → breakpoint, others → spacing") are still heuristics. Misclassifications are possible; cross-checking against `map.md` topology would catch them. - -## Follow-up bug found - -`ghost-scan diff` reports `dominant primary: #1a1a1a` as a "+" addition when comparing attempt-2's fingerprint to attempt-1's, even though both have the same dominant color (different role name: `ink` vs `primary`). Worth investigating — diff should match dominant entries by value when role names differ, OR surface "dominant role rename" as a distinct category. Filed as a follow-up; not blocking. - -## Lessons for next iteration - -1. **The script-driven extraction pattern is right.** The recipe should explicitly mention this — "for repos where canonical signals are programmatically enumerable (registry, manifest, named CSS declarations), generate a small extraction script and run it. Don't hand-author hundreds of rows." -2. **Spacing kind heuristics should fall through to `map.md` signals when ambiguous.** A 999px scalar is a radius in this repo because `--radius-pill: 999px`; a 1440px scalar is a breakpoint because `--breakpoint-desktop: 1440px`. The agent caught both; the recipe could codify the heuristic. -3. **The script is pinned alongside artifacts.** Anyone re-running the same target gets the same survey. Reproducibility is a side-benefit of script-driven extraction. diff --git a/dogfood/ghost-ui/attempt-2/build-survey.mjs b/dogfood/ghost-ui/attempt-2/build-survey.mjs deleted file mode 100644 index 4eb6795d..00000000 --- a/dogfood/ghost-ui/attempt-2/build-survey.mjs +++ /dev/null @@ -1,347 +0,0 @@ -#!/usr/bin/env node -// Survey-recipe extraction script for packages/ghost-ui. -// Enumerates exhaustively: tokens from main.css, components from registry.json, -// libraries from package.json, values from frequency-clustered hex/scalar/etc. -// Writes a survey.json with empty IDs (fix-ids will populate). - -import { execSync } from "node:child_process"; -import { readFileSync, writeFileSync } from "node:fs"; -import { resolve } from "node:path"; - -const ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const SOURCE = { - target: "github:block/ghost#packages/ghost-ui", - commit: execSync("git rev-parse HEAD", { - cwd: "/Users/nahiyan/Development/ghost", - }) - .toString() - .trim(), - scanned_at: "2026-04-29T16:10:00Z", - scanner_version: "0.1.0", -}; - -// ---- 1. Tokens — every named CSS custom property in main.css ---- - -const mainCss = readFileSync(resolve(ROOT, "src/styles/main.css"), "utf-8"); - -// Walk main.css line-by-line. Each `--name: value;` is a declaration. -// We dedupe by name, prefer the :root / @theme declaration as the canonical -// source, and capture per-theme overrides under by_theme. -const tokens = new Map(); // name -> { name, declarations: { theme -> value } } -let currentScope = "theme"; // "theme" | "root" | "dark" -const lines = mainCss.split("\n"); -for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - // Update scope on block boundaries. - if (/^\s*@theme\s*\{/.test(line)) currentScope = "theme"; - else if (/^\s*@theme\s+inline\s*\{/.test(line)) currentScope = "theme-inline"; - else if (/^\s*:root\s*\{/.test(line)) currentScope = "root"; - else if (/^\s*\.dark\s*\{/.test(line)) currentScope = "dark"; - else if (/^\s*@layer\s+/.test(line)) currentScope = "layer"; - - // Match a custom property declaration. - const m = line.match(/^\s*(--[a-z0-9-]+)\s*:\s*([^;]+?)\s*;\s*$/i); - if (!m) continue; - const [, name, value] = m; - - if (!tokens.has(name)) { - tokens.set(name, { name, scopes: {} }); - } - const t = tokens.get(name); - if (!t.scopes[currentScope]) t.scopes[currentScope] = value; -} - -// Build token rows. Resolve simple alias chains by following var() refs. -function resolveChain(name, byScope, depth = 0) { - if (depth > 10) - return { chain: [], resolved: byScope[name]?.scopes?.root ?? "" }; - const scoped = - byScope[name]?.scopes?.root ?? - byScope[name]?.scopes?.theme ?? - byScope[name]?.scopes?.["theme-inline"] ?? - ""; - const m = scoped.match(/^var\(\s*(--[a-z0-9-]+)/i); - if (!m) return { chain: [], resolved: scoped }; - const next = m[1]; - const sub = resolveChain(next, byScope, depth + 1); - return { chain: [next, ...sub.chain], resolved: sub.resolved }; -} - -const byName = Object.fromEntries(tokens); -const tokenRows = []; -for (const t of tokens.values()) { - const { chain, resolved } = resolveChain(t.name, byName); - const row = { - id: "", - source: SOURCE, - name: t.name, - alias_chain: chain, - resolved_value: resolved, - occurrences: 1, - }; - // by_theme: capture light vs dark divergence when both scopes have a declaration. - const root = t.scopes.root; - const dark = t.scopes.dark; - if (root && dark && root !== dark) { - row.by_theme = { light: root, dark }; - } - tokenRows.push(row); -} -console.error(`tokens: ${tokenRows.length}`); - -// ---- 2. Components — every registry:ui item ---- - -const registry = JSON.parse( - readFileSync(resolve(ROOT, "registry.json"), "utf-8"), -); -const componentRows = registry.items - .filter((i) => i.type === "registry:ui") - .map((i) => ({ - id: "", - source: SOURCE, - name: i.name, - discovered_via: "registry.json", - })); -console.error(`components: ${componentRows.length}`); - -// ---- 3. Libraries — every external dep that contributes design surface ---- - -const pkg = JSON.parse(readFileSync(resolve(ROOT, "package.json"), "utf-8")); -const deps = pkg.dependencies || {}; -const LIBRARY_KIND = (name) => { - if (name.startsWith("@radix-ui/react-")) return "primitives"; - if (name === "lucide-react") return "icons"; - if (name === "recharts") return "charts"; - if (name === "tw-animate-css") return "animation"; - if (name === "motion" || name === "framer-motion") return "motion"; - if (name === "@hookform/resolvers" || name === "react-hook-form") - return "forms"; - if (name === "zod") return "validation"; - if (name === "date-fns" || name === "react-day-picker") return "date"; - if (name === "cmdk") return "command-palette"; - if (name === "sonner") return "toast"; - if (name === "vaul") return "drawer"; - if (name === "class-variance-authority") return "variant-helper"; - if (name === "clsx" || name === "tailwind-merge") return "class-utils"; - return null; -}; -const libraryRows = []; -for (const [name, version] of Object.entries(deps)) { - const kind = LIBRARY_KIND(name); - if (!kind) continue; - libraryRows.push({ - id: "", - source: SOURCE, - name, - kind, - version, - }); -} -console.error(`libraries: ${libraryRows.length}`); - -// ---- 4. Values — frequency-clustered literals across the design system ---- - -function rgFreq(pattern, glob) { - try { - const out = execSync( - `rg -oNI '${pattern}' -g '${glob}' src/ 2>/dev/null | sort | uniq -c | sort -rn`, - { cwd: ROOT, encoding: "utf-8" }, - ); - return out - .split("\n") - .filter(Boolean) - .map((l) => { - const m = l.match(/^\s*(\d+)\s+(.+)$/); - return m ? { count: Number(m[1]), value: m[2] } : null; - }) - .filter(Boolean); - } catch { - return []; - } -} - -function rgFilesContaining(pattern, glob) { - try { - const out = execSync(`rg -lN '${pattern}' -g '${glob}' src/ 2>/dev/null`, { - cwd: ROOT, - encoding: "utf-8", - }); - return out.split("\n").filter(Boolean).length; - } catch { - return 0; - } -} - -const valueRows = []; - -// Hex colors -const hexes = rgFreq("#[0-9a-fA-F]{6}", "*.{ts,tsx,css}"); -for (const { count, value } of hexes) { - if (count < 1) continue; - valueRows.push({ - id: "", - source: SOURCE, - kind: "color", - value: value.toLowerCase(), - raw: value, - spec: { space: "srgb", hex: value.toLowerCase() }, - occurrences: count, - files_count: rgFilesContaining(value, "*.{ts,tsx,css}"), - }); -} - -// px scalars (split into spacing / radius / breakpoint / shadow-blur / layout-primitive) -const pxScalars = rgFreq("\\b[0-9]+(\\.[0-9]+)?px\\b", "*.{css}"); -for (const { count, value } of pxScalars) { - const num = parseFloat(value); - // Heuristic kind by value range — agent's role-hypothesis guess - let kind = "spacing"; - if (num === 999 || num === 1440) { - kind = num === 1440 ? "breakpoint" : "radius"; - } else if (num >= 1000) { - kind = "layout-primitive"; - } - valueRows.push({ - id: "", - source: SOURCE, - kind, - value: String(num), - raw: value, - spec: - kind === "breakpoint" - ? { - scalar: num, - unit: "px", - label: num === 1440 ? "desktop" : undefined, - } - : { scalar: num, unit: "px" }, - occurrences: count, - files_count: rgFilesContaining(value, "*.{css}"), - }); -} - -// rem scalars -const remScalars = rgFreq("\\b[0-9]+(\\.[0-9]+)?rem\\b", "*.{ts,tsx,css}"); -for (const { count, value } of remScalars) { - valueRows.push({ - id: "", - source: SOURCE, - kind: "spacing", - value, - raw: value, - spec: { scalar: parseFloat(value), unit: "rem" }, - occurrences: count, - files_count: rgFilesContaining(value, "*.{ts,tsx,css}"), - }); -} - -// motion durations -const durations = rgFreq("\\b[0-9]+(\\.[0-9]+)?s\\b", "*.{css}"); -for (const { count, value } of durations) { - // Skip values likely not durations (e.g. 999s would be junk; capping) - const seconds = parseFloat(value); - if (seconds > 5) continue; - valueRows.push({ - id: "", - source: SOURCE, - kind: "motion", - value, - raw: value, - spec: { duration_ms: Math.round(seconds * 1000) }, - occurrences: count, - files_count: rgFilesContaining(value, "*.{css}"), - }); -} - -// font-family declarations (string literals in @theme + @theme inline) -const families = new Set(); -const fontMatches = mainCss.match(/--font-[a-z-]+:\s*([^;]+);/gi) || []; -for (const m of fontMatches) { - const valueMatch = m.match(/--font-[a-z-]+:\s*([^;]+);/i); - if (!valueMatch) continue; - // Pull primary family name (first comma-separated entry, dequoted) - const primary = valueMatch[1] - .split(",")[0] - .trim() - .replace(/^["']|["']$/g, ""); - if (primary && primary !== "var") families.add(primary); -} -for (const family of families) { - valueRows.push({ - id: "", - source: SOURCE, - kind: "typography", - value: family, - raw: `"${family}"`, - spec: { family }, - occurrences: 1, - files_count: 1, - }); -} - -// easing -const easings = mainCss.match(/cubic-bezier\([^)]+\)/g) || []; -for (const easing of new Set(easings)) { - valueRows.push({ - id: "", - source: SOURCE, - kind: "motion", - value: easing, - raw: easing, - spec: { easing }, - occurrences: 1, - files_count: 1, - }); -} - -console.error(`values: ${valueRows.length}`); - -// ---- 5. Write ---- - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values: valueRows, - tokens: tokenRows, - components: componentRows, - libraries: libraryRows, - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -writeFileSync( - "/tmp/ghost-ui-scan/survey.json", - `${JSON.stringify(survey, null, 2)}\n`, -); -console.error( - `\nsurvey totals: values=${valueRows.length} tokens=${tokenRows.length} components=${componentRows.length} libraries=${libraryRows.length}`, -); diff --git a/dogfood/ghost-ui/attempt-2/fingerprint.md b/dogfood/ghost-ui/attempt-2/fingerprint.md deleted file mode 100644 index 82049a68..00000000 --- a/dogfood/ghost-ui/attempt-2/fingerprint.md +++ /dev/null @@ -1,181 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-04-29T16:15:00Z -sources: - - github:block/ghost#packages/ghost-ui - -observation: - personality: [monochromatic, editorial, restrained, generous, rhythmic] - resembles: [vercel-geist, linear] - -decisions: - - dimension: color-strategy - - dimension: chart-strategy - - dimension: surface-hierarchy - - dimension: shape-language - - dimension: theming-architecture - - dimension: typography-voice - - dimension: font-sourcing - - dimension: density - - dimension: interactive-patterns - - dimension: elevation - - dimension: motion - -palette: - dominant: - - { role: ink, value: "#1a1a1a" } - neutrals: - steps: ["#ffffff", "#f5f5f5", "#f0f0f0", "#e8e8e8", "#e5e5e5", "#cccccc", "#999999", "#666666", "#333333", "#232323", "#1a1a1a", "#000000"] - count: 12 - semantic: - - { role: success, value: "#91cb80" } - - { role: success-light, value: "#a3d795" } - - { role: danger, value: "#f94b4b" } - - { role: danger-light, value: "#ff6b6b" } - - { role: info, value: "#5c98f9" } - - { role: info-light, value: "#7cacff" } - - { role: warning, value: "#fbcd44" } - - { role: warning-light, value: "#ffd966" } - - { role: chart-1, value: "#f6b44a" } - - { role: chart-2, value: "#7585ff" } - - { role: chart-3, value: "#d76a6a" } - - { role: chart-4, value: "#d185e0" } - - { role: chart-5, value: "#91cb80" } - saturationProfile: muted - contrast: high - -spacing: - scale: [1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 30, 40, 44, 60, 64, 75, 96, 100, 200] - baseUnit: 4 - regularity: 0.6 - -typography: - families: ["system-ui", "Geist Mono", "serif"] - sizeRamp: [10, 11, 12, 14, 16, 20, 28, 44, 64, 96] - weightDistribution: { "300": 1, "600": 4, "700": 2, "900": 1 } - lineHeightPattern: tight - -surfaces: - borderRadii: [10, 14, 16, 20, 24, 999] - shadowComplexity: layered - borderUsage: minimal ---- - -# Character - -`ghost-ui` is an editorial design language: a 12-step pure-monochromatic neutral scale carries surface, border, and text across the whole UI; chroma appears only when the UI signals state or surfaces data. Headings move on a magazine-scale fluid hierarchy and inputs/buttons land on full pills, so the visual rhythm comes from shape and shadow rather than color. The system ships no bundled fonts and no brand color — character is in the discipline, not the ornament. - -# Decisions - -### color-strategy - -Treat hue as opt-in communication, not ambient decoration. A 12-step pure-monochromatic neutral ladder (`#ffffff` through `#000000`) carries surface, border, and text across the entire UI; eight semantic colors light up only when the UI signals state (success, danger, info, warning, each in a default + light variant for theme cascade). There is no brand color, no accent hue. Distinction comes from shape and shadow, not chroma. - -**Evidence:** -- Monochromatic ladder: `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#000000` (declared as `--color-gray-50` through `--color-gray-900` plus `--color-white`/`--color-black`) -- Semantic state colors with light/dark cascade: `#91cb80` / `#a3d795` (success), `#f94b4b` / `#ff6b6b` (danger), `#5c98f9` / `#7cacff` (info), `#fbcd44` / `#ffd966` (warning) -- The `@theme` block in `src/styles/main.css` opens with `--color-*: initial` — explicitly resetting Tailwind's default palette so nothing chromatic leaks in. -- `--background-accent: var(--color-gray-900)` — the "accent" maps to the extreme of the gray scale, not a brand hue. The accent slot itself is monochrome. - -### chart-strategy - -Data visualization gets a deliberately separate, warm-leaning 5-color palette (`#f6b44a` orange, `#7585ff` periwinkle, `#d76a6a` coral, `#d185e0` lilac, `#91cb80` green) that intentionally departs from the monochromatic discipline applied everywhere else. Charts need categorical distinction; the rest of the UI doesn't. Naming the chart palette as a separate sub-strategy keeps the discipline gate clear: chroma here is signal, not seepage. - -**Evidence:** -- `--chart-1: #f6b44a`, `--chart-2: #7585ff`, `--chart-3: #d76a6a`, `--chart-4: #d185e0`, `--chart-5: #91cb80` -- Same five chart values declared identically in `:root` and `.dark` — the chart palette is the one thing that doesn't theme-cascade. Cross-theme consistency is the goal for data. - -### surface-hierarchy - -Name surfaces by intent rather than by shade number. Backgrounds, borders, and text each get their own semantic vocabulary (`default`, `alt`, `medium`, `muted`, `inverse`, `accent`, plus `danger`/`success`/`info`/`warning` for state and `strong`/`card`/`input`/`input-hover` for borders). A theme preset can remap every value without touching component logic — the slot names are the contract. - -**Evidence:** -- 9 background slots: `--background-default`, `--background-alt`, `--background-medium`, `--background-muted`, `--background-inverse`, `--background-accent`, `--background-danger`, `--background-success`, `--background-info`, `--background-warning` -- 10 border slots: `--border-default`, `--border-input`, `--border-input-hover`, `--border-strong`, `--border-card`, `--border-inverse`, `--border-accent`, plus state borders -- 8 text slots mirroring the same vocabulary -- A separate `--sidebar-*` namespace (8 slots) lets sidebar UI carry its own surface vocabulary parallel to the main one — intentional surface-zone separation. - -### shape-language - -Apply a pill-first radius philosophy that sorts surfaces by interaction. Buttons, inputs, and toggles are fully pilled (`999px`) — interactive surfaces are circular at the ends. Cards stay rounded but distinct as soft squares (`14`/`20`/`24px`). Modals (`16px`) and dropdowns (`10px`) live in between. The shape choice itself is a rhythm: interactive vs. structural surfaces are read by their corner radius before any color cue. - -**Evidence:** -- `--radius-pill: 999px`, `--radius-button: 999px`, `--radius-input: 999px` -- `--radius-card: 20px`, `--radius-card-lg: 24px`, `--radius-card-sm: 14px` -- `--radius-modal: 16px`, `--radius-dropdown: 10px` -- `--radius: 20px` (the system base) with derived `--radius-sm/md/lg/xl` via `calc()` - -### theming-architecture - -Cascade three layers — raw stepped values → semantic aliases → shadcn aliases — so the entire visual language swaps at runtime through CSS custom property injection without touching component code. Consumers reach for whichever layer matches their intent: Tailwind utilities pull `--color-foreground`; component CSS pulls `--text-default`; raw needs reach `--color-gray-900`. Five bundled theme presets (default plus four overrides under `src/lib/theme-presets.ts`) validate that shape, color, and contrast can all be remapped. - -**Evidence:** -- chain `--color-foreground` → `--foreground` → `--text-default` → `--color-gray-900` -- chain `--background-default` → `--color-white` (light) / `--color-black` (dark) -- The `@theme inline` block in `main.css` re-exposes every semantic alias as a Tailwind color token (`--color-background-default: var(--background-default)`, etc.) -- `src/lib/theme-presets.ts` ships 5 named presets that each remap base + semantic layers without changing the alias contract. - -### typography-voice - -Use a magazine-scale type hierarchy where display headings and body sizes scale with viewport via `clamp()` rather than living on a fixed ramp. Four heading tiers (`display`, `section`, `sub`, `card`) each carry their own progressively-tightening line-height (0.88 → 1.1) and decreasing negative letter-spacing. Editorial helpers — `--label-*` (uppercase kicker), `--pullquote-*` (light contrast voice) — supply visual punctuation for longform content. - -**Evidence:** -- `--heading-display-font-size: clamp(64px, 8vw, 96px)`, line-height `0.88`, letter-spacing `-0.05em`, weight `900` -- `--heading-section-font-size: clamp(44px, 5vw, 64px)`, line-height `0.95`, weight `700` -- `--heading-sub-font-size: clamp(28px, 3vw, 40px)`, line-height `1`, weight `700` -- `--heading-card-font-size: clamp(20px, 2vw, 28px)`, line-height `1.1`, weight `600` -- `--display-size: clamp(3rem, 12vw, 12rem)` — hero-scale fluid display -- `--body-reading-size: clamp(1rem, 1.3vw, 1.25rem)`, line-height `1.65` — longform reading rhythm -- `--label-font-size: 11px`, letter-spacing `0.12em`, weight `600` — uppercase kicker type -- `--pullquote-weight: 300`, line-height `1.3` — light contrast voice for editorial punctuation - -### font-sourcing - -Ship no bundled typefaces. The system declares a `system-ui` sans stack, `Geist Mono` with a monospace fallback, and a generic `serif` — typography responsibility moves to the consumer. The visual language adapts to the host platform's default face, which keeps the library dependency-free and lets hosts impose their own brand font without overriding. - -**Evidence:** -- `src/styles/font-faces.css` is one comment: `/* Design language ships with no bundled fonts — consumers bring their own. */` — zero `@font-face` declarations. -- `--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif` -- `--font-mono: "Geist Mono", monospace` -- `--font-serif: serif` -- `--font-display: system-ui, …` (intentionally same as sans — no separate display face) - -### density - -Maintain compact interactive controls inside generous structural whitespace. Buttons and inputs sit in the 32–40px height range (`h-8`/`h-9`/`h-10` Tailwind utilities backed by `--spacing-button: 2.75rem` and `--spacing-input: 3.25rem` tokens), while page sections use lavish padding (`--section-padding-vertical: 100px`, `--section-heading-margin-bottom: 75px`). The result is a publishing-oriented reading rhythm in the structural layer, not a dense tool-UI feel. - -**Evidence:** -- Component-height tokens declared explicitly: `--spacing-button: 2.75rem` (44px), `--spacing-button-sm: 2rem` (32px), `--spacing-input: 3.25rem` (52px), `--spacing-input-sm: 2.75rem` (44px) -- Page-rhythm tokens: `--page-container-max-width: 1440px`, `--page-container-side-gutter: 20px`, `--section-padding-vertical: 100px`, `--section-heading-margin-bottom: 75px` -- Button cva (in `src/components/ui/button.tsx`) declares fixed sizes `default: h-9`, `sm: h-8`, `lg: h-10`, plus three icon sizes — interactive surfaces have committed heights, not derived ones. - -### interactive-patterns - -Standardize focus states as a 2-ring with offset using the `--ring` token, applied uniformly across every component, plus a global `*:focus-visible` fallback for browser-default elements. Browser default outlines are replaced with a consistent, theme-aware focus indicator that works in both light and dark modes. - -**Evidence:** -- Global rule in `main.css`: `*:not(body):not(.focus-override) { outline: none !important; &:focus-visible { @apply focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:outline-hidden; } }` -- `--ring: var(--border-strong)` in light, same alias resolves to white in dark — focus ring intensity follows theme contrast. -- Button cva declares `focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px]` — component-level reinforcement. -- Link helper class: `.link { @apply ... focus-visible:ring-ring focus-visible:ring-offset-background ... }` — same pattern applied to inline links. - -### elevation - -Name shadows by structural role rather than by intensity level, and intensify shadow alpha in dark mode rather than removing them. Seven named tiers (`mini`, `btn`, `card`, `elevated`, `popover`, `modal`, `kbd`) plus two special-purpose (`mini-inset`, `date-field-focus`) give designers a vocabulary tied to component context instead of a numeric scale. Depth cues stay legible on dark surfaces because alpha doubles, not because the shadow flips. - -**Evidence:** -- 7 named tiers: `--shadow-mini`, `--shadow-btn`, `--shadow-card`, `--shadow-elevated`, `--shadow-popover`, `--shadow-modal`, `--shadow-kbd` -- 2 special-purpose: `--shadow-mini-inset`, `--shadow-date-field-focus` -- Light: `--shadow-card: 0 2px 8px rgba(76, 76, 76, 0.15)` → Dark: `--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.4)` — alpha intensifies (~3×), shadow stays. -- Light: `--shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.2)` → Dark: `--shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.6)` — same intensification pattern at the heaviest tier. - -### motion - -Keep transitions functional and brief — three duration tiers (`0.15s` fast, `0.2s` normal, `0.4s` slow) drive every interaction, and a single shared cubic-bezier easing (`cubic-bezier(0.33, 1, 0.68, 1)`) gives the system a consistent decelerating feel. Animations are limited to opacity, transform, and blur; there is no decorative motion, no kinetic ornament. - -**Evidence:** -- `--duration-fast: 0.15s`, `--duration-normal: 0.2s`, `--duration-slow: 0.4s` -- `--ease-spring: cubic-bezier(0.33, 1, 0.68, 1)` -- 12 named animation tokens (`--animate-*`): `accordion-down/up`, `caret-blink`, `enter-from-left/right`, `exit-to-left/right`, `fade-in/out`, `scale-in/out`, `word-reveal` -- `tw-animate-css` is the only motion library imported via `main.css` — `motion` is in `dependencies` but not pulled into the styles entry point. diff --git a/dogfood/ghost-ui/attempt-2/map.md b/dogfood/ghost-ui/attempt-2/map.md deleted file mode 100644 index 87184c5b..00000000 --- a/dogfood/ghost-ui/attempt-2/map.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -mapped_at: 2026-04-29 -platform: web -languages: - - { name: typescript, files: 116, share: 0.4696 } - - { name: json, files: 113, share: 0.4575 } - - { name: markdown, files: 10, share: 0.0405 } - - { name: css, files: 4, share: 0.0162 } - - { name: javascript, files: 4, share: 0.0162 } -build_system: [pnpm, vite] -package_manifests: - - package.json - - tsconfig.json - - tsconfig.lib.json - - tsconfig.mcp.json - - vite.lib.config.ts - - components.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: radix-ui } - - { name: lucide-react, version: "^1.7.0" } - - { name: cmdk, version: "^1.1.1" } - - { name: sonner, version: "^2.0.7" } - - { name: class-variance-authority, version: "^0.7.1" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties -registry: - path: ./registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts - - src/lib/theme-utils.ts - - src/lib/theme-provider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - "src/components/ui/**" - - "src/components/ai-elements/**" - - "src/components/theme/**" - - "src/styles/**" - - "src/lib/theme-*" - exclude: - - "src/mcp/**" - - "scripts/**" - - "dist/**" - - "dist-lib/**" - - "dist-mcp/**" - - "public/r/**" - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: ["src/components/ui"] - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: ["src/components/ai-elements"] - sub_areas: [chat, agent-state, artifacts, audio] - - name: theme - paths: ["src/components/theme", "src/lib/theme-presets.ts", "src/lib/theme-defaults.ts", "src/lib/theme-utils.ts", "src/lib/theme-provider.tsx"] - - name: tokens - paths: ["src/styles"] - - name: hooks - paths: ["src/hooks"] - - name: registry-tooling - paths: ["scripts", "registry.json", "components.json"] - - name: mcp-server - paths: ["src/mcp"] -orientation_files: - - README.md - - registry.json - - src/styles/main.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts ---- - -## Identity - -`ghost-ui` is a private workspace package in the `block/ghost` monorepo. It ships a reference design system — 49 shadcn-style UI primitives plus 48 AI-element components plus a theme layer — distributed via a shadcn `registry.json` rather than npm. It also ships an MCP server (`ghost-mcp` bin) that re-exposes the registry to AI assistants. - -## Topology - -The design system lives across three folders. Tokens are inline CSS custom properties declared in `src/styles/main.css` (Tailwind v4 `@theme` blocks plus `:root` and `.dark` variable layers). Theme presets and defaults are TypeScript modules under `src/lib/theme-*.ts`, surfaced through a `theme-provider.tsx` React context. UI primitives live under `src/components/ui/`; AI-specific elements (chat surfaces, agent-state indicators, artifacts) live under `src/components/ai-elements/`. The `registry.json` at the package root indexes 106 distributable items consumed by `shadcn build`. - -## Conventions - -Tailwind v4 with custom theming via `@theme` blocks, CSS custom properties for runtime token resolution, and a class-variance-authority pattern for variant-heavy primitives. Radix UI underlies most interactive primitives. Components are flat (no nested theme variants) and ship as both source files and a baked `registry.json` plus per-item snapshots under `public/r/` (113 JSON files account for the JSON-heavy histogram). Build splits into a Vite library bundle and a separate TypeScript-built MCP server. diff --git a/dogfood/ghost-ui/attempt-2/survey.json b/dogfood/ghost-ui/attempt-2/survey.json deleted file mode 100644 index 689a4f6f..00000000 --- a/dogfood/ghost-ui/attempt-2/survey.json +++ /dev/null @@ -1,8329 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - } - ], - "values": [ - { - "id": "19c6f0a7a7c5b4ff", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#ffffff", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 24, - "files_count": 3 - }, - { - "id": "eb2504434e5beb8f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 15, - "files_count": 3 - }, - { - "id": "c9cea4ef32196600", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c5a24d", - "raw": "#C5A24D", - "spec": { - "space": "srgb", - "hex": "#c5a24d" - }, - "occurrences": 9, - "files_count": 1 - }, - { - "id": "780ea03543f7b21b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#91cb80", - "raw": "#91cb80", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 9, - "files_count": 2 - }, - { - "id": "9e6949dfbfe6cd6f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "#1a1a1a", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 9, - "files_count": 3 - }, - { - "id": "92257d0742fbd5d1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1e1528", - "raw": "#1E1528", - "spec": { - "space": "srgb", - "hex": "#1e1528" - }, - "occurrences": 8, - "files_count": 1 - }, - { - "id": "ab0da8f6578c1132", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#333333", - "raw": "#333333", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 7, - "files_count": 3 - }, - { - "id": "227c3853f470d218", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ff3a00", - "raw": "#FF3A00", - "spec": { - "space": "srgb", - "hex": "#ff3a00" - }, - "occurrences": 6, - "files_count": 1 - }, - { - "id": "0cf9c817fd862758", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d4853a", - "raw": "#D4853A", - "spec": { - "space": "srgb", - "hex": "#d4853a" - }, - "occurrences": 6, - "files_count": 1 - }, - { - "id": "88ad01f113746dcb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ff5722", - "raw": "#FF5722", - "spec": { - "space": "srgb", - "hex": "#ff5722" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "eb6d87708ade9f6b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#fbf5ec", - "raw": "#FBF5EC", - "spec": { - "space": "srgb", - "hex": "#fbf5ec" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "f6b6bdc6b200cf85", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "#fbcd44", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 5, - "files_count": 2 - }, - { - "id": "8edffee467d4bf04", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#fafafa", - "raw": "#FAFAFA", - "spec": { - "space": "srgb", - "hex": "#fafafa" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "b035bc04c23683e0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "#f94b4b", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 5, - "files_count": 2 - }, - { - "id": "463fafef98c9af2e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f8f6f9", - "raw": "#F8F6F9", - "spec": { - "space": "srgb", - "hex": "#f8f6f9" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "cae6d2e4e2bc5f85", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f4f9fb", - "raw": "#F4F9FB", - "spec": { - "space": "srgb", - "hex": "#f4f9fb" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "847db1c655cb330f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "#5c98f9", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 5, - "files_count": 2 - }, - { - "id": "3b3a5209515d379e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3d2b1f", - "raw": "#3D2B1F", - "spec": { - "space": "srgb", - "hex": "#3d2b1f" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "ab13b60f418d759d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3ab4d8", - "raw": "#3AB4D8", - "spec": { - "space": "srgb", - "hex": "#3ab4d8" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "f17312b005f7c6b0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a3552", - "raw": "#3A3552", - "spec": { - "space": "srgb", - "hex": "#3a3552" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "0cea77740231c4c1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#0f3442", - "raw": "#0F3442", - "spec": { - "space": "srgb", - "hex": "#0f3442" - }, - "occurrences": 5, - "files_count": 1 - }, - { - "id": "e7508e1cb473eda9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "#f6b44a", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 4, - "files_count": 2 - }, - { - "id": "54ce6bdaa29e6810", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "#d76a6a", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 4, - "files_count": 2 - }, - { - "id": "dda8f0a3259b940b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d185e0", - "raw": "#d185e0", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 4, - "files_count": 2 - }, - { - "id": "4f4b25b2ecab8943", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a898e0", - "raw": "#A898E0", - "spec": { - "space": "srgb", - "hex": "#a898e0" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "3f674ce0154adc30", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#9c5930", - "raw": "#9C5930", - "spec": { - "space": "srgb", - "hex": "#9c5930" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "bfae2bd55fff6a01", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#999999", - "raw": "#999999", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 4, - "files_count": 2 - }, - { - "id": "232959ee28f03557", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8b7ec8", - "raw": "#8B7EC8", - "spec": { - "space": "srgb", - "hex": "#8b7ec8" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "86a115b50556e4a6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7585ff", - "raw": "#7585ff", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 4, - "files_count": 2 - }, - { - "id": "87ca69d152c82d28", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1b6b8a", - "raw": "#1B6B8A", - "spec": { - "space": "srgb", - "hex": "#1b6b8a" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "a8e61d00c667bcd5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ffd966", - "raw": "#ffd966", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "35d85861e84c6542", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "#ff6b6b", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "3902eab2dcad405d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "#f5f5f5", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "f2d542a0dcb4c7d5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "#F0F0F0", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "0568807befafcbbe", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "#f0f0f0", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 3, - "files_count": 3 - }, - { - "id": "059b769b5259aee3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f0e4d4", - "raw": "#F0E4D4", - "spec": { - "space": "srgb", - "hex": "#f0e4d4" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "8b19c166ff830ed4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ede8f2", - "raw": "#EDE8F2", - "spec": { - "space": "srgb", - "hex": "#ede8f2" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "05e04926a9ada328", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "#e8e8e8", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "046151ed728caee4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e4f0f5", - "raw": "#E4F0F5", - "spec": { - "space": "srgb", - "hex": "#e4f0f5" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "b6ffdaf562b5a3e8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#cccccc", - "raw": "#cccccc", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "7265b8a354ce811d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a3d795", - "raw": "#a3d795", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "e6515f20c05a1858", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a0d8a0", - "raw": "#A0D8A0", - "spec": { - "space": "srgb", - "hex": "#a0d8a0" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "fa75055b08e6244f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a0c0e8", - "raw": "#A0C0E8", - "spec": { - "space": "srgb", - "hex": "#a0c0e8" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "855193a8720b2540", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8b7355", - "raw": "#8B7355", - "spec": { - "space": "srgb", - "hex": "#8b7355" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "67ce7e085c2ddf59", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8a82a0", - "raw": "#8A82A0", - "spec": { - "space": "srgb", - "hex": "#8a82a0" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "5911955f073eba51", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7cacff", - "raw": "#7cacff", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "6675f6e6e3870810", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7a6b8a", - "raw": "#7A6B8A", - "spec": { - "space": "srgb", - "hex": "#7a6b8a" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "6ae193e06bc97c41", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#666666", - "raw": "#666666", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "6df0ca145bec8a86", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5a8a9c", - "raw": "#5A8A9C", - "spec": { - "space": "srgb", - "hex": "#5a8a9c" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "65330b22927d4453", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a2c20", - "raw": "#3A2C20", - "spec": { - "space": "srgb", - "hex": "#3a2c20" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "01d7a7ef9c8edd40", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#2a2640", - "raw": "#2A2640", - "spec": { - "space": "srgb", - "hex": "#2a2640" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "9addca8bce9fe4a9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#2a1e3a", - "raw": "#2A1E3A", - "spec": { - "space": "srgb", - "hex": "#2a1e3a" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "5db75079f6c7895f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#232323", - "raw": "#232323", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "f50f989ca8e8027e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1a3a4a", - "raw": "#1A3A4A", - "spec": { - "space": "srgb", - "hex": "#1a3a4a" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "6a207a25619dbb7f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ffe600", - "raw": "#FFE600", - "spec": { - "space": "srgb", - "hex": "#ffe600" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "0d8323e8d749a2f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ff00aa", - "raw": "#FF00AA", - "spec": { - "space": "srgb", - "hex": "#ff00aa" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "f1d46ef21d821bf9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f0edf8", - "raw": "#F0EDF8", - "spec": { - "space": "srgb", - "hex": "#f0edf8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "925c19cf5e8b79c1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8d0a8", - "raw": "#E8D0A8", - "spec": { - "space": "srgb", - "hex": "#e8d0a8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "51108f937d5e272f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8d0a0", - "raw": "#E8D0A0", - "spec": { - "space": "srgb", - "hex": "#e8d0a0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "35d0e142eb6310ca", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8b0b0", - "raw": "#E8B0B0", - "spec": { - "space": "srgb", - "hex": "#e8b0b0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "5fa1d2b9d6e07efe", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8a0a0", - "raw": "#E8A0A0", - "spec": { - "space": "srgb", - "hex": "#e8a0a0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "7414ffac8619cfbd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "#e5e5e5", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 2, - "files_count": 2 - }, - { - "id": "49543ffe08c5fb7a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e2d4c0", - "raw": "#E2D4C0", - "spec": { - "space": "srgb", - "hex": "#e2d4c0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "6a0a17fee12b600c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e0daf0", - "raw": "#E0DAF0", - "spec": { - "space": "srgb", - "hex": "#e0daf0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "60025e29a38deb1b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e07a5f", - "raw": "#E07A5F", - "spec": { - "space": "srgb", - "hex": "#e07a5f" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "ad3d06d55b2e9c2f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ddd4e6", - "raw": "#DDD4E6", - "spec": { - "space": "srgb", - "hex": "#ddd4e6" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "ba7b3d12beb7e4a8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d8c080", - "raw": "#D8C080", - "spec": { - "space": "srgb", - "hex": "#d8c080" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "819ce1cb7d5d81b0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d08080", - "raw": "#D08080", - "spec": { - "space": "srgb", - "hex": "#d08080" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "53267606f845454a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c8dee8", - "raw": "#C8DEE8", - "spec": { - "space": "srgb", - "hex": "#c8dee8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "ea32584ff2696f63", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c8bee0", - "raw": "#C8BEE0", - "spec": { - "space": "srgb", - "hex": "#c8bee0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "3ba3ac5218678f50", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c8a8e0", - "raw": "#C8A8E0", - "spec": { - "space": "srgb", - "hex": "#c8a8e0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "a5a54bc4897064df", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c4a882", - "raw": "#C4A882", - "spec": { - "space": "srgb", - "hex": "#c4a882" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "ce97cde5b27f91bf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c46b5a", - "raw": "#C46B5A", - "spec": { - "space": "srgb", - "hex": "#c46b5a" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "2b3753ae2f1596b8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#b8a8c8", - "raw": "#B8A8C8", - "spec": { - "space": "srgb", - "hex": "#b8a8c8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "e87ec23d893119d8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#b0d8b0", - "raw": "#B0D8B0", - "spec": { - "space": "srgb", - "hex": "#b0d8b0" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "556b291123a7ad41", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#aaaaaa", - "raw": "#AAAAAA", - "spec": { - "space": "srgb", - "hex": "#aaaaaa" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "80b81f8563e27180", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a8c8e8", - "raw": "#A8C8E8", - "spec": { - "space": "srgb", - "hex": "#a8c8e8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "241ecacc33e63903", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a8c256", - "raw": "#A8C256", - "spec": { - "space": "srgb", - "hex": "#a8c256" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "6e9a5fe1b9295590", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a8856b", - "raw": "#A8856B", - "spec": { - "space": "srgb", - "hex": "#a8856b" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "c4e5bfb7641524bd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8bb8ca", - "raw": "#8BB8CA", - "spec": { - "space": "srgb", - "hex": "#8bb8ca" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "19b6f0b70d7c9b7c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8baa72", - "raw": "#8BAA72", - "spec": { - "space": "srgb", - "hex": "#8baa72" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "2188e08f1e3d01d0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#80c080", - "raw": "#80C080", - "spec": { - "space": "srgb", - "hex": "#80c080" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "7e7b935653f266dd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#80a8d8", - "raw": "#80A8D8", - "spec": { - "space": "srgb", - "hex": "#80a8d8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "b2ccf30094439216", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7bc4b8", - "raw": "#7BC4B8", - "spec": { - "space": "srgb", - "hex": "#7bc4b8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "63111f684b2a6d2f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7b9ea8", - "raw": "#7B9EA8", - "spec": { - "space": "srgb", - "hex": "#7b9ea8" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "e6c812fb93eb0d8c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#2a1f18", - "raw": "#2A1F18", - "spec": { - "space": "srgb", - "hex": "#2a1f18" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "2c97663a7f4c9018", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1e1a2a", - "raw": "#1E1A2A", - "spec": { - "space": "srgb", - "hex": "#1e1a2a" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "a4239710e3533bbd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1c1410", - "raw": "#1C1410", - "spec": { - "space": "srgb", - "hex": "#1c1410" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "8894e10eae2c9e91", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#1a1224", - "raw": "#1A1224", - "spec": { - "space": "srgb", - "hex": "#1a1224" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "9b548e5a304e60ae", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#141414", - "raw": "#141414", - "spec": { - "space": "srgb", - "hex": "#141414" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "89979c3fd52e671b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#14121c", - "raw": "#14121C", - "spec": { - "space": "srgb", - "hex": "#14121c" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "999ef1660677cce0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#112a36", - "raw": "#112A36", - "spec": { - "space": "srgb", - "hex": "#112a36" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "38c643c29595d778", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#0e0a14", - "raw": "#0E0A14", - "spec": { - "space": "srgb", - "hex": "#0e0a14" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "197147f82859ac50", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#0a1e28", - "raw": "#0A1E28", - "spec": { - "space": "srgb", - "hex": "#0a1e28" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "2e2cb806cc4984e1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#00ff66", - "raw": "#00FF66", - "spec": { - "space": "srgb", - "hex": "#00ff66" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "54ac874bd0d0d787", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#00e5ff", - "raw": "#00E5FF", - "spec": { - "space": "srgb", - "hex": "#00e5ff" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "551f4550a36511ca", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f5f2fa", - "raw": "#F5F2FA", - "spec": { - "space": "srgb", - "hex": "#f5f2fa" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "c4f97253730d3825", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f5ecdf", - "raw": "#F5ECDF", - "spec": { - "space": "srgb", - "hex": "#f5ecdf" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "b3ffa060b9c93e9f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#f0ecf4", - "raw": "#F0ECF4", - "spec": { - "space": "srgb", - "hex": "#f0ecf4" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "84e1d552d06565a2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#eaf3f8", - "raw": "#EAF3F8", - "spec": { - "space": "srgb", - "hex": "#eaf3f8" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "9c7bba2b22963597", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e8e4f4", - "raw": "#E8E4F4", - "spec": { - "space": "srgb", - "hex": "#e8e4f4" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "aded0fd258969b40", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e0c880", - "raw": "#E0C880", - "spec": { - "space": "srgb", - "hex": "#e0c880" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "572bb5470b2fe221", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e0a0a0", - "raw": "#E0A0A0", - "spec": { - "space": "srgb", - "hex": "#e0a0a0" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "1a035341d6f5bbe8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#e08090", - "raw": "#E08090", - "spec": { - "space": "srgb", - "hex": "#e08090" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6a9824cde5818e6b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d76a7a", - "raw": "#D76A7A", - "spec": { - "space": "srgb", - "hex": "#d76a7a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "e785c7e322562e82", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d4c2aa", - "raw": "#D4C2AA", - "spec": { - "space": "srgb", - "hex": "#d4c2aa" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "16533ebdfa4ea177", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#d2cae4", - "raw": "#D2CAE4", - "spec": { - "space": "srgb", - "hex": "#d2cae4" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "321697b0028fa79c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#cccccc", - "raw": "#CCCCCC", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "02731578fe6457a7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#ccc0d8", - "raw": "#CCC0D8", - "spec": { - "space": "srgb", - "hex": "#ccc0d8" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "05bbd9850580c178", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c0a060", - "raw": "#C0A060", - "spec": { - "space": "srgb", - "hex": "#c0a060" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6cdcf36f88536052", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#c07070", - "raw": "#C07070", - "spec": { - "space": "srgb", - "hex": "#c07070" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "f4d6726b8205140b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#b0d0de", - "raw": "#B0D0DE", - "spec": { - "space": "srgb", - "hex": "#b0d0de" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "d5f58d0c2067ee47", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#a88de0", - "raw": "#A88DE0", - "spec": { - "space": "srgb", - "hex": "#a88de0" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "107e45ed8d8224b1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8bd09a", - "raw": "#8BD09A", - "spec": { - "space": "srgb", - "hex": "#8bd09a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "be6002f69635c0f5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#8b6cc1", - "raw": "#8B6CC1", - "spec": { - "space": "srgb", - "hex": "#8b6cc1" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "2181ccf72319678c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7cb88a", - "raw": "#7CB88A", - "spec": { - "space": "srgb", - "hex": "#7cb88a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "eedfd511fe5df7b4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7b92e8", - "raw": "#7B92E8", - "spec": { - "space": "srgb", - "hex": "#7b92e8" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "553969977351d418", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7aaee5", - "raw": "#7AAEE5", - "spec": { - "space": "srgb", - "hex": "#7aaee5" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "3755ec248b128cf6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#70a870", - "raw": "#70A870", - "spec": { - "space": "srgb", - "hex": "#70a870" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "67775c09416227f6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#7090c0", - "raw": "#7090C0", - "spec": { - "space": "srgb", - "hex": "#7090c0" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "fca56628cd29e9ad", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#6b5940", - "raw": "#6B5940", - "spec": { - "space": "srgb", - "hex": "#6b5940" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "63b83ac5febec423", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#6a6280", - "raw": "#6A6280", - "spec": { - "space": "srgb", - "hex": "#6a6280" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "585282f198381c47", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5e8ec5", - "raw": "#5E8EC5", - "spec": { - "space": "srgb", - "hex": "#5e8ec5" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "15338af0b39cd617", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5b78d8", - "raw": "#5B78D8", - "spec": { - "space": "srgb", - "hex": "#5b78d8" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6f593af2b46be5c7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5a4b6a", - "raw": "#5A4B6A", - "spec": { - "space": "srgb", - "hex": "#5a4b6a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6911e439b8d87426", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#5a4530", - "raw": "#5A4530", - "spec": { - "space": "srgb", - "hex": "#5a4530" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "2e838cdd9695eb8f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#555555", - "raw": "#555555", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "16283661e7d78622", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#4a4468", - "raw": "#4A4468", - "spec": { - "space": "srgb", - "hex": "#4a4468" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "80e91911eeee4bc6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#4a3a60", - "raw": "#4A3A60", - "spec": { - "space": "srgb", - "hex": "#4a3a60" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "913fe0e9ce6e566a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#4a382a", - "raw": "#4A382A", - "spec": { - "space": "srgb", - "hex": "#4a382a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "7abc5834ffe55841", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#444444", - "raw": "#444444", - "spec": { - "space": "srgb", - "hex": "#444444" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "3b279b5f71f9a19f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a6a7c", - "raw": "#3A6A7C", - "spec": { - "space": "srgb", - "hex": "#3a6a7c" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "73d67c6dd5257942", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a6070", - "raw": "#3A6070", - "spec": { - "space": "srgb", - "hex": "#3a6070" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "104b94e69ea070cd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a3452", - "raw": "#3A3452", - "spec": { - "space": "srgb", - "hex": "#3a3452" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "9375bb4401b8da8b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#3a2a50", - "raw": "#3A2A50", - "spec": { - "space": "srgb", - "hex": "#3a2a50" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "07d56eef40fd7967", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#2e9ab8", - "raw": "#2E9AB8", - "spec": { - "space": "srgb", - "hex": "#2e9ab8" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "5340ffc0902b8603", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#2a5060", - "raw": "#2A5060", - "spec": { - "space": "srgb", - "hex": "#2a5060" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "a735c6cadff938d8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "#0A0A0A", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6ee6a2239705aa9a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "#0a0a0a", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "f88ec6215e9e2f44", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "8", - "raw": "8px", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 11, - "files_count": 1 - }, - { - "id": "48bcc0086b6d331a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "2", - "raw": "2px", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 9, - "files_count": 1 - }, - { - "id": "17609981db70ed1c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "20", - "raw": "20px", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 6, - "files_count": 1 - }, - { - "id": "26cb1d9a65ee3afc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "radius", - "value": "999", - "raw": "999px", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "0467bb0de326d5f0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "4", - "raw": "4px", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "3fe85b6317b95865", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "3", - "raw": "3px", - "spec": { - "scalar": 3, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "d5c420f261f6973b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "200", - "raw": "200px", - "spec": { - "scalar": 200, - "unit": "px" - }, - "occurrences": 4, - "files_count": 1 - }, - { - "id": "ab7276c9e6e8ca10", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "12", - "raw": "12px", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "7a150407b58b558c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "10", - "raw": "10px", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "03a8b74377468929", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "6", - "raw": "6px", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "fe6e7ab8374e9190", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "64", - "raw": "64px", - "spec": { - "scalar": 64, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "8cca12472e29bc05", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "60", - "raw": "60px", - "spec": { - "scalar": 60, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "2acd9bfe599f9583", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "30", - "raw": "30px", - "spec": { - "scalar": 30, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "0dd21229fa72968b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "28", - "raw": "28px", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "d4b1e28865890fd2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "1", - "raw": "1px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "6526e84b7bb2bc0e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "breakpoint", - "value": "1440", - "raw": "1440px", - "spec": { - "scalar": 1440, - "unit": "px", - "label": "desktop" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "ac8952a956684a7c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "96", - "raw": "96px", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "0732c4cb48b5aad7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "75", - "raw": "75px", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "2f37ade927aa362c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "44", - "raw": "44px", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "5f6a00b7bd08f3bb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "40", - "raw": "40px", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "1e6bd58b860da10e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "24", - "raw": "24px", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "f4b0897a52c84421", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "16", - "raw": "16px", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "b1f6f180edabd98d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "14", - "raw": "14px", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "dcc100963409d134", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "11", - "raw": "11px", - "spec": { - "scalar": 11, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "d2b1f15320a09f0b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "100", - "raw": "100px", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "ef05426d706131d3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "8rem", - "raw": "8rem", - "spec": { - "scalar": 8, - "unit": "rem" - }, - "occurrences": 7, - "files_count": 7 - }, - { - "id": "4a89665e88473cbd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "2rem", - "raw": "2rem", - "spec": { - "scalar": 2, - "unit": "rem" - }, - "occurrences": 3, - "files_count": 5 - }, - { - "id": "e44d4f64633fe41d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "1rem", - "raw": "1rem", - "spec": { - "scalar": 1, - "unit": "rem" - }, - "occurrences": 3, - "files_count": 2 - }, - { - "id": "e114143269d04dc1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "3rem", - "raw": "3rem", - "spec": { - "scalar": 3, - "unit": "rem" - }, - "occurrences": 2, - "files_count": 2 - }, - { - "id": "3d43f141d946f406", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "2.75rem", - "raw": "2.75rem", - "spec": { - "scalar": 2.75, - "unit": "rem" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "3554cc7c7aa186f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "12rem", - "raw": "12rem", - "spec": { - "scalar": 12, - "unit": "rem" - }, - "occurrences": 2, - "files_count": 2 - }, - { - "id": "de007fd1f6d77ba4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "0.35rem", - "raw": "0.35rem", - "spec": { - "scalar": 0.35, - "unit": "rem" - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "e2aaf87eb6be1f6d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "3.25rem", - "raw": "3.25rem", - "spec": { - "scalar": 3.25, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "613d6504ba5c0849", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "22rem", - "raw": "22rem", - "spec": { - "scalar": 22, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "8e1a94f5a893855f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "2.5rem", - "raw": "2.5rem", - "spec": { - "scalar": 2.5, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "3a3e22185485472c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "18rem", - "raw": "18rem", - "spec": { - "scalar": 18, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "be5b44549f78a831", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "16rem", - "raw": "16rem", - "spec": { - "scalar": 16, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "584c9878e3fc9659", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "1.5rem", - "raw": "1.5rem", - "spec": { - "scalar": 1.5, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "aa49aace62129a2b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "1.25rem", - "raw": "1.25rem", - "spec": { - "scalar": 1.25, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "0f74cf2da58aa928", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "1.15rem", - "raw": "1.15rem", - "spec": { - "scalar": 1.15, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6f1117620b51e086", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "0.8rem", - "raw": "0.8rem", - "spec": { - "scalar": 0.8, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "62f944d2471eb834", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "0.4rem", - "raw": "0.4rem", - "spec": { - "scalar": 0.4, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "07e474ab5bbd6a8b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "spacing", - "value": "0.45rem", - "raw": "0.45rem", - "spec": { - "scalar": 0.45, - "unit": "rem" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "6335ef9d74e4dd51", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "0.2s", - "raw": "0.2s", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 1 - }, - { - "id": "ea16f36543cd855d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "0.15s", - "raw": "0.15s", - "spec": { - "duration_ms": 150 - }, - "occurrences": 3, - "files_count": 1 - }, - { - "id": "2974e3e705d96895", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "0.4s", - "raw": "0.4s", - "spec": { - "duration_ms": 400 - }, - "occurrences": 2, - "files_count": 1 - }, - { - "id": "a9d736217da6ce85", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "1s", - "raw": "1s", - "spec": { - "duration_ms": 1000 - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "aa47604665d17f01", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "typography", - "value": "system-ui", - "raw": "\"system-ui\"", - "spec": { - "family": "system-ui" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "dcdaff2a70d84bdc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "typography", - "value": "Geist Mono", - "raw": "\"Geist Mono\"", - "spec": { - "family": "Geist Mono" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "14cdd5d410cd5ce4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "typography", - "value": "serif", - "raw": "\"serif\"", - "spec": { - "family": "serif" - }, - "occurrences": 1, - "files_count": 1 - }, - { - "id": "ea0413ae97feefb2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1 - } - ], - "tokens": [ - { - "id": "cb0df5de955ad73c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "fa8cbe5ea824054a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 1 - }, - { - "id": "8213ca5fa4a4268a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "541f124f7eb85071", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "03d2bcc1bbdc7d28", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "97ecf43a5736e8f2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 1 - }, - { - "id": "8edd4046d074e50f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 1 - }, - { - "id": "de44e9c887444944", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "30372bd858f83fee", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 1 - }, - { - "id": "1664b730ed23be81", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 1 - }, - { - "id": "ef061dbeaf5caa16", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 1 - }, - { - "id": "d62a715d0e50f18a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "26e50e6bf93448d4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 1 - }, - { - "id": "b7965dbbcc900c46", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "88fd00e599db4d4e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 1 - }, - { - "id": "88691479ae0d01fd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "26162117e66af8dc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 1 - }, - { - "id": "4cae2b881dc01f65", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "41ef8bfe752c8d36", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 1 - }, - { - "id": "66f38cbf9eeaadd3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "2a33cb35eaa43967", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "89d494ebb1262332", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-accent", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "d9657bca82623241", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-accent", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "19902eb417500d9d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-accent", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "d05df9802efeb06e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-default", - "alias_chain": ["--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1, - "by_theme": { - "light": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "355b9a2a4df5856f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-alt", - "alias_chain": ["--color-gray-50"], - "resolved_value": "#f5f5f5", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-50)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "0f4f1d6b1fe7318e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-medium", - "alias_chain": ["--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-400)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "e0cf37d1da4a10a0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-muted", - "alias_chain": ["--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-100)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "92b74be249662f38", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-inverse", - "alias_chain": ["--color-black"], - "resolved_value": "#000000", - "occurrences": 1, - "by_theme": { - "light": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "11dfcdb269185b66", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-danger", - "alias_chain": ["--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1, - "by_theme": { - "light": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "e94c478eeb3cfaf2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-success", - "alias_chain": ["--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1, - "by_theme": { - "light": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "8e33834f0bd6e5e2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-info", - "alias_chain": ["--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1, - "by_theme": { - "light": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "8ff9f2f4275738bc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background-warning", - "alias_chain": ["--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1, - "by_theme": { - "light": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "11472fd804d05770", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-default", - "alias_chain": ["--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "bc1fa882feabc1b7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-input", - "alias_chain": ["--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-300)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "7f81a8855762e4db", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-input-hover", - "alias_chain": ["--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-400)", - "dark": "var(--color-gray-600)" - } - }, - { - "id": "a480eff48092292b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-strong", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "117eeeaad69b709f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-card", - "alias_chain": ["--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "8cf1d6060432038e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-inverse", - "alias_chain": ["--color-black"], - "resolved_value": "#000000", - "occurrences": 1, - "by_theme": { - "light": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "7ce7823ae7307dae", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-danger", - "alias_chain": ["--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "ae2c824e34b376aa", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-success", - "alias_chain": ["--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "03fe4b69ac215996", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-warning", - "alias_chain": ["--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "0a201ab94de43e6b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border-info", - "alias_chain": ["--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "1a5199cdcf5849d2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "3b99b302eb9364f7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-muted", - "alias_chain": ["--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "0bbb574cd3a22a8c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-alt", - "alias_chain": ["--color-gray-600"], - "resolved_value": "#666666", - "occurrences": 1, - "by_theme": { - "light": "var(--color-gray-600)", - "dark": "var(--color-gray-500)" - } - }, - { - "id": "4254b03cc0a95a35", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-inverse", - "alias_chain": ["--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1, - "by_theme": { - "light": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "746df1a3500d78fe", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-danger", - "alias_chain": ["--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1, - "by_theme": { - "light": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "1d64349b18172cf0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-success", - "alias_chain": ["--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1, - "by_theme": { - "light": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "4d3efb919e0bb7f6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-warning", - "alias_chain": ["--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1, - "by_theme": { - "light": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "2e1dc0f80458dcca", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-info", - "alias_chain": ["--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1, - "by_theme": { - "light": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "eb3ac5c681596680", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--ring", - "alias_chain": ["--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "9041300d208ee096", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "occurrences": 1, - "by_theme": { - "light": "rgba(26, 26, 26, 0.1)", - "dark": "rgba(242, 242, 242, 0.1)" - } - }, - { - "id": "b81ed2736c6b3480", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "occurrences": 1, - "by_theme": { - "light": "rgba(26, 26, 26, 0.4)", - "dark": "rgba(242, 242, 242, 0.4)" - } - }, - { - "id": "f55746f6fc8c61f8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "occurrences": 1, - "by_theme": { - "light": "rgba(26, 26, 26, 0.04)", - "dark": "rgba(242, 242, 242, 0.04)" - } - }, - { - "id": "9529fad07f81a343", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 1, - "by_theme": { - "light": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "3ff2382fa48f5140", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "occurrences": 1, - "by_theme": { - "light": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - } - }, - { - "id": "000205efc8c4b4cd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 1, - "by_theme": { - "light": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - } - }, - { - "id": "ad9824735daec0fc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 1, - "by_theme": { - "light": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "472f662bf8aaa623", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "occurrences": 1, - "by_theme": { - "light": "0 3px 12px rgba(76, 76, 76, 0.22)", - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - } - }, - { - "id": "48611e920d74e1d5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "occurrences": 1, - "by_theme": { - "light": "0 8px 30px rgba(0, 0, 0, 0.12)", - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "dc162be1adc241d4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "occurrences": 1, - "by_theme": { - "light": "0 20px 60px rgba(0, 0, 0, 0.2)", - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - } - }, - { - "id": "d658051aeb18fc51", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 1, - "by_theme": { - "light": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "0ff3d81715e7d7eb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "occurrences": 1, - "by_theme": { - "light": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - } - }, - { - "id": "d1debf06e38b290d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 1 - }, - { - "id": "112b3131d3f14654", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "a923fd620357dc73", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "8a465ae1e5bf1c44", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "983010c94c6731f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "5ef2ec5c4825446e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "a80dd35c1a205c2f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "36d0a070971af8f0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "883d7b69cdf9cb53", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "d8d4435b5f3b5746", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--background", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "6105084f233c6c53", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "6145c141293a5512", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--card", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "5266020d816d9cb0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--card-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "d5129e2925a69e62", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--popover", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "7b4957e2dbb73224", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--popover-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "098a05bb762e4e97", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--primary", - "alias_chain": ["--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "7fab282fbb18b512", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--primary-foreground", - "alias_chain": ["--text-inverse", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "3bf5dce55a0f2b5f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--secondary", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "fc38505d2f4a2288", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--secondary-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "243245a7bf35e886", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--muted", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "5db27d0ba94e075c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--muted-foreground", - "alias_chain": ["--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "87d78b323afb3dd1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--accent", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "1fae63f3e9256ec9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--accent-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "39319932a8a5dc2d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--destructive", - "alias_chain": ["--background-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "fb90fa581191a837", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "8eb09c0bc090bf82", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--border", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "fe2f98046ee3c6c4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--input", - "alias_chain": ["--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 1 - }, - { - "id": "3f8318aca2ab2c3c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "88ecacad45734ced", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "4769e59a81b0a386", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-primary", - "alias_chain": ["--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "43f6f131de162abe", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": ["--text-inverse", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "c548facc6d30daa6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-accent", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "834547a9fe9a2912", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "9559d09e51cfa072", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-border", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "135e42097f86b628", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--sidebar-ring", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "bc4fc3c0259843a6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1 - }, - { - "id": "bf70c74ab5d7c9d6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1 - }, - { - "id": "e64e51adadbdc369", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "551ad94ab6b75a8c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1 - }, - { - "id": "b37ffe360f471a83", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1 - }, - { - "id": "da67417bf64196e2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1 - }, - { - "id": "54b440772a141ec8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1 - }, - { - "id": "e276ab90d053a3e3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "36c7fd9100309290", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1 - }, - { - "id": "5dc95c6e6ec16bcf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1 - }, - { - "id": "f92cd03e60b413ae", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "161f1f253f80ef66", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "f24c816af3ae7ad4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1 - }, - { - "id": "3199e634efff3440", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1 - }, - { - "id": "aa72e28a8b70df29", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "361cc48210f57061", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "1b05c7cb8a06bb35", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1 - }, - { - "id": "3e6f0ab2d1b542b4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1 - }, - { - "id": "0c597fc3e248ef4c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "1527da444af8397f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1 - }, - { - "id": "70c24c634c52d9a2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1 - }, - { - "id": "71e46d03cfad1ee4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "53a79d6d04e55cd2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1 - }, - { - "id": "3c2391e1e2903976", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1 - }, - { - "id": "0b849e85006c32a9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "4c200e8abf9af09e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1 - }, - { - "id": "c5269bdf6889b8cf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1 - }, - { - "id": "10329852f513a96f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1 - }, - { - "id": "3fc0583efc3fa861", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1 - }, - { - "id": "249b61c001ad3634", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "862fd726a776cfdf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "908e2d48bf37c420", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "64b82c560e2c97bb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1 - }, - { - "id": "a17e9285e0b94474", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1 - }, - { - "id": "f64dee4e923913d9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "6d4fbc30ccefe31c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "0.15s", - "occurrences": 1 - }, - { - "id": "fc10b79ac07b5678", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "0.2s", - "occurrences": 1 - }, - { - "id": "2d3684d4b61e80d1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "0.4s", - "occurrences": 1 - }, - { - "id": "2f5a9a0a95255dac", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background", - "alias_chain": ["--background", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "d55dd8bb9f8db72f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-foreground", - "alias_chain": ["--foreground", "--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "d47fcc342b506fc2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-card", - "alias_chain": ["--card", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "fe1308ed2b42865b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "bfa4e1a7ac7d11f6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-popover", - "alias_chain": ["--popover", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "f2aa215413a9b752", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "124c24bd81747864", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-primary", - "alias_chain": ["--primary", "--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "6120c1833d1be4df", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "b7a55a2d42e28314", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-secondary", - "alias_chain": ["--secondary", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "f004e1aae65a45d2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "1912ee78976cbd5c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-muted", - "alias_chain": ["--muted", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "1098dbdb603807e7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-muted-foreground", - "alias_chain": ["--muted-foreground", "--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "da871c151bf65f6e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-accent", - "alias_chain": ["--accent", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "89dc62abf78f41aa", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "04de6b660bb3368b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200" - ], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "1bf4a1e53b1e1f1c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-destructive-foreground", - "alias_chain": ["--destructive-foreground"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "fdeee77bfff0d520", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border", - "alias_chain": ["--border", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "f157958260bde4c8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-input", - "alias_chain": ["--input", "--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 1 - }, - { - "id": "17578aea56422a67", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-default", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "4bb6af94eae82ddd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-alt", - "alias_chain": ["--background-alt", "--color-gray-50"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "fba9a3795903c1e6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-medium", - "alias_chain": ["--background-medium", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 1 - }, - { - "id": "132c998aeeba0459", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-inverse", - "alias_chain": ["--background-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 1 - }, - { - "id": "cc35408daf49c54c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-muted", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "146080977cd2d2f8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-danger", - "alias_chain": ["--background-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "d484c0bf1937e4f3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-success", - "alias_chain": ["--background-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "3ff3806e84dea446", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-info", - "alias_chain": ["--background-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "26c01a376a4604b0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-warning", - "alias_chain": ["--background-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "97e90e168f5c001a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-background-accent", - "alias_chain": ["--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "247eb91270339db0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-accent", - "alias_chain": ["--border-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "eb4d5b18c284ea59", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-accent", - "alias_chain": ["--text-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "f867629e002fd0b1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-default", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "1843e8391f966c9a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-input", - "alias_chain": ["--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 1 - }, - { - "id": "e1a84bf222df3be8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-input-hover", - "alias_chain": ["--border-input-hover", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 1 - }, - { - "id": "46f223bf0f902a7f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-strong", - "alias_chain": ["--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "8e470a2735606b23", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-card", - "alias_chain": ["--border-card", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "d0f8eb7be75b1a80", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-inverse", - "alias_chain": ["--border-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 1 - }, - { - "id": "35b229488430db7a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-danger", - "alias_chain": ["--border-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "ca8197eb296733d3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-success", - "alias_chain": ["--border-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "96aac5df8697f71e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-warning", - "alias_chain": ["--border-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "3086a21e95a91d0e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-border-info", - "alias_chain": ["--border-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "4ae94e5ebf5883a0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-default", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "9ee34ec9f755ead1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-muted", - "alias_chain": ["--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "a986f406d8779b03", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-alt", - "alias_chain": ["--text-alt", "--color-gray-600"], - "resolved_value": "#666666", - "occurrences": 1 - }, - { - "id": "ecede937cb1b7045", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-inverse", - "alias_chain": ["--text-inverse", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "e374daadeb796e74", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-danger", - "alias_chain": ["--text-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "17d913ce57d61691", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-success", - "alias_chain": ["--text-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "47375d24c38b7d67", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-warning", - "alias_chain": ["--text-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "decd88c38537ed08", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-text-info", - "alias_chain": ["--text-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "a2a3704df5466718", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-dark-10", - "alias_chain": ["--dark-10"], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "occurrences": 1 - }, - { - "id": "4d9cdbc68318c955", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-dark-40", - "alias_chain": ["--dark-40"], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "occurrences": 1 - }, - { - "id": "1ff7670a50a0469f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-dark-04", - "alias_chain": ["--dark-04"], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "occurrences": 1 - }, - { - "id": "918291ab84c5d96b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-surface-dark", - "alias_chain": ["--surface-dark"], - "resolved_value": "#0a0a0a", - "occurrences": 1 - }, - { - "id": "b63a5e70dfb903d9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-surface-dark-text", - "alias_chain": ["--surface-dark-text"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "78e4178e847afd35", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-surface-dark-muted", - "alias_chain": ["--surface-dark-muted"], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "13e3f662de4dcb25", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-surface-dark-border", - "alias_chain": ["--surface-dark-border"], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "d3bd382b85d91bd7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1 - }, - { - "id": "2420c9d2714f81f4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1 - }, - { - "id": "21da98d0c3d9411e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 1 - }, - { - "id": "d1ac92a1e9843734", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 1 - }, - { - "id": "b945503b5a257f07", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 1 - }, - { - "id": "8bcca92bea5231ea", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "2821782150c5a4a1", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 1 - }, - { - "id": "ac4a8dc675ffaaf2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "occurrences": 1 - }, - { - "id": "fa2a7dbad3526104", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - }, - { - "id": "cbc6369b605db513", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 1 - }, - { - "id": "37ce03d30c7d193c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-sm", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 4px)", - "occurrences": 1 - }, - { - "id": "f6d81cb173ac5b89", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-md", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 2px)", - "occurrences": 1 - }, - { - "id": "92e39c945832caa3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-lg", - "alias_chain": ["--radius"], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "d67c6f689629e889", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--radius-xl", - "alias_chain": [], - "resolved_value": "calc(var(--radius) + 4px)", - "occurrences": 1 - }, - { - "id": "df28f5a6707b3437", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-ring", - "alias_chain": ["--ring", "--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "0ce9081c13f1ca82", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "3.25rem", - "occurrences": 1 - }, - { - "id": "3fb3e9f3b95501bf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 1 - }, - { - "id": "72d8da27e0578a21", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 1 - }, - { - "id": "f85ad488352a8258", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "2rem", - "occurrences": 1 - }, - { - "id": "b067a6136af76dff", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - }, - { - "id": "18951054bbfbd351", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-chart-1", - "alias_chain": ["--chart-1"], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "bf8c7a0fc1e09641", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-chart-2", - "alias_chain": ["--chart-2"], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "b2cf1391a0213ab5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-chart-3", - "alias_chain": ["--chart-3"], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "c141c9907497b584", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-chart-4", - "alias_chain": ["--chart-4"], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "519224717a35080d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-chart-5", - "alias_chain": ["--chart-5"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "f92a8bae3de0133c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar", - "alias_chain": ["--sidebar", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "9eea5d9d33bf7efb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "48ffdceb752eb219", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "8519e3a792896662", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "1c65904fc353164c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100" - ], - "resolved_value": "#f0f0f0", - "occurrences": 1 - }, - { - "id": "f7cecc91f460093f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 1 - }, - { - "id": "944c77060111eb66", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200" - ], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "7e059285384c56af", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--color-sidebar-ring", - "alias_chain": ["--sidebar-ring", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 1 - }, - { - "id": "7fe05bd17b9112f6", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "b8dee9dd85440ad8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "67bfc0e3b3b985dd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "60cdf505ddf4991c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1 - }, - { - "id": "2e09deb7f2b3ab22", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "f3b4e8c63d670772", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "9ba43f9f8fb98c62", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "c646397fffd6efee", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "cb69b598d14d802a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "46fc321d9b36fe46", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "a3dbc93ee468a3a9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "df9f5b8dafce8b3e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "da96512485cd3080", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1 - } - ], - "components": [ - { - "id": "6d2f12160726c41d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "accordion", - "discovered_via": "registry.json" - }, - { - "id": "979dafb281d630f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "alert-dialog", - "discovered_via": "registry.json" - }, - { - "id": "a103296963ca9c32", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "alert", - "discovered_via": "registry.json" - }, - { - "id": "7c241aa68487bbbf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "aspect-ratio", - "discovered_via": "registry.json" - }, - { - "id": "276c3ad242788403", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "avatar", - "discovered_via": "registry.json" - }, - { - "id": "90b4746fa86fdb72", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "badge", - "discovered_via": "registry.json" - }, - { - "id": "5455f2e25e8ec7f4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "breadcrumb", - "discovered_via": "registry.json" - }, - { - "id": "35dd4b60a7b42c9b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "button-group", - "discovered_via": "registry.json" - }, - { - "id": "9176e496c60179cd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "button", - "discovered_via": "registry.json" - }, - { - "id": "afd37c648aa0c22e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "calendar", - "discovered_via": "registry.json" - }, - { - "id": "5d193da58fbd809a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "card", - "discovered_via": "registry.json" - }, - { - "id": "b624ff585a15ed20", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "carousel", - "discovered_via": "registry.json" - }, - { - "id": "68401b063c6bf4f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "chart", - "discovered_via": "registry.json" - }, - { - "id": "b0f2dd5251ea78ad", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "checkbox", - "discovered_via": "registry.json" - }, - { - "id": "e3ee864d9d917916", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "collapsible", - "discovered_via": "registry.json" - }, - { - "id": "3011ac0c599ddee7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "command", - "discovered_via": "registry.json" - }, - { - "id": "c43a0f72a5e34bb0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "context-menu", - "discovered_via": "registry.json" - }, - { - "id": "37230c20c1ce99bf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "dialog", - "discovered_via": "registry.json" - }, - { - "id": "357a10b4cc9729ed", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "drawer", - "discovered_via": "registry.json" - }, - { - "id": "6ca8e64d5d97c13a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "dropdown-menu", - "discovered_via": "registry.json" - }, - { - "id": "2bd39bd7797b6827", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "form", - "discovered_via": "registry.json" - }, - { - "id": "0fb13b7b70402039", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "hover-card", - "discovered_via": "registry.json" - }, - { - "id": "0cd49ce69c55b1bb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "input-group", - "discovered_via": "registry.json" - }, - { - "id": "f8b4a54676fffd32", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "input-otp", - "discovered_via": "registry.json" - }, - { - "id": "d2b93a51f8251454", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "input", - "discovered_via": "registry.json" - }, - { - "id": "e0c3ab25a876c27b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "label", - "discovered_via": "registry.json" - }, - { - "id": "230fb7b9f6c51e6b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "menubar", - "discovered_via": "registry.json" - }, - { - "id": "be965ddce05f6bae", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "navigation-menu", - "discovered_via": "registry.json" - }, - { - "id": "67073848018858c5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "pagination", - "discovered_via": "registry.json" - }, - { - "id": "9eed09f2d64026bc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "popover", - "discovered_via": "registry.json" - }, - { - "id": "7520f45b90a7d790", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "progress", - "discovered_via": "registry.json" - }, - { - "id": "a5bc1e1d5eece144", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "radio-group", - "discovered_via": "registry.json" - }, - { - "id": "57f4dbc96133af92", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "resizable", - "discovered_via": "registry.json" - }, - { - "id": "744f55a017613174", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "scroll-area", - "discovered_via": "registry.json" - }, - { - "id": "cbb1b273705b8c3a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "select", - "discovered_via": "registry.json" - }, - { - "id": "a6731007b390a7cb", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "separator", - "discovered_via": "registry.json" - }, - { - "id": "5ac98c3861fd2bbe", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sheet", - "discovered_via": "registry.json" - }, - { - "id": "f722d6d84cd1d84c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sidebar", - "discovered_via": "registry.json" - }, - { - "id": "0dd70a30d7933f92", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "skeleton", - "discovered_via": "registry.json" - }, - { - "id": "cff16fe49fb0dc06", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "slider", - "discovered_via": "registry.json" - }, - { - "id": "4a1fc20196bceda8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sonner", - "discovered_via": "registry.json" - }, - { - "id": "1a2cc13af69b439b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "spinner", - "discovered_via": "registry.json" - }, - { - "id": "6196b5284e21d11d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "switch", - "discovered_via": "registry.json" - }, - { - "id": "951d177329479541", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "table", - "discovered_via": "registry.json" - }, - { - "id": "80278466976164ec", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "tabs", - "discovered_via": "registry.json" - }, - { - "id": "a350560e9254a3d8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "textarea", - "discovered_via": "registry.json" - }, - { - "id": "8df8c5bff7382fa9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "toggle-group", - "discovered_via": "registry.json" - }, - { - "id": "4413cbe20cc2c103", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "toggle", - "discovered_via": "registry.json" - }, - { - "id": "7612061697dea683", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "tooltip", - "discovered_via": "registry.json" - }, - { - "id": "cef5e1893ef71cfa", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "agent", - "discovered_via": "registry.json" - }, - { - "id": "cb2246a1a0a594a0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "artifact", - "discovered_via": "registry.json" - }, - { - "id": "54fcaf7ad9ec7034", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "attachments", - "discovered_via": "registry.json" - }, - { - "id": "347e4b2dd05be0a3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "audio-player", - "discovered_via": "registry.json" - }, - { - "id": "d27fd6c7bd17b6a4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "canvas", - "discovered_via": "registry.json" - }, - { - "id": "fb83ef54dd58def9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "chain-of-thought", - "discovered_via": "registry.json" - }, - { - "id": "4acb9604bfe89289", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "checkpoint", - "discovered_via": "registry.json" - }, - { - "id": "2812a746582e9ab5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "code-block", - "discovered_via": "registry.json" - }, - { - "id": "bbb940137f1828e3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "commit", - "discovered_via": "registry.json" - }, - { - "id": "2d3f67917ed7c328", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "confirmation", - "discovered_via": "registry.json" - }, - { - "id": "8393143ec2de398a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "connection", - "discovered_via": "registry.json" - }, - { - "id": "707f20d3130f35d5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "context", - "discovered_via": "registry.json" - }, - { - "id": "d9318af758610849", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "controls", - "discovered_via": "registry.json" - }, - { - "id": "2d8c76aef78cd232", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "conversation", - "discovered_via": "registry.json" - }, - { - "id": "719fdb1140e927f9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "edge", - "discovered_via": "registry.json" - }, - { - "id": "b682bd4dcb160070", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "environment-variables", - "discovered_via": "registry.json" - }, - { - "id": "ad229aee1410e523", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "file-tree", - "discovered_via": "registry.json" - }, - { - "id": "94beb1c2d9ff2845", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "image", - "discovered_via": "registry.json" - }, - { - "id": "e51180938ec14b8c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "inline-citation", - "discovered_via": "registry.json" - }, - { - "id": "7b90233a11529ce9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "jsx-preview", - "discovered_via": "registry.json" - }, - { - "id": "ef2cb361cccba988", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "message", - "discovered_via": "registry.json" - }, - { - "id": "4be18327f5b08c6c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "mic-selector", - "discovered_via": "registry.json" - }, - { - "id": "e70c3de12bb6d8ea", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "model-selector", - "discovered_via": "registry.json" - }, - { - "id": "32ad3eafd71afa12", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "node", - "discovered_via": "registry.json" - }, - { - "id": "a4dc760565bee6c2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "open-in-chat", - "discovered_via": "registry.json" - }, - { - "id": "5fff8ca1cc7e8a23", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "package-info", - "discovered_via": "registry.json" - }, - { - "id": "2c0fefee5e534ee4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "panel", - "discovered_via": "registry.json" - }, - { - "id": "75c3ac0441dece32", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "persona", - "discovered_via": "registry.json" - }, - { - "id": "9315380db9a8bda5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "plan", - "discovered_via": "registry.json" - }, - { - "id": "c5d442865455dabf", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "prompt-input", - "discovered_via": "registry.json" - }, - { - "id": "751cbf26da331c5e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "queue", - "discovered_via": "registry.json" - }, - { - "id": "51627933795cfd9f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "reasoning", - "discovered_via": "registry.json" - }, - { - "id": "d50f9446f8cf4163", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sandbox", - "discovered_via": "registry.json" - }, - { - "id": "dca1fcd6caf24479", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "schema-display", - "discovered_via": "registry.json" - }, - { - "id": "0c8f9133335d0f1f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "shimmer", - "discovered_via": "registry.json" - }, - { - "id": "faf08e9917809e42", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "snippet", - "discovered_via": "registry.json" - }, - { - "id": "ac8f38e930abf05d", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sources", - "discovered_via": "registry.json" - }, - { - "id": "2a1ad587392af5c9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "speech-input", - "discovered_via": "registry.json" - }, - { - "id": "30fea3317b5c23ac", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "stack-trace", - "discovered_via": "registry.json" - }, - { - "id": "3699dfde5fb9bda5", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "suggestion", - "discovered_via": "registry.json" - }, - { - "id": "0be350bee51fb4c3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "task", - "discovered_via": "registry.json" - }, - { - "id": "471c27e53ec79afc", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "terminal", - "discovered_via": "registry.json" - }, - { - "id": "c9a84b2b2c637f82", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "test-results", - "discovered_via": "registry.json" - }, - { - "id": "6b0d88cc6cfbed59", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "tool", - "discovered_via": "registry.json" - }, - { - "id": "a8b9f241eeb744e2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "toolbar", - "discovered_via": "registry.json" - }, - { - "id": "5dba9261593e5451", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "transcription", - "discovered_via": "registry.json" - }, - { - "id": "251644133d18d6c0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "voice-selector", - "discovered_via": "registry.json" - }, - { - "id": "b980390231ee0de8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "web-preview", - "discovered_via": "registry.json" - } - ], - "libraries": [ - { - "id": "955edb1977d13f5b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@hookform/resolvers", - "kind": "forms", - "version": "^5.2.2" - }, - { - "id": "2ab539264bf22bb3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-accordion", - "kind": "primitives", - "version": "^1.2.12" - }, - { - "id": "7870c62c4e9db858", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-alert-dialog", - "kind": "primitives", - "version": "^1.1.15" - }, - { - "id": "a2ec396fadd46b86", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-aspect-ratio", - "kind": "primitives", - "version": "^1.1.8" - }, - { - "id": "d8ba0badfa7f52e7", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-avatar", - "kind": "primitives", - "version": "^1.1.11" - }, - { - "id": "d2a20eec838ad1a9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-checkbox", - "kind": "primitives", - "version": "^1.3.3" - }, - { - "id": "7a0a367b40c09440", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-collapsible", - "kind": "primitives", - "version": "^1.1.12" - }, - { - "id": "f474b047d92d3e5b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-context-menu", - "kind": "primitives", - "version": "^2.2.16" - }, - { - "id": "23b6506604a19c9b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-dialog", - "kind": "primitives", - "version": "^1.1.15" - }, - { - "id": "be43a3944427cb99", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-dropdown-menu", - "kind": "primitives", - "version": "^2.1.16" - }, - { - "id": "996b036e73d549f8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-hover-card", - "kind": "primitives", - "version": "^1.1.15" - }, - { - "id": "329bd4e2ac504f3b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-label", - "kind": "primitives", - "version": "^2.1.8" - }, - { - "id": "b6cb1ae55ed03033", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-menubar", - "kind": "primitives", - "version": "^1.1.16" - }, - { - "id": "37cdb92d1d6bfabd", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-navigation-menu", - "kind": "primitives", - "version": "^1.2.14" - }, - { - "id": "b21ba96ead7c36d0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-popover", - "kind": "primitives", - "version": "^1.1.15" - }, - { - "id": "86cd9fe57015a3e9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-progress", - "kind": "primitives", - "version": "^1.1.8" - }, - { - "id": "be0a890be5ec59e2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-radio-group", - "kind": "primitives", - "version": "^1.3.8" - }, - { - "id": "fe5a84aedcbdc51b", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-scroll-area", - "kind": "primitives", - "version": "^1.2.10" - }, - { - "id": "e9af4efbb2db6972", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-select", - "kind": "primitives", - "version": "^2.2.6" - }, - { - "id": "e40834caa601d650", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-separator", - "kind": "primitives", - "version": "^1.1.8" - }, - { - "id": "93fde33bb4b4e7d8", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-slider", - "kind": "primitives", - "version": "^1.3.6" - }, - { - "id": "1e65491f959715a0", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-slot", - "kind": "primitives", - "version": "^1.2.4" - }, - { - "id": "1389356cc2bb1302", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-switch", - "kind": "primitives", - "version": "^1.2.6" - }, - { - "id": "760326142ce687a9", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-tabs", - "kind": "primitives", - "version": "^1.1.13" - }, - { - "id": "1319a10801a33732", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-toggle", - "kind": "primitives", - "version": "^1.1.10" - }, - { - "id": "f1eeb95b3e63e4d2", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-toggle-group", - "kind": "primitives", - "version": "^1.1.11" - }, - { - "id": "2a3f4691d0aa5e7a", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-tooltip", - "kind": "primitives", - "version": "^1.2.8" - }, - { - "id": "675b993d39faab35", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "@radix-ui/react-use-controllable-state", - "kind": "primitives", - "version": "^1.2.2" - }, - { - "id": "c3b9988c1ecab4ba", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "class-variance-authority", - "kind": "variant-helper", - "version": "^0.7.1" - }, - { - "id": "2bd418c0a6034d0f", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "clsx", - "kind": "class-utils", - "version": "^2.1.1" - }, - { - "id": "5fe7d1a752cdcb60", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "cmdk", - "kind": "command-palette", - "version": "^1.1.1" - }, - { - "id": "a56b700c1acf0781", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "date-fns", - "kind": "date", - "version": "^4.1.0" - }, - { - "id": "1e4e1f78d154a64c", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "lucide-react", - "kind": "icons", - "version": "^1.7.0" - }, - { - "id": "c1113c9292278754", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "motion", - "kind": "motion", - "version": "^12.38.0" - }, - { - "id": "f257b0b1f90ce7f4", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "react-day-picker", - "kind": "date", - "version": "9.14.0" - }, - { - "id": "3ff7b7953dbf64fa", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "react-hook-form", - "kind": "forms", - "version": "^7.72.0" - }, - { - "id": "cacd86649a83786e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "recharts", - "kind": "charts", - "version": "^3.8.1" - }, - { - "id": "b5e83ed0f2d963ed", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "sonner", - "kind": "toast", - "version": "^2.0.7" - }, - { - "id": "248a95b02f4fa83e", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "tailwind-merge", - "kind": "class-utils", - "version": "^3.5.0" - }, - { - "id": "5d67e888930bf3ea", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "tw-animate-css", - "kind": "animation", - "version": "^1.4.0" - }, - { - "id": "45342a3452d38062", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "vaul", - "kind": "drawer", - "version": "^1.1.2" - }, - { - "id": "8351e3f559ab3dd3", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "zod", - "kind": "validation", - "version": "^4.3.6" - } - ], - "ui_surfaces": [ - { - "id": "f046c91bec22ea12", - "source": { - "target": "github:block/ghost#packages/ghost-ui", - "commit": "916e728489f603407c6d00b798f49acd3975e7bb", - "scanned_at": "2026-04-29T16:10:00Z", - "scanner_version": "0.1.0" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-3/fingerprint.md b/dogfood/ghost-ui/attempt-3/fingerprint.md deleted file mode 100644 index bf328ebc..00000000 --- a/dogfood/ghost-ui/attempt-3/fingerprint.md +++ /dev/null @@ -1,318 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-04-30T00:00:00Z -sources: - - block/ghost@packages/ghost-ui -observation: - personality: - - monochromatic - - editorial - - restrained - - pill-shaped - - magazine-like - - themeable - resembles: - - Vercel Geist - - Linear - - Apple Human Interface Guidelines -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: shape-language - - dimension: typography-voice - - dimension: elevation - - dimension: spatial-system - - dimension: motion - - dimension: theming-architecture - - dimension: interactive-patterns - - dimension: density - - dimension: font-sourcing -checks: - - id: no-off-palette-hex - canonical: color-strategy - kind: color - summary: Hex literals must come from the documented palette - rationale: >- - Default theme is achromatic — chromatic colors are reserved for - semantic states (danger, success, info, warning) and chart data. - Any new hex literal is drift unless it lands in the palette. - pattern: '#[0-9a-fA-F]{3,8}' - enforce_at: [className, css_var, inline_style] - support: 0.94 - - id: pill-interactives - canonical: shape-language - kind: radius - summary: Buttons, inputs, and badges must be fully rounded - rationale: >- - Pill-first radius philosophy separates interactive from structural - surfaces — interactive elements fully round (999px), while cards and - modals use moderate radii (10–24px). - pattern: '<(Button|Input|Badge)\b[^>]*\brounded-(?!full|pill)' - enforce_at: [className] - support: 0.97 - - id: structural-radius-set - canonical: shape-language - kind: radius - summary: Container radii must come from the canonical set - rationale: >- - Cards, modals, and dropdowns use named moderate radii (10/14/16/20/24px). - Arbitrary radius values break the shape vocabulary. - pattern: 'rounded-\[\d+px\]|border-radius:\s*\d+px' - support: 0.91 - - id: no-foreign-fonts - canonical: font-sourcing - kind: type-family - summary: Do not bundle additional typefaces - rationale: >- - Library ships no bundled fonts — system-ui sans, Geist Mono, and a - generic serif fallback. Adding @font-face or importing a webfont - crosses the font-sourcing decision. - pattern: '@import\s+url\([^)]*fonts' - enforce_at: [css_var, inline_style] - presence_floor: 0 - support: 1.0 - - id: type-on-ramp - canonical: typography-voice - kind: type-size - summary: Font sizes must come from the magazine ramp - rationale: >- - Type ramp runs from 10px (label kicker) up through clamp-bounded - display sizes (96px max). Sizes outside the ramp break the - editorial rhythm. - pattern: 'text-\[\d+px\]|font-size:\s*\d+px' - support: 0.93 - - id: no-decorative-motion - canonical: motion - kind: motion - summary: No decorative or hover-only animations - rationale: >- - Animations exist for structural reveals (accordion, scale-in, fade, - word-reveal) and entrance transitions, never for decorative - micro-interactions. The editorial tone stays serious. - pattern: 'transition:\s*all\b|animate-(?!none)\w+' - presence_floor: 4 - support: 0.86 - - id: spacing-on-scale - canonical: spatial-system - kind: spacing - summary: Padding, margin, and gap must come from the 4px-base scale - rationale: >- - Component-height tokens land at 32/44/52px; layout rhythm at - 20/24/75/100px. Off-scale spacing breaks the layout rhythm; small - drift (±2px) is tolerated. - pattern: '\b(p|m|gap)-\[\d+px\]' - support: 0.88 -palette: - dominant: - - role: primary - value: "#1a1a1a" - - role: background - value: "#ffffff" - - role: inverse - value: "#000000" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#000000" - count: 12 - semantic: - - role: surface-default - value: "#ffffff" - - role: surface-alt - value: "#f5f5f5" - - role: surface-muted - value: "#f0f0f0" - - role: surface-dark - value: "#0a0a0a" - - role: danger - value: "#f94b4b" - - role: success - value: "#91cb80" - - role: info - value: "#5c98f9" - - role: warning - value: "#fbcd44" - - role: text-default - value: "#1a1a1a" - - role: text-muted - value: "#999999" - - role: text-alt - value: "#666666" - - role: border-default - value: "#e8e8e8" - - role: border-input - value: "#e5e5e5" - - role: border-strong - value: "#1a1a1a" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - saturationProfile: muted - contrast: high -spacing: - scale: [20, 32, 44, 52, 75, 100] - regularity: 0.5 - baseUnit: null -typography: - families: - - system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif - - Geist Mono, monospace - - serif - sizeRamp: [10, 11, 16, 20, 24, 28, 40, 44, 48, 64, 96, 192] - weightDistribution: - "300": 1 - "600": 4 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [10, 14, 16, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate ---- - -# Character - -A monochromatic, magazine-inspired design language that treats color as communication rather than decoration. The default palette is entirely achromatic — near-black on white — with hue reserved for semantic states (danger, success, info, warning) and chart data. Pill-shaped interactive elements contrast with moderately rounded containers, and display typography pushes ultra-tight line-heights (0.85–0.88) with heavy negative tracking for an editorial spread aesthetic. The system ships no bundled typefaces and is fully themeable at runtime through CSS custom property injection, with five non-default preset themes that prove the base architecture's range. - -# Decisions - -### color-strategy - -Treat hue as opt-in communication, not ambient decoration — the default theme is pure achromatic, so every bit of chromatic color that appears carries semantic meaning (danger, success, info, warning, chart). Brand personality is expressed through luminance contrast and shape, which makes the system maximally themeable without color conflicts. - -**Evidence:** -- `--color-gray-50: #f5f5f5 through --color-gray-900: #1a1a1a (pure monochromatic scale, src/styles/main.css:18-27)` -- `--color-white: #ffffff, --color-black: #000000 (src/styles/main.css:14-15)` -- `--background-accent: var(--color-gray-900) — accent maps to the extremity of the gray scale, not a brand hue` -- `Chromatic tokens reserved for state: --color-red-200: #f94b4b, --color-green-200: #91cb80, --color-blue-200: #5c98f9, --color-yellow-200: #fbcd44` -- `Chart palette introduces warm/varied hues only for data: --chart-1: #f6b44a, --chart-2: #7585ff, --chart-3: #d76a6a, --chart-4: #d185e0, --chart-5: #91cb80` - -### surface-hierarchy - -Name surfaces by intent rather than by shade number — backgrounds, borders, and text each have their own semantic vocabulary (default, alt, muted, medium, inverse, accent, strong) decoupling usage intent from visual weight. A theme preset can remap all values without breaking component logic. - -**Evidence:** -- `--background-default: var(--color-white), --background-alt: var(--color-gray-50) (#f5f5f5), --background-muted: var(--color-gray-100) (#f0f0f0), --background-medium: var(--color-gray-400) (#cccccc), --background-inverse: var(--color-black)` -- `--border-default: var(--color-gray-200) (#e8e8e8), --border-input: var(--color-gray-300) (#e5e5e5), --border-strong: var(--color-gray-900) (#1a1a1a)` -- `--text-default: var(--color-gray-900), --text-alt: var(--color-gray-600) (#666666), --text-muted: var(--color-gray-500) (#999999)` -- `Dark mode inverts the mapping at .dark scope: --background-default: var(--color-black), --text-default: var(--color-white) (src/styles/main.css:230-253)` -- `Dark-mode mids draw from --color-gray-700 (#333333) and --color-gray-800 (#232323) for borders and alt surfaces (src/styles/main.css:231-244)` -- `--surface-dark: #0a0a0a is reserved for dark surface treatments regardless of mode` - -### shape-language - -Apply a pill-first radius philosophy that visually separates interactive from structural surfaces — buttons, inputs, and badges fully round to 999px, while cards, modals, and dropdowns use moderate radii (10–24px). Users intuit what is tappable versus what is container. - -**Evidence:** -- `--radius-pill: 999px, --radius-button: 999px, --radius-input: 999px (src/styles/main.css:376-378)` -- `--radius-card: 20px, --radius-card-lg: 24px, --radius-card-sm: 14px, --radius-modal: 16px, --radius-dropdown: 10px (src/styles/main.css:379-383)` -- `Button: rounded-full (src/components/ui/button.tsx)` -- `Badge: rounded-pill (src/components/ui/badge.tsx)` -- `Input: rounded-input (src/components/ui/input.tsx)` -- `Card: rounded-card (src/components/ui/card.tsx)` - -### typography-voice - -Use a magazine-scale type hierarchy where display headings are dramatically tight (sub-1.0 line-heights, heavy negative tracking) and body text is relaxed for long-form readability. The rhythm alternates between bold editorial impact and comfortable reading, with uppercase label type providing a byline voice between them. - -**Evidence:** -- `--heading-display-font-size: clamp(64px, 8vw, 96px), line-height 0.88, letter-spacing -0.05em, weight 900` -- `--heading-section-font-size: clamp(44px, 5vw, 64px), line-height 0.95, letter-spacing -0.035em, weight 700` -- `--display-size: clamp(3rem, 12vw, 12rem), line-height 0.85, letter-spacing -0.05em` -- `--body-reading-size: clamp(1rem, 1.3vw, 1.25rem), line-height 1.65, letter-spacing -0.01em` -- `--label-font-size: 11px, letter-spacing 0.12em, weight 600 — uppercase kicker type` -- `--pullquote-weight: 300, line-height 1.3 — light contrast voice for editorial punctuation` -- `--text-xxs: 10px — caption / micro tier` - -### elevation - -Name shadows by structural role rather than by intensity level, and double shadow opacity in dark mode rather than removing them. Depth cues stay legible on dark surfaces, and designers get a vocabulary tied to component context instead of a numeric scale. - -**Evidence:** -- `--shadow-mini: 0 2px 8px rgba(76, 76, 76, 0.15); --shadow-btn, --shadow-card, --shadow-kbd share the mini tier` -- `--shadow-elevated: 0 3px 12px rgba(76, 76, 76, 0.22), --shadow-popover: 0 8px 30px rgba(0, 0, 0, 0.12), --shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.2)` -- `Dark mode doubles intensity: --shadow-mini: 0 2px 8px rgba(0, 0, 0, 0.4), --shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.6) (src/styles/main.css:270-277)` -- `Card applies hover:shadow-card as an interaction cue (src/components/ui/card.tsx)` - -### spatial-system - -Prefer explicit component-height tokens over padding arithmetic — interactive elements declare fixed heights via `--spacing-button` (44px) / `--spacing-button-sm` (32px) / `--spacing-input` (52px) / `--spacing-input-sm` (44px), while page sections use lavish vertical padding. Button/input sizing is decoupled from surrounding layout, yielding a compact-controls / spacious-layout composition. - -**Evidence:** -- `--spacing-input: 3.25rem (52px), --spacing-input-sm: 2.75rem (44px), --spacing-button: 2.75rem (44px), --spacing-button-sm: 2rem (32px) (src/styles/main.css:404-407)` -- `--page-container-max-width: 1440px, --page-container-side-gutter: 20px` -- `--section-padding-vertical: 100px, --section-heading-margin-bottom: 75px` -- `Card gap-6 py-6, CardHeader/CardContent px-6 — uniform 24px internal rhythm via Tailwind defaults` - -### motion - -Keep transitions functional and brief — three duration tiers (fast/normal/slow) with a single spring easing. Animations exist for structural reveals (accordion, scale-in, fade, word-reveal) and entrance transitions, not for decorative micro-interactions — the editorial tone stays serious. - -**Evidence:** -- `--duration-fast: 0.15s, --duration-normal: 0.2s, --duration-slow: 0.4s` -- `--ease-spring: cubic-bezier(0.33, 1, 0.68, 1) — single easing for all transitions` -- `--animate-accordion-down/up, --animate-scale-in/out, --animate-fade-in/out, --animate-enter-from-left/right, --animate-exit-to-left/right, --animate-word-reveal — all structural, no decorative hovers (src/styles/main.css:428-439)` -- `@keyframes word-reveal: blur(8px) translateY(10px) → clear — editorial text entrance` - -### theming-architecture - -Cascade three layers — semantic variables → shadcn aliases → Tailwind `@theme inline` — so the entire visual language can be swapped at runtime through CSS custom property injection without modifying component code. Six bundled presets (default plus five overrides) validate that shape, color, and contrast can all be remapped. - -**Evidence:** -- `Layered cascade: --background-accent (semantic) → --primary: var(--background-accent) (shadcn alias) → --color-primary: var(--primary) (@theme inline Tailwind mapping)` -- `PRESETS array defines 6 themes: default, warm-sand, ocean, midnight-luxe, neon-brutalist, soft-pastel (src/lib/theme-presets.ts:17)` -- `Neon Brutalist preset overrides every --radius-* to 0px, demonstrating shape is also themeable` -- `Dark mode cascades through the same semantic variables — component code never branches on theme` -- `src/styles/main.css:11 resets --color-*: initial so only declared tokens emit Tailwind colors` - -### interactive-patterns - -Standardize focus states as a subtle 1px ring at half opacity using the ring-ring token, applied uniformly across Button/Input/Badge and reinforced by a global `*:focus-visible` fallback. Browser default outlines are replaced with a consistent, theme-aware indicator that works in both light and dark modes. - -**Evidence:** -- `Button: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/button.tsx)` -- `Input: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/input.tsx)` -- `Badge: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/badge.tsx)` -- `--ring: var(--border-strong) — resolves to #1a1a1a (light) / #ffffff (dark)` -- `Global fallback: *:not(body):not(.focus-override):focus-visible applies ring-2 ring-offset-1 (src/styles/main.css:659-664)` - -### density - -Maintain compact interactive controls inside generous structural whitespace — buttons and inputs sit in a 32–52px height range with text-sm bodies, while page sections and cards use lavish padding (100px vertical sections, 24px card rhythm). The result is a publishing-oriented reading rhythm, not a dense tool-UI feel. - -**Evidence:** -- `Compact controls: --spacing-button-sm: 32px through --spacing-input: 52px; Badge px-2 py-0.5 (8px/2px)` -- `Spacious containers: Card gap-6 py-6 px-6 (24px rhythm)` -- `--section-padding-vertical: 100px, --section-heading-margin-bottom: 75px — editorial page whitespace` -- `--body-reading-size: clamp(1rem, 1.3vw, 1.25rem), line-height 1.65 — longform reading optimization` -- `Type ramp runs 10px through 192px (clamp upper bound) but body copy stays at text-sm for UI chrome` - -### font-sourcing - -Ship no bundled typefaces. The system declares a system-ui sans stack, `Geist Mono` with a monospace fallback, and a generic `serif` — typography responsibility moves to the consumer. The visual language adapts to the host platform's default face, which keeps the library dependency-free and lets hosts impose their own brand font without overriding. - -**Evidence:** -- `src/styles/font-faces.css is intentionally empty — single comment, no @font-face declarations` -- `--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif (src/styles/main.css:368)` -- `--font-display aliases the sans stack — no separate display face is assumed` -- `--font-mono: "Geist Mono", monospace — named preference with generic fallback` -- `--font-serif: serif — generic fallback only` diff --git a/dogfood/ghost-ui/attempt-3/map.md b/dogfood/ghost-ui/attempt-3/map.md deleted file mode 100644 index be671dc1..00000000 --- a/dogfood/ghost-ui/attempt-3/map.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -mapped_at: 2026-04-30 -platform: web -languages: - - { name: typescript, files: 115, share: 0.85 } - - { name: json, files: 114, share: 0 } - - { name: markdown, files: 10, share: 0 } - - { name: css, files: 4, share: 0.03 } - - { name: javascript, files: 4, share: 0.03 } -build_system: pnpm -package_manifests: - - package.json - - tsconfig.json - - tsconfig.lib.json - - tsconfig.mcp.json - - vite.lib.config.ts - - components.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: ./registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - "src/components/ui/**" - - "src/components/ai-elements/**" - - "src/components/theme/**" - exclude: - - "src/mcp/**" - - "scripts/**" - - "dist/**" - - "dist-lib/**" - - "dist-mcp/**" - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: ["src/components/ui"] - sub_areas: [input, layout, feedback, display, navigation] - - name: ai-elements - paths: ["src/components/ai-elements"] - sub_areas: [chat, agent-state, artifacts] - - name: theme - paths: ["src/components/theme", "src/lib/theme-presets.ts", "src/lib/theme-defaults.ts", "src/lib/theme-utils.ts"] - - name: tokens - paths: ["src/styles"] - - name: hooks - paths: ["src/hooks"] - - name: registry-tooling - paths: ["scripts", "registry.json", ".shadcn"] - - name: mcp-server - paths: ["src/mcp"] -orientation_files: - - README.md - - fingerprint.md - - registry.json - - src/styles/main.css - - src/lib/theme-presets.ts - - components.json ---- - -## Identity - -`ghost-ui` is the reference design system for the Ghost project — a private, registry-distributed component library that exists so the Ghost loop has a real, evolving system to describe. It ships **106 registry items**: 97 `registry:ui` components (49 shadcn-style UI primitives + 48 AI-native elements), 1 `registry:base`, 2 `registry:style`, 1 `registry:lib`, and 5 `registry:theme` presets. The package is `private` and is **not published to npm**; consumers `npx shadcn add` against `registry.json` or import the built library locally for workspace linking. The `ghost-mcp` bin (built from `src/mcp/`) ships alongside as an MCP server that re-exposes the registry to AI assistants. - -The system is single-design-language — the five non-default presets (`warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, `soft-pastel`) share the base shape and only override CSS custom properties — and is the canonical witness for the Ghost three-stage scan: `fingerprint.md`, `survey.json`, and `map.md` all live next to this file at the package root. - -## Topology - -**Design system + token resolution** lives in three places, in resolution order: `src/styles/main.css` (the canonical token sheet — primitive `--color-*`, `--radius-*`, `--shadow-*`, `--spacing-*`, `--font-*` declarations plus a `:root` semantic layer and a `.dark` override), `src/lib/theme-presets.ts` (the five non-default preset overrides applied at runtime by writing CSS custom properties), and `src/components/theme/ThemeProvider.tsx` (the React provider that injects preset styles and toggles the `.dark` class). `src/styles/font-faces.css` is intentionally empty — the system ships no bundled fonts and falls back to `system-ui`. - -**Customer UI** is everything under `src/components/ui/**`, `src/components/ai-elements/**`, and `src/components/theme/**`. Everything in `src/mcp/**` is excluded (it's the registry-server bin, not user-facing chrome), as is `scripts/**` (registry build scripts). The two component subtrees coexist deliberately: `ui/` is the shadcn-shaped registry surface (each component maps 1:1 to a `registry:ui` item with `target: components/ui/.tsx`), while `ai-elements/` is a parallel set of higher-level surfaces that compose the primitives — same dimension vocabulary, different primary slot. A small number of components in `ui/` (sidebar, chart, sonner) carry product-feature texture rather than pure primitive duty; profilers should sample at least one from each area. - -**Feature areas** are organized around shadcn registry categories rather than product surfaces because this is a library, not an application. Within `ui-primitives` the sub-areas (`input`, `layout`, `feedback`, `display`, `navigation`) match shadcn's own taxonomy and the `categories` field on each registry item, so an agent can sample by reading `categories` directly. `ai-elements` splits into chat (conversational primitives), agent-state (reasoning/task/tool surfaces), and artifacts (code, citations, web previews). The `theme` and `tokens` areas are the design system surface; `hooks` is the small set of utility hooks; `registry-tooling` and `mcp-server` are infrastructure agents should not profile for design language. - -**Orientation files**, in reading order: `README.md` (one paragraph + use), `fingerprint.md` (the design decisions), `registry.json` (the canonical list of components — note the `meta.fingerprint` and `meta.fingerprint_dimensions` extensions), `src/styles/main.css` (every token in one file), `src/lib/theme-presets.ts` (proves what is themeable), `components.json` (shadcn config, declares `style: ghost` and the path aliases). - -## Conventions - -- **Component naming.** Files are kebab-case; exports are PascalCase. Compound components are flat exports from a single file (`Card`, `CardHeader`, `CardContent`, …) following shadcn convention. -- **Registry items.** Every UI component has exactly one entry in `registry.json` with `type: registry:ui`, a single `files[].target: components/ui/.tsx`, a `categories: []`, and the `registryDependencies` it expects (`utils` is universal). AI elements follow the same shape under `components/ai-elements/`. -- **Variant systems.** Components with variants use `class-variance-authority` (`cva`) with named `variants:` blocks; `compoundVariants` for cross-axis combinations. Variants bind to semantic Tailwind classes (`bg-primary`, `text-foreground`), not raw colors. -- **Slot attributes.** Every primitive carries `data-slot=""` for runtime introspection; compound parts use `data-slot="-"` (e.g. `card-header`, `card-title`). The MCP server uses these to attribute usage. -- **Path aliases.** `@/components`, `@/components/ui`, `@/lib`, `@/lib/utils`, `@/hooks` per `components.json`. The `cn` helper from `@/lib/utils` is imported by every variant-bearing component. -- **Token references.** Components reference Tailwind utility classes that map to the CSS custom properties in `src/styles/main.css` via `@theme inline` — never inline hex codes. Custom radii are named (`rounded-pill`, `rounded-card`, `rounded-input`), not numeric. -- **Test layout.** No tests live in this package today (the loop is the test). When tests do appear, the convention should be `.test.tsx` co-located, excluded from the `surface_sources.include` glob. -- **Generated artifacts.** `dist/`, `dist-lib/`, `dist-mcp/`, `.shadcn/skills.md` are build outputs — never edited by hand. `registry.json` is partially regenerated by `scripts/build-base-vars.mjs` (the `cssVars` of `ghost-ui-base`) and `scripts/build-presets.mjs` (`registry:theme` items), but per-item content (including `meta.fingerprint*` extensions) is hand-authored and survives those scripts. -- **MCP exclusion.** `src/mcp/**` is not customer UI — it's the `ghost-mcp` bin built via `tsconfig.mcp.json` to `dist-mcp/`. Profilers and drift comparisons should skip it. diff --git a/dogfood/ghost-ui/attempt-3/survey-gen.mjs b/dogfood/ghost-ui/attempt-3/survey-gen.mjs deleted file mode 100644 index 4790758e..00000000 --- a/dogfood/ghost-ui/attempt-3/survey-gen.mjs +++ /dev/null @@ -1,487 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, writeFileSync } from "node:fs"; -import { join } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const MAIN_CSS = `${TARGET_ROOT}/src/styles/main.css`; -const REGISTRY = `${TARGET_ROOT}/registry.json`; -const SRC = `${TARGET_ROOT}/src`; - -const SOURCE = { - target: "block/ghost@packages/ghost-ui", - scanned_at: "2026-04-30T00:00:00Z", -}; - -const cssRaw = readFileSync(MAIN_CSS, "utf8"); - -// ---------- 1. Parse declarations from main.css. -// We need to track: which selector/at-rule context owns each `--name: value;`. -// Contexts of interest: ":root", ".dark", "@theme", "@theme inline". -// @keyframes blocks contain decls but they're not tokens — skip them. -function parseDecls(css) { - const lines = css.split("\n"); - const stack = []; - const decls = []; // { context, name, value, line } - for (let i = 0; i < lines.length; i++) { - const raw = lines[i]; - const trimmed = raw.trim(); - if (trimmed.endsWith("{")) { - const head = trimmed.replace(/\s*\{$/, "").trim(); - stack.push(head); - continue; - } - if (trimmed === "}") { - stack.pop(); - continue; - } - // Skip declarations inside @keyframes (those are animation steps, not tokens). - const inKeyframes = stack.some((s) => s.startsWith("@keyframes")); - if (inKeyframes) continue; - const m = raw.match(/^\s*(--[a-zA-Z0-9_-]+)\s*:\s*(.+?);?\s*$/); - if (m) { - const ctx = stack[stack.length - 1] || ""; - decls.push({ - context: ctx, - name: m[1], - value: m[2].replace(/;$/, "").trim(), - line: i + 1, - }); - } - } - return decls; -} - -const allDecls = parseDecls(cssRaw); - -// ---------- 2. Drop the mechanical Tailwind v4 re-export layer. -// `@theme inline` re-exports semantic vars under a `--color-*` namespace so -// Tailwind generates class atoms (`.bg-background`, etc.) from them. The -// re-exports are 1:1 aliases (`--color-X: var(--X)`) — they don't add design -// information beyond what's already in the semantic layer. Keep `@theme inline` -// declarations that introduce *new* tokens (`--radius-*`, `--shadow-*`, -// `--font-*`, `--spacing-*`, `--text-*`, `--breakpoint-*`, `--animate-*`). -function isMechanicalReExport(d) { - if (!d.context.startsWith("@theme inline")) return false; - if (!d.name.startsWith("--color-")) return false; - const stripped = d.name.replace(/^--color-/, ""); - return d.value === `var(--${stripped})`; -} - -const canonical = allDecls.filter((d) => !isMechanicalReExport(d)); - -// ---------- 3. Group declarations by token name → resolve default + variants. -// `:root` / `@theme` / `@theme inline` all declare the *default* (light) value. -// `.dark` declares the dark variant. -const byName = new Map(); -for (const d of canonical) { - const slot = byName.get(d.name) || { - name: d.name, - default: null, - variants: {}, - }; - if ( - d.context === ":root" || - d.context === "@theme" || - d.context.startsWith("@theme") - ) { - if (!slot.default) slot.default = d; - } else if (d.context === ".dark") { - slot.variants.dark = d; - } else { - slot.variants[d.context] = d; - } - byName.set(d.name, slot); -} - -// Resolve `var(--x)` chains within the default scope to a literal where possible. -const rootScope = new Map(); -for (const [name, slot] of byName) { - if (slot.default) rootScope.set(name, slot.default.value); -} - -function resolveLiteral(value, scope) { - const seen = new Set(); - let cur = value; - for (let depth = 0; depth < 8; depth++) { - const m = cur.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - if (!m) return cur; - if (seen.has(m[1])) return cur; - seen.add(m[1]); - const next = scope.get(m[1]); - if (!next) return cur; - cur = next; - } - return cur; -} - -// ---------- 4. Classify each token by kind. -// Resolved literal beats name pattern when they disagree. `--text-default` -// looks like a typography token by name but resolves to a color — it's a -// foreground color role. Same for `--ring`, `--border-strong`, etc. -function classify(name, _value, resolved) { - // Hard kind by name prefix (these are unambiguous). - if (name.startsWith("--shadow-")) return "shadow"; - if (name.startsWith("--radius") || name === "--radius") return "radius"; - if (name.startsWith("--breakpoint-")) return "breakpoint"; - if ( - name.startsWith("--animate-") || - name.startsWith("--ease-") || - name.startsWith("--duration-") - ) - return "motion"; - - // Resolved-literal check before name-based color guesses. Anything that - // resolves to a color literal is a color token regardless of name. - if (resolved && /^(oklch|oklab|rgba?|hsla?)\(/i.test(resolved)) - return "color"; - if (resolved && /^#[0-9a-fA-F]{3,8}$/.test(resolved)) return "color"; - - // Length / size tokens by name. - if (name.startsWith("--font-")) return "typography"; - if ( - name.startsWith("--heading-") || - name.startsWith("--display-") || - name.startsWith("--body-") || - name.startsWith("--label-") || - name.startsWith("--pullquote-") - ) - return "typography"; - // `--text-xxs` etc. are size; `--text-default` is color (caught above). - if (name.startsWith("--text-")) return "typography"; - if (name.startsWith("--spacing-")) return "spacing"; - if ( - name === "--page-container-max-width" || - name === "--page-container-side-gutter" || - name === "--section-padding-vertical" || - name === "--section-heading-margin-bottom" - ) - return "spacing"; - - // Color by name pattern (when resolved isn't a literal yet — e.g. unresolved - // alias still pointing into the var graph). - if ( - /^--(background|foreground|card|popover|primary|secondary|muted|accent|destructive|border|input|ring|sidebar|chart|color-|surface-|dark-)/.test( - name, - ) - ) - return "color"; - if (/^--(black|white|red|blue|green|yellow|gray)/.test(name)) return "color"; - return "unknown"; -} - -// ---------- 5. Count occurrences of token names across the source tree. -// A token is "used" when its `--name` literal or `var(--name)` appears in a -// .ts/.tsx/.css/.mjs file under src/. Tailwind class atoms (`bg-primary`) -// don't reference the token by name — they reference the @theme inline -// re-export, so direct token usage undercounts components that consume -// tokens via Tailwind. We still count `--name` directly because it's the -// most reliable cross-codebase signal without a full Tailwind pass. -function walk(dir, out, exclude = []) { - const entries = readdirSync(dir, { withFileTypes: true }); - for (const e of entries) { - if (exclude.includes(e.name)) continue; - if ( - e.name === "node_modules" || - e.name === "dist" || - e.name === "dist-lib" || - e.name === "dist-mcp" || - e.name === "mcp" - ) - continue; - const full = join(dir, e.name); - if (e.isDirectory()) walk(full, out, exclude); - else if (/\.(tsx?|jsx?|css|mjs|md)$/.test(e.name)) out.push(full); - } - return out; -} - -const allFiles = walk(SRC, []); -const fileTexts = new Map(); -for (const f of allFiles) { - try { - fileTexts.set(f, readFileSync(f, "utf8")); - } catch {} -} - -function countOccurrences(needle) { - let occ = 0; - let files = 0; - for (const [, txt] of fileTexts) { - let m = 0; - let idx = txt.indexOf(needle); - while (idx !== -1) { - m++; - idx += needle.length; - idx = txt.indexOf(needle, idx); - } - if (m > 0) { - occ += m; - files++; - } - } - return { occ, files }; -} - -// ---------- 6. Build tokens[]. -const tokens = []; -for (const [name, slot] of byName) { - const def = slot.default; - if (!def) continue; - const resolved = resolveLiteral(def.value, rootScope); - const kind = classify(name, def.value, resolved); - const aliasMatch = def.value.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - const alias_chain = aliasMatch ? [name, aliasMatch[1]] : []; - // If the alias resolves through more than one hop, expand the chain fully. - if (aliasMatch) { - const seen = new Set([name, aliasMatch[1]]); - let cur = aliasMatch[1]; - while (true) { - const nextSlot = byName.get(cur); - if (!nextSlot?.default) break; - const nextMatch = nextSlot.default.value.match( - /^var\((--[a-zA-Z0-9_-]+)\)$/, - ); - if (!nextMatch) break; - if (seen.has(nextMatch[1])) break; - alias_chain.push(nextMatch[1]); - seen.add(nextMatch[1]); - cur = nextMatch[1]; - } - } - const { occ, files } = countOccurrences(name); - - const row = { - id: "", - source: SOURCE, - name, - alias_chain, - resolved_value: resolved, - occurrences: occ, - files_count: files, - kind, - }; - - const variants = {}; - if (slot.variants.dark) variants.dark = slot.variants.dark.value; - if (Object.keys(variants).length) { - row.by_theme = { default: def.value, ...variants }; - } - tokens.push(row); -} - -// ---------- 7. Build values[] — distinct literals shipped by the design system. -const valueAcc = new Map(); -function addValue(kind, literal, sourceToken, occ, files) { - const key = `${kind}|${literal}`; - if (!valueAcc.has(key)) { - valueAcc.set(key, { - id: "", - source: SOURCE, - kind, - value: literal, - raw: literal, - spec: deriveSpec(kind, literal), - occurrences: 0, - files_count: 0, - tokens: [], - }); - } - const row = valueAcc.get(key); - row.occurrences += occ; - row.files_count = Math.max(row.files_count, files); - if (sourceToken) row.tokens.push(sourceToken); -} - -function deriveSpec(kind, lit) { - if (kind === "color") { - if (lit.startsWith("oklch")) return { space: "oklch", source: lit }; - if (lit.startsWith("oklab")) return { space: "oklab", source: lit }; - if (lit.startsWith("rgba") || lit.startsWith("rgb")) - return { space: "srgb", source: lit }; - if (lit.startsWith("#")) return { space: "srgb", hex: lit }; - return { source: lit }; - } - if (kind === "radius" || kind === "spacing") { - const m = lit.match(/^([0-9.]+)(px|rem|em|%|vh|vw)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - if (lit.startsWith("clamp(")) return { source: lit }; - return { source: lit }; - } - if (kind === "typography") { - const m = lit.match(/^([0-9.]+)(px|rem|em)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - return { source: lit }; - } - if (kind === "shadow") return { source: lit }; - if (kind === "motion") return { source: lit }; - if (kind === "breakpoint") { - const m = lit.match(/^([0-9.]+)(px|rem|em)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - return { source: lit }; - } - return { source: lit }; -} - -for (const t of tokens) { - const lit = t.resolved_value; - if (lit.startsWith("var(")) continue; // unresolved alias - if (t.kind === "unknown") continue; - addValue(t.kind, lit, t.name, t.occurrences || 1, t.files_count || 1); -} - -// Inline literals authored directly in main.css (selection bg, scrollbar colors). -// These don't have a token name, but they ship as part of the design language. -const inlineColorRe = /#[0-9a-fA-F]{3,8}\b/g; -const inlineHits = new Map(); // hex → count -for (const m of cssRaw.matchAll(inlineColorRe)) { - inlineHits.set(m[0], (inlineHits.get(m[0]) || 0) + 1); -} -// Subtract the @theme block's hex declarations (we already recorded those). -// We do this by removing the @theme block range from the search text. -const themeBlockRe = /@theme \{[\s\S]*?\n\}/g; -let cssNoTheme = cssRaw; -for (const m of cssRaw.matchAll(themeBlockRe)) - cssNoTheme = cssNoTheme.replace(m[0], ""); -const inlineOnlyHits = new Map(); -for (const m of cssNoTheme.matchAll(inlineColorRe)) { - inlineOnlyHits.set(m[0], (inlineOnlyHits.get(m[0]) || 0) + 1); -} -for (const [hex, n] of inlineOnlyHits) { - // Skip if it's already a token literal we recorded above. - const key = `color|${hex}`; - if (valueAcc.has(key)) continue; - addValue("color", hex, null, n, 1); -} - -// Breakpoints from @media queries, plus the explicit --breakpoint-* tokens. -const bpHits = [...cssRaw.matchAll(/@media\s*\(min-width:\s*([0-9]+)(px)\)/g)]; -for (const m of bpHits) { - const lit = `${m[1]}${m[2]}`; - const key = `breakpoint|${lit}`; - if (!valueAcc.has(key)) addValue("breakpoint", lit, null, 1, 1); -} - -// ---------- 8. Build components[] — registry.json is the canonical signal. -const registry = JSON.parse(readFileSync(REGISTRY, "utf8")); -const uiItems = registry.items.filter((i) => i.type === "registry:ui"); -const components = []; - -for (const item of uiItems) { - const target = item.files[0]?.target || ""; - const filePath = item.files[0]?.path || ""; - const fullPath = `${TARGET_ROOT}/${filePath}`; - let txt = ""; - try { - txt = readFileSync(fullPath, "utf8"); - } catch { - txt = ""; - } - const exports = new Set(); - for (const m of txt.matchAll( - /export\s+(?:const|function|class)\s+([A-Z][A-Za-z0-9_]*)/g, - )) { - exports.add(m[1]); - } - const variants = []; - const cvaMatch = txt.match( - /cva\([\s\S]*?variants:\s*\{([\s\S]*?)\n\s{2,4}\}/m, - ); - if (cvaMatch) { - const variantBlock = cvaMatch[1]; - for (const v of variantBlock.matchAll(/^\s*(\w+):\s*\{([^}]*)\}/gm)) { - variants.push({ - prop: v[1], - options: [...v[2].matchAll(/['"]?([\w-]+)['"]?\s*:/g)].map((x) => x[1]), - }); - } - } - const sizes = variants.find((v) => v.prop === "size")?.options || []; - const variantValues = - variants.find((v) => v.prop === "variant")?.options || []; - - // Disambiguate `ui/` vs `ai-elements/` so identical names don't collide - // at fix-ids time (componentRowId hashes only source + name). - const group = target.startsWith("components/ai-elements") - ? "ai-elements" - : "ui"; - const baseName = item.name - .split(/[-_]/) - .map((p) => p.charAt(0).toUpperCase() + p.slice(1)) - .join(""); - - // Are there name collisions across groups? Pre-compute. - components.push({ - id: "", - source: SOURCE, - name: baseName, - _slug: item.name, - _group: group, - discovered_via: "registry.json", - file: filePath, - group, - categories: item.categories || [], - exports: [...exports], - variants: variantValues, - sizes, - occurrences: 1, - }); -} - -// Detect cross-group name collisions; qualify with group prefix. -const slugCount = components.reduce((m, c) => { - m[c._slug] = (m[c._slug] || 0) + 1; - return m; -}, {}); -for (const c of components) { - if (slugCount[c._slug] > 1) c.name = `${c._group}/${c.name}`; - delete c._slug; - delete c._group; -} - -// ---------- 9. Emit. -const values = Array.from(valueAcc.values()); -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values, - tokens, - components, - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -const outPath = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-3/survey.json"; -writeFileSync(outPath, JSON.stringify(survey, null, 2)); -process.stderr.write( - `tokens: ${tokens.length}\nvalues: ${values.length}\ncomponents: ${components.length}\nout: ${outPath}\n`, -); diff --git a/dogfood/ghost-ui/attempt-3/survey.json b/dogfood/ghost-ui/attempt-3/survey.json deleted file mode 100644 index 4c35f068..00000000 --- a/dogfood/ghost-ui/attempt-3/survey.json +++ /dev/null @@ -1,6298 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - } - ], - "values": [ - { - "id": "0fcff5820f655c42", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#ffffff", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 258, - "files_count": 3, - "tokens": [ - "--color-white", - "--background-default", - "--text-inverse", - "--background", - "--card", - "--popover", - "--primary-foreground", - "--destructive-foreground", - "--sidebar", - "--sidebar-primary-foreground" - ] - }, - { - "id": "00d6b082fdc54114", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 35, - "files_count": 3, - "tokens": ["--color-black", "--background-inverse", "--border-inverse"] - }, - { - "id": "5093d1c07f2d2a9b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "#f5f5f5", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 23, - "files_count": 3, - "tokens": ["--color-gray-50", "--background-alt", "--surface-dark-text"] - }, - { - "id": "abecc75ed4e09963", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "#f0f0f0", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 49, - "files_count": 3, - "tokens": [ - "--color-gray-100", - "--background-muted", - "--secondary", - "--muted", - "--accent", - "--sidebar-accent" - ] - }, - { - "id": "6fea8a95207fdd71", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "#e8e8e8", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 192, - "files_count": 4, - "tokens": [ - "--color-gray-200", - "--border-default", - "--border-card", - "--border", - "--sidebar-border", - "--sidebar-ring" - ] - }, - { - "id": "162e9af73016220b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "#e5e5e5", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 37, - "files_count": 3, - "tokens": ["--color-gray-300", "--border-input", "--input"] - }, - { - "id": "fe07a9fc90e0ffc5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#cccccc", - "raw": "#cccccc", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 33, - "files_count": 3, - "tokens": [ - "--color-gray-400", - "--background-medium", - "--border-input-hover" - ] - }, - { - "id": "c794534415c5a972", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#999999", - "raw": "#999999", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 24, - "files_count": 3, - "tokens": ["--color-gray-500", "--text-muted", "--muted-foreground"] - }, - { - "id": "64dabe309e6fd319", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#666666", - "raw": "#666666", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 18, - "files_count": 3, - "tokens": ["--color-gray-600", "--text-alt"] - }, - { - "id": "017717625a1c2fce", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#333333", - "raw": "#333333", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 5, - "files_count": 1, - "tokens": ["--color-gray-700"] - }, - { - "id": "7a78721b43ad60a1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#232323", - "raw": "#232323", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-gray-800"] - }, - { - "id": "71221cedd585eadd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "#1a1a1a", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 139, - "files_count": 3, - "tokens": [ - "--color-gray-900", - "--background-accent", - "--border-accent", - "--text-accent", - "--border-strong", - "--text-default", - "--ring", - "--foreground", - "--card-foreground", - "--popover-foreground", - "--primary", - "--secondary-foreground", - "--accent-foreground", - "--sidebar-foreground", - "--sidebar-primary", - "--sidebar-accent-foreground" - ] - }, - { - "id": "7e487b0b102c2808", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "#ff6b6b", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-red-100"] - }, - { - "id": "ed196914fbe9351e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "#f94b4b", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 34, - "files_count": 3, - "tokens": [ - "--color-red-200", - "--background-danger", - "--border-danger", - "--text-danger", - "--destructive" - ] - }, - { - "id": "bfb73b1120656766", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#7cacff", - "raw": "#7cacff", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-blue-100"] - }, - { - "id": "fb41087e3ceb1b5b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "#5c98f9", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 26, - "files_count": 3, - "tokens": [ - "--color-blue-200", - "--background-info", - "--border-info", - "--text-info" - ] - }, - { - "id": "ca274721024a5f3b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#a3d795", - "raw": "#a3d795", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-green-100"] - }, - { - "id": "958ae1d1b8b1a5ea", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#91cb80", - "raw": "#91cb80", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 41, - "files_count": 3, - "tokens": [ - "--color-green-200", - "--background-success", - "--border-success", - "--text-success", - "--chart-5" - ] - }, - { - "id": "86904da7151a4ec9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#ffd966", - "raw": "#ffd966", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-yellow-100"] - }, - { - "id": "f65e97783ac05b39", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "#fbcd44", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 28, - "files_count": 3, - "tokens": [ - "--color-yellow-200", - "--background-warning", - "--border-warning", - "--text-warning" - ] - }, - { - "id": "605ad5667e2a33ca", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "20px", - "raw": "20px", - "spec": { - "unit": "px", - "magnitude": 20 - }, - "occurrences": 90, - "files_count": 5, - "tokens": ["--radius", "--radius-card", "--radius-lg"] - }, - { - "id": "862312c6784819fe", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "rgba(26, 26, 26, 0.1)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.1)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-10"] - }, - { - "id": "4720aa0d54bf53d1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "rgba(26, 26, 26, 0.4)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.4)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-40"] - }, - { - "id": "90946bf080ff097a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "rgba(26, 26, 26, 0.04)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.04)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-04"] - }, - { - "id": "5a77127255507ed5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "0 2px 8px rgba(76, 76, 76, 0.15)", - "spec": { - "source": "0 2px 8px rgba(76, 76, 76, 0.15)" - }, - "occurrences": 40, - "files_count": 2, - "tokens": [ - "--shadow-mini", - "--shadow-btn", - "--shadow-card", - "--shadow-kbd" - ] - }, - { - "id": "f6fbbd8051a9f1a9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "spec": { - "source": "0 1px 4px rgba(76, 76, 76, 0.1) inset" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-mini-inset"] - }, - { - "id": "5fd8eff921da1161", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "0 3px 12px rgba(76, 76, 76, 0.22)", - "spec": { - "source": "0 3px 12px rgba(76, 76, 76, 0.22)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-elevated"] - }, - { - "id": "2bd31cf4903f0815", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "0 8px 30px rgba(0, 0, 0, 0.12)", - "spec": { - "source": "0 8px 30px rgba(0, 0, 0, 0.12)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-popover"] - }, - { - "id": "b489ae46be835c74", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "0 20px 60px rgba(0, 0, 0, 0.2)", - "spec": { - "source": "0 20px 60px rgba(0, 0, 0, 0.2)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-modal"] - }, - { - "id": "a13075d2b23bccd6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "spec": { - "source": "0 0 0 3px rgba(26, 26, 26, 0.15)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-date-field-focus"] - }, - { - "id": "2815282b3ac36e98", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "#0a0a0a", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 8, - "files_count": 1, - "tokens": ["--surface-dark"] - }, - { - "id": "b90ee8ad500074e3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "rgba(255, 255, 255, 0.5)", - "spec": { - "space": "srgb", - "source": "rgba(255, 255, 255, 0.5)" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--surface-dark-muted"] - }, - { - "id": "091c1ba26eb15b57", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "rgba(255, 255, 255, 0.08)", - "spec": { - "space": "srgb", - "source": "rgba(255, 255, 255, 0.08)" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--surface-dark-border"] - }, - { - "id": "de7e2058ef251b6f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "#f6b44a", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-1"] - }, - { - "id": "42730758366411f3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#7585ff", - "raw": "#7585ff", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-2"] - }, - { - "id": "2d84b5026953dddb", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "#d76a6a", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-3"] - }, - { - "id": "6c07f19a39de606e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#d185e0", - "raw": "#d185e0", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-4"] - }, - { - "id": "2872c09484151fe5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "clamp(64px, 8vw, 96px)", - "spec": { - "source": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-font-size"] - }, - { - "id": "4f544e51bd7b73c1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "0.88", - "raw": "0.88", - "spec": { - "source": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-line-height"] - }, - { - "id": "04cb30a033e8abf2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "-0.05em", - "spec": { - "source": "-0.05em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-display-letter-spacing", "--display-letter-spacing"] - }, - { - "id": "7871632ce2b700c2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "900", - "raw": "900", - "spec": { - "source": "900" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-font-weight"] - }, - { - "id": "0ad30ae1d828d382", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "clamp(44px, 5vw, 64px)", - "spec": { - "source": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-font-size"] - }, - { - "id": "9e98723429673768", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "0.95", - "raw": "0.95", - "spec": { - "source": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-line-height"] - }, - { - "id": "39b64b1ee297a038", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "-0.035em", - "spec": { - "source": "-0.035em" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-letter-spacing"] - }, - { - "id": "b8162ca39c7dbadd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "700", - "raw": "700", - "spec": { - "source": "700" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-section-font-weight", "--heading-sub-font-weight"] - }, - { - "id": "14eb53445a1cbe32", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "clamp(28px, 3vw, 40px)", - "spec": { - "source": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-sub-font-size"] - }, - { - "id": "ec1e60feb31311a6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "1", - "raw": "1", - "spec": { - "source": "1" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-sub-line-height"] - }, - { - "id": "13f2085cd0371ee1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "-0.02em", - "spec": { - "source": "-0.02em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-sub-letter-spacing", "--pullquote-letter-spacing"] - }, - { - "id": "f2bf781e832f39ce", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "clamp(20px, 2vw, 28px)", - "spec": { - "source": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-card-font-size"] - }, - { - "id": "50c5524e462acbbd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "1.1", - "raw": "1.1", - "spec": { - "source": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-card-line-height"] - }, - { - "id": "dd6d496cc89673fb", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "-0.01em", - "spec": { - "source": "-0.01em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": [ - "--heading-card-letter-spacing", - "--body-reading-letter-spacing" - ] - }, - { - "id": "baeaaf1a0f4fbe10", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "600", - "raw": "600", - "spec": { - "source": "600" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-card-font-weight", "--label-font-weight"] - }, - { - "id": "f81b7f73007ef5a1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "clamp(3rem, 12vw, 12rem)", - "spec": { - "source": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--display-size"] - }, - { - "id": "0ce608cbfa07c541", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "0.85", - "raw": "0.85", - "spec": { - "source": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--display-line-height"] - }, - { - "id": "9919b9891ed07e67", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "clamp(1rem, 1.3vw, 1.25rem)", - "spec": { - "source": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--body-reading-size"] - }, - { - "id": "fee9e1a69469447f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "1.65", - "raw": "1.65", - "spec": { - "source": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--body-reading-line-height"] - }, - { - "id": "9f05ed57f9169385", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "11px", - "raw": "11px", - "spec": { - "unit": "px", - "magnitude": 11 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-font-size"] - }, - { - "id": "366c6568c91aa44e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "0.12em", - "raw": "0.12em", - "spec": { - "unit": "em", - "magnitude": 0.12 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-letter-spacing"] - }, - { - "id": "0d1282ced0fa6173", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "1.2", - "raw": "1.2", - "spec": { - "source": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-line-height"] - }, - { - "id": "8772b9c6985a79de", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "clamp(1.5rem, 3vw, 2.5rem)", - "spec": { - "source": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-size"] - }, - { - "id": "b7b5fa1f17fd3c18", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "1.3", - "raw": "1.3", - "spec": { - "source": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-line-height"] - }, - { - "id": "2a03dbef906b7f74", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "300", - "raw": "300", - "spec": { - "source": "300" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-weight"] - }, - { - "id": "1e3fd894dcded2cf", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "1440px", - "raw": "1440px", - "spec": { - "unit": "px", - "magnitude": 1440 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--page-container-max-width"] - }, - { - "id": "0487a7139b1bd633", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "20px", - "raw": "20px", - "spec": { - "unit": "px", - "magnitude": 20 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--page-container-side-gutter"] - }, - { - "id": "82c03c1682405226", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "100px", - "raw": "100px", - "spec": { - "unit": "px", - "magnitude": 100 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--section-padding-vertical"] - }, - { - "id": "0828202b6a1437de", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "75px", - "raw": "75px", - "spec": { - "unit": "px", - "magnitude": 75 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--section-heading-margin-bottom"] - }, - { - "id": "028b5152ec750a6a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "source": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--ease-spring"] - }, - { - "id": "cb893630785cb61a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "0.15s", - "raw": "0.15s", - "spec": { - "source": "0.15s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-fast"] - }, - { - "id": "9b208140a5a62f93", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "0.2s", - "raw": "0.2s", - "spec": { - "source": "0.2s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-normal"] - }, - { - "id": "7ba237b64ad65196", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "0.4s", - "raw": "0.4s", - "spec": { - "source": "0.4s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-slow"] - }, - { - "id": "344a203aa1cc4ca0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "\"Geist Mono\", monospace", - "spec": { - "source": "\"Geist Mono\", monospace" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--font-mono"] - }, - { - "id": "79c5699514806b95", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "serif", - "raw": "serif", - "spec": { - "source": "serif" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--font-serif"] - }, - { - "id": "0c724189d21e11a5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "999px", - "raw": "999px", - "spec": { - "unit": "px", - "magnitude": 999 - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--radius-pill", "--radius-button", "--radius-input"] - }, - { - "id": "295bc0f8bcdba357", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "24px", - "raw": "24px", - "spec": { - "unit": "px", - "magnitude": 24 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-card-lg"] - }, - { - "id": "3d3c360734e7523f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "14px", - "raw": "14px", - "spec": { - "unit": "px", - "magnitude": 14 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-card-sm"] - }, - { - "id": "990ed654db0d1988", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "10px", - "raw": "10px", - "spec": { - "unit": "px", - "magnitude": 10 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-dropdown"] - }, - { - "id": "b63160e4fa89ca92", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "16px", - "raw": "16px", - "spec": { - "unit": "px", - "magnitude": 16 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-modal"] - }, - { - "id": "8c19b1bc74a86de2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "calc(var(--radius) - 4px)", - "raw": "calc(var(--radius) - 4px)", - "spec": { - "source": "calc(var(--radius) - 4px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--radius-sm"] - }, - { - "id": "328d1c0a5503ada8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "calc(var(--radius) - 2px)", - "raw": "calc(var(--radius) - 2px)", - "spec": { - "source": "calc(var(--radius) - 2px)" - }, - "occurrences": 3, - "files_count": 2, - "tokens": ["--radius-md"] - }, - { - "id": "263f41711cb2c39c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "radius", - "value": "calc(var(--radius) + 4px)", - "raw": "calc(var(--radius) + 4px)", - "spec": { - "source": "calc(var(--radius) + 4px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--radius-xl"] - }, - { - "id": "0c6cb3adc0235f59", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "3.25rem", - "raw": "3.25rem", - "spec": { - "unit": "rem", - "magnitude": 3.25 - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--spacing-input"] - }, - { - "id": "29c698075ecfbe57", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "2.75rem", - "raw": "2.75rem", - "spec": { - "unit": "rem", - "magnitude": 2.75 - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--spacing-input-sm", "--spacing-button"] - }, - { - "id": "cd57fd9d54de7599", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "spacing", - "value": "2rem", - "raw": "2rem", - "spec": { - "unit": "rem", - "magnitude": 2 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--spacing-button-sm"] - }, - { - "id": "089b0b33447003ae", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "typography", - "value": "10px", - "raw": "10px", - "spec": { - "unit": "px", - "magnitude": 10 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--text-xxs"] - }, - { - "id": "bf482209afce7396", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "1440px", - "spec": { - "unit": "px", - "magnitude": 1440 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--breakpoint-desktop"] - }, - { - "id": "7dc225d917393f7f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "accordion-down 0.2s ease-out", - "spec": { - "source": "accordion-down 0.2s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-accordion-down"] - }, - { - "id": "ad807c4e3806a40d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "accordion-up 0.2s ease-out", - "spec": { - "source": "accordion-up 0.2s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-accordion-up"] - }, - { - "id": "607a47607337f768", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "caret-blink 1s ease-out infinite", - "spec": { - "source": "caret-blink 1s ease-out infinite" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-caret-blink"] - }, - { - "id": "903a012bc9ce3639", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "scale-in 0.2s ease", - "spec": { - "source": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-scale-in"] - }, - { - "id": "181803ce0bc34ce2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "scale-out 0.15s ease", - "spec": { - "source": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-scale-out"] - }, - { - "id": "18946ed1c65bc69c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "fade-in 0.2s ease", - "spec": { - "source": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-fade-in"] - }, - { - "id": "794ed030c319a750", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "fade-out 0.15s ease", - "spec": { - "source": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-fade-out"] - }, - { - "id": "ad64a3be71771581", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "enter-from-left 0.2s ease", - "spec": { - "source": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-enter-from-left"] - }, - { - "id": "e422a9281bc2701e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "enter-from-right 0.2s ease", - "spec": { - "source": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-enter-from-right"] - }, - { - "id": "a01d3426d61127b2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "exit-to-left 0.2s ease", - "spec": { - "source": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-exit-to-left"] - }, - { - "id": "750b324cc380abbd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "exit-to-right 0.2s ease", - "spec": { - "source": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-exit-to-right"] - }, - { - "id": "f6a632d0f7e5808d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "word-reveal 0.4s ease-out", - "spec": { - "source": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-word-reveal"] - }, - { - "id": "e7b048b9f6b07602", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#ccc", - "raw": "#ccc", - "spec": { - "space": "srgb", - "hex": "#ccc" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "9d8e79104aa8152b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#999", - "raw": "#999", - "spec": { - "space": "srgb", - "hex": "#999" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "a9af66733d1500c5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#444", - "raw": "#444", - "spec": { - "space": "srgb", - "hex": "#444" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "cd4a22c24da29f20", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "kind": "color", - "value": "#666", - "raw": "#666", - "spec": { - "space": "srgb", - "hex": "#666" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - } - ], - "tokens": [ - { - "id": "7e895d3a79db76db", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10, - "files_count": 1, - "kind": "color" - }, - { - "id": "f87b19f4ddb00648", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "4eff9b0df3a82204", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "518809d10168445d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "9c2d151394bbfde8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0d0b219117b5e350", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "9c03c6a168439e5f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b00e061018a0fb1b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "01b2f5425b3a6004", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3df510cfb6d9422e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "c2b8c37c8a161fb6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0965a7d01fd138b6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "8153a71ba8dfc919", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "fcef9e4b0bf28e96", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "249ad09b1ed91742", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "85d97908e5f5f47d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "23f15c41676d5035", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "74762855755a3a92", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "7babbb572216f875", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e172a7fa1ac5463d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "5514ec1f72eb4b5c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 68, - "files_count": 5, - "kind": "radius" - }, - { - "id": "e44719ef3a43fb14", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-accent", - "alias_chain": ["--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 19, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "81d5fbbdc23c68ed", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-accent", - "alias_chain": ["--border-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "ba3abb285a2821a4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-accent", - "alias_chain": ["--text-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "568f61a82040986c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-default", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 23, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "0e5ce24dc36aa43e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-alt", - "alias_chain": ["--background-alt", "--color-gray-50"], - "resolved_value": "#f5f5f5", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-50)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "8692ef5fcb6000c8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-medium", - "alias_chain": ["--background-medium", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-400)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "9f6354712b005a78", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-muted", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 23, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-100)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "b18c197b3a9a76d1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-inverse", - "alias_chain": ["--background-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "5a2277c57bdd207b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-danger", - "alias_chain": ["--background-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 9, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "867c779f7f389c4b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-success", - "alias_chain": ["--background-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "ed17cbd1bfd955c6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-info", - "alias_chain": ["--background-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "8957cb212e290110", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background-warning", - "alias_chain": ["--background-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 9, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "0d9130c7468ab119", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-default", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 21, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "c26f06cd5f1ce294", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-input", - "alias_chain": ["--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 32, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-300)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "5ce3cc441c0ab9ac", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-input-hover", - "alias_chain": ["--border-input-hover", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-400)", - "dark": "var(--color-gray-600)" - } - }, - { - "id": "92fe3115cf60fe08", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-strong", - "alias_chain": ["--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 17, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "bca76bba1bb85d44", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-card", - "alias_chain": ["--border-card", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "f61d6e1462b00e0f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-inverse", - "alias_chain": ["--border-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "58916e560e1c624a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-danger", - "alias_chain": ["--border-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-200)" - } - }, - { - "id": "f6438c2445af2043", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-success", - "alias_chain": ["--border-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-200)" - } - }, - { - "id": "3a8f87f34a1b12a5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-warning", - "alias_chain": ["--border-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-200)" - } - }, - { - "id": "e4dec4bc61e9643e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border-info", - "alias_chain": ["--border-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-200)" - } - }, - { - "id": "1dc644dabcb8f167", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-default", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 29, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "e2f69da46ef990dd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-muted", - "alias_chain": ["--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 17, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-500)", - "dark": "var(--color-gray-500)" - } - }, - { - "id": "25ce2dbcbc79fb9f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-alt", - "alias_chain": ["--text-alt", "--color-gray-600"], - "resolved_value": "#666666", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-600)", - "dark": "var(--color-gray-500)" - } - }, - { - "id": "82c5d56d0e2de29c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-inverse", - "alias_chain": ["--text-inverse", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 19, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "63f8828a77f6aaee", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-danger", - "alias_chain": ["--text-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "97bd480ef7a3c260", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-success", - "alias_chain": ["--text-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "35c1cdad7424dbaf", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-warning", - "alias_chain": ["--text-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "988986b73c03643a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-info", - "alias_chain": ["--text-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "8e011932e52e7b77", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--ring", - "alias_chain": ["--ring", "--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-strong)", - "dark": "var(--border-strong)" - } - }, - { - "id": "3d749496fea3e7dd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.1)", - "dark": "rgba(242, 242, 242, 0.1)" - } - }, - { - "id": "95cda6d279f831b5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.4)", - "dark": "rgba(242, 242, 242, 0.4)" - } - }, - { - "id": "14a6df5eb5678fa4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.04)", - "dark": "rgba(242, 242, 242, 0.04)" - } - }, - { - "id": "27751ab5c1577e72", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 16, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "a61aeb27c51bd551", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - } - }, - { - "id": "0ff240af122098c0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - } - }, - { - "id": "fcb078d8885703de", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "9aeed2b2a2247e5f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 3px 12px rgba(76, 76, 76, 0.22)", - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - } - }, - { - "id": "6aaca668581523cd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 8px 30px rgba(0, 0, 0, 0.12)", - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "27a7452e4f730118", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 20px 60px rgba(0, 0, 0, 0.2)", - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - } - }, - { - "id": "0ef923c5ecd0f068", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "a9fe100ae96fbf51", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - } - }, - { - "id": "f1e5a359760c3057", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8, - "files_count": 1, - "kind": "color" - }, - { - "id": "9bf1e5bc3a853480", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "b245f009071bb541", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "8c74fa50c6a5e180", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "8509f09be87e6801", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#f6b44a", - "dark": "#f6b44a" - } - }, - { - "id": "09294eb1aad97894", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#7585ff", - "dark": "#7585ff" - } - }, - { - "id": "15c51593a6d10390", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#d76a6a", - "dark": "#d76a6a" - } - }, - { - "id": "2a4f825f6c3a7599", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#d185e0", - "dark": "#d185e0" - } - }, - { - "id": "347c590b13654532", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#91cb80", - "dark": "#91cb80" - } - }, - { - "id": "e868397a5881f023", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--background", - "alias_chain": ["--background", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 145, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "0943e0db7ffd02a0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--foreground", - "alias_chain": ["--foreground", "--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "6df11923b106eaf9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--card", - "alias_chain": ["--card", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "84a686ef160a8412", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "f2f47a6014aba340", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--popover", - "alias_chain": ["--popover", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 8, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "e0c2436c7f32f596", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 4, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "262dbd3397c57364", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--primary", - "alias_chain": ["--primary", "--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 7, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--background-accent)", - "dark": "var(--background-accent)" - } - }, - { - "id": "2d7a0dcc81ffefa6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-inverse)", - "dark": "var(--text-inverse)" - } - }, - { - "id": "a2725cfe64b52760", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--secondary", - "alias_chain": ["--secondary", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "135647ddfa4fc7bd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "d26c002a0f7238c5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--muted", - "alias_chain": ["--muted", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "ec41017317c34cb0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--muted-foreground", - "alias_chain": ["--muted-foreground", "--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-muted)", - "dark": "var(--text-muted)" - } - }, - { - "id": "fb09607b6e626eb9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--accent", - "alias_chain": ["--accent", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "e494760b6896a883", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "ccdc69a40a6270e1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200" - ], - "resolved_value": "#f94b4b", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-danger)", - "dark": "var(--background-danger)" - } - }, - { - "id": "a19933a366434217", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "#ffffff", - "dark": "#ffffff" - } - }, - { - "id": "de0e2eae5215a750", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--border", - "alias_chain": ["--border", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 147, - "files_count": 4, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "4e4cfa4e9808e992", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--input", - "alias_chain": ["--input", "--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-input)", - "dark": "var(--border-input)" - } - }, - { - "id": "eab72c5017b79ac0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar", - "alias_chain": ["--sidebar", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 38, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "ce2bc361cf48747f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "6514fb300530df95", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-accent)", - "dark": "var(--background-accent)" - } - }, - { - "id": "d37534cb8849d88d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-inverse)", - "dark": "var(--text-inverse)" - } - }, - { - "id": "30608656c05146c8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100" - ], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "3092fa181b5e0eb2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "840b2f0c215bc81b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200" - ], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "a03b28e84ac1f146", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--sidebar-ring", - "alias_chain": ["--sidebar-ring", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "271ee50ed9043664", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "10e6de14405aa41d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "1aab4f9260c3dd91", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "6e508fed35f00d33", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "b37a9e951b55a9d5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "7534b8d65612a871", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "9a392054a1828a32", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "5f13516c885b2205", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0d14fd1a1d4b86f2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "f83199aee88931d0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ddf57ef80350b24b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "3e52df1e0dac277e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "f0528dd81ee4b662", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "7eb909b333880c70", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "a6f38fdf2d74b588", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "19ef050425f73c7b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0006e5fd6d7a1dc1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "9002f72f78844137", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "222ecabe48c1386e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "a8fed8415424f018", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "bb6f8c54707d5cb8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8f3e38f68ad57b81", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "622fc62fb46e4708", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "b11349fa47dbd6a9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0ea2acc752c40176", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "f1f9bac2000a0b4c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0044d2c9af0af06f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ea69eaefb5221b74", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "95668f493457e877", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "380f7f8cfadaad28", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "71e789f465ca4634", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "7bf3c949e8306e01", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "fa56480bfe36c057", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "b2cf5798e3c5a9be", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "31d3152400399fa9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "1c37249d9abbc0d2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "0.15s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "434e4ccdcc16a6bb", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "0.2s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "3ee3cd4b8da7b2a2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "0.4s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "1c4bffd800fc3425", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "582c62bea0607e66", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8f98648c9e39ffdf", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "69184bd9e5f0a177", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "061e035cf410c918", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "6a62a4159c4649cf", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 21, - "files_count": 3, - "kind": "radius" - }, - { - "id": "8c33a1ba09148e73", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "22fc819007da1f07", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "2447efbb0a435af2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "80ea24aebefd2c46", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "55be2165378aef51", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-sm", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 4px)", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "71e2926b8c659f67", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-md", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 2px)", - "occurrences": 3, - "files_count": 2, - "kind": "radius" - }, - { - "id": "6cac549c5ad2a43b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-lg", - "alias_chain": ["--radius-lg", "--radius"], - "resolved_value": "20px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "4d8f979b0a0f4ff6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--radius-xl", - "alias_chain": [], - "resolved_value": "calc(var(--radius) + 4px)", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "28546ee0e84f87e4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "3.25rem", - "occurrences": 2, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "9b602c2d2aff3b97", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "2e8b83a4b3b13078", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 2, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "70e99c8acc9469e0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "2rem", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "bdf7db54124f9b1a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "efbea902cb90d0a6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1, - "files_count": 1, - "kind": "breakpoint" - }, - { - "id": "9e11a7395c17e48f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "2fc00cb7d120bbfc", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "699adb69e611e572", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "c4181972d46827e7", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "d4e91c367597cf48", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "c21da7a8f807ac30", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "69593937c6afaa33", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "e61a90ed648efd6d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "1150df8475dba7f1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "2f6f833f7e0aaf2a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "f5c44b463d6ae61b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "356a40015aeb5b67", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - } - ], - "components": [ - { - "id": "b4c292807a6ec207", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Accordion", - "discovered_via": "registry.json", - "file": "src/components/ui/accordion.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "50071e60edc4c431", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "AlertDialog", - "discovered_via": "registry.json", - "file": "src/components/ui/alert-dialog.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b386e7a9abfc6bae", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Alert", - "discovered_via": "registry.json", - "file": "src/components/ui/alert.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": ["default", "destructive"], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9ea53a034e456948", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "AspectRatio", - "discovered_via": "registry.json", - "file": "src/components/ui/aspect-ratio.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "441a76d63f7609c4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Avatar", - "discovered_via": "registry.json", - "file": "src/components/ui/avatar.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "79bbc6a52d1375bb", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Badge", - "discovered_via": "registry.json", - "file": "src/components/ui/badge.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [ - "default", - "hover", - "secondary", - "hover", - "destructive", - "hover", - "focus-visible", - "dark", - "focus-visible", - "dark", - "outline", - "hover", - "hover" - ], - "sizes": [], - "occurrences": 1 - }, - { - "id": "afea0442b09ba700", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Breadcrumb", - "discovered_via": "registry.json", - "file": "src/components/ui/breadcrumb.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8afb543e91ebc981", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ButtonGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/button-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9c896a97e18e1de8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Button", - "discovered_via": "registry.json", - "file": "src/components/ui/button.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [ - "default", - "hover", - "destructive", - "hover", - "focus-visible", - "dark", - "focus-visible", - "dark", - "outline", - "hover", - "secondary", - "hover", - "ghost", - "hover", - "dark", - "hover", - "link", - "hover" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"], - "occurrences": 1 - }, - { - "id": "9c4543801ce44f8c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Calendar", - "discovered_via": "registry.json", - "file": "src/components/ui/calendar.tsx", - "group": "ui", - "categories": ["display", "input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a042f6d09c362be5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Card", - "discovered_via": "registry.json", - "file": "src/components/ui/card.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "678c11fcb1b5d9f0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Carousel", - "discovered_via": "registry.json", - "file": "src/components/ui/carousel.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "124f3d2585f342f3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Chart", - "discovered_via": "registry.json", - "file": "src/components/ui/chart.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "69e38568ed0a8701", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Checkbox", - "discovered_via": "registry.json", - "file": "src/components/ui/checkbox.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "eac501133c1d3aff", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Collapsible", - "discovered_via": "registry.json", - "file": "src/components/ui/collapsible.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4325bd0688aa9dd5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Command", - "discovered_via": "registry.json", - "file": "src/components/ui/command.tsx", - "group": "ui", - "categories": ["input", "navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5221f1b89b405750", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ContextMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/context-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3f8af9726f18bc09", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Dialog", - "discovered_via": "registry.json", - "file": "src/components/ui/dialog.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f32341755cd218c3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Drawer", - "discovered_via": "registry.json", - "file": "src/components/ui/drawer.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6d31b37a6f326482", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "DropdownMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/dropdown-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "843f511dcb4348bd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Form", - "discovered_via": "registry.json", - "file": "src/components/ui/form.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b7b3d401537f2ab3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "HoverCard", - "discovered_via": "registry.json", - "file": "src/components/ui/hover-card.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1555a5e2a2751f00", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "InputGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/input-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "22451f8756741817", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "InputOtp", - "discovered_via": "registry.json", - "file": "src/components/ui/input-otp.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3b3deee34c77de01", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Input", - "discovered_via": "registry.json", - "file": "src/components/ui/input.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "089ff69d37363449", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Label", - "discovered_via": "registry.json", - "file": "src/components/ui/label.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8e8a150d565e0c6d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Menubar", - "discovered_via": "registry.json", - "file": "src/components/ui/menubar.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e1117f5d3d912345", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "NavigationMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/navigation-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "515018b9f765854e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Pagination", - "discovered_via": "registry.json", - "file": "src/components/ui/pagination.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5ab98d143b6d8c46", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Popover", - "discovered_via": "registry.json", - "file": "src/components/ui/popover.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "eb10245957fb6b2b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Progress", - "discovered_via": "registry.json", - "file": "src/components/ui/progress.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b4b871c8874f2cf0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "RadioGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/radio-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9b8956d4e8802892", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Resizable", - "discovered_via": "registry.json", - "file": "src/components/ui/resizable.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8ed7995b41c8b8e1", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ScrollArea", - "discovered_via": "registry.json", - "file": "src/components/ui/scroll-area.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "06469692752d09ef", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Select", - "discovered_via": "registry.json", - "file": "src/components/ui/select.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "af24d92c513e3479", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Separator", - "discovered_via": "registry.json", - "file": "src/components/ui/separator.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9496bb74a923f87f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Sheet", - "discovered_via": "registry.json", - "file": "src/components/ui/sheet.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3654d80fd71b9012", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Sidebar", - "discovered_via": "registry.json", - "file": "src/components/ui/sidebar.tsx", - "group": "ui", - "categories": ["navigation", "layout"], - "exports": [], - "variants": ["default", "hover", "hover", "outline", "hover", "hover"], - "sizes": ["default", "sm", "lg"], - "occurrences": 1 - }, - { - "id": "ea97cab589823803", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Skeleton", - "discovered_via": "registry.json", - "file": "src/components/ui/skeleton.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d5751bd70fa03983", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Slider", - "discovered_via": "registry.json", - "file": "src/components/ui/slider.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "906f10ad5120baf8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Sonner", - "discovered_via": "registry.json", - "file": "src/components/ui/sonner.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c632b462f00c849c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Spinner", - "discovered_via": "registry.json", - "file": "src/components/ui/spinner.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5c5a4b734ccd65c3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Switch", - "discovered_via": "registry.json", - "file": "src/components/ui/switch.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "591ff46710fa3cde", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Table", - "discovered_via": "registry.json", - "file": "src/components/ui/table.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "02ecae35bdc4153a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Tabs", - "discovered_via": "registry.json", - "file": "src/components/ui/tabs.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5cf9e3b7a3cfdaea", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Textarea", - "discovered_via": "registry.json", - "file": "src/components/ui/textarea.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1e19b89427c572b8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ToggleGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/toggle-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a8e81e6165e6168c", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Toggle", - "discovered_via": "registry.json", - "file": "src/components/ui/toggle.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": ["default", "outline", "hover", "hover"], - "sizes": ["default", "sm", "lg"], - "occurrences": 1 - }, - { - "id": "194eb835a8b2bcff", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Tooltip", - "discovered_via": "registry.json", - "file": "src/components/ui/tooltip.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "cb0d33d2c64a66b5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Agent", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/agent.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Agent", - "AgentHeader", - "AgentContent", - "AgentInstructions", - "AgentTools", - "AgentTool", - "AgentOutput" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ce1903c42d2b5871", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Artifact", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/artifact.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Artifact", - "ArtifactHeader", - "ArtifactClose", - "ArtifactTitle", - "ArtifactDescription", - "ArtifactActions", - "ArtifactAction", - "ArtifactContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "dd9730cebb4f1fc9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Attachments", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/attachments.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "chat"], - "exports": [ - "Attachments", - "Attachment", - "AttachmentPreview", - "AttachmentInfo", - "AttachmentRemove", - "AttachmentHoverCard", - "AttachmentHoverCardTrigger", - "AttachmentHoverCardContent", - "AttachmentEmpty" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "729b080ebf22eca8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "AudioPlayer", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/audio-player.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": [ - "AudioPlayer", - "AudioPlayerElement", - "AudioPlayerControlBar", - "AudioPlayerPlayButton", - "AudioPlayerSeekBackwardButton", - "AudioPlayerSeekForwardButton", - "AudioPlayerTimeDisplay", - "AudioPlayerTimeRange", - "AudioPlayerDurationDisplay", - "AudioPlayerMuteButton", - "AudioPlayerVolumeRange" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8fce52c387bc0830", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Canvas", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/canvas.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Canvas"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "69327c540f5e22ea", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ChainOfThought", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/chain-of-thought.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "ChainOfThought", - "ChainOfThoughtHeader", - "ChainOfThoughtStep", - "ChainOfThoughtSearchResults", - "ChainOfThoughtSearchResult", - "ChainOfThoughtContent", - "ChainOfThoughtImage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7f993f29724e6037", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Checkpoint", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/checkpoint.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": ["Checkpoint", "CheckpointIcon", "CheckpointTrigger"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "fe870b653fae7508", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "CodeBlock", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/code-block.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "CodeBlockContainer", - "CodeBlockHeader", - "CodeBlockTitle", - "CodeBlockFilename", - "CodeBlockActions", - "CodeBlockContent", - "CodeBlock", - "CodeBlockCopyButton", - "CodeBlockLanguageSelector", - "CodeBlockLanguageSelectorTrigger", - "CodeBlockLanguageSelectorValue", - "CodeBlockLanguageSelectorContent", - "CodeBlockLanguageSelectorItem" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4c7cc53e924d10ec", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Commit", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/commit.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Commit", - "CommitHeader", - "CommitHash", - "CommitMessage", - "CommitMetadata", - "CommitSeparator", - "CommitInfo", - "CommitAuthor", - "CommitAuthorAvatar", - "CommitTimestamp", - "CommitActions", - "CommitCopyButton", - "CommitContent", - "CommitFiles", - "CommitFile", - "CommitFileInfo", - "CommitFileStatus", - "CommitFileIcon", - "CommitFilePath", - "CommitFileChanges", - "CommitFileAdditions", - "CommitFileDeletions" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "84d647e14840dd8e", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Confirmation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/confirmation.tsx", - "group": "ai-elements", - "categories": ["ai", "feedback"], - "exports": [ - "Confirmation", - "ConfirmationTitle", - "ConfirmationRequest", - "ConfirmationAccepted", - "ConfirmationRejected", - "ConfirmationActions", - "ConfirmationAction" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a3400bcb7ececeba", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Connection", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/connection.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Connection"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "02f10d16ea6672fd", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Context", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/context.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Context", - "ContextTrigger", - "ContextContent", - "ContextContentHeader", - "ContextContentBody", - "ContextContentFooter", - "ContextInputUsage", - "ContextOutputUsage", - "ContextReasoningUsage", - "ContextCacheUsage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ebf518f1aa3de918", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Controls", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/controls.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Controls"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5407f8b5be2c8719", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Conversation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/conversation.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "Conversation", - "ConversationContent", - "ConversationEmptyState", - "ConversationScrollButton", - "ConversationDownload" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "13c86ac4e1931302", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Edge", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/edge.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Edge"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0be7c75f477103ee", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "EnvironmentVariables", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/environment-variables.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "EnvironmentVariables", - "EnvironmentVariablesHeader", - "EnvironmentVariablesTitle", - "EnvironmentVariablesToggle", - "EnvironmentVariablesContent", - "EnvironmentVariableGroup", - "EnvironmentVariableName", - "EnvironmentVariableValue", - "EnvironmentVariable", - "EnvironmentVariableCopyButton", - "EnvironmentVariableRequired" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f705ce13f6940e6f", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "FileTree", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/file-tree.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "FileTree", - "FileTreeIcon", - "FileTreeName", - "FileTreeFolder", - "FileTreeFile", - "FileTreeActions" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a60585981206d075", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Image", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/image.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": ["Image"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1dc1c93a5f757cf0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "InlineCitation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/inline-citation.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "InlineCitation", - "InlineCitationText", - "InlineCitationCard", - "InlineCitationCardTrigger", - "InlineCitationCardBody", - "InlineCitationCarousel", - "InlineCitationCarouselContent", - "InlineCitationCarouselItem", - "InlineCitationCarouselHeader", - "InlineCitationCarouselIndex", - "InlineCitationCarouselPrev", - "InlineCitationCarouselNext", - "InlineCitationSource", - "InlineCitationQuote" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "00bd9a384fc71a48", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "JsxPreview", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/jsx-preview.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": ["JSXPreview", "JSXPreviewContent", "JSXPreviewError"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7488be7a27a04976", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Message", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/message.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "Message", - "MessageContent", - "MessageActions", - "MessageAction", - "MessageBranch", - "MessageBranchContent", - "MessageBranchSelector", - "MessageBranchPrevious", - "MessageBranchNext", - "MessageBranchPage", - "MessageResponse", - "MessageToolbar" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1be8680f445ab0a9", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "MicSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/mic-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": [ - "MicSelector", - "MicSelectorTrigger", - "MicSelectorContent", - "MicSelectorInput", - "MicSelectorList", - "MicSelectorEmpty", - "MicSelectorItem", - "MicSelectorLabel", - "MicSelectorValue" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ba6a3fe9e2e55b53", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "ModelSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/model-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input"], - "exports": [ - "ModelSelector", - "ModelSelectorTrigger", - "ModelSelectorContent", - "ModelSelectorDialog", - "ModelSelectorInput", - "ModelSelectorList", - "ModelSelectorEmpty", - "ModelSelectorGroup", - "ModelSelectorItem", - "ModelSelectorShortcut", - "ModelSelectorSeparator", - "ModelSelectorLogo", - "ModelSelectorLogoGroup", - "ModelSelectorName" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "16effeca67132627", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Node", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/node.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": [ - "Node", - "NodeHeader", - "NodeTitle", - "NodeDescription", - "NodeAction", - "NodeContent", - "NodeFooter" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "83756f5ac9da98f5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "OpenInChat", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/open-in-chat.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "OpenIn", - "OpenInContent", - "OpenInItem", - "OpenInLabel", - "OpenInSeparator", - "OpenInTrigger", - "OpenInChatGPT", - "OpenInClaude", - "OpenInT3", - "OpenInScira", - "OpenInv0", - "OpenInCursor" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "97b7fcf1b9da3781", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "PackageInfo", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/package-info.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "PackageInfoHeader", - "PackageInfoName", - "PackageInfoChangeType", - "PackageInfoVersion", - "PackageInfo", - "PackageInfoDescription", - "PackageInfoContent", - "PackageInfoDependencies", - "PackageInfoDependency" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1490539633b1d42b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Panel", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/panel.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Panel"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "217dde7d1aac3d11", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Persona", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/persona.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": ["Persona"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2b7ed8090b3e3a27", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Plan", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/plan.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Plan", - "PlanHeader", - "PlanTitle", - "PlanDescription", - "PlanAction", - "PlanContent", - "PlanFooter", - "PlanTrigger" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e0fefc4cec7ce8f4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "PromptInput", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/prompt-input.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "chat"], - "exports": [ - "PromptInputProvider", - "LocalReferencedSourcesContext", - "PromptInputActionAddAttachments", - "PromptInputActionAddScreenshot", - "PromptInput", - "PromptInputBody", - "PromptInputTextarea", - "PromptInputHeader", - "PromptInputFooter", - "PromptInputTools", - "PromptInputButton", - "PromptInputActionMenu", - "PromptInputActionMenuTrigger", - "PromptInputActionMenuContent", - "PromptInputActionMenuItem", - "PromptInputSubmit", - "PromptInputSelect", - "PromptInputSelectTrigger", - "PromptInputSelectContent", - "PromptInputSelectItem", - "PromptInputSelectValue", - "PromptInputHoverCard", - "PromptInputHoverCardTrigger", - "PromptInputHoverCardContent", - "PromptInputTabsList", - "PromptInputTab", - "PromptInputTabLabel", - "PromptInputTabBody", - "PromptInputTabItem", - "PromptInputCommand", - "PromptInputCommandInput", - "PromptInputCommandList", - "PromptInputCommandEmpty", - "PromptInputCommandGroup", - "PromptInputCommandItem", - "PromptInputCommandSeparator" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "279cd6998477113b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Queue", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/queue.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "QueueItem", - "QueueItemIndicator", - "QueueItemContent", - "QueueItemDescription", - "QueueItemActions", - "QueueItemAction", - "QueueItemAttachment", - "QueueItemImage", - "QueueItemFile", - "QueueList", - "QueueSection", - "QueueSectionTrigger", - "QueueSectionLabel", - "QueueSectionContent", - "Queue" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c873ce9eed9612c2", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Reasoning", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/reasoning.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": ["Reasoning", "ReasoningTrigger", "ReasoningContent"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1d1f55d75943d44a", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Sandbox", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/sandbox.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Sandbox", - "SandboxHeader", - "SandboxContent", - "SandboxTabs", - "SandboxTabsBar", - "SandboxTabsList", - "SandboxTabsTrigger", - "SandboxTabContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "87fc68c45db10fe4", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "SchemaDisplay", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/schema-display.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "SchemaDisplayHeader", - "SchemaDisplayMethod", - "SchemaDisplayPath", - "SchemaDisplayDescription", - "SchemaDisplayContent", - "SchemaDisplayParameter", - "SchemaDisplayParameters", - "SchemaDisplayProperty", - "SchemaDisplayRequest", - "SchemaDisplayResponse", - "SchemaDisplay", - "SchemaDisplayBody", - "SchemaDisplayExample" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c0fcaa66693dc034", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Shimmer", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/shimmer.tsx", - "group": "ai-elements", - "categories": ["ai", "feedback"], - "exports": ["Shimmer"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "282adb5c94937230", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Snippet", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/snippet.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Snippet", - "SnippetAddon", - "SnippetText", - "SnippetInput", - "SnippetCopyButton" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ce05a44e8ed1e137", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Sources", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/sources.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": ["Sources", "SourcesTrigger", "SourcesContent", "Source"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "14a746d52465d8c6", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "SpeechInput", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/speech-input.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": ["SpeechInput"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a58e7f7692b94661", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "StackTrace", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/stack-trace.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "StackTrace", - "StackTraceHeader", - "StackTraceError", - "StackTraceErrorType", - "StackTraceErrorMessage", - "StackTraceActions", - "StackTraceCopyButton", - "StackTraceExpandButton", - "StackTraceContent", - "StackTraceFrames" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d310d31e3dada0a5", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Suggestion", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/suggestion.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": ["Suggestions", "Suggestion"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d5a78dc3682f5ff0", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Task", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/task.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "TaskItemFile", - "TaskItem", - "Task", - "TaskTrigger", - "TaskContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4104ed0e02ddbd47", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Terminal", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/terminal.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "TerminalHeader", - "TerminalTitle", - "TerminalStatus", - "TerminalActions", - "TerminalCopyButton", - "TerminalClearButton", - "TerminalContent", - "Terminal" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "cff7977c20f8dde3", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "TestResults", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/test-results.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "TestResultsHeader", - "TestResultsDuration", - "TestResultsSummary", - "TestResults", - "TestResultsProgress", - "TestResultsContent", - "TestSuite", - "TestSuiteName", - "TestSuiteStats", - "TestSuiteContent", - "TestName", - "TestDuration", - "TestStatus", - "Test", - "TestError", - "TestErrorMessage", - "TestErrorStack" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1a73102ccfefb03b", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Tool", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/tool.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Tool", - "ToolHeader", - "ToolContent", - "ToolInput", - "ToolOutput" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "27dea4919bdadcf8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Toolbar", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/toolbar.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Toolbar"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8347297224fca95d", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Transcription", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/transcription.tsx", - "group": "ai-elements", - "categories": ["ai", "chat", "media"], - "exports": ["Transcription", "TranscriptionSegment"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "149798644b2091fa", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "VoiceSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/voice-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": [ - "VoiceSelector", - "VoiceSelectorTrigger", - "VoiceSelectorContent", - "VoiceSelectorDialog", - "VoiceSelectorInput", - "VoiceSelectorList", - "VoiceSelectorEmpty", - "VoiceSelectorGroup", - "VoiceSelectorItem", - "VoiceSelectorShortcut", - "VoiceSelectorSeparator", - "VoiceSelectorGender", - "VoiceSelectorAccent", - "VoiceSelectorAge", - "VoiceSelectorName", - "VoiceSelectorDescription", - "VoiceSelectorAttributes", - "VoiceSelectorBullet", - "VoiceSelectorPreview" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e35383f8c0145e15", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "WebPreview", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/web-preview.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": [ - "WebPreview", - "WebPreviewNavigation", - "WebPreviewNavigationButton", - "WebPreviewUrl", - "WebPreviewBody", - "WebPreviewConsole" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - } - ], - "ui_surfaces": [ - { - "id": "975e45bf3ff7dbc8", - "source": { - "target": "block/ghost@packages/ghost-ui", - "scanned_at": "2026-04-30T00:00:00Z" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-4/NOTES.md b/dogfood/ghost-ui/attempt-4/NOTES.md deleted file mode 100644 index 7a806988..00000000 --- a/dogfood/ghost-ui/attempt-4/NOTES.md +++ /dev/null @@ -1,45 +0,0 @@ -# Attempt 4 - ghost-ui scan, 2026-05-01 (terminal-context tightening) - -Dogfood scan after adding source graph provenance, check curation guidance, and sharper emitted terminal context. Target is still `packages/ghost-ui`; this pass checks that the broader survey remains useful while the promoted fingerprint checks become the compact contract. - -## Artifacts - -| Artifact | Result | -|---|---:| -| `map.md` | `ghost.map/v1` with `subject`, `sources[]`, and `surface_sources` | -| `survey.json` | 101 values, 169 tokens, 97 components, 1 UI surface | -| `fingerprint.md` | 7 promoted checks with `support`, `enforce_at`, and `observed_count` | - -`survey.json` source provenance records `ghost-ui` as the primary source, target `block/ghost@packages/ghost-ui`, commit `83c2b64`, scan time `2026-05-01T17:51:23Z`, and scanner version `dogfood-attempt-4`. - -## Validation - -```bash -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-4/map.md -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-4/survey.json -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-4/fingerprint.md -``` - -All three return `0 error(s), 0 warning(s), 0 info`. - -```bash -node packages/ghost-drift/dist/bin.js compare dogfood/ghost-ui/attempt-4/fingerprint.md dogfood/ghost-ui/attempt-4/fingerprint.md -``` - -Self-distance is `0.0%`, as expected. - -## Terminal-output check - -`emit context-bundle --prompt-only` now produces a prompt with: - -- Character first. -- Non-negotiable promoted checks sorted by computed severity. -- Decisions as generation direction. -- Defaults/avoids and token lists. -- No instruction to cite decisions in generated UI. - -`emit review-command` renders the checks-driven path with 2 Critical, 4 Serious, and 1 Nit check. Presence-floor escalation correctly moves `no-decorative-motion` from rhythmic to Serious because `observed_count: 0` crosses `presence_floor: 4`. - -## Follow-up found and fixed - -The dogfood caught a wording bug in the review-command calibration footer: it reported base prior counts after rendering escalated severity groups, which made the footer disagree with the visible sections. The emitter now reports final Critical/Serious/Nit counts first, then the base prior counts before escalation. diff --git a/dogfood/ghost-ui/attempt-4/fingerprint.md b/dogfood/ghost-ui/attempt-4/fingerprint.md deleted file mode 100644 index 6e631a61..00000000 --- a/dogfood/ghost-ui/attempt-4/fingerprint.md +++ /dev/null @@ -1,329 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-05-01T17:51:23Z -sources: - - block/ghost@packages/ghost-ui -observation: - personality: - - monochromatic - - editorial - - restrained - - pill-shaped - - magazine-like - - themeable - resembles: - - Vercel Geist - - Linear - - Apple Human Interface Guidelines -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: shape-language - - dimension: typography-voice - - dimension: elevation - - dimension: spatial-system - - dimension: motion - - dimension: theming-architecture - - dimension: interactive-patterns - - dimension: density - - dimension: font-sourcing -checks: - - id: no-off-palette-hex - canonical: color-strategy - kind: color - summary: Hex literals must come from the documented palette - rationale: >- - Default theme is achromatic — chromatic colors are reserved for - semantic states (danger, success, info, warning) and chart data. - Any new hex literal is drift unless it lands in the palette. - pattern: '#[0-9a-fA-F]{3,8}' - enforce_at: [className, css_var, inline_style] - support: 0.94 - observed_count: 34 - - id: pill-interactives - canonical: shape-language - kind: radius - summary: Buttons, inputs, and badges must be fully rounded - rationale: >- - Pill-first radius philosophy separates interactive from structural - surfaces — interactive elements fully round (999px), while cards and - modals use moderate radii (10–24px). - pattern: '<(Button|Input|Badge)\b[^>]*\brounded-(?!full|pill)' - enforce_at: [className] - support: 0.97 - observed_count: 97 - - id: structural-radius-set - canonical: shape-language - kind: radius - summary: Container radii must come from the canonical set - rationale: >- - Cards, modals, and dropdowns use named moderate radii (10/14/16/20/24px). - Arbitrary radius values break the shape vocabulary. - pattern: 'rounded-\[\d+px\]|border-radius:\s*\d+px' - enforce_at: [className, css_var, inline_style] - support: 0.91 - observed_count: 9 - - id: no-foreign-fonts - canonical: font-sourcing - kind: type-family - summary: Do not bundle additional typefaces - rationale: >- - Library ships no bundled fonts — system-ui sans, Geist Mono, and a - generic serif fallback. Adding @font-face or importing a webfont - crosses the font-sourcing decision. - pattern: '@import\s+url\([^)]*fonts' - enforce_at: [css_var, inline_style] - presence_floor: 0 - support: 1.0 - observed_count: 0 - - id: type-on-ramp - canonical: typography-voice - kind: type-size - summary: Font sizes must come from the magazine ramp - rationale: >- - Type ramp runs from 10px (label kicker) up through clamp-bounded - display sizes (96px max). Sizes outside the ramp break the - editorial rhythm. - pattern: 'text-\[\d+px\]|font-size:\s*\d+px' - enforce_at: [className, css_var, inline_style] - support: 0.93 - observed_count: 28 - - id: no-decorative-motion - canonical: motion - kind: motion - summary: No decorative or hover-only animations - rationale: >- - Animations exist for structural reveals (accordion, scale-in, fade, - word-reveal) and entrance transitions, never for decorative - micro-interactions. The editorial tone stays serious. - pattern: 'transition:\s*all\b|animate-(?!none)\w+' - enforce_at: [className, css_var, inline_style] - presence_floor: 4 - support: 0.86 - observed_count: 0 - - id: spacing-on-scale - canonical: spatial-system - kind: spacing - summary: Padding, margin, and gap must come from the 4px-base scale - rationale: >- - Component-height tokens land at 32/44/52px; layout rhythm at - 20/24/75/100px. Off-scale spacing breaks the layout rhythm; small - drift (±2px) is tolerated. - pattern: '\b(p|m|gap)-\[\d+px\]' - enforce_at: [className, css_var, inline_style] - support: 0.88 - observed_count: 7 -palette: - dominant: - - role: primary - value: "#1a1a1a" - - role: background - value: "#ffffff" - - role: inverse - value: "#000000" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#000000" - count: 12 - semantic: - - role: surface-default - value: "#ffffff" - - role: surface-alt - value: "#f5f5f5" - - role: surface-muted - value: "#f0f0f0" - - role: surface-dark - value: "#0a0a0a" - - role: danger - value: "#f94b4b" - - role: success - value: "#91cb80" - - role: info - value: "#5c98f9" - - role: warning - value: "#fbcd44" - - role: text-default - value: "#1a1a1a" - - role: text-muted - value: "#999999" - - role: text-alt - value: "#666666" - - role: border-default - value: "#e8e8e8" - - role: border-input - value: "#e5e5e5" - - role: border-strong - value: "#1a1a1a" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - saturationProfile: muted - contrast: high -spacing: - scale: [20, 32, 44, 52, 75, 100] - regularity: 0.5 - baseUnit: null -typography: - families: - - system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif - - Geist Mono, monospace - - serif - sizeRamp: [10, 11, 16, 20, 24, 28, 40, 44, 48, 64, 96, 192] - weightDistribution: - "300": 1 - "600": 4 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [10, 14, 16, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate ---- - -# Character - -A monochromatic, magazine-inspired design language that treats color as communication rather than decoration. The default palette is entirely achromatic — near-black on white — with hue reserved for semantic states (danger, success, info, warning) and chart data. Pill-shaped interactive elements contrast with moderately rounded containers, and display typography pushes ultra-tight line-heights (0.85–0.88) with heavy negative tracking for an editorial spread aesthetic. The system ships no bundled typefaces and is fully themeable at runtime through CSS custom property injection, with five non-default preset themes that prove the base architecture's range. - -# Decisions - -### color-strategy - -Treat hue as opt-in communication, not ambient decoration — the default theme is pure achromatic, so every bit of chromatic color that appears carries semantic meaning (danger, success, info, warning, chart). Brand personality is expressed through luminance contrast and shape, which makes the system maximally themeable without color conflicts. - -**Evidence:** -- `--color-gray-50: #f5f5f5 through --color-gray-900: #1a1a1a (pure monochromatic scale, src/styles/main.css:18-27)` -- `--color-white: #ffffff, --color-black: #000000 (src/styles/main.css:14-15)` -- `--background-accent: var(--color-gray-900) — accent maps to the extremity of the gray scale, not a brand hue` -- `Chromatic tokens reserved for state: --color-red-200: #f94b4b, --color-green-200: #91cb80, --color-blue-200: #5c98f9, --color-yellow-200: #fbcd44` -- `Chart palette introduces warm/varied hues only for data: --chart-1: #f6b44a, --chart-2: #7585ff, --chart-3: #d76a6a, --chart-4: #d185e0, --chart-5: #91cb80` - -### surface-hierarchy - -Name surfaces by intent rather than by shade number — backgrounds, borders, and text each have their own semantic vocabulary (default, alt, muted, medium, inverse, accent, strong) decoupling usage intent from visual weight. A theme preset can remap all values without breaking component logic. - -**Evidence:** -- `--background-default: var(--color-white), --background-alt: var(--color-gray-50) (#f5f5f5), --background-muted: var(--color-gray-100) (#f0f0f0), --background-medium: var(--color-gray-400) (#cccccc), --background-inverse: var(--color-black)` -- `--border-default: var(--color-gray-200) (#e8e8e8), --border-input: var(--color-gray-300) (#e5e5e5), --border-strong: var(--color-gray-900) (#1a1a1a)` -- `--text-default: var(--color-gray-900), --text-alt: var(--color-gray-600) (#666666), --text-muted: var(--color-gray-500) (#999999)` -- `Dark mode inverts the mapping at .dark scope: --background-default: var(--color-black), --text-default: var(--color-white) (src/styles/main.css:230-253)` -- `Dark-mode mids draw from --color-gray-700 (#333333) and --color-gray-800 (#232323) for borders and alt surfaces (src/styles/main.css:231-244)` -- `--surface-dark: #0a0a0a is reserved for dark surface treatments regardless of mode` - -### shape-language - -Apply a pill-first radius philosophy that visually separates interactive from structural surfaces — buttons, inputs, and badges fully round to 999px, while cards, modals, and dropdowns use moderate radii (10–24px). Users intuit what is tappable versus what is container. - -**Evidence:** -- `--radius-pill: 999px, --radius-button: 999px, --radius-input: 999px (src/styles/main.css:376-378)` -- `--radius-card: 20px, --radius-card-lg: 24px, --radius-card-sm: 14px, --radius-modal: 16px, --radius-dropdown: 10px (src/styles/main.css:379-383)` -- `Button: rounded-full (src/components/ui/button.tsx)` -- `Badge: rounded-pill (src/components/ui/badge.tsx)` -- `Input: rounded-input (src/components/ui/input.tsx)` -- `Card: rounded-card (src/components/ui/card.tsx)` - -### typography-voice - -Use a magazine-scale type hierarchy where display headings are dramatically tight (sub-1.0 line-heights, heavy negative tracking) and body text is relaxed for long-form readability. The rhythm alternates between bold editorial impact and comfortable reading, with uppercase label type providing a byline voice between them. - -**Evidence:** -- `--heading-display-font-size: clamp(64px, 8vw, 96px), line-height 0.88, letter-spacing -0.05em, weight 900` -- `--heading-section-font-size: clamp(44px, 5vw, 64px), line-height 0.95, letter-spacing -0.035em, weight 700` -- `--display-size: clamp(3rem, 12vw, 12rem), line-height 0.85, letter-spacing -0.05em` -- `--body-reading-size: clamp(1rem, 1.3vw, 1.25rem), line-height 1.65, letter-spacing -0.01em` -- `--label-font-size: 11px, letter-spacing 0.12em, weight 600 — uppercase kicker type` -- `--pullquote-weight: 300, line-height 1.3 — light contrast voice for editorial punctuation` -- `--text-xxs: 10px — caption / micro tier` - -### elevation - -Name shadows by structural role rather than by intensity level, and double shadow opacity in dark mode rather than removing them. Depth cues stay legible on dark surfaces, and designers get a vocabulary tied to component context instead of a numeric scale. - -**Evidence:** -- `--shadow-mini: 0 2px 8px rgba(76, 76, 76, 0.15); --shadow-btn, --shadow-card, --shadow-kbd share the mini tier` -- `--shadow-elevated: 0 3px 12px rgba(76, 76, 76, 0.22), --shadow-popover: 0 8px 30px rgba(0, 0, 0, 0.12), --shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.2)` -- `Dark mode doubles intensity: --shadow-mini: 0 2px 8px rgba(0, 0, 0, 0.4), --shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.6) (src/styles/main.css:270-277)` -- `Card applies hover:shadow-card as an interaction cue (src/components/ui/card.tsx)` - -### spatial-system - -Prefer explicit component-height tokens over padding arithmetic — interactive elements declare fixed heights via `--spacing-button` (44px) / `--spacing-button-sm` (32px) / `--spacing-input` (52px) / `--spacing-input-sm` (44px), while page sections use lavish vertical padding. Button/input sizing is decoupled from surrounding layout, yielding a compact-controls / spacious-layout composition. - -**Evidence:** -- `--spacing-input: 3.25rem (52px), --spacing-input-sm: 2.75rem (44px), --spacing-button: 2.75rem (44px), --spacing-button-sm: 2rem (32px) (src/styles/main.css:404-407)` -- `--page-container-max-width: 1440px, --page-container-side-gutter: 20px` -- `--section-padding-vertical: 100px, --section-heading-margin-bottom: 75px` -- `Card gap-6 py-6, CardHeader/CardContent px-6 — uniform 24px internal rhythm via Tailwind defaults` - -### motion - -Keep transitions functional and brief — three duration tiers (fast/normal/slow) with a single spring easing. Animations exist for structural reveals (accordion, scale-in, fade, word-reveal) and entrance transitions, not for decorative micro-interactions — the editorial tone stays serious. - -**Evidence:** -- `--duration-fast: 0.15s, --duration-normal: 0.2s, --duration-slow: 0.4s` -- `--ease-spring: cubic-bezier(0.33, 1, 0.68, 1) — single easing for all transitions` -- `--animate-accordion-down/up, --animate-scale-in/out, --animate-fade-in/out, --animate-enter-from-left/right, --animate-exit-to-left/right, --animate-word-reveal — all structural, no decorative hovers (src/styles/main.css:428-439)` -- `@keyframes word-reveal: blur(8px) translateY(10px) → clear — editorial text entrance` - -### theming-architecture - -Cascade three layers — semantic variables → shadcn aliases → Tailwind `@theme inline` — so the entire visual language can be swapped at runtime through CSS custom property injection without modifying component code. Six bundled presets (default plus five overrides) validate that shape, color, and contrast can all be remapped. - -**Evidence:** -- `Layered cascade: --background-accent (semantic) → --primary: var(--background-accent) (shadcn alias) → --color-primary: var(--primary) (@theme inline Tailwind mapping)` -- `PRESETS array defines 6 themes: default, warm-sand, ocean, midnight-luxe, neon-brutalist, soft-pastel (src/lib/theme-presets.ts:17)` -- `Neon Brutalist preset overrides every --radius-* to 0px, demonstrating shape is also themeable` -- `Dark mode cascades through the same semantic variables — component code never branches on theme` -- `src/styles/main.css:11 resets --color-*: initial so only declared tokens emit Tailwind colors` - -### interactive-patterns - -Standardize focus states as a subtle 1px ring at half opacity using the ring-ring token, applied uniformly across Button/Input/Badge and reinforced by a global `*:focus-visible` fallback. Browser default outlines are replaced with a consistent, theme-aware indicator that works in both light and dark modes. - -**Evidence:** -- `Button: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/button.tsx)` -- `Input: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/input.tsx)` -- `Badge: focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[1px] (src/components/ui/badge.tsx)` -- `--ring: var(--border-strong) — resolves to #1a1a1a (light) / #ffffff (dark)` -- `Global fallback: *:not(body):not(.focus-override):focus-visible applies ring-2 ring-offset-1 (src/styles/main.css:659-664)` - -### density - -Maintain compact interactive controls inside generous structural whitespace — buttons and inputs sit in a 32–52px height range with text-sm bodies, while page sections and cards use lavish padding (100px vertical sections, 24px card rhythm). The result is a publishing-oriented reading rhythm, not a dense tool-UI feel. - -**Evidence:** -- `Compact controls: --spacing-button-sm: 32px through --spacing-input: 52px; Badge px-2 py-0.5 (8px/2px)` -- `Spacious containers: Card gap-6 py-6 px-6 (24px rhythm)` -- `--section-padding-vertical: 100px, --section-heading-margin-bottom: 75px — editorial page whitespace` -- `--body-reading-size: clamp(1rem, 1.3vw, 1.25rem), line-height 1.65 — longform reading optimization` -- `Type ramp runs 10px through 192px (clamp upper bound) but body copy stays at text-sm for UI chrome` - -### font-sourcing - -Ship no bundled typefaces. The system declares a system-ui sans stack, `Geist Mono` with a monospace fallback, and a generic `serif` — typography responsibility moves to the consumer. The visual language adapts to the host platform's default face, which keeps the library dependency-free and lets hosts impose their own brand font without overriding. - -**Evidence:** -- `src/styles/font-faces.css is intentionally empty — single comment, no @font-face declarations` -- `--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif (src/styles/main.css:368)` -- `--font-display aliases the sans stack — no separate display face is assumed` -- `--font-mono: "Geist Mono", monospace — named preference with generic fallback` -- `--font-serif: serif — generic fallback only` diff --git a/dogfood/ghost-ui/attempt-4/map.md b/dogfood/ghost-ui/attempt-4/map.md deleted file mode 100644 index 3ee08273..00000000 --- a/dogfood/ghost-ui/attempt-4/map.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -subject: - id: ghost-ui - target: block/ghost@packages/ghost-ui -sources: - - id: ghost-ui - role: primary - target: block/ghost@packages/ghost-ui - paths: - - packages/ghost-ui -mapped_at: 2026-05-01 -platform: web -languages: - - { name: typescript, files: 115, share: 0.85 } - - { name: json, files: 114, share: 0 } - - { name: markdown, files: 10, share: 0 } - - { name: css, files: 4, share: 0.03 } - - { name: javascript, files: 4, share: 0.03 } -build_system: pnpm -package_manifests: - - package.json - - tsconfig.json - - tsconfig.lib.json - - tsconfig.mcp.json - - vite.lib.config.ts - - components.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: ./registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-presets.ts - - src/lib/theme-defaults.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - "src/components/ui/**" - - "src/components/ai-elements/**" - - "src/components/theme/**" - exclude: - - "src/mcp/**" - - "scripts/**" - - "dist/**" - - "dist-lib/**" - - "dist-mcp/**" - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: ["src/components/ui"] - sub_areas: [input, layout, feedback, display, navigation] - - name: ai-elements - paths: ["src/components/ai-elements"] - sub_areas: [chat, agent-state, artifacts] - - name: theme - paths: ["src/components/theme", "src/lib/theme-presets.ts", "src/lib/theme-defaults.ts", "src/lib/theme-utils.ts"] - - name: tokens - paths: ["src/styles"] - - name: hooks - paths: ["src/hooks"] - - name: registry-tooling - paths: ["scripts", "registry.json", ".shadcn"] - - name: mcp-server - paths: ["src/mcp"] -orientation_files: - - README.md - - fingerprint.md - - registry.json - - src/styles/main.css - - src/lib/theme-presets.ts - - components.json ---- - -## Identity - -`ghost-ui` is the reference design system for the Ghost project — a private, registry-distributed component library that exists so the Ghost loop has a real, evolving system to describe. It ships **106 registry items**: 97 `registry:ui` components (49 shadcn-style UI primitives + 48 AI-native elements), 1 `registry:base`, 2 `registry:style`, 1 `registry:lib`, and 5 `registry:theme` presets. The package is `private` and is **not published to npm**; consumers `npx shadcn add` against `registry.json` or import the built library locally for workspace linking. The `ghost-mcp` bin (built from `src/mcp/`) ships alongside as an MCP server that re-exposes the registry to AI assistants. - -The system is single-design-language — the five non-default presets (`warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, `soft-pastel`) share the base shape and only override CSS custom properties — and is the canonical witness for the Ghost three-stage scan: `fingerprint.md`, `survey.json`, and `map.md` all live next to this file at the package root. - -## Topology - -**Design system + token resolution** lives in three places, in resolution order: `src/styles/main.css` (the canonical token sheet — primitive `--color-*`, `--radius-*`, `--shadow-*`, `--spacing-*`, `--font-*` declarations plus a `:root` semantic layer and a `.dark` override), `src/lib/theme-presets.ts` (the five non-default preset overrides applied at runtime by writing CSS custom properties), and `src/components/theme/ThemeProvider.tsx` (the React provider that injects preset styles and toggles the `.dark` class). `src/styles/font-faces.css` is intentionally empty — the system ships no bundled fonts and falls back to `system-ui`. - -**Customer UI** is everything under `src/components/ui/**`, `src/components/ai-elements/**`, and `src/components/theme/**`. Everything in `src/mcp/**` is excluded (it's the registry-server bin, not user-facing chrome), as is `scripts/**` (registry build scripts). The two component subtrees coexist deliberately: `ui/` is the shadcn-shaped registry surface (each component maps 1:1 to a `registry:ui` item with `target: components/ui/.tsx`), while `ai-elements/` is a parallel set of higher-level surfaces that compose the primitives — same dimension vocabulary, different primary slot. A small number of components in `ui/` (sidebar, chart, sonner) carry product-feature texture rather than pure primitive duty; profilers should sample at least one from each area. - -**Feature areas** are organized around shadcn registry categories rather than product surfaces because this is a library, not an application. Within `ui-primitives` the sub-areas (`input`, `layout`, `feedback`, `display`, `navigation`) match shadcn's own taxonomy and the `categories` field on each registry item, so an agent can sample by reading `categories` directly. `ai-elements` splits into chat (conversational primitives), agent-state (reasoning/task/tool surfaces), and artifacts (code, citations, web previews). The `theme` and `tokens` areas are the design system surface; `hooks` is the small set of utility hooks; `registry-tooling` and `mcp-server` are infrastructure agents should not profile for design language. - -**Orientation files**, in reading order: `README.md` (one paragraph + use), `fingerprint.md` (the design decisions), `registry.json` (the canonical list of components — note the `meta.fingerprint` and `meta.fingerprint_dimensions` extensions), `src/styles/main.css` (every token in one file), `src/lib/theme-presets.ts` (proves what is themeable), `components.json` (shadcn config, declares `style: ghost` and the path aliases). - -## Conventions - -- **Component naming.** Files are kebab-case; exports are PascalCase. Compound components are flat exports from a single file (`Card`, `CardHeader`, `CardContent`, …) following shadcn convention. -- **Registry items.** Every UI component has exactly one entry in `registry.json` with `type: registry:ui`, a single `files[].target: components/ui/.tsx`, a `categories: []`, and the `registryDependencies` it expects (`utils` is universal). AI elements follow the same shape under `components/ai-elements/`. -- **Variant systems.** Components with variants use `class-variance-authority` (`cva`) with named `variants:` blocks; `compoundVariants` for cross-axis combinations. Variants bind to semantic Tailwind classes (`bg-primary`, `text-foreground`), not raw colors. -- **Slot attributes.** Every primitive carries `data-slot=""` for runtime introspection; compound parts use `data-slot="-"` (e.g. `card-header`, `card-title`). The MCP server uses these to attribute usage. -- **Path aliases.** `@/components`, `@/components/ui`, `@/lib`, `@/lib/utils`, `@/hooks` per `components.json`. The `cn` helper from `@/lib/utils` is imported by every variant-bearing component. -- **Token references.** Components reference Tailwind utility classes that map to the CSS custom properties in `src/styles/main.css` via `@theme inline` — never inline hex codes. Custom radii are named (`rounded-pill`, `rounded-card`, `rounded-input`), not numeric. -- **Test layout.** No tests live in this package today (the loop is the test). When tests do appear, the convention should be `.test.tsx` co-located, excluded from the `surface_sources.include` glob. -- **Generated artifacts.** `dist/`, `dist-lib/`, `dist-mcp/`, `.shadcn/skills.md` are build outputs — never edited by hand. `registry.json` is partially regenerated by `scripts/build-base-vars.mjs` (the `cssVars` of `ghost-ui-base`) and `scripts/build-presets.mjs` (`registry:theme` items), but per-item content (including `meta.fingerprint*` extensions) is hand-authored and survives those scripts. -- **MCP exclusion.** `src/mcp/**` is not customer UI — it's the `ghost-mcp` bin built via `tsconfig.mcp.json` to `dist-mcp/`. Profilers and drift comparisons should skip it. diff --git a/dogfood/ghost-ui/attempt-4/survey-gen.mjs b/dogfood/ghost-ui/attempt-4/survey-gen.mjs deleted file mode 100644 index 1534b275..00000000 --- a/dogfood/ghost-ui/attempt-4/survey-gen.mjs +++ /dev/null @@ -1,492 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, writeFileSync } from "node:fs"; -import { join } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const MAIN_CSS = `${TARGET_ROOT}/src/styles/main.css`; -const REGISTRY = `${TARGET_ROOT}/registry.json`; -const SRC = `${TARGET_ROOT}/src`; - -const SOURCE = { - id: "ghost-ui", - role: "primary", - target: "block/ghost@packages/ghost-ui", - commit: "83c2b64", - scanned_at: "2026-05-01T17:51:23Z", - scanner_version: "dogfood-attempt-4", -}; - -const cssRaw = readFileSync(MAIN_CSS, "utf8"); - -// ---------- 1. Parse declarations from main.css. -// We need to track: which selector/at-rule context owns each `--name: value;`. -// Contexts of interest: ":root", ".dark", "@theme", "@theme inline". -// @keyframes blocks contain decls but they're not tokens — skip them. -function parseDecls(css) { - const lines = css.split("\n"); - const stack = []; - const decls = []; // { context, name, value, line } - for (let i = 0; i < lines.length; i++) { - const raw = lines[i]; - const trimmed = raw.trim(); - if (trimmed.endsWith("{")) { - const head = trimmed.replace(/\s*\{$/, "").trim(); - stack.push(head); - continue; - } - if (trimmed === "}") { - stack.pop(); - continue; - } - // Skip declarations inside @keyframes (those are animation steps, not tokens). - const inKeyframes = stack.some((s) => s.startsWith("@keyframes")); - if (inKeyframes) continue; - const m = raw.match(/^\s*(--[a-zA-Z0-9_-]+)\s*:\s*(.+?);?\s*$/); - if (m) { - const ctx = stack[stack.length - 1] || ""; - decls.push({ - context: ctx, - name: m[1], - value: m[2].replace(/;$/, "").trim(), - line: i + 1, - }); - } - } - return decls; -} - -const allDecls = parseDecls(cssRaw); - -// ---------- 2. Drop the mechanical Tailwind v4 re-export layer. -// `@theme inline` re-exports semantic vars under a `--color-*` namespace so -// Tailwind generates class atoms (`.bg-background`, etc.) from them. The -// re-exports are 1:1 aliases (`--color-X: var(--X)`) — they don't add design -// information beyond what's already in the semantic layer. Keep `@theme inline` -// declarations that introduce *new* tokens (`--radius-*`, `--shadow-*`, -// `--font-*`, `--spacing-*`, `--text-*`, `--breakpoint-*`, `--animate-*`). -function isMechanicalReExport(d) { - if (!d.context.startsWith("@theme inline")) return false; - if (!d.name.startsWith("--color-")) return false; - const stripped = d.name.replace(/^--color-/, ""); - return d.value === `var(--${stripped})`; -} - -const canonical = allDecls.filter((d) => !isMechanicalReExport(d)); - -// ---------- 3. Group declarations by token name → resolve default + variants. -// `:root` / `@theme` / `@theme inline` all declare the *default* (light) value. -// `.dark` declares the dark variant. -const byName = new Map(); -for (const d of canonical) { - const slot = byName.get(d.name) || { - name: d.name, - default: null, - variants: {}, - }; - if ( - d.context === ":root" || - d.context === "@theme" || - d.context.startsWith("@theme") - ) { - if (!slot.default) slot.default = d; - } else if (d.context === ".dark") { - slot.variants.dark = d; - } else { - slot.variants[d.context] = d; - } - byName.set(d.name, slot); -} - -// Resolve `var(--x)` chains within the default scope to a literal where possible. -const rootScope = new Map(); -for (const [name, slot] of byName) { - if (slot.default) rootScope.set(name, slot.default.value); -} - -function resolveLiteral(value, scope) { - const seen = new Set(); - let cur = value; - for (let depth = 0; depth < 8; depth++) { - const m = cur.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - if (!m) return cur; - if (seen.has(m[1])) return cur; - seen.add(m[1]); - const next = scope.get(m[1]); - if (!next) return cur; - cur = next; - } - return cur; -} - -// ---------- 4. Classify each token by kind. -// Resolved literal beats name pattern when they disagree. `--text-default` -// looks like a typography token by name but resolves to a color — it's a -// foreground color role. Same for `--ring`, `--border-strong`, etc. -function classify(name, _value, resolved) { - // Hard kind by name prefix (these are unambiguous). - if (name.startsWith("--shadow-")) return "shadow"; - if (name.startsWith("--radius") || name === "--radius") return "radius"; - if (name.startsWith("--breakpoint-")) return "breakpoint"; - if ( - name.startsWith("--animate-") || - name.startsWith("--ease-") || - name.startsWith("--duration-") - ) - return "motion"; - - // Resolved-literal check before name-based color guesses. Anything that - // resolves to a color literal is a color token regardless of name. - if (resolved && /^(oklch|oklab|rgba?|hsla?)\(/i.test(resolved)) - return "color"; - if (resolved && /^#[0-9a-fA-F]{3,8}$/.test(resolved)) return "color"; - - // Length / size tokens by name. - if (name.startsWith("--font-")) return "typography"; - if ( - name.startsWith("--heading-") || - name.startsWith("--display-") || - name.startsWith("--body-") || - name.startsWith("--label-") || - name.startsWith("--pullquote-") - ) - return "typography"; - // `--text-xxs` etc. are size; `--text-default` is color (caught above). - if (name.startsWith("--text-")) return "typography"; - if (name.startsWith("--spacing-")) return "spacing"; - if ( - name === "--page-container-max-width" || - name === "--page-container-side-gutter" || - name === "--section-padding-vertical" || - name === "--section-heading-margin-bottom" - ) - return "spacing"; - - // Color by name pattern (when resolved isn't a literal yet — e.g. unresolved - // alias still pointing into the var graph). - if ( - /^--(background|foreground|card|popover|primary|secondary|muted|accent|destructive|border|input|ring|sidebar|chart|color-|surface-|dark-)/.test( - name, - ) - ) - return "color"; - if (/^--(black|white|red|blue|green|yellow|gray)/.test(name)) return "color"; - return "unknown"; -} - -// ---------- 5. Count occurrences of token names across the source tree. -// A token is "used" when its `--name` literal or `var(--name)` appears in a -// .ts/.tsx/.css/.mjs file under src/. Tailwind class atoms (`bg-primary`) -// don't reference the token by name — they reference the @theme inline -// re-export, so direct token usage undercounts components that consume -// tokens via Tailwind. We still count `--name` directly because it's the -// most reliable cross-codebase signal without a full Tailwind pass. -function walk(dir, out, exclude = []) { - const entries = readdirSync(dir, { withFileTypes: true }); - for (const e of entries) { - if (exclude.includes(e.name)) continue; - if ( - e.name === "node_modules" || - e.name === "dist" || - e.name === "dist-lib" || - e.name === "dist-mcp" || - e.name === "mcp" - ) - continue; - const full = join(dir, e.name); - if (e.isDirectory()) walk(full, out, exclude); - else if (/\.(tsx?|jsx?|css|mjs|md)$/.test(e.name)) out.push(full); - } - return out; -} - -const allFiles = walk(SRC, []); -const fileTexts = new Map(); -for (const f of allFiles) { - try { - fileTexts.set(f, readFileSync(f, "utf8")); - } catch {} -} - -function countOccurrences(needle) { - let occ = 0; - let files = 0; - for (const [, txt] of fileTexts) { - let m = 0; - let idx = 0; - while (true) { - idx = txt.indexOf(needle, idx); - if (idx === -1) break; - m++; - idx += needle.length; - } - if (m > 0) { - occ += m; - files++; - } - } - return { occ, files }; -} - -// ---------- 6. Build tokens[]. -const tokens = []; -for (const [name, slot] of byName) { - const def = slot.default; - if (!def) continue; - const resolved = resolveLiteral(def.value, rootScope); - const kind = classify(name, def.value, resolved); - const aliasMatch = def.value.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - const alias_chain = aliasMatch ? [name, aliasMatch[1]] : []; - // If the alias resolves through more than one hop, expand the chain fully. - if (aliasMatch) { - const seen = new Set([name, aliasMatch[1]]); - let cur = aliasMatch[1]; - while (true) { - const nextSlot = byName.get(cur); - if (!nextSlot?.default) break; - const nextMatch = nextSlot.default.value.match( - /^var\((--[a-zA-Z0-9_-]+)\)$/, - ); - if (!nextMatch) break; - if (seen.has(nextMatch[1])) break; - alias_chain.push(nextMatch[1]); - seen.add(nextMatch[1]); - cur = nextMatch[1]; - } - } - const { occ, files } = countOccurrences(name); - - const row = { - id: "", - source: SOURCE, - name, - alias_chain, - resolved_value: resolved, - occurrences: occ, - files_count: files, - kind, - }; - - const variants = {}; - if (slot.variants.dark) variants.dark = slot.variants.dark.value; - if (Object.keys(variants).length) { - row.by_theme = { default: def.value, ...variants }; - } - tokens.push(row); -} - -// ---------- 7. Build values[] — distinct literals shipped by the design system. -const valueAcc = new Map(); -function addValue(kind, literal, sourceToken, occ, files) { - const key = `${kind}|${literal}`; - if (!valueAcc.has(key)) { - valueAcc.set(key, { - id: "", - source: SOURCE, - kind, - value: literal, - raw: literal, - spec: deriveSpec(kind, literal), - occurrences: 0, - files_count: 0, - tokens: [], - }); - } - const row = valueAcc.get(key); - row.occurrences += occ; - row.files_count = Math.max(row.files_count, files); - if (sourceToken) row.tokens.push(sourceToken); -} - -function deriveSpec(kind, lit) { - if (kind === "color") { - if (lit.startsWith("oklch")) return { space: "oklch", source: lit }; - if (lit.startsWith("oklab")) return { space: "oklab", source: lit }; - if (lit.startsWith("rgba") || lit.startsWith("rgb")) - return { space: "srgb", source: lit }; - if (lit.startsWith("#")) return { space: "srgb", hex: lit }; - return { source: lit }; - } - if (kind === "radius" || kind === "spacing") { - const m = lit.match(/^([0-9.]+)(px|rem|em|%|vh|vw)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - if (lit.startsWith("clamp(")) return { source: lit }; - return { source: lit }; - } - if (kind === "typography") { - const m = lit.match(/^([0-9.]+)(px|rem|em)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - return { source: lit }; - } - if (kind === "shadow") return { source: lit }; - if (kind === "motion") return { source: lit }; - if (kind === "breakpoint") { - const m = lit.match(/^([0-9.]+)(px|rem|em)$/); - if (m) return { unit: m[2], magnitude: Number(m[1]) }; - return { source: lit }; - } - return { source: lit }; -} - -for (const t of tokens) { - const lit = t.resolved_value; - if (lit.startsWith("var(")) continue; // unresolved alias - if (t.kind === "unknown") continue; - addValue(t.kind, lit, t.name, t.occurrences || 1, t.files_count || 1); -} - -// Inline literals authored directly in main.css (selection bg, scrollbar colors). -// These don't have a token name, but they ship as part of the design language. -const inlineColorRe = /#[0-9a-fA-F]{3,8}\b/g; -const inlineHits = new Map(); // hex → count -for (const m of cssRaw.matchAll(inlineColorRe)) { - inlineHits.set(m[0], (inlineHits.get(m[0]) || 0) + 1); -} -// Subtract the @theme block's hex declarations (we already recorded those). -// We do this by removing the @theme block range from the search text. -const themeBlockRe = /@theme \{[\s\S]*?\n\}/g; -let cssNoTheme = cssRaw; -for (const m of cssRaw.matchAll(themeBlockRe)) - cssNoTheme = cssNoTheme.replace(m[0], ""); -const inlineOnlyHits = new Map(); -for (const m of cssNoTheme.matchAll(inlineColorRe)) { - inlineOnlyHits.set(m[0], (inlineOnlyHits.get(m[0]) || 0) + 1); -} -for (const [hex, n] of inlineOnlyHits) { - // Skip if it's already a token literal we recorded above. - const key = `color|${hex}`; - if (valueAcc.has(key)) continue; - addValue("color", hex, null, n, 1); -} - -// Breakpoints from @media queries, plus the explicit --breakpoint-* tokens. -const bpHits = [...cssRaw.matchAll(/@media\s*\(min-width:\s*([0-9]+)(px)\)/g)]; -for (const m of bpHits) { - const lit = `${m[1]}${m[2]}`; - const key = `breakpoint|${lit}`; - if (!valueAcc.has(key)) addValue("breakpoint", lit, null, 1, 1); -} - -// ---------- 8. Build components[] — registry.json is the canonical signal. -const registry = JSON.parse(readFileSync(REGISTRY, "utf8")); -const uiItems = registry.items.filter((i) => i.type === "registry:ui"); -const components = []; - -for (const item of uiItems) { - const target = item.files[0]?.target || ""; - const filePath = item.files[0]?.path || ""; - const fullPath = `${TARGET_ROOT}/${filePath}`; - let txt = ""; - try { - txt = readFileSync(fullPath, "utf8"); - } catch { - txt = ""; - } - const exports = new Set(); - for (const m of txt.matchAll( - /export\s+(?:const|function|class)\s+([A-Z][A-Za-z0-9_]*)/g, - )) { - exports.add(m[1]); - } - const variants = []; - const cvaMatch = txt.match( - /cva\([\s\S]*?variants:\s*\{([\s\S]*?)\n\s{2,4}\}/m, - ); - if (cvaMatch) { - const variantBlock = cvaMatch[1]; - for (const v of variantBlock.matchAll(/^\s*(\w+):\s*\{([^}]*)\}/gm)) { - variants.push({ - prop: v[1], - options: [...v[2].matchAll(/['"]?([\w-]+)['"]?\s*:/g)].map((x) => x[1]), - }); - } - } - const sizes = variants.find((v) => v.prop === "size")?.options || []; - const variantValues = - variants.find((v) => v.prop === "variant")?.options || []; - - // Disambiguate `ui/` vs `ai-elements/` so identical names don't collide - // at fix-ids time (componentRowId hashes only source + name). - const group = target.startsWith("components/ai-elements") - ? "ai-elements" - : "ui"; - const baseName = item.name - .split(/[-_]/) - .map((p) => p.charAt(0).toUpperCase() + p.slice(1)) - .join(""); - - // Are there name collisions across groups? Pre-compute. - components.push({ - id: "", - source: SOURCE, - name: baseName, - _slug: item.name, - _group: group, - discovered_via: "registry.json", - file: filePath, - group, - categories: item.categories || [], - exports: [...exports], - variants: variantValues, - sizes, - occurrences: 1, - }); -} - -// Detect cross-group name collisions; qualify with group prefix. -const slugCount = components.reduce((m, c) => { - m[c._slug] = (m[c._slug] || 0) + 1; - return m; -}, {}); -for (const c of components) { - if (slugCount[c._slug] > 1) c.name = `${c._group}/${c.name}`; - delete c._slug; - delete c._group; -} - -// ---------- 9. Emit. -const values = Array.from(valueAcc.values()); -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values, - tokens, - components, - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -const outPath = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-4/survey.json"; -writeFileSync(outPath, `${JSON.stringify(survey, null, 2)}\n`); -process.stderr.write( - `tokens: ${tokens.length}\nvalues: ${values.length}\ncomponents: ${components.length}\nout: ${outPath}\n`, -); diff --git a/dogfood/ghost-ui/attempt-4/survey.json b/dogfood/ghost-ui/attempt-4/survey.json deleted file mode 100644 index 7cf7e0bf..00000000 --- a/dogfood/ghost-ui/attempt-4/survey.json +++ /dev/null @@ -1,7774 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - } - ], - "values": [ - { - "id": "286a8747a670ac58", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#ffffff", - "raw": "#ffffff", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 258, - "files_count": 3, - "tokens": [ - "--color-white", - "--background-default", - "--text-inverse", - "--background", - "--card", - "--popover", - "--primary-foreground", - "--destructive-foreground", - "--sidebar", - "--sidebar-primary-foreground" - ] - }, - { - "id": "08a7e92097c1a14a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 35, - "files_count": 3, - "tokens": ["--color-black", "--background-inverse", "--border-inverse"] - }, - { - "id": "cf515cb788cb5c76", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "#f5f5f5", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 23, - "files_count": 3, - "tokens": ["--color-gray-50", "--background-alt", "--surface-dark-text"] - }, - { - "id": "38e7bfeb8463cbda", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "#f0f0f0", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 49, - "files_count": 3, - "tokens": [ - "--color-gray-100", - "--background-muted", - "--secondary", - "--muted", - "--accent", - "--sidebar-accent" - ] - }, - { - "id": "2c74906c18a9b126", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "#e8e8e8", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 192, - "files_count": 4, - "tokens": [ - "--color-gray-200", - "--border-default", - "--border-card", - "--border", - "--sidebar-border", - "--sidebar-ring" - ] - }, - { - "id": "54e1c84232b7af7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "#e5e5e5", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 37, - "files_count": 3, - "tokens": ["--color-gray-300", "--border-input", "--input"] - }, - { - "id": "548bd314a9e2db43", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#cccccc", - "raw": "#cccccc", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 33, - "files_count": 3, - "tokens": [ - "--color-gray-400", - "--background-medium", - "--border-input-hover" - ] - }, - { - "id": "0f083e5dbc1b2b00", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#999999", - "raw": "#999999", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 24, - "files_count": 3, - "tokens": ["--color-gray-500", "--text-muted", "--muted-foreground"] - }, - { - "id": "d2399aea0da998d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#666666", - "raw": "#666666", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 18, - "files_count": 3, - "tokens": ["--color-gray-600", "--text-alt"] - }, - { - "id": "0b7f161287f16a62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#333333", - "raw": "#333333", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 5, - "files_count": 1, - "tokens": ["--color-gray-700"] - }, - { - "id": "adf1571632958090", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#232323", - "raw": "#232323", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-gray-800"] - }, - { - "id": "ff8b4b661b64ef6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "#1a1a1a", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 139, - "files_count": 3, - "tokens": [ - "--color-gray-900", - "--background-accent", - "--border-accent", - "--text-accent", - "--border-strong", - "--text-default", - "--ring", - "--foreground", - "--card-foreground", - "--popover-foreground", - "--primary", - "--secondary-foreground", - "--accent-foreground", - "--sidebar-foreground", - "--sidebar-primary", - "--sidebar-accent-foreground" - ] - }, - { - "id": "f55060b229be34f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "#ff6b6b", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-red-100"] - }, - { - "id": "6e1031dc41334014", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "#f94b4b", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 34, - "files_count": 3, - "tokens": [ - "--color-red-200", - "--background-danger", - "--border-danger", - "--text-danger", - "--destructive" - ] - }, - { - "id": "2aad88284a6f6816", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#7cacff", - "raw": "#7cacff", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-blue-100"] - }, - { - "id": "e51fcc0c6034fdbc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "#5c98f9", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 26, - "files_count": 3, - "tokens": [ - "--color-blue-200", - "--background-info", - "--border-info", - "--text-info" - ] - }, - { - "id": "d970d3b964770e01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#a3d795", - "raw": "#a3d795", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-green-100"] - }, - { - "id": "dbff923482ba5e2c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#91cb80", - "raw": "#91cb80", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 41, - "files_count": 3, - "tokens": [ - "--color-green-200", - "--background-success", - "--border-success", - "--text-success", - "--chart-5" - ] - }, - { - "id": "c124605bf0ce8023", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#ffd966", - "raw": "#ffd966", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--color-yellow-100"] - }, - { - "id": "788d201414f99675", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "#fbcd44", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 28, - "files_count": 3, - "tokens": [ - "--color-yellow-200", - "--background-warning", - "--border-warning", - "--text-warning" - ] - }, - { - "id": "18beaf5983ca5f05", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "20px", - "raw": "20px", - "spec": { - "unit": "px", - "magnitude": 20 - }, - "occurrences": 90, - "files_count": 5, - "tokens": ["--radius", "--radius-card", "--radius-lg"] - }, - { - "id": "13db46b64189853f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "rgba(26, 26, 26, 0.1)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.1)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-10"] - }, - { - "id": "2d95d9e7d3ad3513", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "rgba(26, 26, 26, 0.4)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.4)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-40"] - }, - { - "id": "785d2aeec73b7852", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "rgba(26, 26, 26, 0.04)", - "spec": { - "space": "srgb", - "source": "rgba(26, 26, 26, 0.04)" - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--dark-04"] - }, - { - "id": "0cb04483a2d8d24b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "0 2px 8px rgba(76, 76, 76, 0.15)", - "spec": { - "source": "0 2px 8px rgba(76, 76, 76, 0.15)" - }, - "occurrences": 40, - "files_count": 2, - "tokens": [ - "--shadow-mini", - "--shadow-btn", - "--shadow-card", - "--shadow-kbd" - ] - }, - { - "id": "888215ca9f6d91e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "spec": { - "source": "0 1px 4px rgba(76, 76, 76, 0.1) inset" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-mini-inset"] - }, - { - "id": "9c526a1469af9809", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "0 3px 12px rgba(76, 76, 76, 0.22)", - "spec": { - "source": "0 3px 12px rgba(76, 76, 76, 0.22)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-elevated"] - }, - { - "id": "75765e57d207e92c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "0 8px 30px rgba(0, 0, 0, 0.12)", - "spec": { - "source": "0 8px 30px rgba(0, 0, 0, 0.12)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-popover"] - }, - { - "id": "c9edb499fa900d3d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "0 20px 60px rgba(0, 0, 0, 0.2)", - "spec": { - "source": "0 20px 60px rgba(0, 0, 0, 0.2)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-modal"] - }, - { - "id": "2cf303eaefbaa306", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "spec": { - "source": "0 0 0 3px rgba(26, 26, 26, 0.15)" - }, - "occurrences": 8, - "files_count": 2, - "tokens": ["--shadow-date-field-focus"] - }, - { - "id": "4a5e3b3fbaaaee52", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "#0a0a0a", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 8, - "files_count": 1, - "tokens": ["--surface-dark"] - }, - { - "id": "d0e40f251f58a4cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "rgba(255, 255, 255, 0.5)", - "spec": { - "space": "srgb", - "source": "rgba(255, 255, 255, 0.5)" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--surface-dark-muted"] - }, - { - "id": "6113207f93f6cc3d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "rgba(255, 255, 255, 0.08)", - "spec": { - "space": "srgb", - "source": "rgba(255, 255, 255, 0.08)" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--surface-dark-border"] - }, - { - "id": "19a118aa6f029068", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "#f6b44a", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-1"] - }, - { - "id": "e0399340c1654726", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#7585ff", - "raw": "#7585ff", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-2"] - }, - { - "id": "b23a656d4b9ca25e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "#d76a6a", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-3"] - }, - { - "id": "57f43043a61b5851", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#d185e0", - "raw": "#d185e0", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--chart-4"] - }, - { - "id": "9f521ff81efa2a2c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "clamp(64px, 8vw, 96px)", - "spec": { - "source": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-font-size"] - }, - { - "id": "72bc45a5b6a57466", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "0.88", - "raw": "0.88", - "spec": { - "source": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-line-height"] - }, - { - "id": "8e0ea577a4efb31e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "-0.05em", - "spec": { - "source": "-0.05em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-display-letter-spacing", "--display-letter-spacing"] - }, - { - "id": "b93ea6e4ff72860d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "900", - "raw": "900", - "spec": { - "source": "900" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-display-font-weight"] - }, - { - "id": "d874523a96ecadea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "clamp(44px, 5vw, 64px)", - "spec": { - "source": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-font-size"] - }, - { - "id": "2a5726b1766dec82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "0.95", - "raw": "0.95", - "spec": { - "source": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-line-height"] - }, - { - "id": "268b5bc52ced9c06", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "-0.035em", - "spec": { - "source": "-0.035em" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-section-letter-spacing"] - }, - { - "id": "62036ddc05e9c66c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "700", - "raw": "700", - "spec": { - "source": "700" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-section-font-weight", "--heading-sub-font-weight"] - }, - { - "id": "03e3a61412692a4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "clamp(28px, 3vw, 40px)", - "spec": { - "source": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-sub-font-size"] - }, - { - "id": "c2e88f8734c27c3d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "1", - "raw": "1", - "spec": { - "source": "1" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-sub-line-height"] - }, - { - "id": "072a774537142f36", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "-0.02em", - "spec": { - "source": "-0.02em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-sub-letter-spacing", "--pullquote-letter-spacing"] - }, - { - "id": "40e1e5cbe484d915", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "clamp(20px, 2vw, 28px)", - "spec": { - "source": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-card-font-size"] - }, - { - "id": "fd1dca3d5ffa761a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "1.1", - "raw": "1.1", - "spec": { - "source": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--heading-card-line-height"] - }, - { - "id": "7f22fe5083ae961e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "-0.01em", - "spec": { - "source": "-0.01em" - }, - "occurrences": 2, - "files_count": 1, - "tokens": [ - "--heading-card-letter-spacing", - "--body-reading-letter-spacing" - ] - }, - { - "id": "06ced034afdea8ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "600", - "raw": "600", - "spec": { - "source": "600" - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--heading-card-font-weight", "--label-font-weight"] - }, - { - "id": "c5a915461526f7c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "clamp(3rem, 12vw, 12rem)", - "spec": { - "source": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--display-size"] - }, - { - "id": "d1fc2e7fa0c47f85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "0.85", - "raw": "0.85", - "spec": { - "source": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--display-line-height"] - }, - { - "id": "86558355fe42b365", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "clamp(1rem, 1.3vw, 1.25rem)", - "spec": { - "source": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--body-reading-size"] - }, - { - "id": "48ff85cbad861028", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "1.65", - "raw": "1.65", - "spec": { - "source": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--body-reading-line-height"] - }, - { - "id": "535dbe2d2026203f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "11px", - "raw": "11px", - "spec": { - "unit": "px", - "magnitude": 11 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-font-size"] - }, - { - "id": "7a93dbdb79c9f153", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "0.12em", - "raw": "0.12em", - "spec": { - "unit": "em", - "magnitude": 0.12 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-letter-spacing"] - }, - { - "id": "bdb83de4bb2e7abd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "1.2", - "raw": "1.2", - "spec": { - "source": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--label-line-height"] - }, - { - "id": "de773ceecdae0496", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "clamp(1.5rem, 3vw, 2.5rem)", - "spec": { - "source": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-size"] - }, - { - "id": "cd2bd43ae953b4ce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "1.3", - "raw": "1.3", - "spec": { - "source": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-line-height"] - }, - { - "id": "a132f9c8761b7bff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "300", - "raw": "300", - "spec": { - "source": "300" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--pullquote-weight"] - }, - { - "id": "1c9f48a90bfe5e81", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "1440px", - "raw": "1440px", - "spec": { - "unit": "px", - "magnitude": 1440 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--page-container-max-width"] - }, - { - "id": "ab27ca9738f268da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "20px", - "raw": "20px", - "spec": { - "unit": "px", - "magnitude": 20 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--page-container-side-gutter"] - }, - { - "id": "47bb6c49f97b8974", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "100px", - "raw": "100px", - "spec": { - "unit": "px", - "magnitude": 100 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--section-padding-vertical"] - }, - { - "id": "d38aa7f6c8006132", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "75px", - "raw": "75px", - "spec": { - "unit": "px", - "magnitude": 75 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--section-heading-margin-bottom"] - }, - { - "id": "092e151925fa4003", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "cubic-bezier(0.33, 1, 0.68, 1)", - "spec": { - "source": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--ease-spring"] - }, - { - "id": "ab4d64ed3f47c339", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "0.15s", - "raw": "0.15s", - "spec": { - "source": "0.15s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-fast"] - }, - { - "id": "b8a9347a7781a5dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "0.2s", - "raw": "0.2s", - "spec": { - "source": "0.2s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-normal"] - }, - { - "id": "15f31e68475cd3af", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "0.4s", - "raw": "0.4s", - "spec": { - "source": "0.4s" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--duration-slow"] - }, - { - "id": "3ca804df0683534a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "\"Geist Mono\", monospace", - "spec": { - "source": "\"Geist Mono\", monospace" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--font-mono"] - }, - { - "id": "e5f7868db15a1ab9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "serif", - "raw": "serif", - "spec": { - "source": "serif" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--font-serif"] - }, - { - "id": "d2eeba1a31451edc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "999px", - "raw": "999px", - "spec": { - "unit": "px", - "magnitude": 999 - }, - "occurrences": 15, - "files_count": 3, - "tokens": ["--radius-pill", "--radius-button", "--radius-input"] - }, - { - "id": "9b3ae0e8b3d077fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "24px", - "raw": "24px", - "spec": { - "unit": "px", - "magnitude": 24 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-card-lg"] - }, - { - "id": "79369f8d936d3acc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "14px", - "raw": "14px", - "spec": { - "unit": "px", - "magnitude": 14 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-card-sm"] - }, - { - "id": "269a476bbaf74ea7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "10px", - "raw": "10px", - "spec": { - "unit": "px", - "magnitude": 10 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-dropdown"] - }, - { - "id": "fb547d368e8037ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "16px", - "raw": "16px", - "spec": { - "unit": "px", - "magnitude": 16 - }, - "occurrences": 7, - "files_count": 3, - "tokens": ["--radius-modal"] - }, - { - "id": "0951d0018e8218f5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "calc(var(--radius) - 4px)", - "raw": "calc(var(--radius) - 4px)", - "spec": { - "source": "calc(var(--radius) - 4px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--radius-sm"] - }, - { - "id": "fa597e2c75f12314", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "calc(var(--radius) - 2px)", - "raw": "calc(var(--radius) - 2px)", - "spec": { - "source": "calc(var(--radius) - 2px)" - }, - "occurrences": 3, - "files_count": 2, - "tokens": ["--radius-md"] - }, - { - "id": "f31ff56d921daa74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "radius", - "value": "calc(var(--radius) + 4px)", - "raw": "calc(var(--radius) + 4px)", - "spec": { - "source": "calc(var(--radius) + 4px)" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--radius-xl"] - }, - { - "id": "62dc8ce588dc9030", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "3.25rem", - "raw": "3.25rem", - "spec": { - "unit": "rem", - "magnitude": 3.25 - }, - "occurrences": 2, - "files_count": 1, - "tokens": ["--spacing-input"] - }, - { - "id": "a3f5ec30ac5c9683", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "2.75rem", - "raw": "2.75rem", - "spec": { - "unit": "rem", - "magnitude": 2.75 - }, - "occurrences": 3, - "files_count": 1, - "tokens": ["--spacing-input-sm", "--spacing-button"] - }, - { - "id": "7e54077c572499c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "spacing", - "value": "2rem", - "raw": "2rem", - "spec": { - "unit": "rem", - "magnitude": 2 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--spacing-button-sm"] - }, - { - "id": "cd216255c8f68aa6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "typography", - "value": "10px", - "raw": "10px", - "spec": { - "unit": "px", - "magnitude": 10 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--text-xxs"] - }, - { - "id": "4e77cf1f2625ebd9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "1440px", - "spec": { - "unit": "px", - "magnitude": 1440 - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--breakpoint-desktop"] - }, - { - "id": "1a471b624866ccee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "accordion-down 0.2s ease-out", - "spec": { - "source": "accordion-down 0.2s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-accordion-down"] - }, - { - "id": "afc8ba945687f277", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "accordion-up 0.2s ease-out", - "spec": { - "source": "accordion-up 0.2s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-accordion-up"] - }, - { - "id": "6ff46835c17e88fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "caret-blink 1s ease-out infinite", - "spec": { - "source": "caret-blink 1s ease-out infinite" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-caret-blink"] - }, - { - "id": "58b489cdf9811cab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "scale-in 0.2s ease", - "spec": { - "source": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-scale-in"] - }, - { - "id": "07e595b763e6b112", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "scale-out 0.15s ease", - "spec": { - "source": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-scale-out"] - }, - { - "id": "5ab38cdadb20813d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "fade-in 0.2s ease", - "spec": { - "source": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-fade-in"] - }, - { - "id": "036f45b2ea98bf74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "fade-out 0.15s ease", - "spec": { - "source": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-fade-out"] - }, - { - "id": "1b01d3ff0abd858f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "enter-from-left 0.2s ease", - "spec": { - "source": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-enter-from-left"] - }, - { - "id": "b2ef4d046c6b5de4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "enter-from-right 0.2s ease", - "spec": { - "source": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-enter-from-right"] - }, - { - "id": "a7b7574344125224", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "exit-to-left 0.2s ease", - "spec": { - "source": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-exit-to-left"] - }, - { - "id": "1bd9707e5bb2cc82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "exit-to-right 0.2s ease", - "spec": { - "source": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-exit-to-right"] - }, - { - "id": "a4213461e7f6739f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "word-reveal 0.4s ease-out", - "spec": { - "source": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "tokens": ["--animate-word-reveal"] - }, - { - "id": "448e90d0c8fd0e86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#ccc", - "raw": "#ccc", - "spec": { - "space": "srgb", - "hex": "#ccc" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "922c0929c05f3aaa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#999", - "raw": "#999", - "spec": { - "space": "srgb", - "hex": "#999" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "3893aba45c1c57d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#444", - "raw": "#444", - "spec": { - "space": "srgb", - "hex": "#444" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - }, - { - "id": "411ec5e1ab8d32c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "kind": "color", - "value": "#666", - "raw": "#666", - "spec": { - "space": "srgb", - "hex": "#666" - }, - "occurrences": 1, - "files_count": 1, - "tokens": [] - } - ], - "tokens": [ - { - "id": "68dafbf3f060cc07", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10, - "files_count": 1, - "kind": "color" - }, - { - "id": "e94ef288a2b273bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "c5ac273e12306be6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "29a4be9ec9245143", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "22d31a3dae392ec8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "17a4d8de62cc13d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "e020302fcd89a6d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cda5ebc96ab2d699", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "7506b0b7d57eb1f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a4c4969abb859cf7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "66b9a5ba02b49c16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ef2757e576b21a7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "cca170fa2b2bf095", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c27ed355e2caee93", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "2658578e97ec14bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "67d987b62367850a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "61f8eae44087df87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0ddd428bddfafcb8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "6b180d88c16f6834", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c0746333abf445df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "4b84276da49c0232", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 68, - "files_count": 5, - "kind": "radius" - }, - { - "id": "130c0d97139f10ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-accent", - "alias_chain": ["--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 19, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "3ee1e7704e07316d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-accent", - "alias_chain": ["--border-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "e01ae0fdea97a9b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-accent", - "alias_chain": ["--text-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "4b05819aee936c6f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-default", - "alias_chain": ["--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 23, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "29aaffd7ed9b82d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-alt", - "alias_chain": ["--background-alt", "--color-gray-50"], - "resolved_value": "#f5f5f5", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-50)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "fe21f0d1d781e2f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-medium", - "alias_chain": ["--background-medium", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-400)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "0833251e50a35591", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-muted", - "alias_chain": ["--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 23, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-100)", - "dark": "var(--color-gray-800)" - } - }, - { - "id": "35fd7b3d05c26e99", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-inverse", - "alias_chain": ["--background-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "d00b92b70af29d19", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-danger", - "alias_chain": ["--background-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 9, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "e2cf39485e8976d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-success", - "alias_chain": ["--background-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "ddc9c5ca9d224dca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-info", - "alias_chain": ["--background-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "21079844dcf86c0c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background-warning", - "alias_chain": ["--background-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 9, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "1a970fecba14ed01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-default", - "alias_chain": ["--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 21, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "ab3dab41d5c86fa5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-input", - "alias_chain": ["--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 32, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-300)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "c989b6168960cb1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-input-hover", - "alias_chain": ["--border-input-hover", "--color-gray-400"], - "resolved_value": "#cccccc", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-400)", - "dark": "var(--color-gray-600)" - } - }, - { - "id": "fb15423ce4aaa45e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-strong", - "alias_chain": ["--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 17, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "baf9bc5b6474db5d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-card", - "alias_chain": ["--border-card", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-200)", - "dark": "var(--color-gray-700)" - } - }, - { - "id": "288eecab409e33d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-inverse", - "alias_chain": ["--border-inverse", "--color-black"], - "resolved_value": "#000000", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-black)", - "dark": "var(--color-white)" - } - }, - { - "id": "1b71b1f68f754626", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-danger", - "alias_chain": ["--border-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-200)" - } - }, - { - "id": "64f69faa34d53869", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-success", - "alias_chain": ["--border-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-200)" - } - }, - { - "id": "9e612a45bcf14518", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-warning", - "alias_chain": ["--border-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-200)" - } - }, - { - "id": "d6822a2b4a5f1fe9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border-info", - "alias_chain": ["--border-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-200)" - } - }, - { - "id": "eb1d8f4f03c03d4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-default", - "alias_chain": ["--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 29, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-900)", - "dark": "var(--color-white)" - } - }, - { - "id": "e4ecf39cc7ec615f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-muted", - "alias_chain": ["--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 17, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-500)", - "dark": "var(--color-gray-500)" - } - }, - { - "id": "02bf5a01da0193ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-alt", - "alias_chain": ["--text-alt", "--color-gray-600"], - "resolved_value": "#666666", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-gray-600)", - "dark": "var(--color-gray-500)" - } - }, - { - "id": "610746142a356f88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-inverse", - "alias_chain": ["--text-inverse", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 19, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-white)", - "dark": "var(--color-black)" - } - }, - { - "id": "f07f3627d9eec96b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-danger", - "alias_chain": ["--text-danger", "--color-red-200"], - "resolved_value": "#f94b4b", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-red-200)", - "dark": "var(--color-red-100)" - } - }, - { - "id": "34827c33ab9ddbec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-success", - "alias_chain": ["--text-success", "--color-green-200"], - "resolved_value": "#91cb80", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-green-200)", - "dark": "var(--color-green-100)" - } - }, - { - "id": "30eec3c48809a258", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-warning", - "alias_chain": ["--text-warning", "--color-yellow-200"], - "resolved_value": "#fbcd44", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-yellow-200)", - "dark": "var(--color-yellow-100)" - } - }, - { - "id": "ddc0d5da3d33b9f6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-info", - "alias_chain": ["--text-info", "--color-blue-200"], - "resolved_value": "#5c98f9", - "occurrences": 7, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--color-blue-200)", - "dark": "var(--color-blue-100)" - } - }, - { - "id": "c090c09d9770d421", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--ring", - "alias_chain": ["--ring", "--border-strong", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-strong)", - "dark": "var(--border-strong)" - } - }, - { - "id": "8c18cbb675819283", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.1)", - "dark": "rgba(242, 242, 242, 0.1)" - } - }, - { - "id": "0c4341cd5bf54c23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.4)", - "dark": "rgba(242, 242, 242, 0.4)" - } - }, - { - "id": "6643d4e642f08508", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(26, 26, 26, 0.04)", - "dark": "rgba(242, 242, 242, 0.04)" - } - }, - { - "id": "f1228b9ef4a265ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 16, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "a8d8af0bd8753bc0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - } - }, - { - "id": "eb9fe859f74aeada", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - } - }, - { - "id": "22397a73220ea5a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "1374c75d268f3bb6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 3px 12px rgba(76, 76, 76, 0.22)", - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - } - }, - { - "id": "36ce4f8c5532dc4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 8px 30px rgba(0, 0, 0, 0.12)", - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "6841c1968dbf68ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 20px 60px rgba(0, 0, 0, 0.2)", - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - } - }, - { - "id": "6f7fb65a976d6a25", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 2px 8px rgba(76, 76, 76, 0.15)", - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - } - }, - { - "id": "117a5b06b3af2afd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "occurrences": 8, - "files_count": 2, - "kind": "shadow", - "by_theme": { - "default": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - } - }, - { - "id": "47c08490ac3d1325", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8, - "files_count": 1, - "kind": "color" - }, - { - "id": "b00c4e84f3b57476", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "09f8f0914d7b677b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "eebe8ac1035ed944", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2, - "files_count": 1, - "kind": "color" - }, - { - "id": "7d0be96247b99b86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#f6b44a", - "dark": "#f6b44a" - } - }, - { - "id": "4b9383ac0f8c6d75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#7585ff", - "dark": "#7585ff" - } - }, - { - "id": "1560ad36075f0db7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#d76a6a", - "dark": "#d76a6a" - } - }, - { - "id": "b4c260cef7bacf33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#d185e0", - "dark": "#d185e0" - } - }, - { - "id": "492d9858086bdacc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 15, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "#91cb80", - "dark": "#91cb80" - } - }, - { - "id": "e5689f5891dce54b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--background", - "alias_chain": ["--background", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 145, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "7b8f59ce0e2f7392", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--foreground", - "alias_chain": ["--foreground", "--text-default", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "d9f5d804f808f60b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--card", - "alias_chain": ["--card", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "17b34c409d1cb591", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "a908965ad3b894be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--popover", - "alias_chain": ["--popover", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 8, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "3a000cabe4a02d15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 4, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "574e5042664b7749", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--primary", - "alias_chain": ["--primary", "--background-accent", "--color-gray-900"], - "resolved_value": "#1a1a1a", - "occurrences": 7, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--background-accent)", - "dark": "var(--background-accent)" - } - }, - { - "id": "fb2a850f71c8706c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-inverse)", - "dark": "var(--text-inverse)" - } - }, - { - "id": "b2301e49d218caca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--secondary", - "alias_chain": ["--secondary", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "11756fbdcc3d8dcd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "f78f056d80eaa56c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--muted", - "alias_chain": ["--muted", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "7d8f9bfb7fe42ef9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--muted-foreground", - "alias_chain": ["--muted-foreground", "--text-muted", "--color-gray-500"], - "resolved_value": "#999999", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-muted)", - "dark": "var(--text-muted)" - } - }, - { - "id": "7ba651f8f73205a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--accent", - "alias_chain": ["--accent", "--background-muted", "--color-gray-100"], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "881eba41fee07da3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "c6d287fcff1aee2e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200" - ], - "resolved_value": "#f94b4b", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-danger)", - "dark": "var(--background-danger)" - } - }, - { - "id": "47a1a6309924b1c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "#ffffff", - "dark": "#ffffff" - } - }, - { - "id": "c01dd56dbeec13c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--border", - "alias_chain": ["--border", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 147, - "files_count": 4, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "7b42ac7267484ff2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--input", - "alias_chain": ["--input", "--border-input", "--color-gray-300"], - "resolved_value": "#e5e5e5", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-input)", - "dark": "var(--border-input)" - } - }, - { - "id": "1a6c1c42b696ed8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar", - "alias_chain": ["--sidebar", "--background-default", "--color-white"], - "resolved_value": "#ffffff", - "occurrences": 38, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--background-default)", - "dark": "var(--background-default)" - } - }, - { - "id": "4e5b2e2a770e020d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "206cf620c27031a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-accent)", - "dark": "var(--background-accent)" - } - }, - { - "id": "2d753755a4be30c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white" - ], - "resolved_value": "#ffffff", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-inverse)", - "dark": "var(--text-inverse)" - } - }, - { - "id": "adf288f6a773d128", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100" - ], - "resolved_value": "#f0f0f0", - "occurrences": 6, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--background-muted)", - "dark": "var(--background-muted)" - } - }, - { - "id": "257dae06c0b23b53", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900" - ], - "resolved_value": "#1a1a1a", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--text-default)", - "dark": "var(--text-default)" - } - }, - { - "id": "715616e055fb5eff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200" - ], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "585773fd574c4cbb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--sidebar-ring", - "alias_chain": ["--sidebar-ring", "--border-default", "--color-gray-200"], - "resolved_value": "#e8e8e8", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border-default)", - "dark": "var(--border-default)" - } - }, - { - "id": "06284bfc7332990c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "334c2c5df7bd6047", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "db39bdd7d580f832", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8d5ededcc8da2d84", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "92d976e349ef25d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "5d1fbaba94b12e41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "a52e275f46a7b06f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "09ea2f2773039175", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "5e130fd6412bf3be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "fb070fe0dd3575de", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "60411390213281c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "47eddbd5b7f3a6d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "61f911413f56287f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "5f6ba9bc940f256e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "808f78c4aaa9d5a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "43fa95959b3724fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "cf3b5e7704f86b5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "e25efc20f6d550ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8283a42cb8a7d685", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0a867526dba98aa8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "79e727b595d70069", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "72f81d5f9711ff9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "f6c2c9d283639502", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "e0e21f09d0c2e904", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "b4ffcb21c8c31ad8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "56de2fcc6ae61792", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "526ce624d668e803", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "435da9574d0c3d30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ad93fc3e5d1f433c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "3c983363cbd89d33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "150795666a6df6d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "7efa8c63dbd8fc49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "e704a6018adf8860", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "e70b7243da4ff2ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "7c10f04f0c901aab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "959fa5a91e09647e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "0.15s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "4bf6fbf92ac2b10c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "0.2s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "1f83968ca542bd68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "0.4s", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "6c02f10792c79714", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "b4f43c2285157c50", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "065e5de7645dfe6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "33a0d0d9596c78cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "437c512a50df0f4f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "occurrences": 5, - "files_count": 3, - "kind": "radius" - }, - { - "id": "ce0f543a9ba11239", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 21, - "files_count": 3, - "kind": "radius" - }, - { - "id": "1a1785909dece734", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "130425dba341df9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "bb8b52a48f232f60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "bda863bad21c783b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 7, - "files_count": 3, - "kind": "radius" - }, - { - "id": "9af8a78abe5c317d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-sm", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 4px)", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "a2488faa4fe625c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-md", - "alias_chain": [], - "resolved_value": "calc(var(--radius) - 2px)", - "occurrences": 3, - "files_count": 2, - "kind": "radius" - }, - { - "id": "a941dbd35c568b85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-lg", - "alias_chain": ["--radius-lg", "--radius"], - "resolved_value": "20px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "0bbe9c0a9a741314", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--radius-xl", - "alias_chain": [], - "resolved_value": "calc(var(--radius) + 4px)", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "45f1718ae5ca7a6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "3.25rem", - "occurrences": 2, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "a1db334507982972", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "c854232736c8324d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 2, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "9d09ca828565a87d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "2rem", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "aab0af6adf23186b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "bb42d43fe1cc8877", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1, - "files_count": 1, - "kind": "breakpoint" - }, - { - "id": "200e50c168c3d401", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "42d0f7eddbcd723b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "971661d43dc556fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "a60bb74b96558f04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "bf158c5b37b02772", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "94e2dcf159888169", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "7f149bd9642519b6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "2c4096d3c1353f38", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "a347bc451317e82b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "bb2073bb2fc4d789", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "7ec7c0b6568a849f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - }, - { - "id": "e18b6dd0f78c48f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - } - ], - "components": [ - { - "id": "7a3f0c97748580dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Accordion", - "discovered_via": "registry.json", - "file": "src/components/ui/accordion.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7419248a3b1666c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "AlertDialog", - "discovered_via": "registry.json", - "file": "src/components/ui/alert-dialog.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "75c502a5a240be9a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Alert", - "discovered_via": "registry.json", - "file": "src/components/ui/alert.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": ["default", "destructive"], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e208708d24949c20", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "AspectRatio", - "discovered_via": "registry.json", - "file": "src/components/ui/aspect-ratio.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "85b611fd87862c3a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Avatar", - "discovered_via": "registry.json", - "file": "src/components/ui/avatar.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6a2c9150b44e000c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Badge", - "discovered_via": "registry.json", - "file": "src/components/ui/badge.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [ - "default", - "hover", - "secondary", - "hover", - "destructive", - "hover", - "focus-visible", - "dark", - "focus-visible", - "dark", - "outline", - "hover", - "hover" - ], - "sizes": [], - "occurrences": 1 - }, - { - "id": "50bce472a84c67a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Breadcrumb", - "discovered_via": "registry.json", - "file": "src/components/ui/breadcrumb.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "301e2797e47d0f90", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ButtonGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/button-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a4aada91671860b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Button", - "discovered_via": "registry.json", - "file": "src/components/ui/button.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [ - "default", - "hover", - "destructive", - "hover", - "focus-visible", - "dark", - "focus-visible", - "dark", - "outline", - "hover", - "secondary", - "hover", - "ghost", - "hover", - "dark", - "hover", - "link", - "hover" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"], - "occurrences": 1 - }, - { - "id": "ea9f8f1b3d208c90", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Calendar", - "discovered_via": "registry.json", - "file": "src/components/ui/calendar.tsx", - "group": "ui", - "categories": ["display", "input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "851e2eb1c54e8816", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Card", - "discovered_via": "registry.json", - "file": "src/components/ui/card.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "909694b056c73e88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Carousel", - "discovered_via": "registry.json", - "file": "src/components/ui/carousel.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "63f549521084c720", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Chart", - "discovered_via": "registry.json", - "file": "src/components/ui/chart.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "838684f3a7d4701e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Checkbox", - "discovered_via": "registry.json", - "file": "src/components/ui/checkbox.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a350e637067f45e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Collapsible", - "discovered_via": "registry.json", - "file": "src/components/ui/collapsible.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "dff2a51336fc6b3f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Command", - "discovered_via": "registry.json", - "file": "src/components/ui/command.tsx", - "group": "ui", - "categories": ["input", "navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c0ebce9399815c64", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ContextMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/context-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "72de191a29b28c73", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Dialog", - "discovered_via": "registry.json", - "file": "src/components/ui/dialog.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5f865789a7b2f102", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Drawer", - "discovered_via": "registry.json", - "file": "src/components/ui/drawer.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3f4886ddc1cd283e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "DropdownMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/dropdown-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "fbf754890ec98ec7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Form", - "discovered_via": "registry.json", - "file": "src/components/ui/form.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9ce64297e8f6d200", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "HoverCard", - "discovered_via": "registry.json", - "file": "src/components/ui/hover-card.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f46989e3956b160a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "InputGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/input-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "335f1587108b86c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "InputOtp", - "discovered_via": "registry.json", - "file": "src/components/ui/input-otp.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e723516b3cb0b760", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Input", - "discovered_via": "registry.json", - "file": "src/components/ui/input.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "23c10689b667cd5d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Label", - "discovered_via": "registry.json", - "file": "src/components/ui/label.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "590085cbb9240241", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Menubar", - "discovered_via": "registry.json", - "file": "src/components/ui/menubar.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "186717431e5d021d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "NavigationMenu", - "discovered_via": "registry.json", - "file": "src/components/ui/navigation-menu.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6650b3f59dc2204d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Pagination", - "discovered_via": "registry.json", - "file": "src/components/ui/pagination.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3bced3cbf30ebddc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Popover", - "discovered_via": "registry.json", - "file": "src/components/ui/popover.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "faf8b4c58a8db54c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Progress", - "discovered_via": "registry.json", - "file": "src/components/ui/progress.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "330540f7bf9ae3f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "RadioGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/radio-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e6d8a90167dec559", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Resizable", - "discovered_via": "registry.json", - "file": "src/components/ui/resizable.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4ee9225c8ca38538", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ScrollArea", - "discovered_via": "registry.json", - "file": "src/components/ui/scroll-area.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "89750bc22a9e9d3c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Select", - "discovered_via": "registry.json", - "file": "src/components/ui/select.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b7b5dea5e2c74d30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Separator", - "discovered_via": "registry.json", - "file": "src/components/ui/separator.tsx", - "group": "ui", - "categories": ["layout"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2a1156cec6aec2c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Sheet", - "discovered_via": "registry.json", - "file": "src/components/ui/sheet.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4e12eb568ddce7ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Sidebar", - "discovered_via": "registry.json", - "file": "src/components/ui/sidebar.tsx", - "group": "ui", - "categories": ["navigation", "layout"], - "exports": [], - "variants": ["default", "hover", "hover", "outline", "hover", "hover"], - "sizes": ["default", "sm", "lg"], - "occurrences": 1 - }, - { - "id": "4f073049382d3fcd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Skeleton", - "discovered_via": "registry.json", - "file": "src/components/ui/skeleton.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f903b9ab26b57d26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Slider", - "discovered_via": "registry.json", - "file": "src/components/ui/slider.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7bff712f328d1928", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Sonner", - "discovered_via": "registry.json", - "file": "src/components/ui/sonner.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "303cc8ec90164f34", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Spinner", - "discovered_via": "registry.json", - "file": "src/components/ui/spinner.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "17935e106d57cc14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Switch", - "discovered_via": "registry.json", - "file": "src/components/ui/switch.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "03559a036db8655e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Table", - "discovered_via": "registry.json", - "file": "src/components/ui/table.tsx", - "group": "ui", - "categories": ["display"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6fd90e53f7a282e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Tabs", - "discovered_via": "registry.json", - "file": "src/components/ui/tabs.tsx", - "group": "ui", - "categories": ["navigation"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d3476427a85dac9a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Textarea", - "discovered_via": "registry.json", - "file": "src/components/ui/textarea.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "df030b85816a8a24", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ToggleGroup", - "discovered_via": "registry.json", - "file": "src/components/ui/toggle-group.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "67d66a6a8ca47eb9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Toggle", - "discovered_via": "registry.json", - "file": "src/components/ui/toggle.tsx", - "group": "ui", - "categories": ["input"], - "exports": [], - "variants": ["default", "outline", "hover", "hover"], - "sizes": ["default", "sm", "lg"], - "occurrences": 1 - }, - { - "id": "bd56b8838b27d2c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Tooltip", - "discovered_via": "registry.json", - "file": "src/components/ui/tooltip.tsx", - "group": "ui", - "categories": ["feedback"], - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f072990e232a0605", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Agent", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/agent.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Agent", - "AgentHeader", - "AgentContent", - "AgentInstructions", - "AgentTools", - "AgentTool", - "AgentOutput" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f94e53b707485e81", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Artifact", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/artifact.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Artifact", - "ArtifactHeader", - "ArtifactClose", - "ArtifactTitle", - "ArtifactDescription", - "ArtifactActions", - "ArtifactAction", - "ArtifactContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "77760d4db7657f9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Attachments", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/attachments.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "chat"], - "exports": [ - "Attachments", - "Attachment", - "AttachmentPreview", - "AttachmentInfo", - "AttachmentRemove", - "AttachmentHoverCard", - "AttachmentHoverCardTrigger", - "AttachmentHoverCardContent", - "AttachmentEmpty" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "fd5b7c1ac05c6e47", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "AudioPlayer", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/audio-player.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": [ - "AudioPlayer", - "AudioPlayerElement", - "AudioPlayerControlBar", - "AudioPlayerPlayButton", - "AudioPlayerSeekBackwardButton", - "AudioPlayerSeekForwardButton", - "AudioPlayerTimeDisplay", - "AudioPlayerTimeRange", - "AudioPlayerDurationDisplay", - "AudioPlayerMuteButton", - "AudioPlayerVolumeRange" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "cad1f17e78eb8793", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Canvas", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/canvas.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Canvas"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "72e818eadc6d542d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ChainOfThought", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/chain-of-thought.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "ChainOfThought", - "ChainOfThoughtHeader", - "ChainOfThoughtStep", - "ChainOfThoughtSearchResults", - "ChainOfThoughtSearchResult", - "ChainOfThoughtContent", - "ChainOfThoughtImage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ccb21603a7fdc900", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Checkpoint", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/checkpoint.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": ["Checkpoint", "CheckpointIcon", "CheckpointTrigger"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f2cd734b8842310c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "CodeBlock", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/code-block.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "CodeBlockContainer", - "CodeBlockHeader", - "CodeBlockTitle", - "CodeBlockFilename", - "CodeBlockActions", - "CodeBlockContent", - "CodeBlock", - "CodeBlockCopyButton", - "CodeBlockLanguageSelector", - "CodeBlockLanguageSelectorTrigger", - "CodeBlockLanguageSelectorValue", - "CodeBlockLanguageSelectorContent", - "CodeBlockLanguageSelectorItem" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9c8b6645513fb2c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Commit", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/commit.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Commit", - "CommitHeader", - "CommitHash", - "CommitMessage", - "CommitMetadata", - "CommitSeparator", - "CommitInfo", - "CommitAuthor", - "CommitAuthorAvatar", - "CommitTimestamp", - "CommitActions", - "CommitCopyButton", - "CommitContent", - "CommitFiles", - "CommitFile", - "CommitFileInfo", - "CommitFileStatus", - "CommitFileIcon", - "CommitFilePath", - "CommitFileChanges", - "CommitFileAdditions", - "CommitFileDeletions" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "59fdb6b2552d41c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Confirmation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/confirmation.tsx", - "group": "ai-elements", - "categories": ["ai", "feedback"], - "exports": [ - "Confirmation", - "ConfirmationTitle", - "ConfirmationRequest", - "ConfirmationAccepted", - "ConfirmationRejected", - "ConfirmationActions", - "ConfirmationAction" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e3cbc2a0969d5c9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Connection", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/connection.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Connection"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "17d9393bcafec076", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Context", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/context.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Context", - "ContextTrigger", - "ContextContent", - "ContextContentHeader", - "ContextContentBody", - "ContextContentFooter", - "ContextInputUsage", - "ContextOutputUsage", - "ContextReasoningUsage", - "ContextCacheUsage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9a46839bfabcad83", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Controls", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/controls.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Controls"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a246f8cfcb915cda", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Conversation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/conversation.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "Conversation", - "ConversationContent", - "ConversationEmptyState", - "ConversationScrollButton", - "ConversationDownload" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "64cc50ff419ccf85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Edge", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/edge.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Edge"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "85beb28678ddf4d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "EnvironmentVariables", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/environment-variables.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "EnvironmentVariables", - "EnvironmentVariablesHeader", - "EnvironmentVariablesTitle", - "EnvironmentVariablesToggle", - "EnvironmentVariablesContent", - "EnvironmentVariableGroup", - "EnvironmentVariableName", - "EnvironmentVariableValue", - "EnvironmentVariable", - "EnvironmentVariableCopyButton", - "EnvironmentVariableRequired" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4039ea0629cae4f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "FileTree", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/file-tree.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "FileTree", - "FileTreeIcon", - "FileTreeName", - "FileTreeFolder", - "FileTreeFile", - "FileTreeActions" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8407d42841f960ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Image", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/image.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": ["Image"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8734602ac11896c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "InlineCitation", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/inline-citation.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "InlineCitation", - "InlineCitationText", - "InlineCitationCard", - "InlineCitationCardTrigger", - "InlineCitationCardBody", - "InlineCitationCarousel", - "InlineCitationCarouselContent", - "InlineCitationCarouselItem", - "InlineCitationCarouselHeader", - "InlineCitationCarouselIndex", - "InlineCitationCarouselPrev", - "InlineCitationCarouselNext", - "InlineCitationSource", - "InlineCitationQuote" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f0253cb649a4e4c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "JsxPreview", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/jsx-preview.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": ["JSXPreview", "JSXPreviewContent", "JSXPreviewError"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "557bfcf370f01243", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Message", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/message.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "Message", - "MessageContent", - "MessageActions", - "MessageAction", - "MessageBranch", - "MessageBranchContent", - "MessageBranchSelector", - "MessageBranchPrevious", - "MessageBranchNext", - "MessageBranchPage", - "MessageResponse", - "MessageToolbar" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0d1dc6b6eac3a02e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "MicSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/mic-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": [ - "MicSelector", - "MicSelectorTrigger", - "MicSelectorContent", - "MicSelectorInput", - "MicSelectorList", - "MicSelectorEmpty", - "MicSelectorItem", - "MicSelectorLabel", - "MicSelectorValue" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "67a6d0a636bb2544", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "ModelSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/model-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input"], - "exports": [ - "ModelSelector", - "ModelSelectorTrigger", - "ModelSelectorContent", - "ModelSelectorDialog", - "ModelSelectorInput", - "ModelSelectorList", - "ModelSelectorEmpty", - "ModelSelectorGroup", - "ModelSelectorItem", - "ModelSelectorShortcut", - "ModelSelectorSeparator", - "ModelSelectorLogo", - "ModelSelectorLogoGroup", - "ModelSelectorName" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "79fbf54df0dcd998", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Node", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/node.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": [ - "Node", - "NodeHeader", - "NodeTitle", - "NodeDescription", - "NodeAction", - "NodeContent", - "NodeFooter" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d0b9661626f606b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "OpenInChat", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/open-in-chat.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": [ - "OpenIn", - "OpenInContent", - "OpenInItem", - "OpenInLabel", - "OpenInSeparator", - "OpenInTrigger", - "OpenInChatGPT", - "OpenInClaude", - "OpenInT3", - "OpenInScira", - "OpenInv0", - "OpenInCursor" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "780e6b90ec672da4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "PackageInfo", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/package-info.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "PackageInfoHeader", - "PackageInfoName", - "PackageInfoChangeType", - "PackageInfoVersion", - "PackageInfo", - "PackageInfoDescription", - "PackageInfoContent", - "PackageInfoDependencies", - "PackageInfoDependency" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "85890eb96f9609e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Panel", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/panel.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Panel"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4a749f1ee9b17709", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Persona", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/persona.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": ["Persona"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "435fa29da4cd3bc4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Plan", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/plan.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Plan", - "PlanHeader", - "PlanTitle", - "PlanDescription", - "PlanAction", - "PlanContent", - "PlanFooter", - "PlanTrigger" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "510abb2917e68442", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "PromptInput", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/prompt-input.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "chat"], - "exports": [ - "PromptInputProvider", - "LocalReferencedSourcesContext", - "PromptInputActionAddAttachments", - "PromptInputActionAddScreenshot", - "PromptInput", - "PromptInputBody", - "PromptInputTextarea", - "PromptInputHeader", - "PromptInputFooter", - "PromptInputTools", - "PromptInputButton", - "PromptInputActionMenu", - "PromptInputActionMenuTrigger", - "PromptInputActionMenuContent", - "PromptInputActionMenuItem", - "PromptInputSubmit", - "PromptInputSelect", - "PromptInputSelectTrigger", - "PromptInputSelectContent", - "PromptInputSelectItem", - "PromptInputSelectValue", - "PromptInputHoverCard", - "PromptInputHoverCardTrigger", - "PromptInputHoverCardContent", - "PromptInputTabsList", - "PromptInputTab", - "PromptInputTabLabel", - "PromptInputTabBody", - "PromptInputTabItem", - "PromptInputCommand", - "PromptInputCommandInput", - "PromptInputCommandList", - "PromptInputCommandEmpty", - "PromptInputCommandGroup", - "PromptInputCommandItem", - "PromptInputCommandSeparator" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "807a1c7e30533d5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Queue", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/queue.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "QueueItem", - "QueueItemIndicator", - "QueueItemContent", - "QueueItemDescription", - "QueueItemActions", - "QueueItemAction", - "QueueItemAttachment", - "QueueItemImage", - "QueueItemFile", - "QueueList", - "QueueSection", - "QueueSectionTrigger", - "QueueSectionLabel", - "QueueSectionContent", - "Queue" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "760d8893db74e576", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Reasoning", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/reasoning.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": ["Reasoning", "ReasoningTrigger", "ReasoningContent"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9e1583032d2304bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Sandbox", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/sandbox.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Sandbox", - "SandboxHeader", - "SandboxContent", - "SandboxTabs", - "SandboxTabsBar", - "SandboxTabsList", - "SandboxTabsTrigger", - "SandboxTabContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d4dd8b8871b26fe9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "SchemaDisplay", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/schema-display.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "SchemaDisplayHeader", - "SchemaDisplayMethod", - "SchemaDisplayPath", - "SchemaDisplayDescription", - "SchemaDisplayContent", - "SchemaDisplayParameter", - "SchemaDisplayParameters", - "SchemaDisplayProperty", - "SchemaDisplayRequest", - "SchemaDisplayResponse", - "SchemaDisplay", - "SchemaDisplayBody", - "SchemaDisplayExample" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9834169ac9f96b34", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Shimmer", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/shimmer.tsx", - "group": "ai-elements", - "categories": ["ai", "feedback"], - "exports": ["Shimmer"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a4dfe28c1e99f1a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Snippet", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/snippet.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "Snippet", - "SnippetAddon", - "SnippetText", - "SnippetInput", - "SnippetCopyButton" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2c24a397975032f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Sources", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/sources.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": ["Sources", "SourcesTrigger", "SourcesContent", "Source"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "127684761e1711b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "SpeechInput", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/speech-input.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": ["SpeechInput"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3e36f90d016e53d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "StackTrace", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/stack-trace.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "StackTrace", - "StackTraceHeader", - "StackTraceError", - "StackTraceErrorType", - "StackTraceErrorMessage", - "StackTraceActions", - "StackTraceCopyButton", - "StackTraceExpandButton", - "StackTraceContent", - "StackTraceFrames" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4623c8fe42f2ec96", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Suggestion", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/suggestion.tsx", - "group": "ai-elements", - "categories": ["ai", "chat"], - "exports": ["Suggestions", "Suggestion"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "695de05372a209d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Task", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/task.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "TaskItemFile", - "TaskItem", - "Task", - "TaskTrigger", - "TaskContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "470c88d6e3ae2316", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Terminal", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/terminal.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "TerminalHeader", - "TerminalTitle", - "TerminalStatus", - "TerminalActions", - "TerminalCopyButton", - "TerminalClearButton", - "TerminalContent", - "Terminal" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f6f706aa8f4bc968", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "TestResults", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/test-results.tsx", - "group": "ai-elements", - "categories": ["ai", "code"], - "exports": [ - "TestResultsHeader", - "TestResultsDuration", - "TestResultsSummary", - "TestResults", - "TestResultsProgress", - "TestResultsContent", - "TestSuite", - "TestSuiteName", - "TestSuiteStats", - "TestSuiteContent", - "TestName", - "TestDuration", - "TestStatus", - "Test", - "TestError", - "TestErrorMessage", - "TestErrorStack" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c6da3c392392bf6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Tool", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/tool.tsx", - "group": "ai-elements", - "categories": ["ai", "display"], - "exports": [ - "Tool", - "ToolHeader", - "ToolContent", - "ToolInput", - "ToolOutput" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c46529a28fa42646", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Toolbar", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/toolbar.tsx", - "group": "ai-elements", - "categories": ["ai", "layout"], - "exports": ["Toolbar"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "52db444d35406780", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Transcription", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/transcription.tsx", - "group": "ai-elements", - "categories": ["ai", "chat", "media"], - "exports": ["Transcription", "TranscriptionSegment"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f398b9144fc54dd6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "VoiceSelector", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/voice-selector.tsx", - "group": "ai-elements", - "categories": ["ai", "input", "media"], - "exports": [ - "VoiceSelector", - "VoiceSelectorTrigger", - "VoiceSelectorContent", - "VoiceSelectorDialog", - "VoiceSelectorInput", - "VoiceSelectorList", - "VoiceSelectorEmpty", - "VoiceSelectorGroup", - "VoiceSelectorItem", - "VoiceSelectorShortcut", - "VoiceSelectorSeparator", - "VoiceSelectorGender", - "VoiceSelectorAccent", - "VoiceSelectorAge", - "VoiceSelectorName", - "VoiceSelectorDescription", - "VoiceSelectorAttributes", - "VoiceSelectorBullet", - "VoiceSelectorPreview" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b07636d34ff4cd5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "WebPreview", - "discovered_via": "registry.json", - "file": "src/components/ai-elements/web-preview.tsx", - "group": "ai-elements", - "categories": ["ai", "media"], - "exports": [ - "WebPreview", - "WebPreviewNavigation", - "WebPreviewNavigationButton", - "WebPreviewUrl", - "WebPreviewBody", - "WebPreviewConsole" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - } - ], - "ui_surfaces": [ - { - "id": "b5ae8943f7a89468", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T17:51:23Z", - "scanner_version": "dogfood-attempt-4" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-5/NOTES.md b/dogfood/ghost-ui/attempt-5/NOTES.md deleted file mode 100644 index c29708a2..00000000 --- a/dogfood/ghost-ui/attempt-5/NOTES.md +++ /dev/null @@ -1,65 +0,0 @@ -# Attempt 5 - ghost-ui scan, 2026-05-01 (from scratch) - -This is the faithful redo after attempt 4 reused prior artifacts. The scan followed the three-stage recipe from empty `dogfood/ghost-ui/attempt-5`: map, survey, fingerprint. - -## Stage Results - -| Stage | Result | -|---|---| -| map | `map.md` authored from `ghost-scan inventory packages/ghost-ui` plus source inspection | -| survey | `survey.json` generated by a fresh survey script over `main.css`, theme presets, component class atoms, and registry entries | -| fingerprint | `fingerprint.md` interpreted from the new survey; no checks promoted without curator selection | - -## Survey Coverage - -| Section | Count | Coverage note | -|---|---:|---| -| values | 243 | 141 color, 34 typography, 26 spacing, 26 motion, 8 radius, 7 shadow, 1 breakpoint | -| tokens | 269 | 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages | -| components | 99 | 97 `registry:ui` rows plus `ThemeProvider` and `ThemeToggle` from `src/components/theme` | - -Independent checks: - -- `main.css` has 240 unique CSS variable names. -- `registry.json` has 97 `registry:ui` entries and 106 total registry items. -- Tailwind class-atom pass found 698 resolved color class occurrences and 103 unresolved local color-token occurrences. - -## Important Difference From Attempt 4 - -Attempt 4 was a regression pass over the old survey. Attempt 5 changes the substance: - -- Theme presets are now counted, so color rows jump from 101-ish default-token evidence to 243 broad value rows. -- Tailwind class atoms are resolved into spacing, typography, radius, color, shadow, and motion values. -- The fingerprint no longer claims "no decorative motion"; current source uses `animate-pulse`, `animate-ping`, and `animate-spin`. -- The fingerprint surfaces a real token conflict: `main.css` resets `--color-*`, but AI elements still reference default Tailwind colors like `text-red-400`, `bg-zinc-950`, and `text-blue-600`. - -## Validation - -```bash -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-5/map.md -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-5/survey.json -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-5/fingerprint.md -node packages/ghost-drift/dist/bin.js compare dogfood/ghost-ui/attempt-5/fingerprint.md dogfood/ghost-ui/attempt-5/fingerprint.md -``` - -Map and survey return `0 error(s), 0 warning(s), 0 info`. Fingerprint returns `0 error(s), 0 warning(s), 1 info` because no promoted `checks[]` are present. Self-distance is `0.0%`. - -## Candidate Checks For Human Promotion - -These are not in frontmatter yet because the profile recipe asks the agent to propose and the human curator to promote. - -| Candidate | Canonical | Support | Observed Count | Why it matters | -|---|---|---:|---:|---| -| `semantic-color-atoms-only` | token-architecture | 0.87 | 801 color class occurrences | 698 resolved color class atoms vs. 103 unresolved default Tailwind color atoms after `--color-*` reset | -| `no-font-face-bundles` | font-sourcing | 1.00 | 0 `@font-face` declarations | CSS contract says consumers bring fonts; `font-faces.css` is intentionally empty | -| `radius-token-set` | shape-language | 1.00 | 8 radius values | Default/preset radius vocabulary is `0/10/14/16/18/20/24/999px`; arbitrary radii would drift | -| `component-type-compact` | typography-voice | 0.98 | 199 component font-size atoms | `text-sm` and `text-xs` dominate component text; larger sizes should be deliberate display/context choices | -| `role-named-shadows` | elevation | 1.00 | 7 shadow values | Shadows are role tokens (`mini`, `card`, `popover`, `modal`, etc.) plus local `shadow-none`; arbitrary shadow values would drift | -| `motion-status-or-structure-only` | motion | 0.94 | 101 motion occurrences | Current motion is structural enter/exit or status/loading, not ambient ornament | - -Recommended promotion set: `semantic-color-atoms-only`, `no-font-face-bundles`, `radius-token-set`, `component-type-compact`, and `role-named-shadows`. Hold `motion-status-or-structure-only` until the team decides whether pulse/ping/spin are acceptable status motion or drift. - -## Dogfood Fixes Found - -- `emit review-command` footer now reports final Critical/Serious/Nit counts after escalation and base prior counts separately. -- `emit context-bundle` prompt now names the lower-enforcement state when no checks are promoted instead of telling the agent to "use checks as gates" when no check section exists. diff --git a/dogfood/ghost-ui/attempt-5/build-survey.mjs b/dogfood/ghost-ui/attempt-5/build-survey.mjs deleted file mode 100644 index 3c7b8213..00000000 --- a/dogfood/ghost-ui/attempt-5/build-survey.mjs +++ /dev/null @@ -1,998 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; -import { basename, join, relative } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const OUT = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-5/survey.json"; - -const SOURCE = { - id: "ghost-ui", - role: "primary", - target: "block/ghost@packages/ghost-ui", - commit: "83c2b64", - scanned_at: "2026-05-01T18:04:43Z", - scanner_version: "dogfood-attempt-5", -}; - -const MAIN_CSS = join(TARGET_ROOT, "src/styles/main.css"); -const THEME_PRESETS = join(TARGET_ROOT, "src/lib/theme-presets.ts"); -const REGISTRY = join(TARGET_ROOT, "registry.json"); -const SURFACE_DIRS = [ - "src/components/ui", - "src/components/ai-elements", - "src/components/theme", - "src/hooks", - "src/styles", - "src/lib", -]; - -const TAILWIND_TEXT_SIZE_PX = { - xs: 12, - sm: 14, - base: 16, - lg: 18, - xl: 20, - "2xl": 24, - "3xl": 30, - "4xl": 36, - "5xl": 48, - "6xl": 60, - "7xl": 72, - "8xl": 96, - "9xl": 128, -}; - -const TAILWIND_FONT_WEIGHTS = { - thin: 100, - extralight: 200, - light: 300, - normal: 400, - medium: 500, - semibold: 600, - bold: 700, - extrabold: 800, - black: 900, -}; - -function walk(dir, acc = []) { - for (const entry of readdirSync(dir)) { - const path = join(dir, entry); - const stat = statSync(path); - if (stat.isDirectory()) { - walk(path, acc); - } else { - acc.push(path); - } - } - return acc; -} - -function rel(path) { - return relative(TARGET_ROOT, path); -} - -function read(path) { - return readFileSync(path, "utf8"); -} - -const surfaceFiles = SURFACE_DIRS.flatMap((dir) => - walk(join(TARGET_ROOT, dir)), -).filter((path) => /\.(css|tsx?|jsx?)$/.test(path)); - -const fileText = new Map(surfaceFiles.map((path) => [path, read(path)])); - -function parseCssVariables(css) { - const vars = new Map(); - const lines = css.split(/\r?\n/); - let scope = null; - let depth = 0; - let pending = null; - - function addDecl(name, value, line) { - const entry = vars.get(name) ?? {}; - entry[scope] = { value: value.trim().replace(/\s+/g, " "), line }; - vars.set(name, entry); - } - - for (let i = 0; i < lines.length; i++) { - const rawLine = lines[i]; - const trimmed = rawLine.trim(); - - if (!scope) { - if (trimmed.startsWith("@theme inline")) { - scope = "theme-inline"; - depth = 0; - } else if (trimmed.startsWith("@theme")) { - scope = "theme"; - depth = 0; - } else if (trimmed.startsWith(":root")) { - scope = "root"; - depth = 0; - } else if (trimmed.startsWith(".dark")) { - scope = "dark"; - depth = 0; - } - } - - if (scope && pending) { - pending.value += ` ${trimmed.replace(/;$/, "")}`; - if (trimmed.includes(";")) { - addDecl(pending.name, pending.value, pending.line); - pending = null; - } - } else if (scope) { - const match = trimmed.match(/^(--[a-zA-Z0-9_-]+):\s*(.*)$/); - if (match) { - const name = match[1]; - const value = match[2].replace(/;$/, ""); - if (match[2].includes(";")) { - addDecl(name, value, i + 1); - } else { - pending = { name, value, line: i + 1 }; - } - } - } - - if (scope) { - depth += countChar(rawLine, "{"); - depth -= countChar(rawLine, "}"); - if (depth <= 0 && trimmed.endsWith("}")) { - scope = null; - depth = 0; - pending = null; - } - } - } - - return vars; -} - -function countChar(text, char) { - let count = 0; - for (const current of text) { - if (current === char) count++; - } - return count; -} - -function parsePresetOverrides(ts) { - const overrides = new Map(); - const lines = ts.split(/\r?\n/); - let preset = null; - let mode = null; - let depth = 0; - - for (const line of lines) { - const idMatch = line.match(/^\s*id:\s*"([^"]+)"/); - if (idMatch) preset = idMatch[1]; - - if (preset && !mode) { - if (line.match(/^\s*light:\s*{/)) { - mode = "light"; - depth = 0; - } else if (line.match(/^\s*dark:\s*{/)) { - mode = "dark"; - depth = 0; - } - } - - if (preset && mode) { - const valueMatch = line.match(/^\s*"([^"]+)":\s*"([^"]+)"/); - if (valueMatch) { - const name = valueMatch[1]; - const value = valueMatch[2]; - const key = `${preset}:${mode}`; - const entry = overrides.get(name) ?? {}; - entry[key] = value; - overrides.set(name, entry); - } - depth += countChar(line, "{"); - depth -= countChar(line, "}"); - if (depth <= 0 && line.trim().startsWith("}")) { - mode = null; - } - } - } - - return overrides; -} - -const cssVars = parseCssVariables(read(MAIN_CSS)); -const presetOverrides = parsePresetOverrides(read(THEME_PRESETS)); - -function rawFor(name, mode = "default") { - const entry = cssVars.get(name); - if (!entry) return undefined; - if (mode === "dark") { - return ( - entry.dark?.value ?? - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value - ); - } - return ( - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value ?? - entry.dark?.value - ); -} - -function resolveToken(name, mode = "default", seen = []) { - if (seen.includes(name)) { - return { value: rawFor(name, mode) ?? name, chain: seen, resolved: false }; - } - - const raw = rawFor(name, mode); - if (!raw) { - return { value: name, chain: seen, resolved: false }; - } - - const varMatch = raw.match(/^var\((--[a-zA-Z0-9_-]+)(?:,[^)]+)?\)$/); - if (varMatch) { - const next = varMatch[1]; - const resolved = resolveToken(next, mode, [...seen, name]); - return { ...resolved, chain: [next, ...resolved.chain] }; - } - - const calcMatch = raw.match( - /^calc\(var\((--[a-zA-Z0-9_-]+)\)\s*([+-])\s*([0-9.]+)px\)$/, - ); - if (calcMatch) { - const baseName = calcMatch[1]; - const op = calcMatch[2]; - const delta = Number(calcMatch[3]); - const base = resolveToken(baseName, mode, [...seen, baseName]); - const parsed = parseLength(base.value); - if (parsed) { - const basePx = toPx(parsed.scalar, parsed.unit); - const value = op === "+" ? basePx + delta : basePx - delta; - return { - value: `${formatNumber(value)}px`, - chain: [...seen, baseName], - resolved: true, - }; - } - } - - return { value: raw, chain: seen, resolved: true }; -} - -function parseLength(raw) { - const text = String(raw).trim(); - if (text === "0") return { scalar: 0, unit: "px" }; - const match = text.match(/^(-?[0-9.]+)(px|rem|em|vw|vh|%)$/); - if (!match) return null; - return { scalar: Number(match[1]), unit: match[2] }; -} - -function toPx(scalar, unit) { - if (unit === "rem" || unit === "em") return scalar * 16; - return scalar; -} - -function formatNumber(n) { - return Number.isInteger(n) ? String(n) : String(Number(n.toFixed(3))); -} - -function normalizeScalarValue(raw) { - const parsed = parseLength(raw); - if (!parsed) return String(raw).trim(); - if (parsed.unit === "px" || parsed.unit === "rem" || parsed.unit === "em") { - return `${formatNumber(toPx(parsed.scalar, parsed.unit))}px`; - } - return `${formatNumber(parsed.scalar)}${parsed.unit}`; -} - -function normalizeColor(raw) { - return String(raw) - .trim() - .replace(/^#([0-9A-Fa-f]+)/, (_, hex) => `#${hex.toLowerCase()}`); -} - -function kindForToken(name, value) { - const raw = String(value).trim(); - if ( - raw.startsWith("#") || - raw.startsWith("rgb") || - name.startsWith("--color-") || - name.startsWith("--background") || - name.startsWith("--border") || - name.startsWith("--text-") || - name.startsWith("--chart") || - name.startsWith("--ring") || - name.startsWith("--dark") || - name.startsWith("--surface") - ) { - return raw.match(/^(#[0-9A-Fa-f]{3,8}|rgba?\(|hsla?\()/) ? "color" : null; - } - if (name.startsWith("--radius")) return "radius"; - if (name.startsWith("--shadow")) return "shadow"; - if ( - name.startsWith("--font") || - name.startsWith("--heading") || - name.startsWith("--display") || - name.startsWith("--body") || - name.startsWith("--label") || - name.startsWith("--pullquote") || - name === "--text-xxs" - ) { - return "typography"; - } - if ( - name.startsWith("--spacing") || - name.startsWith("--page") || - name.startsWith("--section") - ) { - return name.includes("max-width") ? "breakpoint" : "spacing"; - } - if (name.startsWith("--breakpoint")) return "breakpoint"; - if ( - name.startsWith("--duration") || - name.startsWith("--ease") || - name.startsWith("--animate") - ) { - return "motion"; - } - return null; -} - -function normalizeValue(kind, value) { - if (kind === "color") return normalizeColor(value); - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - return normalizeScalarValue(value); - } - if (kind === "motion") { - const text = String(value).trim(); - const seconds = text.match(/^([0-9.]+)s$/); - if (seconds) return `${formatNumber(Number(seconds[1]) * 1000)}ms`; - return text; - } - return String(value).trim(); -} - -function specFor(kind, value) { - if (kind === "color") { - if (value.startsWith("#")) return { space: "srgb", hex: value }; - return { space: "unknown" }; - } - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - const parsed = parseLength(value); - if (parsed) return parsed; - } - if (kind === "motion") { - const ms = value.match(/^([0-9.]+)ms$/); - if (ms) return { duration_ms: Number(ms[1]) }; - return { easing: value }; - } - if (kind === "typography") { - const parsed = parseLength(value); - if (parsed) return { size: parsed }; - if (/^[0-9]+$/.test(value)) return { weight: Number(value) }; - return { family: value }; - } - return undefined; -} - -const values = new Map(); - -function addValue(kind, value, raw, count, files, usageKey, role) { - if (!kind || !value) return; - const normalized = normalizeValue(kind, value); - if (!normalized || normalized === "initial") return; - const key = `${kind}|${normalized}`; - const row = values.get(key) ?? { - id: "", - source: SOURCE, - kind, - value: normalized, - raw, - spec: specFor(kind, normalized), - occurrences: 0, - files: new Set(), - usage: {}, - role_hypothesis: role, - }; - row.occurrences += count; - for (const file of files) row.files.add(file); - row.usage[usageKey] = (row.usage[usageKey] ?? 0) + count; - if (!row.role_hypothesis && role) row.role_hypothesis = role; - values.set(key, row); -} - -function countNeedle(needle) { - let occurrences = 0; - const files = new Set(); - for (const [file, text] of fileText) { - let index = text.indexOf(needle); - while (index !== -1) { - occurrences++; - files.add(rel(file)); - index = text.indexOf(needle, index + needle.length); - } - } - return { occurrences, files }; -} - -const tokens = []; -for (const name of [...cssVars.keys()].sort()) { - const resolved = resolveToken(name); - const dark = resolveToken(name, "dark"); - const seen = countNeedle(name); - const byTheme = {}; - if (dark.resolved && dark.value !== resolved.value) { - byTheme.dark = normalizeValue( - kindForToken(name, dark.value) ?? "", - dark.value, - ); - } - const presetForName = presetOverrides.get(name); - if (presetForName) { - for (const [theme, raw] of Object.entries(presetForName)) { - const kind = kindForToken(name, raw); - byTheme[theme] = kind ? normalizeValue(kind, raw) : raw; - } - } - - tokens.push({ - id: "", - source: SOURCE, - name, - alias_chain: resolved.chain, - resolved_value: normalizeValue( - kindForToken(name, resolved.value) ?? "", - resolved.value, - ), - ...(Object.keys(byTheme).length ? { by_theme: byTheme } : {}), - occurrences: Math.max(1, seen.occurrences), - }); - - const kind = kindForToken(name, resolved.value); - if (kind) { - addValue( - kind, - resolved.value, - name, - Math.max(1, seen.occurrences), - seen.files.size ? seen.files : new Set(["src/styles/main.css"]), - "css_var", - roleForToken(name), - ); - } - for (const raw of Object.values(presetForName ?? {})) { - const kindForPreset = kindForToken(name, raw); - if (kindForPreset) { - addValue( - kindForPreset, - raw, - name, - 1, - new Set(["src/lib/theme-presets.ts"]), - "theme_preset", - roleForToken(name), - ); - } - } -} - -function roleForToken(name) { - if (name.includes("danger") || name.includes("destructive")) return "danger"; - if (name.includes("success")) return "success"; - if (name.includes("warning")) return "warning"; - if (name.includes("info")) return "info"; - if (name.includes("chart")) return "chart"; - if (name.includes("background")) return "surface"; - if (name.includes("border")) return "border"; - if (name.includes("text") || name.includes("foreground")) return "text"; - if (name.includes("radius")) return "shape"; - if (name.includes("shadow")) return "elevation"; - return undefined; -} - -const unresolvedTokens = new Map(); - -function addUnresolvedToken(name, atom, count, files) { - const current = unresolvedTokens.get(name) ?? { - name, - atoms: new Set(), - occurrences: 0, - files: new Set(), - }; - current.atoms.add(atom); - current.occurrences += count; - for (const file of files) current.files.add(file); - unresolvedTokens.set(name, current); -} - -function extractAtoms() { - const atoms = new Map(); - const atomRe = - /\b(bg|text|border|fill|stroke|ring|outline|from|to|via|p[lrtbxy]?|m[lrtbxy]?|w|h|min-w|min-h|max-w|max-h|size|gap|space-[xy]|inset(?:-[xy])?|top|right|bottom|left|rounded(?:-[a-z0-9]+)?|shadow|duration|ease|animate|font)-[a-zA-Z0-9./:%_#-]+(?:\[[^\]]+\])?/g; - for (const [file, text] of fileText) { - if (!/\.(tsx?|jsx?)$/.test(file)) continue; - for (const match of text.matchAll(atomRe)) { - const atom = match[0]; - const entry = atoms.get(atom) ?? { count: 0, files: new Set() }; - entry.count++; - entry.files.add(rel(file)); - atoms.set(atom, entry); - } - } - return atoms; -} - -function suffix(atom) { - return atom.slice(atom.indexOf("-") + 1).split("/")[0]; -} - -function numericSpacingValue(value) { - if (value === "px") return 1; - if (value === "0") return 0; - const fraction = value.match(/^([0-9]+)\/([0-9]+)$/); - if (fraction) return null; - const n = Number(value); - if (Number.isFinite(n)) return n * 4; - return null; -} - -function bracketValue(atom) { - const match = atom.match(/\[([^\]]+)\]/); - return match?.[1]; -} - -function tokenValue(name, mode = "default") { - if (!cssVars.has(name)) return null; - const resolved = resolveToken(name, mode); - return resolved.resolved ? resolved.value : null; -} - -function resolveColorAtom(atom, tokenSuffix, entry) { - const token = `--color-${tokenSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "color", - value, - atom, - entry.count, - entry.files, - "className", - roleForToken(token), - ); - } else if (looksLikeMissingColor(tokenSuffix)) { - addUnresolvedToken(token, atom, entry.count, entry.files); - } -} - -function looksLikeMissingColor(tokenSuffix) { - return /^(slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-[0-9]{2,3}$/.test( - tokenSuffix, - ); -} - -function handleAtom(atom, entry) { - const rawSuffix = suffix(atom); - const bracket = bracketValue(atom); - - if (atom.startsWith("font-")) { - if (TAILWIND_FONT_WEIGHTS[rawSuffix] !== undefined) { - addValue( - "typography", - String(TAILWIND_FONT_WEIGHTS[rawSuffix]), - atom, - entry.count, - entry.files, - "className", - "font-weight", - ); - } else { - const token = `--font-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "typography", - value, - atom, - entry.count, - entry.files, - "className", - "font-family", - ); - } - } - return; - } - - if (atom.startsWith("text-")) { - if ( - [ - "left", - "right", - "center", - "justify", - "balance", - "pretty", - "wrap", - "nowrap", - "ellipsis", - "clip", - "current", - "transparent", - ].includes(rawSuffix) - ) { - return; - } - if (TAILWIND_TEXT_SIZE_PX[rawSuffix] !== undefined) { - addValue( - "typography", - `${TAILWIND_TEXT_SIZE_PX[rawSuffix]}px`, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - if (bracket) { - addValue( - "typography", - bracket, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - atom.startsWith("bg-") || - atom.startsWith("border-") || - atom.startsWith("ring-") || - atom.startsWith("fill-") || - atom.startsWith("stroke-") || - atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-") - ) { - if ( - /^(border|ring)-offset-/.test(atom) || - /^border-[trblxy](?:-|$)/.test(atom) || - [ - "b", - "t", - "l", - "r", - "x", - "y", - "dashed", - "solid", - "collapse", - "separate", - ].includes(rawSuffix) - ) { - return; - } - if ( - (atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-")) && - [ - "top", - "right", - "bottom", - "left", - "start", - "end", - "top-2", - "right-2", - "bottom-2", - "left-2", - "top-4", - "right-4", - "bottom-4", - "left-4", - "left-52", - "right-52", - ].includes(rawSuffix) - ) { - return; - } - if (bracket?.startsWith("#")) { - addValue("color", bracket, atom, entry.count, entry.files, "className"); - return; - } - if (/^(0|2|4|8)$/.test(rawSuffix) && !atom.startsWith("bg-")) return; - if (["none", "transparent", "current"].includes(rawSuffix)) return; - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - /^(p|px|py|pt|pr|pb|pl|m|mx|my|mt|mr|mb|ml|w|h|min-w|min-h|max-w|max-h|size|gap|space-x|space-y|inset|inset-x|inset-y|top|right|bottom|left)-/.test( - atom, - ) - ) { - if ( - ["full", "fit", "auto", "screen", "min", "max", "0.5"].includes(rawSuffix) - ) { - if (rawSuffix !== "0.5") return; - } - const tokenName = atom.startsWith("h-") ? `--spacing-${rawSuffix}` : null; - const tokenResolved = tokenName ? tokenValue(tokenName) : null; - if (tokenResolved) { - addValue( - "spacing", - tokenResolved, - atom, - entry.count, - entry.files, - "className", - ); - return; - } - const scalar = bracket ? null : numericSpacingValue(rawSuffix); - if (scalar !== null) { - addValue( - "spacing", - `${scalar}px`, - atom, - entry.count, - entry.files, - "className", - ); - } else if (bracket) { - addValue("spacing", bracket, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("rounded")) { - if (atom === "rounded-full") { - addValue( - "radius", - "999px", - atom, - entry.count, - entry.files, - "className", - "pill", - ); - return; - } - if (atom === "rounded-none") { - addValue("radius", "0px", atom, entry.count, entry.files, "className"); - return; - } - if (bracket) { - addValue("radius", bracket, atom, entry.count, entry.files, "className"); - return; - } - const radiusSuffix = rawSuffix.replace(/^-[a-z]+-/, ""); - const token = `--radius-${radiusSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "radius", - value, - atom, - entry.count, - entry.files, - "className", - "shape", - ); - } - return; - } - - if (atom.startsWith("shadow-")) { - if (rawSuffix === "none") { - addValue("shadow", "none", atom, entry.count, entry.files, "className"); - return; - } - const token = `--shadow-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "shadow", - value, - atom, - entry.count, - entry.files, - "className", - "elevation", - ); - } - return; - } - - if (atom.startsWith("duration-")) { - const n = Number(rawSuffix); - if (Number.isFinite(n)) { - addValue("motion", `${n}ms`, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("ease-")) { - addValue("motion", rawSuffix, atom, entry.count, entry.files, "className"); - return; - } - - if (atom.startsWith("animate-")) { - const token = `--animate-${rawSuffix}`; - const value = tokenValue(token); - addValue( - "motion", - value ?? rawSuffix, - atom, - entry.count, - entry.files, - "className", - ); - } -} - -for (const [atom, entry] of extractAtoms()) { - handleAtom(atom, entry); -} - -for (const unresolved of unresolvedTokens.values()) { - tokens.push({ - id: "", - source: SOURCE, - name: unresolved.name, - alias_chain: [], - resolved_value: "unresolved", - occurrences: unresolved.occurrences, - resolution: { - status: "unresolved-local", - symbol: [...unresolved.atoms].sort().join(", "), - message: - "Tailwind class atom references a color token not declared after --color-* reset.", - }, - }); -} - -function extractObjectKeys(text, property) { - const marker = `${property}: {`; - const idx = text.indexOf(marker); - if (idx === -1) return []; - const start = text.indexOf("{", idx); - let depth = 0; - let end = start; - for (let i = start; i < text.length; i++) { - if (text[i] === "{") depth++; - if (text[i] === "}") depth--; - if (depth === 0) { - end = i; - break; - } - } - const block = text.slice(start + 1, end); - return [...block.matchAll(/^\s*"?([a-zA-Z0-9_-]+)"?:\s/gm)] - .map((match) => match[1]) - .filter( - (key) => !["className", "variants", "defaultVariants"].includes(key), - ); -} - -const registry = JSON.parse(read(REGISTRY)); -const components = []; -for (const item of registry.items.filter( - (entry) => entry.type === "registry:ui", -)) { - const filePath = item.files?.[0]?.path - ? join(TARGET_ROOT, item.files[0].path) - : null; - const text = filePath ? read(filePath) : ""; - const variants = extractObjectKeys(text, "variant"); - const sizes = extractObjectKeys(text, "size"); - components.push({ - id: "", - source: SOURCE, - name: item.name, - discovered_via: "registry.json", - ...(variants.length ? { variants } : {}), - ...(sizes.length ? { sizes } : {}), - }); -} - -for (const path of walk(join(TARGET_ROOT, "src/components/theme")).filter( - (file) => file.endsWith(".tsx"), -)) { - components.push({ - id: "", - source: SOURCE, - name: basename(path, ".tsx"), - discovered_via: "source:src/components/theme", - }); -} - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values: [...values.values()] - .map((row) => { - const out = { - id: row.id, - source: row.source, - kind: row.kind, - value: row.value, - raw: row.raw, - ...(row.spec ? { spec: row.spec } : {}), - occurrences: row.occurrences, - files_count: row.files.size, - usage: row.usage, - ...(row.role_hypothesis - ? { role_hypothesis: row.role_hypothesis } - : {}), - }; - return out; - }) - .sort( - (a, b) => a.kind.localeCompare(b.kind) || a.value.localeCompare(b.value), - ), - tokens: tokens.sort((a, b) => a.name.localeCompare(b.name)), - components: components.sort((a, b) => a.name.localeCompare(b.name)), - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -writeFileSync(OUT, `${JSON.stringify(survey, null, 2)}\n`); - -const byKind = survey.values.reduce((acc, row) => { - acc[row.kind] = (acc[row.kind] ?? 0) + 1; - return acc; -}, {}); - -console.error( - JSON.stringify( - { - values: survey.values.length, - values_by_kind: byKind, - tokens: survey.tokens.length, - unresolved_tokens: unresolvedTokens.size, - components: survey.components.length, - out: OUT, - }, - null, - 2, - ), -); diff --git a/dogfood/ghost-ui/attempt-5/fingerprint.md b/dogfood/ghost-ui/attempt-5/fingerprint.md deleted file mode 100644 index 026211bd..00000000 --- a/dogfood/ghost-ui/attempt-5/fingerprint.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-05-01T18:04:43Z -sources: - - block/ghost@packages/ghost-ui@83c2b64 -observation: - personality: - - editorial - - monochrome-default - - token-driven - - pill-forward - - compact - - themeable - resembles: - - shadcn/ui - - Vercel Geist - - Linear -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: theming-architecture - - dimension: shape-language - - dimension: typography-voice - - dimension: font-sourcing - - dimension: spatial-system - - dimension: density - - dimension: elevation - - dimension: motion - - dimension: token-architecture -palette: - dominant: - - role: background - value: "#ffffff" - - role: foreground-accent - value: "#1a1a1a" - - role: border - value: "#e8e8e8" - - role: muted-surface - value: "#f0f0f0" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#0a0a0a" - - "#000000" - count: 13 - semantic: - - role: danger - value: "#f94b4b" - - role: danger-dark - value: "#ff6b6b" - - role: success - value: "#91cb80" - - role: success-dark - value: "#a3d795" - - role: info - value: "#5c98f9" - - role: info-dark - value: "#7cacff" - - role: warning - value: "#fbcd44" - - role: warning-dark - value: "#ffd966" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - - role: dark-surface - value: "#0a0a0a" - saturationProfile: mixed - contrast: high -spacing: - scale: [0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 64, 75, 96, 100, 256, 288, 320] - regularity: 0.78 - baseUnit: 4 -typography: - families: - - 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif' - - '"Geist Mono", monospace' - - serif - sizeRamp: [10, 11, 12, 14, 16, 18, 20, 24, 28, 40, 44, 48, 64, 96, 192] - weightDistribution: - "300": 1 - "400": 5 - "500": 38 - "600": 9 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [0, 10, 14, 16, 18, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate - borderTokenCount: 19 ---- - -# Character - -`ghost-ui` reads as a compact shadcn-derived component system wearing an editorial, monochrome-first skin. Its default theme is nearly achromatic and high-contrast, but the package also ships five runtime presets that can replace the color and radius vocabulary without changing component code. The component layer is dense and practical: small type, tight controls, pill-forward interactive elements, tokenized surfaces, and structural motion for overlays, navigation, loading, and AI-status affordances. - -# Decisions - -### color-strategy - -Default UI color is mostly grayscale; hue is reserved for semantic state, charts, and optional runtime presets. The broad survey has 141 color rows because bundled presets ship alternate palettes, but the default component contract still resolves most high-occurrence UI color through semantic tokens instead of ad hoc literals. - -**Evidence:** -- Survey top color rows: `#ffffff` (385 occurrences), `#1a1a1a` (305), `#e8e8e8` (241), `#f0f0f0` (223), `#999999` (193). -- Default neutral ladder appears as `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#0a0a0a`, `#000000`. -- Semantic/default hues are tokenized: danger `#f94b4b` / `#ff6b6b`, success `#91cb80` / `#a3d795`, info `#5c98f9` / `#7cacff`, warning `#fbcd44` / `#ffd966`. -- Chart hues are a separate data palette: `#f6b44a`, `#7585ff`, `#d76a6a`, `#d185e0`, `#91cb80`. - -### surface-hierarchy - -Surfaces are named by role, not shade number. Background, foreground, border, input, card, popover, sidebar, accent, and destructive tokens form the component vocabulary, with default and dark values flowing through the same names. - -**Evidence:** -- High-usage aliases: `--background` → `#ffffff` (145 occurrences), `--border` → `#e8e8e8` (147), `--border-input` → `#e5e5e5` (32), `--text-default` → `#1a1a1a` (29). -- Components use role atoms such as `bg-background`, `bg-muted`, `text-muted-foreground`, `border-input`, `ring-ring/50`, and `bg-card`. -- Dark surface tokens include `#000000`, `#232323`, `#333333`, and `#0a0a0a` rather than a separate component branch. - -### theming-architecture - -The theme architecture is a CSS-variable cascade: raw constants and semantic variables feed shadcn aliases, then Tailwind `@theme inline` exposes them to class atoms. Runtime presets override the same semantic keys, including radius tokens, so theme switching changes the language through variables rather than component variants. - -**Evidence:** -- `src/styles/main.css` declares 240 unique CSS variable names and 323 total declarations. -- `src/lib/theme-presets.ts` ships five non-default presets: `warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, and `soft-pastel`. -- `neon-brutalist` sets `--radius`, `--radius-pill`, `--radius-button`, `--radius-input`, `--radius-card`, `--radius-card-lg`, `--radius-card-sm`, `--radius-dropdown`, and `--radius-modal` to `0px`. - -### shape-language - -The default shape system is pill-forward for interactives and moderately rounded for containers, with a notable preset escape hatch to square everything off. Shape is therefore a default design stance plus a themeable axis, not a hard global constant. - -**Evidence:** -- Radius rows: `999px` (46 occurrences), `20px` (114), `18px` (49), `16px` (27), `10px` (16), `14px` (11), `24px` (10), and preset-driven `0px` (23). -- Button uses `rounded-full`; card and message surfaces use `rounded-lg`; dropdowns use `rounded-dropdown`; many controls inherit `rounded-md`. -- Theme defaults define `--radius-button: 999px`, `--radius-input: 999px`, `--radius-card: 20px`, `--radius-dropdown: 10px`, and `--radius-modal: 16px`. - -### typography-voice - -Typography mixes compact utility text with an editorial display system. Most component usage is `text-sm`/`text-xs` and medium weight, while the token layer still carries dramatic display clamps, tight line heights, negative tracking, and uppercase-label rhythm. - -**Evidence:** -- Component class atoms: `text-sm` resolves to `14px` (121 occurrences) and `text-xs` resolves to `12px` (74). -- Editorial tokens include `clamp(64px, 8vw, 96px)`, `clamp(44px, 5vw, 64px)`, `clamp(3rem, 12vw, 12rem)`, line heights `0.85`, `0.88`, `0.95`, and letter spacing `-0.05em`, `-0.035em`, `-0.02em`, `-0.01em`. -- Weight usage is concentrated at `500` (38 occurrences) with smaller signals for `600`, `700`, `900`, `400`, and `300`. - -### font-sourcing - -The CSS contract remains consumer-supplied for fonts even though the source tree currently contains unused font assets. `font-faces.css` declares no `@font-face`; the shipped token layer names system sans, Geist Mono, and generic serif stacks. - -**Evidence:** -- `src/styles/font-faces.css` contains only the comment that the design language ships with no bundled fonts. -- Token rows include `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`, `"Geist Mono", monospace`, and `serif`. -- The package `files` list publishes `src/styles` and `registry.json`, not `src/fonts`. - -### spatial-system - -Spacing is now visibly Tailwind-consumed rather than only token-declared. The dominant rhythm is a 4px utility grid with half-step exceptions, plus named component heights and a few large layout widths. - -**Evidence:** -- Class-derived spacing rows dominate: `16px` (224 occurrences), `8px` (206), `12px` (107), `4px` (102), `32px` (56), `6px` (48). -- Named component heights remain present: `--spacing-button-sm` → `32px`, `--spacing-button` → `44px`, `--spacing-input` → `52px`. -- Layout-specific rows include `75px`, `96px`, `100px`, `256px`, `288px`, and `320px`, which should not be mistaken for the core control rhythm. - -### density - -The component layer is compact and repeated-action friendly, while page-level tokens preserve larger editorial whitespace. Controls cluster around 32-40px heights with 12-14px text; cards and page sections carry the bigger breathing room. - -**Evidence:** -- Button sizes use `h-8`, `h-9`, `h-10`, `w-7`, `w-8`, `w-9`, and `w-10`; `Button` defaults to `text-sm`. -- `MessageContent` uses `text-sm`, `gap-2`, `px-4`, and `py-3`. -- Page-level tokens still include `--section-padding-vertical: 100px` and `--section-heading-margin-bottom: 75px`. - -### elevation - -Elevation is layered and role-named. Shadows are not a numeric scale; they map to mini, button, card, elevated, popover, modal, keyboard, and date-field focus roles, with dark-mode variants increasing opacity. - -**Evidence:** -- Shadow rows include `0 2px 8px rgba(76, 76, 76, 0.15)` (58 occurrences), `0 8px 30px rgba(0, 0, 0, 0.12)` (21), `0 20px 60px rgba(0, 0, 0, 0.2)` (14), and `0 0 0 3px rgba(26, 26, 26, 0.15)` (12). -- Dark defaults define the same role names with stronger opacity, including modal at `rgba(0, 0, 0, 0.6)`. -- `shadow-none` is also used (9 occurrences), mainly as a local suppression rather than the global posture. - -### motion - -Motion is practical, not absent. The scan found structural enter/exit atoms, duration tiers, accordion/caret/fade/scale tokens, and status/loading animations such as pulse, ping, and spin. The old "no decorative motion" stance is too strong for the current codebase. - -**Evidence:** -- `animate-in` appears 30 times and `animate-out` 28 times across overlay/sheet-style behavior. -- Duration values include `150ms`, `200ms`, `300ms`, `400ms`, `500ms`, and `1000ms`; the token layer declares fast/normal/slow as `150ms`, `200ms`, and `400ms`. -- Loading/status motion appears as `animate-pulse`, `animate-ping`, and `animate-spin` in skeleton, test-results, speech-input, terminal, and spinner components. - -### token-architecture - -The intended token architecture is semantic, but the faithful Tailwind atom pass exposed a real conflict: `main.css` resets `--color-*`, while several AI elements still use default Tailwind color families. Those atoms are unresolved locally and should be treated as lower-confidence scan evidence and likely drift from the semantic token contract. - -**Evidence:** -- Survey has 269 token rows: 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages. -- Unresolved local tokens account for 103 occurrences, including `--color-red-400`, `--color-red-700`, `--color-green-400`, `--color-blue-600`, `--color-yellow-400`, `--color-orange-700`, and `--color-zinc-800`. -- Resolved color class usage still dominates: 698 resolved color class occurrences versus 103 unresolved local color-token occurrences. diff --git a/dogfood/ghost-ui/attempt-5/map.md b/dogfood/ghost-ui/attempt-5/map.md deleted file mode 100644 index d45f8fa8..00000000 --- a/dogfood/ghost-ui/attempt-5/map.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -subject: - id: ghost-ui - target: block/ghost@packages/ghost-ui -sources: - - id: ghost-ui - role: primary - target: block/ghost@packages/ghost-ui - paths: - - packages/ghost-ui -mapped_at: 2026-05-01 -platform: web -languages: - - { name: typescript, files: 116, share: 0.468 } - - { name: json, files: 114, share: 0.46 } - - { name: markdown, files: 10, share: 0.04 } - - { name: css, files: 4, share: 0.016 } - - { name: javascript, files: 4, share: 0.016 } -build_system: pnpm -package_manifests: - - package.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: shadcn, version: "4.3.0" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/ui - - src/components/ai-elements - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - src/components/ui/** - - src/components/ai-elements/** - - src/components/theme/** - - src/styles/** - - src/lib/theme-*.ts - exclude: - - src/mcp/** - - scripts/** - - dist/** - - dist-lib/** - - dist-mcp/** - - test/** - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: - - src/components/ui - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: - - src/components/ai-elements - sub_areas: [chat, agent-state, artifacts, terminal, media] - - name: theme-controls - paths: - - src/components/theme - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - sub_areas: [runtime-presets, css-variable-injection] - - name: tokens - paths: - - src/styles - sub_areas: [colors, typography, radius, shadows, motion, spacing] - - name: hooks - paths: - - src/hooks - sub_areas: [scroll-reveal, mobile, text-animation] -orientation_files: - - package.json - - registry.json - - components.json - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/components/ui/button.tsx - - src/components/ui/card.tsx - - src/components/ai-elements/message.tsx ---- - -## Identity - -`ghost-ui` is the reusable React component and theme package inside the Ghost repo. It publishes a shadcn-compatible registry, a CSS token surface, and an MCP server for exposing the registry to agents. - -## Topology - -The design system is colocated in `packages/ghost-ui`: canonical tokens live in `src/styles/main.css` plus theme helper files in `src/lib`, while component surfaces live under `src/components/ui`, `src/components/ai-elements`, and `src/components/theme`. The registry enumerates the distributable component set and is the strongest component-count signal. - -## Conventions - -Styling is Tailwind v4 driven by CSS custom properties: raw constants and semantic tokens cascade into `@theme inline` aliases consumed by components. Runtime presets override the same CSS variables rather than branching component code, so the scan should treat tokens and component usage together. diff --git a/dogfood/ghost-ui/attempt-5/survey.json b/dogfood/ghost-ui/attempt-5/survey.json deleted file mode 100644 index b270f3a7..00000000 --- a/dogfood/ghost-ui/attempt-5/survey.json +++ /dev/null @@ -1,12398 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - } - ], - "values": [ - { - "id": "f6139217dbe6f732", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "--breakpoint-desktop", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "759ac417ccacc6a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#000000", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 51, - "files_count": 9, - "usage": { - "css_var": 37, - "theme_preset": 8, - "className": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "9ef3572c4c3f35f9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#00e5ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#00e5ff" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "fa3c75eb293e4e68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#00ff66", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#00ff66" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "b5947544d3dd8c86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 13, - "files_count": 2, - "usage": { - "theme_preset": 1, - "css_var": 12 - }, - "role_hypothesis": "surface" - }, - { - "id": "da7bc2104811ca40", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#0a1e28", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a1e28" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "c44348440bf861c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#0e0a14", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0e0a14" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "2ec7d5c2562a445c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#0f3442", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#0f3442" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "453551c992a07f82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#112a36", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#112a36" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "774660bccdc3d61b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#14121c", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#14121c" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6d2c8a3f4c93631e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#141414", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#141414" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6463e1c0c7ed8bbf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1a1224", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1a1224" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "b8a9849800ed0a1f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "--accent-foreground", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 305, - "files_count": 60, - "usage": { - "css_var": 161, - "className": 144 - }, - "role_hypothesis": "text" - }, - { - "id": "06af68978e35c216", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1a3a4a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#1a3a4a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "abb1f47b46b5b454", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1b6b8a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1b6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "939ddd84df9e6178", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1c1410", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#1c1410" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "2f7f295420d467bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1e1528", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1e1528" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "theme_preset": 7 - }, - "role_hypothesis": "surface" - }, - { - "id": "6a452155c6e9117a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#1e1a2a", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1e1a2a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "4e840b7da5e1dd2a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#232323", - "raw": "--color-gray-800", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "06377e633eea9fb9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#2a1e3a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a1e3a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "5a93abca48a876e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#2a1f18", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#2a1f18" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "5b9ff6eedd4ac218", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#2a2640", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a2640" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "f4b7e60128059ae8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#2a5060", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#2a5060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "c1096b155f97bc15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#2e9ab8", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#2e9ab8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "c829bd07a0253de6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#333333", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 8, - "files_count": 3, - "usage": { - "theme_preset": 2, - "css_var": 5, - "className": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "907017e83e765c4f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a2a50", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a2a50" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "25fc7a8c08181bc9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a2c20", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#3a2c20" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "7d4818f832422b6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a3452", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a3452" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "9dfda2d0bc04e3dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a3552", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3a3552" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "6f4f66dd225f1156", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a6070", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#3a6070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "b84897c7d35ce276", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3a6a7c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#3a6a7c" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "18a42a8e8197e54e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3ab4d8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#3ab4d8" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "15e5a1ecf006586f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#3d2b1f", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3d2b1f" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "686ef7d779cbbe21", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#444444", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#444444" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "b5ab369e2d452a1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#4a382a", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#4a382a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "e25442632ccddc26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#4a3a60", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a3a60" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "7d30ca46fd906e0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#4a4468", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a4468" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "122f98b70c71c680", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#555555", - "raw": "--text-muted", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "32ab9cf434f1bf67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5a4530", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#5a4530" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "f6fa7067ce9837bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5a4b6a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a4b6a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "c8ec80a0da07554f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5a8a9c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a8a9c" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "938d2e68e99e98e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5b78d8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#5b78d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "e41aea1e35c74755", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 29, - "files_count": 3, - "usage": { - "css_var": 29 - }, - "role_hypothesis": "info" - }, - { - "id": "8ff62014929e2279", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#5e8ec5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#5e8ec5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "f9a3d657cfc4663e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#666666", - "raw": "--color-gray-600", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 19, - "files_count": 3, - "usage": { - "css_var": 19 - }, - "role_hypothesis": "text" - }, - { - "id": "98321bc496c2dfe4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#6a6280", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6a6280" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "62971339cd4da584", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#6b5940", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6b5940" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "9c893e67edb244d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7090c0", - "raw": "--text-info", - "spec": { - "space": "srgb", - "hex": "#7090c0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "info" - }, - { - "id": "818ca15b1a50b68a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#70a870", - "raw": "--text-success", - "spec": { - "space": "srgb", - "hex": "#70a870" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "success" - }, - { - "id": "d44bf8cd41b0585e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7585ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "2cd0ee109f1f3382", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7a6b8a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#7a6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "1bb4401bfb10b826", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7aaee5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7aaee5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "bef59b8c6f8d773e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7b92e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b92e8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "b7660bd7a6ee36a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7b9ea8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b9ea8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "2bf388e0a8886598", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7bc4b8", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7bc4b8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "a4191e3ef4dab467", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7cacff", - "raw": "--color-blue-100", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "css_var": 3, - "className": 2 - } - }, - { - "id": "0ed6115897704a72", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#7cb88a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#7cb88a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "370293dde9bce278", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#80a8d8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#80a8d8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "info" - }, - { - "id": "74b89e318df543b5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#80c080", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#80c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "success" - }, - { - "id": "c241be640a006e81", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8a82a0", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8a82a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "ba16ea2453e225bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8b6cc1", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#8b6cc1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "63fdcfb215977b6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8b7355", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8b7355" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "275c7f737bba945b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8b7ec8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#8b7ec8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "e56af79d609c6a6e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8baa72", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8baa72" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "55497c04d93b0e96", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8bb8ca", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#8bb8ca" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "65b01c93d8009ef8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#8bd09a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8bd09a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "482c346db3a33c95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#91cb80", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 45, - "files_count": 3, - "usage": { - "css_var": 45 - }, - "role_hypothesis": "success" - }, - { - "id": "8d4fd585d95d6862", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#999999", - "raw": "--color-gray-500", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 193, - "files_count": 56, - "usage": { - "css_var": 28, - "className": 165 - }, - "role_hypothesis": "text" - }, - { - "id": "3d619bf5be5183bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#9c5930", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#9c5930" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "68b3c40bc330b52c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a0c0e8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#a0c0e8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "info" - }, - { - "id": "bc9a1e50f0491048", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a0d8a0", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#a0d8a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "success" - }, - { - "id": "05c079667eda0f7c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a3d795", - "raw": "--color-green-100", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "033e36533886e151", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a8856b", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#a8856b" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "d2d648499a9c6607", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a88de0", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a88de0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "d402c6dc60a545a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a898e0", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#a898e0" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "12ebeb44c4732d54", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a8c256", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#a8c256" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "2ac31bd9e34b0713", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#a8c8e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a8c8e8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "a1a085362a078718", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#aaaaaa", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#aaaaaa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "text" - }, - { - "id": "2a9ca0cf71531318", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#b0d0de", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#b0d0de" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "5488598ba9f294be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#b0d8b0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#b0d8b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "03f2bb9ec8a616fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#b8a8c8", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#b8a8c8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "a51c441fdf2aa0db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c07070", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#c07070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "f55829ed743cf25f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c0a060", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#c0a060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "d6a20f11c5644938", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c46b5a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#c46b5a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "85388b467edf0dc6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c4a882", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c4a882" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6330302cfbbbaf89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c5a24d", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#c5a24d" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "theme_preset": 8 - }, - "role_hypothesis": "surface" - }, - { - "id": "9b4f920c63fb2832", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c8a8e0", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#c8a8e0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "dcfcd15fba496e7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c8bee0", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c8bee0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "9680d5219c48cfe2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#c8dee8", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#c8dee8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "f07e5ca842ef23fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ccc0d8", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#ccc0d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "2bd4c43a6547591f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#cccccc", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 39, - "files_count": 6, - "usage": { - "css_var": 35, - "theme_preset": 1, - "className": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "d15d5fa0c676fe6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d08080", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#d08080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "80c79ce2278c40b7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d185e0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "be47c613a34eeaea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d2cae4", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d2cae4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "5367c19e9b4eea35", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d4853a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#d4853a" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "theme_preset": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "e436585261ecdb8c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d4c2aa", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d4c2aa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "dd0560b12a1978e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "1345edd7d03925a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d76a7a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a7a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "252962ff21038b75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#d8c080", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#d8c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "74c4ace5e4faf72e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ddd4e6", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#ddd4e6" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "e9a3a45d21f23ec5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e07a5f", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e07a5f" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "075eb975e9e0dadc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e08090", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e08090" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "b1a24aebcef4f6a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e0a0a0", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#e0a0a0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "5370f1170c911aa2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e0c880", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#e0c880" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "54ca545bdd62bf69", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e0daf0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e0daf0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "7df882084fe4a853", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e2d4c0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e2d4c0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "e40953b3a20095a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e4f0f5", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#e4f0f5" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "7c1b0bb9cc644cab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 64, - "files_count": 14, - "usage": { - "css_var": 40, - "className": 24 - }, - "role_hypothesis": "border" - }, - { - "id": "c6bcb9d3b268252a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8a0a0", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#e8a0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "18065c091ead7e81", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8b0b0", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e8b0b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "420f3517ee7cdd7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8d0a0", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#e8d0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "1af80699033e4d66", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8d0a8", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#e8d0a8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "36678fd353167685", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8e4f4", - "raw": "--text-default", - "spec": { - "space": "srgb", - "hex": "#e8e4f4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "0b6318ad768d3bbd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "--border", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 241, - "files_count": 21, - "usage": { - "css_var": 211, - "className": 30 - }, - "role_hypothesis": "border" - }, - { - "id": "d04676613c36cbfa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#eaf3f8", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#eaf3f8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "9bed1bf0f622d57b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ede8f2", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#ede8f2" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "9b815a32fd6a7f12", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f0e4d4", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0e4d4" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "a4faee351b56c31e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f0ecf4", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f0ecf4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "8c9fb6fda5ac8af5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f0edf8", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0edf8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "daa05b6aa919c718", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "--accent", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 223, - "files_count": 49, - "usage": { - "css_var": 65, - "theme_preset": 2, - "className": 156 - }, - "role_hypothesis": "surface" - }, - { - "id": "9ea5aaca586b9a09", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f4f9fb", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f4f9fb" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "31a332b47f6c669f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f5ecdf", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5ecdf" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "7f7cf32fbd1decdb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f5f2fa", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f2fa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "87cbf8c15e046bf1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 25, - "files_count": 3, - "usage": { - "css_var": 25 - }, - "role_hypothesis": "surface" - }, - { - "id": "e481484d405c2648", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "84feb88ef0ca264e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f8f6f9", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f8f6f9" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "b840e462fb0b0560", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 108, - "files_count": 23, - "usage": { - "css_var": 39, - "className": 69 - }, - "role_hypothesis": "danger" - }, - { - "id": "afc5f74c680ce040", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#fafafa", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fafafa" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "44c5d412e29f43ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 31, - "files_count": 3, - "usage": { - "css_var": 31 - }, - "role_hypothesis": "warning" - }, - { - "id": "de5be020b24011c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#fbf5ec", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fbf5ec" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "3205d2faa054a9e6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ff00aa", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#ff00aa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "3e7c7b90e2f1a0d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ff3a00", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff3a00" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "39689de1aab03e58", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ff5722", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff5722" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "a95f2cc47ea08a7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "--color-red-100", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 9, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 6 - } - }, - { - "id": "ad0b75b01fd9d088", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ffd966", - "raw": "--color-yellow-100", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "35a44ed8b51c83f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ffe600", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#ffe600" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "2c5ce51202004516", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "#ffffff", - "raw": "--background", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 385, - "files_count": 52, - "usage": { - "css_var": 291, - "theme_preset": 8, - "className": 86 - }, - "role_hypothesis": "surface" - }, - { - "id": "21ea104340684025", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "--color-surface-dark-border", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "d486dabfe19f9848", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "--color-surface-dark-muted", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "afd1bb5f70800bfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "--color-dark-04", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "60f5cb9c3cc4d341", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "--color-dark-10", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "7a8ab8e23382a241", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "--color-dark-40", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "1a631c718e7a09b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "1000ms", - "raw": "duration-1000", - "spec": { - "duration_ms": 1000 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "f3c5b9cd4c3eafbd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "150ms", - "raw": "--duration-fast", - "spec": { - "duration_ms": 150 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "451986fee8adb251", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "200ms", - "raw": "--duration-normal", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 7, - "usage": { - "css_var": 1, - "className": 8 - } - }, - { - "id": "4d9c00c03aef0330", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "300ms", - "raw": "duration-300", - "spec": { - "duration_ms": 300 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "className": 3 - } - }, - { - "id": "304acfefdb04b43a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "400ms", - "raw": "--duration-slow", - "spec": { - "duration_ms": 400 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6041933e72cdba27", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "500ms", - "raw": "duration-500", - "spec": { - "duration_ms": 500 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "846adee06d3aa658", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "--animate-accordion-down", - "spec": { - "easing": "accordion-down 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "90453028c6adc397", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "--animate-accordion-up", - "spec": { - "easing": "accordion-up 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "96a9bae18a069720", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "--animate-caret-blink", - "spec": { - "easing": "caret-blink 1s ease-out infinite" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "cd8b5e10057e3de6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "--ease-spring", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6c0129841e7c2ae8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "--animate-enter-from-left", - "spec": { - "easing": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dc97f1c07b128a2e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "--animate-enter-from-right", - "spec": { - "easing": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "50b1b7589ce189a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "--animate-exit-to-left", - "spec": { - "easing": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "a0f1ad2171a3df59", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "--animate-exit-to-right", - "spec": { - "easing": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "9d7b254ef77fae2a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "--animate-fade-in", - "spec": { - "easing": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "b17b01a54fb05148", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "--animate-fade-out", - "spec": { - "easing": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "94587808a12034db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "in", - "raw": "animate-in", - "spec": { - "easing": "in" - }, - "occurrences": 30, - "files_count": 20, - "usage": { - "className": 30 - } - }, - { - "id": "89a37305ed489fe7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "in-out", - "raw": "ease-in-out", - "spec": { - "easing": "in-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "bd68455da320ff2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "linear", - "raw": "ease-linear", - "spec": { - "easing": "linear" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "className": 4 - } - }, - { - "id": "d370df83ba68239d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "out", - "raw": "animate-out", - "spec": { - "easing": "out" - }, - "occurrences": 28, - "files_count": 20, - "usage": { - "className": 28 - } - }, - { - "id": "c6882de6140993b5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "ping", - "raw": "animate-ping", - "spec": { - "easing": "ping" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "65890e99a9e520cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "pulse", - "raw": "animate-pulse", - "spec": { - "easing": "pulse" - }, - "occurrences": 4, - "files_count": 4, - "usage": { - "className": 4 - } - }, - { - "id": "901de3d1ab0c4574", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "--animate-scale-in", - "spec": { - "easing": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "51c474036ad50f46", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "--animate-scale-out", - "spec": { - "easing": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "25d95affc19c2abc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "spin", - "raw": "animate-spin", - "spec": { - "easing": "spin" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "ecaf85e739171e13", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "--animate-word-reveal", - "spec": { - "easing": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "b65c589121a5ef0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "0px", - "raw": "--radius", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 23, - "files_count": 4, - "usage": { - "theme_preset": 18, - "className": 5 - }, - "role_hypothesis": "shape" - }, - { - "id": "0c6be3edeb1ef8b5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-dropdown", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 16, - "files_count": 9, - "usage": { - "css_var": 7, - "className": 9 - }, - "role_hypothesis": "shape" - }, - { - "id": "8cfd792fa2e56abd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "14px", - "raw": "--radius-card-sm", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 11, - "files_count": 3, - "usage": { - "css_var": 7, - "theme_preset": 4 - }, - "role_hypothesis": "shape" - }, - { - "id": "32ca11667ade3a01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-card", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 27, - "files_count": 12, - "usage": { - "theme_preset": 2, - "css_var": 8, - "className": 17 - }, - "role_hypothesis": "shape" - }, - { - "id": "c036b203c616882b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "18px", - "raw": "--radius-md", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 49, - "files_count": 30, - "usage": { - "css_var": 3, - "className": 46 - }, - "role_hypothesis": "shape" - }, - { - "id": "0b121306f4503265", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "20px", - "raw": "--radius", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 114, - "files_count": 23, - "usage": { - "css_var": 90, - "theme_preset": 4, - "className": 20 - }, - "role_hypothesis": "shape" - }, - { - "id": "49d8cc5ad5778b50", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "24px", - "raw": "--radius-card-lg", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 10, - "files_count": 5, - "usage": { - "css_var": 8, - "className": 2 - }, - "role_hypothesis": "shape" - }, - { - "id": "2853cbed5c6bb1d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-button", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 46, - "files_count": 26, - "usage": { - "css_var": 15, - "className": 31 - }, - "role_hypothesis": "shape" - }, - { - "id": "6eb1d6ce4a4afd1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "--shadow-date-field-focus", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "bc6e4ec806abaffe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "--shadow-mini-inset", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "2bc29ca68079ed60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "--shadow-modal", - "occurrences": 14, - "files_count": 4, - "usage": { - "css_var": 8, - "className": 6 - }, - "role_hypothesis": "elevation" - }, - { - "id": "2efcbfe599f88015", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "--shadow-btn", - "occurrences": 58, - "files_count": 4, - "usage": { - "css_var": 40, - "className": 18 - }, - "role_hypothesis": "elevation" - }, - { - "id": "d659e3b6a634567c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "--shadow-elevated", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "2db7a6bd73130cbf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "--shadow-popover", - "occurrences": 21, - "files_count": 8, - "usage": { - "css_var": 8, - "className": 13 - }, - "role_hypothesis": "elevation" - }, - { - "id": "24eb329a6d4943e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "shadow", - "value": "none", - "raw": "shadow-none", - "occurrences": 9, - "files_count": 7, - "usage": { - "className": 9 - } - }, - { - "id": "ffa94199c1c98a41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "0px", - "raw": "pt-0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 73, - "files_count": 32, - "usage": { - "className": 73 - } - }, - { - "id": "b467a29c5dfad33b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "100px", - "raw": "--section-padding-vertical", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "52517906f41dc610", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "10px", - "raw": "gap-2.5", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 25, - "files_count": 12, - "usage": { - "className": 25 - } - }, - { - "id": "1d809dfbe49be1e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "12px", - "raw": "py-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 107, - "files_count": 42, - "usage": { - "className": 107 - } - }, - { - "id": "6c6f55ae232c073a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "14px", - "raw": "size-3.5", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 16, - "files_count": 12, - "usage": { - "className": 16 - } - }, - { - "id": "f9cd24ef4079012a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "16px", - "raw": "gap-4", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 224, - "files_count": 66, - "usage": { - "className": 224 - } - }, - { - "id": "0b604b9b1ac3e15d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "1px", - "raw": "h-px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 15, - "files_count": 12, - "usage": { - "className": 15 - } - }, - { - "id": "345af9a4f1fef508", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "20px", - "raw": "--page-container-side-gutter", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 10, - "files_count": 4, - "usage": { - "css_var": 1, - "className": 9 - } - }, - { - "id": "271ef550d070c047", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "24px", - "raw": "p-6", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 19, - "files_count": 11, - "usage": { - "className": 19 - } - }, - { - "id": "16b22b1dbb4ff3a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "256px", - "raw": "w-64", - "spec": { - "scalar": 256, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "6dcf1f512f373780", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "288px", - "raw": "w-72", - "spec": { - "scalar": 288, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "1cd5a930b498546c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "28px", - "raw": "w-7", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 15, - "files_count": 9, - "usage": { - "className": 15 - } - }, - { - "id": "de163797cd3a4d01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "2px", - "raw": "py-0.5", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 10, - "files_count": 9, - "usage": { - "className": 10 - } - }, - { - "id": "ea486eac65793076", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "320px", - "raw": "w-80", - "spec": { - "scalar": 320, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "d4a7ea1c47926b0a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "32px", - "raw": "--spacing-button-sm", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 56, - "files_count": 23, - "usage": { - "css_var": 1, - "className": 55 - } - }, - { - "id": "d6ec49d68cfaa006", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "36px", - "raw": "size-9", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 17, - "files_count": 12, - "usage": { - "className": 17 - } - }, - { - "id": "d8bf4f002742c3ba", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "40px", - "raw": "h-10", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 7, - "files_count": 5, - "usage": { - "className": 7 - } - }, - { - "id": "0e2dcb222d1e67bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "44px", - "raw": "--spacing-button", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "f4a4681d3ffa0736", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "48px", - "raw": "left-12", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 8, - "files_count": 4, - "usage": { - "className": 8 - } - }, - { - "id": "a951b9618e0e82ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 102, - "files_count": 38, - "usage": { - "className": 102 - } - }, - { - "id": "2d0c6ca08cbb0fb8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "52px", - "raw": "--spacing-input", - "spec": { - "scalar": 52, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "343ef7ed60c6d198", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "64px", - "raw": "size-16", - "spec": { - "scalar": 64, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "f0808a7e467fa99f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "6px", - "raw": "gap-1.5", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 48, - "files_count": 22, - "usage": { - "className": 48 - } - }, - { - "id": "f937a5616ad1037c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "75px", - "raw": "--section-heading-margin-bottom", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "4b5ad41661e26f9f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "8px", - "raw": "gap-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 206, - "files_count": 55, - "usage": { - "className": 206 - } - }, - { - "id": "0cdca15d1bdd1db9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "spacing", - "value": "96px", - "raw": "mb-24", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 3, - "files_count": 2, - "usage": { - "className": 3 - } - }, - { - "id": "a5686d304a4d0df2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "--body-reading-letter-spacing", - "spec": { - "size": { - "scalar": -0.01, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "aabcd07462221908", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "--heading-sub-letter-spacing", - "spec": { - "size": { - "scalar": -0.02, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "09abba8f565e5b0c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "--heading-section-letter-spacing", - "spec": { - "size": { - "scalar": -0.035, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "543ec44fedf10e95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "--display-letter-spacing", - "spec": { - "size": { - "scalar": -0.05, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "4e619d9b8b560b42", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "--font-mono", - "spec": { - "family": "\"Geist Mono\", monospace" - }, - "occurrences": 29, - "files_count": 15, - "usage": { - "css_var": 1, - "className": 28 - }, - "role_hypothesis": "font-family" - }, - { - "id": "ff4e67a980670bce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "0.12em", - "raw": "--label-letter-spacing", - "spec": { - "size": { - "scalar": 0.12, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "d5167688052c3a6d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "0.85", - "raw": "--display-line-height", - "spec": { - "family": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "2f0afd30914c14ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "0.88", - "raw": "--heading-display-line-height", - "spec": { - "family": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "e09e2a7a1890e3e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "0.95", - "raw": "--heading-section-line-height", - "spec": { - "family": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "39c030eff6f4f629", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "1", - "raw": "--heading-sub-line-height", - "spec": { - "weight": 1 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6f49e8b0d0db3d2e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "1.1", - "raw": "--heading-card-line-height", - "spec": { - "family": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dbbb9653870fa385", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "1.2", - "raw": "--label-line-height", - "spec": { - "family": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "a0735272e8e5a0b6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "1.3", - "raw": "--pullquote-line-height", - "spec": { - "family": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "077170996c2f79e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "1.65", - "raw": "--body-reading-line-height", - "spec": { - "family": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "cf60eea191c4ad04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "11px", - "raw": "--label-font-size", - "spec": { - "size": { - "scalar": 11, - "unit": "px" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "708e00455b721e8f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "12px", - "raw": "text-xs", - "spec": { - "size": { - "scalar": 12, - "unit": "px" - } - }, - "occurrences": 74, - "files_count": 30, - "usage": { - "className": 74 - }, - "role_hypothesis": "font-size" - }, - { - "id": "10cb48e56d8e5ae1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "14px", - "raw": "text-sm", - "spec": { - "size": { - "scalar": 14, - "unit": "px" - } - }, - "occurrences": 121, - "files_count": 52, - "usage": { - "className": 121 - }, - "role_hypothesis": "font-size" - }, - { - "id": "1b56062e310a9171", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "16px", - "raw": "text-base", - "spec": { - "size": { - "scalar": 16, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "18ed6c4082bc7e04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "18px", - "raw": "text-lg", - "spec": { - "size": { - "scalar": 18, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "d3c24515467ded18", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "300", - "raw": "--pullquote-weight", - "spec": { - "weight": 300 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5f2426402ceb5ff6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "400", - "raw": "font-normal", - "spec": { - "weight": 400 - }, - "occurrences": 5, - "files_count": 4, - "usage": { - "className": 5 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "c4c13ccb3148e90e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "500", - "raw": "font-medium", - "spec": { - "weight": 500 - }, - "occurrences": 38, - "files_count": 23, - "usage": { - "className": 38 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "9cf2eeb5b79991e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "600", - "raw": "--heading-card-font-weight", - "spec": { - "weight": 600 - }, - "occurrences": 9, - "files_count": 8, - "usage": { - "css_var": 2, - "className": 7 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "6955a08a2f1c7752", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "700", - "raw": "--heading-section-font-weight", - "spec": { - "weight": 700 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "bed50a907160b0fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "900", - "raw": "--heading-display-font-weight", - "spec": { - "weight": 900 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c0fd1ff4057f087e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "--pullquote-size", - "spec": { - "family": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f4dee2ae6404fe40", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "--body-reading-size", - "spec": { - "family": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "bfeb2d2cec40ae5d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "--heading-card-font-size", - "spec": { - "family": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "a74336d49593a1c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "--heading-sub-font-size", - "spec": { - "family": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "4b29d53af76e2eb0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "--display-size", - "spec": { - "family": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "4be496479661fc8c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "--heading-section-font-size", - "spec": { - "family": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6fe10266bf5fdd44", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "--heading-display-font-size", - "spec": { - "family": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5119ab95ea205b4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "serif", - "raw": "--font-serif", - "spec": { - "family": "serif" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "fba70208aced6036", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "kind": "typography", - "value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "raw": "--font-display", - "spec": { - "family": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif" - }, - "occurrences": 10, - "files_count": 8, - "usage": { - "css_var": 3, - "className": 7 - }, - "role_hypothesis": "font-family" - } - ], - "tokens": [ - { - "id": "7ba651f8f73205a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "881eba41fee07da3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "200e50c168c3d401", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "42d0f7eddbcd723b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "971661d43dc556fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1 - }, - { - "id": "2c4096d3c1353f38", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "a347bc451317e82b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "bb2073bb2fc4d789", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "7ec7c0b6568a849f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "94e2dcf159888169", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "7f149bd9642519b6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "a60bb74b96558f04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "bf158c5b37b02772", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "e18b6dd0f78c48f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1 - }, - { - "id": "e5689f5891dce54b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background", - "alias_chain": [ - "--background-default", - "--color-white", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 145 - }, - { - "id": "130c0d97139f10ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-accent", - "alias_chain": ["--color-gray-900", "--background-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 19 - }, - { - "id": "29aaffd7ed9b82d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-alt", - "alias_chain": ["--color-gray-50", "--background-alt"], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f5ecdf", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#eaf3f8", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#f0ecf4", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f5f2fa", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 15 - }, - { - "id": "d00b92b70af29d19", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-danger", - "alias_chain": ["--color-red-200", "--background-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 9 - }, - { - "id": "4b05819aee936c6f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-default", - "alias_chain": ["--color-white", "--background-default"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#0a0a0a", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 23 - }, - { - "id": "ddc9c5ca9d224dca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-info", - "alias_chain": ["--color-blue-200", "--background-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "35fd7b3d05c26e99", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-inverse", - "alias_chain": ["--color-black", "--background-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "fe21f0d1d781e2f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-medium", - "alias_chain": ["--color-gray-400", "--background-medium"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#4a382a", - "ocean:light": "#8bb8ca", - "ocean:dark": "#2a5060", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#3a2a50", - "neon-brutalist:light": "#cccccc", - "neon-brutalist:dark": "#333333", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#3a3452" - }, - "occurrences": 15 - }, - { - "id": "0833251e50a35591", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-muted", - "alias_chain": ["--color-gray-100", "--background-muted"], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f0e4d4", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#e4f0f5", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#ede8f2", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f0edf8", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 23 - }, - { - "id": "e2cf39485e8976d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-success", - "alias_chain": ["--color-green-200", "--background-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "21079844dcf86c0c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--background-warning", - "alias_chain": ["--color-yellow-200", "--background-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 9 - }, - { - "id": "72f81d5f9711ff9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "79e727b595d70069", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1 - }, - { - "id": "0a867526dba98aa8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1 - }, - { - "id": "c01dd56dbeec13c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 147 - }, - { - "id": "3ee1e7704e07316d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-accent", - "alias_chain": ["--color-gray-900", "--border-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "baf9bc5b6474db5d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-card", - "alias_chain": ["--color-gray-200", "--border-card"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#444444", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 15 - }, - { - "id": "1b71b1f68f754626", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-danger", - "alias_chain": ["--color-red-200", "--border-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 7 - }, - { - "id": "1a970fecba14ed01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-default", - "alias_chain": ["--color-gray-200", "--border-default"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 21 - }, - { - "id": "d6822a2b4a5f1fe9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-info", - "alias_chain": ["--color-blue-200", "--border-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "ab3dab41d5c86fa5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-input", - "alias_chain": ["--color-gray-300", "--border-input"], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#d4c2aa", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#b0d0de", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ccc0d8", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#d2cae4", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 32 - }, - { - "id": "c989b6168960cb1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-input-hover", - "alias_chain": ["--color-gray-400", "--border-input-hover"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#5a4530", - "ocean:light": "#8bb8ca", - "ocean:dark": "#3a6070", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#4a3a60", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#4a4468" - }, - "occurrences": 15 - }, - { - "id": "288eecab409e33d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-inverse", - "alias_chain": ["--color-black", "--border-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "fb15423ce4aaa45e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-strong", - "alias_chain": ["--color-gray-900", "--border-strong"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#d4853a", - "ocean:light": "#0f3442", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 17 - }, - { - "id": "64f69faa34d53869", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-success", - "alias_chain": ["--color-green-200", "--border-success"], - "resolved_value": "#91cb80", - "by_theme": { - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "9e612a45bcf14518", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--border-warning", - "alias_chain": ["--color-yellow-200", "--border-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 7 - }, - { - "id": "bb42d43fe1cc8877", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "d9f5d804f808f60b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--card", - "alias_chain": [ - "--background-default", - "--color-white", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 6 - }, - { - "id": "17b34c409d1cb591", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--card-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "7d0be96247b99b86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "by_theme": { - "warm-sand:light": "#d4853a", - "warm-sand:dark": "#d4853a", - "ocean:light": "#2e9ab8", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8a8e0", - "soft-pastel:dark": "#c8a8e0" - }, - "occurrences": 15 - }, - { - "id": "4b9383ac0f8c6d75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "by_theme": { - "warm-sand:light": "#7b9ea8", - "warm-sand:dark": "#7b9ea8", - "ocean:light": "#5b78d8", - "ocean:dark": "#7b92e8", - "midnight-luxe:light": "#8b6cc1", - "midnight-luxe:dark": "#a88de0", - "neon-brutalist:light": "#00e5ff", - "neon-brutalist:dark": "#00e5ff", - "soft-pastel:light": "#a8c8e8", - "soft-pastel:dark": "#a8c8e8" - }, - "occurrences": 15 - }, - { - "id": "1560ad36075f0db7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "by_theme": { - "warm-sand:light": "#c46b5a", - "warm-sand:dark": "#c46b5a", - "ocean:light": "#e07a5f", - "ocean:dark": "#e07a5f", - "midnight-luxe:light": "#d76a7a", - "midnight-luxe:dark": "#e08090", - "neon-brutalist:light": "#ffe600", - "neon-brutalist:dark": "#ffe600", - "soft-pastel:light": "#e8b0b0", - "soft-pastel:dark": "#e8b0b0" - }, - "occurrences": 15 - }, - { - "id": "b4c260cef7bacf33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "by_theme": { - "warm-sand:light": "#a8856b", - "warm-sand:dark": "#a8856b", - "ocean:light": "#7bc4b8", - "ocean:dark": "#7bc4b8", - "midnight-luxe:light": "#5e8ec5", - "midnight-luxe:dark": "#7aaee5", - "neon-brutalist:light": "#ff00aa", - "neon-brutalist:dark": "#ff00aa", - "soft-pastel:light": "#b0d8b0", - "soft-pastel:dark": "#b0d8b0" - }, - "occurrences": 15 - }, - { - "id": "492d9858086bdacc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "by_theme": { - "warm-sand:light": "#8baa72", - "warm-sand:dark": "#8baa72", - "ocean:light": "#a8c256", - "ocean:dark": "#a8c256", - "midnight-luxe:light": "#7cb88a", - "midnight-luxe:dark": "#8bd09a", - "neon-brutalist:light": "#00ff66", - "neon-brutalist:dark": "#00ff66", - "soft-pastel:light": "#e8d0a8", - "soft-pastel:dark": "#e8d0a8" - }, - "occurrences": 15 - }, - { - "id": "fa8bcb474d93429b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-accent", - "alias_chain": [ - "--accent", - "--background-muted", - "--color-gray-100", - "--color-accent", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "bc6a26ca75936cc3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900", - "--color-accent-foreground", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "84efdb645bb6475d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background", - "alias_chain": [ - "--background", - "--background-default", - "--color-white", - "--color-background", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 16 - }, - { - "id": "c2c7b7a1c854aca2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-accent", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--color-background-accent", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "793392f0525109e6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-alt", - "alias_chain": [ - "--background-alt", - "--color-gray-50", - "--color-background-alt", - "--background-alt" - ], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 1 - }, - { - "id": "c709ce21c6c1abbe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-danger", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--color-background-danger", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "0388c6d8cd4c08d2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-default", - "alias_chain": [ - "--background-default", - "--color-white", - "--color-background-default", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "1388971f68dfdb5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-info", - "alias_chain": [ - "--background-info", - "--color-blue-200", - "--color-background-info", - "--background-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "da72156fc49c4977", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-inverse", - "alias_chain": [ - "--background-inverse", - "--color-black", - "--color-background-inverse", - "--background-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "1e9eba08b2a2751f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-medium", - "alias_chain": [ - "--background-medium", - "--color-gray-400", - "--color-background-medium", - "--background-medium" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "fba9007080cd2035", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--color-background-muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "a2c76e82f52138d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-success", - "alias_chain": [ - "--background-success", - "--color-green-200", - "--color-background-success", - "--background-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "d971bdba86ce0d94", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-background-warning", - "alias_chain": [ - "--background-warning", - "--color-yellow-200", - "--color-background-warning", - "--background-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "e94ef288a2b273bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5 - }, - { - "id": "2658578e97ec14bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3 - }, - { - "id": "67d987b62367850a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5 - }, - { - "id": "ea5142bdeec82414", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d49d1fce9fbccf2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d16edfb755a51d40", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "c9f5adb6c118fbe7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "f625e2a69dbaf9b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-blue-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-blue-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a24618040feae043", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border", - "alias_chain": [ - "--border", - "--border-default", - "--color-gray-200", - "--color-border", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 15 - }, - { - "id": "2ffcbeef28834c5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-accent", - "alias_chain": [ - "--border-accent", - "--color-gray-900", - "--color-border-accent", - "--border-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "8fcc16145b5a5275", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-card", - "alias_chain": [ - "--border-card", - "--color-gray-200", - "--color-border-card", - "--border-card" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "214ca7f4e4ca3dbb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-danger", - "alias_chain": [ - "--border-danger", - "--color-red-200", - "--color-border-danger", - "--border-danger" - ], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "e9adae8251013b5e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-default", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--color-border-default", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "994e4d8fa0875fd5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-info", - "alias_chain": [ - "--border-info", - "--color-blue-200", - "--color-border-info", - "--border-info" - ], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "e82bff50f7280f2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--color-border-input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 2 - }, - { - "id": "ce6df8dea75634e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-input-hover", - "alias_chain": [ - "--border-input-hover", - "--color-gray-400", - "--color-border-input-hover", - "--border-input-hover" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666" - }, - "occurrences": 1 - }, - { - "id": "4947d95fdd0bd7f5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-inverse", - "alias_chain": [ - "--border-inverse", - "--color-black", - "--color-border-inverse", - "--border-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "895bd35a33089b20", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-strong", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--color-border-strong", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "c89736adf20424c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-success", - "alias_chain": [ - "--border-success", - "--color-green-200", - "--color-border-success", - "--border-success" - ], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "33dda3b07a975bcf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-border-warning", - "alias_chain": [ - "--border-warning", - "--color-yellow-200", - "--color-border-warning", - "--border-warning" - ], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "64c106960ef8ed32", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-card", - "alias_chain": [ - "--card", - "--background-default", - "--color-white", - "--color-card", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "a176bd9b3bd30938", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900", - "--color-card-foreground", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "2ac542101caeda7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-chart-1", - "alias_chain": ["--chart-1", "--color-chart-1"], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "935e1744b7b29fb5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-chart-2", - "alias_chain": ["--chart-2", "--color-chart-2"], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "e4e8c59577677925", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-chart-3", - "alias_chain": ["--chart-3", "--color-chart-3"], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "d989d510fcfb6c41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-chart-4", - "alias_chain": ["--chart-4", "--color-chart-4"], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "86a8decd6c0af284", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-chart-5", - "alias_chain": ["--chart-5", "--color-chart-5"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "9913846e716bc52b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-dark-04", - "alias_chain": ["--dark-04", "--color-dark-04"], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 1 - }, - { - "id": "5edc35814833875e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-dark-10", - "alias_chain": ["--dark-10", "--color-dark-10"], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 1 - }, - { - "id": "5a3be05647e641cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-dark-40", - "alias_chain": ["--dark-40", "--color-dark-40"], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 1 - }, - { - "id": "5da3e763aaf9dbe4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200", - "--color-destructive", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 2 - }, - { - "id": "2e4e616a1e89cb2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-destructive-foreground", - "alias_chain": [ - "--destructive-foreground", - "--color-destructive-foreground" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "6aeea8d9c82838b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-foreground", - "alias_chain": [ - "--foreground", - "--text-default", - "--color-gray-900", - "--color-foreground", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "29a4be9ec9245143", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2 - }, - { - "id": "22d31a3dae392ec8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3 - }, - { - "id": "17a4d8de62cc13d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2 - }, - { - "id": "e020302fcd89a6d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3 - }, - { - "id": "c5ac273e12306be6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6 - }, - { - "id": "cda5ebc96ab2d699", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4 - }, - { - "id": "7506b0b7d57eb1f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3 - }, - { - "id": "a4c4969abb859cf7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5 - }, - { - "id": "66b9a5ba02b49c16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3 - }, - { - "id": "ef2757e576b21a7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6 - }, - { - "id": "61f8eae44087df87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3 - }, - { - "id": "0ddd428bddfafcb8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5 - }, - { - "id": "75855af3d4312d94", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "c3cf1f5784719597", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d18830082f825a67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "9d6ba2e1c5951ba9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "2a1b91f535a7636d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-green-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "618c7fe72f9df537", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-input", - "alias_chain": [ - "--input", - "--border-input", - "--color-gray-300", - "--color-input", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "a5759c5cc50ad2ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-muted", - "alias_chain": [ - "--muted", - "--background-muted", - "--color-gray-100", - "--color-muted", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "87d593c51babf38c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-muted-foreground", - "alias_chain": [ - "--muted-foreground", - "--text-muted", - "--color-gray-500", - "--color-muted-foreground", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "ae54e462c93a24d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-orange-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "1c14cdc0f06bc000", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-orange-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "2967831d1b14faa2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-orange-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "23867b197bb9a1a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-orange-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "cb801177b419eb52", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-orange-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "53c7d2d873286f06", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-popover", - "alias_chain": [ - "--popover", - "--background-default", - "--color-white", - "--color-popover", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "7ca4cf3536fc0565", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900", - "--color-popover-foreground", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "9b334733f160f3b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-primary", - "alias_chain": [ - "--primary", - "--background-accent", - "--color-gray-900", - "--color-primary", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "001390e7f3fb261f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white", - "--color-primary-foreground", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "cca170fa2b2bf095", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3 - }, - { - "id": "c27ed355e2caee93", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5 - }, - { - "id": "69d3e611ec2f9e14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 13, - "resolution": { - "status": "unresolved-local", - "symbol": "border-red-400/30, text-red-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "642263d1cfd59ed8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-50", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-50", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "c0c8b11026192af5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "4ee4590fbef00674", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a8610f38b217c12c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "87e95f337c33a9c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-red-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-900/20, bg-red-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "5afa3e803d216ec0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-ring", - "alias_chain": [ - "--ring", - "--border-strong", - "--color-gray-900", - "--color-ring", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "cb22eba8ea235b8a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-secondary", - "alias_chain": [ - "--secondary", - "--background-muted", - "--color-gray-100", - "--color-secondary", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "665c6ba294c576c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900", - "--color-secondary-foreground", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "69d89b06240b3854", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar", - "alias_chain": [ - "--sidebar", - "--background-default", - "--color-white", - "--color-sidebar", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "1c140d10f02cae1a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100", - "--color-sidebar-accent", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 2 - }, - { - "id": "38b73ee95b3b6cd6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-accent-foreground", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "dbfad522ac823ce2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200", - "--color-sidebar-border", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "38cd78226ceed236", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-foreground", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "25a5449e38da60f6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900", - "--color-sidebar-primary", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "fd2a9fa242f26900", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white", - "--color-sidebar-primary-foreground", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "f2e079bb5f7a6d3a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-sidebar-ring", - "alias_chain": [ - "--sidebar-ring", - "--border-default", - "--color-gray-200", - "--color-sidebar-ring", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "58d3324727d16e00", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-surface-dark", - "alias_chain": ["--surface-dark", "--color-surface-dark"], - "resolved_value": "#0a0a0a", - "occurrences": 4 - }, - { - "id": "cd78ef5939203c7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-surface-dark-border", - "alias_chain": ["--surface-dark-border", "--color-surface-dark-border"], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "033ab5790490f17a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-surface-dark-muted", - "alias_chain": ["--surface-dark-muted", "--color-surface-dark-muted"], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "81204d4406209496", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-surface-dark-text", - "alias_chain": ["--surface-dark-text", "--color-surface-dark-text"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "9a30d855389c5b7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-accent", - "alias_chain": [ - "--text-accent", - "--color-gray-900", - "--color-text-accent", - "--text-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "4ef89d6d396cf825", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-alt", - "alias_chain": [ - "--text-alt", - "--color-gray-600", - "--color-text-alt", - "--text-alt" - ], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999" - }, - "occurrences": 1 - }, - { - "id": "d77508ed90d06404", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-danger", - "alias_chain": [ - "--text-danger", - "--color-red-200", - "--color-text-danger", - "--text-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "c560ca8a784bf4d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-default", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--color-text-default", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "11cb57b3d9527142", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-info", - "alias_chain": [ - "--text-info", - "--color-blue-200", - "--color-text-info", - "--text-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "8a5b3fe066404261", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-inverse", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--color-text-inverse", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "a487cd30023ae1fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-muted", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--color-text-muted", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "74da75442f9d5d28", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-success", - "alias_chain": [ - "--text-success", - "--color-green-200", - "--color-text-success", - "--text-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "0f9712ccde1dd2e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-text-warning", - "alias_chain": [ - "--text-warning", - "--color-yellow-200", - "--color-text-warning", - "--text-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "68dafbf3f060cc07", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10 - }, - { - "id": "6b180d88c16f6834", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3 - }, - { - "id": "c0746333abf445df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5 - }, - { - "id": "1c917d8a6a935be5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "0abd32967b03ecfe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "1b97020d05de766e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "dc7a9621f8ebb9d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-yellow-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-yellow-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d3945ba38ac96085", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-zinc-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-100, text-zinc-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "db9365f4d452e80b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-zinc-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-zinc-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "531d75d00379d02d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-zinc-800", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-800, border-zinc-800", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a313a55533319d6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--color-zinc-950", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-950", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6643d4e642f08508", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 3 - }, - { - "id": "8c18cbb675819283", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 3 - }, - { - "id": "0c4341cd5bf54c23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "c6d287fcff1aee2e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--destructive", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 6 - }, - { - "id": "47a1a6309924b1c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3 - }, - { - "id": "8283a42cb8a7d685", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "e25efc20f6d550ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1 - }, - { - "id": "cf3b5e7704f86b5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1 - }, - { - "id": "959fa5a91e09647e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "150ms", - "occurrences": 1 - }, - { - "id": "4bf6fbf92ac2b10c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "200ms", - "occurrences": 1 - }, - { - "id": "1f83968ca542bd68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "400ms", - "occurrences": 1 - }, - { - "id": "7c10f04f0c901aab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "2826ae79ffe27c5e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--font-display", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 1 - }, - { - "id": "6c02f10792c79714", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1 - }, - { - "id": "abcf19e0bc7b76df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--font-sans", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 2 - }, - { - "id": "b4f43c2285157c50", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1 - }, - { - "id": "7b8f59ce0e2f7392", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "61f911413f56287f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1 - }, - { - "id": "43fa95959b3724fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "808f78c4aaa9d5a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "5f6ba9bc940f256e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1 - }, - { - "id": "06284bfc7332990c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1 - }, - { - "id": "8d5ededcc8da2d84", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1 - }, - { - "id": "db39bdd7d580f832", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "334c2c5df7bd6047", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1 - }, - { - "id": "92d976e349ef25d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1 - }, - { - "id": "09ea2f2773039175", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "a52e275f46a7b06f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1 - }, - { - "id": "5d1fbaba94b12e41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1 - }, - { - "id": "5e130fd6412bf3be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1 - }, - { - "id": "47eddbd5b7f3a6d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "60411390213281c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "fb070fe0dd3575de", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1 - }, - { - "id": "7b42ac7267484ff2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "f6c2c9d283639502", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1 - }, - { - "id": "b4ffcb21c8c31ad8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "e0e21f09d0c2e904", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1 - }, - { - "id": "56de2fcc6ae61792", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1 - }, - { - "id": "f78f056d80eaa56c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "7d8f9bfb7fe42ef9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--muted-foreground", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "150795666a6df6d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "7efa8c63dbd8fc49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "a908965ad3b894be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--popover", - "alias_chain": [ - "--background-default", - "--color-white", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "3a000cabe4a02d15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "574e5042664b7749", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 7 - }, - { - "id": "fb2a850f71c8706c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "3c983363cbd89d33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "435da9574d0c3d30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1 - }, - { - "id": "526ce624d668e803", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1 - }, - { - "id": "ad93fc3e5d1f433c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1 - }, - { - "id": "4b84276da49c0232", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 68 - }, - { - "id": "33a0d0d9596c78cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "ce0f543a9ba11239", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "16px", - "soft-pastel:dark": "16px" - }, - "occurrences": 21 - }, - { - "id": "1a1785909dece734", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "130425dba341df9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "bb8b52a48f232f60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "437c512a50df0f4f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "a941dbd35c568b85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-lg", - "alias_chain": ["--radius", "--radius-lg"], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "a2488faa4fe625c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-md", - "alias_chain": ["--radius"], - "resolved_value": "18px", - "occurrences": 3 - }, - { - "id": "bda863bad21c783b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "065e5de7645dfe6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "9af8a78abe5c317d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-sm", - "alias_chain": ["--radius"], - "resolved_value": "16px", - "occurrences": 1 - }, - { - "id": "0bbe9c0a9a741314", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--radius-xl", - "alias_chain": ["--radius"], - "resolved_value": "24px", - "occurrences": 1 - }, - { - "id": "c090c09d9770d421", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--ring", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "b2301e49d218caca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--secondary", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "11756fbdcc3d8dcd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "e70b7243da4ff2ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1 - }, - { - "id": "e704a6018adf8860", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1 - }, - { - "id": "eb9fe859f74aeada", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - }, - "occurrences": 8 - }, - { - "id": "22397a73220ea5a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "117a5b06b3af2afd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "by_theme": { - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - }, - "occurrences": 8 - }, - { - "id": "1374c75d268f3bb6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "by_theme": { - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - }, - "occurrences": 8 - }, - { - "id": "6f7fb65a976d6a25", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "f1228b9ef4a265ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 16 - }, - { - "id": "a8d8af0bd8753bc0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "by_theme": { - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - }, - "occurrences": 8 - }, - { - "id": "6841c1968dbf68ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "by_theme": { - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - }, - "occurrences": 8 - }, - { - "id": "36ce4f8c5532dc4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "by_theme": { - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "1a6c1c42b696ed8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar", - "alias_chain": [ - "--background-default", - "--color-white", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 38 - }, - { - "id": "adf288f6a773d128", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "257dae06c0b23b53", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "715616e055fb5eff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "4e5b2e2a770e020d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "206cf620c27031a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 6 - }, - { - "id": "2d753755a4be30c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "585773fd574c4cbb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--sidebar-ring", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "c854232736c8324d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 2 - }, - { - "id": "9d09ca828565a87d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1 - }, - { - "id": "45f1718ae5ca7a6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "52px", - "occurrences": 2 - }, - { - "id": "a1db334507982972", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 1 - }, - { - "id": "47c08490ac3d1325", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8 - }, - { - "id": "eebe8ac1035ed944", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2 - }, - { - "id": "09f8f0914d7b677b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2 - }, - { - "id": "b00c4e84f3b57476", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2 - }, - { - "id": "e01ae0fdea97a9b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-accent", - "alias_chain": ["--color-gray-900", "--text-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "02bf5a01da0193ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-alt", - "alias_chain": ["--color-gray-600", "--text-alt"], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999", - "warm-sand:light": "#6b5940", - "warm-sand:dark": "#8b7355", - "ocean:light": "#3a6a7c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#5a4b6a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#333333", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#6a6280", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 15 - }, - { - "id": "f07f3627d9eec96b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-danger", - "alias_chain": ["--color-red-200", "--text-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#c07070", - "soft-pastel:dark": "#e0a0a0" - }, - "occurrences": 7 - }, - { - "id": "eb1d8f4f03c03d4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900", "--text-default"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#f0e4d4", - "ocean:light": "#0f3442", - "ocean:dark": "#e4f0f5", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#ede8f2", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#e8e4f4" - }, - "occurrences": 29 - }, - { - "id": "ddc0d5da3d33b9f6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-info", - "alias_chain": ["--color-blue-200", "--text-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#7090c0", - "soft-pastel:dark": "#a0c0e8" - }, - "occurrences": 7 - }, - { - "id": "610746142a356f88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-inverse", - "alias_chain": ["--color-white", "--text-inverse"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#000000", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 19 - }, - { - "id": "e4ecf39cc7ec615f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-muted", - "alias_chain": ["--color-gray-500", "--text-muted"], - "resolved_value": "#999999", - "by_theme": { - "warm-sand:light": "#8b7355", - "warm-sand:dark": "#8b7355", - "ocean:light": "#5a8a9c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#7a6b8a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#555555", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#8a82a0", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 17 - }, - { - "id": "34827c33ab9ddbec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-success", - "alias_chain": ["--color-green-200", "--text-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#70a870", - "soft-pastel:dark": "#a0d8a0" - }, - "occurrences": 7 - }, - { - "id": "30eec3c48809a258", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-warning", - "alias_chain": ["--color-yellow-200", "--text-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "soft-pastel:light": "#c0a060", - "soft-pastel:dark": "#e0c880" - }, - "occurrences": 7 - }, - { - "id": "aab0af6adf23186b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - } - ], - "components": [ - { - "id": "26a52d8f5a6ef3e9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "accordion", - "discovered_via": "registry.json" - }, - { - "id": "677afd35731f2286", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "agent", - "discovered_via": "registry.json" - }, - { - "id": "aec47259881f76d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "alert", - "discovered_via": "registry.json", - "variants": ["default", "destructive"] - }, - { - "id": "de69e37815445186", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "alert-dialog", - "discovered_via": "registry.json" - }, - { - "id": "fdd42ebd27ec772a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "artifact", - "discovered_via": "registry.json" - }, - { - "id": "e8fe1b2c48b3e3bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "aspect-ratio", - "discovered_via": "registry.json" - }, - { - "id": "02df4ba8b37515ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "attachments", - "discovered_via": "registry.json" - }, - { - "id": "791f75671e239242", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "audio-player", - "discovered_via": "registry.json" - }, - { - "id": "b0b518ea5344093a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "avatar", - "discovered_via": "registry.json" - }, - { - "id": "1b51b731eb2f19b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "badge", - "discovered_via": "registry.json", - "variants": ["default", "secondary", "destructive", "outline"] - }, - { - "id": "be4a0d89fd73953d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "breadcrumb", - "discovered_via": "registry.json" - }, - { - "id": "348c9886b29de32e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "button", - "discovered_via": "registry.json", - "variants": [ - "default", - "destructive", - "outline", - "secondary", - "ghost", - "link" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"] - }, - { - "id": "065bd34d1b62a57d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "button-group", - "discovered_via": "registry.json" - }, - { - "id": "12ef5b4947d4958e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "calendar", - "discovered_via": "registry.json" - }, - { - "id": "90368569273b29b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "canvas", - "discovered_via": "registry.json" - }, - { - "id": "3230eb529abdea7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "card", - "discovered_via": "registry.json" - }, - { - "id": "5c239afa65e3eade", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "carousel", - "discovered_via": "registry.json" - }, - { - "id": "249eab27bba13852", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "chain-of-thought", - "discovered_via": "registry.json" - }, - { - "id": "d83a7434d11fe563", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "chart", - "discovered_via": "registry.json" - }, - { - "id": "e091e342da8411e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "checkbox", - "discovered_via": "registry.json" - }, - { - "id": "ee87b86a9d714248", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "checkpoint", - "discovered_via": "registry.json" - }, - { - "id": "3ac7fe5bb1f3a272", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "code-block", - "discovered_via": "registry.json" - }, - { - "id": "7147420f9a2e8d6d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "collapsible", - "discovered_via": "registry.json" - }, - { - "id": "ef8e01fa9718c592", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "command", - "discovered_via": "registry.json" - }, - { - "id": "b0d6f8ef35531cad", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "commit", - "discovered_via": "registry.json" - }, - { - "id": "2f43257775d1a614", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "confirmation", - "discovered_via": "registry.json" - }, - { - "id": "6f167e05e26f34f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "connection", - "discovered_via": "registry.json" - }, - { - "id": "6a129465546b6032", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "context", - "discovered_via": "registry.json" - }, - { - "id": "b589a56badf26888", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "context-menu", - "discovered_via": "registry.json" - }, - { - "id": "a2349cd712296bd0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "controls", - "discovered_via": "registry.json" - }, - { - "id": "d9ddce62f9ad33b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "conversation", - "discovered_via": "registry.json" - }, - { - "id": "d627223ccc913aac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "dialog", - "discovered_via": "registry.json" - }, - { - "id": "6a9aa738a4ec13b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "drawer", - "discovered_via": "registry.json" - }, - { - "id": "f785af098b4b5f00", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "dropdown-menu", - "discovered_via": "registry.json" - }, - { - "id": "64c935d27e455d56", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "edge", - "discovered_via": "registry.json" - }, - { - "id": "bc2d5f0ac76b0bbe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "environment-variables", - "discovered_via": "registry.json" - }, - { - "id": "305bd6274b5ca12a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "file-tree", - "discovered_via": "registry.json" - }, - { - "id": "4a8ba64abb8d54b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "form", - "discovered_via": "registry.json" - }, - { - "id": "58592008b9a9d3b6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "hover-card", - "discovered_via": "registry.json" - }, - { - "id": "bd2b835b25115917", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "image", - "discovered_via": "registry.json" - }, - { - "id": "980a130af29e9409", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "inline-citation", - "discovered_via": "registry.json" - }, - { - "id": "27f7b1a9b74999e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "input", - "discovered_via": "registry.json" - }, - { - "id": "e6eadd616bc5f801", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "input-group", - "discovered_via": "registry.json", - "sizes": ["xs", "sm", "icon-xs", "icon-sm"] - }, - { - "id": "405339a2dccb22f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "input-otp", - "discovered_via": "registry.json" - }, - { - "id": "aa67814a27d523c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "jsx-preview", - "discovered_via": "registry.json" - }, - { - "id": "86c2c4f4aff62842", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "label", - "discovered_via": "registry.json" - }, - { - "id": "75cb1e93d4d4fcc5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "menubar", - "discovered_via": "registry.json" - }, - { - "id": "bace8edbf36547ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "message", - "discovered_via": "registry.json" - }, - { - "id": "dd845e384b46b88f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "mic-selector", - "discovered_via": "registry.json" - }, - { - "id": "3b82b4322673a423", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "model-selector", - "discovered_via": "registry.json" - }, - { - "id": "0157f4aea9166910", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "navigation-menu", - "discovered_via": "registry.json" - }, - { - "id": "003634e1a7baf663", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "node", - "discovered_via": "registry.json" - }, - { - "id": "c1c16ffa1ecf3cc2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "open-in-chat", - "discovered_via": "registry.json" - }, - { - "id": "17075b918445fe5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "package-info", - "discovered_via": "registry.json" - }, - { - "id": "b559b86424995b91", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "pagination", - "discovered_via": "registry.json" - }, - { - "id": "7d024cc2e5543bed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "panel", - "discovered_via": "registry.json" - }, - { - "id": "78c7971dd277aad1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "persona", - "discovered_via": "registry.json" - }, - { - "id": "f6e9978c541241b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "plan", - "discovered_via": "registry.json" - }, - { - "id": "b9c463e0550c93c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "popover", - "discovered_via": "registry.json" - }, - { - "id": "b8f8c18b7fdab0ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "progress", - "discovered_via": "registry.json" - }, - { - "id": "f5d9b6e43d7c1802", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "prompt-input", - "discovered_via": "registry.json" - }, - { - "id": "ee970e493c546fbf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "queue", - "discovered_via": "registry.json" - }, - { - "id": "31cb5470ea942973", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "radio-group", - "discovered_via": "registry.json" - }, - { - "id": "7553b262eb3cf467", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "reasoning", - "discovered_via": "registry.json" - }, - { - "id": "a96a3f495d27ba26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "resizable", - "discovered_via": "registry.json" - }, - { - "id": "e28ce4b58784dcd0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "sandbox", - "discovered_via": "registry.json" - }, - { - "id": "0cf1cba0e6913b61", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "schema-display", - "discovered_via": "registry.json" - }, - { - "id": "16305cc5d29a981c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "scroll-area", - "discovered_via": "registry.json" - }, - { - "id": "beb5d780586222be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "select", - "discovered_via": "registry.json" - }, - { - "id": "220a95aa9611f6f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "separator", - "discovered_via": "registry.json" - }, - { - "id": "714148ad15ace776", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "sheet", - "discovered_via": "registry.json" - }, - { - "id": "e4666989edf5aea6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "shimmer", - "discovered_via": "registry.json" - }, - { - "id": "020af7fbe5794ea5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "sidebar", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "4cee26be018990c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "skeleton", - "discovered_via": "registry.json" - }, - { - "id": "0ad3377a4225aa9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "slider", - "discovered_via": "registry.json" - }, - { - "id": "e59741380975612d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "snippet", - "discovered_via": "registry.json" - }, - { - "id": "83960a7ef4a00c9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "sonner", - "discovered_via": "registry.json" - }, - { - "id": "c3da966f31c22647", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "sources", - "discovered_via": "registry.json" - }, - { - "id": "ae64f84c42170356", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "speech-input", - "discovered_via": "registry.json" - }, - { - "id": "08f62525f1ef1d7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "spinner", - "discovered_via": "registry.json" - }, - { - "id": "f7714700d96f7b69", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "stack-trace", - "discovered_via": "registry.json" - }, - { - "id": "dc85796b23cef92e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "suggestion", - "discovered_via": "registry.json" - }, - { - "id": "328176192e6391c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "switch", - "discovered_via": "registry.json" - }, - { - "id": "02674eab7791b87b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "table", - "discovered_via": "registry.json" - }, - { - "id": "9433517fa2f3b280", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "tabs", - "discovered_via": "registry.json" - }, - { - "id": "b631a18b5a72cd7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "task", - "discovered_via": "registry.json" - }, - { - "id": "bb834f7bf5e58684", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "terminal", - "discovered_via": "registry.json" - }, - { - "id": "36d7325e696e946f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "test-results", - "discovered_via": "registry.json" - }, - { - "id": "46ebcf2cd49c6a16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "textarea", - "discovered_via": "registry.json" - }, - { - "id": "c5ea6c44098e903c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "ThemeProvider", - "discovered_via": "source:src/components/theme" - }, - { - "id": "41c2db765bb8ca03", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "ThemeToggle", - "discovered_via": "source:src/components/theme" - }, - { - "id": "a1726339d9f9afac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "toggle", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "28af7128110cfe0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "toggle-group", - "discovered_via": "registry.json" - }, - { - "id": "34a457f1486b511b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "tool", - "discovered_via": "registry.json" - }, - { - "id": "5203978b0d0e1978", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "toolbar", - "discovered_via": "registry.json" - }, - { - "id": "477628abedc759ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "tooltip", - "discovered_via": "registry.json" - }, - { - "id": "2a2f3a19950dfa1d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "transcription", - "discovered_via": "registry.json" - }, - { - "id": "73ce0d4eb9e40e89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "voice-selector", - "discovered_via": "registry.json" - }, - { - "id": "7314324c7bd224a0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "web-preview", - "discovered_via": "registry.json" - } - ], - "ui_surfaces": [ - { - "id": "b5ae8943f7a89468", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "83c2b64", - "scanned_at": "2026-05-01T18:04:43Z", - "scanner_version": "dogfood-attempt-5" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-6/NOTES.md b/dogfood/ghost-ui/attempt-6/NOTES.md deleted file mode 100644 index f0e4061e..00000000 --- a/dogfood/ghost-ui/attempt-6/NOTES.md +++ /dev/null @@ -1,63 +0,0 @@ -# Attempt 6 - ghost-ui scan, 2026-05-03 (survey rename dogfood) - -Fresh dogfood pass after the `bucket` -> `survey` rename and the fingerprint-root changes. The scan followed the three-stage model from an empty `dogfood/ghost-ui/attempt-6`: map the system, survey what exists, express what it means. - -The source worktree was dirty because this dogfood was run inside the survey rename branch, so the survey provenance records `0406424+dirty`. - -## Stage Results - -| Stage | Result | -|---|---| -| map | `map.md` authored from `ghost-scan inventory packages/ghost-ui` plus source inspection | -| survey | `survey.json` generated by a fresh survey script over `main.css`, theme presets, component class atoms, and registry entries | -| fingerprint | `fingerprint.md` interpreted from the new survey with direct references and `# Signature`; no checks promoted without curator selection | - -## Survey Coverage - -| Section | Count | Coverage note | -|---|---:|---| -| values | 243 | 141 color, 34 typography, 26 spacing, 26 motion, 8 radius, 7 shadow, 1 breakpoint | -| tokens | 269 | 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages | -| components | 99 | 97 `registry:ui` rows plus `ThemeProvider` and `ThemeToggle` from `src/components/theme` | - -Independent checks: - -- `main.css` has 240 unique CSS variable names. -- `registry.json` has 97 `registry:ui` entries and 106 total registry items. -- The Tailwind class-atom pass found 698 resolved color class occurrences and 103 unresolved local color-token occurrences. - -## Fingerprint Shape - -Attempt 6 is the first ghost-ui dogfood artifact to exercise the new fingerprint root model: - -- `references.specs` points directly to `src/styles/main.css`, `font-faces.css`, theme defaults/presets, and `registry.json`. -- `references.components` points to `src/components/ui`, `src/components/ai-elements`, and `src/components/theme`. -- `# Signature` captures the final-picture posture: editorial scale plus compact component chrome, restrained grayscale hierarchy, role-named surfaces, semantic color, and token-preserving theme variation. -- `checks: []` is intentionally empty. Candidate checks remain notes until a human curator promotes them. - -## Candidate Checks For Human Promotion - -These are survey-supported candidates, not fingerprint frontmatter. - -| Candidate | Canonical | Support | Observed Count | Why it matters | -|---|---|---:|---:|---| -| `semantic-color-atoms-only` | token-architecture | 0.87 | 801 color class occurrences | 698 resolved color class atoms vs. 103 unresolved default Tailwind color atoms after `--color-*` reset | -| `no-font-face-bundles` | font-sourcing | 1.00 | 0 `@font-face` declarations | CSS contract says consumers bring fonts; `font-faces.css` is intentionally empty | -| `radius-token-set` | shape-language | 1.00 | 8 radius values | Default/preset radius vocabulary is `0/10/14/16/18/20/24/999px`; arbitrary radii would drift | -| `component-type-compact` | typography-voice | 0.98 | 199 component font-size atoms | `text-sm` and `text-xs` dominate component text; larger sizes should be deliberate display/context choices | -| `role-named-shadows` | elevation | 1.00 | 7 shadow values | Shadows are role tokens (`mini`, `card`, `popover`, `modal`, etc.) plus local `shadow-none`; arbitrary shadow values would drift | -| `motion-status-or-structure-only` | motion | 0.94 | 101 motion occurrences | Current motion is structural enter/exit or status/loading, not ambient ornament | - -Recommended promotion set: `semantic-color-atoms-only`, `no-font-face-bundles`, `radius-token-set`, `component-type-compact`, and `role-named-shadows`. Hold `motion-status-or-structure-only` until the team decides whether pulse/ping/spin are acceptable status motion or drift. - -## Validation - -```bash -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-6/map.md -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-6/survey.json -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-6/fingerprint.md -node packages/ghost-scan/dist/bin.js scan-status dogfood/ghost-ui/attempt-6 -node packages/ghost-drift/dist/bin.js compare dogfood/ghost-ui/attempt-6/fingerprint.md dogfood/ghost-ui/attempt-6/fingerprint.md -``` - -Map and survey return `0 error(s), 0 warning(s), 0 info`. Fingerprint returns `0 error(s), 0 warning(s), 1 info` because no promoted `checks[]` are present. Self-distance is `0.0%`. diff --git a/dogfood/ghost-ui/attempt-6/build-survey.mjs b/dogfood/ghost-ui/attempt-6/build-survey.mjs deleted file mode 100644 index 66f94427..00000000 --- a/dogfood/ghost-ui/attempt-6/build-survey.mjs +++ /dev/null @@ -1,998 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; -import { basename, join, relative } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const OUT = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-6/survey.json"; - -const SOURCE = { - id: "ghost-ui", - role: "primary", - target: "block/ghost@packages/ghost-ui", - commit: "0406424+dirty", - scanned_at: "2026-05-03T19:00:31Z", - scanner_version: "dogfood-attempt-6", -}; - -const MAIN_CSS = join(TARGET_ROOT, "src/styles/main.css"); -const THEME_PRESETS = join(TARGET_ROOT, "src/lib/theme-presets.ts"); -const REGISTRY = join(TARGET_ROOT, "registry.json"); -const SURFACE_DIRS = [ - "src/components/ui", - "src/components/ai-elements", - "src/components/theme", - "src/hooks", - "src/styles", - "src/lib", -]; - -const TAILWIND_TEXT_SIZE_PX = { - xs: 12, - sm: 14, - base: 16, - lg: 18, - xl: 20, - "2xl": 24, - "3xl": 30, - "4xl": 36, - "5xl": 48, - "6xl": 60, - "7xl": 72, - "8xl": 96, - "9xl": 128, -}; - -const TAILWIND_FONT_WEIGHTS = { - thin: 100, - extralight: 200, - light: 300, - normal: 400, - medium: 500, - semibold: 600, - bold: 700, - extrabold: 800, - black: 900, -}; - -function walk(dir, acc = []) { - for (const entry of readdirSync(dir)) { - const path = join(dir, entry); - const stat = statSync(path); - if (stat.isDirectory()) { - walk(path, acc); - } else { - acc.push(path); - } - } - return acc; -} - -function rel(path) { - return relative(TARGET_ROOT, path); -} - -function read(path) { - return readFileSync(path, "utf8"); -} - -const surfaceFiles = SURFACE_DIRS.flatMap((dir) => - walk(join(TARGET_ROOT, dir)), -).filter((path) => /\.(css|tsx?|jsx?)$/.test(path)); - -const fileText = new Map(surfaceFiles.map((path) => [path, read(path)])); - -function parseCssVariables(css) { - const vars = new Map(); - const lines = css.split(/\r?\n/); - let scope = null; - let depth = 0; - let pending = null; - - function addDecl(name, value, line) { - const entry = vars.get(name) ?? {}; - entry[scope] = { value: value.trim().replace(/\s+/g, " "), line }; - vars.set(name, entry); - } - - for (let i = 0; i < lines.length; i++) { - const rawLine = lines[i]; - const trimmed = rawLine.trim(); - - if (!scope) { - if (trimmed.startsWith("@theme inline")) { - scope = "theme-inline"; - depth = 0; - } else if (trimmed.startsWith("@theme")) { - scope = "theme"; - depth = 0; - } else if (trimmed.startsWith(":root")) { - scope = "root"; - depth = 0; - } else if (trimmed.startsWith(".dark")) { - scope = "dark"; - depth = 0; - } - } - - if (scope && pending) { - pending.value += ` ${trimmed.replace(/;$/, "")}`; - if (trimmed.includes(";")) { - addDecl(pending.name, pending.value, pending.line); - pending = null; - } - } else if (scope) { - const match = trimmed.match(/^(--[a-zA-Z0-9_-]+):\s*(.*)$/); - if (match) { - const name = match[1]; - const value = match[2].replace(/;$/, ""); - if (match[2].includes(";")) { - addDecl(name, value, i + 1); - } else { - pending = { name, value, line: i + 1 }; - } - } - } - - if (scope) { - depth += countChar(rawLine, "{"); - depth -= countChar(rawLine, "}"); - if (depth <= 0 && trimmed.endsWith("}")) { - scope = null; - depth = 0; - pending = null; - } - } - } - - return vars; -} - -function countChar(text, char) { - let count = 0; - for (const current of text) { - if (current === char) count++; - } - return count; -} - -function parsePresetOverrides(ts) { - const overrides = new Map(); - const lines = ts.split(/\r?\n/); - let preset = null; - let mode = null; - let depth = 0; - - for (const line of lines) { - const idMatch = line.match(/^\s*id:\s*"([^"]+)"/); - if (idMatch) preset = idMatch[1]; - - if (preset && !mode) { - if (line.match(/^\s*light:\s*{/)) { - mode = "light"; - depth = 0; - } else if (line.match(/^\s*dark:\s*{/)) { - mode = "dark"; - depth = 0; - } - } - - if (preset && mode) { - const valueMatch = line.match(/^\s*"([^"]+)":\s*"([^"]+)"/); - if (valueMatch) { - const name = valueMatch[1]; - const value = valueMatch[2]; - const key = `${preset}:${mode}`; - const entry = overrides.get(name) ?? {}; - entry[key] = value; - overrides.set(name, entry); - } - depth += countChar(line, "{"); - depth -= countChar(line, "}"); - if (depth <= 0 && line.trim().startsWith("}")) { - mode = null; - } - } - } - - return overrides; -} - -const cssVars = parseCssVariables(read(MAIN_CSS)); -const presetOverrides = parsePresetOverrides(read(THEME_PRESETS)); - -function rawFor(name, mode = "default") { - const entry = cssVars.get(name); - if (!entry) return undefined; - if (mode === "dark") { - return ( - entry.dark?.value ?? - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value - ); - } - return ( - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value ?? - entry.dark?.value - ); -} - -function resolveToken(name, mode = "default", seen = []) { - if (seen.includes(name)) { - return { value: rawFor(name, mode) ?? name, chain: seen, resolved: false }; - } - - const raw = rawFor(name, mode); - if (!raw) { - return { value: name, chain: seen, resolved: false }; - } - - const varMatch = raw.match(/^var\((--[a-zA-Z0-9_-]+)(?:,[^)]+)?\)$/); - if (varMatch) { - const next = varMatch[1]; - const resolved = resolveToken(next, mode, [...seen, name]); - return { ...resolved, chain: [next, ...resolved.chain] }; - } - - const calcMatch = raw.match( - /^calc\(var\((--[a-zA-Z0-9_-]+)\)\s*([+-])\s*([0-9.]+)px\)$/, - ); - if (calcMatch) { - const baseName = calcMatch[1]; - const op = calcMatch[2]; - const delta = Number(calcMatch[3]); - const base = resolveToken(baseName, mode, [...seen, baseName]); - const parsed = parseLength(base.value); - if (parsed) { - const basePx = toPx(parsed.scalar, parsed.unit); - const value = op === "+" ? basePx + delta : basePx - delta; - return { - value: `${formatNumber(value)}px`, - chain: [...seen, baseName], - resolved: true, - }; - } - } - - return { value: raw, chain: seen, resolved: true }; -} - -function parseLength(raw) { - const text = String(raw).trim(); - if (text === "0") return { scalar: 0, unit: "px" }; - const match = text.match(/^(-?[0-9.]+)(px|rem|em|vw|vh|%)$/); - if (!match) return null; - return { scalar: Number(match[1]), unit: match[2] }; -} - -function toPx(scalar, unit) { - if (unit === "rem" || unit === "em") return scalar * 16; - return scalar; -} - -function formatNumber(n) { - return Number.isInteger(n) ? String(n) : String(Number(n.toFixed(3))); -} - -function normalizeScalarValue(raw) { - const parsed = parseLength(raw); - if (!parsed) return String(raw).trim(); - if (parsed.unit === "px" || parsed.unit === "rem" || parsed.unit === "em") { - return `${formatNumber(toPx(parsed.scalar, parsed.unit))}px`; - } - return `${formatNumber(parsed.scalar)}${parsed.unit}`; -} - -function normalizeColor(raw) { - return String(raw) - .trim() - .replace(/^#([0-9A-Fa-f]+)/, (_, hex) => `#${hex.toLowerCase()}`); -} - -function kindForToken(name, value) { - const raw = String(value).trim(); - if ( - raw.startsWith("#") || - raw.startsWith("rgb") || - name.startsWith("--color-") || - name.startsWith("--background") || - name.startsWith("--border") || - name.startsWith("--text-") || - name.startsWith("--chart") || - name.startsWith("--ring") || - name.startsWith("--dark") || - name.startsWith("--surface") - ) { - return raw.match(/^(#[0-9A-Fa-f]{3,8}|rgba?\(|hsla?\()/) ? "color" : null; - } - if (name.startsWith("--radius")) return "radius"; - if (name.startsWith("--shadow")) return "shadow"; - if ( - name.startsWith("--font") || - name.startsWith("--heading") || - name.startsWith("--display") || - name.startsWith("--body") || - name.startsWith("--label") || - name.startsWith("--pullquote") || - name === "--text-xxs" - ) { - return "typography"; - } - if ( - name.startsWith("--spacing") || - name.startsWith("--page") || - name.startsWith("--section") - ) { - return name.includes("max-width") ? "breakpoint" : "spacing"; - } - if (name.startsWith("--breakpoint")) return "breakpoint"; - if ( - name.startsWith("--duration") || - name.startsWith("--ease") || - name.startsWith("--animate") - ) { - return "motion"; - } - return null; -} - -function normalizeValue(kind, value) { - if (kind === "color") return normalizeColor(value); - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - return normalizeScalarValue(value); - } - if (kind === "motion") { - const text = String(value).trim(); - const seconds = text.match(/^([0-9.]+)s$/); - if (seconds) return `${formatNumber(Number(seconds[1]) * 1000)}ms`; - return text; - } - return String(value).trim(); -} - -function specFor(kind, value) { - if (kind === "color") { - if (value.startsWith("#")) return { space: "srgb", hex: value }; - return { space: "unknown" }; - } - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - const parsed = parseLength(value); - if (parsed) return parsed; - } - if (kind === "motion") { - const ms = value.match(/^([0-9.]+)ms$/); - if (ms) return { duration_ms: Number(ms[1]) }; - return { easing: value }; - } - if (kind === "typography") { - const parsed = parseLength(value); - if (parsed) return { size: parsed }; - if (/^[0-9]+$/.test(value)) return { weight: Number(value) }; - return { family: value }; - } - return undefined; -} - -const values = new Map(); - -function addValue(kind, value, raw, count, files, usageKey, role) { - if (!kind || !value) return; - const normalized = normalizeValue(kind, value); - if (!normalized || normalized === "initial") return; - const key = `${kind}|${normalized}`; - const row = values.get(key) ?? { - id: "", - source: SOURCE, - kind, - value: normalized, - raw, - spec: specFor(kind, normalized), - occurrences: 0, - files: new Set(), - usage: {}, - role_hypothesis: role, - }; - row.occurrences += count; - for (const file of files) row.files.add(file); - row.usage[usageKey] = (row.usage[usageKey] ?? 0) + count; - if (!row.role_hypothesis && role) row.role_hypothesis = role; - values.set(key, row); -} - -function countNeedle(needle) { - let occurrences = 0; - const files = new Set(); - for (const [file, text] of fileText) { - let index = text.indexOf(needle); - while (index !== -1) { - occurrences++; - files.add(rel(file)); - index = text.indexOf(needle, index + needle.length); - } - } - return { occurrences, files }; -} - -const tokens = []; -for (const name of [...cssVars.keys()].sort()) { - const resolved = resolveToken(name); - const dark = resolveToken(name, "dark"); - const seen = countNeedle(name); - const byTheme = {}; - if (dark.resolved && dark.value !== resolved.value) { - byTheme.dark = normalizeValue( - kindForToken(name, dark.value) ?? "", - dark.value, - ); - } - const presetForName = presetOverrides.get(name); - if (presetForName) { - for (const [theme, raw] of Object.entries(presetForName)) { - const kind = kindForToken(name, raw); - byTheme[theme] = kind ? normalizeValue(kind, raw) : raw; - } - } - - tokens.push({ - id: "", - source: SOURCE, - name, - alias_chain: resolved.chain, - resolved_value: normalizeValue( - kindForToken(name, resolved.value) ?? "", - resolved.value, - ), - ...(Object.keys(byTheme).length ? { by_theme: byTheme } : {}), - occurrences: Math.max(1, seen.occurrences), - }); - - const kind = kindForToken(name, resolved.value); - if (kind) { - addValue( - kind, - resolved.value, - name, - Math.max(1, seen.occurrences), - seen.files.size ? seen.files : new Set(["src/styles/main.css"]), - "css_var", - roleForToken(name), - ); - } - for (const raw of Object.values(presetForName ?? {})) { - const kindForPreset = kindForToken(name, raw); - if (kindForPreset) { - addValue( - kindForPreset, - raw, - name, - 1, - new Set(["src/lib/theme-presets.ts"]), - "theme_preset", - roleForToken(name), - ); - } - } -} - -function roleForToken(name) { - if (name.includes("danger") || name.includes("destructive")) return "danger"; - if (name.includes("success")) return "success"; - if (name.includes("warning")) return "warning"; - if (name.includes("info")) return "info"; - if (name.includes("chart")) return "chart"; - if (name.includes("background")) return "surface"; - if (name.includes("border")) return "border"; - if (name.includes("text") || name.includes("foreground")) return "text"; - if (name.includes("radius")) return "shape"; - if (name.includes("shadow")) return "elevation"; - return undefined; -} - -const unresolvedTokens = new Map(); - -function addUnresolvedToken(name, atom, count, files) { - const current = unresolvedTokens.get(name) ?? { - name, - atoms: new Set(), - occurrences: 0, - files: new Set(), - }; - current.atoms.add(atom); - current.occurrences += count; - for (const file of files) current.files.add(file); - unresolvedTokens.set(name, current); -} - -function extractAtoms() { - const atoms = new Map(); - const atomRe = - /\b(bg|text|border|fill|stroke|ring|outline|from|to|via|p[lrtbxy]?|m[lrtbxy]?|w|h|min-w|min-h|max-w|max-h|size|gap|space-[xy]|inset(?:-[xy])?|top|right|bottom|left|rounded(?:-[a-z0-9]+)?|shadow|duration|ease|animate|font)-[a-zA-Z0-9./:%_#-]+(?:\[[^\]]+\])?/g; - for (const [file, text] of fileText) { - if (!/\.(tsx?|jsx?)$/.test(file)) continue; - for (const match of text.matchAll(atomRe)) { - const atom = match[0]; - const entry = atoms.get(atom) ?? { count: 0, files: new Set() }; - entry.count++; - entry.files.add(rel(file)); - atoms.set(atom, entry); - } - } - return atoms; -} - -function suffix(atom) { - return atom.slice(atom.indexOf("-") + 1).split("/")[0]; -} - -function numericSpacingValue(value) { - if (value === "px") return 1; - if (value === "0") return 0; - const fraction = value.match(/^([0-9]+)\/([0-9]+)$/); - if (fraction) return null; - const n = Number(value); - if (Number.isFinite(n)) return n * 4; - return null; -} - -function bracketValue(atom) { - const match = atom.match(/\[([^\]]+)\]/); - return match?.[1]; -} - -function tokenValue(name, mode = "default") { - if (!cssVars.has(name)) return null; - const resolved = resolveToken(name, mode); - return resolved.resolved ? resolved.value : null; -} - -function resolveColorAtom(atom, tokenSuffix, entry) { - const token = `--color-${tokenSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "color", - value, - atom, - entry.count, - entry.files, - "className", - roleForToken(token), - ); - } else if (looksLikeMissingColor(tokenSuffix)) { - addUnresolvedToken(token, atom, entry.count, entry.files); - } -} - -function looksLikeMissingColor(tokenSuffix) { - return /^(slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-[0-9]{2,3}$/.test( - tokenSuffix, - ); -} - -function handleAtom(atom, entry) { - const rawSuffix = suffix(atom); - const bracket = bracketValue(atom); - - if (atom.startsWith("font-")) { - if (TAILWIND_FONT_WEIGHTS[rawSuffix] !== undefined) { - addValue( - "typography", - String(TAILWIND_FONT_WEIGHTS[rawSuffix]), - atom, - entry.count, - entry.files, - "className", - "font-weight", - ); - } else { - const token = `--font-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "typography", - value, - atom, - entry.count, - entry.files, - "className", - "font-family", - ); - } - } - return; - } - - if (atom.startsWith("text-")) { - if ( - [ - "left", - "right", - "center", - "justify", - "balance", - "pretty", - "wrap", - "nowrap", - "ellipsis", - "clip", - "current", - "transparent", - ].includes(rawSuffix) - ) { - return; - } - if (TAILWIND_TEXT_SIZE_PX[rawSuffix] !== undefined) { - addValue( - "typography", - `${TAILWIND_TEXT_SIZE_PX[rawSuffix]}px`, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - if (bracket) { - addValue( - "typography", - bracket, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - atom.startsWith("bg-") || - atom.startsWith("border-") || - atom.startsWith("ring-") || - atom.startsWith("fill-") || - atom.startsWith("stroke-") || - atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-") - ) { - if ( - /^(border|ring)-offset-/.test(atom) || - /^border-[trblxy](?:-|$)/.test(atom) || - [ - "b", - "t", - "l", - "r", - "x", - "y", - "dashed", - "solid", - "collapse", - "separate", - ].includes(rawSuffix) - ) { - return; - } - if ( - (atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-")) && - [ - "top", - "right", - "bottom", - "left", - "start", - "end", - "top-2", - "right-2", - "bottom-2", - "left-2", - "top-4", - "right-4", - "bottom-4", - "left-4", - "left-52", - "right-52", - ].includes(rawSuffix) - ) { - return; - } - if (bracket?.startsWith("#")) { - addValue("color", bracket, atom, entry.count, entry.files, "className"); - return; - } - if (/^(0|2|4|8)$/.test(rawSuffix) && !atom.startsWith("bg-")) return; - if (["none", "transparent", "current"].includes(rawSuffix)) return; - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - /^(p|px|py|pt|pr|pb|pl|m|mx|my|mt|mr|mb|ml|w|h|min-w|min-h|max-w|max-h|size|gap|space-x|space-y|inset|inset-x|inset-y|top|right|bottom|left)-/.test( - atom, - ) - ) { - if ( - ["full", "fit", "auto", "screen", "min", "max", "0.5"].includes(rawSuffix) - ) { - if (rawSuffix !== "0.5") return; - } - const tokenName = atom.startsWith("h-") ? `--spacing-${rawSuffix}` : null; - const tokenResolved = tokenName ? tokenValue(tokenName) : null; - if (tokenResolved) { - addValue( - "spacing", - tokenResolved, - atom, - entry.count, - entry.files, - "className", - ); - return; - } - const scalar = bracket ? null : numericSpacingValue(rawSuffix); - if (scalar !== null) { - addValue( - "spacing", - `${scalar}px`, - atom, - entry.count, - entry.files, - "className", - ); - } else if (bracket) { - addValue("spacing", bracket, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("rounded")) { - if (atom === "rounded-full") { - addValue( - "radius", - "999px", - atom, - entry.count, - entry.files, - "className", - "pill", - ); - return; - } - if (atom === "rounded-none") { - addValue("radius", "0px", atom, entry.count, entry.files, "className"); - return; - } - if (bracket) { - addValue("radius", bracket, atom, entry.count, entry.files, "className"); - return; - } - const radiusSuffix = rawSuffix.replace(/^-[a-z]+-/, ""); - const token = `--radius-${radiusSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "radius", - value, - atom, - entry.count, - entry.files, - "className", - "shape", - ); - } - return; - } - - if (atom.startsWith("shadow-")) { - if (rawSuffix === "none") { - addValue("shadow", "none", atom, entry.count, entry.files, "className"); - return; - } - const token = `--shadow-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "shadow", - value, - atom, - entry.count, - entry.files, - "className", - "elevation", - ); - } - return; - } - - if (atom.startsWith("duration-")) { - const n = Number(rawSuffix); - if (Number.isFinite(n)) { - addValue("motion", `${n}ms`, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("ease-")) { - addValue("motion", rawSuffix, atom, entry.count, entry.files, "className"); - return; - } - - if (atom.startsWith("animate-")) { - const token = `--animate-${rawSuffix}`; - const value = tokenValue(token); - addValue( - "motion", - value ?? rawSuffix, - atom, - entry.count, - entry.files, - "className", - ); - } -} - -for (const [atom, entry] of extractAtoms()) { - handleAtom(atom, entry); -} - -for (const unresolved of unresolvedTokens.values()) { - tokens.push({ - id: "", - source: SOURCE, - name: unresolved.name, - alias_chain: [], - resolved_value: "unresolved", - occurrences: unresolved.occurrences, - resolution: { - status: "unresolved-local", - symbol: [...unresolved.atoms].sort().join(", "), - message: - "Tailwind class atom references a color token not declared after --color-* reset.", - }, - }); -} - -function extractObjectKeys(text, property) { - const marker = `${property}: {`; - const idx = text.indexOf(marker); - if (idx === -1) return []; - const start = text.indexOf("{", idx); - let depth = 0; - let end = start; - for (let i = start; i < text.length; i++) { - if (text[i] === "{") depth++; - if (text[i] === "}") depth--; - if (depth === 0) { - end = i; - break; - } - } - const block = text.slice(start + 1, end); - return [...block.matchAll(/^\s*"?([a-zA-Z0-9_-]+)"?:\s/gm)] - .map((match) => match[1]) - .filter( - (key) => !["className", "variants", "defaultVariants"].includes(key), - ); -} - -const registry = JSON.parse(read(REGISTRY)); -const components = []; -for (const item of registry.items.filter( - (entry) => entry.type === "registry:ui", -)) { - const filePath = item.files?.[0]?.path - ? join(TARGET_ROOT, item.files[0].path) - : null; - const text = filePath ? read(filePath) : ""; - const variants = extractObjectKeys(text, "variant"); - const sizes = extractObjectKeys(text, "size"); - components.push({ - id: "", - source: SOURCE, - name: item.name, - discovered_via: "registry.json", - ...(variants.length ? { variants } : {}), - ...(sizes.length ? { sizes } : {}), - }); -} - -for (const path of walk(join(TARGET_ROOT, "src/components/theme")).filter( - (file) => file.endsWith(".tsx"), -)) { - components.push({ - id: "", - source: SOURCE, - name: basename(path, ".tsx"), - discovered_via: "source:src/components/theme", - }); -} - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values: [...values.values()] - .map((row) => { - const out = { - id: row.id, - source: row.source, - kind: row.kind, - value: row.value, - raw: row.raw, - ...(row.spec ? { spec: row.spec } : {}), - occurrences: row.occurrences, - files_count: row.files.size, - usage: row.usage, - ...(row.role_hypothesis - ? { role_hypothesis: row.role_hypothesis } - : {}), - }; - return out; - }) - .sort( - (a, b) => a.kind.localeCompare(b.kind) || a.value.localeCompare(b.value), - ), - tokens: tokens.sort((a, b) => a.name.localeCompare(b.name)), - components: components.sort((a, b) => a.name.localeCompare(b.name)), - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -writeFileSync(OUT, `${JSON.stringify(survey, null, 2)}\n`); - -const byKind = survey.values.reduce((acc, row) => { - acc[row.kind] = (acc[row.kind] ?? 0) + 1; - return acc; -}, {}); - -console.error( - JSON.stringify( - { - values: survey.values.length, - values_by_kind: byKind, - tokens: survey.tokens.length, - unresolved_tokens: unresolvedTokens.size, - components: survey.components.length, - out: OUT, - }, - null, - 2, - ), -); diff --git a/dogfood/ghost-ui/attempt-6/fingerprint.md b/dogfood/ghost-ui/attempt-6/fingerprint.md deleted file mode 100644 index e47154b2..00000000 --- a/dogfood/ghost-ui/attempt-6/fingerprint.md +++ /dev/null @@ -1,236 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-05-03T19:00:31Z -sources: - - block/ghost@packages/ghost-ui@0406424+dirty -observation: - personality: - - editorial - - monochrome-default - - token-driven - - pill-forward - - compact - - themeable - resembles: - - shadcn/ui - - Vercel Geist - - Linear -references: - specs: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - registry.json - components: - - src/components/ui - - src/components/ai-elements - - src/components/theme - examples: - - README.md - - .shadcn/skills.md -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: theming-architecture - - dimension: shape-language - - dimension: typography-voice - - dimension: font-sourcing - - dimension: spatial-system - - dimension: density - - dimension: elevation - - dimension: motion - - dimension: token-architecture -checks: [] -palette: - dominant: - - role: background - value: "#ffffff" - - role: foreground-accent - value: "#1a1a1a" - - role: border - value: "#e8e8e8" - - role: muted-surface - value: "#f0f0f0" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#0a0a0a" - - "#000000" - count: 13 - semantic: - - role: danger - value: "#f94b4b" - - role: danger-dark - value: "#ff6b6b" - - role: success - value: "#91cb80" - - role: success-dark - value: "#a3d795" - - role: info - value: "#5c98f9" - - role: info-dark - value: "#7cacff" - - role: warning - value: "#fbcd44" - - role: warning-dark - value: "#ffd966" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - - role: dark-surface - value: "#0a0a0a" - saturationProfile: mixed - contrast: high -spacing: - scale: [0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 64, 75, 96, 100, 256, 288, 320] - regularity: 0.78 - baseUnit: 4 -typography: - families: - - 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif' - - '"Geist Mono", monospace' - - serif - sizeRamp: [10, 11, 12, 14, 16, 18, 20, 24, 28, 40, 44, 48, 64, 96, 192] - weightDistribution: - "300": 1 - "400": 5 - "500": 38 - "600": 9 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [0, 10, 14, 16, 18, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate - borderTokenCount: 19 ---- - -# Character - -`ghost-ui` reads as a compact shadcn-derived component system wearing an editorial, monochrome-first skin. Its default theme is nearly achromatic and high-contrast, but the package also ships five runtime presets that can replace the color and radius vocabulary without changing component code. The component layer is dense and practical: small type, tight controls, pill-forward interactive elements, tokenized surfaces, and structural motion for overlays, navigation, loading, and AI-status affordances. - -# Signature - -The recognizable output posture is a designed catalogue surface rather than a generic app chrome: strong editorial scale exists in the token layer, while actual components stay tight, functional, and repeatable. Screens should compose compact pill controls, role-named surfaces, and restrained grayscale hierarchy, then use hue only when it carries state, data, or an intentional theme preset. Variety should come through type scale, shaped task layouts, semantic color, and token-preserving theme swaps, not through one-off decoration or arbitrary component styling. - -# Decisions - -### color-strategy - -Default UI color is mostly grayscale; hue is reserved for semantic state, charts, and optional runtime presets. The broad survey has 141 color rows because bundled presets ship alternate palettes, but the default component contract still resolves most high-occurrence UI color through semantic tokens instead of ad hoc literals. - -**Evidence:** -- Survey top color rows: `#ffffff` (385 occurrences), `#1a1a1a` (305), `#e8e8e8` (241), `#f0f0f0` (223), `#999999` (193). -- Default neutral ladder appears as `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#0a0a0a`, `#000000`. -- Semantic/default hues are tokenized: danger `#f94b4b` / `#ff6b6b`, success `#91cb80` / `#a3d795`, info `#5c98f9` / `#7cacff`, warning `#fbcd44` / `#ffd966`. -- Chart hues are a separate data palette: `#f6b44a`, `#7585ff`, `#d76a6a`, `#d185e0`, `#91cb80`. - -### surface-hierarchy - -Surfaces are named by role, not shade number. Background, foreground, border, input, card, popover, sidebar, accent, and destructive tokens form the component vocabulary, with default and dark values flowing through the same names. - -**Evidence:** -- High-usage aliases: `--background` -> `#ffffff` (145 occurrences), `--border` -> `#e8e8e8` (147), `--border-input` -> `#e5e5e5` (32), `--text-default` -> `#1a1a1a` (29). -- Components use role atoms such as `bg-background`, `bg-muted`, `text-muted-foreground`, `border-input`, `ring-ring/50`, and `bg-card`. -- Dark surface tokens include `#000000`, `#232323`, `#333333`, and `#0a0a0a` rather than a separate component branch. - -### theming-architecture - -The theme architecture is a CSS-variable cascade: raw constants and semantic variables feed shadcn aliases, then Tailwind `@theme inline` exposes them to class atoms. Runtime presets override the same semantic keys, including radius tokens, so theme switching changes the language through variables rather than component variants. - -**Evidence:** -- `src/styles/main.css` declares 240 unique CSS variable names. -- `src/lib/theme-presets.ts` ships five non-default presets: `warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, and `soft-pastel`. -- `neon-brutalist` sets `--radius`, `--radius-pill`, `--radius-button`, `--radius-input`, `--radius-card`, `--radius-card-lg`, `--radius-card-sm`, `--radius-dropdown`, and `--radius-modal` to `0px`. - -### shape-language - -The default shape system is pill-forward for interactives and moderately rounded for containers, with a notable preset escape hatch to square everything off. Shape is therefore a default design stance plus a themeable axis, not a hard global constant. - -**Evidence:** -- Radius rows: `20px` (114 occurrences), `18px` (49), `999px` (46), `16px` (27), preset-driven `0px` (23), `10px` (16), `14px` (11), and `24px` (10). -- Button uses `rounded-full`; card and message surfaces use `rounded-lg`; dropdowns use `rounded-dropdown`; many controls inherit `rounded-md`. -- Theme defaults define `--radius-button: 999px`, `--radius-input: 999px`, `--radius-card: 20px`, `--radius-dropdown: 10px`, and `--radius-modal: 16px`. - -### typography-voice - -Typography mixes compact utility text with an editorial display system. Most component usage is `text-sm`/`text-xs` and medium weight, while the token layer still carries dramatic display clamps, tight line heights, negative tracking, and uppercase-label rhythm. - -**Evidence:** -- Component class atoms: `text-sm` resolves to `14px` (121 occurrences) and `text-xs` resolves to `12px` (74). -- Editorial tokens include `clamp(64px, 8vw, 96px)`, `clamp(44px, 5vw, 64px)`, `clamp(3rem, 12vw, 12rem)`, line heights `0.85`, `0.88`, `0.95`, and letter spacing `-0.05em`, `-0.035em`, `-0.02em`, `-0.01em`. -- Weight usage is concentrated at `500` (38 occurrences) with smaller signals for `600`, `700`, `900`, `400`, and `300`. - -### font-sourcing - -The CSS contract remains consumer-supplied for fonts even though the source tree currently contains unused font assets. `font-faces.css` declares no `@font-face`; the shipped token layer names system sans, Geist Mono, and generic serif stacks. - -**Evidence:** -- `src/styles/font-faces.css` contains only the comment that the design language ships with no bundled fonts. -- Token rows include `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`, `"Geist Mono", monospace`, and `serif`. -- The package `files` list publishes `src/styles` and `registry.json`, not `src/fonts`. - -### spatial-system - -Spacing is visibly Tailwind-consumed rather than only token-declared. The dominant rhythm is a 4px utility grid with half-step exceptions, plus named component heights and a few large layout widths. - -**Evidence:** -- Class-derived spacing rows dominate: `16px` (224 occurrences), `8px` (206), `12px` (107), `4px` (102), `32px` (56), `6px` (48). -- Named component heights remain present: `--spacing-button-sm` -> `32px`, `--spacing-button` -> `44px`, `--spacing-input` -> `52px`. -- Layout-specific rows include `75px`, `96px`, `100px`, `256px`, `288px`, and `320px`, which should not be mistaken for the core control rhythm. - -### density - -The component layer is compact and repeated-action friendly, while page-level tokens preserve larger editorial whitespace. Controls cluster around 32-40px heights with 12-14px text; cards and page sections carry the bigger breathing room. - -**Evidence:** -- Button sizes use `h-8`, `h-9`, `h-10`, `w-7`, `w-8`, `w-9`, and `w-10`; `Button` defaults to `text-sm`. -- `MessageContent` uses `text-sm`, `gap-2`, `px-4`, and `py-3`. -- Page-level tokens still include `--section-padding-vertical: 100px` and `--section-heading-margin-bottom: 75px`. - -### elevation - -Elevation is layered and role-named. Shadows are not a numeric scale; they map to mini, button, card, elevated, popover, modal, keyboard, and date-field focus roles, with dark-mode variants increasing opacity. - -**Evidence:** -- Shadow rows include `0 2px 8px rgba(76, 76, 76, 0.15)` (58 occurrences), `0 8px 30px rgba(0, 0, 0, 0.12)` (21), `0 20px 60px rgba(0, 0, 0, 0.2)` (14), and `0 0 0 3px rgba(26, 26, 26, 0.15)` (12). -- Dark defaults define the same role names with stronger opacity, including modal at `rgba(0, 0, 0, 0.6)`. -- `shadow-none` is also used (9 occurrences), mainly as a local suppression rather than the global posture. - -### motion - -Motion is practical, not absent. The scan found structural enter/exit atoms, duration tiers, accordion/caret/fade/scale tokens, and status/loading animations such as pulse, ping, and spin. The old "no decorative motion" stance is too strong for the current codebase. - -**Evidence:** -- `animate-in` appears 30 times and `animate-out` 28 times across overlay/sheet-style behavior. -- Duration values include `150ms`, `200ms`, `300ms`, `400ms`, `500ms`, and `1000ms`; the token layer declares fast/normal/slow as `150ms`, `200ms`, and `400ms`. -- Loading/status motion appears as `animate-pulse`, `animate-ping`, and `animate-spin` in skeleton, test-results, speech-input, terminal, and spinner components. - -### token-architecture - -The intended token architecture is semantic, but the faithful Tailwind atom pass exposed a real conflict: `main.css` resets `--color-*`, while several AI elements still use default Tailwind color families. Those atoms are unresolved locally and should be treated as lower-confidence scan evidence and likely drift from the semantic token contract. - -**Evidence:** -- Survey has 269 token rows: 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages. -- Unresolved local tokens account for 103 occurrences, including `--color-red-400`, `--color-red-700`, `--color-green-400`, `--color-blue-600`, `--color-yellow-400`, `--color-orange-700`, and `--color-zinc-800`. -- Resolved color class usage still dominates: 698 resolved color class occurrences versus 103 unresolved local color-token occurrences. diff --git a/dogfood/ghost-ui/attempt-6/map.md b/dogfood/ghost-ui/attempt-6/map.md deleted file mode 100644 index 0f897537..00000000 --- a/dogfood/ghost-ui/attempt-6/map.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -subject: - id: ghost-ui - target: block/ghost@packages/ghost-ui -sources: - - id: ghost-ui - role: primary - target: block/ghost@packages/ghost-ui - paths: - - packages/ghost-ui -mapped_at: 2026-05-03 -platform: web -languages: - - { name: typescript, files: 116, share: 0.468 } - - { name: json, files: 114, share: 0.46 } - - { name: markdown, files: 10, share: 0.04 } - - { name: css, files: 4, share: 0.016 } - - { name: javascript, files: 4, share: 0.016 } -build_system: pnpm -package_manifests: - - package.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: shadcn, version: "4.3.0" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/ui - - src/components/ai-elements - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - src/components/ui/** - - src/components/ai-elements/** - - src/components/theme/** - - src/styles/** - - src/lib/theme-*.ts - exclude: - - src/mcp/** - - scripts/** - - dist/** - - dist-lib/** - - dist-mcp/** - - test/** - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: - - src/components/ui - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: - - src/components/ai-elements - sub_areas: [chat, agent-state, artifacts, terminal, media] - - name: theme-controls - paths: - - src/components/theme - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - sub_areas: [runtime-presets, css-variable-injection] - - name: tokens - paths: - - src/styles - sub_areas: [colors, typography, radius, shadows, motion, spacing] - - name: hooks - paths: - - src/hooks - sub_areas: [scroll-reveal, mobile, text-animation] -orientation_files: - - package.json - - registry.json - - components.json - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/components/ui/button.tsx - - src/components/ui/card.tsx - - src/components/ai-elements/message.tsx ---- - -## Identity - -`ghost-ui` is the reusable React component and theme package inside the Ghost repo. It publishes a shadcn-compatible registry, a CSS token surface, and an MCP server for exposing the registry to agents. - -## Topology - -The design system is colocated in `packages/ghost-ui`: canonical tokens live in `src/styles/main.css` plus theme helper files in `src/lib`, while component surfaces live under `src/components/ui`, `src/components/ai-elements`, and `src/components/theme`. The registry enumerates 106 distributable items and remains the strongest component-count signal. - -## Conventions - -Styling is Tailwind v4 driven by CSS custom properties: raw constants and semantic tokens cascade into `@theme inline` aliases consumed by components. Runtime presets override the same CSS variables rather than branching component code, so the scan should treat tokens and component usage together. The target currently contains already-generated `map.md`, `survey.json`, and `fingerprint.md`; those are orientation artifacts, not source-of-truth inputs for this dogfood scan. diff --git a/dogfood/ghost-ui/attempt-6/survey.json b/dogfood/ghost-ui/attempt-6/survey.json deleted file mode 100644 index 1400c905..00000000 --- a/dogfood/ghost-ui/attempt-6/survey.json +++ /dev/null @@ -1,12398 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - } - ], - "values": [ - { - "id": "0ae40ff5d62bf426", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "--breakpoint-desktop", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "395acf195a41a666", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#000000", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 51, - "files_count": 9, - "usage": { - "css_var": 37, - "theme_preset": 8, - "className": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "436c00bdb8fe4ddc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#00e5ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#00e5ff" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "097a1861f41b1014", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#00ff66", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#00ff66" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "ff6fffef3361c7e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 13, - "files_count": 2, - "usage": { - "theme_preset": 1, - "css_var": 12 - }, - "role_hypothesis": "surface" - }, - { - "id": "fe7c1db5066ef3db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#0a1e28", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a1e28" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "d72aa35afe270b4c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#0e0a14", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0e0a14" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "fd5ba08608501e23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#0f3442", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#0f3442" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "09b33ae60cf990db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#112a36", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#112a36" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "86693df41f6a3896", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#14121c", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#14121c" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "b0dd8ad40ee8ad95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#141414", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#141414" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "99c29e6c83efdced", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1a1224", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1a1224" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "c23652f148e4e751", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "--accent-foreground", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 305, - "files_count": 60, - "usage": { - "css_var": 161, - "className": 144 - }, - "role_hypothesis": "text" - }, - { - "id": "924c8976e1deaf80", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1a3a4a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#1a3a4a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "9c3d1c52bb2befdc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1b6b8a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1b6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "8417392acc04e706", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1c1410", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#1c1410" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "0af8a07e5c01d6d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1e1528", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1e1528" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "theme_preset": 7 - }, - "role_hypothesis": "surface" - }, - { - "id": "4b350a0917a6869d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#1e1a2a", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1e1a2a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "24156a466cb7fbf9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#232323", - "raw": "--color-gray-800", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "1367d33cd70bdd99", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#2a1e3a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a1e3a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "cabe4ed0cc47f7af", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#2a1f18", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#2a1f18" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "f41ce7345378b8dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#2a2640", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a2640" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "5f3fafa92b9737a4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#2a5060", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#2a5060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "005f850da38362f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#2e9ab8", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#2e9ab8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "6c18561a337fee90", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#333333", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 8, - "files_count": 3, - "usage": { - "theme_preset": 2, - "css_var": 5, - "className": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "7078d9c57e77dc71", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a2a50", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a2a50" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "993058666e6f5b65", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a2c20", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#3a2c20" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "5a727d3a8476668a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a3452", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a3452" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "178857191010e472", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a3552", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3a3552" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "4d547b717145b7dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a6070", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#3a6070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "36486158e36bd0ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3a6a7c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#3a6a7c" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "7c4019f9a7a8ccb2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3ab4d8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#3ab4d8" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "f108cf2e4baee7fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#3d2b1f", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3d2b1f" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "cb589b08be4ae917", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#444444", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#444444" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "41d59fb53ce0a36c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#4a382a", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#4a382a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "d667c4d7cbea0928", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#4a3a60", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a3a60" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "d1eed34a5a558c41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#4a4468", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a4468" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "4cceaa88c6053613", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#555555", - "raw": "--text-muted", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "335d7d1b194fd82b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5a4530", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#5a4530" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "b663e6595f0cbc2a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5a4b6a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a4b6a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "781b74e20219de7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5a8a9c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a8a9c" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "1a4ba9e16ee89cd6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5b78d8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#5b78d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "f62b7376dd81c745", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 29, - "files_count": 3, - "usage": { - "css_var": 29 - }, - "role_hypothesis": "info" - }, - { - "id": "c91204efc38614c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#5e8ec5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#5e8ec5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "d4a5b5159c2e56df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#666666", - "raw": "--color-gray-600", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 19, - "files_count": 3, - "usage": { - "css_var": 19 - }, - "role_hypothesis": "text" - }, - { - "id": "36622b6c9cec34a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#6a6280", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6a6280" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "3e4dee5793495a16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#6b5940", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6b5940" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "2e17ab730b57bd10", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7090c0", - "raw": "--text-info", - "spec": { - "space": "srgb", - "hex": "#7090c0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "info" - }, - { - "id": "1c6f469ee0e34034", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#70a870", - "raw": "--text-success", - "spec": { - "space": "srgb", - "hex": "#70a870" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "success" - }, - { - "id": "9059e10500cc4c21", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7585ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "613c8b90294ef2f9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7a6b8a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#7a6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "74ef03ce3be48778", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7aaee5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7aaee5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "0ede2fb97cae19ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7b92e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b92e8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "a08d8a2d34d17db4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7b9ea8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b9ea8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "b3dc12daa7300145", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7bc4b8", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7bc4b8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "3d8db22ca7e22ae4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7cacff", - "raw": "--color-blue-100", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "css_var": 3, - "className": 2 - } - }, - { - "id": "47542a1a1aaaaa89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#7cb88a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#7cb88a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "2f45f34f9871dd43", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#80a8d8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#80a8d8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "info" - }, - { - "id": "f5ceb80ac5670e8c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#80c080", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#80c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "success" - }, - { - "id": "7312010666e07661", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8a82a0", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8a82a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "d3ae0d7ac0b9beff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8b6cc1", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#8b6cc1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "0f1ed7e625a43fd5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8b7355", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8b7355" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "8e0f5b65203e6158", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8b7ec8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#8b7ec8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "cbe19dfcc60f8c32", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8baa72", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8baa72" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "bb8ca9ff5f18b984", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8bb8ca", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#8bb8ca" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "4b2aea8cc423dfa9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#8bd09a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8bd09a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "10051c6eedc0e24f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#91cb80", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 45, - "files_count": 3, - "usage": { - "css_var": 45 - }, - "role_hypothesis": "success" - }, - { - "id": "3916bdda01c272da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#999999", - "raw": "--color-gray-500", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 193, - "files_count": 56, - "usage": { - "css_var": 28, - "className": 165 - }, - "role_hypothesis": "text" - }, - { - "id": "0aa0dd3b67f074e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#9c5930", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#9c5930" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "b549217ec3f12464", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a0c0e8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#a0c0e8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "info" - }, - { - "id": "07cb52a6d67a6e7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a0d8a0", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#a0d8a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "success" - }, - { - "id": "0cff6696417e0c54", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a3d795", - "raw": "--color-green-100", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "fc8a956ae0ee02cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a8856b", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#a8856b" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "3258af5644226125", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a88de0", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a88de0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "9453b6273581d8a0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a898e0", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#a898e0" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "5cce20bd1a57da82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a8c256", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#a8c256" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "dfff9723c1be337c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#a8c8e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a8c8e8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "ee28d006decf7f23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#aaaaaa", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#aaaaaa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "text" - }, - { - "id": "ab11971a3c3034cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#b0d0de", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#b0d0de" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "26ecb7e43c1d62a4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#b0d8b0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#b0d8b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "f4e3c4143e24f5d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#b8a8c8", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#b8a8c8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6f658714574965d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c07070", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#c07070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "c035f4b9eec87fcf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c0a060", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#c0a060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "1cbab436bfd231ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c46b5a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#c46b5a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "7301aa5cd0e646a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c4a882", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c4a882" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "742e4c63c74a7ca9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c5a24d", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#c5a24d" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "theme_preset": 8 - }, - "role_hypothesis": "surface" - }, - { - "id": "de637e060f8d710e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c8a8e0", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#c8a8e0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "0744f78aeb7c50c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c8bee0", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c8bee0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "a156ae7ad30cbf7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#c8dee8", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#c8dee8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "95bedf3dc3daf9ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ccc0d8", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#ccc0d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "a00657795be1fefd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#cccccc", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 39, - "files_count": 6, - "usage": { - "css_var": 35, - "theme_preset": 1, - "className": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "67009e5abf7a9019", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d08080", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#d08080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "d00f55e2b4da43d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d185e0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "61aaf5958f33f213", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d2cae4", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d2cae4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "26008a85f40575f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d4853a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#d4853a" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "theme_preset": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "f3dab235b5f2ad34", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d4c2aa", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d4c2aa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "66eca9766eed4695", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "94c6cfccf9943a39", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d76a7a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a7a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "4e45bf2b820cdb49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#d8c080", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#d8c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "59fb9915b7d8d2cb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ddd4e6", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#ddd4e6" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "a0c1ac292226c245", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e07a5f", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e07a5f" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "22cc64f2670a851b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e08090", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e08090" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "370c4787d0dba2f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e0a0a0", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#e0a0a0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "7d598a5c7419e46d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e0c880", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#e0c880" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "a4166112a5d3ba14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e0daf0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e0daf0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "60b7a20414e826c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e2d4c0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e2d4c0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "f17878690944f92f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e4f0f5", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#e4f0f5" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "72afdd8620002cf0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 64, - "files_count": 14, - "usage": { - "css_var": 40, - "className": 24 - }, - "role_hypothesis": "border" - }, - { - "id": "2f550a53ab6a19d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8a0a0", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#e8a0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "4e401e5e045e6ad3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8b0b0", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e8b0b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "4f8f4aa64660e41f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8d0a0", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#e8d0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "3f455f18a13a66c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8d0a8", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#e8d0a8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "4e3e99768e0c35c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8e4f4", - "raw": "--text-default", - "spec": { - "space": "srgb", - "hex": "#e8e4f4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "3d54f7c6b9fecea4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "--border", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 241, - "files_count": 21, - "usage": { - "css_var": 211, - "className": 30 - }, - "role_hypothesis": "border" - }, - { - "id": "d14437a971e5615e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#eaf3f8", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#eaf3f8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "1309b6dee40dc604", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ede8f2", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#ede8f2" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "cc1900d79603e90a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f0e4d4", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0e4d4" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "4950fbe0294596ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f0ecf4", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f0ecf4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "068f514597cad67b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f0edf8", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0edf8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "2a11975d2d66d545", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "--accent", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 223, - "files_count": 49, - "usage": { - "css_var": 65, - "theme_preset": 2, - "className": 156 - }, - "role_hypothesis": "surface" - }, - { - "id": "6869c2277862dbb5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f4f9fb", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f4f9fb" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "419a9dbb7bd0dcd7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f5ecdf", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5ecdf" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "30062769f5a9c443", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f5f2fa", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f2fa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "3796527634b8a709", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 25, - "files_count": 3, - "usage": { - "css_var": 25 - }, - "role_hypothesis": "surface" - }, - { - "id": "708478239724d36b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "64eb73d66a5196fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f8f6f9", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f8f6f9" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "ed10ae9f5a45b66f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 108, - "files_count": 23, - "usage": { - "css_var": 39, - "className": 69 - }, - "role_hypothesis": "danger" - }, - { - "id": "61b7eb56548c1e46", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#fafafa", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fafafa" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "773cd52d6bd1958e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 31, - "files_count": 3, - "usage": { - "css_var": 31 - }, - "role_hypothesis": "warning" - }, - { - "id": "7aa6f8325c1873d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#fbf5ec", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fbf5ec" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "00082fe7225938a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ff00aa", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#ff00aa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "a09f298b68b302c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ff3a00", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff3a00" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "ed3f2ce16df07e66", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ff5722", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff5722" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "ea039c017fe9c645", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "--color-red-100", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 9, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 6 - } - }, - { - "id": "49aaca9b66dfca03", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ffd966", - "raw": "--color-yellow-100", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "a2f8226a6d607a5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ffe600", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#ffe600" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "3eedebc89949eda6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "#ffffff", - "raw": "--background", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 385, - "files_count": 52, - "usage": { - "css_var": 291, - "theme_preset": 8, - "className": 86 - }, - "role_hypothesis": "surface" - }, - { - "id": "41d2fa40cec50326", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "--color-surface-dark-border", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "132c04aebff155ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "--color-surface-dark-muted", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "86164852a13d7387", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "--color-dark-04", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "69176f5d2f6caff3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "--color-dark-10", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "3cd6b0901cbf1ed7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "--color-dark-40", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "e1d54565befc5b95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "1000ms", - "raw": "duration-1000", - "spec": { - "duration_ms": 1000 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "b6b5e6ee11f1ab0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "150ms", - "raw": "--duration-fast", - "spec": { - "duration_ms": 150 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8584dfa558e2263f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "200ms", - "raw": "--duration-normal", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 7, - "usage": { - "css_var": 1, - "className": 8 - } - }, - { - "id": "5c598ce28440c825", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "300ms", - "raw": "duration-300", - "spec": { - "duration_ms": 300 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "className": 3 - } - }, - { - "id": "fbc3e1f0d4638e6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "400ms", - "raw": "--duration-slow", - "spec": { - "duration_ms": 400 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "fb87d2260ad3e013", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "500ms", - "raw": "duration-500", - "spec": { - "duration_ms": 500 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "14e4d6b4e05c48cb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "--animate-accordion-down", - "spec": { - "easing": "accordion-down 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "c0e9512f5bb6d58a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "--animate-accordion-up", - "spec": { - "easing": "accordion-up 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "a5e801f24ef7be9a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "--animate-caret-blink", - "spec": { - "easing": "caret-blink 1s ease-out infinite" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "04dee1405f56ec95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "--ease-spring", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "4b4842188352537b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "--animate-enter-from-left", - "spec": { - "easing": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "b0b8aff069cb4e74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "--animate-enter-from-right", - "spec": { - "easing": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "bb4df475c48036dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "--animate-exit-to-left", - "spec": { - "easing": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "bb7e9e9789e1211e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "--animate-exit-to-right", - "spec": { - "easing": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "82378244e766d845", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "--animate-fade-in", - "spec": { - "easing": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "993ca1df57ababe2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "--animate-fade-out", - "spec": { - "easing": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "2f28213ae0b34b2c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "in", - "raw": "animate-in", - "spec": { - "easing": "in" - }, - "occurrences": 30, - "files_count": 20, - "usage": { - "className": 30 - } - }, - { - "id": "2860c0d02520e9e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "in-out", - "raw": "ease-in-out", - "spec": { - "easing": "in-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "b46fd954093e539a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "linear", - "raw": "ease-linear", - "spec": { - "easing": "linear" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "className": 4 - } - }, - { - "id": "8d8cdcdd11a36bff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "out", - "raw": "animate-out", - "spec": { - "easing": "out" - }, - "occurrences": 28, - "files_count": 20, - "usage": { - "className": 28 - } - }, - { - "id": "7886873e0cc388ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "ping", - "raw": "animate-ping", - "spec": { - "easing": "ping" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "14b3a65b5bcdb211", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "pulse", - "raw": "animate-pulse", - "spec": { - "easing": "pulse" - }, - "occurrences": 4, - "files_count": 4, - "usage": { - "className": 4 - } - }, - { - "id": "ad3cc7a9db176475", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "--animate-scale-in", - "spec": { - "easing": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c8e3a83577ac6f14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "--animate-scale-out", - "spec": { - "easing": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f366f17d05edfae7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "spin", - "raw": "animate-spin", - "spec": { - "easing": "spin" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "f2e671c17b2092ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "--animate-word-reveal", - "spec": { - "easing": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "458c6e3b3bb3730a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "0px", - "raw": "--radius", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 23, - "files_count": 4, - "usage": { - "theme_preset": 18, - "className": 5 - }, - "role_hypothesis": "shape" - }, - { - "id": "add2c195713d4c93", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-dropdown", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 16, - "files_count": 9, - "usage": { - "css_var": 7, - "className": 9 - }, - "role_hypothesis": "shape" - }, - { - "id": "6dd2590b08cadd83", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "14px", - "raw": "--radius-card-sm", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 11, - "files_count": 3, - "usage": { - "css_var": 7, - "theme_preset": 4 - }, - "role_hypothesis": "shape" - }, - { - "id": "af5f7fe928666423", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-card", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 27, - "files_count": 12, - "usage": { - "theme_preset": 2, - "css_var": 8, - "className": 17 - }, - "role_hypothesis": "shape" - }, - { - "id": "9d8df9852ced7db0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "18px", - "raw": "--radius-md", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 49, - "files_count": 30, - "usage": { - "css_var": 3, - "className": 46 - }, - "role_hypothesis": "shape" - }, - { - "id": "26e4c91dd334c13f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "20px", - "raw": "--radius", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 114, - "files_count": 23, - "usage": { - "css_var": 90, - "theme_preset": 4, - "className": 20 - }, - "role_hypothesis": "shape" - }, - { - "id": "f1df6b89049db44d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "24px", - "raw": "--radius-card-lg", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 10, - "files_count": 5, - "usage": { - "css_var": 8, - "className": 2 - }, - "role_hypothesis": "shape" - }, - { - "id": "3d55b7a40be5e29b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-button", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 46, - "files_count": 26, - "usage": { - "css_var": 15, - "className": 31 - }, - "role_hypothesis": "shape" - }, - { - "id": "d7e9e58349d60d92", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "--shadow-date-field-focus", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "e040f35e556f5b69", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "--shadow-mini-inset", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "acfdb868ce7e2a49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "--shadow-modal", - "occurrences": 14, - "files_count": 4, - "usage": { - "css_var": 8, - "className": 6 - }, - "role_hypothesis": "elevation" - }, - { - "id": "5788736f75c9bf9d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "--shadow-btn", - "occurrences": 58, - "files_count": 4, - "usage": { - "css_var": 40, - "className": 18 - }, - "role_hypothesis": "elevation" - }, - { - "id": "f4c140e4b6998ecc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "--shadow-elevated", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "2fb14a17fc0e6090", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "--shadow-popover", - "occurrences": 21, - "files_count": 8, - "usage": { - "css_var": 8, - "className": 13 - }, - "role_hypothesis": "elevation" - }, - { - "id": "93ec6c40935a6dfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "shadow", - "value": "none", - "raw": "shadow-none", - "occurrences": 9, - "files_count": 7, - "usage": { - "className": 9 - } - }, - { - "id": "60a652005916de8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "0px", - "raw": "pt-0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 73, - "files_count": 32, - "usage": { - "className": 73 - } - }, - { - "id": "b9aa2214f283ba8b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "100px", - "raw": "--section-padding-vertical", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "25b802c01c460e86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "10px", - "raw": "gap-2.5", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 25, - "files_count": 12, - "usage": { - "className": 25 - } - }, - { - "id": "35905fd740c446de", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "12px", - "raw": "py-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 107, - "files_count": 42, - "usage": { - "className": 107 - } - }, - { - "id": "aff4b66a128e6c08", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "14px", - "raw": "size-3.5", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 16, - "files_count": 12, - "usage": { - "className": 16 - } - }, - { - "id": "64570e5b2bfef905", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "16px", - "raw": "gap-4", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 224, - "files_count": 66, - "usage": { - "className": 224 - } - }, - { - "id": "5b19d1e72159d245", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "1px", - "raw": "h-px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 15, - "files_count": 12, - "usage": { - "className": 15 - } - }, - { - "id": "166c48e8cdf991af", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "20px", - "raw": "--page-container-side-gutter", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 10, - "files_count": 4, - "usage": { - "css_var": 1, - "className": 9 - } - }, - { - "id": "05c84c8abf04bad2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "24px", - "raw": "p-6", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 19, - "files_count": 11, - "usage": { - "className": 19 - } - }, - { - "id": "179e8535dea69e0c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "256px", - "raw": "w-64", - "spec": { - "scalar": 256, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "31047cb753c03cfd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "288px", - "raw": "w-72", - "spec": { - "scalar": 288, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "0197bb7963dbe53b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "28px", - "raw": "w-7", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 15, - "files_count": 9, - "usage": { - "className": 15 - } - }, - { - "id": "c8486cb8dedf3a0b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "2px", - "raw": "py-0.5", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 10, - "files_count": 9, - "usage": { - "className": 10 - } - }, - { - "id": "03fc64d7fe52304d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "320px", - "raw": "w-80", - "spec": { - "scalar": 320, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "0ecf42fdec67cf7c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "32px", - "raw": "--spacing-button-sm", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 56, - "files_count": 23, - "usage": { - "css_var": 1, - "className": 55 - } - }, - { - "id": "e9424594bc67b599", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "36px", - "raw": "size-9", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 17, - "files_count": 12, - "usage": { - "className": 17 - } - }, - { - "id": "d6a86b9deae72b76", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "40px", - "raw": "h-10", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 7, - "files_count": 5, - "usage": { - "className": 7 - } - }, - { - "id": "bb06278f4fb9b180", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "44px", - "raw": "--spacing-button", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "4d36d35f78b7a451", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "48px", - "raw": "left-12", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 8, - "files_count": 4, - "usage": { - "className": 8 - } - }, - { - "id": "9da1907b33c34e12", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 102, - "files_count": 38, - "usage": { - "className": 102 - } - }, - { - "id": "e1d8dcb70d3e58ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "52px", - "raw": "--spacing-input", - "spec": { - "scalar": 52, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "6c6bf5fe9e2faa03", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "64px", - "raw": "size-16", - "spec": { - "scalar": 64, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "56eb72f3169a3b89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "6px", - "raw": "gap-1.5", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 48, - "files_count": 22, - "usage": { - "className": 48 - } - }, - { - "id": "0c18cad48fdbc984", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "75px", - "raw": "--section-heading-margin-bottom", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "e90b717bc20119a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "8px", - "raw": "gap-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 206, - "files_count": 55, - "usage": { - "className": 206 - } - }, - { - "id": "0a060457a789efb1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "spacing", - "value": "96px", - "raw": "mb-24", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 3, - "files_count": 2, - "usage": { - "className": 3 - } - }, - { - "id": "d17447d31f04f541", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "--body-reading-letter-spacing", - "spec": { - "size": { - "scalar": -0.01, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "c57e03f6e6477368", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "--heading-sub-letter-spacing", - "spec": { - "size": { - "scalar": -0.02, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "9a9d9cc4e15a8631", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "--heading-section-letter-spacing", - "spec": { - "size": { - "scalar": -0.035, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "04335c6a01674e4d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "--display-letter-spacing", - "spec": { - "size": { - "scalar": -0.05, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "ab3a36ae4c41bd42", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "--font-mono", - "spec": { - "family": "\"Geist Mono\", monospace" - }, - "occurrences": 29, - "files_count": 15, - "usage": { - "css_var": 1, - "className": 28 - }, - "role_hypothesis": "font-family" - }, - { - "id": "910201b75355e344", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "0.12em", - "raw": "--label-letter-spacing", - "spec": { - "size": { - "scalar": 0.12, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "e785ccbef329c415", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "0.85", - "raw": "--display-line-height", - "spec": { - "family": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c5613a79beff7892", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "0.88", - "raw": "--heading-display-line-height", - "spec": { - "family": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "cb4dd2fe1d311286", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "0.95", - "raw": "--heading-section-line-height", - "spec": { - "family": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "32c6456962f72594", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "1", - "raw": "--heading-sub-line-height", - "spec": { - "weight": 1 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "0d96a74b21232112", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "1.1", - "raw": "--heading-card-line-height", - "spec": { - "family": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "508307b75ac6a2ad", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "1.2", - "raw": "--label-line-height", - "spec": { - "family": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "1d779ae410d350cd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "1.3", - "raw": "--pullquote-line-height", - "spec": { - "family": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "1e8d14aa7d0da7bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "1.65", - "raw": "--body-reading-line-height", - "spec": { - "family": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f1f7225158d74074", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "11px", - "raw": "--label-font-size", - "spec": { - "size": { - "scalar": 11, - "unit": "px" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "444a71b617fe9cd7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "12px", - "raw": "text-xs", - "spec": { - "size": { - "scalar": 12, - "unit": "px" - } - }, - "occurrences": 74, - "files_count": 30, - "usage": { - "className": 74 - }, - "role_hypothesis": "font-size" - }, - { - "id": "43a7e5f2529cf294", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "14px", - "raw": "text-sm", - "spec": { - "size": { - "scalar": 14, - "unit": "px" - } - }, - "occurrences": 121, - "files_count": 52, - "usage": { - "className": 121 - }, - "role_hypothesis": "font-size" - }, - { - "id": "4302640cdf46deb2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "16px", - "raw": "text-base", - "spec": { - "size": { - "scalar": 16, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "a6efd6a6f7f49239", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "18px", - "raw": "text-lg", - "spec": { - "size": { - "scalar": 18, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "38ea4ef02bf0d644", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "300", - "raw": "--pullquote-weight", - "spec": { - "weight": 300 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "a4b1e2ae95ada1fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "400", - "raw": "font-normal", - "spec": { - "weight": 400 - }, - "occurrences": 5, - "files_count": 4, - "usage": { - "className": 5 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "0c2c864f9a6605e3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "500", - "raw": "font-medium", - "spec": { - "weight": 500 - }, - "occurrences": 38, - "files_count": 23, - "usage": { - "className": 38 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "dc796cf91d10eec0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "600", - "raw": "--heading-card-font-weight", - "spec": { - "weight": 600 - }, - "occurrences": 9, - "files_count": 8, - "usage": { - "css_var": 2, - "className": 7 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "90851d19dc06ed30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "700", - "raw": "--heading-section-font-weight", - "spec": { - "weight": 700 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "09dfffda5f799bdc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "900", - "raw": "--heading-display-font-weight", - "spec": { - "weight": 900 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "7d7ea165ceb4bbdd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "--pullquote-size", - "spec": { - "family": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "359b6af6b9c22ef3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "--body-reading-size", - "spec": { - "family": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8d30d7d44b22b1f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "--heading-card-font-size", - "spec": { - "family": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6644a8bdb62ca882", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "--heading-sub-font-size", - "spec": { - "family": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "3fd5f246611017fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "--display-size", - "spec": { - "family": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "425254a60483abb7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "--heading-section-font-size", - "spec": { - "family": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8544bbd8a902377f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "--heading-display-font-size", - "spec": { - "family": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "9fe178233336e237", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "serif", - "raw": "--font-serif", - "spec": { - "family": "serif" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "ffb528f0d60c0743", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "kind": "typography", - "value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "raw": "--font-display", - "spec": { - "family": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif" - }, - "occurrences": 10, - "files_count": 8, - "usage": { - "css_var": 3, - "className": 7 - }, - "role_hypothesis": "font-family" - } - ], - "tokens": [ - { - "id": "4dfd61034c3f71d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "3cc6ca9b04e3c4ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "4ef7a02f8ba0abc8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "bd46685ce85e919c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "3fa4004a2460ed2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1 - }, - { - "id": "a1e79a748fc3d0e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "21fe280b3e921acc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "23ceb303f7c7567a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "cc3e1780d768f251", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "810ada96e9745811", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "35bafd9b4c2951c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "142c2010880ae957", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "5c38ac1533bc5bfb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "70f370cef553cfa4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1 - }, - { - "id": "9df98d02295dcda2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background", - "alias_chain": [ - "--background-default", - "--color-white", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 145 - }, - { - "id": "972a924e2eb0db51", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-accent", - "alias_chain": ["--color-gray-900", "--background-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 19 - }, - { - "id": "0365f9faed03b906", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-alt", - "alias_chain": ["--color-gray-50", "--background-alt"], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f5ecdf", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#eaf3f8", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#f0ecf4", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f5f2fa", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 15 - }, - { - "id": "db0ae6db9ebcb617", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-danger", - "alias_chain": ["--color-red-200", "--background-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 9 - }, - { - "id": "358f69f7bdb5f487", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-default", - "alias_chain": ["--color-white", "--background-default"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#0a0a0a", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 23 - }, - { - "id": "2b0fa46e6015ca31", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-info", - "alias_chain": ["--color-blue-200", "--background-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "f37050a37970651a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-inverse", - "alias_chain": ["--color-black", "--background-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "ab5846595e743b5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-medium", - "alias_chain": ["--color-gray-400", "--background-medium"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#4a382a", - "ocean:light": "#8bb8ca", - "ocean:dark": "#2a5060", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#3a2a50", - "neon-brutalist:light": "#cccccc", - "neon-brutalist:dark": "#333333", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#3a3452" - }, - "occurrences": 15 - }, - { - "id": "f93edf331965e23e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-muted", - "alias_chain": ["--color-gray-100", "--background-muted"], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f0e4d4", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#e4f0f5", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#ede8f2", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f0edf8", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 23 - }, - { - "id": "eaf48e3fe130d6d2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-success", - "alias_chain": ["--color-green-200", "--background-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "fe77de6138b1a5f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--background-warning", - "alias_chain": ["--color-yellow-200", "--background-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 9 - }, - { - "id": "9fbd9e7adac58802", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "9526c30446537923", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1 - }, - { - "id": "fa718280171f5530", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1 - }, - { - "id": "ed50c5bcf3c27d63", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 147 - }, - { - "id": "ea11f21db7fdc7c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-accent", - "alias_chain": ["--color-gray-900", "--border-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "25de93889ed079fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-card", - "alias_chain": ["--color-gray-200", "--border-card"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#444444", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 15 - }, - { - "id": "18ce5b1c7bfb6edb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-danger", - "alias_chain": ["--color-red-200", "--border-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 7 - }, - { - "id": "2b8e90dcfd67f2af", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-default", - "alias_chain": ["--color-gray-200", "--border-default"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 21 - }, - { - "id": "6dfc3c47684d0a8a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-info", - "alias_chain": ["--color-blue-200", "--border-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "729cab42b3b14b33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-input", - "alias_chain": ["--color-gray-300", "--border-input"], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#d4c2aa", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#b0d0de", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ccc0d8", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#d2cae4", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 32 - }, - { - "id": "620070c703ca466c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-input-hover", - "alias_chain": ["--color-gray-400", "--border-input-hover"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#5a4530", - "ocean:light": "#8bb8ca", - "ocean:dark": "#3a6070", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#4a3a60", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#4a4468" - }, - "occurrences": 15 - }, - { - "id": "a0bdd723fc9972f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-inverse", - "alias_chain": ["--color-black", "--border-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "957421f92db3fc28", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-strong", - "alias_chain": ["--color-gray-900", "--border-strong"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#d4853a", - "ocean:light": "#0f3442", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 17 - }, - { - "id": "c56d9101092ff9a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-success", - "alias_chain": ["--color-green-200", "--border-success"], - "resolved_value": "#91cb80", - "by_theme": { - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "6207ff3985a1f2bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--border-warning", - "alias_chain": ["--color-yellow-200", "--border-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 7 - }, - { - "id": "1dcca9a0e1421e58", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "72d70b05fd130b9e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--card", - "alias_chain": [ - "--background-default", - "--color-white", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 6 - }, - { - "id": "01b38d723be93d67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--card-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "00c95c17bc78f04a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "by_theme": { - "warm-sand:light": "#d4853a", - "warm-sand:dark": "#d4853a", - "ocean:light": "#2e9ab8", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8a8e0", - "soft-pastel:dark": "#c8a8e0" - }, - "occurrences": 15 - }, - { - "id": "a70011b05fbedc2d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "by_theme": { - "warm-sand:light": "#7b9ea8", - "warm-sand:dark": "#7b9ea8", - "ocean:light": "#5b78d8", - "ocean:dark": "#7b92e8", - "midnight-luxe:light": "#8b6cc1", - "midnight-luxe:dark": "#a88de0", - "neon-brutalist:light": "#00e5ff", - "neon-brutalist:dark": "#00e5ff", - "soft-pastel:light": "#a8c8e8", - "soft-pastel:dark": "#a8c8e8" - }, - "occurrences": 15 - }, - { - "id": "f20ae01126ea35f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "by_theme": { - "warm-sand:light": "#c46b5a", - "warm-sand:dark": "#c46b5a", - "ocean:light": "#e07a5f", - "ocean:dark": "#e07a5f", - "midnight-luxe:light": "#d76a7a", - "midnight-luxe:dark": "#e08090", - "neon-brutalist:light": "#ffe600", - "neon-brutalist:dark": "#ffe600", - "soft-pastel:light": "#e8b0b0", - "soft-pastel:dark": "#e8b0b0" - }, - "occurrences": 15 - }, - { - "id": "40537d495a1160cd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "by_theme": { - "warm-sand:light": "#a8856b", - "warm-sand:dark": "#a8856b", - "ocean:light": "#7bc4b8", - "ocean:dark": "#7bc4b8", - "midnight-luxe:light": "#5e8ec5", - "midnight-luxe:dark": "#7aaee5", - "neon-brutalist:light": "#ff00aa", - "neon-brutalist:dark": "#ff00aa", - "soft-pastel:light": "#b0d8b0", - "soft-pastel:dark": "#b0d8b0" - }, - "occurrences": 15 - }, - { - "id": "3303873b731206d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "by_theme": { - "warm-sand:light": "#8baa72", - "warm-sand:dark": "#8baa72", - "ocean:light": "#a8c256", - "ocean:dark": "#a8c256", - "midnight-luxe:light": "#7cb88a", - "midnight-luxe:dark": "#8bd09a", - "neon-brutalist:light": "#00ff66", - "neon-brutalist:dark": "#00ff66", - "soft-pastel:light": "#e8d0a8", - "soft-pastel:dark": "#e8d0a8" - }, - "occurrences": 15 - }, - { - "id": "b028be166d250d39", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-accent", - "alias_chain": [ - "--accent", - "--background-muted", - "--color-gray-100", - "--color-accent", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "58aa7d7a330a9eb1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900", - "--color-accent-foreground", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "277538afe866efe3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background", - "alias_chain": [ - "--background", - "--background-default", - "--color-white", - "--color-background", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 16 - }, - { - "id": "b52905ad41077abd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-accent", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--color-background-accent", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "9998b34886b9c552", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-alt", - "alias_chain": [ - "--background-alt", - "--color-gray-50", - "--color-background-alt", - "--background-alt" - ], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 1 - }, - { - "id": "c2e62757fc12c993", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-danger", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--color-background-danger", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "9325c9d3fbd093d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-default", - "alias_chain": [ - "--background-default", - "--color-white", - "--color-background-default", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "6544aeb08ff98394", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-info", - "alias_chain": [ - "--background-info", - "--color-blue-200", - "--color-background-info", - "--background-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "60978212ab8f9867", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-inverse", - "alias_chain": [ - "--background-inverse", - "--color-black", - "--color-background-inverse", - "--background-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "8137449837fb690f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-medium", - "alias_chain": [ - "--background-medium", - "--color-gray-400", - "--color-background-medium", - "--background-medium" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "9956172e80097e1f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--color-background-muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "90900d9fe8c343a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-success", - "alias_chain": [ - "--background-success", - "--color-green-200", - "--color-background-success", - "--background-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "7e3558926427a3b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-background-warning", - "alias_chain": [ - "--background-warning", - "--color-yellow-200", - "--color-background-warning", - "--background-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "18d21aa51a26558f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5 - }, - { - "id": "935542bd4f991915", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3 - }, - { - "id": "c80e305d87a6c9a0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5 - }, - { - "id": "c0fbd3053b90ff5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "dbf82c44386c01ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "da9d8268d51d8b2a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "38d5ec9d8d9b5e15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d6de09a9456346f9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-blue-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-blue-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "bb07797f5ca63513", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border", - "alias_chain": [ - "--border", - "--border-default", - "--color-gray-200", - "--color-border", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 15 - }, - { - "id": "f2f082ebf16e4467", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-accent", - "alias_chain": [ - "--border-accent", - "--color-gray-900", - "--color-border-accent", - "--border-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "18cffe8ab3d58bec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-card", - "alias_chain": [ - "--border-card", - "--color-gray-200", - "--color-border-card", - "--border-card" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "16cbb33115426948", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-danger", - "alias_chain": [ - "--border-danger", - "--color-red-200", - "--color-border-danger", - "--border-danger" - ], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "5e6ae315d0b2cc2d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-default", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--color-border-default", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "1b7c5c4937e482cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-info", - "alias_chain": [ - "--border-info", - "--color-blue-200", - "--color-border-info", - "--border-info" - ], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "4c1c6c6031e51658", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--color-border-input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 2 - }, - { - "id": "3813f295faf0627a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-input-hover", - "alias_chain": [ - "--border-input-hover", - "--color-gray-400", - "--color-border-input-hover", - "--border-input-hover" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666" - }, - "occurrences": 1 - }, - { - "id": "5ae6aebe85bed60a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-inverse", - "alias_chain": [ - "--border-inverse", - "--color-black", - "--color-border-inverse", - "--border-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "48bcc8d0c95e85c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-strong", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--color-border-strong", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "afe983a20363eaae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-success", - "alias_chain": [ - "--border-success", - "--color-green-200", - "--color-border-success", - "--border-success" - ], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "143bfe09638e8e1c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-border-warning", - "alias_chain": [ - "--border-warning", - "--color-yellow-200", - "--color-border-warning", - "--border-warning" - ], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "5a07ac66fdb722d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-card", - "alias_chain": [ - "--card", - "--background-default", - "--color-white", - "--color-card", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "c62ef724b0b980ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900", - "--color-card-foreground", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "04c5c71e168a430d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-chart-1", - "alias_chain": ["--chart-1", "--color-chart-1"], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "191200858f4dffee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-chart-2", - "alias_chain": ["--chart-2", "--color-chart-2"], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "aeb09edd1629c788", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-chart-3", - "alias_chain": ["--chart-3", "--color-chart-3"], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "0fd7a9ec399dfe9f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-chart-4", - "alias_chain": ["--chart-4", "--color-chart-4"], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "32d5eba448eac851", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-chart-5", - "alias_chain": ["--chart-5", "--color-chart-5"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "b0eb8012cae8ec88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-dark-04", - "alias_chain": ["--dark-04", "--color-dark-04"], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 1 - }, - { - "id": "9754d6eaa9f9cdd4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-dark-10", - "alias_chain": ["--dark-10", "--color-dark-10"], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 1 - }, - { - "id": "a0425bb5ae248ff5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-dark-40", - "alias_chain": ["--dark-40", "--color-dark-40"], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 1 - }, - { - "id": "a215b2a5713fd049", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200", - "--color-destructive", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 2 - }, - { - "id": "0f7e7db456ae577c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-destructive-foreground", - "alias_chain": [ - "--destructive-foreground", - "--color-destructive-foreground" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "b5da21fca1918ba8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-foreground", - "alias_chain": [ - "--foreground", - "--text-default", - "--color-gray-900", - "--color-foreground", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "8836e8763354564d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2 - }, - { - "id": "3cb4a40d45e6457c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3 - }, - { - "id": "151ba0336bdfb0f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2 - }, - { - "id": "50fabc0193e70b66", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3 - }, - { - "id": "6260c66eb831c9c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6 - }, - { - "id": "f1fbf46145d4e24b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4 - }, - { - "id": "b924926f9eac6fe6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3 - }, - { - "id": "622c22796ad53ff5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5 - }, - { - "id": "4d500627ed660c80", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3 - }, - { - "id": "d59a8c024271365f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6 - }, - { - "id": "25522c95962bb0dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3 - }, - { - "id": "3efc37664fccb002", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5 - }, - { - "id": "75d6446c59457943", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "7c71164f331e1fff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "97aa8d73af334406", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "43628ec80e19b12e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "441e95b8e2de0b47", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-green-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "f5cbf3a075ab4f2d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-input", - "alias_chain": [ - "--input", - "--border-input", - "--color-gray-300", - "--color-input", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "e7e2b7a3a4e6a209", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-muted", - "alias_chain": [ - "--muted", - "--background-muted", - "--color-gray-100", - "--color-muted", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "bb4d74d75f35d351", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-muted-foreground", - "alias_chain": [ - "--muted-foreground", - "--text-muted", - "--color-gray-500", - "--color-muted-foreground", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "4d84fff8f03fa752", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-orange-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d72e058e3652d61a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-orange-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "f311db1b8015da3c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-orange-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6b7eb1a6ff90f91c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-orange-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6c6b351a14bde403", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-orange-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "9e78fb4db9c0d3d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-popover", - "alias_chain": [ - "--popover", - "--background-default", - "--color-white", - "--color-popover", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "ef19ee2c3e12cb70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900", - "--color-popover-foreground", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "51ffe49c91c4a00b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-primary", - "alias_chain": [ - "--primary", - "--background-accent", - "--color-gray-900", - "--color-primary", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "9d0dfc0250e629eb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white", - "--color-primary-foreground", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "eba846ccb51a9d61", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3 - }, - { - "id": "20f8a8139a7babf6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5 - }, - { - "id": "0f4a6927f4321be9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 13, - "resolution": { - "status": "unresolved-local", - "symbol": "border-red-400/30, text-red-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "9fa89b6df300cc8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-50", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-50", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "cbc5d4a79547417c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "73f94b38b8e2ff39", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a9bcdcb3c139d0e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "792e7d041592c4c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-red-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-900/20, bg-red-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "e969e6b2eef273cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-ring", - "alias_chain": [ - "--ring", - "--border-strong", - "--color-gray-900", - "--color-ring", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "9dcfa5723e901de7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-secondary", - "alias_chain": [ - "--secondary", - "--background-muted", - "--color-gray-100", - "--color-secondary", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "cb7ceaa1304614e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900", - "--color-secondary-foreground", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "3d5a9add6a5267d4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar", - "alias_chain": [ - "--sidebar", - "--background-default", - "--color-white", - "--color-sidebar", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "f4b66ec17abc1909", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100", - "--color-sidebar-accent", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 2 - }, - { - "id": "626de773f5c5b954", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-accent-foreground", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "86b49a36b3f8e88c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200", - "--color-sidebar-border", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "06a6d9bf6e1706fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-foreground", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "e20b7c896fd7da43", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900", - "--color-sidebar-primary", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "bf3f3ee660b7abee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white", - "--color-sidebar-primary-foreground", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "7ee1f47b605ef104", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-sidebar-ring", - "alias_chain": [ - "--sidebar-ring", - "--border-default", - "--color-gray-200", - "--color-sidebar-ring", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "be153d5b845cead6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-surface-dark", - "alias_chain": ["--surface-dark", "--color-surface-dark"], - "resolved_value": "#0a0a0a", - "occurrences": 4 - }, - { - "id": "9c0ffa2caf216633", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-surface-dark-border", - "alias_chain": ["--surface-dark-border", "--color-surface-dark-border"], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "16e83b784e39e4eb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-surface-dark-muted", - "alias_chain": ["--surface-dark-muted", "--color-surface-dark-muted"], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "76786fe02e7b447b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-surface-dark-text", - "alias_chain": ["--surface-dark-text", "--color-surface-dark-text"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "ef131a3cacc47eb6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-accent", - "alias_chain": [ - "--text-accent", - "--color-gray-900", - "--color-text-accent", - "--text-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "51c3027356a9c53e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-alt", - "alias_chain": [ - "--text-alt", - "--color-gray-600", - "--color-text-alt", - "--text-alt" - ], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999" - }, - "occurrences": 1 - }, - { - "id": "7aa9475fb522c5d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-danger", - "alias_chain": [ - "--text-danger", - "--color-red-200", - "--color-text-danger", - "--text-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "e03172a75cd2a9e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-default", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--color-text-default", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "36d58cc49a2f00ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-info", - "alias_chain": [ - "--text-info", - "--color-blue-200", - "--color-text-info", - "--text-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "e923e679d12a025b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-inverse", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--color-text-inverse", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "3581b62604ddfa29", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-muted", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--color-text-muted", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "cc961ae789d1005a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-success", - "alias_chain": [ - "--text-success", - "--color-green-200", - "--color-text-success", - "--text-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "a0f4113ead65252a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-text-warning", - "alias_chain": [ - "--text-warning", - "--color-yellow-200", - "--color-text-warning", - "--text-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "bc43831df672dede", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10 - }, - { - "id": "b4fca33570df0274", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3 - }, - { - "id": "110a3465d7886981", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5 - }, - { - "id": "c83dcf98518607b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "3d87c3b48eb4ebc4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "9cfa920b46a08c0b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "8f6d852fdc267c89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-yellow-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-yellow-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "94a2e61105aac43e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-zinc-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-100, text-zinc-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "72ba86a73397507b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-zinc-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-zinc-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "b21cfea55d5828c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-zinc-800", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-800, border-zinc-800", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a71f08edda5a6c5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--color-zinc-950", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-950", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6a37632312c1737e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 3 - }, - { - "id": "6768c905a25ceafd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 3 - }, - { - "id": "ea634698759ea1c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "ad5a48a3b54c408f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--destructive", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 6 - }, - { - "id": "2defe8d750af6388", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3 - }, - { - "id": "8161b9f32c323ce2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "6feba7e102383644", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1 - }, - { - "id": "31c369198b86f37e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1 - }, - { - "id": "3fdc81de49d37949", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "150ms", - "occurrences": 1 - }, - { - "id": "ede9208dd971cf7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "200ms", - "occurrences": 1 - }, - { - "id": "b7758994432a71fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "400ms", - "occurrences": 1 - }, - { - "id": "27dc2be7c435451c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "37d4f8a7983d4d64", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--font-display", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 1 - }, - { - "id": "15cab9659abdf53c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1 - }, - { - "id": "bde190cb55066623", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--font-sans", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 2 - }, - { - "id": "11b5f1220f6a7121", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1 - }, - { - "id": "8ba58e70405310fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "68170a0395006ec2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1 - }, - { - "id": "073363ccfaf2d77f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "652a584260c3b90a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "26b25411ffa91220", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1 - }, - { - "id": "e7341fac10b9774f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1 - }, - { - "id": "6df9a4e3d7b75f7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1 - }, - { - "id": "e399bf3c80511478", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "6e69b9ed0d5b5e22", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1 - }, - { - "id": "62cb66e4232e5a30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1 - }, - { - "id": "4f7be7ded24ceea8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "005b08bfa8f8002e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1 - }, - { - "id": "c7f75f2e44bf5d5a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1 - }, - { - "id": "7124ee0ef7e85549", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1 - }, - { - "id": "910f562abfc6a9f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "6d72c24f93b249f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "a55c6ab5bda79cde", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1 - }, - { - "id": "dbc89fd558d026f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "6f5aadddf8b66dc2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1 - }, - { - "id": "37ebc46086bc880e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "f3c16da09fa79103", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1 - }, - { - "id": "1484913800bcd985", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1 - }, - { - "id": "fe45c5a3eb156b9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "927f16200319ac26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--muted-foreground", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "ea997813fcfee067", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "12b469f23358b28d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "69d1ee13bdfefc7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--popover", - "alias_chain": [ - "--background-default", - "--color-white", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "d0e0711628308310", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "aecc6bceed1a2909", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 7 - }, - { - "id": "a652829820be1d6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "6ce0fe9142fe00c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "20b8760ccda61b98", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1 - }, - { - "id": "ed909828be04094f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1 - }, - { - "id": "662f1ee01b706ba0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1 - }, - { - "id": "51f02eba3bf0d4e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 68 - }, - { - "id": "b2425d2eff305bfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "6530d872a94cf9dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "16px", - "soft-pastel:dark": "16px" - }, - "occurrences": 21 - }, - { - "id": "6d9a8871c246a400", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "f3f92599425f6e25", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "a507fc8edda5fcd4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "cde259d605c8ce91", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "49b393bb96cec873", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-lg", - "alias_chain": ["--radius", "--radius-lg"], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "70f2f214da4adfba", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-md", - "alias_chain": ["--radius"], - "resolved_value": "18px", - "occurrences": 3 - }, - { - "id": "474f71b202861908", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "7c51bcd53b6808ce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "ada389b9d90dbedf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-sm", - "alias_chain": ["--radius"], - "resolved_value": "16px", - "occurrences": 1 - }, - { - "id": "704f91488084b4d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--radius-xl", - "alias_chain": ["--radius"], - "resolved_value": "24px", - "occurrences": 1 - }, - { - "id": "2a1b106030547d54", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--ring", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "294cf519e540fff7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--secondary", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "15335536cda7bf59", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "330caec6a2f39486", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1 - }, - { - "id": "ed4bb31a96174488", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1 - }, - { - "id": "7812fc4015c0a106", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - }, - "occurrences": 8 - }, - { - "id": "bc78e5f6be119e2d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "2a4a9b00b09d706a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "by_theme": { - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - }, - "occurrences": 8 - }, - { - "id": "df41b5b39b527a7c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "by_theme": { - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - }, - "occurrences": 8 - }, - { - "id": "6f72a9320512d23f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "8b8171947b01e3b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 16 - }, - { - "id": "d65d5a2d8baede20", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "by_theme": { - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - }, - "occurrences": 8 - }, - { - "id": "a3a706d8da57b2ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "by_theme": { - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - }, - "occurrences": 8 - }, - { - "id": "9ea992f5dc62f895", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "by_theme": { - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "ff9f14fb2f968b01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar", - "alias_chain": [ - "--background-default", - "--color-white", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 38 - }, - { - "id": "7b2526d583ee085c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "165012eda13504b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "e7e5aa2130f0cbee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "d5b862784c06476c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "c0b7a8be83857d85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 6 - }, - { - "id": "5c43ec26d10b64bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "0bf3d7a10e515088", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--sidebar-ring", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "130ab52708b99841", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 2 - }, - { - "id": "52247a30db4da47d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1 - }, - { - "id": "cae74418cd6d8209", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "52px", - "occurrences": 2 - }, - { - "id": "741c4a176fa70244", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 1 - }, - { - "id": "b32468900bf73336", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8 - }, - { - "id": "22d7d4006d410460", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2 - }, - { - "id": "2664ea51bf067aeb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2 - }, - { - "id": "d83a0b12e165cc95", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2 - }, - { - "id": "114305f23eb03893", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-accent", - "alias_chain": ["--color-gray-900", "--text-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "6ff6b8465a998286", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-alt", - "alias_chain": ["--color-gray-600", "--text-alt"], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999", - "warm-sand:light": "#6b5940", - "warm-sand:dark": "#8b7355", - "ocean:light": "#3a6a7c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#5a4b6a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#333333", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#6a6280", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 15 - }, - { - "id": "b14937cdba2cf073", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-danger", - "alias_chain": ["--color-red-200", "--text-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#c07070", - "soft-pastel:dark": "#e0a0a0" - }, - "occurrences": 7 - }, - { - "id": "8771305e9f6c7eac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900", "--text-default"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#f0e4d4", - "ocean:light": "#0f3442", - "ocean:dark": "#e4f0f5", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#ede8f2", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#e8e4f4" - }, - "occurrences": 29 - }, - { - "id": "a64841cfbc619bfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-info", - "alias_chain": ["--color-blue-200", "--text-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#7090c0", - "soft-pastel:dark": "#a0c0e8" - }, - "occurrences": 7 - }, - { - "id": "2495502e70e9e996", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-inverse", - "alias_chain": ["--color-white", "--text-inverse"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#000000", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 19 - }, - { - "id": "4bba084057615f26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-muted", - "alias_chain": ["--color-gray-500", "--text-muted"], - "resolved_value": "#999999", - "by_theme": { - "warm-sand:light": "#8b7355", - "warm-sand:dark": "#8b7355", - "ocean:light": "#5a8a9c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#7a6b8a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#555555", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#8a82a0", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 17 - }, - { - "id": "3343d8d28bb6ce82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-success", - "alias_chain": ["--color-green-200", "--text-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#70a870", - "soft-pastel:dark": "#a0d8a0" - }, - "occurrences": 7 - }, - { - "id": "d5182280dfefef87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-warning", - "alias_chain": ["--color-yellow-200", "--text-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "soft-pastel:light": "#c0a060", - "soft-pastel:dark": "#e0c880" - }, - "occurrences": 7 - }, - { - "id": "bcf0bc661c83ee1d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - } - ], - "components": [ - { - "id": "4c866804719f31cd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "accordion", - "discovered_via": "registry.json" - }, - { - "id": "2590b8570469b980", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "agent", - "discovered_via": "registry.json" - }, - { - "id": "868c5fbaff9c044e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "alert", - "discovered_via": "registry.json", - "variants": ["default", "destructive"] - }, - { - "id": "043e1b3a9d71c7ca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "alert-dialog", - "discovered_via": "registry.json" - }, - { - "id": "d49565df028c6ac0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "artifact", - "discovered_via": "registry.json" - }, - { - "id": "ea13b18ee7c70ead", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "aspect-ratio", - "discovered_via": "registry.json" - }, - { - "id": "b842b8bb360649e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "attachments", - "discovered_via": "registry.json" - }, - { - "id": "76a4f9af7b255842", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "audio-player", - "discovered_via": "registry.json" - }, - { - "id": "d4cd5fd8c0c0682d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "avatar", - "discovered_via": "registry.json" - }, - { - "id": "038ae24474151b7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "badge", - "discovered_via": "registry.json", - "variants": ["default", "secondary", "destructive", "outline"] - }, - { - "id": "d2997c718a821d82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "breadcrumb", - "discovered_via": "registry.json" - }, - { - "id": "1b8ee2bcc47470a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "button", - "discovered_via": "registry.json", - "variants": [ - "default", - "destructive", - "outline", - "secondary", - "ghost", - "link" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"] - }, - { - "id": "b8bbd3ebc3245481", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "button-group", - "discovered_via": "registry.json" - }, - { - "id": "2c101c8578a3ac4a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "calendar", - "discovered_via": "registry.json" - }, - { - "id": "bc1559e70a870795", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "canvas", - "discovered_via": "registry.json" - }, - { - "id": "2f82abb24aca2b20", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "card", - "discovered_via": "registry.json" - }, - { - "id": "308c2a1455b5129b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "carousel", - "discovered_via": "registry.json" - }, - { - "id": "cd4b4317b6f4c8be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "chain-of-thought", - "discovered_via": "registry.json" - }, - { - "id": "70a7151fef5467b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "chart", - "discovered_via": "registry.json" - }, - { - "id": "f75e2f3dd6160137", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "checkbox", - "discovered_via": "registry.json" - }, - { - "id": "251ab5a9ae98e542", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "checkpoint", - "discovered_via": "registry.json" - }, - { - "id": "32d361487851d889", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "code-block", - "discovered_via": "registry.json" - }, - { - "id": "5a1251f6a53994e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "collapsible", - "discovered_via": "registry.json" - }, - { - "id": "388c4825e38fac17", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "command", - "discovered_via": "registry.json" - }, - { - "id": "bb7a6179db1be5a3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "commit", - "discovered_via": "registry.json" - }, - { - "id": "25ced5a16a3996a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "confirmation", - "discovered_via": "registry.json" - }, - { - "id": "c44e7eff36eba3d4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "connection", - "discovered_via": "registry.json" - }, - { - "id": "040766a3db1b6d89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "context", - "discovered_via": "registry.json" - }, - { - "id": "8b77cea3eeefe2b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "context-menu", - "discovered_via": "registry.json" - }, - { - "id": "ef9198366aeb9bc6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "controls", - "discovered_via": "registry.json" - }, - { - "id": "4cf82fbba2afa4de", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "conversation", - "discovered_via": "registry.json" - }, - { - "id": "5022944b3135b5d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "dialog", - "discovered_via": "registry.json" - }, - { - "id": "8cbedfdbb600f8ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "drawer", - "discovered_via": "registry.json" - }, - { - "id": "2c671c3bd6234b79", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "dropdown-menu", - "discovered_via": "registry.json" - }, - { - "id": "16892cf8310a81b0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "edge", - "discovered_via": "registry.json" - }, - { - "id": "9c6af389ba012e50", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "environment-variables", - "discovered_via": "registry.json" - }, - { - "id": "4f316d94c85f590e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "file-tree", - "discovered_via": "registry.json" - }, - { - "id": "1ff3a550854bc23d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "form", - "discovered_via": "registry.json" - }, - { - "id": "9d9c5faf4728f33f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "hover-card", - "discovered_via": "registry.json" - }, - { - "id": "d85d8b13ff59ee42", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "image", - "discovered_via": "registry.json" - }, - { - "id": "c91e4193780e938d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "inline-citation", - "discovered_via": "registry.json" - }, - { - "id": "2c52f0c9136c0cc7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "input", - "discovered_via": "registry.json" - }, - { - "id": "0b59e9239bd37430", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "input-group", - "discovered_via": "registry.json", - "sizes": ["xs", "sm", "icon-xs", "icon-sm"] - }, - { - "id": "bc12b74faae87f62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "input-otp", - "discovered_via": "registry.json" - }, - { - "id": "ac5bcb5079c143ef", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "jsx-preview", - "discovered_via": "registry.json" - }, - { - "id": "7d8fa590eacabdbe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "label", - "discovered_via": "registry.json" - }, - { - "id": "7135b9f7fa50e91d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "menubar", - "discovered_via": "registry.json" - }, - { - "id": "2d2b496122e383ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "message", - "discovered_via": "registry.json" - }, - { - "id": "c15a720f310be568", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "mic-selector", - "discovered_via": "registry.json" - }, - { - "id": "e08ce2b1365465c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "model-selector", - "discovered_via": "registry.json" - }, - { - "id": "26a23d62677c3f62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "navigation-menu", - "discovered_via": "registry.json" - }, - { - "id": "98e57c1d7a41aa67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "node", - "discovered_via": "registry.json" - }, - { - "id": "f2eac2afc2a42042", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "open-in-chat", - "discovered_via": "registry.json" - }, - { - "id": "3deb9313971bc635", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "package-info", - "discovered_via": "registry.json" - }, - { - "id": "ec18c8f3bf39a609", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "pagination", - "discovered_via": "registry.json" - }, - { - "id": "03812f7dc8b10235", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "panel", - "discovered_via": "registry.json" - }, - { - "id": "11f18b29b250792e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "persona", - "discovered_via": "registry.json" - }, - { - "id": "176dcc41c12a8555", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "plan", - "discovered_via": "registry.json" - }, - { - "id": "abc9a95b732aefc2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "popover", - "discovered_via": "registry.json" - }, - { - "id": "e188d2d54652e0e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "progress", - "discovered_via": "registry.json" - }, - { - "id": "056375c2af1907cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "prompt-input", - "discovered_via": "registry.json" - }, - { - "id": "d60232c373a3351b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "queue", - "discovered_via": "registry.json" - }, - { - "id": "723c98e9352be14b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "radio-group", - "discovered_via": "registry.json" - }, - { - "id": "68926309d6d9e15d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "reasoning", - "discovered_via": "registry.json" - }, - { - "id": "084b318c3f21aa88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "resizable", - "discovered_via": "registry.json" - }, - { - "id": "e6722ae2d674cb74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "sandbox", - "discovered_via": "registry.json" - }, - { - "id": "c005519e0f6f9384", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "schema-display", - "discovered_via": "registry.json" - }, - { - "id": "220ccb16f6f42699", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "scroll-area", - "discovered_via": "registry.json" - }, - { - "id": "6ae5efe858cbd78d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "select", - "discovered_via": "registry.json" - }, - { - "id": "44c205fa249767d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "separator", - "discovered_via": "registry.json" - }, - { - "id": "40d79d5e9283d3bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "sheet", - "discovered_via": "registry.json" - }, - { - "id": "89a2a900a41a0af4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "shimmer", - "discovered_via": "registry.json" - }, - { - "id": "a714fd792afbbdfa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "sidebar", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "69d0b85da7146b97", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "skeleton", - "discovered_via": "registry.json" - }, - { - "id": "acd8affed1cca9c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "slider", - "discovered_via": "registry.json" - }, - { - "id": "f5f93c3d6e35638f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "snippet", - "discovered_via": "registry.json" - }, - { - "id": "13e3c0d9d4b6b3c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "sonner", - "discovered_via": "registry.json" - }, - { - "id": "67bba056bfab0110", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "sources", - "discovered_via": "registry.json" - }, - { - "id": "906b197bf3ee28b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "speech-input", - "discovered_via": "registry.json" - }, - { - "id": "d835a44ac68582b0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "spinner", - "discovered_via": "registry.json" - }, - { - "id": "81ec77e33e835e3c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "stack-trace", - "discovered_via": "registry.json" - }, - { - "id": "437ada0ecb4797df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "suggestion", - "discovered_via": "registry.json" - }, - { - "id": "326d62c62b5f0611", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "switch", - "discovered_via": "registry.json" - }, - { - "id": "ea0a0431735fa8f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "table", - "discovered_via": "registry.json" - }, - { - "id": "4d116a58af4740e7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "tabs", - "discovered_via": "registry.json" - }, - { - "id": "9a7eb4e84e516c62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "task", - "discovered_via": "registry.json" - }, - { - "id": "1b8e8641cdba391b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "terminal", - "discovered_via": "registry.json" - }, - { - "id": "b34d4de3be3bf2ef", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "test-results", - "discovered_via": "registry.json" - }, - { - "id": "d05ed685d71a33c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "textarea", - "discovered_via": "registry.json" - }, - { - "id": "ee266c30305ef7fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "ThemeProvider", - "discovered_via": "source:src/components/theme" - }, - { - "id": "be89f1177fd03abb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "ThemeToggle", - "discovered_via": "source:src/components/theme" - }, - { - "id": "0303f62940444cfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "toggle", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "c411ee88aca0b002", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "toggle-group", - "discovered_via": "registry.json" - }, - { - "id": "1defc0a107bef821", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "tool", - "discovered_via": "registry.json" - }, - { - "id": "7e2a5adeda0101b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "toolbar", - "discovered_via": "registry.json" - }, - { - "id": "37ee3118af2f3762", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "tooltip", - "discovered_via": "registry.json" - }, - { - "id": "aed91119ec05e609", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "transcription", - "discovered_via": "registry.json" - }, - { - "id": "12b709b9b0e9c65d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "voice-selector", - "discovered_via": "registry.json" - }, - { - "id": "cf52f67db0224cbd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "web-preview", - "discovered_via": "registry.json" - } - ], - "ui_surfaces": [ - { - "id": "0db1d772d67e9f4c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "0406424+dirty", - "scanned_at": "2026-05-03T19:00:31Z", - "scanner_version": "dogfood-attempt-6" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-7/NOTES.md b/dogfood/ghost-ui/attempt-7/NOTES.md deleted file mode 100644 index d0e3170f..00000000 --- a/dogfood/ghost-ui/attempt-7/NOTES.md +++ /dev/null @@ -1,65 +0,0 @@ -# Attempt 7 - ghost-ui scan, 2026-05-04 (bounded survey summary dogfood) - -Fresh dogfood pass after adding `ghost-scan survey summarize`. The source package `packages/ghost-ui` itself was clean; the wider repo was dirty because the bounded-summary implementation was in progress. Survey provenance records `3e0ef1a+dirty`. - -This attempt intentionally profiles from a bounded survey digest instead of reading the full raw survey as LLM context. - -## Stage Results - -| Stage | Result | -|---|---| -| map | `map.md` carried forward from attempt 6 with the scan date updated; topology unchanged | -| survey | `survey.json` regenerated with the attempt-6 extractor, then finalized with `ghost-scan survey fix-ids` | -| summary | `ghost-scan survey summarize survey.json --budget compact` used as profile context | -| fingerprint | `fingerprint.md` re-profiled conservatively from the compact digest; design-language contract unchanged | - -## Survey Coverage - -| Section | Attempt 6 | Attempt 7 | Result | -|---|---:|---:|---| -| values | 243 | 243 | unchanged | -| tokens | 269 | 269 | unchanged | -| components | 99 | 99 | unchanged | -| ui_surfaces | 1 | 1 | unchanged | - -Value-kind counts are unchanged: 141 color, 34 typography, 26 spacing, 26 motion, 8 radius, 7 shadow, 1 breakpoint. - -## Summary Dogfood - -| Input | Size | -|---|---:| -| raw `survey.json` | 332,026 bytes | -| compact summary | 17,341 bytes | -| standard summary | 30,721 bytes | - -The compact digest preserved the high-signal rows, top token families, unresolved Tailwind color-token evidence, component inventory highlights, and the single static-source UI surface while cutting the working profile context to roughly 5% of the raw survey. - -The standard digest is readable but a little fat for this target because token evidence is dense; compact was the better profile budget for `ghost-ui`. - -## Compare Against Attempt 6 - -`ghost-scan diff dogfood/ghost-ui/attempt-6/fingerprint.md dogfood/ghost-ui/attempt-7/fingerprint.md`: - -```text -No semantic changes. -``` - -`ghost-drift compare dogfood/ghost-ui/attempt-6/fingerprint.md dogfood/ghost-ui/attempt-7/fingerprint.md`: - -```text -Overall Distance: 0.0% -``` - -All scored dimensions are unchanged: palette, spacing, typography, and surfaces remain aligned. Decisions are present in both fingerprints but embeddings are missing, so drift reports them as unscored. - -## Validation - -```bash -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-7/map.md -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-7/survey.json -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-7/fingerprint.md -node packages/ghost-scan/dist/bin.js scan-status dogfood/ghost-ui/attempt-7 -node packages/ghost-drift/dist/bin.js compare dogfood/ghost-ui/attempt-7/fingerprint.md dogfood/ghost-ui/attempt-7/fingerprint.md -``` - -Map and survey return `0 error(s), 0 warning(s), 0 info`. Fingerprint returns `0 error(s), 0 warning(s), 1 info` because no promoted `checks[]` are present. Self-distance is `0.0%`. diff --git a/dogfood/ghost-ui/attempt-7/build-survey.mjs b/dogfood/ghost-ui/attempt-7/build-survey.mjs deleted file mode 100644 index b512c339..00000000 --- a/dogfood/ghost-ui/attempt-7/build-survey.mjs +++ /dev/null @@ -1,998 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; -import { basename, join, relative } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const OUT = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-7/survey.json"; - -const SOURCE = { - id: "ghost-ui", - role: "primary", - target: "block/ghost@packages/ghost-ui", - commit: "3e0ef1a+dirty", - scanned_at: "2026-05-04T17:06:20Z", - scanner_version: "dogfood-attempt-7", -}; - -const MAIN_CSS = join(TARGET_ROOT, "src/styles/main.css"); -const THEME_PRESETS = join(TARGET_ROOT, "src/lib/theme-presets.ts"); -const REGISTRY = join(TARGET_ROOT, "registry.json"); -const SURFACE_DIRS = [ - "src/components/ui", - "src/components/ai-elements", - "src/components/theme", - "src/hooks", - "src/styles", - "src/lib", -]; - -const TAILWIND_TEXT_SIZE_PX = { - xs: 12, - sm: 14, - base: 16, - lg: 18, - xl: 20, - "2xl": 24, - "3xl": 30, - "4xl": 36, - "5xl": 48, - "6xl": 60, - "7xl": 72, - "8xl": 96, - "9xl": 128, -}; - -const TAILWIND_FONT_WEIGHTS = { - thin: 100, - extralight: 200, - light: 300, - normal: 400, - medium: 500, - semibold: 600, - bold: 700, - extrabold: 800, - black: 900, -}; - -function walk(dir, acc = []) { - for (const entry of readdirSync(dir)) { - const path = join(dir, entry); - const stat = statSync(path); - if (stat.isDirectory()) { - walk(path, acc); - } else { - acc.push(path); - } - } - return acc; -} - -function rel(path) { - return relative(TARGET_ROOT, path); -} - -function read(path) { - return readFileSync(path, "utf8"); -} - -const surfaceFiles = SURFACE_DIRS.flatMap((dir) => - walk(join(TARGET_ROOT, dir)), -).filter((path) => /\.(css|tsx?|jsx?)$/.test(path)); - -const fileText = new Map(surfaceFiles.map((path) => [path, read(path)])); - -function parseCssVariables(css) { - const vars = new Map(); - const lines = css.split(/\r?\n/); - let scope = null; - let depth = 0; - let pending = null; - - function addDecl(name, value, line) { - const entry = vars.get(name) ?? {}; - entry[scope] = { value: value.trim().replace(/\s+/g, " "), line }; - vars.set(name, entry); - } - - for (let i = 0; i < lines.length; i++) { - const rawLine = lines[i]; - const trimmed = rawLine.trim(); - - if (!scope) { - if (trimmed.startsWith("@theme inline")) { - scope = "theme-inline"; - depth = 0; - } else if (trimmed.startsWith("@theme")) { - scope = "theme"; - depth = 0; - } else if (trimmed.startsWith(":root")) { - scope = "root"; - depth = 0; - } else if (trimmed.startsWith(".dark")) { - scope = "dark"; - depth = 0; - } - } - - if (scope && pending) { - pending.value += ` ${trimmed.replace(/;$/, "")}`; - if (trimmed.includes(";")) { - addDecl(pending.name, pending.value, pending.line); - pending = null; - } - } else if (scope) { - const match = trimmed.match(/^(--[a-zA-Z0-9_-]+):\s*(.*)$/); - if (match) { - const name = match[1]; - const value = match[2].replace(/;$/, ""); - if (match[2].includes(";")) { - addDecl(name, value, i + 1); - } else { - pending = { name, value, line: i + 1 }; - } - } - } - - if (scope) { - depth += countChar(rawLine, "{"); - depth -= countChar(rawLine, "}"); - if (depth <= 0 && trimmed.endsWith("}")) { - scope = null; - depth = 0; - pending = null; - } - } - } - - return vars; -} - -function countChar(text, char) { - let count = 0; - for (const current of text) { - if (current === char) count++; - } - return count; -} - -function parsePresetOverrides(ts) { - const overrides = new Map(); - const lines = ts.split(/\r?\n/); - let preset = null; - let mode = null; - let depth = 0; - - for (const line of lines) { - const idMatch = line.match(/^\s*id:\s*"([^"]+)"/); - if (idMatch) preset = idMatch[1]; - - if (preset && !mode) { - if (line.match(/^\s*light:\s*{/)) { - mode = "light"; - depth = 0; - } else if (line.match(/^\s*dark:\s*{/)) { - mode = "dark"; - depth = 0; - } - } - - if (preset && mode) { - const valueMatch = line.match(/^\s*"([^"]+)":\s*"([^"]+)"/); - if (valueMatch) { - const name = valueMatch[1]; - const value = valueMatch[2]; - const key = `${preset}:${mode}`; - const entry = overrides.get(name) ?? {}; - entry[key] = value; - overrides.set(name, entry); - } - depth += countChar(line, "{"); - depth -= countChar(line, "}"); - if (depth <= 0 && line.trim().startsWith("}")) { - mode = null; - } - } - } - - return overrides; -} - -const cssVars = parseCssVariables(read(MAIN_CSS)); -const presetOverrides = parsePresetOverrides(read(THEME_PRESETS)); - -function rawFor(name, mode = "default") { - const entry = cssVars.get(name); - if (!entry) return undefined; - if (mode === "dark") { - return ( - entry.dark?.value ?? - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value - ); - } - return ( - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value ?? - entry.dark?.value - ); -} - -function resolveToken(name, mode = "default", seen = []) { - if (seen.includes(name)) { - return { value: rawFor(name, mode) ?? name, chain: seen, resolved: false }; - } - - const raw = rawFor(name, mode); - if (!raw) { - return { value: name, chain: seen, resolved: false }; - } - - const varMatch = raw.match(/^var\((--[a-zA-Z0-9_-]+)(?:,[^)]+)?\)$/); - if (varMatch) { - const next = varMatch[1]; - const resolved = resolveToken(next, mode, [...seen, name]); - return { ...resolved, chain: [next, ...resolved.chain] }; - } - - const calcMatch = raw.match( - /^calc\(var\((--[a-zA-Z0-9_-]+)\)\s*([+-])\s*([0-9.]+)px\)$/, - ); - if (calcMatch) { - const baseName = calcMatch[1]; - const op = calcMatch[2]; - const delta = Number(calcMatch[3]); - const base = resolveToken(baseName, mode, [...seen, baseName]); - const parsed = parseLength(base.value); - if (parsed) { - const basePx = toPx(parsed.scalar, parsed.unit); - const value = op === "+" ? basePx + delta : basePx - delta; - return { - value: `${formatNumber(value)}px`, - chain: [...seen, baseName], - resolved: true, - }; - } - } - - return { value: raw, chain: seen, resolved: true }; -} - -function parseLength(raw) { - const text = String(raw).trim(); - if (text === "0") return { scalar: 0, unit: "px" }; - const match = text.match(/^(-?[0-9.]+)(px|rem|em|vw|vh|%)$/); - if (!match) return null; - return { scalar: Number(match[1]), unit: match[2] }; -} - -function toPx(scalar, unit) { - if (unit === "rem" || unit === "em") return scalar * 16; - return scalar; -} - -function formatNumber(n) { - return Number.isInteger(n) ? String(n) : String(Number(n.toFixed(3))); -} - -function normalizeScalarValue(raw) { - const parsed = parseLength(raw); - if (!parsed) return String(raw).trim(); - if (parsed.unit === "px" || parsed.unit === "rem" || parsed.unit === "em") { - return `${formatNumber(toPx(parsed.scalar, parsed.unit))}px`; - } - return `${formatNumber(parsed.scalar)}${parsed.unit}`; -} - -function normalizeColor(raw) { - return String(raw) - .trim() - .replace(/^#([0-9A-Fa-f]+)/, (_, hex) => `#${hex.toLowerCase()}`); -} - -function kindForToken(name, value) { - const raw = String(value).trim(); - if ( - raw.startsWith("#") || - raw.startsWith("rgb") || - name.startsWith("--color-") || - name.startsWith("--background") || - name.startsWith("--border") || - name.startsWith("--text-") || - name.startsWith("--chart") || - name.startsWith("--ring") || - name.startsWith("--dark") || - name.startsWith("--surface") - ) { - return raw.match(/^(#[0-9A-Fa-f]{3,8}|rgba?\(|hsla?\()/) ? "color" : null; - } - if (name.startsWith("--radius")) return "radius"; - if (name.startsWith("--shadow")) return "shadow"; - if ( - name.startsWith("--font") || - name.startsWith("--heading") || - name.startsWith("--display") || - name.startsWith("--body") || - name.startsWith("--label") || - name.startsWith("--pullquote") || - name === "--text-xxs" - ) { - return "typography"; - } - if ( - name.startsWith("--spacing") || - name.startsWith("--page") || - name.startsWith("--section") - ) { - return name.includes("max-width") ? "breakpoint" : "spacing"; - } - if (name.startsWith("--breakpoint")) return "breakpoint"; - if ( - name.startsWith("--duration") || - name.startsWith("--ease") || - name.startsWith("--animate") - ) { - return "motion"; - } - return null; -} - -function normalizeValue(kind, value) { - if (kind === "color") return normalizeColor(value); - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - return normalizeScalarValue(value); - } - if (kind === "motion") { - const text = String(value).trim(); - const seconds = text.match(/^([0-9.]+)s$/); - if (seconds) return `${formatNumber(Number(seconds[1]) * 1000)}ms`; - return text; - } - return String(value).trim(); -} - -function specFor(kind, value) { - if (kind === "color") { - if (value.startsWith("#")) return { space: "srgb", hex: value }; - return { space: "unknown" }; - } - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - const parsed = parseLength(value); - if (parsed) return parsed; - } - if (kind === "motion") { - const ms = value.match(/^([0-9.]+)ms$/); - if (ms) return { duration_ms: Number(ms[1]) }; - return { easing: value }; - } - if (kind === "typography") { - const parsed = parseLength(value); - if (parsed) return { size: parsed }; - if (/^[0-9]+$/.test(value)) return { weight: Number(value) }; - return { family: value }; - } - return undefined; -} - -const values = new Map(); - -function addValue(kind, value, raw, count, files, usageKey, role) { - if (!kind || !value) return; - const normalized = normalizeValue(kind, value); - if (!normalized || normalized === "initial") return; - const key = `${kind}|${normalized}`; - const row = values.get(key) ?? { - id: "", - source: SOURCE, - kind, - value: normalized, - raw, - spec: specFor(kind, normalized), - occurrences: 0, - files: new Set(), - usage: {}, - role_hypothesis: role, - }; - row.occurrences += count; - for (const file of files) row.files.add(file); - row.usage[usageKey] = (row.usage[usageKey] ?? 0) + count; - if (!row.role_hypothesis && role) row.role_hypothesis = role; - values.set(key, row); -} - -function countNeedle(needle) { - let occurrences = 0; - const files = new Set(); - for (const [file, text] of fileText) { - let index = text.indexOf(needle); - while (index !== -1) { - occurrences++; - files.add(rel(file)); - index = text.indexOf(needle, index + needle.length); - } - } - return { occurrences, files }; -} - -const tokens = []; -for (const name of [...cssVars.keys()].sort()) { - const resolved = resolveToken(name); - const dark = resolveToken(name, "dark"); - const seen = countNeedle(name); - const byTheme = {}; - if (dark.resolved && dark.value !== resolved.value) { - byTheme.dark = normalizeValue( - kindForToken(name, dark.value) ?? "", - dark.value, - ); - } - const presetForName = presetOverrides.get(name); - if (presetForName) { - for (const [theme, raw] of Object.entries(presetForName)) { - const kind = kindForToken(name, raw); - byTheme[theme] = kind ? normalizeValue(kind, raw) : raw; - } - } - - tokens.push({ - id: "", - source: SOURCE, - name, - alias_chain: resolved.chain, - resolved_value: normalizeValue( - kindForToken(name, resolved.value) ?? "", - resolved.value, - ), - ...(Object.keys(byTheme).length ? { by_theme: byTheme } : {}), - occurrences: Math.max(1, seen.occurrences), - }); - - const kind = kindForToken(name, resolved.value); - if (kind) { - addValue( - kind, - resolved.value, - name, - Math.max(1, seen.occurrences), - seen.files.size ? seen.files : new Set(["src/styles/main.css"]), - "css_var", - roleForToken(name), - ); - } - for (const raw of Object.values(presetForName ?? {})) { - const kindForPreset = kindForToken(name, raw); - if (kindForPreset) { - addValue( - kindForPreset, - raw, - name, - 1, - new Set(["src/lib/theme-presets.ts"]), - "theme_preset", - roleForToken(name), - ); - } - } -} - -function roleForToken(name) { - if (name.includes("danger") || name.includes("destructive")) return "danger"; - if (name.includes("success")) return "success"; - if (name.includes("warning")) return "warning"; - if (name.includes("info")) return "info"; - if (name.includes("chart")) return "chart"; - if (name.includes("background")) return "surface"; - if (name.includes("border")) return "border"; - if (name.includes("text") || name.includes("foreground")) return "text"; - if (name.includes("radius")) return "shape"; - if (name.includes("shadow")) return "elevation"; - return undefined; -} - -const unresolvedTokens = new Map(); - -function addUnresolvedToken(name, atom, count, files) { - const current = unresolvedTokens.get(name) ?? { - name, - atoms: new Set(), - occurrences: 0, - files: new Set(), - }; - current.atoms.add(atom); - current.occurrences += count; - for (const file of files) current.files.add(file); - unresolvedTokens.set(name, current); -} - -function extractAtoms() { - const atoms = new Map(); - const atomRe = - /\b(bg|text|border|fill|stroke|ring|outline|from|to|via|p[lrtbxy]?|m[lrtbxy]?|w|h|min-w|min-h|max-w|max-h|size|gap|space-[xy]|inset(?:-[xy])?|top|right|bottom|left|rounded(?:-[a-z0-9]+)?|shadow|duration|ease|animate|font)-[a-zA-Z0-9./:%_#-]+(?:\[[^\]]+\])?/g; - for (const [file, text] of fileText) { - if (!/\.(tsx?|jsx?)$/.test(file)) continue; - for (const match of text.matchAll(atomRe)) { - const atom = match[0]; - const entry = atoms.get(atom) ?? { count: 0, files: new Set() }; - entry.count++; - entry.files.add(rel(file)); - atoms.set(atom, entry); - } - } - return atoms; -} - -function suffix(atom) { - return atom.slice(atom.indexOf("-") + 1).split("/")[0]; -} - -function numericSpacingValue(value) { - if (value === "px") return 1; - if (value === "0") return 0; - const fraction = value.match(/^([0-9]+)\/([0-9]+)$/); - if (fraction) return null; - const n = Number(value); - if (Number.isFinite(n)) return n * 4; - return null; -} - -function bracketValue(atom) { - const match = atom.match(/\[([^\]]+)\]/); - return match?.[1]; -} - -function tokenValue(name, mode = "default") { - if (!cssVars.has(name)) return null; - const resolved = resolveToken(name, mode); - return resolved.resolved ? resolved.value : null; -} - -function resolveColorAtom(atom, tokenSuffix, entry) { - const token = `--color-${tokenSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "color", - value, - atom, - entry.count, - entry.files, - "className", - roleForToken(token), - ); - } else if (looksLikeMissingColor(tokenSuffix)) { - addUnresolvedToken(token, atom, entry.count, entry.files); - } -} - -function looksLikeMissingColor(tokenSuffix) { - return /^(slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-[0-9]{2,3}$/.test( - tokenSuffix, - ); -} - -function handleAtom(atom, entry) { - const rawSuffix = suffix(atom); - const bracket = bracketValue(atom); - - if (atom.startsWith("font-")) { - if (TAILWIND_FONT_WEIGHTS[rawSuffix] !== undefined) { - addValue( - "typography", - String(TAILWIND_FONT_WEIGHTS[rawSuffix]), - atom, - entry.count, - entry.files, - "className", - "font-weight", - ); - } else { - const token = `--font-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "typography", - value, - atom, - entry.count, - entry.files, - "className", - "font-family", - ); - } - } - return; - } - - if (atom.startsWith("text-")) { - if ( - [ - "left", - "right", - "center", - "justify", - "balance", - "pretty", - "wrap", - "nowrap", - "ellipsis", - "clip", - "current", - "transparent", - ].includes(rawSuffix) - ) { - return; - } - if (TAILWIND_TEXT_SIZE_PX[rawSuffix] !== undefined) { - addValue( - "typography", - `${TAILWIND_TEXT_SIZE_PX[rawSuffix]}px`, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - if (bracket) { - addValue( - "typography", - bracket, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - atom.startsWith("bg-") || - atom.startsWith("border-") || - atom.startsWith("ring-") || - atom.startsWith("fill-") || - atom.startsWith("stroke-") || - atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-") - ) { - if ( - /^(border|ring)-offset-/.test(atom) || - /^border-[trblxy](?:-|$)/.test(atom) || - [ - "b", - "t", - "l", - "r", - "x", - "y", - "dashed", - "solid", - "collapse", - "separate", - ].includes(rawSuffix) - ) { - return; - } - if ( - (atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-")) && - [ - "top", - "right", - "bottom", - "left", - "start", - "end", - "top-2", - "right-2", - "bottom-2", - "left-2", - "top-4", - "right-4", - "bottom-4", - "left-4", - "left-52", - "right-52", - ].includes(rawSuffix) - ) { - return; - } - if (bracket?.startsWith("#")) { - addValue("color", bracket, atom, entry.count, entry.files, "className"); - return; - } - if (/^(0|2|4|8)$/.test(rawSuffix) && !atom.startsWith("bg-")) return; - if (["none", "transparent", "current"].includes(rawSuffix)) return; - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - /^(p|px|py|pt|pr|pb|pl|m|mx|my|mt|mr|mb|ml|w|h|min-w|min-h|max-w|max-h|size|gap|space-x|space-y|inset|inset-x|inset-y|top|right|bottom|left)-/.test( - atom, - ) - ) { - if ( - ["full", "fit", "auto", "screen", "min", "max", "0.5"].includes(rawSuffix) - ) { - if (rawSuffix !== "0.5") return; - } - const tokenName = atom.startsWith("h-") ? `--spacing-${rawSuffix}` : null; - const tokenResolved = tokenName ? tokenValue(tokenName) : null; - if (tokenResolved) { - addValue( - "spacing", - tokenResolved, - atom, - entry.count, - entry.files, - "className", - ); - return; - } - const scalar = bracket ? null : numericSpacingValue(rawSuffix); - if (scalar !== null) { - addValue( - "spacing", - `${scalar}px`, - atom, - entry.count, - entry.files, - "className", - ); - } else if (bracket) { - addValue("spacing", bracket, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("rounded")) { - if (atom === "rounded-full") { - addValue( - "radius", - "999px", - atom, - entry.count, - entry.files, - "className", - "pill", - ); - return; - } - if (atom === "rounded-none") { - addValue("radius", "0px", atom, entry.count, entry.files, "className"); - return; - } - if (bracket) { - addValue("radius", bracket, atom, entry.count, entry.files, "className"); - return; - } - const radiusSuffix = rawSuffix.replace(/^-[a-z]+-/, ""); - const token = `--radius-${radiusSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "radius", - value, - atom, - entry.count, - entry.files, - "className", - "shape", - ); - } - return; - } - - if (atom.startsWith("shadow-")) { - if (rawSuffix === "none") { - addValue("shadow", "none", atom, entry.count, entry.files, "className"); - return; - } - const token = `--shadow-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "shadow", - value, - atom, - entry.count, - entry.files, - "className", - "elevation", - ); - } - return; - } - - if (atom.startsWith("duration-")) { - const n = Number(rawSuffix); - if (Number.isFinite(n)) { - addValue("motion", `${n}ms`, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("ease-")) { - addValue("motion", rawSuffix, atom, entry.count, entry.files, "className"); - return; - } - - if (atom.startsWith("animate-")) { - const token = `--animate-${rawSuffix}`; - const value = tokenValue(token); - addValue( - "motion", - value ?? rawSuffix, - atom, - entry.count, - entry.files, - "className", - ); - } -} - -for (const [atom, entry] of extractAtoms()) { - handleAtom(atom, entry); -} - -for (const unresolved of unresolvedTokens.values()) { - tokens.push({ - id: "", - source: SOURCE, - name: unresolved.name, - alias_chain: [], - resolved_value: "unresolved", - occurrences: unresolved.occurrences, - resolution: { - status: "unresolved-local", - symbol: [...unresolved.atoms].sort().join(", "), - message: - "Tailwind class atom references a color token not declared after --color-* reset.", - }, - }); -} - -function extractObjectKeys(text, property) { - const marker = `${property}: {`; - const idx = text.indexOf(marker); - if (idx === -1) return []; - const start = text.indexOf("{", idx); - let depth = 0; - let end = start; - for (let i = start; i < text.length; i++) { - if (text[i] === "{") depth++; - if (text[i] === "}") depth--; - if (depth === 0) { - end = i; - break; - } - } - const block = text.slice(start + 1, end); - return [...block.matchAll(/^\s*"?([a-zA-Z0-9_-]+)"?:\s/gm)] - .map((match) => match[1]) - .filter( - (key) => !["className", "variants", "defaultVariants"].includes(key), - ); -} - -const registry = JSON.parse(read(REGISTRY)); -const components = []; -for (const item of registry.items.filter( - (entry) => entry.type === "registry:ui", -)) { - const filePath = item.files?.[0]?.path - ? join(TARGET_ROOT, item.files[0].path) - : null; - const text = filePath ? read(filePath) : ""; - const variants = extractObjectKeys(text, "variant"); - const sizes = extractObjectKeys(text, "size"); - components.push({ - id: "", - source: SOURCE, - name: item.name, - discovered_via: "registry.json", - ...(variants.length ? { variants } : {}), - ...(sizes.length ? { sizes } : {}), - }); -} - -for (const path of walk(join(TARGET_ROOT, "src/components/theme")).filter( - (file) => file.endsWith(".tsx"), -)) { - components.push({ - id: "", - source: SOURCE, - name: basename(path, ".tsx"), - discovered_via: "source:src/components/theme", - }); -} - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values: [...values.values()] - .map((row) => { - const out = { - id: row.id, - source: row.source, - kind: row.kind, - value: row.value, - raw: row.raw, - ...(row.spec ? { spec: row.spec } : {}), - occurrences: row.occurrences, - files_count: row.files.size, - usage: row.usage, - ...(row.role_hypothesis - ? { role_hypothesis: row.role_hypothesis } - : {}), - }; - return out; - }) - .sort( - (a, b) => a.kind.localeCompare(b.kind) || a.value.localeCompare(b.value), - ), - tokens: tokens.sort((a, b) => a.name.localeCompare(b.name)), - components: components.sort((a, b) => a.name.localeCompare(b.name)), - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -writeFileSync(OUT, `${JSON.stringify(survey, null, 2)}\n`); - -const byKind = survey.values.reduce((acc, row) => { - acc[row.kind] = (acc[row.kind] ?? 0) + 1; - return acc; -}, {}); - -console.error( - JSON.stringify( - { - values: survey.values.length, - values_by_kind: byKind, - tokens: survey.tokens.length, - unresolved_tokens: unresolvedTokens.size, - components: survey.components.length, - out: OUT, - }, - null, - 2, - ), -); diff --git a/dogfood/ghost-ui/attempt-7/fingerprint.md b/dogfood/ghost-ui/attempt-7/fingerprint.md deleted file mode 100644 index bbe27e29..00000000 --- a/dogfood/ghost-ui/attempt-7/fingerprint.md +++ /dev/null @@ -1,236 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-05-04T17:06:20Z -sources: - - block/ghost@packages/ghost-ui@3e0ef1a+dirty -observation: - personality: - - editorial - - monochrome-default - - token-driven - - pill-forward - - compact - - themeable - resembles: - - shadcn/ui - - Vercel Geist - - Linear -references: - specs: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - registry.json - components: - - src/components/ui - - src/components/ai-elements - - src/components/theme - examples: - - README.md - - .shadcn/skills.md -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: theming-architecture - - dimension: shape-language - - dimension: typography-voice - - dimension: font-sourcing - - dimension: spatial-system - - dimension: density - - dimension: elevation - - dimension: motion - - dimension: token-architecture -checks: [] -palette: - dominant: - - role: background - value: "#ffffff" - - role: foreground-accent - value: "#1a1a1a" - - role: border - value: "#e8e8e8" - - role: muted-surface - value: "#f0f0f0" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#0a0a0a" - - "#000000" - count: 13 - semantic: - - role: danger - value: "#f94b4b" - - role: danger-dark - value: "#ff6b6b" - - role: success - value: "#91cb80" - - role: success-dark - value: "#a3d795" - - role: info - value: "#5c98f9" - - role: info-dark - value: "#7cacff" - - role: warning - value: "#fbcd44" - - role: warning-dark - value: "#ffd966" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - - role: dark-surface - value: "#0a0a0a" - saturationProfile: mixed - contrast: high -spacing: - scale: [0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 64, 75, 96, 100, 256, 288, 320] - regularity: 0.78 - baseUnit: 4 -typography: - families: - - 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif' - - '"Geist Mono", monospace' - - serif - sizeRamp: [10, 11, 12, 14, 16, 18, 20, 24, 28, 40, 44, 48, 64, 96, 192] - weightDistribution: - "300": 1 - "400": 5 - "500": 38 - "600": 9 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [0, 10, 14, 16, 18, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate - borderTokenCount: 19 ---- - -# Character - -A compact shadcn-derived component system wears an editorial, monochrome-first skin. Its default theme is nearly achromatic and high-contrast, but the package also ships five runtime presets that can replace the color and radius vocabulary without changing component code. The component layer is dense and practical: small type, tight controls, pill-forward interactive elements, tokenized surfaces, and structural motion for overlays, navigation, loading, and AI-status affordances. - -# Signature - -The recognizable output posture is a designed catalogue surface rather than a generic app chrome: strong editorial scale exists in the token layer, while actual components stay tight, functional, and repeatable. Screens should compose compact pill controls, role-named surfaces, and restrained grayscale hierarchy, then use hue only when it carries state, data, or an intentional theme preset. Variety should come through type scale, shaped task layouts, semantic color, and token-preserving theme swaps, not through one-off decoration or arbitrary component styling. - -# Decisions - -### color-strategy - -Default UI color is mostly grayscale; hue is reserved for semantic state, charts, and optional runtime presets. The broad survey has 141 color rows because bundled presets ship alternate palettes, but the default component contract still resolves most high-occurrence UI color through semantic tokens instead of ad hoc literals. - -**Evidence:** -- Survey top color rows: `#ffffff` (385 occurrences), `#1a1a1a` (305), `#e8e8e8` (241), `#f0f0f0` (223), `#999999` (193). -- Default neutral ladder appears as `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#0a0a0a`, `#000000`. -- Semantic/default hues are tokenized: danger `#f94b4b` / `#ff6b6b`, success `#91cb80` / `#a3d795`, info `#5c98f9` / `#7cacff`, warning `#fbcd44` / `#ffd966`. -- Chart hues are a separate data palette: `#f6b44a`, `#7585ff`, `#d76a6a`, `#d185e0`, `#91cb80`. - -### surface-hierarchy - -Surfaces are named by role, not shade number. Background, foreground, border, input, card, popover, sidebar, accent, and destructive tokens form the component vocabulary, with default and dark values flowing through the same names. - -**Evidence:** -- High-usage aliases: `--background` -> `#ffffff` (145 occurrences), `--border` -> `#e8e8e8` (147), `--border-input` -> `#e5e5e5` (32), `--text-default` -> `#1a1a1a` (29). -- Components use role atoms such as `bg-background`, `bg-muted`, `text-muted-foreground`, `border-input`, `ring-ring/50`, and `bg-card`. -- Dark surface tokens include `#000000`, `#232323`, `#333333`, and `#0a0a0a` rather than a separate component branch. - -### theming-architecture - -The theme architecture is a CSS-variable cascade: raw constants and semantic variables feed shadcn aliases, then Tailwind `@theme inline` exposes them to class atoms. Runtime presets override the same semantic keys, including radius tokens, so theme switching changes the language through variables rather than component variants. - -**Evidence:** -- `src/styles/main.css` declares 240 unique CSS variable names. -- `src/lib/theme-presets.ts` ships five non-default presets: `warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, and `soft-pastel`. -- `neon-brutalist` sets `--radius`, `--radius-pill`, `--radius-button`, `--radius-input`, `--radius-card`, `--radius-card-lg`, `--radius-card-sm`, `--radius-dropdown`, and `--radius-modal` to `0px`. - -### shape-language - -The default shape system is pill-forward for interactives and moderately rounded for containers, with a notable preset escape hatch to square everything off. Shape is therefore a default design stance plus a themeable axis, not a hard global constant. - -**Evidence:** -- Radius rows: `20px` (114 occurrences), `18px` (49), `999px` (46), `16px` (27), preset-driven `0px` (23), `10px` (16), `14px` (11), and `24px` (10). -- Button uses `rounded-full`; card and message surfaces use `rounded-lg`; dropdowns use `rounded-dropdown`; many controls inherit `rounded-md`. -- Theme defaults define `--radius-button: 999px`, `--radius-input: 999px`, `--radius-card: 20px`, `--radius-dropdown: 10px`, and `--radius-modal: 16px`. - -### typography-voice - -Typography mixes compact utility text with an editorial display system. Most component usage is `text-sm`/`text-xs` and medium weight, while the token layer still carries dramatic display clamps, tight line heights, negative tracking, and uppercase-label rhythm. - -**Evidence:** -- Component class atoms: `text-sm` resolves to `14px` (121 occurrences) and `text-xs` resolves to `12px` (74). -- Editorial tokens include `clamp(64px, 8vw, 96px)`, `clamp(44px, 5vw, 64px)`, `clamp(3rem, 12vw, 12rem)`, line heights `0.85`, `0.88`, `0.95`, and letter spacing `-0.05em`, `-0.035em`, `-0.02em`, `-0.01em`. -- Weight usage is concentrated at `500` (38 occurrences) with smaller signals for `600`, `700`, `900`, `400`, and `300`. - -### font-sourcing - -The CSS contract remains consumer-supplied for fonts even though the source tree currently contains unused font assets. `font-faces.css` declares no `@font-face`; the shipped token layer names system sans, Geist Mono, and generic serif stacks. - -**Evidence:** -- `src/styles/font-faces.css` contains only the comment that the design language ships with no bundled fonts. -- Token rows include `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`, `"Geist Mono", monospace`, and `serif`. -- The package `files` list publishes `src/styles` and `registry.json`, not `src/fonts`. - -### spatial-system - -Spacing is visibly Tailwind-consumed rather than only token-declared. The dominant rhythm is a 4px utility grid with half-step exceptions, plus named component heights and a few large layout widths. - -**Evidence:** -- Class-derived spacing rows dominate: `16px` (224 occurrences), `8px` (206), `12px` (107), `4px` (102), `32px` (56), `6px` (48). -- Named component heights remain present: `--spacing-button-sm` -> `32px`, `--spacing-button` -> `44px`, `--spacing-input` -> `52px`. -- Layout-specific rows include `75px`, `96px`, `100px`, `256px`, `288px`, and `320px`, which should not be mistaken for the core control rhythm. - -### density - -The component layer is compact and repeated-action friendly, while page-level tokens preserve larger editorial whitespace. Controls cluster around 32-40px heights with 12-14px text; cards and page sections carry the bigger breathing room. - -**Evidence:** -- Button sizes use `h-8`, `h-9`, `h-10`, `w-7`, `w-8`, `w-9`, and `w-10`; `Button` defaults to `text-sm`. -- `MessageContent` uses `text-sm`, `gap-2`, `px-4`, and `py-3`. -- Page-level tokens still include `--section-padding-vertical: 100px` and `--section-heading-margin-bottom: 75px`. - -### elevation - -Elevation is layered and role-named. Shadows are not a numeric scale; they map to mini, button, card, elevated, popover, modal, keyboard, and date-field focus roles, with dark-mode variants increasing opacity. - -**Evidence:** -- Shadow rows include `0 2px 8px rgba(76, 76, 76, 0.15)` (58 occurrences), `0 8px 30px rgba(0, 0, 0, 0.12)` (21), `0 20px 60px rgba(0, 0, 0, 0.2)` (14), and `0 0 0 3px rgba(26, 26, 26, 0.15)` (12). -- Dark defaults define the same role names with stronger opacity, including modal at `rgba(0, 0, 0, 0.6)`. -- `shadow-none` is also used (9 occurrences), mainly as a local suppression rather than the global posture. - -### motion - -Motion is practical, not absent. The scan found structural enter/exit atoms, duration tiers, accordion/caret/fade/scale tokens, and status/loading animations such as pulse, ping, and spin. The old "no decorative motion" stance is too strong for the current codebase. - -**Evidence:** -- `animate-in` appears 30 times and `animate-out` 28 times across overlay/sheet-style behavior. -- Duration values include `150ms`, `200ms`, `300ms`, `400ms`, `500ms`, and `1000ms`; the token layer declares fast/normal/slow as `150ms`, `200ms`, and `400ms`. -- Loading/status motion appears as `animate-pulse`, `animate-ping`, and `animate-spin` in skeleton, test-results, speech-input, terminal, and spinner components. - -### token-architecture - -The intended token architecture is semantic, but the faithful Tailwind atom pass exposed a real conflict: `main.css` resets `--color-*`, while several AI elements still use default Tailwind color families. Those atoms are unresolved locally and should be treated as lower-confidence scan evidence and likely drift from the semantic token contract. - -**Evidence:** -- Survey has 269 token rows: 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages. -- Unresolved local tokens account for 103 occurrences, including `--color-red-400`, `--color-red-700`, `--color-green-400`, `--color-blue-600`, `--color-yellow-400`, `--color-orange-700`, and `--color-zinc-800`. -- Resolved color class usage still dominates: 698 resolved color class occurrences versus 103 unresolved local color-token occurrences. diff --git a/dogfood/ghost-ui/attempt-7/map.md b/dogfood/ghost-ui/attempt-7/map.md deleted file mode 100644 index 7e371808..00000000 --- a/dogfood/ghost-ui/attempt-7/map.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -subject: - id: ghost-ui - target: block/ghost@packages/ghost-ui -sources: - - id: ghost-ui - role: primary - target: block/ghost@packages/ghost-ui - paths: - - packages/ghost-ui -mapped_at: 2026-05-04 -platform: web -languages: - - { name: typescript, files: 116, share: 0.468 } - - { name: json, files: 114, share: 0.46 } - - { name: markdown, files: 10, share: 0.04 } - - { name: css, files: 4, share: 0.016 } - - { name: javascript, files: 4, share: 0.016 } -build_system: pnpm -package_manifests: - - package.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: shadcn, version: "4.3.0" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/ui - - src/components/ai-elements - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - src/components/ui/** - - src/components/ai-elements/** - - src/components/theme/** - - src/styles/** - - src/lib/theme-*.ts - exclude: - - src/mcp/** - - scripts/** - - dist/** - - dist-lib/** - - dist-mcp/** - - test/** - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: - - src/components/ui - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: - - src/components/ai-elements - sub_areas: [chat, agent-state, artifacts, terminal, media] - - name: theme-controls - paths: - - src/components/theme - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - sub_areas: [runtime-presets, css-variable-injection] - - name: tokens - paths: - - src/styles - sub_areas: [colors, typography, radius, shadows, motion, spacing] - - name: hooks - paths: - - src/hooks - sub_areas: [scroll-reveal, mobile, text-animation] -orientation_files: - - package.json - - registry.json - - components.json - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/components/ui/button.tsx - - src/components/ui/card.tsx - - src/components/ai-elements/message.tsx ---- - -## Identity - -`ghost-ui` is the reusable React component and theme package inside the Ghost repo. It publishes a shadcn-compatible registry, a CSS token surface, and an MCP server for exposing the registry to agents. - -## Topology - -The design system is colocated in `packages/ghost-ui`: canonical tokens live in `src/styles/main.css` plus theme helper files in `src/lib`, while component surfaces live under `src/components/ui`, `src/components/ai-elements`, and `src/components/theme`. The registry enumerates 106 distributable items and remains the strongest component-count signal. - -## Conventions - -Styling is Tailwind v4 driven by CSS custom properties: raw constants and semantic tokens cascade into `@theme inline` aliases consumed by components. Runtime presets override the same CSS variables rather than branching component code, so the scan should treat tokens and component usage together. The target currently contains already-generated `map.md`, `survey.json`, and `fingerprint.md`; those are orientation artifacts, not source-of-truth inputs for this dogfood scan. diff --git a/dogfood/ghost-ui/attempt-7/survey.json b/dogfood/ghost-ui/attempt-7/survey.json deleted file mode 100644 index c4ea9c3f..00000000 --- a/dogfood/ghost-ui/attempt-7/survey.json +++ /dev/null @@ -1,12398 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - } - ], - "values": [ - { - "id": "04fe76c199382642", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "--breakpoint-desktop", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "42796e6647b77e0f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#000000", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 51, - "files_count": 9, - "usage": { - "css_var": 37, - "theme_preset": 8, - "className": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "31ded60dfc42413f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#00e5ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#00e5ff" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "9a88057750dc076b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#00ff66", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#00ff66" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "70fb8399419a368d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 13, - "files_count": 2, - "usage": { - "theme_preset": 1, - "css_var": 12 - }, - "role_hypothesis": "surface" - }, - { - "id": "c56c5c447c114d18", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#0a1e28", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a1e28" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "b2e762dba496f396", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#0e0a14", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0e0a14" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "5090f1e6bf97b291", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#0f3442", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#0f3442" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "5055deb4ac2ae66c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#112a36", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#112a36" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "0d5907b7a43984e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#14121c", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#14121c" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "65d42c8c8da90527", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#141414", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#141414" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "a90dea9bb48d22cd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1a1224", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1a1224" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "1b237eff6608ef13", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "--accent-foreground", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 305, - "files_count": 60, - "usage": { - "css_var": 161, - "className": 144 - }, - "role_hypothesis": "text" - }, - { - "id": "a94ba45b02278144", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1a3a4a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#1a3a4a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "dfcd55a0618e12d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1b6b8a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1b6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "53e1ae23b8b8f7cb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1c1410", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#1c1410" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "421214054da92884", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1e1528", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1e1528" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "theme_preset": 7 - }, - "role_hypothesis": "surface" - }, - { - "id": "d1ae18d480d8df6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#1e1a2a", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1e1a2a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6eebd4c42b646267", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#232323", - "raw": "--color-gray-800", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "9989f17c07534d6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#2a1e3a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a1e3a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "9781c748b737365f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#2a1f18", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#2a1f18" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "237cb6415a372983", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#2a2640", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a2640" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "2e80bd005892c1e9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#2a5060", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#2a5060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "0fa678e433766a4f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#2e9ab8", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#2e9ab8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "14cbcdb79a3e19c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#333333", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 8, - "files_count": 3, - "usage": { - "theme_preset": 2, - "css_var": 5, - "className": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "11d60f8fbc75fe42", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a2a50", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a2a50" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "c70c61ee345f8c7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a2c20", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#3a2c20" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "edf2fc08cb401832", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a3452", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a3452" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "72d0d30b17b40cbb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a3552", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3a3552" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "3b54e787bd3c1264", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a6070", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#3a6070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "ba20daffdb8589a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3a6a7c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#3a6a7c" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "8ef92261f4ccc0fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3ab4d8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#3ab4d8" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "70dfaa194cc783db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#3d2b1f", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3d2b1f" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "32ebbce7e875f8d1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#444444", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#444444" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "47b1d4a2f74402f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#4a382a", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#4a382a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "f0c2976f868310a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#4a3a60", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a3a60" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "8592290978e8cfdf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#4a4468", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a4468" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "8b1ad3db2e2c1d04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#555555", - "raw": "--text-muted", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "ff24595929bbcc63", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5a4530", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#5a4530" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "3973e7e91634b5bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5a4b6a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a4b6a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "0d5259f8206b44fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5a8a9c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a8a9c" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "fb78c0a11d2eefcc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5b78d8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#5b78d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "164e116ff43b24b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 29, - "files_count": 3, - "usage": { - "css_var": 29 - }, - "role_hypothesis": "info" - }, - { - "id": "a5ac27d92c1cca4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#5e8ec5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#5e8ec5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "af7b80bbe97226fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#666666", - "raw": "--color-gray-600", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 19, - "files_count": 3, - "usage": { - "css_var": 19 - }, - "role_hypothesis": "text" - }, - { - "id": "5632f653e5a42282", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#6a6280", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6a6280" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "4c1f5c7562a85ce4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#6b5940", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6b5940" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "08a6fa02c3b1e81e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7090c0", - "raw": "--text-info", - "spec": { - "space": "srgb", - "hex": "#7090c0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "info" - }, - { - "id": "ace62a581f26b8e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#70a870", - "raw": "--text-success", - "spec": { - "space": "srgb", - "hex": "#70a870" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "success" - }, - { - "id": "1d31d1116155250b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7585ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "f57ad21a1f4bc18b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7a6b8a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#7a6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "b64574d8796f4c09", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7aaee5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7aaee5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "5369e1c37da3fe29", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7b92e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b92e8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "75f67a450db80a48", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7b9ea8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b9ea8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "00f51ac58e07a596", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7bc4b8", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7bc4b8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "b26845f2a4211f7c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7cacff", - "raw": "--color-blue-100", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "css_var": 3, - "className": 2 - } - }, - { - "id": "8f02a577cc666066", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#7cb88a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#7cb88a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "7932458870537026", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#80a8d8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#80a8d8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "info" - }, - { - "id": "bdebe74347afb2ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#80c080", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#80c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "success" - }, - { - "id": "5ee5e20df66c996d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8a82a0", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8a82a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "32216607ef2f9295", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8b6cc1", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#8b6cc1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "3805d1f228fcf36d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8b7355", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8b7355" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "fc4c53fadeb35039", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8b7ec8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#8b7ec8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "6a4024cb468a3d24", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8baa72", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8baa72" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "2e5c0aebf74ef0bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8bb8ca", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#8bb8ca" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "2c9577134e717333", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#8bd09a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8bd09a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "954bffc4b6978cfb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#91cb80", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 45, - "files_count": 3, - "usage": { - "css_var": 45 - }, - "role_hypothesis": "success" - }, - { - "id": "5d70f9ed86b2d703", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#999999", - "raw": "--color-gray-500", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 193, - "files_count": 56, - "usage": { - "css_var": 28, - "className": 165 - }, - "role_hypothesis": "text" - }, - { - "id": "75b928f48ed72f29", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#9c5930", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#9c5930" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "cc403215490d6c29", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a0c0e8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#a0c0e8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "info" - }, - { - "id": "4f1c19cd6ab2d406", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a0d8a0", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#a0d8a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "success" - }, - { - "id": "632c20e0650a4a41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a3d795", - "raw": "--color-green-100", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "5a863621d208555f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a8856b", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#a8856b" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "f8df20954f0a521d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a88de0", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a88de0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "1345a6f8248b0e5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a898e0", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#a898e0" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "536f3aaa8d6d841d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a8c256", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#a8c256" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "8b283d586e8a7e16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#a8c8e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a8c8e8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "3f7881d73e4cb829", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#aaaaaa", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#aaaaaa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "text" - }, - { - "id": "69254662dc1879f6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#b0d0de", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#b0d0de" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "85c647089c14f0f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#b0d8b0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#b0d8b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "2e6ec12b3a05174f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#b8a8c8", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#b8a8c8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "ad1be0ae53509612", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c07070", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#c07070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "6add82fdd8e66201", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c0a060", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#c0a060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "05e1c5ef9bee2496", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c46b5a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#c46b5a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "761e38fe77739961", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c4a882", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c4a882" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "8dc3ef2460d810a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c5a24d", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#c5a24d" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "theme_preset": 8 - }, - "role_hypothesis": "surface" - }, - { - "id": "ecceff019f0d6142", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c8a8e0", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#c8a8e0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "91da34e425d9837f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c8bee0", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c8bee0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "da9db976d28cb182", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#c8dee8", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#c8dee8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "825f1c592a9b2d2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ccc0d8", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#ccc0d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "3301c2ebef0f9d9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#cccccc", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 39, - "files_count": 6, - "usage": { - "css_var": 35, - "theme_preset": 1, - "className": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "daf3bbcb3ef8788c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d08080", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#d08080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "25ad08eb3cf181bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d185e0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "409a3bbff102fee4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d2cae4", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d2cae4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "6273803eec12856e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d4853a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#d4853a" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "theme_preset": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "be9fd5c853fe5dfb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d4c2aa", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d4c2aa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "2c3717146111ccb4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "9faf76877c92c3c3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d76a7a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a7a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "b979fef3902a8457", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#d8c080", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#d8c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "f51e45ec228dc378", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ddd4e6", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#ddd4e6" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "b5f76df70ed16b4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e07a5f", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e07a5f" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "4b306bab618a2a5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e08090", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e08090" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "526ba23324811372", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e0a0a0", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#e0a0a0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "9d6fb8f6a15535f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e0c880", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#e0c880" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "c17f77574b00f38a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e0daf0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e0daf0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "c38a78f4da1c8e02", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e2d4c0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e2d4c0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "cd350a1890f631bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e4f0f5", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#e4f0f5" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "6199b53a5516c8b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 64, - "files_count": 14, - "usage": { - "css_var": 40, - "className": 24 - }, - "role_hypothesis": "border" - }, - { - "id": "8a9e62afc694a522", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8a0a0", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#e8a0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "0006a80ee3c53d0b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8b0b0", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e8b0b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "476e798a86a09e97", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8d0a0", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#e8d0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "97c8821ec46f1769", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8d0a8", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#e8d0a8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "fe9fd93922986012", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8e4f4", - "raw": "--text-default", - "spec": { - "space": "srgb", - "hex": "#e8e4f4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "4bd116a12da4aed7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "--border", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 241, - "files_count": 21, - "usage": { - "css_var": 211, - "className": 30 - }, - "role_hypothesis": "border" - }, - { - "id": "3d65dcea871af1fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#eaf3f8", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#eaf3f8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "ae212121fafdfc4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ede8f2", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#ede8f2" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "9a5d5985fe4d1b3a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f0e4d4", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0e4d4" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "7a34b64c4d0c830f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f0ecf4", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f0ecf4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "d430a3f027720eb2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f0edf8", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0edf8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "390c08e72e416254", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "--accent", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 223, - "files_count": 49, - "usage": { - "css_var": 65, - "theme_preset": 2, - "className": 156 - }, - "role_hypothesis": "surface" - }, - { - "id": "5f54bd5dc21e8924", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f4f9fb", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f4f9fb" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "a3f8aeba389b24bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f5ecdf", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5ecdf" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "f054f88bcd327e7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f5f2fa", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f2fa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "51042f40f0216686", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 25, - "files_count": 3, - "usage": { - "css_var": 25 - }, - "role_hypothesis": "surface" - }, - { - "id": "306c4aa9a5dddc14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "7ad8238b1b9723df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f8f6f9", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f8f6f9" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "cef53d8acea0f3c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 108, - "files_count": 23, - "usage": { - "css_var": 39, - "className": 69 - }, - "role_hypothesis": "danger" - }, - { - "id": "cc65f356a761de4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#fafafa", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fafafa" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "813f882ad494fcfd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 31, - "files_count": 3, - "usage": { - "css_var": 31 - }, - "role_hypothesis": "warning" - }, - { - "id": "b5cb8a1e22e62f1c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#fbf5ec", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fbf5ec" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "66485c1d2c03e0a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ff00aa", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#ff00aa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "8e17add4fd1e66e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ff3a00", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff3a00" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "d2439c80ec6ecb45", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ff5722", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff5722" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "7e9b03ee103d0a89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "--color-red-100", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 9, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 6 - } - }, - { - "id": "b6cb703a30974157", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ffd966", - "raw": "--color-yellow-100", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "5512a2303af00d1a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ffe600", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#ffe600" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "684741083e98f45c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "#ffffff", - "raw": "--background", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 385, - "files_count": 52, - "usage": { - "css_var": 291, - "theme_preset": 8, - "className": 86 - }, - "role_hypothesis": "surface" - }, - { - "id": "733801fc3a191636", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "--color-surface-dark-border", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "a4ed2c4dd85b19e6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "--color-surface-dark-muted", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "6ef315a641c2e604", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "--color-dark-04", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "d35a27fe7486f0fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "--color-dark-10", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "9ab405fab86f780a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "--color-dark-40", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "76b19e206503f118", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "1000ms", - "raw": "duration-1000", - "spec": { - "duration_ms": 1000 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "59ebdb6bf9a807d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "150ms", - "raw": "--duration-fast", - "spec": { - "duration_ms": 150 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "04c3a6d02d570ffb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "200ms", - "raw": "--duration-normal", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 7, - "usage": { - "css_var": 1, - "className": 8 - } - }, - { - "id": "65c5f9ee70ca6c71", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "300ms", - "raw": "duration-300", - "spec": { - "duration_ms": 300 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "className": 3 - } - }, - { - "id": "89939575a5a7056d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "400ms", - "raw": "--duration-slow", - "spec": { - "duration_ms": 400 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f5904002893457a3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "500ms", - "raw": "duration-500", - "spec": { - "duration_ms": 500 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "6f60d7aac160cd96", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "--animate-accordion-down", - "spec": { - "easing": "accordion-down 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "8d9aa5797748e7c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "--animate-accordion-up", - "spec": { - "easing": "accordion-up 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "9bd14d1314ae5639", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "--animate-caret-blink", - "spec": { - "easing": "caret-blink 1s ease-out infinite" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "c73eb1578b27545f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "--ease-spring", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "bafd067d6fd311b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "--animate-enter-from-left", - "spec": { - "easing": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "67f7daa18cf45ecb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "--animate-enter-from-right", - "spec": { - "easing": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dfbbc72aaa69e315", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "--animate-exit-to-left", - "spec": { - "easing": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5aff7ac26d564109", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "--animate-exit-to-right", - "spec": { - "easing": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "e3be3bb090fc8f76", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "--animate-fade-in", - "spec": { - "easing": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "4d3bc56a53a4a3f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "--animate-fade-out", - "spec": { - "easing": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5376cb990bb5fed3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "in", - "raw": "animate-in", - "spec": { - "easing": "in" - }, - "occurrences": 30, - "files_count": 20, - "usage": { - "className": 30 - } - }, - { - "id": "117d3f6c6f37485a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "in-out", - "raw": "ease-in-out", - "spec": { - "easing": "in-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "f9556e43aef1e9f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "linear", - "raw": "ease-linear", - "spec": { - "easing": "linear" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "className": 4 - } - }, - { - "id": "1dfe03247a0f78e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "out", - "raw": "animate-out", - "spec": { - "easing": "out" - }, - "occurrences": 28, - "files_count": 20, - "usage": { - "className": 28 - } - }, - { - "id": "45f43addbf8cb856", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "ping", - "raw": "animate-ping", - "spec": { - "easing": "ping" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "bd72db9d17c2ae1f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "pulse", - "raw": "animate-pulse", - "spec": { - "easing": "pulse" - }, - "occurrences": 4, - "files_count": 4, - "usage": { - "className": 4 - } - }, - { - "id": "177dbc2728ae56df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "--animate-scale-in", - "spec": { - "easing": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f8fe13d8d5814e70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "--animate-scale-out", - "spec": { - "easing": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "037747c9f77d2287", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "spin", - "raw": "animate-spin", - "spec": { - "easing": "spin" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "6451f57a8ea8853e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "--animate-word-reveal", - "spec": { - "easing": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dd4f819599850691", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "0px", - "raw": "--radius", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 23, - "files_count": 4, - "usage": { - "theme_preset": 18, - "className": 5 - }, - "role_hypothesis": "shape" - }, - { - "id": "2d4586e1af500ef6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-dropdown", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 16, - "files_count": 9, - "usage": { - "css_var": 7, - "className": 9 - }, - "role_hypothesis": "shape" - }, - { - "id": "758719e27b90c149", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "14px", - "raw": "--radius-card-sm", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 11, - "files_count": 3, - "usage": { - "css_var": 7, - "theme_preset": 4 - }, - "role_hypothesis": "shape" - }, - { - "id": "7c7934cd448fa286", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-card", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 27, - "files_count": 12, - "usage": { - "theme_preset": 2, - "css_var": 8, - "className": 17 - }, - "role_hypothesis": "shape" - }, - { - "id": "71695408fe0a2219", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "18px", - "raw": "--radius-md", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 49, - "files_count": 30, - "usage": { - "css_var": 3, - "className": 46 - }, - "role_hypothesis": "shape" - }, - { - "id": "b864b965e8b2c349", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "20px", - "raw": "--radius", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 114, - "files_count": 23, - "usage": { - "css_var": 90, - "theme_preset": 4, - "className": 20 - }, - "role_hypothesis": "shape" - }, - { - "id": "05841d4fc38cf48d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "24px", - "raw": "--radius-card-lg", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 10, - "files_count": 5, - "usage": { - "css_var": 8, - "className": 2 - }, - "role_hypothesis": "shape" - }, - { - "id": "8637ba2cc1e29961", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-button", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 46, - "files_count": 26, - "usage": { - "css_var": 15, - "className": 31 - }, - "role_hypothesis": "shape" - }, - { - "id": "40239366c228a59e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "--shadow-date-field-focus", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "3b5e1d7b0b815a3c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "--shadow-mini-inset", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "cdf2774a866790b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "--shadow-modal", - "occurrences": 14, - "files_count": 4, - "usage": { - "css_var": 8, - "className": 6 - }, - "role_hypothesis": "elevation" - }, - { - "id": "f849246b504a5e94", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "--shadow-btn", - "occurrences": 58, - "files_count": 4, - "usage": { - "css_var": 40, - "className": 18 - }, - "role_hypothesis": "elevation" - }, - { - "id": "91868fab5d59f7c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "--shadow-elevated", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "cf537d74aa48a653", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "--shadow-popover", - "occurrences": 21, - "files_count": 8, - "usage": { - "css_var": 8, - "className": 13 - }, - "role_hypothesis": "elevation" - }, - { - "id": "a6141118d3775e4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "shadow", - "value": "none", - "raw": "shadow-none", - "occurrences": 9, - "files_count": 7, - "usage": { - "className": 9 - } - }, - { - "id": "29038587a5be9af8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "0px", - "raw": "pt-0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 73, - "files_count": 32, - "usage": { - "className": 73 - } - }, - { - "id": "a018faedd360c2a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "100px", - "raw": "--section-padding-vertical", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f2f775b337066401", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "10px", - "raw": "gap-2.5", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 25, - "files_count": 12, - "usage": { - "className": 25 - } - }, - { - "id": "d658038ac943650b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "12px", - "raw": "py-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 107, - "files_count": 42, - "usage": { - "className": 107 - } - }, - { - "id": "43303f0142ffbadb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "14px", - "raw": "size-3.5", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 16, - "files_count": 12, - "usage": { - "className": 16 - } - }, - { - "id": "c508b0e3c3e59a1b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "16px", - "raw": "gap-4", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 224, - "files_count": 66, - "usage": { - "className": 224 - } - }, - { - "id": "b676e1235617f193", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "1px", - "raw": "h-px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 15, - "files_count": 12, - "usage": { - "className": 15 - } - }, - { - "id": "040ae3c8a3fd4c26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "20px", - "raw": "--page-container-side-gutter", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 10, - "files_count": 4, - "usage": { - "css_var": 1, - "className": 9 - } - }, - { - "id": "d950e596d5fb33d2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "24px", - "raw": "p-6", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 19, - "files_count": 11, - "usage": { - "className": 19 - } - }, - { - "id": "e65f8016efd9cb82", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "256px", - "raw": "w-64", - "spec": { - "scalar": 256, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "2737059fcb39e650", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "288px", - "raw": "w-72", - "spec": { - "scalar": 288, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "6b41559c8f3b78d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "28px", - "raw": "w-7", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 15, - "files_count": 9, - "usage": { - "className": 15 - } - }, - { - "id": "dfa74318bae3b2f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "2px", - "raw": "py-0.5", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 10, - "files_count": 9, - "usage": { - "className": 10 - } - }, - { - "id": "600cf232cefcf6e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "320px", - "raw": "w-80", - "spec": { - "scalar": 320, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "40e8b9a3706bc8e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "32px", - "raw": "--spacing-button-sm", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 56, - "files_count": 23, - "usage": { - "css_var": 1, - "className": 55 - } - }, - { - "id": "83acd5e08a28d7e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "36px", - "raw": "size-9", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 17, - "files_count": 12, - "usage": { - "className": 17 - } - }, - { - "id": "3137408e28b7677e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "40px", - "raw": "h-10", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 7, - "files_count": 5, - "usage": { - "className": 7 - } - }, - { - "id": "ddbc08d0be33f07d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "44px", - "raw": "--spacing-button", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "d1e484421b5efb60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "48px", - "raw": "left-12", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 8, - "files_count": 4, - "usage": { - "className": 8 - } - }, - { - "id": "2c3ba33a8b2df499", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 102, - "files_count": 38, - "usage": { - "className": 102 - } - }, - { - "id": "3afdb9008052d5b5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "52px", - "raw": "--spacing-input", - "spec": { - "scalar": 52, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "36b7bb47ea7e3cc5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "64px", - "raw": "size-16", - "spec": { - "scalar": 64, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "35e4d70849a1399e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "6px", - "raw": "gap-1.5", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 48, - "files_count": 22, - "usage": { - "className": 48 - } - }, - { - "id": "3398e7f2d5ca2810", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "75px", - "raw": "--section-heading-margin-bottom", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "7dc592d8810cff68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "8px", - "raw": "gap-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 206, - "files_count": 55, - "usage": { - "className": 206 - } - }, - { - "id": "7bc96c303717627e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "spacing", - "value": "96px", - "raw": "mb-24", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 3, - "files_count": 2, - "usage": { - "className": 3 - } - }, - { - "id": "f6bda1325ef22b8c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "--body-reading-letter-spacing", - "spec": { - "size": { - "scalar": -0.01, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "d18131a852cbb4ad", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "--heading-sub-letter-spacing", - "spec": { - "size": { - "scalar": -0.02, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "46fb8cc3aa90fac9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "--heading-section-letter-spacing", - "spec": { - "size": { - "scalar": -0.035, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "2cd090784a2ed6b7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "--display-letter-spacing", - "spec": { - "size": { - "scalar": -0.05, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "fa6afe54e6d7f9d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "--font-mono", - "spec": { - "family": "\"Geist Mono\", monospace" - }, - "occurrences": 29, - "files_count": 15, - "usage": { - "css_var": 1, - "className": 28 - }, - "role_hypothesis": "font-family" - }, - { - "id": "b31e63ff097ceff7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "0.12em", - "raw": "--label-letter-spacing", - "spec": { - "size": { - "scalar": 0.12, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "048cfc6bdb5cea99", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "0.85", - "raw": "--display-line-height", - "spec": { - "family": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "b7c58779378f17c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "0.88", - "raw": "--heading-display-line-height", - "spec": { - "family": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "902753de0d55433a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "0.95", - "raw": "--heading-section-line-height", - "spec": { - "family": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "eeb87abaf913e263", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "1", - "raw": "--heading-sub-line-height", - "spec": { - "weight": 1 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "ce38aa8688cfce1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "1.1", - "raw": "--heading-card-line-height", - "spec": { - "family": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "697b54c90f9e9984", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "1.2", - "raw": "--label-line-height", - "spec": { - "family": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "12749e87fe303cef", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "1.3", - "raw": "--pullquote-line-height", - "spec": { - "family": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "379c007b718c3dc9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "1.65", - "raw": "--body-reading-line-height", - "spec": { - "family": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8eeeb9676b6b53df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "11px", - "raw": "--label-font-size", - "spec": { - "size": { - "scalar": 11, - "unit": "px" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c0d37f5b336b034b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "12px", - "raw": "text-xs", - "spec": { - "size": { - "scalar": 12, - "unit": "px" - } - }, - "occurrences": 74, - "files_count": 30, - "usage": { - "className": 74 - }, - "role_hypothesis": "font-size" - }, - { - "id": "276d218019494466", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "14px", - "raw": "text-sm", - "spec": { - "size": { - "scalar": 14, - "unit": "px" - } - }, - "occurrences": 121, - "files_count": 52, - "usage": { - "className": 121 - }, - "role_hypothesis": "font-size" - }, - { - "id": "3bbfb2361a7b3d5d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "16px", - "raw": "text-base", - "spec": { - "size": { - "scalar": 16, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "3fbdedd2b1431749", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "18px", - "raw": "text-lg", - "spec": { - "size": { - "scalar": 18, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "bca0602b9de253e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "300", - "raw": "--pullquote-weight", - "spec": { - "weight": 300 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "35e3af3c7b1dcf2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "400", - "raw": "font-normal", - "spec": { - "weight": 400 - }, - "occurrences": 5, - "files_count": 4, - "usage": { - "className": 5 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "c64684851d0b760d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "500", - "raw": "font-medium", - "spec": { - "weight": 500 - }, - "occurrences": 38, - "files_count": 23, - "usage": { - "className": 38 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "bcddf3149e55cd42", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "600", - "raw": "--heading-card-font-weight", - "spec": { - "weight": 600 - }, - "occurrences": 9, - "files_count": 8, - "usage": { - "css_var": 2, - "className": 7 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "5a9876f7d08c6cca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "700", - "raw": "--heading-section-font-weight", - "spec": { - "weight": 700 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "2d5cdd5460a6d714", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "900", - "raw": "--heading-display-font-weight", - "spec": { - "weight": 900 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "47f222670cbbd254", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "--pullquote-size", - "spec": { - "family": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "15e780028724864f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "--body-reading-size", - "spec": { - "family": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c96b081748fd088a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "--heading-card-font-size", - "spec": { - "family": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c66161c9deff5179", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "--heading-sub-font-size", - "spec": { - "family": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8d70636d7595ac6f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "--display-size", - "spec": { - "family": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6eb36b8a5693efc9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "--heading-section-font-size", - "spec": { - "family": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dcfee9e08e6b7a7c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "--heading-display-font-size", - "spec": { - "family": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "d3f18d82ae28a722", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "serif", - "raw": "--font-serif", - "spec": { - "family": "serif" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "34d6bd37fdb7fdd1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "kind": "typography", - "value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "raw": "--font-display", - "spec": { - "family": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif" - }, - "occurrences": 10, - "files_count": 8, - "usage": { - "css_var": 3, - "className": 7 - }, - "role_hypothesis": "font-family" - } - ], - "tokens": [ - { - "id": "7eb7dc880ba5137d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "63c3981f99456001", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "dc27cb84aad4f83a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "1309f2eb58a1620e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "4f5d7c8c9c26882f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1 - }, - { - "id": "fe2383ddfef4f2f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "8a46fca04c9c3061", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "7fc4741da5c6055b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "7fe04162a3a63705", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "ff20b577f60ad754", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "59cf2a1c12543674", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "8fcb3de54f703aab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "ff86994ed5933929", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "c227e12534d26ec9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1 - }, - { - "id": "e0561fd4a2909c46", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background", - "alias_chain": [ - "--background-default", - "--color-white", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 145 - }, - { - "id": "3f85bf213d3bf174", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-accent", - "alias_chain": ["--color-gray-900", "--background-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 19 - }, - { - "id": "1f733291fde0e8df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-alt", - "alias_chain": ["--color-gray-50", "--background-alt"], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f5ecdf", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#eaf3f8", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#f0ecf4", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f5f2fa", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 15 - }, - { - "id": "fb3c2430fcac7c05", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-danger", - "alias_chain": ["--color-red-200", "--background-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 9 - }, - { - "id": "cd06a068bb38ed90", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-default", - "alias_chain": ["--color-white", "--background-default"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#0a0a0a", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 23 - }, - { - "id": "101ef8881810e463", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-info", - "alias_chain": ["--color-blue-200", "--background-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "4adec2e665711016", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-inverse", - "alias_chain": ["--color-black", "--background-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "fe267e84fd95891c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-medium", - "alias_chain": ["--color-gray-400", "--background-medium"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#4a382a", - "ocean:light": "#8bb8ca", - "ocean:dark": "#2a5060", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#3a2a50", - "neon-brutalist:light": "#cccccc", - "neon-brutalist:dark": "#333333", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#3a3452" - }, - "occurrences": 15 - }, - { - "id": "72a4dabf21adc106", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-muted", - "alias_chain": ["--color-gray-100", "--background-muted"], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f0e4d4", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#e4f0f5", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#ede8f2", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f0edf8", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 23 - }, - { - "id": "c2be5f23d242c165", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-success", - "alias_chain": ["--color-green-200", "--background-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "6c9f4710e8ba6333", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--background-warning", - "alias_chain": ["--color-yellow-200", "--background-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 9 - }, - { - "id": "0e11d48f3ed43955", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "354e130ffc694437", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1 - }, - { - "id": "e058262273f30772", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1 - }, - { - "id": "ce303bd9cd40c9e7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 147 - }, - { - "id": "dc2a66cc31dcdf74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-accent", - "alias_chain": ["--color-gray-900", "--border-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "dcf2b8109d09af88", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-card", - "alias_chain": ["--color-gray-200", "--border-card"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#444444", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 15 - }, - { - "id": "4aaf396365a624f5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-danger", - "alias_chain": ["--color-red-200", "--border-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 7 - }, - { - "id": "dab8485c5f65fedb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-default", - "alias_chain": ["--color-gray-200", "--border-default"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 21 - }, - { - "id": "64cea29e60de151f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-info", - "alias_chain": ["--color-blue-200", "--border-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "334df814fb089216", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-input", - "alias_chain": ["--color-gray-300", "--border-input"], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#d4c2aa", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#b0d0de", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ccc0d8", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#d2cae4", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 32 - }, - { - "id": "287acfd00ce6cb40", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-input-hover", - "alias_chain": ["--color-gray-400", "--border-input-hover"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#5a4530", - "ocean:light": "#8bb8ca", - "ocean:dark": "#3a6070", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#4a3a60", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#4a4468" - }, - "occurrences": 15 - }, - { - "id": "e046ff199fb99b27", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-inverse", - "alias_chain": ["--color-black", "--border-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "3f8c211be92cfdeb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-strong", - "alias_chain": ["--color-gray-900", "--border-strong"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#d4853a", - "ocean:light": "#0f3442", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 17 - }, - { - "id": "fa792f800208873e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-success", - "alias_chain": ["--color-green-200", "--border-success"], - "resolved_value": "#91cb80", - "by_theme": { - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "b261967ce989e050", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--border-warning", - "alias_chain": ["--color-yellow-200", "--border-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 7 - }, - { - "id": "f673eef4f23bce44", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "ae84b95a0dd705e8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--card", - "alias_chain": [ - "--background-default", - "--color-white", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 6 - }, - { - "id": "f36909d8aec1ec0a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--card-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "2ebdc83ecb500205", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "by_theme": { - "warm-sand:light": "#d4853a", - "warm-sand:dark": "#d4853a", - "ocean:light": "#2e9ab8", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8a8e0", - "soft-pastel:dark": "#c8a8e0" - }, - "occurrences": 15 - }, - { - "id": "dfb5bfa372020bb3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "by_theme": { - "warm-sand:light": "#7b9ea8", - "warm-sand:dark": "#7b9ea8", - "ocean:light": "#5b78d8", - "ocean:dark": "#7b92e8", - "midnight-luxe:light": "#8b6cc1", - "midnight-luxe:dark": "#a88de0", - "neon-brutalist:light": "#00e5ff", - "neon-brutalist:dark": "#00e5ff", - "soft-pastel:light": "#a8c8e8", - "soft-pastel:dark": "#a8c8e8" - }, - "occurrences": 15 - }, - { - "id": "12f19e8964c99e8d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "by_theme": { - "warm-sand:light": "#c46b5a", - "warm-sand:dark": "#c46b5a", - "ocean:light": "#e07a5f", - "ocean:dark": "#e07a5f", - "midnight-luxe:light": "#d76a7a", - "midnight-luxe:dark": "#e08090", - "neon-brutalist:light": "#ffe600", - "neon-brutalist:dark": "#ffe600", - "soft-pastel:light": "#e8b0b0", - "soft-pastel:dark": "#e8b0b0" - }, - "occurrences": 15 - }, - { - "id": "18513a0884f10243", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "by_theme": { - "warm-sand:light": "#a8856b", - "warm-sand:dark": "#a8856b", - "ocean:light": "#7bc4b8", - "ocean:dark": "#7bc4b8", - "midnight-luxe:light": "#5e8ec5", - "midnight-luxe:dark": "#7aaee5", - "neon-brutalist:light": "#ff00aa", - "neon-brutalist:dark": "#ff00aa", - "soft-pastel:light": "#b0d8b0", - "soft-pastel:dark": "#b0d8b0" - }, - "occurrences": 15 - }, - { - "id": "bca9fcbfb648c250", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "by_theme": { - "warm-sand:light": "#8baa72", - "warm-sand:dark": "#8baa72", - "ocean:light": "#a8c256", - "ocean:dark": "#a8c256", - "midnight-luxe:light": "#7cb88a", - "midnight-luxe:dark": "#8bd09a", - "neon-brutalist:light": "#00ff66", - "neon-brutalist:dark": "#00ff66", - "soft-pastel:light": "#e8d0a8", - "soft-pastel:dark": "#e8d0a8" - }, - "occurrences": 15 - }, - { - "id": "fbb02d59e0888644", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-accent", - "alias_chain": [ - "--accent", - "--background-muted", - "--color-gray-100", - "--color-accent", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "4a3edc7066e64d73", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900", - "--color-accent-foreground", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "9ad3b6906bd466e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background", - "alias_chain": [ - "--background", - "--background-default", - "--color-white", - "--color-background", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 16 - }, - { - "id": "581c5938db419e5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-accent", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--color-background-accent", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "2f6e288d7939b3fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-alt", - "alias_chain": [ - "--background-alt", - "--color-gray-50", - "--color-background-alt", - "--background-alt" - ], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 1 - }, - { - "id": "58249a1236d10f93", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-danger", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--color-background-danger", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "54f340f6aa84f966", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-default", - "alias_chain": [ - "--background-default", - "--color-white", - "--color-background-default", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "3fa182e8b0d5dd18", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-info", - "alias_chain": [ - "--background-info", - "--color-blue-200", - "--color-background-info", - "--background-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "8b5d97bc85f36562", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-inverse", - "alias_chain": [ - "--background-inverse", - "--color-black", - "--color-background-inverse", - "--background-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "34a33bd1e169109f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-medium", - "alias_chain": [ - "--background-medium", - "--color-gray-400", - "--color-background-medium", - "--background-medium" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "e397604bcee6ebf8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--color-background-muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "41027a07de6a2e83", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-success", - "alias_chain": [ - "--background-success", - "--color-green-200", - "--color-background-success", - "--background-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "80d8a521da25fa02", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-background-warning", - "alias_chain": [ - "--background-warning", - "--color-yellow-200", - "--color-background-warning", - "--background-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "70466316c12e7646", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5 - }, - { - "id": "caa2c8529f1a7f1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3 - }, - { - "id": "6959aad738053727", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5 - }, - { - "id": "dd1613f6219ff7c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "742d6ec2db4daf77", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "f3e99813217624f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "9210ded7f167fb75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6a0dce251e5a1ff6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-blue-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-blue-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "ffe4a6c3c9c49565", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border", - "alias_chain": [ - "--border", - "--border-default", - "--color-gray-200", - "--color-border", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 15 - }, - { - "id": "da6f382e9d74f74c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-accent", - "alias_chain": [ - "--border-accent", - "--color-gray-900", - "--color-border-accent", - "--border-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "c0555f2ddbc20a15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-card", - "alias_chain": [ - "--border-card", - "--color-gray-200", - "--color-border-card", - "--border-card" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "1b894739826270f4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-danger", - "alias_chain": [ - "--border-danger", - "--color-red-200", - "--color-border-danger", - "--border-danger" - ], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "674cdc53f001e90c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-default", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--color-border-default", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "bc758a8497874cf6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-info", - "alias_chain": [ - "--border-info", - "--color-blue-200", - "--color-border-info", - "--border-info" - ], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "94aa805ca1e679c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--color-border-input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 2 - }, - { - "id": "f31a928320831819", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-input-hover", - "alias_chain": [ - "--border-input-hover", - "--color-gray-400", - "--color-border-input-hover", - "--border-input-hover" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666" - }, - "occurrences": 1 - }, - { - "id": "94fe71c1536be97d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-inverse", - "alias_chain": [ - "--border-inverse", - "--color-black", - "--color-border-inverse", - "--border-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "71b357998881ee45", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-strong", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--color-border-strong", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "a316065fb58ee851", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-success", - "alias_chain": [ - "--border-success", - "--color-green-200", - "--color-border-success", - "--border-success" - ], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "c51c1c91b273c8fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-border-warning", - "alias_chain": [ - "--border-warning", - "--color-yellow-200", - "--color-border-warning", - "--border-warning" - ], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "3898a320a3126cfd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-card", - "alias_chain": [ - "--card", - "--background-default", - "--color-white", - "--color-card", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "8c973cb5f1937a01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900", - "--color-card-foreground", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "291065e84a2c1123", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-chart-1", - "alias_chain": ["--chart-1", "--color-chart-1"], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "981c581a8212950c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-chart-2", - "alias_chain": ["--chart-2", "--color-chart-2"], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "0cd6630a40e8313c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-chart-3", - "alias_chain": ["--chart-3", "--color-chart-3"], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "aaf73fee13a72a79", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-chart-4", - "alias_chain": ["--chart-4", "--color-chart-4"], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "4f01911ce3cf1a13", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-chart-5", - "alias_chain": ["--chart-5", "--color-chart-5"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "59918bd85288c8e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-dark-04", - "alias_chain": ["--dark-04", "--color-dark-04"], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 1 - }, - { - "id": "668bcf9f7efa1f7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-dark-10", - "alias_chain": ["--dark-10", "--color-dark-10"], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 1 - }, - { - "id": "8fcc4c5f3d9a564a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-dark-40", - "alias_chain": ["--dark-40", "--color-dark-40"], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 1 - }, - { - "id": "dc189d1883a39c35", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200", - "--color-destructive", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 2 - }, - { - "id": "efee830c67359c77", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-destructive-foreground", - "alias_chain": [ - "--destructive-foreground", - "--color-destructive-foreground" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "35063bdc427c9b35", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-foreground", - "alias_chain": [ - "--foreground", - "--text-default", - "--color-gray-900", - "--color-foreground", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "aa5badf79add036f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2 - }, - { - "id": "3e98152987c5f709", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3 - }, - { - "id": "5577c00b40e1455a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2 - }, - { - "id": "dc8d7fedad98d63a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3 - }, - { - "id": "36c744bd7cb873e2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6 - }, - { - "id": "160a75adbd9b5447", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4 - }, - { - "id": "35786155fc41f68e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3 - }, - { - "id": "7fa18504a5680c87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5 - }, - { - "id": "56938e35b2baafcc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3 - }, - { - "id": "87b955f711b7d532", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6 - }, - { - "id": "8f3c2a7c2973bf91", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3 - }, - { - "id": "581f575d1baee4c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5 - }, - { - "id": "05465818b897fee0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "28eaca6aab08b89c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "ec3e2c3a49c270f1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "4d66db223b85cf44", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "0d9dbe58f284e68b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-green-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "2f142a6a6f0ca8c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-input", - "alias_chain": [ - "--input", - "--border-input", - "--color-gray-300", - "--color-input", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "7d696d0950288f84", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-muted", - "alias_chain": [ - "--muted", - "--background-muted", - "--color-gray-100", - "--color-muted", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "ace36f77cbddd920", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-muted-foreground", - "alias_chain": [ - "--muted-foreground", - "--text-muted", - "--color-gray-500", - "--color-muted-foreground", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "4058125ff8a006b0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-orange-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6881d84b7a3bd57d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-orange-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "731d10a0366feaea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-orange-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "8c58bc24b5e1d1dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-orange-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "c19315824d01b9bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-orange-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "2279a2759f0b8504", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-popover", - "alias_chain": [ - "--popover", - "--background-default", - "--color-white", - "--color-popover", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "15aca1a6e014425b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900", - "--color-popover-foreground", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "e00fe91d8e8d53c3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-primary", - "alias_chain": [ - "--primary", - "--background-accent", - "--color-gray-900", - "--color-primary", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "d84995505b938b74", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white", - "--color-primary-foreground", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "e3725eee9e61a58c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3 - }, - { - "id": "41412ec1f0aaa26e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5 - }, - { - "id": "3883c62528a8f00b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 13, - "resolution": { - "status": "unresolved-local", - "symbol": "border-red-400/30, text-red-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "3865b31017897e7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-50", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-50", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "efc411808eeba619", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "73794ca09cfd6ee0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "538b0fdbab235c12", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "edb0b2fa05767a9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-red-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-900/20, bg-red-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "df73bac3191d5904", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-ring", - "alias_chain": [ - "--ring", - "--border-strong", - "--color-gray-900", - "--color-ring", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "d37b8280b9c9f2fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-secondary", - "alias_chain": [ - "--secondary", - "--background-muted", - "--color-gray-100", - "--color-secondary", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "cf3b5a6d6ea769a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900", - "--color-secondary-foreground", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "cc39437f7b0f06db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar", - "alias_chain": [ - "--sidebar", - "--background-default", - "--color-white", - "--color-sidebar", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "3a9f01e3c91ad729", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100", - "--color-sidebar-accent", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 2 - }, - { - "id": "7fa6d9e05b4eaec6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-accent-foreground", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "38e758773f2f8b46", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200", - "--color-sidebar-border", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "048bc380616869e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-foreground", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "59c71f9aabc81ac9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900", - "--color-sidebar-primary", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "5465a4e8bc0efa5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white", - "--color-sidebar-primary-foreground", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "601b09097a8e32cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-sidebar-ring", - "alias_chain": [ - "--sidebar-ring", - "--border-default", - "--color-gray-200", - "--color-sidebar-ring", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "33e79fda2221066d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-surface-dark", - "alias_chain": ["--surface-dark", "--color-surface-dark"], - "resolved_value": "#0a0a0a", - "occurrences": 4 - }, - { - "id": "9e544bb2e8875f72", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-surface-dark-border", - "alias_chain": ["--surface-dark-border", "--color-surface-dark-border"], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "29ab3a42d5b45512", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-surface-dark-muted", - "alias_chain": ["--surface-dark-muted", "--color-surface-dark-muted"], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "1cfff5df8ac9e993", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-surface-dark-text", - "alias_chain": ["--surface-dark-text", "--color-surface-dark-text"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "a07864fef57b4c79", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-accent", - "alias_chain": [ - "--text-accent", - "--color-gray-900", - "--color-text-accent", - "--text-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "df830612a5a5e543", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-alt", - "alias_chain": [ - "--text-alt", - "--color-gray-600", - "--color-text-alt", - "--text-alt" - ], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999" - }, - "occurrences": 1 - }, - { - "id": "3e50d6771cae8043", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-danger", - "alias_chain": [ - "--text-danger", - "--color-red-200", - "--color-text-danger", - "--text-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "8c81408f6832c606", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-default", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--color-text-default", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "bab8f74e9a01db1e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-info", - "alias_chain": [ - "--text-info", - "--color-blue-200", - "--color-text-info", - "--text-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "e322ce6359e08b51", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-inverse", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--color-text-inverse", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "4923bef1d1fff63c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-muted", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--color-text-muted", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "ff192d96c3e36a4f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-success", - "alias_chain": [ - "--text-success", - "--color-green-200", - "--color-text-success", - "--text-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "93fd02ba8f669921", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-text-warning", - "alias_chain": [ - "--text-warning", - "--color-yellow-200", - "--color-text-warning", - "--text-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "4e95d7fc504a9dd7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10 - }, - { - "id": "8ee15d8e43a0d2f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3 - }, - { - "id": "241099e014b5a7e9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5 - }, - { - "id": "95d0be8456737a8a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a9f4100b1bfbdf4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "0cfcdb9e5e62ed87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "3da75b735a14a9ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-yellow-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-yellow-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "77624f410922d0f1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-zinc-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-100, text-zinc-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "cccb3cc0594b05bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-zinc-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-zinc-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "ca30f0a648c74ae2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-zinc-800", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-800, border-zinc-800", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "fbd2921d85c8dd02", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--color-zinc-950", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-950", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "29d9c84f9b34e57d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 3 - }, - { - "id": "92c16d7a18e96854", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 3 - }, - { - "id": "cce8d74c5d3833f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "023bd234401737c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--destructive", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 6 - }, - { - "id": "0087a007fafa4d68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3 - }, - { - "id": "2a1e50a66790acf6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "fd8de63163ed7ab2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1 - }, - { - "id": "3944279d7d5102fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1 - }, - { - "id": "46923a0d7a324e7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "150ms", - "occurrences": 1 - }, - { - "id": "af990d8bf9b8edaa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "200ms", - "occurrences": 1 - }, - { - "id": "cce33f87e87c03f2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "400ms", - "occurrences": 1 - }, - { - "id": "b75ceddf1ca2991f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "56af99cace074aa8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--font-display", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 1 - }, - { - "id": "e75dc2b8f861ce96", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1 - }, - { - "id": "e64aea0b2c67ef04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--font-sans", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 2 - }, - { - "id": "8b3464f739e55cf0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1 - }, - { - "id": "e2131f9492c0a8c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "0405bf7a199e74ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1 - }, - { - "id": "a72e0884bb6d1908", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "c53fbc24261ca860", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "dea1706ab5521fe7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1 - }, - { - "id": "3df86a1842cb099b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1 - }, - { - "id": "723c861ee0dde840", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1 - }, - { - "id": "7d43a3735d806b53", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "13392b095d56eece", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1 - }, - { - "id": "28b6c7a7b11d7b70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1 - }, - { - "id": "933038de8c61cff4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "ef00fe5e01083208", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1 - }, - { - "id": "8b0b37c46f235562", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1 - }, - { - "id": "179de226e8eb6b09", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1 - }, - { - "id": "9b4d2f4ec3905341", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "7ac444fc7f200d60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "578498be5284078c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1 - }, - { - "id": "94db0a69ed1fed5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "ee7d724b62b7fb31", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1 - }, - { - "id": "ff2bae2f5f5904d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "fbfc4284d12d5e71", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1 - }, - { - "id": "d145225764a69e49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1 - }, - { - "id": "1a22c8291d7f83fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "7ed3fe6cf8e620c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--muted-foreground", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "8da7157d1fd999e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "419ff596420cdcb9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "1655b86c70495aa6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--popover", - "alias_chain": [ - "--background-default", - "--color-white", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "20f1f953ec23bab6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "cf581f91a5ffb58f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 7 - }, - { - "id": "780705cbf1e80627", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "fcd171c9485cdc7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "0a659b366c8fa211", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1 - }, - { - "id": "0c14003d1c889a10", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1 - }, - { - "id": "a1e382f34c7ca511", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1 - }, - { - "id": "7dccfce5a0220bf2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 68 - }, - { - "id": "ff4758029574b74e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "94b5cfe30ffb8503", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "16px", - "soft-pastel:dark": "16px" - }, - "occurrences": 21 - }, - { - "id": "d4bf50932cc295ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "5b2ca57521a22ce7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "3a48a2734194bfb5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "1bdf5e10217f5761", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "7963f02ae3f6f292", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-lg", - "alias_chain": ["--radius", "--radius-lg"], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "93c478fe41c11891", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-md", - "alias_chain": ["--radius"], - "resolved_value": "18px", - "occurrences": 3 - }, - { - "id": "aa7a2a3508a364bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "f8981e8babee84e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "35e5931761985e86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-sm", - "alias_chain": ["--radius"], - "resolved_value": "16px", - "occurrences": 1 - }, - { - "id": "e976c7ddd199725c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--radius-xl", - "alias_chain": ["--radius"], - "resolved_value": "24px", - "occurrences": 1 - }, - { - "id": "25607fdef3323ae1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--ring", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "161e67bcdf92ae78", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--secondary", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "66535f93d2cc288e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "9aeb2a82aaedeb90", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1 - }, - { - "id": "ae286ac53c73b01b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1 - }, - { - "id": "53e56ce422d72740", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - }, - "occurrences": 8 - }, - { - "id": "34da203393d0e5da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "ffa361c0cad65666", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "by_theme": { - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - }, - "occurrences": 8 - }, - { - "id": "aff62d1a1b2abc0a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "by_theme": { - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - }, - "occurrences": 8 - }, - { - "id": "4ffb28571f0ee9d5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "4f238a78f8fa79cd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 16 - }, - { - "id": "1f281b9abcae07dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "by_theme": { - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - }, - "occurrences": 8 - }, - { - "id": "00de01b6bdf12d96", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "by_theme": { - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - }, - "occurrences": 8 - }, - { - "id": "085ffcd544d5ec39", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "by_theme": { - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "3819acf154441757", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar", - "alias_chain": [ - "--background-default", - "--color-white", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 38 - }, - { - "id": "2a524b273feaeb2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "66f6437a300b4c07", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "68b1059f48f7b5da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "77c040fd5defeb93", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "6666ce529dc47bf3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 6 - }, - { - "id": "9ce59e02d5f88b87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "70580382da53b515", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--sidebar-ring", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "ebdf95b6438f2651", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 2 - }, - { - "id": "61939f7d49459455", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1 - }, - { - "id": "92ac3601fc074931", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "52px", - "occurrences": 2 - }, - { - "id": "87512f671bfebadf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 1 - }, - { - "id": "c79ea45783774931", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8 - }, - { - "id": "e8e7db72cca921d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2 - }, - { - "id": "377e05bbf6bbb710", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2 - }, - { - "id": "4a8475b17b30f6da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2 - }, - { - "id": "814f82a89482b20c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-accent", - "alias_chain": ["--color-gray-900", "--text-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "949727c79a15e791", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-alt", - "alias_chain": ["--color-gray-600", "--text-alt"], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999", - "warm-sand:light": "#6b5940", - "warm-sand:dark": "#8b7355", - "ocean:light": "#3a6a7c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#5a4b6a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#333333", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#6a6280", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 15 - }, - { - "id": "800c886b0d58df5e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-danger", - "alias_chain": ["--color-red-200", "--text-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#c07070", - "soft-pastel:dark": "#e0a0a0" - }, - "occurrences": 7 - }, - { - "id": "21f8b42e6d5de10f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900", "--text-default"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#f0e4d4", - "ocean:light": "#0f3442", - "ocean:dark": "#e4f0f5", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#ede8f2", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#e8e4f4" - }, - "occurrences": 29 - }, - { - "id": "bbc4f923c4b3cc4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-info", - "alias_chain": ["--color-blue-200", "--text-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#7090c0", - "soft-pastel:dark": "#a0c0e8" - }, - "occurrences": 7 - }, - { - "id": "f60cb47976f7ff04", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-inverse", - "alias_chain": ["--color-white", "--text-inverse"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#000000", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 19 - }, - { - "id": "83131860bab9eec2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-muted", - "alias_chain": ["--color-gray-500", "--text-muted"], - "resolved_value": "#999999", - "by_theme": { - "warm-sand:light": "#8b7355", - "warm-sand:dark": "#8b7355", - "ocean:light": "#5a8a9c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#7a6b8a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#555555", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#8a82a0", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 17 - }, - { - "id": "389cf635c954599e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-success", - "alias_chain": ["--color-green-200", "--text-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#70a870", - "soft-pastel:dark": "#a0d8a0" - }, - "occurrences": 7 - }, - { - "id": "f9d014aaea6b738c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-warning", - "alias_chain": ["--color-yellow-200", "--text-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "soft-pastel:light": "#c0a060", - "soft-pastel:dark": "#e0c880" - }, - "occurrences": 7 - }, - { - "id": "b16b2b6a944cb442", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - } - ], - "components": [ - { - "id": "cc0a865fb15d2664", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "accordion", - "discovered_via": "registry.json" - }, - { - "id": "2bd76f47ae3a8067", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "agent", - "discovered_via": "registry.json" - }, - { - "id": "0d8623bc95dfb53b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "alert", - "discovered_via": "registry.json", - "variants": ["default", "destructive"] - }, - { - "id": "f86aa6159f016756", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "alert-dialog", - "discovered_via": "registry.json" - }, - { - "id": "ab6a5d02fc787a67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "artifact", - "discovered_via": "registry.json" - }, - { - "id": "7a4c7370e09eb670", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "aspect-ratio", - "discovered_via": "registry.json" - }, - { - "id": "73c1b92e405a673f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "attachments", - "discovered_via": "registry.json" - }, - { - "id": "aae8e322a021ade6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "audio-player", - "discovered_via": "registry.json" - }, - { - "id": "64a5300ff13676b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "avatar", - "discovered_via": "registry.json" - }, - { - "id": "d4d350c0dff6b392", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "badge", - "discovered_via": "registry.json", - "variants": ["default", "secondary", "destructive", "outline"] - }, - { - "id": "eece2d65f7829d5a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "breadcrumb", - "discovered_via": "registry.json" - }, - { - "id": "1eeeac580b84e497", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "button", - "discovered_via": "registry.json", - "variants": [ - "default", - "destructive", - "outline", - "secondary", - "ghost", - "link" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"] - }, - { - "id": "eaaf8e3efc957efc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "button-group", - "discovered_via": "registry.json" - }, - { - "id": "7a90b275e0cb9624", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "calendar", - "discovered_via": "registry.json" - }, - { - "id": "f7f29e64bd7dbf43", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "canvas", - "discovered_via": "registry.json" - }, - { - "id": "c9156a734adf1117", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "card", - "discovered_via": "registry.json" - }, - { - "id": "70bf690907822bbe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "carousel", - "discovered_via": "registry.json" - }, - { - "id": "e4f0947324cbb743", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "chain-of-thought", - "discovered_via": "registry.json" - }, - { - "id": "433d5827a73e8f59", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "chart", - "discovered_via": "registry.json" - }, - { - "id": "b646cd62a971119a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "checkbox", - "discovered_via": "registry.json" - }, - { - "id": "bc3d53da979047f1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "checkpoint", - "discovered_via": "registry.json" - }, - { - "id": "7535eba07ee14f70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "code-block", - "discovered_via": "registry.json" - }, - { - "id": "bdfd2184a647707a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "collapsible", - "discovered_via": "registry.json" - }, - { - "id": "298a94ba6efcf501", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "command", - "discovered_via": "registry.json" - }, - { - "id": "5b373db7282b32c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "commit", - "discovered_via": "registry.json" - }, - { - "id": "c7088549f7ad4c1b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "confirmation", - "discovered_via": "registry.json" - }, - { - "id": "5e9f537ece49e857", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "connection", - "discovered_via": "registry.json" - }, - { - "id": "73ed1bf55a7f2013", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "context", - "discovered_via": "registry.json" - }, - { - "id": "81bf030c334bbb67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "context-menu", - "discovered_via": "registry.json" - }, - { - "id": "fa5134aa2d1c684c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "controls", - "discovered_via": "registry.json" - }, - { - "id": "64f990ef2c6875c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "conversation", - "discovered_via": "registry.json" - }, - { - "id": "1815eac2cbfc7337", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "dialog", - "discovered_via": "registry.json" - }, - { - "id": "82775f1be134f573", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "drawer", - "discovered_via": "registry.json" - }, - { - "id": "75314ee45faf0ba7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "dropdown-menu", - "discovered_via": "registry.json" - }, - { - "id": "f137f7cfb22e8e83", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "edge", - "discovered_via": "registry.json" - }, - { - "id": "8acdd05a9bf2f24c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "environment-variables", - "discovered_via": "registry.json" - }, - { - "id": "5f2d4b9323c6a996", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "file-tree", - "discovered_via": "registry.json" - }, - { - "id": "e338b5a1ed90f95c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "form", - "discovered_via": "registry.json" - }, - { - "id": "23757d249b7831c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "hover-card", - "discovered_via": "registry.json" - }, - { - "id": "6b52406b82a0ef8f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "image", - "discovered_via": "registry.json" - }, - { - "id": "f7bd4dc4cc428544", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "inline-citation", - "discovered_via": "registry.json" - }, - { - "id": "9c5cbca3afaf4a60", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "input", - "discovered_via": "registry.json" - }, - { - "id": "762f2f3899077447", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "input-group", - "discovered_via": "registry.json", - "sizes": ["xs", "sm", "icon-xs", "icon-sm"] - }, - { - "id": "02e3713c7a9be534", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "input-otp", - "discovered_via": "registry.json" - }, - { - "id": "87f376bcaf06e0e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "jsx-preview", - "discovered_via": "registry.json" - }, - { - "id": "9ee49da4fad2abfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "label", - "discovered_via": "registry.json" - }, - { - "id": "e06a2052f33bb76a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "menubar", - "discovered_via": "registry.json" - }, - { - "id": "886da2914fc5cd44", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "message", - "discovered_via": "registry.json" - }, - { - "id": "1756e9cc022128a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "mic-selector", - "discovered_via": "registry.json" - }, - { - "id": "0ffd86d4dcd6bff0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "model-selector", - "discovered_via": "registry.json" - }, - { - "id": "16c51b81368f9484", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "navigation-menu", - "discovered_via": "registry.json" - }, - { - "id": "53fd9982b11dea7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "node", - "discovered_via": "registry.json" - }, - { - "id": "d252843135a91122", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "open-in-chat", - "discovered_via": "registry.json" - }, - { - "id": "ffe6d5778717c00f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "package-info", - "discovered_via": "registry.json" - }, - { - "id": "23718ba3a64f6858", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "pagination", - "discovered_via": "registry.json" - }, - { - "id": "14073c435d9ff4b7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "panel", - "discovered_via": "registry.json" - }, - { - "id": "f6f36a0c5696cc52", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "persona", - "discovered_via": "registry.json" - }, - { - "id": "2d3bc2610a934feb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "plan", - "discovered_via": "registry.json" - }, - { - "id": "9e87024e1b631d2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "popover", - "discovered_via": "registry.json" - }, - { - "id": "25de7b6f769efe5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "progress", - "discovered_via": "registry.json" - }, - { - "id": "62cff28818faef73", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "prompt-input", - "discovered_via": "registry.json" - }, - { - "id": "782dc318b173b96e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "queue", - "discovered_via": "registry.json" - }, - { - "id": "29057072cd229d5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "radio-group", - "discovered_via": "registry.json" - }, - { - "id": "97f730caa74ca704", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "reasoning", - "discovered_via": "registry.json" - }, - { - "id": "d465cdcefe19e268", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "resizable", - "discovered_via": "registry.json" - }, - { - "id": "b5f092dd29107b8f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "sandbox", - "discovered_via": "registry.json" - }, - { - "id": "30b9e41935586405", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "schema-display", - "discovered_via": "registry.json" - }, - { - "id": "25375fc710a18559", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "scroll-area", - "discovered_via": "registry.json" - }, - { - "id": "96e9d23e4c67e854", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "select", - "discovered_via": "registry.json" - }, - { - "id": "2762b037b50866a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "separator", - "discovered_via": "registry.json" - }, - { - "id": "94a0b57d9374eaf8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "sheet", - "discovered_via": "registry.json" - }, - { - "id": "c2f87808af753bce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "shimmer", - "discovered_via": "registry.json" - }, - { - "id": "4d9da0eaa1127e31", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "sidebar", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "9b2492bdc55c1a26", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "skeleton", - "discovered_via": "registry.json" - }, - { - "id": "e1e60be7ab184fcc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "slider", - "discovered_via": "registry.json" - }, - { - "id": "3ceb248d25991cd4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "snippet", - "discovered_via": "registry.json" - }, - { - "id": "e31d7d0fa1e122e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "sonner", - "discovered_via": "registry.json" - }, - { - "id": "b7543b95c7aff613", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "sources", - "discovered_via": "registry.json" - }, - { - "id": "6a750d8cdb96f486", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "speech-input", - "discovered_via": "registry.json" - }, - { - "id": "74c9f44095b0f3ca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "spinner", - "discovered_via": "registry.json" - }, - { - "id": "1fa1affc2ac23b9d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "stack-trace", - "discovered_via": "registry.json" - }, - { - "id": "fad38837d2f5fdf9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "suggestion", - "discovered_via": "registry.json" - }, - { - "id": "c0acb3abdc8f6c81", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "switch", - "discovered_via": "registry.json" - }, - { - "id": "381b315c7654b24d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "table", - "discovered_via": "registry.json" - }, - { - "id": "0e33d170699ae80e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "tabs", - "discovered_via": "registry.json" - }, - { - "id": "cbfb01d7399f3f69", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "task", - "discovered_via": "registry.json" - }, - { - "id": "b1875c98560513a7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "terminal", - "discovered_via": "registry.json" - }, - { - "id": "fabef0d64e1fe525", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "test-results", - "discovered_via": "registry.json" - }, - { - "id": "7439707da53ef9f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "textarea", - "discovered_via": "registry.json" - }, - { - "id": "9e0e24e12ced9514", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "ThemeProvider", - "discovered_via": "source:src/components/theme" - }, - { - "id": "6c63d098134b0119", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "ThemeToggle", - "discovered_via": "source:src/components/theme" - }, - { - "id": "c4e6831d7de98dce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "toggle", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "47be0b4d5ce3879f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "toggle-group", - "discovered_via": "registry.json" - }, - { - "id": "20782142eb46319c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "tool", - "discovered_via": "registry.json" - }, - { - "id": "a709ac7d2ae99844", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "toolbar", - "discovered_via": "registry.json" - }, - { - "id": "f2b24524b9b4873f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "tooltip", - "discovered_via": "registry.json" - }, - { - "id": "2262bc60379d0475", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "transcription", - "discovered_via": "registry.json" - }, - { - "id": "68176a999922847b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "voice-selector", - "discovered_via": "registry.json" - }, - { - "id": "81846bc4be25cb4c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "web-preview", - "discovered_via": "registry.json" - } - ], - "ui_surfaces": [ - { - "id": "371a2b30ab2c6c14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "3e0ef1a+dirty", - "scanned_at": "2026-05-04T17:06:20Z", - "scanner_version": "dogfood-attempt-7" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/ghost-ui/attempt-8/NOTES.md b/dogfood/ghost-ui/attempt-8/NOTES.md deleted file mode 100644 index d68a0a23..00000000 --- a/dogfood/ghost-ui/attempt-8/NOTES.md +++ /dev/null @@ -1,75 +0,0 @@ -# Attempt 8 - ghost-ui scan, 2026-05-05 (authored-contract dogfood) - -Fresh dogfood pass after removing fragment-era fingerprint behavior, adding `survey catalog`, and expanding `verify-profile` beyond palette. The source package `packages/ghost-ui` remains the scan target; the wider repo is dirty because the authored-contract remediation is in progress. Survey provenance records `a7e4af7+dirty`. - -This attempt intentionally profiles from the bounded summary plus the derived typography catalog. The raw survey remains the evidence ledger; no catalog or embedding artifact is checked in as canonical truth. - -## Stage Results - -| Stage | Result | -|---|---| -| map | `map.md` refreshed for the current package-local artifact state; package-local Ghost scan artifacts are now absent from `packages/ghost-ui` | -| survey | `survey.json` regenerated with the attempt-7 extractor, then finalized with `ghost-scan survey fix-ids` | -| summary | `ghost-scan survey summarize survey.json --budget compact` used as broad profile context | -| catalog | `ghost-scan survey catalog survey.json --kind typography` used for exact type value enums/specs | -| fingerprint | `fingerprint.md` retained the same prose contract, but narrowed `typography.sizeRamp` to survey-backed scalar font-size rows | - -## Survey Coverage - -| Section | Attempt 7 | Attempt 8 | Result | -|---|---:|---:|---| -| values | 243 | 243 | unchanged | -| tokens | 269 | 269 | unchanged | -| components | 99 | 99 | unchanged | -| ui_surfaces | 1 | 1 | unchanged | - -Value-kind counts are unchanged: 141 color, 34 typography, 26 spacing, 26 motion, 8 radius, 7 shadow, 1 breakpoint. - -## Catalog Dogfood - -The new verifier rejected attempt 7 under the fresh contract because its `typography.sizeRamp` included inferred scalar endpoints from clamp tokens (`10`, `20`, `24`, `28`, `40`, `44`, `48`, `64`, `96`, `192`) that were not survey-backed as scalar typography size rows. - -`ghost-scan survey catalog survey.json --kind typography` made the backed scalar size enum explicit: - -```text -11px, 12px, 14px, 16px, 18px -``` - -Attempt 8 keeps the editorial clamp evidence in `### typography-voice` prose, but the machine frontmatter now carries only `sizeRamp: [11, 12, 14, 16, 18]`. - -## Compare Against Attempt 7 - -`ghost-scan diff dogfood/ghost-ui/attempt-7/fingerprint.md dogfood/ghost-ui/attempt-8/fingerprint.md`: - -```text -Tokens: - ~ typography.sizeRamp: [10,11,12,14,16,18,20,24,28,40,44,48,64,96,192] -> [11,12,14,16,18] -``` - -`ghost-drift compare dogfood/ghost-ui/attempt-7/fingerprint.md dogfood/ghost-ui/attempt-8/fingerprint.md`: - -```text -Overall Distance: 8.3% - -Dimensions - decisions 0.0% Decisions present (11 vs 11) but embeddings missing - not scored - palette 0.0% Color palettes are nearly identical - spacing 0.0% Spacing scales are nearly identical - typography 33.3% Different typographic language - surfaces 0.0% Surface treatments align -``` - -This is a useful contract shift, not a source-design shift: the survey evidence is unchanged, and only the authored machine digest became stricter. - -## Validation - -```bash -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-8/map.md -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-8/survey.json -node packages/ghost-scan/dist/bin.js lint dogfood/ghost-ui/attempt-8/fingerprint.md -node packages/ghost-scan/dist/bin.js verify-profile dogfood/ghost-ui/attempt-8/fingerprint.md dogfood/ghost-ui/attempt-8/survey.json --root packages/ghost-ui -node packages/ghost-scan/dist/bin.js scan-status dogfood/ghost-ui/attempt-8 -node packages/ghost-drift/dist/bin.js compare dogfood/ghost-ui/attempt-8/fingerprint.md dogfood/ghost-ui/attempt-8/fingerprint.md -``` - -Map and survey return `0 error(s), 0 warning(s), 0 info`. Fingerprint lint and profile verification return `0 error(s), 0 warning(s), 1 info` because no promoted `checks[]` are present. Scan status is complete. Self-distance is `0.0%`. diff --git a/dogfood/ghost-ui/attempt-8/build-survey.mjs b/dogfood/ghost-ui/attempt-8/build-survey.mjs deleted file mode 100644 index faefd105..00000000 --- a/dogfood/ghost-ui/attempt-8/build-survey.mjs +++ /dev/null @@ -1,998 +0,0 @@ -#!/usr/bin/env node -import { readdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; -import { basename, join, relative } from "node:path"; - -const TARGET_ROOT = "/Users/nahiyan/Development/ghost/packages/ghost-ui"; -const OUT = - "/Users/nahiyan/Development/ghost/dogfood/ghost-ui/attempt-8/survey.json"; - -const SOURCE = { - id: "ghost-ui", - role: "primary", - target: "block/ghost@packages/ghost-ui", - commit: "a7e4af7+dirty", - scanned_at: "2026-05-05T11:17:24Z", - scanner_version: "dogfood-attempt-8", -}; - -const MAIN_CSS = join(TARGET_ROOT, "src/styles/main.css"); -const THEME_PRESETS = join(TARGET_ROOT, "src/lib/theme-presets.ts"); -const REGISTRY = join(TARGET_ROOT, "registry.json"); -const SURFACE_DIRS = [ - "src/components/ui", - "src/components/ai-elements", - "src/components/theme", - "src/hooks", - "src/styles", - "src/lib", -]; - -const TAILWIND_TEXT_SIZE_PX = { - xs: 12, - sm: 14, - base: 16, - lg: 18, - xl: 20, - "2xl": 24, - "3xl": 30, - "4xl": 36, - "5xl": 48, - "6xl": 60, - "7xl": 72, - "8xl": 96, - "9xl": 128, -}; - -const TAILWIND_FONT_WEIGHTS = { - thin: 100, - extralight: 200, - light: 300, - normal: 400, - medium: 500, - semibold: 600, - bold: 700, - extrabold: 800, - black: 900, -}; - -function walk(dir, acc = []) { - for (const entry of readdirSync(dir)) { - const path = join(dir, entry); - const stat = statSync(path); - if (stat.isDirectory()) { - walk(path, acc); - } else { - acc.push(path); - } - } - return acc; -} - -function rel(path) { - return relative(TARGET_ROOT, path); -} - -function read(path) { - return readFileSync(path, "utf8"); -} - -const surfaceFiles = SURFACE_DIRS.flatMap((dir) => - walk(join(TARGET_ROOT, dir)), -).filter((path) => /\.(css|tsx?|jsx?)$/.test(path)); - -const fileText = new Map(surfaceFiles.map((path) => [path, read(path)])); - -function parseCssVariables(css) { - const vars = new Map(); - const lines = css.split(/\r?\n/); - let scope = null; - let depth = 0; - let pending = null; - - function addDecl(name, value, line) { - const entry = vars.get(name) ?? {}; - entry[scope] = { value: value.trim().replace(/\s+/g, " "), line }; - vars.set(name, entry); - } - - for (let i = 0; i < lines.length; i++) { - const rawLine = lines[i]; - const trimmed = rawLine.trim(); - - if (!scope) { - if (trimmed.startsWith("@theme inline")) { - scope = "theme-inline"; - depth = 0; - } else if (trimmed.startsWith("@theme")) { - scope = "theme"; - depth = 0; - } else if (trimmed.startsWith(":root")) { - scope = "root"; - depth = 0; - } else if (trimmed.startsWith(".dark")) { - scope = "dark"; - depth = 0; - } - } - - if (scope && pending) { - pending.value += ` ${trimmed.replace(/;$/, "")}`; - if (trimmed.includes(";")) { - addDecl(pending.name, pending.value, pending.line); - pending = null; - } - } else if (scope) { - const match = trimmed.match(/^(--[a-zA-Z0-9_-]+):\s*(.*)$/); - if (match) { - const name = match[1]; - const value = match[2].replace(/;$/, ""); - if (match[2].includes(";")) { - addDecl(name, value, i + 1); - } else { - pending = { name, value, line: i + 1 }; - } - } - } - - if (scope) { - depth += countChar(rawLine, "{"); - depth -= countChar(rawLine, "}"); - if (depth <= 0 && trimmed.endsWith("}")) { - scope = null; - depth = 0; - pending = null; - } - } - } - - return vars; -} - -function countChar(text, char) { - let count = 0; - for (const current of text) { - if (current === char) count++; - } - return count; -} - -function parsePresetOverrides(ts) { - const overrides = new Map(); - const lines = ts.split(/\r?\n/); - let preset = null; - let mode = null; - let depth = 0; - - for (const line of lines) { - const idMatch = line.match(/^\s*id:\s*"([^"]+)"/); - if (idMatch) preset = idMatch[1]; - - if (preset && !mode) { - if (line.match(/^\s*light:\s*{/)) { - mode = "light"; - depth = 0; - } else if (line.match(/^\s*dark:\s*{/)) { - mode = "dark"; - depth = 0; - } - } - - if (preset && mode) { - const valueMatch = line.match(/^\s*"([^"]+)":\s*"([^"]+)"/); - if (valueMatch) { - const name = valueMatch[1]; - const value = valueMatch[2]; - const key = `${preset}:${mode}`; - const entry = overrides.get(name) ?? {}; - entry[key] = value; - overrides.set(name, entry); - } - depth += countChar(line, "{"); - depth -= countChar(line, "}"); - if (depth <= 0 && line.trim().startsWith("}")) { - mode = null; - } - } - } - - return overrides; -} - -const cssVars = parseCssVariables(read(MAIN_CSS)); -const presetOverrides = parsePresetOverrides(read(THEME_PRESETS)); - -function rawFor(name, mode = "default") { - const entry = cssVars.get(name); - if (!entry) return undefined; - if (mode === "dark") { - return ( - entry.dark?.value ?? - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value - ); - } - return ( - entry.root?.value ?? - entry.theme?.value ?? - entry["theme-inline"]?.value ?? - entry.dark?.value - ); -} - -function resolveToken(name, mode = "default", seen = []) { - if (seen.includes(name)) { - return { value: rawFor(name, mode) ?? name, chain: seen, resolved: false }; - } - - const raw = rawFor(name, mode); - if (!raw) { - return { value: name, chain: seen, resolved: false }; - } - - const varMatch = raw.match(/^var\((--[a-zA-Z0-9_-]+)(?:,[^)]+)?\)$/); - if (varMatch) { - const next = varMatch[1]; - const resolved = resolveToken(next, mode, [...seen, name]); - return { ...resolved, chain: [next, ...resolved.chain] }; - } - - const calcMatch = raw.match( - /^calc\(var\((--[a-zA-Z0-9_-]+)\)\s*([+-])\s*([0-9.]+)px\)$/, - ); - if (calcMatch) { - const baseName = calcMatch[1]; - const op = calcMatch[2]; - const delta = Number(calcMatch[3]); - const base = resolveToken(baseName, mode, [...seen, baseName]); - const parsed = parseLength(base.value); - if (parsed) { - const basePx = toPx(parsed.scalar, parsed.unit); - const value = op === "+" ? basePx + delta : basePx - delta; - return { - value: `${formatNumber(value)}px`, - chain: [...seen, baseName], - resolved: true, - }; - } - } - - return { value: raw, chain: seen, resolved: true }; -} - -function parseLength(raw) { - const text = String(raw).trim(); - if (text === "0") return { scalar: 0, unit: "px" }; - const match = text.match(/^(-?[0-9.]+)(px|rem|em|vw|vh|%)$/); - if (!match) return null; - return { scalar: Number(match[1]), unit: match[2] }; -} - -function toPx(scalar, unit) { - if (unit === "rem" || unit === "em") return scalar * 16; - return scalar; -} - -function formatNumber(n) { - return Number.isInteger(n) ? String(n) : String(Number(n.toFixed(3))); -} - -function normalizeScalarValue(raw) { - const parsed = parseLength(raw); - if (!parsed) return String(raw).trim(); - if (parsed.unit === "px" || parsed.unit === "rem" || parsed.unit === "em") { - return `${formatNumber(toPx(parsed.scalar, parsed.unit))}px`; - } - return `${formatNumber(parsed.scalar)}${parsed.unit}`; -} - -function normalizeColor(raw) { - return String(raw) - .trim() - .replace(/^#([0-9A-Fa-f]+)/, (_, hex) => `#${hex.toLowerCase()}`); -} - -function kindForToken(name, value) { - const raw = String(value).trim(); - if ( - raw.startsWith("#") || - raw.startsWith("rgb") || - name.startsWith("--color-") || - name.startsWith("--background") || - name.startsWith("--border") || - name.startsWith("--text-") || - name.startsWith("--chart") || - name.startsWith("--ring") || - name.startsWith("--dark") || - name.startsWith("--surface") - ) { - return raw.match(/^(#[0-9A-Fa-f]{3,8}|rgba?\(|hsla?\()/) ? "color" : null; - } - if (name.startsWith("--radius")) return "radius"; - if (name.startsWith("--shadow")) return "shadow"; - if ( - name.startsWith("--font") || - name.startsWith("--heading") || - name.startsWith("--display") || - name.startsWith("--body") || - name.startsWith("--label") || - name.startsWith("--pullquote") || - name === "--text-xxs" - ) { - return "typography"; - } - if ( - name.startsWith("--spacing") || - name.startsWith("--page") || - name.startsWith("--section") - ) { - return name.includes("max-width") ? "breakpoint" : "spacing"; - } - if (name.startsWith("--breakpoint")) return "breakpoint"; - if ( - name.startsWith("--duration") || - name.startsWith("--ease") || - name.startsWith("--animate") - ) { - return "motion"; - } - return null; -} - -function normalizeValue(kind, value) { - if (kind === "color") return normalizeColor(value); - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - return normalizeScalarValue(value); - } - if (kind === "motion") { - const text = String(value).trim(); - const seconds = text.match(/^([0-9.]+)s$/); - if (seconds) return `${formatNumber(Number(seconds[1]) * 1000)}ms`; - return text; - } - return String(value).trim(); -} - -function specFor(kind, value) { - if (kind === "color") { - if (value.startsWith("#")) return { space: "srgb", hex: value }; - return { space: "unknown" }; - } - if (kind === "spacing" || kind === "radius" || kind === "breakpoint") { - const parsed = parseLength(value); - if (parsed) return parsed; - } - if (kind === "motion") { - const ms = value.match(/^([0-9.]+)ms$/); - if (ms) return { duration_ms: Number(ms[1]) }; - return { easing: value }; - } - if (kind === "typography") { - const parsed = parseLength(value); - if (parsed) return { size: parsed }; - if (/^[0-9]+$/.test(value)) return { weight: Number(value) }; - return { family: value }; - } - return undefined; -} - -const values = new Map(); - -function addValue(kind, value, raw, count, files, usageKey, role) { - if (!kind || !value) return; - const normalized = normalizeValue(kind, value); - if (!normalized || normalized === "initial") return; - const key = `${kind}|${normalized}`; - const row = values.get(key) ?? { - id: "", - source: SOURCE, - kind, - value: normalized, - raw, - spec: specFor(kind, normalized), - occurrences: 0, - files: new Set(), - usage: {}, - role_hypothesis: role, - }; - row.occurrences += count; - for (const file of files) row.files.add(file); - row.usage[usageKey] = (row.usage[usageKey] ?? 0) + count; - if (!row.role_hypothesis && role) row.role_hypothesis = role; - values.set(key, row); -} - -function countNeedle(needle) { - let occurrences = 0; - const files = new Set(); - for (const [file, text] of fileText) { - let index = text.indexOf(needle); - while (index !== -1) { - occurrences++; - files.add(rel(file)); - index = text.indexOf(needle, index + needle.length); - } - } - return { occurrences, files }; -} - -const tokens = []; -for (const name of [...cssVars.keys()].sort()) { - const resolved = resolveToken(name); - const dark = resolveToken(name, "dark"); - const seen = countNeedle(name); - const byTheme = {}; - if (dark.resolved && dark.value !== resolved.value) { - byTheme.dark = normalizeValue( - kindForToken(name, dark.value) ?? "", - dark.value, - ); - } - const presetForName = presetOverrides.get(name); - if (presetForName) { - for (const [theme, raw] of Object.entries(presetForName)) { - const kind = kindForToken(name, raw); - byTheme[theme] = kind ? normalizeValue(kind, raw) : raw; - } - } - - tokens.push({ - id: "", - source: SOURCE, - name, - alias_chain: resolved.chain, - resolved_value: normalizeValue( - kindForToken(name, resolved.value) ?? "", - resolved.value, - ), - ...(Object.keys(byTheme).length ? { by_theme: byTheme } : {}), - occurrences: Math.max(1, seen.occurrences), - }); - - const kind = kindForToken(name, resolved.value); - if (kind) { - addValue( - kind, - resolved.value, - name, - Math.max(1, seen.occurrences), - seen.files.size ? seen.files : new Set(["src/styles/main.css"]), - "css_var", - roleForToken(name), - ); - } - for (const raw of Object.values(presetForName ?? {})) { - const kindForPreset = kindForToken(name, raw); - if (kindForPreset) { - addValue( - kindForPreset, - raw, - name, - 1, - new Set(["src/lib/theme-presets.ts"]), - "theme_preset", - roleForToken(name), - ); - } - } -} - -function roleForToken(name) { - if (name.includes("danger") || name.includes("destructive")) return "danger"; - if (name.includes("success")) return "success"; - if (name.includes("warning")) return "warning"; - if (name.includes("info")) return "info"; - if (name.includes("chart")) return "chart"; - if (name.includes("background")) return "surface"; - if (name.includes("border")) return "border"; - if (name.includes("text") || name.includes("foreground")) return "text"; - if (name.includes("radius")) return "shape"; - if (name.includes("shadow")) return "elevation"; - return undefined; -} - -const unresolvedTokens = new Map(); - -function addUnresolvedToken(name, atom, count, files) { - const current = unresolvedTokens.get(name) ?? { - name, - atoms: new Set(), - occurrences: 0, - files: new Set(), - }; - current.atoms.add(atom); - current.occurrences += count; - for (const file of files) current.files.add(file); - unresolvedTokens.set(name, current); -} - -function extractAtoms() { - const atoms = new Map(); - const atomRe = - /\b(bg|text|border|fill|stroke|ring|outline|from|to|via|p[lrtbxy]?|m[lrtbxy]?|w|h|min-w|min-h|max-w|max-h|size|gap|space-[xy]|inset(?:-[xy])?|top|right|bottom|left|rounded(?:-[a-z0-9]+)?|shadow|duration|ease|animate|font)-[a-zA-Z0-9./:%_#-]+(?:\[[^\]]+\])?/g; - for (const [file, text] of fileText) { - if (!/\.(tsx?|jsx?)$/.test(file)) continue; - for (const match of text.matchAll(atomRe)) { - const atom = match[0]; - const entry = atoms.get(atom) ?? { count: 0, files: new Set() }; - entry.count++; - entry.files.add(rel(file)); - atoms.set(atom, entry); - } - } - return atoms; -} - -function suffix(atom) { - return atom.slice(atom.indexOf("-") + 1).split("/")[0]; -} - -function numericSpacingValue(value) { - if (value === "px") return 1; - if (value === "0") return 0; - const fraction = value.match(/^([0-9]+)\/([0-9]+)$/); - if (fraction) return null; - const n = Number(value); - if (Number.isFinite(n)) return n * 4; - return null; -} - -function bracketValue(atom) { - const match = atom.match(/\[([^\]]+)\]/); - return match?.[1]; -} - -function tokenValue(name, mode = "default") { - if (!cssVars.has(name)) return null; - const resolved = resolveToken(name, mode); - return resolved.resolved ? resolved.value : null; -} - -function resolveColorAtom(atom, tokenSuffix, entry) { - const token = `--color-${tokenSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "color", - value, - atom, - entry.count, - entry.files, - "className", - roleForToken(token), - ); - } else if (looksLikeMissingColor(tokenSuffix)) { - addUnresolvedToken(token, atom, entry.count, entry.files); - } -} - -function looksLikeMissingColor(tokenSuffix) { - return /^(slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-[0-9]{2,3}$/.test( - tokenSuffix, - ); -} - -function handleAtom(atom, entry) { - const rawSuffix = suffix(atom); - const bracket = bracketValue(atom); - - if (atom.startsWith("font-")) { - if (TAILWIND_FONT_WEIGHTS[rawSuffix] !== undefined) { - addValue( - "typography", - String(TAILWIND_FONT_WEIGHTS[rawSuffix]), - atom, - entry.count, - entry.files, - "className", - "font-weight", - ); - } else { - const token = `--font-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "typography", - value, - atom, - entry.count, - entry.files, - "className", - "font-family", - ); - } - } - return; - } - - if (atom.startsWith("text-")) { - if ( - [ - "left", - "right", - "center", - "justify", - "balance", - "pretty", - "wrap", - "nowrap", - "ellipsis", - "clip", - "current", - "transparent", - ].includes(rawSuffix) - ) { - return; - } - if (TAILWIND_TEXT_SIZE_PX[rawSuffix] !== undefined) { - addValue( - "typography", - `${TAILWIND_TEXT_SIZE_PX[rawSuffix]}px`, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - if (bracket) { - addValue( - "typography", - bracket, - atom, - entry.count, - entry.files, - "className", - "font-size", - ); - return; - } - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - atom.startsWith("bg-") || - atom.startsWith("border-") || - atom.startsWith("ring-") || - atom.startsWith("fill-") || - atom.startsWith("stroke-") || - atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-") - ) { - if ( - /^(border|ring)-offset-/.test(atom) || - /^border-[trblxy](?:-|$)/.test(atom) || - [ - "b", - "t", - "l", - "r", - "x", - "y", - "dashed", - "solid", - "collapse", - "separate", - ].includes(rawSuffix) - ) { - return; - } - if ( - (atom.startsWith("from-") || - atom.startsWith("to-") || - atom.startsWith("via-")) && - [ - "top", - "right", - "bottom", - "left", - "start", - "end", - "top-2", - "right-2", - "bottom-2", - "left-2", - "top-4", - "right-4", - "bottom-4", - "left-4", - "left-52", - "right-52", - ].includes(rawSuffix) - ) { - return; - } - if (bracket?.startsWith("#")) { - addValue("color", bracket, atom, entry.count, entry.files, "className"); - return; - } - if (/^(0|2|4|8)$/.test(rawSuffix) && !atom.startsWith("bg-")) return; - if (["none", "transparent", "current"].includes(rawSuffix)) return; - resolveColorAtom(atom, rawSuffix, entry); - return; - } - - if ( - /^(p|px|py|pt|pr|pb|pl|m|mx|my|mt|mr|mb|ml|w|h|min-w|min-h|max-w|max-h|size|gap|space-x|space-y|inset|inset-x|inset-y|top|right|bottom|left)-/.test( - atom, - ) - ) { - if ( - ["full", "fit", "auto", "screen", "min", "max", "0.5"].includes(rawSuffix) - ) { - if (rawSuffix !== "0.5") return; - } - const tokenName = atom.startsWith("h-") ? `--spacing-${rawSuffix}` : null; - const tokenResolved = tokenName ? tokenValue(tokenName) : null; - if (tokenResolved) { - addValue( - "spacing", - tokenResolved, - atom, - entry.count, - entry.files, - "className", - ); - return; - } - const scalar = bracket ? null : numericSpacingValue(rawSuffix); - if (scalar !== null) { - addValue( - "spacing", - `${scalar}px`, - atom, - entry.count, - entry.files, - "className", - ); - } else if (bracket) { - addValue("spacing", bracket, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("rounded")) { - if (atom === "rounded-full") { - addValue( - "radius", - "999px", - atom, - entry.count, - entry.files, - "className", - "pill", - ); - return; - } - if (atom === "rounded-none") { - addValue("radius", "0px", atom, entry.count, entry.files, "className"); - return; - } - if (bracket) { - addValue("radius", bracket, atom, entry.count, entry.files, "className"); - return; - } - const radiusSuffix = rawSuffix.replace(/^-[a-z]+-/, ""); - const token = `--radius-${radiusSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "radius", - value, - atom, - entry.count, - entry.files, - "className", - "shape", - ); - } - return; - } - - if (atom.startsWith("shadow-")) { - if (rawSuffix === "none") { - addValue("shadow", "none", atom, entry.count, entry.files, "className"); - return; - } - const token = `--shadow-${rawSuffix}`; - const value = tokenValue(token); - if (value) { - addValue( - "shadow", - value, - atom, - entry.count, - entry.files, - "className", - "elevation", - ); - } - return; - } - - if (atom.startsWith("duration-")) { - const n = Number(rawSuffix); - if (Number.isFinite(n)) { - addValue("motion", `${n}ms`, atom, entry.count, entry.files, "className"); - } - return; - } - - if (atom.startsWith("ease-")) { - addValue("motion", rawSuffix, atom, entry.count, entry.files, "className"); - return; - } - - if (atom.startsWith("animate-")) { - const token = `--animate-${rawSuffix}`; - const value = tokenValue(token); - addValue( - "motion", - value ?? rawSuffix, - atom, - entry.count, - entry.files, - "className", - ); - } -} - -for (const [atom, entry] of extractAtoms()) { - handleAtom(atom, entry); -} - -for (const unresolved of unresolvedTokens.values()) { - tokens.push({ - id: "", - source: SOURCE, - name: unresolved.name, - alias_chain: [], - resolved_value: "unresolved", - occurrences: unresolved.occurrences, - resolution: { - status: "unresolved-local", - symbol: [...unresolved.atoms].sort().join(", "), - message: - "Tailwind class atom references a color token not declared after --color-* reset.", - }, - }); -} - -function extractObjectKeys(text, property) { - const marker = `${property}: {`; - const idx = text.indexOf(marker); - if (idx === -1) return []; - const start = text.indexOf("{", idx); - let depth = 0; - let end = start; - for (let i = start; i < text.length; i++) { - if (text[i] === "{") depth++; - if (text[i] === "}") depth--; - if (depth === 0) { - end = i; - break; - } - } - const block = text.slice(start + 1, end); - return [...block.matchAll(/^\s*"?([a-zA-Z0-9_-]+)"?:\s/gm)] - .map((match) => match[1]) - .filter( - (key) => !["className", "variants", "defaultVariants"].includes(key), - ); -} - -const registry = JSON.parse(read(REGISTRY)); -const components = []; -for (const item of registry.items.filter( - (entry) => entry.type === "registry:ui", -)) { - const filePath = item.files?.[0]?.path - ? join(TARGET_ROOT, item.files[0].path) - : null; - const text = filePath ? read(filePath) : ""; - const variants = extractObjectKeys(text, "variant"); - const sizes = extractObjectKeys(text, "size"); - components.push({ - id: "", - source: SOURCE, - name: item.name, - discovered_via: "registry.json", - ...(variants.length ? { variants } : {}), - ...(sizes.length ? { sizes } : {}), - }); -} - -for (const path of walk(join(TARGET_ROOT, "src/components/theme")).filter( - (file) => file.endsWith(".tsx"), -)) { - components.push({ - id: "", - source: SOURCE, - name: basename(path, ".tsx"), - discovered_via: "source:src/components/theme", - }); -} - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values: [...values.values()] - .map((row) => { - const out = { - id: row.id, - source: row.source, - kind: row.kind, - value: row.value, - raw: row.raw, - ...(row.spec ? { spec: row.spec } : {}), - occurrences: row.occurrences, - files_count: row.files.size, - usage: row.usage, - ...(row.role_hypothesis - ? { role_hypothesis: row.role_hypothesis } - : {}), - }; - return out; - }) - .sort( - (a, b) => a.kind.localeCompare(b.kind) || a.value.localeCompare(b.value), - ), - tokens: tokens.sort((a, b) => a.name.localeCompare(b.name)), - components: components.sort((a, b) => a.name.localeCompare(b.name)), - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Ghost UI component catalogue", - kind: "source", - locator: "registry.json#registry:ui", - renderability: "source-only", - files: [ - "registry.json", - "src/components/ui", - "src/components/ai-elements", - ], - classification: { - intent: "component reference", - surface_type: "component-catalog", - density: "standard", - layout_shape: "control-surface", - confidence: 0.72, - }, - signals: { - dominant_components: ["registry:ui", "ui primitives", "ai-elements"], - layout_patterns: [ - "registry item catalogue with primitive and AI element families", - ], - notes: [ - "Dogfood scan records implemented surface evidence from source and registry metadata.", - ], - }, - }, - ], -}; - -writeFileSync(OUT, `${JSON.stringify(survey, null, 2)}\n`); - -const byKind = survey.values.reduce((acc, row) => { - acc[row.kind] = (acc[row.kind] ?? 0) + 1; - return acc; -}, {}); - -console.error( - JSON.stringify( - { - values: survey.values.length, - values_by_kind: byKind, - tokens: survey.tokens.length, - unresolved_tokens: unresolvedTokens.size, - components: survey.components.length, - out: OUT, - }, - null, - 2, - ), -); diff --git a/dogfood/ghost-ui/attempt-8/fingerprint.md b/dogfood/ghost-ui/attempt-8/fingerprint.md deleted file mode 100644 index 7fdbdd1d..00000000 --- a/dogfood/ghost-ui/attempt-8/fingerprint.md +++ /dev/null @@ -1,236 +0,0 @@ ---- -id: ghost-ui -source: llm -timestamp: 2026-05-05T11:17:24Z -sources: - - block/ghost@packages/ghost-ui@a7e4af7+dirty -observation: - personality: - - editorial - - monochrome-default - - token-driven - - pill-forward - - compact - - themeable - resembles: - - shadcn/ui - - Vercel Geist - - Linear -references: - specs: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - registry.json - components: - - src/components/ui - - src/components/ai-elements - - src/components/theme - examples: - - README.md - - .shadcn/skills.md -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: theming-architecture - - dimension: shape-language - - dimension: typography-voice - - dimension: font-sourcing - - dimension: spatial-system - - dimension: density - - dimension: elevation - - dimension: motion - - dimension: token-architecture -checks: [] -palette: - dominant: - - role: background - value: "#ffffff" - - role: foreground-accent - value: "#1a1a1a" - - role: border - value: "#e8e8e8" - - role: muted-surface - value: "#f0f0f0" - neutrals: - steps: - - "#ffffff" - - "#f5f5f5" - - "#f0f0f0" - - "#e8e8e8" - - "#e5e5e5" - - "#cccccc" - - "#999999" - - "#666666" - - "#333333" - - "#232323" - - "#1a1a1a" - - "#0a0a0a" - - "#000000" - count: 13 - semantic: - - role: danger - value: "#f94b4b" - - role: danger-dark - value: "#ff6b6b" - - role: success - value: "#91cb80" - - role: success-dark - value: "#a3d795" - - role: info - value: "#5c98f9" - - role: info-dark - value: "#7cacff" - - role: warning - value: "#fbcd44" - - role: warning-dark - value: "#ffd966" - - role: chart-1 - value: "#f6b44a" - - role: chart-2 - value: "#7585ff" - - role: chart-3 - value: "#d76a6a" - - role: chart-4 - value: "#d185e0" - - role: chart-5 - value: "#91cb80" - - role: dark-surface - value: "#0a0a0a" - saturationProfile: mixed - contrast: high -spacing: - scale: [0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 64, 75, 96, 100, 256, 288, 320] - regularity: 0.78 - baseUnit: 4 -typography: - families: - - 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif' - - '"Geist Mono", monospace' - - serif - sizeRamp: [11, 12, 14, 16, 18] - weightDistribution: - "300": 1 - "400": 5 - "500": 38 - "600": 9 - "700": 2 - "900": 1 - lineHeightPattern: tight -surfaces: - borderRadii: [0, 10, 14, 16, 18, 20, 24, 999] - shadowComplexity: layered - borderUsage: moderate - borderTokenCount: 19 ---- - -# Character - -A compact shadcn-derived component system wears an editorial, monochrome-first skin. Its default theme is nearly achromatic and high-contrast, but the package also ships five runtime presets that can replace the color and radius vocabulary without changing component code. The component layer is dense and practical: small type, tight controls, pill-forward interactive elements, tokenized surfaces, and structural motion for overlays, navigation, loading, and AI-status affordances. - -# Signature - -The recognizable output posture is a designed catalogue surface rather than a generic app chrome: strong editorial scale exists in the token layer, while actual components stay tight, functional, and repeatable. Screens should compose compact pill controls, role-named surfaces, and restrained grayscale hierarchy, then use hue only when it carries state, data, or an intentional theme preset. Variety should come through type scale, shaped task layouts, semantic color, and token-preserving theme swaps, not through one-off decoration or arbitrary component styling. - -# Decisions - -### color-strategy - -Default UI color is mostly grayscale; hue is reserved for semantic state, charts, and optional runtime presets. The broad survey has 141 color rows because bundled presets ship alternate palettes, but the default component contract still resolves most high-occurrence UI color through semantic tokens instead of ad hoc literals. - -**Evidence:** -- Survey top color rows: `#ffffff` (385 occurrences), `#1a1a1a` (305), `#e8e8e8` (241), `#f0f0f0` (223), `#999999` (193). -- Default neutral ladder appears as `#ffffff`, `#f5f5f5`, `#f0f0f0`, `#e8e8e8`, `#e5e5e5`, `#cccccc`, `#999999`, `#666666`, `#333333`, `#232323`, `#1a1a1a`, `#0a0a0a`, `#000000`. -- Semantic/default hues are tokenized: danger `#f94b4b` / `#ff6b6b`, success `#91cb80` / `#a3d795`, info `#5c98f9` / `#7cacff`, warning `#fbcd44` / `#ffd966`. -- Chart hues are a separate data palette: `#f6b44a`, `#7585ff`, `#d76a6a`, `#d185e0`, `#91cb80`. - -### surface-hierarchy - -Surfaces are named by role, not shade number. Background, foreground, border, input, card, popover, sidebar, accent, and destructive tokens form the component vocabulary, with default and dark values flowing through the same names. - -**Evidence:** -- High-usage aliases: `--background` -> `#ffffff` (145 occurrences), `--border` -> `#e8e8e8` (147), `--border-input` -> `#e5e5e5` (32), `--text-default` -> `#1a1a1a` (29). -- Components use role atoms such as `bg-background`, `bg-muted`, `text-muted-foreground`, `border-input`, `ring-ring/50`, and `bg-card`. -- Dark surface tokens include `#000000`, `#232323`, `#333333`, and `#0a0a0a` rather than a separate component branch. - -### theming-architecture - -The theme architecture is a CSS-variable cascade: raw constants and semantic variables feed shadcn aliases, then Tailwind `@theme inline` exposes them to class atoms. Runtime presets override the same semantic keys, including radius tokens, so theme switching changes the language through variables rather than component variants. - -**Evidence:** -- `src/styles/main.css` declares 240 unique CSS variable names. -- `src/lib/theme-presets.ts` ships five non-default presets: `warm-sand`, `ocean`, `midnight-luxe`, `neon-brutalist`, and `soft-pastel`. -- `neon-brutalist` sets `--radius`, `--radius-pill`, `--radius-button`, `--radius-input`, `--radius-card`, `--radius-card-lg`, `--radius-card-sm`, `--radius-dropdown`, and `--radius-modal` to `0px`. - -### shape-language - -The default shape system is pill-forward for interactives and moderately rounded for containers, with a notable preset escape hatch to square everything off. Shape is therefore a default design stance plus a themeable axis, not a hard global constant. - -**Evidence:** -- Radius rows: `20px` (114 occurrences), `18px` (49), `999px` (46), `16px` (27), preset-driven `0px` (23), `10px` (16), `14px` (11), and `24px` (10). -- Button uses `rounded-full`; card and message surfaces use `rounded-lg`; dropdowns use `rounded-dropdown`; many controls inherit `rounded-md`. -- Theme defaults define `--radius-button: 999px`, `--radius-input: 999px`, `--radius-card: 20px`, `--radius-dropdown: 10px`, and `--radius-modal: 16px`. - -### typography-voice - -Typography mixes compact utility text with an editorial display system. Most component usage is `text-sm`/`text-xs` and medium weight, while the token layer still carries dramatic display clamps, tight line heights, negative tracking, and uppercase-label rhythm. - -**Evidence:** -- Component class atoms: `text-sm` resolves to `14px` (121 occurrences) and `text-xs` resolves to `12px` (74). -- Editorial tokens include `clamp(64px, 8vw, 96px)`, `clamp(44px, 5vw, 64px)`, `clamp(3rem, 12vw, 12rem)`, line heights `0.85`, `0.88`, `0.95`, and letter spacing `-0.05em`, `-0.035em`, `-0.02em`, `-0.01em`. -- Weight usage is concentrated at `500` (38 occurrences) with smaller signals for `600`, `700`, `900`, `400`, and `300`. - -### font-sourcing - -The CSS contract remains consumer-supplied for fonts even though the source tree currently contains unused font assets. `font-faces.css` declares no `@font-face`; the shipped token layer names system sans, Geist Mono, and generic serif stacks. - -**Evidence:** -- `src/styles/font-faces.css` contains only the comment that the design language ships with no bundled fonts. -- Token rows include `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`, `"Geist Mono", monospace`, and `serif`. -- The package `files` list publishes `src/styles` and `registry.json`, not `src/fonts`. - -### spatial-system - -Spacing is visibly Tailwind-consumed rather than only token-declared. The dominant rhythm is a 4px utility grid with half-step exceptions, plus named component heights and a few large layout widths. - -**Evidence:** -- Class-derived spacing rows dominate: `16px` (224 occurrences), `8px` (206), `12px` (107), `4px` (102), `32px` (56), `6px` (48). -- Named component heights remain present: `--spacing-button-sm` -> `32px`, `--spacing-button` -> `44px`, `--spacing-input` -> `52px`. -- Layout-specific rows include `75px`, `96px`, `100px`, `256px`, `288px`, and `320px`, which should not be mistaken for the core control rhythm. - -### density - -The component layer is compact and repeated-action friendly, while page-level tokens preserve larger editorial whitespace. Controls cluster around 32-40px heights with 12-14px text; cards and page sections carry the bigger breathing room. - -**Evidence:** -- Button sizes use `h-8`, `h-9`, `h-10`, `w-7`, `w-8`, `w-9`, and `w-10`; `Button` defaults to `text-sm`. -- `MessageContent` uses `text-sm`, `gap-2`, `px-4`, and `py-3`. -- Page-level tokens still include `--section-padding-vertical: 100px` and `--section-heading-margin-bottom: 75px`. - -### elevation - -Elevation is layered and role-named. Shadows are not a numeric scale; they map to mini, button, card, elevated, popover, modal, keyboard, and date-field focus roles, with dark-mode variants increasing opacity. - -**Evidence:** -- Shadow rows include `0 2px 8px rgba(76, 76, 76, 0.15)` (58 occurrences), `0 8px 30px rgba(0, 0, 0, 0.12)` (21), `0 20px 60px rgba(0, 0, 0, 0.2)` (14), and `0 0 0 3px rgba(26, 26, 26, 0.15)` (12). -- Dark defaults define the same role names with stronger opacity, including modal at `rgba(0, 0, 0, 0.6)`. -- `shadow-none` is also used (9 occurrences), mainly as a local suppression rather than the global posture. - -### motion - -Motion is practical, not absent. The scan found structural enter/exit atoms, duration tiers, accordion/caret/fade/scale tokens, and status/loading animations such as pulse, ping, and spin. The old "no decorative motion" stance is too strong for the current codebase. - -**Evidence:** -- `animate-in` appears 30 times and `animate-out` 28 times across overlay/sheet-style behavior. -- Duration values include `150ms`, `200ms`, `300ms`, `400ms`, `500ms`, and `1000ms`; the token layer declares fast/normal/slow as `150ms`, `200ms`, and `400ms`. -- Loading/status motion appears as `animate-pulse`, `animate-ping`, and `animate-spin` in skeleton, test-results, speech-input, terminal, and spinner components. - -### token-architecture - -The intended token architecture is semantic, but the faithful Tailwind atom pass exposed a real conflict: `main.css` resets `--color-*`, while several AI elements still use default Tailwind color families. Those atoms are unresolved locally and should be treated as lower-confidence scan evidence and likely drift from the semantic token contract. - -**Evidence:** -- Survey has 269 token rows: 240 declared CSS variable tokens plus 29 unresolved local Tailwind color token usages. -- Unresolved local tokens account for 103 occurrences, including `--color-red-400`, `--color-red-700`, `--color-green-400`, `--color-blue-600`, `--color-yellow-400`, `--color-orange-700`, and `--color-zinc-800`. -- Resolved color class usage still dominates: 698 resolved color class occurrences versus 103 unresolved local color-token occurrences. diff --git a/dogfood/ghost-ui/attempt-8/map.md b/dogfood/ghost-ui/attempt-8/map.md deleted file mode 100644 index b096ec90..00000000 --- a/dogfood/ghost-ui/attempt-8/map.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -schema: ghost.map/v1 -id: ghost-ui -repo: block/ghost -subject: - id: ghost-ui - target: block/ghost@packages/ghost-ui -sources: - - id: ghost-ui - role: primary - target: block/ghost@packages/ghost-ui - paths: - - packages/ghost-ui -mapped_at: 2026-05-05 -platform: web -languages: - - { name: typescript, files: 116, share: 0.492 } - - { name: json, files: 113, share: 0.479 } - - { name: javascript, files: 4, share: 0.017 } - - { name: css, files: 2, share: 0.008 } - - { name: markdown, files: 1, share: 0.004 } -build_system: pnpm -package_manifests: - - package.json -composition: - frameworks: - - { name: react, version: "19.1.0" } - - { name: vite, version: "^6.3.0" } - - { name: tailwindcss, version: "^4.2.2" } - - { name: shadcn, version: "4.3.0" } - rendering: react-spa - styling: - - tailwindcss-v4 - - css-custom-properties - navigation: react-router -registry: - path: registry.json - components: 106 -design_system: - paths: - - src/styles - - src/components/ui - - src/components/ai-elements - - src/components/theme - - src/lib - entry_files: - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - - src/components/theme/ThemeProvider.tsx - token_source: inline - status: active -surface_sources: - render_strategy: static-source - include: - - src/components/ui/** - - src/components/ai-elements/** - - src/components/theme/** - - src/styles/** - - src/lib/theme-*.ts - exclude: - - src/mcp/** - - scripts/** - - dist/** - - dist-lib/** - - dist-mcp/** - - test/** - - "**/*.test.ts" - - "**/*.test.tsx" -feature_areas: - - name: ui-primitives - paths: - - src/components/ui - sub_areas: [input, layout, feedback, display, navigation, overlay] - - name: ai-elements - paths: - - src/components/ai-elements - sub_areas: [chat, agent-state, artifacts, terminal, media] - - name: theme-controls - paths: - - src/components/theme - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/lib/theme-utils.ts - sub_areas: [runtime-presets, css-variable-injection] - - name: tokens - paths: - - src/styles - sub_areas: [colors, typography, radius, shadows, motion, spacing] - - name: hooks - paths: - - src/hooks - sub_areas: [scroll-reveal, mobile, text-animation] -orientation_files: - - package.json - - registry.json - - components.json - - src/styles/main.css - - src/styles/font-faces.css - - src/lib/theme-defaults.ts - - src/lib/theme-presets.ts - - src/components/ui/button.tsx - - src/components/ui/card.tsx - - src/components/ai-elements/message.tsx ---- - -## Identity - -`ghost-ui` is the reusable React component and theme package inside the Ghost repo. It publishes a shadcn-compatible registry, a CSS token surface, and an MCP server for exposing the registry to agents. - -## Topology - -The design system is colocated in `packages/ghost-ui`: canonical tokens live in `src/styles/main.css` plus theme helper files in `src/lib`, while component surfaces live under `src/components/ui`, `src/components/ai-elements`, and `src/components/theme`. The registry enumerates 106 distributable items and remains the strongest component-count signal. - -## Conventions - -Styling is Tailwind v4 driven by CSS custom properties: raw constants and semantic tokens cascade into `@theme inline` aliases consumed by components. Runtime presets override the same CSS variables rather than branching component code, so the scan should treat tokens and component usage together. Package-local Ghost scan artifacts have been removed; dogfood scan artifacts live under `dogfood/ghost-ui/attempt-*` and are not source inputs for this package. diff --git a/dogfood/ghost-ui/attempt-8/survey.json b/dogfood/ghost-ui/attempt-8/survey.json deleted file mode 100644 index ec681fe2..00000000 --- a/dogfood/ghost-ui/attempt-8/survey.json +++ /dev/null @@ -1,12398 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - } - ], - "values": [ - { - "id": "3ae65f59197a324e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "breakpoint", - "value": "1440px", - "raw": "--breakpoint-desktop", - "spec": { - "scalar": 1440, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "34dcd671c9b9bb45", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#000000", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 51, - "files_count": 9, - "usage": { - "css_var": 37, - "theme_preset": 8, - "className": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "e60771416438d263", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#00e5ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#00e5ff" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "e6e7de2e90c78223", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#00ff66", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#00ff66" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "7828522e4fdfc764", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#0a0a0a", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a0a0a" - }, - "occurrences": 13, - "files_count": 2, - "usage": { - "theme_preset": 1, - "css_var": 12 - }, - "role_hypothesis": "surface" - }, - { - "id": "ce6a46aec4ed2e2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#0a1e28", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0a1e28" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "c18769a04a7dcd92", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#0e0a14", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#0e0a14" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "222c025c3bcaa755", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#0f3442", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#0f3442" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "e3bd394db6a468bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#112a36", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#112a36" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "24ca3bafa6478aca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#14121c", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#14121c" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "14490fb4c1b03dfd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#141414", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#141414" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "59dd59b1cc50824a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1a1224", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1a1224" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "5461d942b5ff4094", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1a1a1a", - "raw": "--accent-foreground", - "spec": { - "space": "srgb", - "hex": "#1a1a1a" - }, - "occurrences": 305, - "files_count": 60, - "usage": { - "css_var": 161, - "className": 144 - }, - "role_hypothesis": "text" - }, - { - "id": "7822ab23ab72c940", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1a3a4a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#1a3a4a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "f046cc686840f285", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1b6b8a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1b6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "14ff95241ef60815", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1c1410", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#1c1410" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "3b7a8ae7cfa2ae75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1e1528", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#1e1528" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "theme_preset": 7 - }, - "role_hypothesis": "surface" - }, - { - "id": "3d3b78ddf90f8e66", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#1e1a2a", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#1e1a2a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "1f86fdaeb572dacd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#232323", - "raw": "--color-gray-800", - "spec": { - "space": "srgb", - "hex": "#232323" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "54b1c66f5284e604", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#2a1e3a", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a1e3a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "42f31875bcd24358", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#2a1f18", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#2a1f18" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "eb2bbfff7b524158", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#2a2640", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#2a2640" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "b9d7a2d97d7f06bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#2a5060", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#2a5060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "62e8cd51809b6407", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#2e9ab8", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#2e9ab8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "0db82e80484071bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#333333", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 8, - "files_count": 3, - "usage": { - "theme_preset": 2, - "css_var": 5, - "className": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "cdef8c71e5357a99", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a2a50", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a2a50" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "d419056d4701a369", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a2c20", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#3a2c20" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "f1204334d3c4d324", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a3452", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#3a3452" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "5c4b362e7f493f68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a3552", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3a3552" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "cff1a6be32491431", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a6070", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#3a6070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "4e21ec0794ac75cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3a6a7c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#3a6a7c" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "bf8cf9d4afdce901", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3ab4d8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#3ab4d8" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "38cae644d4c56829", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#3d2b1f", - "raw": "--background-inverse", - "spec": { - "space": "srgb", - "hex": "#3d2b1f" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "48bba86e9735684b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#444444", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#444444" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "bb1758b60afebd55", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#4a382a", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#4a382a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "e46e6d0ea35dab48", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#4a3a60", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a3a60" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "d7b02b4702ea9f19", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#4a4468", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#4a4468" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "a288b3c92d17dfee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#555555", - "raw": "--text-muted", - "spec": { - "space": "srgb", - "hex": "#555555" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "7764fc4d9e4c6b62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5a4530", - "raw": "--border-input-hover", - "spec": { - "space": "srgb", - "hex": "#5a4530" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "f8be7bf53ece8174", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5a4b6a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a4b6a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "f0fabc8acfcf4962", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5a8a9c", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#5a8a9c" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "4b5f9613cae1b29d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5b78d8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#5b78d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "7b6471cafc8c37d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5c98f9", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#5c98f9" - }, - "occurrences": 29, - "files_count": 3, - "usage": { - "css_var": 29 - }, - "role_hypothesis": "info" - }, - { - "id": "71995e77fd5a7cfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#5e8ec5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#5e8ec5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "87444056e6931494", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#666666", - "raw": "--color-gray-600", - "spec": { - "space": "srgb", - "hex": "#666666" - }, - "occurrences": 19, - "files_count": 3, - "usage": { - "css_var": 19 - }, - "role_hypothesis": "text" - }, - { - "id": "8eade934e0312ffe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#6a6280", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6a6280" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "c118346bf56cb662", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#6b5940", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#6b5940" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "8d3509c32ba6dfa6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7090c0", - "raw": "--text-info", - "spec": { - "space": "srgb", - "hex": "#7090c0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "info" - }, - { - "id": "bd6333e4849ee644", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#70a870", - "raw": "--text-success", - "spec": { - "space": "srgb", - "hex": "#70a870" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "success" - }, - { - "id": "10a869316efd6130", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7585ff", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7585ff" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "596d8b2e186033cb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7a6b8a", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#7a6b8a" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "130f36c8d6d5ffcd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7aaee5", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7aaee5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "bfb2e77d75b10e38", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7b92e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b92e8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "342d4b1864c49d12", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7b9ea8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#7b9ea8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "ef35cf04e4dac7b0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7bc4b8", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#7bc4b8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "58b24b787144939d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7cacff", - "raw": "--color-blue-100", - "spec": { - "space": "srgb", - "hex": "#7cacff" - }, - "occurrences": 5, - "files_count": 3, - "usage": { - "css_var": 3, - "className": 2 - } - }, - { - "id": "92ad6be2cfa8b986", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#7cb88a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#7cb88a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "7bc8bf6a5ff685fe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#80a8d8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#80a8d8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "info" - }, - { - "id": "f27203fcf2ec7737", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#80c080", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#80c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "success" - }, - { - "id": "169a594cb103f2e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8a82a0", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8a82a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "eba198774ce913c3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8b6cc1", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#8b6cc1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "5f699bba7b02d0d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8b7355", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#8b7355" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "text" - }, - { - "id": "f090a7fccd4f8b3e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8b7ec8", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#8b7ec8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "3f4c342d93ebbc33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8baa72", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8baa72" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "1a1b0efc3ede7639", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8bb8ca", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#8bb8ca" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "83a2f63b7bd831f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#8bd09a", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#8bd09a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "5b2eed3df44078a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#91cb80", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#91cb80" - }, - "occurrences": 45, - "files_count": 3, - "usage": { - "css_var": 45 - }, - "role_hypothesis": "success" - }, - { - "id": "c2db447024dd17d8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#999999", - "raw": "--color-gray-500", - "spec": { - "space": "srgb", - "hex": "#999999" - }, - "occurrences": 193, - "files_count": 56, - "usage": { - "css_var": 28, - "className": 165 - }, - "role_hypothesis": "text" - }, - { - "id": "2277bd0b8bf83570", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#9c5930", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#9c5930" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "ebb1eff6da02bab8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a0c0e8", - "raw": "--background-info", - "spec": { - "space": "srgb", - "hex": "#a0c0e8" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "info" - }, - { - "id": "d130d52563499a15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a0d8a0", - "raw": "--background-success", - "spec": { - "space": "srgb", - "hex": "#a0d8a0" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "theme_preset": 3 - }, - "role_hypothesis": "success" - }, - { - "id": "71896bf66301888d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a3d795", - "raw": "--color-green-100", - "spec": { - "space": "srgb", - "hex": "#a3d795" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "21fb2e12e4ef29f3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a8856b", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#a8856b" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "c067fd3192ee1e0f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a88de0", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a88de0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "7b490718db396989", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a898e0", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#a898e0" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "ff92535c251390ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a8c256", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#a8c256" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "fe38e41c0cf4b4b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#a8c8e8", - "raw": "--chart-2", - "spec": { - "space": "srgb", - "hex": "#a8c8e8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "4d1ef725d743c99c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#aaaaaa", - "raw": "--text-alt", - "spec": { - "space": "srgb", - "hex": "#aaaaaa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "text" - }, - { - "id": "dfddf65cb7c30f64", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#b0d0de", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#b0d0de" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "4c1bed03b63ea589", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#b0d8b0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#b0d8b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "954cdf9eecbafe98", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#b8a8c8", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#b8a8c8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "0d886b386bf20f97", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c07070", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#c07070" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "0f2dd95443df4c1c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c0a060", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#c0a060" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "bb7326ca4460123b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c46b5a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#c46b5a" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "f022f90b0bb99b62", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c4a882", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c4a882" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "50af5683b390d45e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c5a24d", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#c5a24d" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "theme_preset": 8 - }, - "role_hypothesis": "surface" - }, - { - "id": "6b9129386560f03e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c8a8e0", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#c8a8e0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "eb5f316c98edd5fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c8bee0", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#c8bee0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "8bfbcc447d5b83ad", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#c8dee8", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#c8dee8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "d227d2d7f869d8a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ccc0d8", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#ccc0d8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "c49597e91cebebbd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#cccccc", - "raw": "--background-medium", - "spec": { - "space": "srgb", - "hex": "#cccccc" - }, - "occurrences": 39, - "files_count": 6, - "usage": { - "css_var": 35, - "theme_preset": 1, - "className": 3 - }, - "role_hypothesis": "surface" - }, - { - "id": "062f2be0e57c52da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d08080", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#d08080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "39d9567b999ae8a4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d185e0", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#d185e0" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "54a2425a4f3acdf4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d2cae4", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d2cae4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "c676c351bee92908", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d4853a", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#d4853a" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "theme_preset": 6 - }, - "role_hypothesis": "surface" - }, - { - "id": "383de4edc46f1ed4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d4c2aa", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#d4c2aa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "border" - }, - { - "id": "f62a935c21537345", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d76a6a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a6a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "4a064e044512e079", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d76a7a", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#d76a7a" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "5ed5c39a553240fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#d8c080", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#d8c080" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "de14e2971cb2e0da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ddd4e6", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#ddd4e6" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "7b6ac07de8175f2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e07a5f", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e07a5f" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "dfb5f3b3c86fca58", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e08090", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e08090" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "chart" - }, - { - "id": "fcb75062b2abcc4b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e0a0a0", - "raw": "--text-danger", - "spec": { - "space": "srgb", - "hex": "#e0a0a0" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "danger" - }, - { - "id": "6129d758289319dd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e0c880", - "raw": "--text-warning", - "spec": { - "space": "srgb", - "hex": "#e0c880" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "warning" - }, - { - "id": "4ad62911084a7a21", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e0daf0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e0daf0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "524ef93f280fc2e6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e2d4c0", - "raw": "--border-card", - "spec": { - "space": "srgb", - "hex": "#e2d4c0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "border" - }, - { - "id": "5c492c35d2cba1db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e4f0f5", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#e4f0f5" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "a9976469235c94a3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e5e5e5", - "raw": "--border-input", - "spec": { - "space": "srgb", - "hex": "#e5e5e5" - }, - "occurrences": 64, - "files_count": 14, - "usage": { - "css_var": 40, - "className": 24 - }, - "role_hypothesis": "border" - }, - { - "id": "ef46dc0cccbc54bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8a0a0", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#e8a0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "danger" - }, - { - "id": "f7054daf5dbad139", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8b0b0", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#e8b0b0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "a4859ae058a310b1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8d0a0", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#e8d0a0" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "warning" - }, - { - "id": "5b826a273df24e29", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8d0a8", - "raw": "--chart-5", - "spec": { - "space": "srgb", - "hex": "#e8d0a8" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "c540d68e1a3dc746", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8e4f4", - "raw": "--text-default", - "spec": { - "space": "srgb", - "hex": "#e8e4f4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "text" - }, - { - "id": "4b563f5ae8d0f695", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#e8e8e8", - "raw": "--border", - "spec": { - "space": "srgb", - "hex": "#e8e8e8" - }, - "occurrences": 241, - "files_count": 21, - "usage": { - "css_var": 211, - "className": 30 - }, - "role_hypothesis": "border" - }, - { - "id": "0fc2408fcf040ac1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#eaf3f8", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#eaf3f8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "ef58599c545a7e16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ede8f2", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#ede8f2" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "dd1d9a0a334ea17e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f0e4d4", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0e4d4" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "surface" - }, - { - "id": "f255be6a3d98d8e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f0ecf4", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f0ecf4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "90b0d58dac18ce11", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f0edf8", - "raw": "--background-muted", - "spec": { - "space": "srgb", - "hex": "#f0edf8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "2e0130435258ba2c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f0f0f0", - "raw": "--accent", - "spec": { - "space": "srgb", - "hex": "#f0f0f0" - }, - "occurrences": 223, - "files_count": 49, - "usage": { - "css_var": 65, - "theme_preset": 2, - "className": 156 - }, - "role_hypothesis": "surface" - }, - { - "id": "f8a2966438786401", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f4f9fb", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f4f9fb" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "4864aaa72f60df2d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f5ecdf", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5ecdf" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "d83d3c2198094bed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f5f2fa", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f2fa" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "theme_preset": 1 - }, - "role_hypothesis": "surface" - }, - { - "id": "51b690108bfce6db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f5f5f5", - "raw": "--background-alt", - "spec": { - "space": "srgb", - "hex": "#f5f5f5" - }, - "occurrences": 25, - "files_count": 3, - "usage": { - "css_var": 25 - }, - "role_hypothesis": "surface" - }, - { - "id": "1c9be2330d3dbb49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f6b44a", - "raw": "--chart-1", - "spec": { - "space": "srgb", - "hex": "#f6b44a" - }, - "occurrences": 16, - "files_count": 3, - "usage": { - "css_var": 16 - }, - "role_hypothesis": "chart" - }, - { - "id": "c125e7e2908ec80c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f8f6f9", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#f8f6f9" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "8b73ef8a450df4a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#f94b4b", - "raw": "--background-danger", - "spec": { - "space": "srgb", - "hex": "#f94b4b" - }, - "occurrences": 108, - "files_count": 23, - "usage": { - "css_var": 39, - "className": 69 - }, - "role_hypothesis": "danger" - }, - { - "id": "e6c3ab631e0c6c33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#fafafa", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fafafa" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "2d5056e267983f13", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#fbcd44", - "raw": "--background-warning", - "spec": { - "space": "srgb", - "hex": "#fbcd44" - }, - "occurrences": 31, - "files_count": 3, - "usage": { - "css_var": 31 - }, - "role_hypothesis": "warning" - }, - { - "id": "783d9e44517051bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#fbf5ec", - "raw": "--background-default", - "spec": { - "space": "srgb", - "hex": "#fbf5ec" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "theme_preset": 4 - }, - "role_hypothesis": "surface" - }, - { - "id": "334b3813f9330122", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ff00aa", - "raw": "--chart-4", - "spec": { - "space": "srgb", - "hex": "#ff00aa" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "442a5e6259cbc16c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ff3a00", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff3a00" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "bfe27286467f3ff2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ff5722", - "raw": "--background-accent", - "spec": { - "space": "srgb", - "hex": "#ff5722" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "theme_preset": 5 - }, - "role_hypothesis": "surface" - }, - { - "id": "6d1296735d7e440c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ff6b6b", - "raw": "--color-red-100", - "spec": { - "space": "srgb", - "hex": "#ff6b6b" - }, - "occurrences": 9, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 6 - } - }, - { - "id": "a4af2171585e07ed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ffd966", - "raw": "--color-yellow-100", - "spec": { - "space": "srgb", - "hex": "#ffd966" - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "css_var": 3, - "className": 3 - } - }, - { - "id": "a61a6265561751b0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ffe600", - "raw": "--chart-3", - "spec": { - "space": "srgb", - "hex": "#ffe600" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "theme_preset": 2 - }, - "role_hypothesis": "chart" - }, - { - "id": "eae89470b0c35d17", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "#ffffff", - "raw": "--background", - "spec": { - "space": "srgb", - "hex": "#ffffff" - }, - "occurrences": 385, - "files_count": 52, - "usage": { - "css_var": 291, - "theme_preset": 8, - "className": 86 - }, - "role_hypothesis": "surface" - }, - { - "id": "554097a72da4016b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.08)", - "raw": "--color-surface-dark-border", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - }, - "role_hypothesis": "border" - }, - { - "id": "57d06d966967f39f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "rgba(255, 255, 255, 0.5)", - "raw": "--color-surface-dark-muted", - "spec": { - "space": "unknown" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "f6fa79dc2d55385d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.04)", - "raw": "--color-dark-04", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "fd5d35c49174c595", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.1)", - "raw": "--color-dark-10", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "0337d257f5c0c594", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "color", - "value": "rgba(26, 26, 26, 0.4)", - "raw": "--color-dark-40", - "spec": { - "space": "unknown" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "css_var": 4 - } - }, - { - "id": "a0b8f626b730d950", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "1000ms", - "raw": "duration-1000", - "spec": { - "duration_ms": 1000 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "5e5c75ad76d93ffa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "150ms", - "raw": "--duration-fast", - "spec": { - "duration_ms": 150 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6793542a2819e63e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "200ms", - "raw": "--duration-normal", - "spec": { - "duration_ms": 200 - }, - "occurrences": 9, - "files_count": 7, - "usage": { - "css_var": 1, - "className": 8 - } - }, - { - "id": "cf924919b13cde8f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "300ms", - "raw": "duration-300", - "spec": { - "duration_ms": 300 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "className": 3 - } - }, - { - "id": "71593d9624d06050", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "400ms", - "raw": "--duration-slow", - "spec": { - "duration_ms": 400 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5bb818bc981b4c13", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "500ms", - "raw": "duration-500", - "spec": { - "duration_ms": 500 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "1988108680101607", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "accordion-down 0.2s ease-out", - "raw": "--animate-accordion-down", - "spec": { - "easing": "accordion-down 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "c1aa1064ed9f472a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "accordion-up 0.2s ease-out", - "raw": "--animate-accordion-up", - "spec": { - "easing": "accordion-up 0.2s ease-out" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "afa3004e1ca0332f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "caret-blink 1s ease-out infinite", - "raw": "--animate-caret-blink", - "spec": { - "easing": "caret-blink 1s ease-out infinite" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "css_var": 1, - "className": 1 - } - }, - { - "id": "6ca3f9ffeaa73872", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "cubic-bezier(0.33, 1, 0.68, 1)", - "raw": "--ease-spring", - "spec": { - "easing": "cubic-bezier(0.33, 1, 0.68, 1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "b2b3edaf6a3e6a86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "enter-from-left 0.2s ease", - "raw": "--animate-enter-from-left", - "spec": { - "easing": "enter-from-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "ed9ab378aa40938b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "enter-from-right 0.2s ease", - "raw": "--animate-enter-from-right", - "spec": { - "easing": "enter-from-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "31a49d3fb1ca0cd3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "exit-to-left 0.2s ease", - "raw": "--animate-exit-to-left", - "spec": { - "easing": "exit-to-left 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "938b57d67be0311d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "exit-to-right 0.2s ease", - "raw": "--animate-exit-to-right", - "spec": { - "easing": "exit-to-right 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f10428cd8f978fbb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "fade-in 0.2s ease", - "raw": "--animate-fade-in", - "spec": { - "easing": "fade-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "f89a32bad224257a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "fade-out 0.15s ease", - "raw": "--animate-fade-out", - "spec": { - "easing": "fade-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "badc9ee829de3d19", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "in", - "raw": "animate-in", - "spec": { - "easing": "in" - }, - "occurrences": 30, - "files_count": 20, - "usage": { - "className": 30 - } - }, - { - "id": "c7cfa4b8d498ef70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "in-out", - "raw": "ease-in-out", - "spec": { - "easing": "in-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "85d387fe454750a4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "linear", - "raw": "ease-linear", - "spec": { - "easing": "linear" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "className": 4 - } - }, - { - "id": "086cb1e0c2ebb9df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "out", - "raw": "animate-out", - "spec": { - "easing": "out" - }, - "occurrences": 28, - "files_count": 20, - "usage": { - "className": 28 - } - }, - { - "id": "5f8be75a63bacf4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "ping", - "raw": "animate-ping", - "spec": { - "easing": "ping" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "3af6071ab6a9c508", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "pulse", - "raw": "animate-pulse", - "spec": { - "easing": "pulse" - }, - "occurrences": 4, - "files_count": 4, - "usage": { - "className": 4 - } - }, - { - "id": "76fbf4e04258a7ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "scale-in 0.2s ease", - "raw": "--animate-scale-in", - "spec": { - "easing": "scale-in 0.2s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "bafad4c3987084c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "scale-out 0.15s ease", - "raw": "--animate-scale-out", - "spec": { - "easing": "scale-out 0.15s ease" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "207091bde88446fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "spin", - "raw": "animate-spin", - "spec": { - "easing": "spin" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "cac9ff12ce67ff2c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "motion", - "value": "word-reveal 0.4s ease-out", - "raw": "--animate-word-reveal", - "spec": { - "easing": "word-reveal 0.4s ease-out" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "482a5870155d850f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "0px", - "raw": "--radius", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 23, - "files_count": 4, - "usage": { - "theme_preset": 18, - "className": 5 - }, - "role_hypothesis": "shape" - }, - { - "id": "1eefd17a5c78e07d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "10px", - "raw": "--radius-dropdown", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 16, - "files_count": 9, - "usage": { - "css_var": 7, - "className": 9 - }, - "role_hypothesis": "shape" - }, - { - "id": "bbdaaeeaa48a9be6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "14px", - "raw": "--radius-card-sm", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 11, - "files_count": 3, - "usage": { - "css_var": 7, - "theme_preset": 4 - }, - "role_hypothesis": "shape" - }, - { - "id": "fca61a8f957bcb8c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "16px", - "raw": "--radius-card", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 27, - "files_count": 12, - "usage": { - "theme_preset": 2, - "css_var": 8, - "className": 17 - }, - "role_hypothesis": "shape" - }, - { - "id": "84067d8f6a1ad6c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "18px", - "raw": "--radius-md", - "spec": { - "scalar": 18, - "unit": "px" - }, - "occurrences": 49, - "files_count": 30, - "usage": { - "css_var": 3, - "className": 46 - }, - "role_hypothesis": "shape" - }, - { - "id": "2955e3c20ab0693c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "20px", - "raw": "--radius", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 114, - "files_count": 23, - "usage": { - "css_var": 90, - "theme_preset": 4, - "className": 20 - }, - "role_hypothesis": "shape" - }, - { - "id": "ac8965a8715c6d15", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "24px", - "raw": "--radius-card-lg", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 10, - "files_count": 5, - "usage": { - "css_var": 8, - "className": 2 - }, - "role_hypothesis": "shape" - }, - { - "id": "d77d8dfb606dc8ef", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "radius", - "value": "999px", - "raw": "--radius-button", - "spec": { - "scalar": 999, - "unit": "px" - }, - "occurrences": 46, - "files_count": 26, - "usage": { - "css_var": 15, - "className": 31 - }, - "role_hypothesis": "shape" - }, - { - "id": "0577a7c334293a41", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "raw": "--shadow-date-field-focus", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "80d27e365a444fd1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "raw": "--shadow-mini-inset", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "b0cb96794f98873d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "raw": "--shadow-modal", - "occurrences": 14, - "files_count": 4, - "usage": { - "css_var": 8, - "className": 6 - }, - "role_hypothesis": "elevation" - }, - { - "id": "ea5cac230f002e49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "raw": "--shadow-btn", - "occurrences": 58, - "files_count": 4, - "usage": { - "css_var": 40, - "className": 18 - }, - "role_hypothesis": "elevation" - }, - { - "id": "cd815bfdc00f3a28", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "raw": "--shadow-elevated", - "occurrences": 12, - "files_count": 2, - "usage": { - "css_var": 8, - "className": 4 - }, - "role_hypothesis": "elevation" - }, - { - "id": "5b5d2eb27f968dd8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "raw": "--shadow-popover", - "occurrences": 21, - "files_count": 8, - "usage": { - "css_var": 8, - "className": 13 - }, - "role_hypothesis": "elevation" - }, - { - "id": "5d9a59fcfbebf1e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "shadow", - "value": "none", - "raw": "shadow-none", - "occurrences": 9, - "files_count": 7, - "usage": { - "className": 9 - } - }, - { - "id": "b2133c5622d4420e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "0px", - "raw": "pt-0", - "spec": { - "scalar": 0, - "unit": "px" - }, - "occurrences": 73, - "files_count": 32, - "usage": { - "className": 73 - } - }, - { - "id": "2ea0a927f6442d84", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "100px", - "raw": "--section-padding-vertical", - "spec": { - "scalar": 100, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "1d27d48dd8b47627", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "10px", - "raw": "gap-2.5", - "spec": { - "scalar": 10, - "unit": "px" - }, - "occurrences": 25, - "files_count": 12, - "usage": { - "className": 25 - } - }, - { - "id": "e926e811616405f6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "12px", - "raw": "py-3", - "spec": { - "scalar": 12, - "unit": "px" - }, - "occurrences": 107, - "files_count": 42, - "usage": { - "className": 107 - } - }, - { - "id": "033f44f6f93c5961", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "14px", - "raw": "size-3.5", - "spec": { - "scalar": 14, - "unit": "px" - }, - "occurrences": 16, - "files_count": 12, - "usage": { - "className": 16 - } - }, - { - "id": "d4888d2d5e07653d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "16px", - "raw": "gap-4", - "spec": { - "scalar": 16, - "unit": "px" - }, - "occurrences": 224, - "files_count": 66, - "usage": { - "className": 224 - } - }, - { - "id": "8b04e975dbab16d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "1px", - "raw": "h-px", - "spec": { - "scalar": 1, - "unit": "px" - }, - "occurrences": 15, - "files_count": 12, - "usage": { - "className": 15 - } - }, - { - "id": "b400fb0e7d16cb7a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "20px", - "raw": "--page-container-side-gutter", - "spec": { - "scalar": 20, - "unit": "px" - }, - "occurrences": 10, - "files_count": 4, - "usage": { - "css_var": 1, - "className": 9 - } - }, - { - "id": "63bce22151079a68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "24px", - "raw": "p-6", - "spec": { - "scalar": 24, - "unit": "px" - }, - "occurrences": 19, - "files_count": 11, - "usage": { - "className": 19 - } - }, - { - "id": "c1a80e109ed727fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "256px", - "raw": "w-64", - "spec": { - "scalar": 256, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "d1cc1e9f9cbc53c8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "288px", - "raw": "w-72", - "spec": { - "scalar": 288, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "558fc840e8cc0592", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "28px", - "raw": "w-7", - "spec": { - "scalar": 28, - "unit": "px" - }, - "occurrences": 15, - "files_count": 9, - "usage": { - "className": 15 - } - }, - { - "id": "0974dd7f66d7dd6c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "2px", - "raw": "py-0.5", - "spec": { - "scalar": 2, - "unit": "px" - }, - "occurrences": 10, - "files_count": 9, - "usage": { - "className": 10 - } - }, - { - "id": "f79949288dc023ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "320px", - "raw": "w-80", - "spec": { - "scalar": 320, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "f51d19fd731c5d9d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "32px", - "raw": "--spacing-button-sm", - "spec": { - "scalar": 32, - "unit": "px" - }, - "occurrences": 56, - "files_count": 23, - "usage": { - "css_var": 1, - "className": 55 - } - }, - { - "id": "dec5af2ecceac92f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "36px", - "raw": "size-9", - "spec": { - "scalar": 36, - "unit": "px" - }, - "occurrences": 17, - "files_count": 12, - "usage": { - "className": 17 - } - }, - { - "id": "38f90ad71b40cdaf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "40px", - "raw": "h-10", - "spec": { - "scalar": 40, - "unit": "px" - }, - "occurrences": 7, - "files_count": 5, - "usage": { - "className": 7 - } - }, - { - "id": "364c1c19c9f5725c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "44px", - "raw": "--spacing-button", - "spec": { - "scalar": 44, - "unit": "px" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "css_var": 3 - } - }, - { - "id": "e8cf5f8e43cdd189", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "48px", - "raw": "left-12", - "spec": { - "scalar": 48, - "unit": "px" - }, - "occurrences": 8, - "files_count": 4, - "usage": { - "className": 8 - } - }, - { - "id": "7aee877a4675df23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "4px", - "raw": "gap-1", - "spec": { - "scalar": 4, - "unit": "px" - }, - "occurrences": 102, - "files_count": 38, - "usage": { - "className": 102 - } - }, - { - "id": "c6de4876208ba5a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "52px", - "raw": "--spacing-input", - "spec": { - "scalar": 52, - "unit": "px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "512ddace03dc20a2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "64px", - "raw": "size-16", - "spec": { - "scalar": 64, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "className": 1 - } - }, - { - "id": "e91b6eaf16f7aff8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "6px", - "raw": "gap-1.5", - "spec": { - "scalar": 6, - "unit": "px" - }, - "occurrences": 48, - "files_count": 22, - "usage": { - "className": 48 - } - }, - { - "id": "91442c64fd1c58c1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "75px", - "raw": "--section-heading-margin-bottom", - "spec": { - "scalar": 75, - "unit": "px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "d57444626414b397", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "8px", - "raw": "gap-2", - "spec": { - "scalar": 8, - "unit": "px" - }, - "occurrences": 206, - "files_count": 55, - "usage": { - "className": 206 - } - }, - { - "id": "8ff93f92f1b45d8f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "spacing", - "value": "96px", - "raw": "mb-24", - "spec": { - "scalar": 96, - "unit": "px" - }, - "occurrences": 3, - "files_count": 2, - "usage": { - "className": 3 - } - }, - { - "id": "542f0b1dc7bc3729", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "-0.01em", - "raw": "--body-reading-letter-spacing", - "spec": { - "size": { - "scalar": -0.01, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "f83e2e995532bedc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "-0.02em", - "raw": "--heading-sub-letter-spacing", - "spec": { - "size": { - "scalar": -0.02, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "fc299d40ae2d3466", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "-0.035em", - "raw": "--heading-section-letter-spacing", - "spec": { - "size": { - "scalar": -0.035, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "0ef7a5590c2bf921", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "-0.05em", - "raw": "--display-letter-spacing", - "spec": { - "size": { - "scalar": -0.05, - "unit": "em" - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "2713b3de3e5aef70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "\"Geist Mono\", monospace", - "raw": "--font-mono", - "spec": { - "family": "\"Geist Mono\", monospace" - }, - "occurrences": 29, - "files_count": 15, - "usage": { - "css_var": 1, - "className": 28 - }, - "role_hypothesis": "font-family" - }, - { - "id": "724f25cc5d196c03", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "0.12em", - "raw": "--label-letter-spacing", - "spec": { - "size": { - "scalar": 0.12, - "unit": "em" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "e99e79d4c8ee798a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "0.85", - "raw": "--display-line-height", - "spec": { - "family": "0.85" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "dd8d9fc7e54f4686", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "0.88", - "raw": "--heading-display-line-height", - "spec": { - "family": "0.88" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "46d7e9a7f62700be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "0.95", - "raw": "--heading-section-line-height", - "spec": { - "family": "0.95" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5abadad5aba5176a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "1", - "raw": "--heading-sub-line-height", - "spec": { - "weight": 1 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5dc01bf86c7a9427", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "1.1", - "raw": "--heading-card-line-height", - "spec": { - "family": "1.1" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5597432f1efb9b2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "1.2", - "raw": "--label-line-height", - "spec": { - "family": "1.2" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "2b91604cbaa91cc4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "1.3", - "raw": "--pullquote-line-height", - "spec": { - "family": "1.3" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "98c2e0c23d308763", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "1.65", - "raw": "--body-reading-line-height", - "spec": { - "family": "1.65" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "c4d63033acd76ba8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "11px", - "raw": "--label-font-size", - "spec": { - "size": { - "scalar": 11, - "unit": "px" - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "0275532d3274e621", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "12px", - "raw": "text-xs", - "spec": { - "size": { - "scalar": 12, - "unit": "px" - } - }, - "occurrences": 74, - "files_count": 30, - "usage": { - "className": 74 - }, - "role_hypothesis": "font-size" - }, - { - "id": "82d2b7542e5d9ccb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "14px", - "raw": "text-sm", - "spec": { - "size": { - "scalar": 14, - "unit": "px" - } - }, - "occurrences": 121, - "files_count": 52, - "usage": { - "className": 121 - }, - "role_hypothesis": "font-size" - }, - { - "id": "699fd00892a76c59", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "16px", - "raw": "text-base", - "spec": { - "size": { - "scalar": 16, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "93eb7f7e322c26e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "18px", - "raw": "text-lg", - "spec": { - "size": { - "scalar": 18, - "unit": "px" - } - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "className": 2 - }, - "role_hypothesis": "font-size" - }, - { - "id": "34fc053d38ba9672", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "300", - "raw": "--pullquote-weight", - "spec": { - "weight": 300 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "8c2e9d25979cc454", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "400", - "raw": "font-normal", - "spec": { - "weight": 400 - }, - "occurrences": 5, - "files_count": 4, - "usage": { - "className": 5 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "ecb4387ffdaab7c3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "500", - "raw": "font-medium", - "spec": { - "weight": 500 - }, - "occurrences": 38, - "files_count": 23, - "usage": { - "className": 38 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "f4691abb8fe721b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "600", - "raw": "--heading-card-font-weight", - "spec": { - "weight": 600 - }, - "occurrences": 9, - "files_count": 8, - "usage": { - "css_var": 2, - "className": 7 - }, - "role_hypothesis": "font-weight" - }, - { - "id": "aa54992dc9b44eb5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "700", - "raw": "--heading-section-font-weight", - "spec": { - "weight": 700 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "css_var": 2 - } - }, - { - "id": "6061e2d2b963d810", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "900", - "raw": "--heading-display-font-weight", - "spec": { - "weight": 900 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "11a5b8b53d45fbe1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(1.5rem, 3vw, 2.5rem)", - "raw": "--pullquote-size", - "spec": { - "family": "clamp(1.5rem, 3vw, 2.5rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "67ad953eda2188a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(1rem, 1.3vw, 1.25rem)", - "raw": "--body-reading-size", - "spec": { - "family": "clamp(1rem, 1.3vw, 1.25rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "6916500931faca30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(20px, 2vw, 28px)", - "raw": "--heading-card-font-size", - "spec": { - "family": "clamp(20px, 2vw, 28px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "90be687754372686", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(28px, 3vw, 40px)", - "raw": "--heading-sub-font-size", - "spec": { - "family": "clamp(28px, 3vw, 40px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "947e43f80e63eeb5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(3rem, 12vw, 12rem)", - "raw": "--display-size", - "spec": { - "family": "clamp(3rem, 12vw, 12rem)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "856102dcef53e588", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(44px, 5vw, 64px)", - "raw": "--heading-section-font-size", - "spec": { - "family": "clamp(44px, 5vw, 64px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "ce7bb56dcec699d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "clamp(64px, 8vw, 96px)", - "raw": "--heading-display-font-size", - "spec": { - "family": "clamp(64px, 8vw, 96px)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "54f7648953b56a4d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "serif", - "raw": "--font-serif", - "spec": { - "family": "serif" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "css_var": 1 - } - }, - { - "id": "5939c890fe2c055f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "kind": "typography", - "value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "raw": "--font-display", - "spec": { - "family": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif" - }, - "occurrences": 10, - "files_count": 8, - "usage": { - "css_var": 3, - "className": 7 - }, - "role_hypothesis": "font-family" - } - ], - "tokens": [ - { - "id": "a602ad4b53c714cb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "8476ce66775474e1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "488adcc491a3c396", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-accordion-down", - "alias_chain": [], - "resolved_value": "accordion-down 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "0e8c2c8201fec1a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-accordion-up", - "alias_chain": [], - "resolved_value": "accordion-up 0.2s ease-out", - "occurrences": 1 - }, - { - "id": "a7db47ca59a58651", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-caret-blink", - "alias_chain": [], - "resolved_value": "caret-blink 1s ease-out infinite", - "occurrences": 1 - }, - { - "id": "fc0e2da0c8df7e8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-enter-from-left", - "alias_chain": [], - "resolved_value": "enter-from-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "20435f8cf0566e0b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-enter-from-right", - "alias_chain": [], - "resolved_value": "enter-from-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "496a0e9dba16b0d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-exit-to-left", - "alias_chain": [], - "resolved_value": "exit-to-left 0.2s ease", - "occurrences": 1 - }, - { - "id": "d823eedc08308d1d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-exit-to-right", - "alias_chain": [], - "resolved_value": "exit-to-right 0.2s ease", - "occurrences": 1 - }, - { - "id": "e3c42d3efbd2bc47", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-fade-in", - "alias_chain": [], - "resolved_value": "fade-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "1fa4c30b39ac7393", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-fade-out", - "alias_chain": [], - "resolved_value": "fade-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "33c9730b1d1c40ef", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-scale-in", - "alias_chain": [], - "resolved_value": "scale-in 0.2s ease", - "occurrences": 1 - }, - { - "id": "7262227c67a807d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-scale-out", - "alias_chain": [], - "resolved_value": "scale-out 0.15s ease", - "occurrences": 1 - }, - { - "id": "e7a03a61ca212b0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--animate-word-reveal", - "alias_chain": [], - "resolved_value": "word-reveal 0.4s ease-out", - "occurrences": 1 - }, - { - "id": "5f4cc72f1ced5a59", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background", - "alias_chain": [ - "--background-default", - "--color-white", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 145 - }, - { - "id": "b171db1e8e403e1a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-accent", - "alias_chain": ["--color-gray-900", "--background-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 19 - }, - { - "id": "a51dbbf9d7f230cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-alt", - "alias_chain": ["--color-gray-50", "--background-alt"], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f5ecdf", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#eaf3f8", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#f0ecf4", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f5f2fa", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 15 - }, - { - "id": "af65355c7d34a9a1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-danger", - "alias_chain": ["--color-red-200", "--background-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 9 - }, - { - "id": "ae453dc2375079d3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-default", - "alias_chain": ["--color-white", "--background-default"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#0a0a0a", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 23 - }, - { - "id": "4ab6bb5624d988e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-info", - "alias_chain": ["--color-blue-200", "--background-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "77bf050d63f586fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-inverse", - "alias_chain": ["--color-black", "--background-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "b6ec0032db1f8223", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-medium", - "alias_chain": ["--color-gray-400", "--background-medium"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#4a382a", - "ocean:light": "#8bb8ca", - "ocean:dark": "#2a5060", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#3a2a50", - "neon-brutalist:light": "#cccccc", - "neon-brutalist:dark": "#333333", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#3a3452" - }, - "occurrences": 15 - }, - { - "id": "dfde60adb0072f89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-muted", - "alias_chain": ["--color-gray-100", "--background-muted"], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323", - "warm-sand:light": "#f0e4d4", - "warm-sand:dark": "#2a1f18", - "ocean:light": "#e4f0f5", - "ocean:dark": "#112a36", - "midnight-luxe:light": "#ede8f2", - "midnight-luxe:dark": "#1a1224", - "neon-brutalist:light": "#f0f0f0", - "neon-brutalist:dark": "#141414", - "soft-pastel:light": "#f0edf8", - "soft-pastel:dark": "#1e1a2a" - }, - "occurrences": 23 - }, - { - "id": "16a6b554edbde0f7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-success", - "alias_chain": ["--color-green-200", "--background-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "385291a97d71b92d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--background-warning", - "alias_chain": ["--color-yellow-200", "--background-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 9 - }, - { - "id": "374e1b5d530d3675", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--body-reading-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "93c98e816a40b077", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--body-reading-line-height", - "alias_chain": [], - "resolved_value": "1.65", - "occurrences": 1 - }, - { - "id": "8c3a39996ffff63e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--body-reading-size", - "alias_chain": [], - "resolved_value": "clamp(1rem, 1.3vw, 1.25rem)", - "occurrences": 1 - }, - { - "id": "b52d985457ead3de", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 147 - }, - { - "id": "aeef474bf72562a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-accent", - "alias_chain": ["--color-gray-900", "--border-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "d7ac5aeaa42700e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-card", - "alias_chain": ["--color-gray-200", "--border-card"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#444444", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 15 - }, - { - "id": "6e910a5b5d6e0ac0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-danger", - "alias_chain": ["--color-red-200", "--border-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "soft-pastel:light": "#e8a0a0", - "soft-pastel:dark": "#d08080" - }, - "occurrences": 7 - }, - { - "id": "57fc3da82c9ee6c5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-default", - "alias_chain": ["--color-gray-200", "--border-default"], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#e2d4c0", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#c8dee8", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ddd4e6", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#e0daf0", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 21 - }, - { - "id": "487bab166c553df6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-info", - "alias_chain": ["--color-blue-200", "--border-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "soft-pastel:light": "#a0c0e8", - "soft-pastel:dark": "#80a8d8" - }, - "occurrences": 7 - }, - { - "id": "6be321a7ffd80ac1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-input", - "alias_chain": ["--color-gray-300", "--border-input"], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333", - "warm-sand:light": "#d4c2aa", - "warm-sand:dark": "#3a2c20", - "ocean:light": "#b0d0de", - "ocean:dark": "#1a3a4a", - "midnight-luxe:light": "#ccc0d8", - "midnight-luxe:dark": "#2a1e3a", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#d2cae4", - "soft-pastel:dark": "#2a2640" - }, - "occurrences": 32 - }, - { - "id": "b6dc2d0531ad352f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-input-hover", - "alias_chain": ["--color-gray-400", "--border-input-hover"], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666", - "warm-sand:light": "#c4a882", - "warm-sand:dark": "#5a4530", - "ocean:light": "#8bb8ca", - "ocean:dark": "#3a6070", - "midnight-luxe:light": "#b8a8c8", - "midnight-luxe:dark": "#4a3a60", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8bee0", - "soft-pastel:dark": "#4a4468" - }, - "occurrences": 15 - }, - { - "id": "a84a9bd0406f7b3a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-inverse", - "alias_chain": ["--color-black", "--border-inverse"], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#fbf5ec", - "ocean:light": "#0f3442", - "ocean:dark": "#f4f9fb", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#f8f6f9", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#fafafa" - }, - "occurrences": 15 - }, - { - "id": "3b4bc6c2bd95815e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-strong", - "alias_chain": ["--color-gray-900", "--border-strong"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#d4853a", - "ocean:light": "#0f3442", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 17 - }, - { - "id": "6b6a19fdcb2fec4c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-success", - "alias_chain": ["--color-green-200", "--border-success"], - "resolved_value": "#91cb80", - "by_theme": { - "soft-pastel:light": "#a0d8a0", - "soft-pastel:dark": "#80c080" - }, - "occurrences": 7 - }, - { - "id": "03865aa96636e69a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--border-warning", - "alias_chain": ["--color-yellow-200", "--border-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "soft-pastel:light": "#e8d0a0", - "soft-pastel:dark": "#d8c080" - }, - "occurrences": 7 - }, - { - "id": "0529b0a60e53de70", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--breakpoint-desktop", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "e91835853bc91a6d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--card", - "alias_chain": [ - "--background-default", - "--color-white", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 6 - }, - { - "id": "5b06147dd15984bd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--card-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "ff2e9c02cd8d6156", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--chart-1", - "alias_chain": [], - "resolved_value": "#f6b44a", - "by_theme": { - "warm-sand:light": "#d4853a", - "warm-sand:dark": "#d4853a", - "ocean:light": "#2e9ab8", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#c5a24d", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#c8a8e0", - "soft-pastel:dark": "#c8a8e0" - }, - "occurrences": 15 - }, - { - "id": "0080d9c0bd416811", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--chart-2", - "alias_chain": [], - "resolved_value": "#7585ff", - "by_theme": { - "warm-sand:light": "#7b9ea8", - "warm-sand:dark": "#7b9ea8", - "ocean:light": "#5b78d8", - "ocean:dark": "#7b92e8", - "midnight-luxe:light": "#8b6cc1", - "midnight-luxe:dark": "#a88de0", - "neon-brutalist:light": "#00e5ff", - "neon-brutalist:dark": "#00e5ff", - "soft-pastel:light": "#a8c8e8", - "soft-pastel:dark": "#a8c8e8" - }, - "occurrences": 15 - }, - { - "id": "a1a2c64a618442c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--chart-3", - "alias_chain": [], - "resolved_value": "#d76a6a", - "by_theme": { - "warm-sand:light": "#c46b5a", - "warm-sand:dark": "#c46b5a", - "ocean:light": "#e07a5f", - "ocean:dark": "#e07a5f", - "midnight-luxe:light": "#d76a7a", - "midnight-luxe:dark": "#e08090", - "neon-brutalist:light": "#ffe600", - "neon-brutalist:dark": "#ffe600", - "soft-pastel:light": "#e8b0b0", - "soft-pastel:dark": "#e8b0b0" - }, - "occurrences": 15 - }, - { - "id": "70a0e1d92653010e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--chart-4", - "alias_chain": [], - "resolved_value": "#d185e0", - "by_theme": { - "warm-sand:light": "#a8856b", - "warm-sand:dark": "#a8856b", - "ocean:light": "#7bc4b8", - "ocean:dark": "#7bc4b8", - "midnight-luxe:light": "#5e8ec5", - "midnight-luxe:dark": "#7aaee5", - "neon-brutalist:light": "#ff00aa", - "neon-brutalist:dark": "#ff00aa", - "soft-pastel:light": "#b0d8b0", - "soft-pastel:dark": "#b0d8b0" - }, - "occurrences": 15 - }, - { - "id": "a0735b54c9adaea6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--chart-5", - "alias_chain": [], - "resolved_value": "#91cb80", - "by_theme": { - "warm-sand:light": "#8baa72", - "warm-sand:dark": "#8baa72", - "ocean:light": "#a8c256", - "ocean:dark": "#a8c256", - "midnight-luxe:light": "#7cb88a", - "midnight-luxe:dark": "#8bd09a", - "neon-brutalist:light": "#00ff66", - "neon-brutalist:dark": "#00ff66", - "soft-pastel:light": "#e8d0a8", - "soft-pastel:dark": "#e8d0a8" - }, - "occurrences": 15 - }, - { - "id": "1a1d1d90a6175280", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-accent", - "alias_chain": [ - "--accent", - "--background-muted", - "--color-gray-100", - "--color-accent", - "--accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "8707cc357c143f89", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-accent-foreground", - "alias_chain": [ - "--accent-foreground", - "--text-default", - "--color-gray-900", - "--color-accent-foreground", - "--accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "3d3b25f908fe5bce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background", - "alias_chain": [ - "--background", - "--background-default", - "--color-white", - "--color-background", - "--background", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 16 - }, - { - "id": "8e666a3c3609be67", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-accent", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--color-background-accent", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "0707d52cb40d9ef9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-alt", - "alias_chain": [ - "--background-alt", - "--color-gray-50", - "--color-background-alt", - "--background-alt" - ], - "resolved_value": "#f5f5f5", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 1 - }, - { - "id": "544b3650b3666108", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-danger", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--color-background-danger", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "ed0e19d84a464e14", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-default", - "alias_chain": [ - "--background-default", - "--color-white", - "--color-background-default", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "eb1b2458245fab2b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-info", - "alias_chain": [ - "--background-info", - "--color-blue-200", - "--color-background-info", - "--background-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "e4eb44f422376b63", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-inverse", - "alias_chain": [ - "--background-inverse", - "--color-black", - "--color-background-inverse", - "--background-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "fd0eed4d70e273d6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-medium", - "alias_chain": [ - "--background-medium", - "--color-gray-400", - "--color-background-medium", - "--background-medium" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "a0a0ddf916be064f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--color-background-muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 3 - }, - { - "id": "159686760f356349", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-success", - "alias_chain": [ - "--background-success", - "--color-green-200", - "--color-background-success", - "--background-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "717be0dc03688059", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-background-warning", - "alias_chain": [ - "--background-warning", - "--color-yellow-200", - "--color-background-warning", - "--background-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "79c5779bc3ea3dc2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-black", - "alias_chain": [], - "resolved_value": "#000000", - "occurrences": 5 - }, - { - "id": "ff639f3c37a31a0d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-100", - "alias_chain": [], - "resolved_value": "#7cacff", - "occurrences": 3 - }, - { - "id": "aa99168ace057655", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-200", - "alias_chain": [], - "resolved_value": "#5c98f9", - "occurrences": 5 - }, - { - "id": "011e5209dec2fe83", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "37c4f6fb05859176", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "16fad7e5525f6b0e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6c28f71402e399fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "text-blue-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "695fc1b5d68e0f92", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-blue-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 2, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-blue-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "b0e7cf1ea0f401ae", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border", - "alias_chain": [ - "--border", - "--border-default", - "--color-gray-200", - "--color-border", - "--border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 15 - }, - { - "id": "c1d2473d4e9a1059", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-accent", - "alias_chain": [ - "--border-accent", - "--color-gray-900", - "--color-border-accent", - "--border-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "ce02d465d21b915e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-card", - "alias_chain": [ - "--border-card", - "--color-gray-200", - "--color-border-card", - "--border-card" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "73ff5308c94aa279", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-danger", - "alias_chain": [ - "--border-danger", - "--color-red-200", - "--color-border-danger", - "--border-danger" - ], - "resolved_value": "#f94b4b", - "occurrences": 1 - }, - { - "id": "4f324e94a553142a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-default", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--color-border-default", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "513c7c940727fd44", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-info", - "alias_chain": [ - "--border-info", - "--color-blue-200", - "--color-border-info", - "--border-info" - ], - "resolved_value": "#5c98f9", - "occurrences": 1 - }, - { - "id": "ae7f5413e6de61b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--color-border-input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 2 - }, - { - "id": "c9574364b464d4a4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-input-hover", - "alias_chain": [ - "--border-input-hover", - "--color-gray-400", - "--color-border-input-hover", - "--border-input-hover" - ], - "resolved_value": "#cccccc", - "by_theme": { - "dark": "#666666" - }, - "occurrences": 1 - }, - { - "id": "29e16eab47e79db2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-inverse", - "alias_chain": [ - "--border-inverse", - "--color-black", - "--color-border-inverse", - "--border-inverse" - ], - "resolved_value": "#000000", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "8c29f75bf2e121f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-strong", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--color-border-strong", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "1cb64cbc78039aa9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-success", - "alias_chain": [ - "--border-success", - "--color-green-200", - "--color-border-success", - "--border-success" - ], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "f55bbe4e8cf9c66a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-border-warning", - "alias_chain": [ - "--border-warning", - "--color-yellow-200", - "--color-border-warning", - "--border-warning" - ], - "resolved_value": "#fbcd44", - "occurrences": 1 - }, - { - "id": "321a1850a48bfdf0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-card", - "alias_chain": [ - "--card", - "--background-default", - "--color-white", - "--color-card", - "--card", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "40ee8f2f8531b220", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-card-foreground", - "alias_chain": [ - "--card-foreground", - "--text-default", - "--color-gray-900", - "--color-card-foreground", - "--card-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "cd7e4ae15f9d93db", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-chart-1", - "alias_chain": ["--chart-1", "--color-chart-1"], - "resolved_value": "#f6b44a", - "occurrences": 1 - }, - { - "id": "47bac1ea5a08e5a8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-chart-2", - "alias_chain": ["--chart-2", "--color-chart-2"], - "resolved_value": "#7585ff", - "occurrences": 1 - }, - { - "id": "76f5d6ecc0afce86", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-chart-3", - "alias_chain": ["--chart-3", "--color-chart-3"], - "resolved_value": "#d76a6a", - "occurrences": 1 - }, - { - "id": "6b68905a758299f0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-chart-4", - "alias_chain": ["--chart-4", "--color-chart-4"], - "resolved_value": "#d185e0", - "occurrences": 1 - }, - { - "id": "210be942d19b02ea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-chart-5", - "alias_chain": ["--chart-5", "--color-chart-5"], - "resolved_value": "#91cb80", - "occurrences": 1 - }, - { - "id": "f692328674dde550", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-dark-04", - "alias_chain": ["--dark-04", "--color-dark-04"], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 1 - }, - { - "id": "4b18ed4f284db877", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-dark-10", - "alias_chain": ["--dark-10", "--color-dark-10"], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 1 - }, - { - "id": "519db2c808ea9b7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-dark-40", - "alias_chain": ["--dark-40", "--color-dark-40"], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 1 - }, - { - "id": "d4bb1ffa4857e14a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-destructive", - "alias_chain": [ - "--destructive", - "--background-danger", - "--color-red-200", - "--color-destructive", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 2 - }, - { - "id": "7fc5cd6fa6e3b1ff", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-destructive-foreground", - "alias_chain": [ - "--destructive-foreground", - "--color-destructive-foreground" - ], - "resolved_value": "#ffffff", - "occurrences": 1 - }, - { - "id": "4a0cf14b0a1054da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-foreground", - "alias_chain": [ - "--foreground", - "--text-default", - "--color-gray-900", - "--color-foreground", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "2c4fbfbecb84ff17", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-100", - "alias_chain": [], - "resolved_value": "#f0f0f0", - "occurrences": 2 - }, - { - "id": "60d8abc5ec543644", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-200", - "alias_chain": [], - "resolved_value": "#e8e8e8", - "occurrences": 3 - }, - { - "id": "cf8c99b6d54ada8e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-300", - "alias_chain": [], - "resolved_value": "#e5e5e5", - "occurrences": 2 - }, - { - "id": "aaae57896c3936f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-400", - "alias_chain": [], - "resolved_value": "#cccccc", - "occurrences": 3 - }, - { - "id": "c30f4802e3166104", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-50", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 6 - }, - { - "id": "f466ab995592453e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-500", - "alias_chain": [], - "resolved_value": "#999999", - "occurrences": 4 - }, - { - "id": "46ac54974c7a1190", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-600", - "alias_chain": [], - "resolved_value": "#666666", - "occurrences": 3 - }, - { - "id": "f2aba24b2bed5792", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-700", - "alias_chain": [], - "resolved_value": "#333333", - "occurrences": 5 - }, - { - "id": "9d88c2c9cf6cd6d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-800", - "alias_chain": [], - "resolved_value": "#232323", - "occurrences": 3 - }, - { - "id": "2553c5615e05b640", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-gray-900", - "alias_chain": [], - "resolved_value": "#1a1a1a", - "occurrences": 6 - }, - { - "id": "aa344c6f508e01c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-100", - "alias_chain": [], - "resolved_value": "#a3d795", - "occurrences": 3 - }, - { - "id": "1b335665395ffc6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-200", - "alias_chain": [], - "resolved_value": "#91cb80", - "occurrences": 5 - }, - { - "id": "974acb3c6501fd22", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "17e45a997194ff11", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "bbd985968e895e5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "74a57ad7c2aede5f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-green-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6df5fd0b2fd89595", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-green-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-green-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "4c10d2fdfd88ae8a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-input", - "alias_chain": [ - "--input", - "--border-input", - "--color-gray-300", - "--color-input", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "9609058e8c9eb77d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-muted", - "alias_chain": [ - "--muted", - "--background-muted", - "--color-gray-100", - "--color-muted", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "98705fb67136a255", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-muted-foreground", - "alias_chain": [ - "--muted-foreground", - "--text-muted", - "--color-gray-500", - "--color-muted-foreground", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "c28e0e856c7827c2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-orange-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "7220dd7113fee5f1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-orange-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "20bf9453f549877a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-orange-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "cbe9f9e4c8cf2822", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-orange-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "text-orange-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "6dda1ef2b224b847", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-orange-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-orange-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "8f2c53fe07910678", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-popover", - "alias_chain": [ - "--popover", - "--background-default", - "--color-white", - "--color-popover", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 2 - }, - { - "id": "fffd8618c16748d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-popover-foreground", - "alias_chain": [ - "--popover-foreground", - "--text-default", - "--color-gray-900", - "--color-popover-foreground", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "e1086ca46932ed33", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-primary", - "alias_chain": [ - "--primary", - "--background-accent", - "--color-gray-900", - "--color-primary", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "2f734aea8eee7f39", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-primary-foreground", - "alias_chain": [ - "--primary-foreground", - "--text-inverse", - "--color-white", - "--color-primary-foreground", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "410fa7e6131cf1ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-100", - "alias_chain": [], - "resolved_value": "#ff6b6b", - "occurrences": 3 - }, - { - "id": "7ebf6e98055ab9e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-200", - "alias_chain": [], - "resolved_value": "#f94b4b", - "occurrences": 5 - }, - { - "id": "c98b711fb7b0fad4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 13, - "resolution": { - "status": "unresolved-local", - "symbol": "border-red-400/30, text-red-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "f43764fcd76716c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-50", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-50", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "72ff0b2d3c5fe935", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-500", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-500", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "cc515a2e9ff6e885", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a982f4de980af74b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "text-red-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "d9cd90196122bad7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-red-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 7, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-red-900/20, bg-red-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "226c0e7bdff3b31e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-ring", - "alias_chain": [ - "--ring", - "--border-strong", - "--color-gray-900", - "--color-ring", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "22df632dbdfe79bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-secondary", - "alias_chain": [ - "--secondary", - "--background-muted", - "--color-gray-100", - "--color-secondary", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 4 - }, - { - "id": "0d4c77c85508c6c9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-secondary-foreground", - "alias_chain": [ - "--secondary-foreground", - "--text-default", - "--color-gray-900", - "--color-secondary-foreground", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "04eb0a8dde2b9716", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar", - "alias_chain": [ - "--sidebar", - "--background-default", - "--color-white", - "--color-sidebar", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "d54ab2153c462e01", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-accent", - "alias_chain": [ - "--sidebar-accent", - "--background-muted", - "--color-gray-100", - "--color-sidebar-accent", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 2 - }, - { - "id": "76562cf96dd22564", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-accent-foreground", - "alias_chain": [ - "--sidebar-accent-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-accent-foreground", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "3bcce5a65b1f113f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-border", - "alias_chain": [ - "--sidebar-border", - "--border-default", - "--color-gray-200", - "--color-sidebar-border", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "beee0e3dca98d805", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-foreground", - "alias_chain": [ - "--sidebar-foreground", - "--text-default", - "--color-gray-900", - "--color-sidebar-foreground", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "24818713960616ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-primary", - "alias_chain": [ - "--sidebar-primary", - "--background-accent", - "--color-gray-900", - "--color-sidebar-primary", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 2 - }, - { - "id": "e248c44e94c87323", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-primary-foreground", - "alias_chain": [ - "--sidebar-primary-foreground", - "--text-inverse", - "--color-white", - "--color-sidebar-primary-foreground", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "43124c9450e67995", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-sidebar-ring", - "alias_chain": [ - "--sidebar-ring", - "--border-default", - "--color-gray-200", - "--color-sidebar-ring", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 1 - }, - { - "id": "b6db88ed61a4e41e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-surface-dark", - "alias_chain": ["--surface-dark", "--color-surface-dark"], - "resolved_value": "#0a0a0a", - "occurrences": 4 - }, - { - "id": "b6335ca1acac7966", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-surface-dark-border", - "alias_chain": ["--surface-dark-border", "--color-surface-dark-border"], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 1 - }, - { - "id": "52c975e3ce9254fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-surface-dark-muted", - "alias_chain": ["--surface-dark-muted", "--color-surface-dark-muted"], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 1 - }, - { - "id": "d0d27bac8461a6fe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-surface-dark-text", - "alias_chain": ["--surface-dark-text", "--color-surface-dark-text"], - "resolved_value": "#f5f5f5", - "occurrences": 1 - }, - { - "id": "31e1b4b691dec3d2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-accent", - "alias_chain": [ - "--text-accent", - "--color-gray-900", - "--color-text-accent", - "--text-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "c26f448e5907c0ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-alt", - "alias_chain": [ - "--text-alt", - "--color-gray-600", - "--color-text-alt", - "--text-alt" - ], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999" - }, - "occurrences": 1 - }, - { - "id": "a98d204e68916d63", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-danger", - "alias_chain": [ - "--text-danger", - "--color-red-200", - "--color-text-danger", - "--text-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 1 - }, - { - "id": "427ab8cb9e332820", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-default", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--color-text-default", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 1 - }, - { - "id": "e3d38abde93fc53c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-info", - "alias_chain": [ - "--text-info", - "--color-blue-200", - "--color-text-info", - "--text-info" - ], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff" - }, - "occurrences": 1 - }, - { - "id": "3f40d982aab3bc54", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-inverse", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--color-text-inverse", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 1 - }, - { - "id": "56cf3d2654ac0341", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-muted", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--color-text-muted", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 1 - }, - { - "id": "8928cb990b46ef9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-success", - "alias_chain": [ - "--text-success", - "--color-green-200", - "--color-text-success", - "--text-success" - ], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795" - }, - "occurrences": 1 - }, - { - "id": "714428e3f9ea70ec", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-text-warning", - "alias_chain": [ - "--text-warning", - "--color-yellow-200", - "--color-text-warning", - "--text-warning" - ], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966" - }, - "occurrences": 1 - }, - { - "id": "004856c755462b77", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-white", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 10 - }, - { - "id": "cba144191b24fab3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-100", - "alias_chain": [], - "resolved_value": "#ffd966", - "occurrences": 3 - }, - { - "id": "6f7a803c18e9cc85", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-200", - "alias_chain": [], - "resolved_value": "#fbcd44", - "occurrences": 5 - }, - { - "id": "0d89b09bffa02b79", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 6, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "85dbcbdfa008da06", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-600", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 5, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-600", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "5aaae5b084964f23", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-700", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "text-yellow-700", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "e7fc16e5c09bdaf0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-yellow-900", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-yellow-900/30", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "862445c93ba860e3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-zinc-100", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-100, text-zinc-100", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "ddb4f94504cec558", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-zinc-400", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 4, - "resolution": { - "status": "unresolved-local", - "symbol": "text-zinc-400", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "72cfb7cbfe727837", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-zinc-800", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 3, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-800, border-zinc-800", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "fa5cb880abb1285b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--color-zinc-950", - "alias_chain": [], - "resolved_value": "unresolved", - "occurrences": 1, - "resolution": { - "status": "unresolved-local", - "symbol": "bg-zinc-950", - "message": "Tailwind class atom references a color token not declared after --color-* reset." - } - }, - { - "id": "a1a4d19308e7ea46", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--dark-04", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.04)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.04)" - }, - "occurrences": 3 - }, - { - "id": "6a69c8a703d5d340", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--dark-10", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.1)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.1)" - }, - "occurrences": 3 - }, - { - "id": "cca1f9440932c3b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--dark-40", - "alias_chain": [], - "resolved_value": "rgba(26, 26, 26, 0.4)", - "by_theme": { - "dark": "rgba(242, 242, 242, 0.4)" - }, - "occurrences": 3 - }, - { - "id": "2f3979d2d1bd1f7d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--destructive", - "alias_chain": [ - "--background-danger", - "--color-red-200", - "--destructive", - "--background-danger" - ], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b" - }, - "occurrences": 6 - }, - { - "id": "8002e36c747014a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--destructive-foreground", - "alias_chain": [], - "resolved_value": "#ffffff", - "occurrences": 3 - }, - { - "id": "281b2ec4e7d152b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "9f03af395eaef274", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--display-line-height", - "alias_chain": [], - "resolved_value": "0.85", - "occurrences": 1 - }, - { - "id": "806c7e09b9f630e5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--display-size", - "alias_chain": [], - "resolved_value": "clamp(3rem, 12vw, 12rem)", - "occurrences": 1 - }, - { - "id": "29d9e76c72e28e61", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--duration-fast", - "alias_chain": [], - "resolved_value": "150ms", - "occurrences": 1 - }, - { - "id": "f2c760092c8aaf1a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--duration-normal", - "alias_chain": [], - "resolved_value": "200ms", - "occurrences": 1 - }, - { - "id": "ca52eaa6e9dec4d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--duration-slow", - "alias_chain": [], - "resolved_value": "400ms", - "occurrences": 1 - }, - { - "id": "16a1a686c694faed", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--ease-spring", - "alias_chain": [], - "resolved_value": "cubic-bezier(0.33, 1, 0.68, 1)", - "occurrences": 1 - }, - { - "id": "84052b207d0bd0f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--font-display", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 1 - }, - { - "id": "d871dc7cb8d17ea4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--font-mono", - "alias_chain": [], - "resolved_value": "\"Geist Mono\", monospace", - "occurrences": 1 - }, - { - "id": "06525099ddb0bf5a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--font-sans", - "alias_chain": [], - "resolved_value": "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif", - "occurrences": 2 - }, - { - "id": "7c91f95474d29d21", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--font-serif", - "alias_chain": [], - "resolved_value": "serif", - "occurrences": 1 - }, - { - "id": "080d95877f2d3b5b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "c13e8e33cde362a7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-card-font-size", - "alias_chain": [], - "resolved_value": "clamp(20px, 2vw, 28px)", - "occurrences": 1 - }, - { - "id": "51cdaa1dba35f503", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-card-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "e793a0faa5d6f1da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-card-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.01em", - "occurrences": 1 - }, - { - "id": "5ebb3f667773e4b9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-card-line-height", - "alias_chain": [], - "resolved_value": "1.1", - "occurrences": 1 - }, - { - "id": "0a6c8dfefc3b823e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-display-font-size", - "alias_chain": [], - "resolved_value": "clamp(64px, 8vw, 96px)", - "occurrences": 1 - }, - { - "id": "47114b7fdbfe9b7e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-display-font-weight", - "alias_chain": [], - "resolved_value": "900", - "occurrences": 1 - }, - { - "id": "69c6baf066b74b2a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-display-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.05em", - "occurrences": 1 - }, - { - "id": "ef5abc61727ff294", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-display-line-height", - "alias_chain": [], - "resolved_value": "0.88", - "occurrences": 1 - }, - { - "id": "72fab77b73251550", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-section-font-size", - "alias_chain": [], - "resolved_value": "clamp(44px, 5vw, 64px)", - "occurrences": 1 - }, - { - "id": "8e028ed0f15ec955", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-section-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "6c6086c6223fdeee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-section-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.035em", - "occurrences": 1 - }, - { - "id": "090a165e39637aa1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-section-line-height", - "alias_chain": [], - "resolved_value": "0.95", - "occurrences": 1 - }, - { - "id": "a1587e40b91ed39c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-sub-font-size", - "alias_chain": [], - "resolved_value": "clamp(28px, 3vw, 40px)", - "occurrences": 1 - }, - { - "id": "0feb831f392b1989", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-sub-font-weight", - "alias_chain": [], - "resolved_value": "700", - "occurrences": 1 - }, - { - "id": "760dcf7059560b51", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-sub-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "80460d70024810a7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--heading-sub-line-height", - "alias_chain": [], - "resolved_value": "1", - "occurrences": 1 - }, - { - "id": "a5a90a71cc264011", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--input", - "alias_chain": [ - "--border-input", - "--color-gray-300", - "--input", - "--border-input" - ], - "resolved_value": "#e5e5e5", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "6230052b39afc20a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--label-font-size", - "alias_chain": [], - "resolved_value": "11px", - "occurrences": 1 - }, - { - "id": "7f58803c16fb9e43", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--label-font-weight", - "alias_chain": [], - "resolved_value": "600", - "occurrences": 1 - }, - { - "id": "1067f642038dc1a5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--label-letter-spacing", - "alias_chain": [], - "resolved_value": "0.12em", - "occurrences": 1 - }, - { - "id": "915dbe0ab5f7939c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--label-line-height", - "alias_chain": [], - "resolved_value": "1.2", - "occurrences": 1 - }, - { - "id": "bd9296d0ac49261b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--muted", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--muted", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "e5c7c6ba5fccb7b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--muted-foreground", - "alias_chain": [ - "--text-muted", - "--color-gray-500", - "--muted-foreground", - "--text-muted" - ], - "resolved_value": "#999999", - "occurrences": 3 - }, - { - "id": "569855ab41efde09", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--page-container-max-width", - "alias_chain": [], - "resolved_value": "1440px", - "occurrences": 1 - }, - { - "id": "7a363a7ee2937136", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--page-container-side-gutter", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "e3d3859d0e5816c7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--popover", - "alias_chain": [ - "--background-default", - "--color-white", - "--popover", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 8 - }, - { - "id": "2fcff1c4104fac7f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--popover-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--popover-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 4 - }, - { - "id": "d9b15ac267c81c92", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 7 - }, - { - "id": "6697b53427658a7b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "b2063ee1dcf8a9d9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--pullquote-letter-spacing", - "alias_chain": [], - "resolved_value": "-0.02em", - "occurrences": 1 - }, - { - "id": "3dad2a17e07ec3fb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--pullquote-line-height", - "alias_chain": [], - "resolved_value": "1.3", - "occurrences": 1 - }, - { - "id": "6a51a9240994d44f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--pullquote-size", - "alias_chain": [], - "resolved_value": "clamp(1.5rem, 3vw, 2.5rem)", - "occurrences": 1 - }, - { - "id": "6ade22f93e4d0e68", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--pullquote-weight", - "alias_chain": [], - "resolved_value": "300", - "occurrences": 1 - }, - { - "id": "5e1a3c7c87e6ffea", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 68 - }, - { - "id": "ab44b7f0b2005207", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-button", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "d6f6c0b630fa2453", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-card", - "alias_chain": [], - "resolved_value": "20px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "16px", - "soft-pastel:dark": "16px" - }, - "occurrences": 21 - }, - { - "id": "eb5d7ad75db2ef1c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-card-lg", - "alias_chain": [], - "resolved_value": "24px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "bff07c35ea0422c6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-card-sm", - "alias_chain": [], - "resolved_value": "14px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "4b7c3220c9d83b1b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-dropdown", - "alias_chain": [], - "resolved_value": "10px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "14px", - "soft-pastel:dark": "14px" - }, - "occurrences": 7 - }, - { - "id": "c73949b3364e680c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-input", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "7196c84c620ea5dc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-lg", - "alias_chain": ["--radius", "--radius-lg"], - "resolved_value": "20px", - "occurrences": 1 - }, - { - "id": "68e88f479b2c736b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-md", - "alias_chain": ["--radius"], - "resolved_value": "18px", - "occurrences": 3 - }, - { - "id": "d6afea2cedb5c118", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-modal", - "alias_chain": [], - "resolved_value": "16px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px", - "soft-pastel:light": "20px", - "soft-pastel:dark": "20px" - }, - "occurrences": 7 - }, - { - "id": "a17e5a0d5ec9d16e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-pill", - "alias_chain": [], - "resolved_value": "999px", - "by_theme": { - "neon-brutalist:light": "0px", - "neon-brutalist:dark": "0px" - }, - "occurrences": 5 - }, - { - "id": "fc141eca7a456f4e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-sm", - "alias_chain": ["--radius"], - "resolved_value": "16px", - "occurrences": 1 - }, - { - "id": "3f5db034dcb1864f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--radius-xl", - "alias_chain": ["--radius"], - "resolved_value": "24px", - "occurrences": 1 - }, - { - "id": "24314afa1bd5acc7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--ring", - "alias_chain": [ - "--border-strong", - "--color-gray-900", - "--ring", - "--border-strong" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "bac13688e2b1b574", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--secondary", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--secondary", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "d925ec15997b7aba", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--secondary-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--secondary-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "77971fdff4423927", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--section-heading-margin-bottom", - "alias_chain": [], - "resolved_value": "75px", - "occurrences": 1 - }, - { - "id": "ddc71aec22f16663", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--section-padding-vertical", - "alias_chain": [], - "resolved_value": "100px", - "occurrences": 1 - }, - { - "id": "8a7682b612d5324d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-btn", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.3)" - }, - "occurrences": 8 - }, - { - "id": "bb066f5a1700ae6a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-card", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "19c7978e0596b0d7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-date-field-focus", - "alias_chain": [], - "resolved_value": "0 0 0 3px rgba(26, 26, 26, 0.15)", - "by_theme": { - "dark": "0 0 0 3px rgba(244, 244, 245, 0.1)" - }, - "occurrences": 8 - }, - { - "id": "45f5c5af881e7f00", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-elevated", - "alias_chain": [], - "resolved_value": "0 3px 12px rgba(76, 76, 76, 0.22)", - "by_theme": { - "dark": "0 3px 12px rgba(0, 0, 0, 0.5)" - }, - "occurrences": 8 - }, - { - "id": "16473ced87450204", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-kbd", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "bf9d6e2a630e169c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-mini", - "alias_chain": [], - "resolved_value": "0 2px 8px rgba(76, 76, 76, 0.15)", - "by_theme": { - "dark": "0 2px 8px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 16 - }, - { - "id": "5e29e96a3e25a26e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-mini-inset", - "alias_chain": [], - "resolved_value": "0 1px 4px rgba(76, 76, 76, 0.1) inset", - "by_theme": { - "dark": "0 1px 4px rgba(0, 0, 0, 0.5) inset" - }, - "occurrences": 8 - }, - { - "id": "3f4d210200efc6c0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-modal", - "alias_chain": [], - "resolved_value": "0 20px 60px rgba(0, 0, 0, 0.2)", - "by_theme": { - "dark": "0 20px 60px rgba(0, 0, 0, 0.6)" - }, - "occurrences": 8 - }, - { - "id": "377f2cf0a5f8ab97", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--shadow-popover", - "alias_chain": [], - "resolved_value": "0 8px 30px rgba(0, 0, 0, 0.12)", - "by_theme": { - "dark": "0 8px 30px rgba(0, 0, 0, 0.4)" - }, - "occurrences": 8 - }, - { - "id": "10338925d64cef30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar", - "alias_chain": [ - "--background-default", - "--color-white", - "--sidebar", - "--background-default" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 38 - }, - { - "id": "d44b6b9eca5ed7d0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-accent", - "alias_chain": [ - "--background-muted", - "--color-gray-100", - "--sidebar-accent", - "--background-muted" - ], - "resolved_value": "#f0f0f0", - "by_theme": { - "dark": "#232323" - }, - "occurrences": 6 - }, - { - "id": "5fdfda99f06d8b16", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-accent-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "0cf3009a7a26cfa7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-border", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-border", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "eefdc6703e7707ad", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-foreground", - "alias_chain": [ - "--text-default", - "--color-gray-900", - "--sidebar-foreground", - "--text-default" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 3 - }, - { - "id": "65faf9a1d952c9c4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-primary", - "alias_chain": [ - "--background-accent", - "--color-gray-900", - "--sidebar-primary", - "--background-accent" - ], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff" - }, - "occurrences": 6 - }, - { - "id": "f5851ee77e02e93b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": [ - "--text-inverse", - "--color-white", - "--sidebar-primary-foreground", - "--text-inverse" - ], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000" - }, - "occurrences": 3 - }, - { - "id": "b2f3d29cd5856ff4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--sidebar-ring", - "alias_chain": [ - "--border-default", - "--color-gray-200", - "--sidebar-ring", - "--border-default" - ], - "resolved_value": "#e8e8e8", - "by_theme": { - "dark": "#333333" - }, - "occurrences": 3 - }, - { - "id": "6d3a7fb64dc0e32b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--spacing-button", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 2 - }, - { - "id": "a5397f869aa85077", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--spacing-button-sm", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1 - }, - { - "id": "e05ad88fc5a64914", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--spacing-input", - "alias_chain": [], - "resolved_value": "52px", - "occurrences": 2 - }, - { - "id": "62816b449f900c47", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--spacing-input-sm", - "alias_chain": [], - "resolved_value": "44px", - "occurrences": 1 - }, - { - "id": "71e2c7902b280497", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--surface-dark", - "alias_chain": [], - "resolved_value": "#0a0a0a", - "occurrences": 8 - }, - { - "id": "6b1dc3371eada4fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--surface-dark-border", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.08)", - "occurrences": 2 - }, - { - "id": "6d12530dd27094ab", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--surface-dark-muted", - "alias_chain": [], - "resolved_value": "rgba(255, 255, 255, 0.5)", - "occurrences": 2 - }, - { - "id": "5b08d477142047fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--surface-dark-text", - "alias_chain": [], - "resolved_value": "#f5f5f5", - "occurrences": 2 - }, - { - "id": "f11122e9f355b7ce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-accent", - "alias_chain": ["--color-gray-900", "--text-accent"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#9c5930", - "warm-sand:dark": "#d4853a", - "ocean:light": "#1b6b8a", - "ocean:dark": "#3ab4d8", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#c5a24d", - "neon-brutalist:light": "#ff3a00", - "neon-brutalist:dark": "#ff5722", - "soft-pastel:light": "#8b7ec8", - "soft-pastel:dark": "#a898e0" - }, - "occurrences": 15 - }, - { - "id": "f16e12a59491e7a9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-alt", - "alias_chain": ["--color-gray-600", "--text-alt"], - "resolved_value": "#666666", - "by_theme": { - "dark": "#999999", - "warm-sand:light": "#6b5940", - "warm-sand:dark": "#8b7355", - "ocean:light": "#3a6a7c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#5a4b6a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#333333", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#6a6280", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 15 - }, - { - "id": "ec4715509ff70bfc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-danger", - "alias_chain": ["--color-red-200", "--text-danger"], - "resolved_value": "#f94b4b", - "by_theme": { - "dark": "#ff6b6b", - "soft-pastel:light": "#c07070", - "soft-pastel:dark": "#e0a0a0" - }, - "occurrences": 7 - }, - { - "id": "44e1196e7f54d827", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-default", - "alias_chain": ["--color-gray-900", "--text-default"], - "resolved_value": "#1a1a1a", - "by_theme": { - "dark": "#ffffff", - "warm-sand:light": "#3d2b1f", - "warm-sand:dark": "#f0e4d4", - "ocean:light": "#0f3442", - "ocean:dark": "#e4f0f5", - "midnight-luxe:light": "#1e1528", - "midnight-luxe:dark": "#ede8f2", - "neon-brutalist:light": "#000000", - "neon-brutalist:dark": "#ffffff", - "soft-pastel:light": "#3a3552", - "soft-pastel:dark": "#e8e4f4" - }, - "occurrences": 29 - }, - { - "id": "d078c299ccdbe938", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-info", - "alias_chain": ["--color-blue-200", "--text-info"], - "resolved_value": "#5c98f9", - "by_theme": { - "dark": "#7cacff", - "soft-pastel:light": "#7090c0", - "soft-pastel:dark": "#a0c0e8" - }, - "occurrences": 7 - }, - { - "id": "061fa107045de6ba", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-inverse", - "alias_chain": ["--color-white", "--text-inverse"], - "resolved_value": "#ffffff", - "by_theme": { - "dark": "#000000", - "warm-sand:light": "#fbf5ec", - "warm-sand:dark": "#1c1410", - "ocean:light": "#f4f9fb", - "ocean:dark": "#0a1e28", - "midnight-luxe:light": "#f8f6f9", - "midnight-luxe:dark": "#0e0a14", - "neon-brutalist:light": "#ffffff", - "neon-brutalist:dark": "#000000", - "soft-pastel:light": "#fafafa", - "soft-pastel:dark": "#14121c" - }, - "occurrences": 19 - }, - { - "id": "2c7f53f42cd85f87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-muted", - "alias_chain": ["--color-gray-500", "--text-muted"], - "resolved_value": "#999999", - "by_theme": { - "warm-sand:light": "#8b7355", - "warm-sand:dark": "#8b7355", - "ocean:light": "#5a8a9c", - "ocean:dark": "#5a8a9c", - "midnight-luxe:light": "#7a6b8a", - "midnight-luxe:dark": "#7a6b8a", - "neon-brutalist:light": "#555555", - "neon-brutalist:dark": "#aaaaaa", - "soft-pastel:light": "#8a82a0", - "soft-pastel:dark": "#8a82a0" - }, - "occurrences": 17 - }, - { - "id": "898a803c9cf6b889", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-success", - "alias_chain": ["--color-green-200", "--text-success"], - "resolved_value": "#91cb80", - "by_theme": { - "dark": "#a3d795", - "soft-pastel:light": "#70a870", - "soft-pastel:dark": "#a0d8a0" - }, - "occurrences": 7 - }, - { - "id": "7ab55b60941b66e9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-warning", - "alias_chain": ["--color-yellow-200", "--text-warning"], - "resolved_value": "#fbcd44", - "by_theme": { - "dark": "#ffd966", - "soft-pastel:light": "#c0a060", - "soft-pastel:dark": "#e0c880" - }, - "occurrences": 7 - }, - { - "id": "2ddd1789dadd4f9f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "--text-xxs", - "alias_chain": [], - "resolved_value": "10px", - "occurrences": 1 - } - ], - "components": [ - { - "id": "6b45c8f7304a2464", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "accordion", - "discovered_via": "registry.json" - }, - { - "id": "56681071a7e839ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "agent", - "discovered_via": "registry.json" - }, - { - "id": "1f7dcfc40d663a7e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "alert", - "discovered_via": "registry.json", - "variants": ["default", "destructive"] - }, - { - "id": "041df23791185878", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "alert-dialog", - "discovered_via": "registry.json" - }, - { - "id": "e131b28ec40f92be", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "artifact", - "discovered_via": "registry.json" - }, - { - "id": "b9dc3d8f379795fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "aspect-ratio", - "discovered_via": "registry.json" - }, - { - "id": "c1f428b3901476e4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "attachments", - "discovered_via": "registry.json" - }, - { - "id": "409618f091513c75", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "audio-player", - "discovered_via": "registry.json" - }, - { - "id": "e9edfcac4d684571", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "avatar", - "discovered_via": "registry.json" - }, - { - "id": "3f66cce9ac29f0bb", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "badge", - "discovered_via": "registry.json", - "variants": ["default", "secondary", "destructive", "outline"] - }, - { - "id": "62ca4d332a636468", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "breadcrumb", - "discovered_via": "registry.json" - }, - { - "id": "33326c4ce5372a87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "button", - "discovered_via": "registry.json", - "variants": [ - "default", - "destructive", - "outline", - "secondary", - "ghost", - "link" - ], - "sizes": ["default", "sm", "lg", "icon", "icon-xs", "icon-sm"] - }, - { - "id": "aee536404abb02f9", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "button-group", - "discovered_via": "registry.json" - }, - { - "id": "e543f161a5ae1026", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "calendar", - "discovered_via": "registry.json" - }, - { - "id": "215067ea68bec73d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "canvas", - "discovered_via": "registry.json" - }, - { - "id": "2ce80d674190838a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "card", - "discovered_via": "registry.json" - }, - { - "id": "ab5da682f93c5abc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "carousel", - "discovered_via": "registry.json" - }, - { - "id": "a1cfe503bb030118", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "chain-of-thought", - "discovered_via": "registry.json" - }, - { - "id": "223732094eaba95b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "chart", - "discovered_via": "registry.json" - }, - { - "id": "25ab34073ce0d675", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "checkbox", - "discovered_via": "registry.json" - }, - { - "id": "deccf34ed4ed6479", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "checkpoint", - "discovered_via": "registry.json" - }, - { - "id": "8bf8d324095e7ae5", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "code-block", - "discovered_via": "registry.json" - }, - { - "id": "db3cd1353bccb6bc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "collapsible", - "discovered_via": "registry.json" - }, - { - "id": "72100cadfe800553", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "command", - "discovered_via": "registry.json" - }, - { - "id": "ab5489a0bc3a07b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "commit", - "discovered_via": "registry.json" - }, - { - "id": "e3c5d2b90b1e5c1d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "confirmation", - "discovered_via": "registry.json" - }, - { - "id": "4ef372faee269bca", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "connection", - "discovered_via": "registry.json" - }, - { - "id": "56ff5a0d5771002c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "context", - "discovered_via": "registry.json" - }, - { - "id": "bbef78369b46187b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "context-menu", - "discovered_via": "registry.json" - }, - { - "id": "6b11c9634318adbe", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "controls", - "discovered_via": "registry.json" - }, - { - "id": "0a916443c4542c3e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "conversation", - "discovered_via": "registry.json" - }, - { - "id": "22066cf4241428b7", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "dialog", - "discovered_via": "registry.json" - }, - { - "id": "00d46395f2b2a351", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "drawer", - "discovered_via": "registry.json" - }, - { - "id": "9621f3c83158c805", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "dropdown-menu", - "discovered_via": "registry.json" - }, - { - "id": "67055d73969738ac", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "edge", - "discovered_via": "registry.json" - }, - { - "id": "4b04ff4054e1195f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "environment-variables", - "discovered_via": "registry.json" - }, - { - "id": "85d04b8c643f50df", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "file-tree", - "discovered_via": "registry.json" - }, - { - "id": "bc940d4d908d3f6b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "form", - "discovered_via": "registry.json" - }, - { - "id": "16c90091185c1fa2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "hover-card", - "discovered_via": "registry.json" - }, - { - "id": "3610ede2ab213d17", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "image", - "discovered_via": "registry.json" - }, - { - "id": "410c32768bc381b2", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "inline-citation", - "discovered_via": "registry.json" - }, - { - "id": "902f03162b9b792a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "input", - "discovered_via": "registry.json" - }, - { - "id": "6f08349b89b7ebb1", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "input-group", - "discovered_via": "registry.json", - "sizes": ["xs", "sm", "icon-xs", "icon-sm"] - }, - { - "id": "e10df766e5650f87", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "input-otp", - "discovered_via": "registry.json" - }, - { - "id": "6c62485f77162647", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "jsx-preview", - "discovered_via": "registry.json" - }, - { - "id": "ae1ca5ad06ba5604", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "label", - "discovered_via": "registry.json" - }, - { - "id": "15ec38340781a667", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "menubar", - "discovered_via": "registry.json" - }, - { - "id": "704e9dc718b93f00", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "message", - "discovered_via": "registry.json" - }, - { - "id": "5cde23c0b5427076", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "mic-selector", - "discovered_via": "registry.json" - }, - { - "id": "7762269989809b5c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "model-selector", - "discovered_via": "registry.json" - }, - { - "id": "63dfa6e82ade7b30", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "navigation-menu", - "discovered_via": "registry.json" - }, - { - "id": "28bee2662f12ae3e", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "node", - "discovered_via": "registry.json" - }, - { - "id": "a1e2a4248f562ffc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "open-in-chat", - "discovered_via": "registry.json" - }, - { - "id": "9a5574cd469373fd", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "package-info", - "discovered_via": "registry.json" - }, - { - "id": "b69f89e9311bd4bf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "pagination", - "discovered_via": "registry.json" - }, - { - "id": "528e87fc8719c2cf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "panel", - "discovered_via": "registry.json" - }, - { - "id": "47ce6583d5af89da", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "persona", - "discovered_via": "registry.json" - }, - { - "id": "bb90cbda691973b4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "plan", - "discovered_via": "registry.json" - }, - { - "id": "acea8d3ab4c989ee", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "popover", - "discovered_via": "registry.json" - }, - { - "id": "4da6bc0dfc257134", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "progress", - "discovered_via": "registry.json" - }, - { - "id": "b2dbb023f5065454", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "prompt-input", - "discovered_via": "registry.json" - }, - { - "id": "d7af2cd54bb291cc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "queue", - "discovered_via": "registry.json" - }, - { - "id": "889328d806adadd8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "radio-group", - "discovered_via": "registry.json" - }, - { - "id": "3f715925a12c43e0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "reasoning", - "discovered_via": "registry.json" - }, - { - "id": "abd314100bab8449", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "resizable", - "discovered_via": "registry.json" - }, - { - "id": "88133007d8d97c2f", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "sandbox", - "discovered_via": "registry.json" - }, - { - "id": "e85d770341868747", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "schema-display", - "discovered_via": "registry.json" - }, - { - "id": "167137388867e87d", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "scroll-area", - "discovered_via": "registry.json" - }, - { - "id": "9a2858706b81e772", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "select", - "discovered_via": "registry.json" - }, - { - "id": "d9d8a1c1cceac519", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "separator", - "discovered_via": "registry.json" - }, - { - "id": "0454e4fa37d6b0fa", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "sheet", - "discovered_via": "registry.json" - }, - { - "id": "2604d4065b2461ce", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "shimmer", - "discovered_via": "registry.json" - }, - { - "id": "2aced9d958bf7137", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "sidebar", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "7b8a8c9e7025777a", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "skeleton", - "discovered_via": "registry.json" - }, - { - "id": "4283fb1a3d5a02fc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "slider", - "discovered_via": "registry.json" - }, - { - "id": "43781a8ad0099bcf", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "snippet", - "discovered_via": "registry.json" - }, - { - "id": "065332d78c5c6fa4", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "sonner", - "discovered_via": "registry.json" - }, - { - "id": "f58b32f9295dd389", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "sources", - "discovered_via": "registry.json" - }, - { - "id": "845e009328f74ebc", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "speech-input", - "discovered_via": "registry.json" - }, - { - "id": "7b5750d4c27e1b51", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "spinner", - "discovered_via": "registry.json" - }, - { - "id": "4bd1de28b0569258", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "stack-trace", - "discovered_via": "registry.json" - }, - { - "id": "e59967857af353f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "suggestion", - "discovered_via": "registry.json" - }, - { - "id": "36a07d65605c1231", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "switch", - "discovered_via": "registry.json" - }, - { - "id": "c773ff2b2358c63c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "table", - "discovered_via": "registry.json" - }, - { - "id": "773d58bc1946c5b8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "tabs", - "discovered_via": "registry.json" - }, - { - "id": "2ca2d54ff57e4858", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "task", - "discovered_via": "registry.json" - }, - { - "id": "21b95e7db2d6a135", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "terminal", - "discovered_via": "registry.json" - }, - { - "id": "dfea94f938ea23b3", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "test-results", - "discovered_via": "registry.json" - }, - { - "id": "70f26ca6af1d0444", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "textarea", - "discovered_via": "registry.json" - }, - { - "id": "7ccc54a79e8bcd24", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "ThemeProvider", - "discovered_via": "source:src/components/theme" - }, - { - "id": "7373535e3275b5f8", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "ThemeToggle", - "discovered_via": "source:src/components/theme" - }, - { - "id": "6388398403da55ba", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "toggle", - "discovered_via": "registry.json", - "variants": ["default", "outline"], - "sizes": ["default", "sm", "lg"] - }, - { - "id": "92550b607e4edd49", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "toggle-group", - "discovered_via": "registry.json" - }, - { - "id": "43b1fc66d9bf5cb6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "tool", - "discovered_via": "registry.json" - }, - { - "id": "99b87378daf4406b", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "toolbar", - "discovered_via": "registry.json" - }, - { - "id": "d3db92966da7eeda", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "tooltip", - "discovered_via": "registry.json" - }, - { - "id": "3bbccf6c1c0c6687", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "transcription", - "discovered_via": "registry.json" - }, - { - "id": "3fc7b661d96772a6", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "voice-selector", - "discovered_via": "registry.json" - }, - { - "id": "19efcc5266bb45a0", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "web-preview", - "discovered_via": "registry.json" - } - ], - "ui_surfaces": [ - { - "id": "390d6d14c3b04d9c", - "source": { - "id": "ghost-ui", - "role": "primary", - "target": "block/ghost@packages/ghost-ui", - "commit": "a7e4af7+dirty", - "scanned_at": "2026-05-05T11:17:24Z", - "scanner_version": "dogfood-attempt-8" - }, - "name": "Ghost UI component catalogue", - "kind": "source", - "locator": "registry.json#registry:ui", - "renderability": "source-only", - "files": [ - "registry.json", - "src/components/ui", - "src/components/ai-elements" - ], - "classification": { - "intent": "component reference", - "surface_type": "component-catalog", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.72 - }, - "signals": { - "dominant_components": ["registry:ui", "ui primitives", "ai-elements"], - "layout_patterns": [ - "registry item catalogue with primitive and AI element families" - ], - "notes": [ - "Dogfood scan records implemented surface evidence from source and registry metadata." - ] - } - } - ] -} diff --git a/dogfood/managerbot/fingerprint.md b/dogfood/managerbot/fingerprint.md deleted file mode 100644 index d1013dce..00000000 --- a/dogfood/managerbot/fingerprint.md +++ /dev/null @@ -1,345 +0,0 @@ ---- -id: managerbot -source: llm -timestamp: 2026-05-04T00:00:00-04:00 -sources: - - squareup/square-web/apps/managerbot -observation: - personality: - - utilitarian - - polished - - dual-themed - - ai-native - - dense - - chromatic-reserved - resembles: - - shadcn-new-york - - vercel-ai-elements -references: - specs: - - libs/managerbot/managerbot-ui/src/styles/theme.css - - libs/managerbot/managerbot-ui/src/styles/globals.css - - libs/managerbot/managerbot-ui/components.json - components: - - libs/managerbot/managerbot-ui/src/components - - libs/managerbot/managerbot-ui/src/components/ai-elements - - apps/managerbot/managerbot-web/src/components - examples: - - apps/managerbot/managerbot-web/src/routes - - apps/managerbot/managerbot-storybook -decisions: - - dimension: color-strategy - - dimension: surface-hierarchy - - dimension: shape-language - - dimension: typography-voice - - dimension: elevation - - dimension: theming-architecture - - dimension: token-architecture - - dimension: composition-patterns - - dimension: motion - - dimension: font-sourcing -checks: - - id: monochrome-semantic-default - canonical: color-strategy - kind: color - summary: Semantic color tokens must resolve to the neutral ramp by default - rationale: >- - The default theme is achromatic — `--primary`, `--secondary`, `--accent`, - `--muted`, `--card`, `--popover` all chain to `--neutral-*`. Hue is - reserved for state (destructive, success, warning), trend (trend-up/down), - and chart data. Wiring a brand hue (`cashapp-*`, `square-*`, - `--blue-*`) directly into a base surface token is drift. - pattern: '--(primary|secondary|accent|muted|card|popover|background|foreground|sidebar|panel)\b[^:]*:\s*var\(--(?!neutral|white|black|elevation)' - enforce_at: [css_var] - observed_count: 33 - support: 0.97 - - id: cash-sans-only - canonical: font-sourcing - kind: type-family - summary: Do not bundle fonts beyond Cash Sans - rationale: >- - `--font-sans` resolves to `'Cash Sans', ui-sans-serif, system-ui, - sans-serif, ...emoji-stack`. Cash Sans is loaded from - `cash-f.squarecdn.com` at three weights (400/500/600). Adding a new - `@font-face` or a webfont import crosses the font-sourcing decision — - the Square brand face is the only bundled type. - pattern: '@font-face|@import\s+url\([^)]*fonts' - enforce_at: [css_var] - observed_count: 3 - support: 1.0 - - id: no-decorative-motion - canonical: motion - kind: motion - summary: Motion is reserved for state transitions, not decoration - rationale: >- - The repo declares exactly one named animation token - (`--animate-highlights-tab-fade-in: 150ms ease`) plus three keyframes - tied to a single feature (highlights tabs/progress). Loading spinners - use `animate-spin`, but no hover-bounce, decorative loop, or broad - `transition: all` pattern is part of the language. - pattern: 'transition:\s*all\b|animate-(?!none|spin|highlights-)\w' - enforce_at: [className, css_var] - observed_count: 24 - support: 0.96 -palette: - dominant: - - { role: primary, value: "oklch(21.56% 0.0000 89.88)", token: "--neutral-900" } - - { role: primary-foreground, value: "oklch(95.42% 0.0000 89.88)", token: "--neutral-50" } - - { role: background, value: "oklch(100.00% 0.0000 89.88)", token: "--white" } - - { role: foreground, value: "oklch(16.98% 0.0000 89.88)", token: "--neutral-950" } - neutrals: - steps: - - "oklch(100.00% 0.0000 89.88)" - - "oklch(95.42% 0.0000 89.88)" - - "oklch(56.34% 0.0000 89.88)" - - "oklch(21.56% 0.0000 89.88)" - - "oklch(16.98% 0.0000 89.88)" - - "oklch(0.00% 0.0000 0.00)" - count: 6 - semantic: - - { role: destructive, value: "oklch(50.42% 0.1991 28.41)", token: "--red-600" } - - { role: success, value: "oklch(47.54% 0.0986 161.50)", token: "--green-600" } - - { role: warning, value: "oklch(82.83% 0.1680 85.60)", token: "--yellow-200" } - - { role: trend-up, value: "oklch(64.8% 0.2 131.684)", token: "--lime-600" } - - { role: trend-down, value: "oklch(70.5% 0.213 47.604)", token: "--orange-500" } - - { role: panel-light, value: "#FCFCFC", token: "--panel" } - - { role: panel-dark, value: "#181818", token: "--panel" } - saturationProfile: muted - contrast: high -spacing: - scale: [0.5, 4, 16, 24, 32, 280, 768, 1312] - regularity: 0.35 - baseUnit: 4 -typography: - families: - - "Cash Sans" - sizeRamp: [9, 10, 11, 12.8, 13, 14, 16, 18, 20, 24, 32, 36, 44, 56] - weightDistribution: - "400": 1 - "500": 1 - "600": 1 - lineHeightPattern: normal -surfaces: - borderRadii: [4, 6, 8, 12, 16, 20, 24, 28, 32, 35] - shadowComplexity: layered - borderUsage: minimal -metadata: - survey_id: managerbot-2026-05-04 - source_commit: "002dd6938bf" - ui_library: "@squareup/managerbot-ui" - component_count: 108 - token_count: 459 - value_count: 432 - ai_elements_count: 34 ---- - -# Character - -Managerbot's design language is shadcn at heart — new-york style, Lucide -icons, neutral baseColor — wearing Square's house font and dressed for a -long sit-down with an LLM. The default theme is monochrome (semantic -surfaces chain to `--neutral-*` steps), so chromatic color is strongest -when it carries state, trend, or chart meaning: red for destructive, -green for success, yellow for warning, lime/orange for trend, and a -15-stop chart ramp for data. The system is dual-themed first, with a -scoped `.managerbot-ui-root` token layer, `.dark` overrides, and a -`force-light` utility for surfaces that must stay bright in dark mode. -What sets it apart from a vanilla shadcn build is the AI-elements -sub-tree — 34 components for conversation, prompt input, reasoning, -artifact, canvas, branch, plan, and tool — wired into the same token -cascade as the primitive shell, while app routes occasionally bend the -scale for high-touch chat and automation moments. - -# Signature - -Managerbot should read as a polished operational console for AI-assisted -seller work: dense routes and chat surfaces, restrained monochrome -structure, Square-brand typography, and color only when it communicates -state, trend, or chart meaning. The recognizable output posture is -shadcn-new-york discipline plus AI-native affordances: conversation -workspaces, tracker lists, metric dashboards, and compact control -surfaces rather than marketing gloss. - -# Decisions - -### color-strategy - -Treat hue as opt-in semantics, not ambient identity. Every surface -token (`--background`, `--card`, `--popover`, `--primary`, `--secondary`, -`--muted`, `--accent`, `--sidebar`, `--panel`) chains to a step on the -neutral ramp; chromatic ramps exist only to express state, trend, and -chart data. Square's brand colors (`cashapp-*`, `square-*`) are present -in the token layer but unwired — available for marketing surfaces, not -the operating UI. - -**Evidence:** -- `--primary: var(--neutral-900)` resolves to `oklch(21.56% 0.0000 89.88)` (light) / `--neutral-200 → oklch(82.94% 0.0000 89.88)` (dark) — theme.css:384,473 -- `--secondary: var(--neutral-50)` resolves to `oklch(95.42% 0.0000 89.88)`; `--background: var(--white)` resolves to `oklch(100.00% 0.0000 89.88)` -- `--foreground: var(--neutral-950)` resolves to `oklch(16.98% 0.0000 89.88)`; `--neutral-500: oklch(56.34% 0.0000 89.88)` is the mid-ramp anchor; `--black: oklch(0.00% 0.0000 0.00)` is reserved -- `--destructive: var(--red-600)` resolves to `oklch(50.42% 0.1991 28.41)`; `--success: var(--green-600) → oklch(47.54% 0.0986 161.50)`; `--warning: var(--yellow-200) → oklch(82.83% 0.1680 85.60)` -- `--trend-up: var(--lime-600) → oklch(64.8% 0.2 131.684)`; `--trend-down: var(--orange-500) → oklch(70.5% 0.213 47.604)` -- `cashapp-*` and `square-*` ramps declared (20 stops each) but never referenced from a semantic token -- 396 color tokens / 372 distinct color rows in the survey; 34 inline or arbitrary color literals are product-surface exceptions, mostly stories, chart fixtures, and employee-color helpers - -### surface-hierarchy - -Name surfaces by intent at the semantic layer (`--background`, `--card`, -`--popover`, `--sidebar`, `--panel`) and add an explicit numeric elevation -scale (`--elevation-0/1/2`) for stacking context. The sidebar gets its -own slot family (`--sidebar`, `--sidebar-foreground`, `--sidebar-accent`, -`--sidebar-border`, `--sidebar-ring`, `--sidebar-primary`) so sidebar -restyling never bleeds into the main surface. - -**Evidence:** -- `--elevation-0: oklab(97.913% 0 -0.00011)` / `oklch(0% 0 0)` — outer chrome -- `--elevation-1: var(--white)` / `oklch(19.125% ...)` — primary surface -- `--elevation-2: oklch(95.815% ...)` / `oklch(28.094% ...)` — raised surface -- `--sidebar-accent: color-mix(in oklab, var(--foreground) 5%, transparent)` (light) / `10%` (dark) — semantic, not a fixed shade -- `--panel: #FCFCFC` (light) / `#181818` (dark) — the only hex literals at the semantic layer; chrome surface stays distinct from `--background`/`--card` -- 12 spacing/layout tokens including `--width-sidebar: 280px`, `--width-content-narrow: 48rem`, `--width-content-wide: 82rem`, icon sizes, page padding, and hairline border width - -### shape-language - -Adopt a moderate-roundness vocabulary at the shared UI layer: interactive -and structural surfaces pick from the same 8-tier `--radius-*` scale (4 / -6 / 8 / 12 / 16 / 20 / 24 / 32 px). Product routes sometimes express that -same vocabulary with bracket utilities (`rounded-[6px]`, `rounded-[12px]`) -and occasionally bend it for chat or automation chrome (`2rem`, -`1.75rem`, `inherit`), so the language is rounded and friendly rather -than strictly token-only. The shape distinction between Button, Card, -avatar, and popover is usually which radius stop they pick, not a -separate family. - -**Evidence:** -- `--radius-xs: 4px; --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-2xl: 20px; --radius-3xl: 24px; --radius-4xl: 32px` (theme.css:988-995) -- 8 radius tokens, 13 distinct radius values, and 54 arbitrary-class radius observations in the refreshed survey -- Most arbitrary radii still land on the token values (`6px`, `8px`, `12px`, `16px`, `24px`); off-scale values are concentrated in avatar inheritance, chat input, and automation popover surfaces -- `--border-width-hairline: 0.5px` and `@utility border-hairline` for sub-pixel dividers - -### typography-voice - -Use a 10-stop type ramp (`xs` 13 → `7xl` 56 px) with line-height and -letter-spacing baked into the token. Bodies sit at zero tracking; only -display sizes (`2xl` and up) carry negative letter-spacing, escalating -from `-0.2px` at `2xl` to `-2.2px` at `6xl`/`7xl`. Cash Sans is the only -bundled face, with three weight loads (Regular 400, Medium 500, Medium -again at 600) — there is no separate semibold cut, by design. Tiny -operational labels are the main escape hatch: the app uses `text-[10px]` -and `text-[11px]` in dense tool, avatar, and chart surfaces. - -**Evidence:** -- `--text-xs: 0.8125rem` (13px) → `--text-7xl: 3.5rem` (56px); 10 sizes total (theme.css:1011-1053) -- `--text-2xl--letter-spacing: -0.2px`, `3xl: -0.4px`, `4xl: -0.5px`, `5xl: -1.4px`, `6xl/7xl: -2.2px` -- `--text-xs/sm/base/lg/xl--letter-spacing: 0` — body sizes intentionally zero -- The survey records six arbitrary typography values; `10px` appears 13 times and `11px` appears 6 times, both in compact operational surfaces -- `--font-sans: 'Cash Sans', ui-sans-serif, system-ui, sans-serif, ...` (theme.css:547) -- `@font-face` declarations load CashSans-Regular (400), CashSans-Medium (500), CashSans-Medium again (600) from `cash-f.squarecdn.com` (globals.css:5-33) - -### elevation - -Build depth as a continuous numeric ramp, not as named roles. Eight -shadow tokens (2xs / xs / sm / md / lg / xl / 2xl / inner) compose a -fixed 2px ambient layer with a directional offset that scales 0→4→8→16→24 -→48 px. Dark mode does not redefine shadows — the ambient layer is faint -enough on dark surfaces and the directional layer carries the read. The -notable exception is the automation schedule popover, which uses two -larger arbitrary shadows for glassy, focused controls. - -**Evidence:** -- `--shadow-2xs: 0 1px 0 0 rgba(0,0,0,0.05)` — flat highlight -- `--shadow-xs: 0 0 1px 0 rgba(0,0,0,0.05)` -- `--shadow-sm/md/lg/xl: 0 0 2px 0 rgba(0,0,0,0.1), 0 [4|8|16|24]px [8|16|32|48]px [-2|-4|-8|-12]px rgba(0,0,0,0.06–0.1)` — composed pairs (theme.css:1004-1007) -- `--shadow-2xl: 0 25px 50px -12px rgba(0,0,0,0.25)` — outlier, only one declared -- `--shadow-inner: inset 0 0 1px 0 rgba(0,0,0,0.40)` -- `.dark` block omits all `--shadow-*` declarations — single source for both themes -- Refreshed survey records 5 arbitrary shadow observations: `0 18px 45px rgba(0,0,0,0.4)` and `0 24px 60px rgba(0,0,0,0.4)` in automation popovers - -### theming-architecture - -Cascade two layers inside `.managerbot-ui-root`: a raw color-ramp + -scalar layer, then a semantic alias layer re-declared under `.dark` and -the `force-light` utility. Tailwind's `@theme inline` block re-exports -tokens as `--color-*` / `--text-*` / `--radius-*` / `--shadow-*`, and the -same `--color-*` mappings are mirrored inside `.managerbot-ui-root` so -Tailwind utilities resolve against the scoped source tokens. Components -prefer semantic tokens or Tailwind utilities; raw literals are local -exceptions, not the architecture. - -**Evidence:** -- `.managerbot-ui-root` carries 396 color tokens (raw ramps) + ~30 semantic aliases (`--background`, `--primary`, ...) -- `.dark .managerbot-ui-root, .managerbot-ui-root.dark` re-declares only the semantic aliases — raw ramps inherit -- `@utility force-light` re-declares the same semantic set against light values, used to pin chrome to a light register inside dark surfaces -- `@theme inline { --color-*: var(--*); }` re-exports every token for Tailwind v4 class-atom generation, with mirrored scoped mappings above it -- `@source "../**/*.{ts,tsx}"; @source "../**/*.stories.{ts,tsx}";` (globals.css:35-36) bounds Tailwind's content scan - -### token-architecture - -Hold every system literal in the token layer; let alias chains carry semantics. -Of 459 declared tokens, ~30 semantic surface tokens (`--primary`, -`--card`, `--accent`, ...) chain via `var(--neutral-*)` to a raw step; -chart tokens (`--chart-1`..`--chart-15`) chain to chosen ramp stops -across sky/teal/cyan/emerald/lime/green; raw ramp tokens are leaves -(`oklch(...)`). The `@theme inline` re-exports add a second alias layer -for Tailwind class atoms but do not change semantics — they exist purely -so `bg-primary` resolves. The consuming app has a visible exception -layer of arbitrary class values and inline colors; those should be -treated as product-surface exceptions unless promoted back into tokens. - -**Evidence:** -- 459 canonical tokens (excluding `@theme inline` mechanical re-exports) -- 396 color tokens; 12 spacing/layout; 34 typography (10 size triples + font-sans + 3 line-height defaults); 8 radius; 8 shadow; 1 motion -- Alias chains observed in semantic surface tokens, semantic state tokens, chart slots, and sidebar slots -- Raw color ramps (e.g. `--neutral-50: oklch(95.42% 0.0000 89.88)`) are leaves — no chains -- The Tailwind palette extension (`--slate-*`, `--gray-*`, `--zinc-*`, `--stone-*`, `--rose-*`, `--orange-*`, `--amber-*`, `--lime-*`, `--emerald-*`, `--teal-*`, `--cyan-*`, `--sky-*`, `--indigo-*`, `--violet-*`, `--fuchsia-*`, `--pink-*`) is included for chart use only — present but not wired into semantic tokens -- 25 values have arbitrary-class usage and 28 values have inline-literal usage in the app/story/chart layer; these are evidence of local product exceptions, not new canonical tokens - -### composition-patterns - -Use task-shaped composition instead of letting every answer collapse into -cards. The core language supports a conversation workspace for active AI -work, tracker lists for sessions and tasks, a dashboard/tracker posture -for Pulse metrics and insights, and compact control surfaces for -automation setup. Cards exist as repeated insight or suggestion modules, -but they are one shape among several; dense View sections and Item rows -carry much of the operational product. - -**Evidence:** -- `Managerbot conversation surface` survey row: prompt controls, conversation pane, artifacts, and AI-elements compose the primary agent workspace -- `Pulse dashboard` survey row: wide View content, section stack, metric cards, and pinned widgets form a tracker/dashboard shape -- `Tasks list` survey row: narrow View content, `ItemGroup`, skeletons, and empty state produce a sectioned task tracker rather than cards -- `Automation management` survey row: panel lists, suggested automation cards, and compact popover controls combine control-surface and card shapes - -### motion - -Motion is reserved for functional state transitions; decorative animation -is absent. The system declares exactly one motion token -(`--animate-highlights-tab-fade-in: 150ms ease forwards`) and three -keyframes (`highlights-progress-fill`, `highlights-progress-drain`, -`highlights-tab-fade-in`) that serve a single feature surface (tabbed -highlights with progress). Component code uses Radix's data-state -attributes and `motion`/`framer-motion` for entry/exit, while -`animate-spin` is common for loading states; hover-bounce and decorative -loops are not part of the language. - -**Evidence:** -- `--animate-highlights-tab-fade-in: highlights-tab-fade-in 150ms ease forwards` (theme.css:1055) -- `@keyframes highlights-progress-fill / -drain / -tab-fade-in` (globals.css:44-72) -- `tw-animate-css` imported in globals.css:3 — provides `animate-in/out` utilities for Radix data-state -- `motion` (catalog dep) and `framer-motion` (catalog dep) used in `managerbot-web` for entry transitions -- The survey records 1 motion token and 23 `animate-spin` observations across 16 files; both are functional rather than decorative - -### font-sourcing - -The Square brand face is the only bundled type. Cash Sans is loaded -from `cash-f.squarecdn.com` at Regular (400), Medium (500), and Medium -again at 600 (intentional — Square's typeface ships no Semibold cut). -The fallback chain is `ui-sans-serif, system-ui, sans-serif, "Apple -Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"`, -so brand absence falls back to system-native rather than a generic -serif. There is no `--font-mono` or `--font-serif` token in the system. - -**Evidence:** -- `@font-face` x3 for Cash Sans (Regular/Medium/Medium-as-600), `font-display: swap` (globals.css:5-33) -- Source: `https://cash-f.squarecdn.com/static/fonts/cashsans/woff2/CashSans-{Regular,Medium}.woff2` -- `--font-sans: 'Cash Sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"` (theme.css:547) -- No `--font-mono` or `--font-serif` declared in the survey — code blocks rely on UA defaults via Tailwind's `font-mono` class diff --git a/dogfood/managerbot/map.md b/dogfood/managerbot/map.md deleted file mode 100644 index 118c7301..00000000 --- a/dogfood/managerbot/map.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -schema: ghost.map/v1 -id: managerbot -repo: squareup/square-web -subject: - id: managerbot - target: squareup/square-web/apps/managerbot -sources: - - id: managerbot - role: primary - target: squareup/square-web/apps/managerbot - paths: - - apps/managerbot/managerbot-web - - apps/managerbot/managerbot-storybook - - apps/managerbot/docs - - id: managerbot-ui - role: resolver - target: squareup/square-web/libs/managerbot/managerbot-ui - resolves: [color, spacing, typography, radius, shadow, motion, components] - paths: - - libs/managerbot/managerbot-ui -mapped_at: 2026-05-04 -platform: web -languages: - - { name: typescript, files: 3703, share: 0.908 } - - { name: json, files: 209, share: 0.051 } - - { name: markdown, files: 88, share: 0.022 } - - { name: yaml, files: 62, share: 0.015 } - - { name: javascript, files: 8, share: 0.002 } - - { name: css, files: 6, share: 0.001 } - - { name: shell, files: 4, share: 0.001 } -build_system: [nx, vite, pnpm] -package_manifests: - - apps/managerbot/managerbot-web/package.json - - apps/managerbot/managerbot-storybook/package.json - - apps/managerbot/managerbot-mcp/package.json - - apps/managerbot/managerbot-eval/package.json - - apps/managerbot/managerbot-e2e/package.json - - apps/managerbot/libs/ai-sdk-kgoose-provider/package.json - - libs/managerbot/managerbot-ai-server-tools/package.json - - libs/managerbot/managerbot-arazzo-engine/package.json - - libs/managerbot/managerbot-bff/package.json - - libs/managerbot/managerbot-kgoose/package.json - - libs/managerbot/managerbot-schemas/package.json - - libs/managerbot/managerbot-types-protos/package.json - - libs/managerbot/managerbot-ui/package.json -composition: - frameworks: - - { name: react, version: "19" } - - { name: react-router, version: "7" } - - { name: vite } - - { name: tailwindcss, version: "4" } - - { name: base-ui-react } - - { name: radix-ui } - - { name: motion } - - { name: vitest } - rendering: react-router-ssr - styling: - - tailwindcss - - css-vars - navigation: react-router -design_system: - paths: - - libs/managerbot/managerbot-ui/src/components - - libs/managerbot/managerbot-ui/src/components/ai-elements - - libs/managerbot/managerbot-ui/src/styles - - libs/managerbot/managerbot-ui/src/hooks - - libs/managerbot/managerbot-ui/src/utils - entry_files: - - libs/managerbot/managerbot-ui/components.json - - libs/managerbot/managerbot-ui/src/styles/globals.css - - libs/managerbot/managerbot-ui/src/styles/theme.css - - libs/managerbot/managerbot-ui/package.json - token_source: mixed - upstream: - - libs/managerbot/managerbot-ui - - "@squareup/market-react" - status: active -surface_sources: - render_strategy: static-source - include: - - libs/managerbot/managerbot-ui/src/components/** - - libs/managerbot/managerbot-ui/src/styles/** - - libs/managerbot/managerbot-ui/src/hooks/** - - apps/managerbot/managerbot-web/src/components/** - - apps/managerbot/managerbot-web/src/routes/** - - apps/managerbot/managerbot-storybook/** - exclude: - - "**/node_modules/**" - - "**/dist/**" - - "**/*.spec.ts" - - "**/*.spec.tsx" - - "**/*.stories.tsx" - - libs/managerbot/managerbot-ui/src/components/visx-charts/** - - libs/managerbot/managerbot-ui/src/components/rjsf/** - - apps/managerbot/managerbot-e2e/** - - apps/managerbot/managerbot-eval/** -feature_areas: - - name: ui-primitives - paths: - - libs/managerbot/managerbot-ui/src/components - sub_areas: - - shadcn-shell - - form-controls - - overlays - - layout - - name: ai-elements - paths: - - libs/managerbot/managerbot-ui/src/components/ai-elements - sub_areas: - - conversation - - prompt-input - - reasoning - - artifact - - canvas - - tool - - name: charts - paths: - - libs/managerbot/managerbot-ui/src/components/visx-charts - - name: web-app - paths: - - apps/managerbot/managerbot-web/src/routes - - apps/managerbot/managerbot-web/src/components - sub_areas: - - chat-conversation - - tasks - - pulse - - insights - - settings - - name: storybook - paths: - - apps/managerbot/managerbot-storybook - - name: design-tokens - paths: - - libs/managerbot/managerbot-ui/src/styles -orientation_files: - - apps/managerbot/README.md - - apps/managerbot/AGENTS.md - - apps/managerbot/managerbot-web/AGENTS.md - - libs/managerbot/managerbot-ui/AGENTS.md - - libs/managerbot/managerbot-ui/components.json - - libs/managerbot/managerbot-ui/src/styles/theme.css - - libs/managerbot/managerbot-ui/package.json ---- - -## Identity - -Managerbot is the TypeScript codebase behind go/managerbot — Square's -AI-powered seller assistant. It is one app within the larger `square-web` -Nx + pnpm monorepo, co-locating a React Router web app, an MCP server, a -shared UI library, evals, e2e tests, and a Storybook into a single -deploy unit. Sellers interact with it as a chat surface that drives -LLM-mediated tools against Square's APIs. - -## Topology - -The design system lives in `libs/managerbot/managerbot-ui` — a workspace package -(`@squareup/managerbot-ui`) consumed by `apps/managerbot/managerbot-web`. It is a -shadcn-flavored library: 130-plus primitive components plus an -`ai-elements/` sub-tree of LLM chat surfaces (conversation, prompt-input, -reasoning, artifact, canvas, tool) sourced from the -`registry.ai-sdk.dev` registry. Tokens are inline in -`src/styles/theme.css`, layered under `globals.css`. Charts use visx, -forms use react-hook-form + rjsf, motion is `motion`/framer-motion. - -Customer-facing UI lives in two places. The shared library is the -catalogue (also showcased in `apps/managerbot/managerbot-storybook`), and -`apps/managerbot/managerbot-web/src` is the consuming app — its `routes/` -tree (insights, tasks, pulse, session, settings, labs, panels) and -`components/` tree (chat-conversation, tools, tasks-popover, -pinned-widgets, pages) wire primitives into product surfaces. - -Excludes follow the usual monorepo noise (`node_modules`, `dist`) plus -test artifacts (`*.spec.tsx`, `*.stories.tsx`, `managerbot-e2e`, -`managerbot-eval`) and library wrappers that are secondary to the core -fingerprint (`visx-charts`, `rjsf`). - -## Conventions - -The repo uses pnpm catalog protocol (`catalog:managerbot`) to pin shared -dependencies across the monorepo, and Nx targets to orchestrate builds -(`nx run managerbot:dev`, `:build`, `:test:e2e`). The UI library exposes -its surface via package `exports` rather than a shadcn `registry.json` -— `components.json` configures style "new-york", `baseColor: neutral`, -Lucide icons, and a single external registry alias (`@ai-elements`). - -Theme tokens follow Tailwind 4's `@theme inline` pattern: raw color -ramps scoped under `.managerbot-ui-root`, a monochrome semantic layer -(`--background`/`--foreground`/`--primary`/...) defined twice for light -and `.dark`, and a `force-light` utility for forced color modes. The -font stack is "Cash Sans" (loaded from `cash-f.squarecdn.com`) over the -system sans fallback. Color ramps are oklch and span 18 stops from 50 -to 950 in custom +50 increments (`30/50/80/100/150/200/...`). Brand -hooks (`cashapp-*`, `square-*`) sit alongside the neutral/red/yellow/ -green/blue/purple core families, and Tailwind's full extended palette -(slate/gray/zinc/stone/rose/orange/amber/lime/emerald/teal/cyan/sky/ -indigo/violet/fuchsia/pink) is preserved for chart use. - -Orientation reading order is `apps/managerbot/README.md` (architecture -overview) → `apps/managerbot/AGENTS.md` (agent context) → -`libs/managerbot/managerbot-ui/components.json` (shadcn config) → -`libs/managerbot/managerbot-ui/src/styles/theme.css` (the canonical token -layer) → `libs/managerbot/managerbot-ui/package.json` (dependency -footprint). diff --git a/dogfood/managerbot/survey-gen.mjs b/dogfood/managerbot/survey-gen.mjs deleted file mode 100644 index dd055065..00000000 --- a/dogfood/managerbot/survey-gen.mjs +++ /dev/null @@ -1,657 +0,0 @@ -#!/usr/bin/env node -import { execSync } from "node:child_process"; -import { readdirSync, readFileSync } from "node:fs"; -import { join } from "node:path"; - -const MONOREPO_ROOT = "/Users/nahiyan/Development/square-web"; -const TARGET_ROOT = `${MONOREPO_ROOT}/apps/managerbot`; -const UI_ROOT = `${MONOREPO_ROOT}/libs/managerbot/managerbot-ui`; -const WEB_ROOT = `${TARGET_ROOT}/managerbot-web`; -const STORYBOOK_ROOT = `${TARGET_ROOT}/managerbot-storybook`; -const THEME_CSS = `${UI_ROOT}/src/styles/theme.css`; -const GLOBALS_CSS = `${UI_ROOT}/src/styles/globals.css`; -const COMPONENTS_DIR = `${UI_ROOT}/src/components`; -const SCANNED_AT = "2026-05-04T00:00:00-04:00"; -const COMMIT = execSync("git rev-parse --short HEAD", { - cwd: MONOREPO_ROOT, - encoding: "utf8", -}).trim(); - -const SOURCE = { - id: "managerbot", - role: "primary", - target: "squareup/square-web/apps/managerbot", - commit: COMMIT, - scanned_at: SCANNED_AT, - scanner_version: "dogfood-managerbot", -}; - -const themeRaw = readFileSync(THEME_CSS, "utf8"); -const globalsRaw = readFileSync(GLOBALS_CSS, "utf8"); - -// Walk the file linearly, tracking current selector/at-rule context. -// We only need the default token scope, dark overrides, and @theme inline. -function parseDecls(css) { - const lines = css.split("\n"); - const stack = []; - const decls = []; // { context, name, value, line } - for (let i = 0; i < lines.length; i++) { - const raw = lines[i]; - const trimmed = raw.trim(); - if (trimmed.endsWith("{")) { - const head = trimmed.replace(/\s*\{$/, "").trim(); - stack.push(head); - continue; - } - if (trimmed === "}") { - stack.pop(); - continue; - } - const m = raw.match(/^\s*(--[a-zA-Z0-9_-]+)\s*:\s*(.+?);?\s*$/); - if (m) { - const ctx = stack[stack.length - 1] || ""; - decls.push({ - context: ctx, - name: m[1], - value: m[2].replace(/;$/, "").trim(), - line: i + 1, - }); - } - } - return decls; -} - -const themeDecls = parseDecls(themeRaw); -// Filter out the @theme inline `--color-*` re-exports (mechanical Tailwind 4 -// alias layer for class atom generation; not part of the canonical token set). -function isMechanicalReExport(d) { - // The @theme inline block and the mirrored .managerbot-ui-root block both - // hold reexports prefixed with --color-. We keep radius, shadow, text, - // font, animate, etc.; those are canonical. We drop --color- if its - // value is exactly var(--). - if (!d.name.startsWith("--color-")) return false; - const stripped = d.name.replace(/^--color-/, ""); - return d.value === `var(--${stripped})`; -} - -const canonical = themeDecls.filter((d) => !isMechanicalReExport(d)); - -// Group by name → resolve aliases / by_theme. -// .managerbot-ui-root + @theme are the default theme; .dark and -// @utility .force-light add variants. -const byName = new Map(); -for (const d of canonical) { - const slot = byName.get(d.name) || { - name: d.name, - default: null, - variants: {}, - }; - if ( - d.context === ":root" || - d.context === ".managerbot-ui-root" || - d.context.startsWith("@theme") - ) { - if (!slot.default) slot.default = d; - } else if (d.context === ".dark" || d.context.includes(".dark")) { - slot.variants.dark = d; - } else if (d.context.includes("force-light")) { - slot.variants.forceLight = d; - } else { - // unknown — record under context name - slot.variants[d.context] = d; - } - byName.set(d.name, slot); -} - -// Resolve var() chains within the default token scope to literals where possible. -function resolveLiteral(value, scope) { - // scope: Map — recursion-safe via depth limit - const seen = new Set(); - let cur = value; - for (let depth = 0; depth < 8; depth++) { - const m = cur.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - if (!m) return cur; - if (seen.has(m[1])) return cur; - seen.add(m[1]); - const next = scope.get(m[1]); - if (!next) return cur; - cur = next; - } - return cur; -} - -const rootScope = new Map(); -for (const [name, slot] of byName) { - if (slot.default) rootScope.set(name, slot.default.value); -} - -// kind classifier -function classify(name, value) { - if (name.startsWith("--shadow-")) return "shadow"; - if (name.startsWith("--radius-")) return "radius"; - if (name.startsWith("--text-")) return "typography"; - if (name === "--font-sans") return "typography"; - if ( - name.startsWith("--width-") || - name === "--page-x-padding" || - name.startsWith("--core-icon-") - ) - return "spacing"; - if (name === "--border-width-hairline") return "spacing"; - if (name.startsWith("--animate-")) return "motion"; - // colors: anything that resolves to oklch(...) or oklab(...) or rgba(...) or # or var-of-color - if (/oklch|oklab|rgba?|hsla?|^#[0-9a-fA-F]/i.test(value)) return "color"; - // semantic color names - if ( - /^--(background|foreground|card|popover|primary|secondary|muted|subtle|accent|destructive|danger|success|warning|trend|border|input|ring|sidebar|panel|elevation|chart|popover-border|color-mix)/.test( - name, - ) - ) - return "color"; - // ramp-named tokens default to color - if ( - /^--(black|white|neutral|red|yellow|green|blue|purple|cashapp|square|slate|gray|zinc|stone|rose|orange|amber|lime|emerald|teal|cyan|sky|indigo|violet|fuchsia|pink)/.test( - name, - ) - ) - return "color"; - return "unknown"; -} - -function relativePath(file) { - return file.replace(`${MONOREPO_ROOT}/`, ""); -} - -// Compute occurrences of each TOKEN NAME across the UI surface. -// We do this by reading every .tsx/.ts/.css/.mdx file under the shared UI -// library, app, and Storybook package. -function walk(dir, out) { - const entries = readdirSync(dir, { withFileTypes: true }); - for (const e of entries) { - if (e.name === "node_modules" || e.name === "dist") continue; - const full = join(dir, e.name); - if (e.isDirectory()) walk(full, out); - else if (/\.(tsx?|css|jsx?|mdx?)$/.test(e.name)) out.push(full); - } - return out; -} - -const allFiles = [ - ...walk(`${UI_ROOT}/src`, []), - ...walk(`${WEB_ROOT}/src`, []), - ...walk(STORYBOOK_ROOT, []), -]; -const fileTexts = new Map(); -for (const f of allFiles) { - try { - fileTexts.set(f, readFileSync(f, "utf8")); - } catch {} -} - -function countOccurrences(needle) { - let occ = 0; - let files = 0; - for (const [, txt] of fileTexts) { - let m = 0; - let idx = txt.indexOf(needle); - while (idx !== -1) { - m++; - idx += needle.length; - idx = txt.indexOf(needle, idx); - } - if (m > 0) { - occ += m; - files++; - } - } - return { occ, files }; -} - -// Build tokens[] -const tokens = []; -for (const [name, slot] of byName) { - const def = slot.default; - if (!def) continue; - const kind = classify(name, def.value); - const aliasMatch = def.value.match(/^var\((--[a-zA-Z0-9_-]+)\)$/); - const alias_chain = aliasMatch ? [name, aliasMatch[1]] : []; - const resolved = resolveLiteral(def.value, rootScope); - - // Tailwind utility users reference tokens via class atoms (e.g. `bg-primary`, - // `text-neutral-500`). Counting `--token` matches CSS-var references only, - // which undercounts for the @theme inline tokens — but it's the most reliable - // cross-codebase signal we can produce without a full Tailwind pass. - const { occ, files } = countOccurrences(name); - - const row = { - id: "", - source: SOURCE, - name, - alias_chain, - resolved_value: resolved, - occurrences: occ, - files_count: files, - kind, - }; - - // by_theme — only for tokens with .dark variant - const variants = {}; - if (slot.variants.dark) variants.dark = slot.variants.dark.value; - if (slot.variants.forceLight) - variants.force_light = slot.variants.forceLight.value; - if (Object.keys(variants).length) { - row.by_theme = { default: def.value, ...variants }; - } - tokens.push(row); -} - -// Build values[] from distinct literal values observed in the design system. -// Each row should be a concrete literal that ships. -// Strategy: for each token whose resolved_value is a literal (oklch/rgba/px/rem/...), -// register one value row keyed by the literal, accumulating occurrences across tokens -// that share that literal. -const valueAcc = new Map(); // key: kind|literal → row - -function addValue( - kind, - literal, - source_token, - occ, - files, - usageKind = "token", -) { - const key = `${kind}|${literal}`; - if (!valueAcc.has(key)) { - valueAcc.set(key, { - id: "", - source: SOURCE, - kind, - value: literal, - raw: literal, - spec: deriveSpec(kind, literal), - occurrences: 0, - files_count: 0, - usage: {}, - tokens: [], - }); - } - const row = valueAcc.get(key); - row.occurrences += occ; - row.files_count = Math.max(row.files_count, files); - row.usage[usageKind] = (row.usage[usageKind] || 0) + occ; - row.tokens.push(source_token); -} - -function deriveSpec(kind, lit) { - if (kind === "color") { - if (lit.startsWith("oklch")) return { space: "oklch" }; - if (lit.startsWith("oklab")) return { space: "lab" }; - if (lit.startsWith("rgba") || lit.startsWith("rgb")) - return { space: "srgb" }; - if (lit.startsWith("#")) return { space: "srgb", hex: lit }; - return { space: "unknown" }; - } - if (kind === "radius" || kind === "spacing") { - const m = lit.match(/^([0-9.]+)(px|rem|em|%|vh|vw)$/); - if (m) return { unit: m[2], scalar: Number(m[1]) }; - return { raw: lit }; - } - if (kind === "typography") { - const m = lit.match(/^([0-9.]+)(px|rem|em)$/); - if (m) return { size: { unit: m[2], scalar: Number(m[1]) } }; - return { family: lit }; - } - if (kind === "shadow") return { raw: lit }; - if (kind === "motion") return { easing: lit }; - return { raw: lit }; -} - -for (const t of tokens) { - const lit = t.resolved_value; - if (lit.startsWith("var(")) continue; // unresolved alias — skip; the chain captures it - if (t.kind === "unknown") continue; - addValue(t.kind, lit, t.name, t.occurrences || 1, t.files_count || 1); -} - -function countRegex(regex) { - const byValue = new Map(); - for (const [file, txt] of fileTexts) { - regex.lastIndex = 0; - for (const m of txt.matchAll(regex)) { - const value = m[1]; - const slot = byValue.get(value) || { occ: 0, files: new Set() }; - slot.occ++; - slot.files.add(file); - byValue.set(value, slot); - } - } - return byValue; -} - -function normalizeBracketValue(value) { - return value.replace(/_/g, " "); -} - -for (const [rawValue, hit] of countRegex(/\brounded-\[([^\]]+)\]/g)) { - const literal = normalizeBracketValue(rawValue); - addValue( - "radius", - literal, - `rounded-[${rawValue}]`, - hit.occ, - hit.files.size, - "arbitrary_class", - ); -} - -for (const [rawValue, hit] of countRegex( - /\btext-\[([0-9.]+(?:px|rem|em))\]/g, -)) { - const literal = normalizeBracketValue(rawValue); - addValue( - "typography", - literal, - `text-[${rawValue}]`, - hit.occ, - hit.files.size, - "arbitrary_class", - ); -} - -for (const [rawValue, hit] of countRegex(/\bshadow-\[([^\]]+)\]/g)) { - const literal = normalizeBracketValue(rawValue); - addValue( - "shadow", - literal, - `shadow-[${rawValue}]`, - hit.occ, - hit.files.size, - "arbitrary_class", - ); -} - -for (const [rawValue, hit] of countRegex( - /\b(?:bg|text|border|fill|stroke)-\[(#[0-9a-fA-F]{3,8})\]/g, -)) { - const literal = rawValue.toUpperCase(); - addValue( - "color", - literal, - `[${rawValue}]`, - hit.occ, - hit.files.size, - "arbitrary_class", - ); -} - -for (const [rawValue, hit] of countRegex(/['"`](#[0-9a-fA-F]{6})['"`]/g)) { - const literal = rawValue.toUpperCase(); - addValue( - "color", - literal, - rawValue, - hit.occ, - hit.files.size, - "inline_literal", - ); -} - -for (const [rawValue, hit] of countRegex(/\b(transition:\s*all\b)/g)) { - addValue( - "motion", - rawValue, - rawValue, - hit.occ, - hit.files.size, - "inline_style", - ); -} - -for (const [rawValue, hit] of countRegex(/\b(animate-spin)\b/g)) { - addValue("motion", rawValue, rawValue, hit.occ, hit.files.size, "className"); -} - -// Add breakpoint values from globals.css and theme.css (basic regex on @media). -const bpHits = [ - ...themeRaw.matchAll(/@media \(min-width:\s*(\d+)px\)/g), - ...globalsRaw.matchAll(/@media \(min-width:\s*(\d+)px\)/g), -]; -const bpSet = new Set(); -for (const m of bpHits) bpSet.add(`${m[1]}px`); -for (const px of bpSet) { - const key = `breakpoint|${px}`; - valueAcc.set(key, { - id: "", - source: SOURCE, - kind: "breakpoint", - value: px, - raw: px, - spec: { unit: "px", scalar: Number(px.replace("px", "")) }, - occurrences: 1, - files_count: 1, - }); -} - -const values = Array.from(valueAcc.values()); - -// Build components[] from filesystem. -// Recurse into design_system paths but exclude visx-charts and rjsf per surface_sources. -function pascal(name) { - return name - .replace(/\.(tsx|ts)$/, "") - .replace(/(^|[-_/])([a-z])/g, (_, __, c) => c.toUpperCase()); -} - -const compFiles = []; -function collectComponents(dir, prefix = "") { - const entries = readdirSync(dir, { withFileTypes: true }); - for (const e of entries) { - if ( - e.name === "visx-charts" || - e.name === "rjsf" || - e.name === "icon-map.tsx" || - e.name === "icons.tsx" || - e.name === "icons.stories.tsx" - ) - continue; - const full = join(dir, e.name); - if (e.isDirectory()) { - collectComponents(full, prefix ? `${prefix}/${e.name}` : e.name); - } else if ( - /\.tsx$/.test(e.name) && - !/\.stories\.tsx$/.test(e.name) && - !/\.spec\.tsx$/.test(e.name) - ) { - compFiles.push({ - file: full, - slug: e.name.replace(/\.tsx$/, ""), - group: prefix, - }); - } - } -} -collectComponents(COMPONENTS_DIR); - -// Detect slug collisions across groups so we can disambiguate component names -// (componentRowId hashes only source + name, so duplicate names → duplicate IDs). -const slugCount = compFiles.reduce((m, c) => { - m[c.slug] = (m[c.slug] || 0) + 1; - return m; -}, {}); - -const components = compFiles.map(({ file, slug, group }) => { - const txt = readFileSync(file, "utf8"); - // Detect named exports (PascalCase). - const exports = new Set(); - for (const m of txt.matchAll( - /export\s+(?:const|function|class)\s+([A-Z][A-Za-z0-9_]*)/g, - )) { - exports.add(m[1]); - } - const variants = []; - // Detect cva() variant keys - const cvaMatch = txt.match(/cva\([\s\S]*?variants:\s*\{([\s\S]*?)\}\s*[,}]/m); - if (cvaMatch) { - const variantBlock = cvaMatch[1]; - for (const v of variantBlock.matchAll(/^\s*(\w+):\s*\{([^}]*)\}/gm)) { - variants.push({ - prop: v[1], - options: [...v[2].matchAll(/['"]?([\w-]+)['"]?\s*:/g)].map((x) => x[1]), - }); - } - } - const sizes = variants.find((v) => v.prop === "size")?.options || []; - const variantValues = - variants.find((v) => v.prop === "variant")?.options || []; - const baseName = pascal(slug); - const qualifiedName = - slugCount[slug] > 1 && group ? `${group}/${baseName}` : baseName; - return { - id: "", - source: SOURCE, - name: qualifiedName, - discovered_via: "heuristic", - file: relativePath(file), - group: group || "primitive", - exports: [...exports], - variants: variantValues, - sizes, - occurrences: 1, - }; -}); - -const survey = { - schema: "ghost.survey/v1", - sources: [SOURCE], - values, - tokens, - components, - ui_surfaces: [ - { - id: "", - source: SOURCE, - name: "Managerbot conversation surface", - kind: "source", - locator: "apps/managerbot/managerbot-web/src/routes", - renderability: "source-only", - files: [ - "apps/managerbot/managerbot-web/src/routes", - "apps/managerbot/managerbot-web/src/components", - "libs/managerbot/managerbot-ui/src/components/ai-elements", - ], - classification: { - intent: "operate an AI workflow", - surface_type: "agent-workspace", - density: "standard", - layout_shape: "control-surface", - confidence: 0.7, - }, - signals: { - dominant_components: [ - "PromptInput", - "Conversation", - "Artifact", - "Button", - ], - layout_patterns: [ - "conversation pane with prompt controls and artifact surfaces", - ], - notes: [ - "Source-only scan across web routes and managerbot UI components.", - ], - }, - }, - { - id: "", - source: SOURCE, - name: "Pulse dashboard", - kind: "source", - locator: "apps/managerbot/managerbot-web/src/routes/pulse.tsx", - renderability: "source-only", - files: [ - "apps/managerbot/managerbot-web/src/routes/pulse.tsx", - "apps/managerbot/managerbot-web/src/components/pages/Pulse", - "apps/managerbot/managerbot-web/src/components/pinned-widgets", - ], - classification: { - intent: "monitor seller metrics and insights", - surface_type: "dashboard", - density: "standard", - layout_shape: "tracker", - confidence: 0.75, - }, - signals: { - dominant_components: ["View", "InsightsContent", "PinnedWidgets"], - layout_patterns: ["wide content rail", "section stack", "metric cards"], - notes: [ - "Pulse uses the View layout primitives with wide content and repeated insight/widget modules.", - ], - }, - }, - { - id: "", - source: SOURCE, - name: "Tasks list", - kind: "source", - locator: "apps/managerbot/managerbot-web/src/routes/tasks.tsx", - renderability: "source-only", - files: [ - "apps/managerbot/managerbot-web/src/routes/tasks.tsx", - "apps/managerbot/managerbot-web/src/components/tasks", - ], - classification: { - intent: "review and resume AI sessions", - surface_type: "task-list", - density: "standard", - layout_shape: "tracker", - confidence: 0.78, - }, - signals: { - dominant_components: ["View", "ItemGroup", "Item", "Empty", "Skeleton"], - layout_patterns: [ - "sectioned list", - "recent and needs-attention groups", - ], - notes: [ - "Tasks uses narrow View content, stacked sections, and item rows rather than freeform cards.", - ], - }, - }, - { - id: "", - source: SOURCE, - name: "Automation management", - kind: "source", - locator: - "apps/managerbot/managerbot-web/src/routes/panels/automations.tsx", - renderability: "source-only", - files: [ - "apps/managerbot/managerbot-web/src/routes/panels/automations.tsx", - "apps/managerbot/managerbot-web/src/components/automations", - ], - classification: { - intent: "configure recurring AI work", - surface_type: "automation-panel", - density: "standard", - layout_shape: "control-surface", - confidence: 0.75, - }, - signals: { - dominant_components: ["View", "Item", "Badge", "Popover", "Select"], - layout_patterns: [ - "panel list", - "suggested automation cards", - "compact popover controls", - ], - notes: [ - "Automation surfaces use Managerbot primitives but contain local rounded and shadow overrides for schedule popovers.", - ], - }, - }, - ], -}; - -console.log(JSON.stringify(survey, null, 2)); -process.stderr.write( - `tokens: ${tokens.length}\nvalues: ${values.length}\ncomponents: ${components.length}\n`, -); diff --git a/dogfood/managerbot/survey.json b/dogfood/managerbot/survey.json deleted file mode 100644 index eb0b2d63..00000000 --- a/dogfood/managerbot/survey.json +++ /dev/null @@ -1,20609 +0,0 @@ -{ - "schema": "ghost.survey/v1", - "sources": [ - { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - } - ], - "values": [ - { - "id": "e7bc1a56c194f9ef", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(0.00% 0.0000 0.00)", - "raw": "oklch(0.00% 0.0000 0.00)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--black"] - }, - { - "id": "382901d030de7287", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(100.00% 0.0000 89.88)", - "raw": "oklch(100.00% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 63, - "files_count": 5, - "usage": { - "token": 63 - }, - "tokens": [ - "--white", - "--background", - "--card", - "--popover", - "--elevation-1" - ] - }, - { - "id": "1acd8482b87177b7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.72% 0.0000 89.88)", - "raw": "oklch(97.72% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "token": 8 - }, - "tokens": ["--neutral-30"] - }, - { - "id": "0334ee8fac7ccbdc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.42% 0.0000 89.88)", - "raw": "oklch(95.42% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 53, - "files_count": 1, - "usage": { - "token": 53 - }, - "tokens": [ - "--neutral-50", - "--primary-foreground", - "--secondary", - "--muted", - "--sidebar-primary-foreground" - ] - }, - { - "id": "f3b9c9a41e575684", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(93.12% 0.0000 89.88)", - "raw": "oklch(93.12% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--neutral-80"] - }, - { - "id": "57086367fc473c61", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.57% 0.0000 89.88)", - "raw": "oklch(91.57% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 30, - "files_count": 2, - "usage": { - "token": 30 - }, - "tokens": ["--neutral-100", "--accent", "--border", "--sidebar-border"] - }, - { - "id": "e9c783c0ee016f1c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.89% 0.0000 89.88)", - "raw": "oklch(86.89% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 1, - "usage": { - "token": 10 - }, - "tokens": ["--neutral-150", "--input"] - }, - { - "id": "7a8b8e5d18bab520", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.94% 0.0000 89.88)", - "raw": "oklch(82.94% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--neutral-200"] - }, - { - "id": "f9ec6a6c8bc8a504", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.13% 0.0000 89.88)", - "raw": "oklch(78.13% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "token": 5 - }, - "tokens": ["--neutral-250"] - }, - { - "id": "c3f057d108e9a767", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(74.07% 0.0000 89.88)", - "raw": "oklch(74.07% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 1, - "usage": { - "token": 10 - }, - "tokens": ["--neutral-300", "--trend-neutral"] - }, - { - "id": "7961494f1fca4aae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(69.96% 0.0000 89.88)", - "raw": "oklch(69.96% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--neutral-350"] - }, - { - "id": "4e6584d83cecb698", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.94% 0.0000 89.88)", - "raw": "oklch(64.94% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 17, - "files_count": 1, - "usage": { - "token": 17 - }, - "tokens": ["--neutral-400", "--ring", "--sidebar-ring"] - }, - { - "id": "db093cadc77a05bb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.68% 0.0000 89.88)", - "raw": "oklch(60.68% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--neutral-450"] - }, - { - "id": "783031b8d27e1bbc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(56.34% 0.0000 89.88)", - "raw": "oklch(56.34% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 15, - "files_count": 1, - "usage": { - "token": 15 - }, - "tokens": ["--neutral-500", "--neutral-base", "--muted-foreground"] - }, - { - "id": "6e081e2b8b8fa6fa", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.92% 0.0000 89.88)", - "raw": "oklch(51.92% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--neutral-550"] - }, - { - "id": "1dac56f54774abb5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(47.41% 0.0000 89.88)", - "raw": "oklch(47.41% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 11, - "files_count": 1, - "usage": { - "token": 11 - }, - "tokens": ["--neutral-600", "--subtle-foreground"] - }, - { - "id": "0aa2e4cbed71f579", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(43.71% 0.0000 89.88)", - "raw": "oklch(43.71% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--neutral-650"] - }, - { - "id": "eaaf2f7d686f5924", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(38.99% 0.0000 89.88)", - "raw": "oklch(38.99% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 1, - "usage": { - "token": 9 - }, - "tokens": ["--neutral-700", "--sidebar-foreground"] - }, - { - "id": "47ce509c616cac1b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(35.10% 0.0000 89.88)", - "raw": "oklch(35.10% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--neutral-750"] - }, - { - "id": "a9cde25c99c654cd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(30.08% 0.0000 89.88)", - "raw": "oklch(30.08% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--neutral-800"] - }, - { - "id": "44244a67df67116f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(26.97% 0.0000 89.88)", - "raw": "oklch(26.97% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--neutral-850"] - }, - { - "id": "a97a512366870101", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(21.56% 0.0000 89.88)", - "raw": "oklch(21.56% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 45, - "files_count": 2, - "usage": { - "token": 45 - }, - "tokens": [ - "--neutral-900", - "--primary", - "--secondary-foreground", - "--accent-foreground", - "--sidebar-primary" - ] - }, - { - "id": "a06927a24636461b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(16.98% 0.0000 89.88)", - "raw": "oklch(16.98% 0.0000 89.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 38, - "files_count": 2, - "usage": { - "token": 38 - }, - "tokens": [ - "--neutral-950", - "--foreground", - "--card-foreground", - "--popover-foreground", - "--sidebar-accent-foreground", - "--panel-foreground" - ] - }, - { - "id": "5df36ef7ad0d027c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.78% 0.0180 17.47)", - "raw": "oklch(95.78% 0.0180 17.47)", - "spec": { - "space": "oklch" - }, - "occurrences": 22, - "files_count": 1, - "usage": { - "token": 22 - }, - "tokens": ["--red-50", "--destructive-foreground", "--danger-foreground"] - }, - { - "id": "67a03dd3b6918917", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.50% 0.0387 17.88)", - "raw": "oklch(91.50% 0.0387 17.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--red-100"] - }, - { - "id": "81dcb82cf59ae4f5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.39% 0.0588 18.34)", - "raw": "oklch(87.39% 0.0588 18.34)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-150"] - }, - { - "id": "3371ddbc2e52a127", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(83.31% 0.0812 18.93)", - "raw": "oklch(83.31% 0.0812 18.93)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-200"] - }, - { - "id": "3ab03652f3a5d4c3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(79.44% 0.1024 19.59)", - "raw": "oklch(79.44% 0.1024 19.59)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-250"] - }, - { - "id": "2b076a4d29a87fa3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(75.70% 0.1250 20.41)", - "raw": "oklch(75.70% 0.1250 20.41)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-300"] - }, - { - "id": "4463992181f82952", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(71.34% 0.1532 21.68)", - "raw": "oklch(71.34% 0.1532 21.68)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-350"] - }, - { - "id": "9251fcd7ffa7156b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(67.45% 0.1801 23.23)", - "raw": "oklch(67.45% 0.1801 23.23)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--red-400"] - }, - { - "id": "f70a10cbf9c809c0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(63.56% 0.2082 25.38)", - "raw": "oklch(63.56% 0.2082 25.38)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-450"] - }, - { - "id": "e28234eae3a8a5c3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(59.49% 0.2366 28.55)", - "raw": "oklch(59.49% 0.2366 28.55)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--red-500", "--red-base"] - }, - { - "id": "136707072e4bda85", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.00% 0.2181 28.49)", - "raw": "oklch(55.00% 0.2181 28.49)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-550"] - }, - { - "id": "544acbe57add79e2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(50.42% 0.1991 28.41)", - "raw": "oklch(50.42% 0.1991 28.41)", - "spec": { - "space": "oklch" - }, - "occurrences": 28, - "files_count": 2, - "usage": { - "token": 28 - }, - "tokens": ["--red-600", "--destructive", "--danger"] - }, - { - "id": "f354183d39a1b00a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.74% 0.1797 28.31)", - "raw": "oklch(45.74% 0.1797 28.31)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-650"] - }, - { - "id": "d5aa9f1160399bfc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(40.94% 0.1597 28.16)", - "raw": "oklch(40.94% 0.1597 28.16)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-700"] - }, - { - "id": "46b7bdf3d478aba8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.10% 0.1441 28.08)", - "raw": "oklch(37.10% 0.1441 28.08)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-750"] - }, - { - "id": "e2c9686dfbb76f1e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(31.87% 0.1207 27.60)", - "raw": "oklch(31.87% 0.1207 27.60)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--red-800"] - }, - { - "id": "c51eeb4c7a0853c9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.75% 0.1037 27.37)", - "raw": "oklch(27.75% 0.1037 27.37)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-850"] - }, - { - "id": "cb387f51913f20a7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(23.39% 0.0850 26.89)", - "raw": "oklch(23.39% 0.0850 26.89)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-900"] - }, - { - "id": "be51fea94b879fac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(17.60% 0.0618 26.34)", - "raw": "oklch(17.60% 0.0618 26.34)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--red-950"] - }, - { - "id": "8ef1026e3241730c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.36% 0.0582 93.11)", - "raw": "oklch(95.36% 0.0582 93.11)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--yellow-50"] - }, - { - "id": "0f46bb06414f3f39", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.04% 0.1056 91.66)", - "raw": "oklch(91.04% 0.1056 91.66)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--yellow-100"] - }, - { - "id": "6f6cafd066e160ce", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.57% 0.1493 90.18)", - "raw": "oklch(86.57% 0.1493 90.18)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-150"] - }, - { - "id": "cdb111f848305558", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.83% 0.1680 85.60)", - "raw": "oklch(82.83% 0.1680 85.60)", - "spec": { - "space": "oklch" - }, - "occurrences": 15, - "files_count": 1, - "usage": { - "token": 15 - }, - "tokens": ["--yellow-200", "--warning"] - }, - { - "id": "75f5df0e94da0c74", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.58% 0.1598 85.31)", - "raw": "oklch(78.58% 0.1598 85.31)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--yellow-250", "--yellow-base"] - }, - { - "id": "e8645be7b3c8006b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(73.77% 0.1501 85.30)", - "raw": "oklch(73.77% 0.1501 85.30)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-300"] - }, - { - "id": "7b1c8bdb6d358a4b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(69.72% 0.1415 85.57)", - "raw": "oklch(69.72% 0.1415 85.57)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-350"] - }, - { - "id": "bf9ae7d0c5cffe5d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(65.31% 0.1324 87.61)", - "raw": "oklch(65.31% 0.1324 87.61)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-400"] - }, - { - "id": "9eef402fc97e9f66", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.56% 0.1226 85.92)", - "raw": "oklch(60.56% 0.1226 85.92)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-450"] - }, - { - "id": "e0cd2a9bafa5acac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(56.53% 0.1142 86.12)", - "raw": "oklch(56.53% 0.1142 86.12)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-500"] - }, - { - "id": "3e1f2a64eff412b7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(52.43% 0.1058 86.35)", - "raw": "oklch(52.43% 0.1058 86.35)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-550"] - }, - { - "id": "4aee26fb60cbc327", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(48.67% 0.0979 88.54)", - "raw": "oklch(48.67% 0.0979 88.54)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-600"] - }, - { - "id": "a596a373fa62acdb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.10% 0.0888 86.90)", - "raw": "oklch(44.10% 0.0888 86.90)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-650"] - }, - { - "id": "eb0fb618cf772d21", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.59% 0.0792 87.47)", - "raw": "oklch(39.59% 0.0792 87.47)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-700"] - }, - { - "id": "b7f411ff94d2a065", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(34.99% 0.0694 88.16)", - "raw": "oklch(34.99% 0.0694 88.16)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-750"] - }, - { - "id": "803762ab978676c7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(30.75% 0.0612 90.61)", - "raw": "oklch(30.75% 0.0612 90.61)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--yellow-800"] - }, - { - "id": "445f84bfdab75fcf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.16% 0.0531 89.80)", - "raw": "oklch(27.16% 0.0531 89.80)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-850"] - }, - { - "id": "9d9a3528a91bfdd1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(22.28% 0.0437 91.63)", - "raw": "oklch(22.28% 0.0437 91.63)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--yellow-900"] - }, - { - "id": "9be936c6262bb163", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(16.77% 0.0313 93.87)", - "raw": "oklch(16.77% 0.0313 93.87)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 1, - "usage": { - "token": 10 - }, - "tokens": ["--yellow-950", "--warning-foreground"] - }, - { - "id": "c593a351cc913c24", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(94.82% 0.0422 169.29)", - "raw": "oklch(94.82% 0.0422 169.29)", - "spec": { - "space": "oklch" - }, - "occurrences": 14, - "files_count": 1, - "usage": { - "token": 14 - }, - "tokens": ["--green-50", "--success-foreground"] - }, - { - "id": "dbecc0f4efff5c22", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(89.95% 0.0807 168.66)", - "raw": "oklch(89.95% 0.0807 168.66)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--green-100"] - }, - { - "id": "2882a10e7b383fad", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(85.35% 0.1197 167.35)", - "raw": "oklch(85.35% 0.1197 167.35)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-150"] - }, - { - "id": "d7697b60f489a87f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(80.58% 0.1574 162.70)", - "raw": "oklch(80.58% 0.1574 162.70)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-200"] - }, - { - "id": "5253712c53dc337d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(76.38% 0.1641 160.63)", - "raw": "oklch(76.38% 0.1641 160.63)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-250"] - }, - { - "id": "bcb882b9c2c61845", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(72.79% 0.1560 160.70)", - "raw": "oklch(72.79% 0.1560 160.70)", - "spec": { - "space": "oklch" - }, - "occurrences": 14, - "files_count": 2, - "usage": { - "token": 14 - }, - "tokens": ["--green-300", "--green-base", "--chart-11"] - }, - { - "id": "89c3cce3ee2f730e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(67.94% 0.1450 160.80)", - "raw": "oklch(67.94% 0.1450 160.80)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-350"] - }, - { - "id": "4e5302442b51e6a2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.24% 0.1366 160.89)", - "raw": "oklch(64.24% 0.1366 160.89)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-400"] - }, - { - "id": "5722f99717903112", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(59.23% 0.1253 161.04)", - "raw": "oklch(59.23% 0.1253 161.04)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-450"] - }, - { - "id": "ec2084a735a73084", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.40% 0.1166 161.17)", - "raw": "oklch(55.40% 0.1166 161.17)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--green-500"] - }, - { - "id": "886ec20430092c54", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(50.19% 0.1047 161.37)", - "raw": "oklch(50.19% 0.1047 161.37)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-550"] - }, - { - "id": "9bec0a29b4f44a70", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(47.54% 0.0986 161.50)", - "raw": "oklch(47.54% 0.0986 161.50)", - "spec": { - "space": "oklch" - }, - "occurrences": 21, - "files_count": 2, - "usage": { - "token": 21 - }, - "tokens": ["--green-600", "--success", "--chart-12"] - }, - { - "id": "cb1324675a801603", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(42.12% 0.0861 161.81)", - "raw": "oklch(42.12% 0.0861 161.81)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-650"] - }, - { - "id": "4f2b1612e1af1043", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(38.09% 0.0761 163.02)", - "raw": "oklch(38.09% 0.0761 163.02)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-700"] - }, - { - "id": "5cad7115e25f90ba", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(33.77% 0.0661 163.42)", - "raw": "oklch(33.77% 0.0661 163.42)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-750"] - }, - { - "id": "9807fe8924fad6ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(30.79% 0.0600 162.74)", - "raw": "oklch(30.79% 0.0600 162.74)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--green-800"] - }, - { - "id": "ed9ec8bcf3f28a3f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(26.22% 0.0492 163.52)", - "raw": "oklch(26.22% 0.0492 163.52)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-850"] - }, - { - "id": "77cf8c349e1dc120", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(21.43% 0.0378 164.98)", - "raw": "oklch(21.43% 0.0378 164.98)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-900"] - }, - { - "id": "9ab339247b0a0647", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(16.38% 0.0261 169.50)", - "raw": "oklch(16.38% 0.0261 169.50)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--green-950"] - }, - { - "id": "a69d7542b88f82a5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.09% 0.0180 286.06)", - "raw": "oklch(96.09% 0.0180 286.06)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--blue-50"] - }, - { - "id": "f8f91560c7c3be8c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.95% 0.0390 285.61)", - "raw": "oklch(91.95% 0.0390 285.61)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-100"] - }, - { - "id": "af1cbb7b4e4ae171", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.69% 0.0647 284.97)", - "raw": "oklch(86.69% 0.0647 284.97)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-150"] - }, - { - "id": "4b9b343ace071c1a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.77% 0.0843 284.41)", - "raw": "oklch(82.77% 0.0843 284.41)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-200"] - }, - { - "id": "358d0ff99d9fec78", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.90% 0.1038 283.77)", - "raw": "oklch(78.90% 0.1038 283.77)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-250"] - }, - { - "id": "bb3db28d216ea7ef", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(74.76% 0.1273 282.88)", - "raw": "oklch(74.76% 0.1273 282.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-300"] - }, - { - "id": "55077b8e1de0dc71", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.96% 0.1471 281.99)", - "raw": "oklch(70.96% 0.1471 281.99)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-350"] - }, - { - "id": "cbe0754c8aadef83", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(67.12% 0.1682 280.87)", - "raw": "oklch(67.12% 0.1682 280.87)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-400"] - }, - { - "id": "50135d556805e37b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(62.01% 0.1980 278.94)", - "raw": "oklch(62.01% 0.1980 278.94)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-450"] - }, - { - "id": "54c9be621de207f5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(58.57% 0.2160 277.40)", - "raw": "oklch(58.57% 0.2160 277.40)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-500"] - }, - { - "id": "24097df522e8b614", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(54.14% 0.2411 274.78)", - "raw": "oklch(54.14% 0.2411 274.78)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-550"] - }, - { - "id": "059acce6c7d81ade", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(50.25% 0.2633 271.74)", - "raw": "oklch(50.25% 0.2633 271.74)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--blue-600", "--blue-base"] - }, - { - "id": "aedc27e20a919c09", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(46.47% 0.2854 267.82)", - "raw": "oklch(46.47% 0.2854 267.82)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-650"] - }, - { - "id": "044410513d39bce1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(42.24% 0.2846 265.00)", - "raw": "oklch(42.24% 0.2846 265.00)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-700"] - }, - { - "id": "15176324ec49f17a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.54% 0.2514 265.20)", - "raw": "oklch(37.54% 0.2514 265.20)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-750"] - }, - { - "id": "4d17331663b51b65", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(33.39% 0.2220 265.44)", - "raw": "oklch(33.39% 0.2220 265.44)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-800"] - }, - { - "id": "bc1dba0d82a3621a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(28.39% 0.1864 265.84)", - "raw": "oklch(28.39% 0.1864 265.84)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-850"] - }, - { - "id": "db694f2bee9539d9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(23.93% 0.1544 266.37)", - "raw": "oklch(23.93% 0.1544 266.37)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-900"] - }, - { - "id": "873b195afaa3dcfb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(18.40% 0.1160 267.07)", - "raw": "oklch(18.40% 0.1160 267.07)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--blue-950"] - }, - { - "id": "d07449730e2f5b26", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.51% 0.0262 309.51)", - "raw": "oklch(95.51% 0.0262 309.51)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--purple-50"] - }, - { - "id": "22f95c0a4ed0f85a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.24% 0.0466 310.65)", - "raw": "oklch(92.24% 0.0466 310.65)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-100"] - }, - { - "id": "042d1745e70c408c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.78% 0.0736 309.66)", - "raw": "oklch(87.78% 0.0736 309.66)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-150"] - }, - { - "id": "65a5adaa9eb37bb2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(83.40% 0.1012 309.30)", - "raw": "oklch(83.40% 0.1012 309.30)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-200"] - }, - { - "id": "e46457bc25481db8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(80.06% 0.1246 308.96)", - "raw": "oklch(80.06% 0.1246 308.96)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-250"] - }, - { - "id": "2e04796c86fb2133", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(75.82% 0.1525 308.47)", - "raw": "oklch(75.82% 0.1525 308.47)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-300"] - }, - { - "id": "38002baf239a200b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(71.72% 0.1797 307.88)", - "raw": "oklch(71.72% 0.1797 307.88)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-350"] - }, - { - "id": "5826bb3db29885fd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(67.81% 0.2055 307.15)", - "raw": "oklch(67.81% 0.2055 307.15)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-400"] - }, - { - "id": "a83ed856088e3e49", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(63.28% 0.2344 305.98)", - "raw": "oklch(63.28% 0.2344 305.98)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-450"] - }, - { - "id": "c6f3ec1b638ea80c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.06% 0.2517 304.85)", - "raw": "oklch(60.06% 0.2517 304.85)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-500"] - }, - { - "id": "bbf63aef22fa6839", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.95% 0.2723 302.42)", - "raw": "oklch(55.95% 0.2723 302.42)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-550"] - }, - { - "id": "0e4fea54072e1d78", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.81% 0.2718 299.74)", - "raw": "oklch(51.81% 0.2718 299.74)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-600"] - }, - { - "id": "538aa4b878818ef0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(47.08% 0.2467 299.80)", - "raw": "oklch(47.08% 0.2467 299.80)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-650"] - }, - { - "id": "4ccd06e2d1357f65", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(42.06% 0.2184 300.28)", - "raw": "oklch(42.06% 0.2184 300.28)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-700"] - }, - { - "id": "c55085f65abe0cbb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.89% 0.1962 300.45)", - "raw": "oklch(37.89% 0.1962 300.45)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-750"] - }, - { - "id": "5d6b240f6aa97ce8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(32.65% 0.1672 301.01)", - "raw": "oklch(32.65% 0.1672 301.01)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-800"] - }, - { - "id": "af35ea0c90438340", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(28.09% 0.1411 301.82)", - "raw": "oklch(28.09% 0.1411 301.82)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-850"] - }, - { - "id": "342706292be50105", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(23.39% 0.1148 302.86)", - "raw": "oklch(23.39% 0.1148 302.86)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-900"] - }, - { - "id": "c696be266ec21c5f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(18.39% 0.0887 304.57)", - "raw": "oklch(18.39% 0.0887 304.57)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-950"] - }, - { - "id": "322157a2e7750e20", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(65.08% 0.2214 306.55)", - "raw": "oklch(65.08% 0.2214 306.55)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--purple-base"] - }, - { - "id": "13a958456ef22112", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.5% 0.065 145.0)", - "raw": "oklch(97.5% 0.065 145.0)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--cashapp-50"] - }, - { - "id": "b91a416ed9446811", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(93.5% 0.215 143.5)", - "raw": "oklch(93.5% 0.215 143.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-100"] - }, - { - "id": "62d02cff7a8654cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(88.0% 0.315 142.5)", - "raw": "oklch(88.0% 0.315 142.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-150"] - }, - { - "id": "bffcb078f20d0ad2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(85.0% 0.302 142.3)", - "raw": "oklch(85.0% 0.302 142.3)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-200"] - }, - { - "id": "a292a6517d9fef6f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(81.5% 0.287 142.1)", - "raw": "oklch(81.5% 0.287 142.1)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-250"] - }, - { - "id": "0053df33aead1e48", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(77.5% 0.269 141.9)", - "raw": "oklch(77.5% 0.269 141.9)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-300"] - }, - { - "id": "91645881ef1dba98", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(73.0% 0.251 141.7)", - "raw": "oklch(73.0% 0.251 141.7)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-350"] - }, - { - "id": "e77c9c9e4903d1b3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(69.0% 0.233 141.6)", - "raw": "oklch(69.0% 0.233 141.6)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-400"] - }, - { - "id": "0ba5c487f15805f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.5% 0.214 141.4)", - "raw": "oklch(64.5% 0.214 141.4)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-450"] - }, - { - "id": "ba01cbb95b88c0be", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.0% 0.195 141.2)", - "raw": "oklch(60.0% 0.195 141.2)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-500"] - }, - { - "id": "1134fdfa9cbe7c99", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.0% 0.176 141.1)", - "raw": "oklch(55.0% 0.176 141.1)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-550"] - }, - { - "id": "3fe4659087139bf6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(49.5% 0.156 140.9)", - "raw": "oklch(49.5% 0.156 140.9)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-600"] - }, - { - "id": "340b9777b667217a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.5% 0.137 140.7)", - "raw": "oklch(44.5% 0.137 140.7)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-650"] - }, - { - "id": "7476e71b71e6c0a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.0% 0.117 140.5)", - "raw": "oklch(39.0% 0.117 140.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-700"] - }, - { - "id": "15833028ba5dda09", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(34.0% 0.098 140.3)", - "raw": "oklch(34.0% 0.098 140.3)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-750"] - }, - { - "id": "287356bd45215215", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(28.5% 0.079 140.1)", - "raw": "oklch(28.5% 0.079 140.1)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-800"] - }, - { - "id": "3685d99ed802a63d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(23.5% 0.061 139.9)", - "raw": "oklch(23.5% 0.061 139.9)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-850"] - }, - { - "id": "cd20c5b1ced28ff3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(18.0% 0.044 139.7)", - "raw": "oklch(18.0% 0.044 139.7)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-900"] - }, - { - "id": "34f6ac9a6b8e1bbf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(12.5% 0.028 139.5)", - "raw": "oklch(12.5% 0.028 139.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cashapp-950"] - }, - { - "id": "48acdc25ceb18053", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.0% 0.034 264.5)", - "raw": "oklch(96.0% 0.034 264.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--square-50"] - }, - { - "id": "de5a6e92348d67d1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.5% 0.060 264.3)", - "raw": "oklch(91.5% 0.060 264.3)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-100"] - }, - { - "id": "aa3632d33d8b6710", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.0% 0.087 264.2)", - "raw": "oklch(87.0% 0.087 264.2)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-150"] - }, - { - "id": "677e26da1af5f7f9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.5% 0.111 264.1)", - "raw": "oklch(82.5% 0.111 264.1)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-200"] - }, - { - "id": "84026526507e230b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.0% 0.133 264.0)", - "raw": "oklch(78.0% 0.133 264.0)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-250"] - }, - { - "id": "476e839324a14b85", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(73.5% 0.153 263.9)", - "raw": "oklch(73.5% 0.153 263.9)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-300"] - }, - { - "id": "1096ab9587d8d34f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(69.0% 0.176 263.8)", - "raw": "oklch(69.0% 0.176 263.8)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-350"] - }, - { - "id": "9d2b8a2baf83c195", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(65.0% 0.204 263.7)", - "raw": "oklch(65.0% 0.204 263.7)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-400"] - }, - { - "id": "4fb19ae5fa99f1d0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(61.0% 0.234 263.6)", - "raw": "oklch(61.0% 0.234 263.6)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-450"] - }, - { - "id": "c9c8b8bffbba08f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(57.0% 0.263 263.5)", - "raw": "oklch(57.0% 0.263 263.5)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-500"] - }, - { - "id": "e488e81153d040f2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.5% 0.250 263.4)", - "raw": "oklch(51.5% 0.250 263.4)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-550"] - }, - { - "id": "748fa51e479204b6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(46.5% 0.236 263.3)", - "raw": "oklch(46.5% 0.236 263.3)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-600"] - }, - { - "id": "2b06a36b281a5988", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(41.0% 0.220 263.2)", - "raw": "oklch(41.0% 0.220 263.2)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-650"] - }, - { - "id": "965440d2d657bc1c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(35.5% 0.202 263.1)", - "raw": "oklch(35.5% 0.202 263.1)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-700"] - }, - { - "id": "04c59f91625a0a03", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(30.5% 0.182 263.0)", - "raw": "oklch(30.5% 0.182 263.0)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-750"] - }, - { - "id": "554f71c3c8267050", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(25.0% 0.160 262.9)", - "raw": "oklch(25.0% 0.160 262.9)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-800"] - }, - { - "id": "a4521e3a837fb03d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(20.0% 0.126 262.8)", - "raw": "oklch(20.0% 0.126 262.8)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-850"] - }, - { - "id": "30f3b0a148072e91", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(14.5% 0.092 262.7)", - "raw": "oklch(14.5% 0.092 262.7)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-900"] - }, - { - "id": "1f54da52f3d3f68e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(9.0% 0.057 262.6)", - "raw": "oklch(9.0% 0.057 262.6)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--square-950"] - }, - { - "id": "3fd5800018403951", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.4% 0.003 247.858)", - "raw": "oklch(98.4% 0.003 247.858)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--slate-50"] - }, - { - "id": "d1a3591574ba678b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.8% 0.007 247.896)", - "raw": "oklch(96.8% 0.007 247.896)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-100"] - }, - { - "id": "602e7d11cabfaaab", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.9% 0.013 255.508)", - "raw": "oklch(92.9% 0.013 255.508)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-200"] - }, - { - "id": "11c4294ee4560554", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.9% 0.022 252.894)", - "raw": "oklch(86.9% 0.022 252.894)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-300"] - }, - { - "id": "ed928d433e44703a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.4% 0.04 256.788)", - "raw": "oklch(70.4% 0.04 256.788)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-400"] - }, - { - "id": "782bbec2025ea48f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.4% 0.046 257.417)", - "raw": "oklch(55.4% 0.046 257.417)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-500"] - }, - { - "id": "e61b019806ec64df", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.6% 0.043 257.281)", - "raw": "oklch(44.6% 0.043 257.281)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-600"] - }, - { - "id": "3db55a564af5e637", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.2% 0.044 257.287)", - "raw": "oklch(37.2% 0.044 257.287)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-700"] - }, - { - "id": "b217e6f0a1deb906", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.9% 0.041 260.031)", - "raw": "oklch(27.9% 0.041 260.031)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-800"] - }, - { - "id": "d1cb15e33b1a9baf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(20.8% 0.042 265.755)", - "raw": "oklch(20.8% 0.042 265.755)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-900"] - }, - { - "id": "0664b1867c30a0f4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(12.9% 0.042 264.695)", - "raw": "oklch(12.9% 0.042 264.695)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--slate-950"] - }, - { - "id": "d393927f1494d3fd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.5% 0.002 247.839)", - "raw": "oklch(98.5% 0.002 247.839)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--gray-50"] - }, - { - "id": "e3cf225c46cdd43b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.7% 0.003 264.542)", - "raw": "oklch(96.7% 0.003 264.542)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-100"] - }, - { - "id": "f9a43b7ccdab7b61", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.8% 0.006 264.531)", - "raw": "oklch(92.8% 0.006 264.531)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-200"] - }, - { - "id": "b72ec1caec8b296a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.2% 0.01 258.338)", - "raw": "oklch(87.2% 0.01 258.338)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-300"] - }, - { - "id": "dd5a8d35b5a98e61", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.7% 0.022 261.325)", - "raw": "oklch(70.7% 0.022 261.325)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-400"] - }, - { - "id": "fbabeda4bdba1ba2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.1% 0.023 264.364)", - "raw": "oklch(55.1% 0.023 264.364)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-500"] - }, - { - "id": "8ec2015aa86382a9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.6% 0.02 264.533)", - "raw": "oklch(44.6% 0.02 264.533)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-600"] - }, - { - "id": "8f106e7fb6fe8317", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.3% 0.034 259.733)", - "raw": "oklch(37.3% 0.034 259.733)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-700"] - }, - { - "id": "143ed85c5625ff2e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.8% 0.033 256.848)", - "raw": "oklch(27.8% 0.033 256.848)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-800"] - }, - { - "id": "8eda23ff315a874e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(21.0% 0.034 264.665)", - "raw": "oklch(21.0% 0.034 264.665)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-900"] - }, - { - "id": "ccdfafd19b33abc1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(13.0% 0.028 261.692)", - "raw": "oklch(13.0% 0.028 261.692)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--gray-950"] - }, - { - "id": "de25719c375bfbe4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.5% 0 0)", - "raw": "oklch(98.5% 0 0)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--zinc-50"] - }, - { - "id": "bed06928a4d93c9f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.7% 0.001 286.375)", - "raw": "oklch(96.7% 0.001 286.375)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-100"] - }, - { - "id": "f23fd74ff2a50c8c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.0% 0.004 286.32)", - "raw": "oklch(92.0% 0.004 286.32)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-200"] - }, - { - "id": "835ac58e736b0787", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.1% 0.005 286.286)", - "raw": "oklch(87.1% 0.005 286.286)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-300"] - }, - { - "id": "973a6449ace90cc7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.5% 0.015 286.067)", - "raw": "oklch(70.5% 0.015 286.067)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-400"] - }, - { - "id": "d44a03abd69ad6ee", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.2% 0.016 285.786)", - "raw": "oklch(55.2% 0.016 285.786)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-500"] - }, - { - "id": "65a8cffa8ecf087a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.2% 0.013 285.786)", - "raw": "oklch(44.2% 0.013 285.786)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-600"] - }, - { - "id": "bdf0b5ff055b9c40", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.0% 0.013 285.805)", - "raw": "oklch(37.0% 0.013 285.805)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-700"] - }, - { - "id": "446e73b397d6525e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.4% 0.006 286.618)", - "raw": "oklch(27.4% 0.006 286.618)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-800"] - }, - { - "id": "aae4c1756c7db418", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(21.0% 0 0)", - "raw": "oklch(21.0% 0 0)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-900"] - }, - { - "id": "f51eac9ac3e565e8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(14.5% 0 0)", - "raw": "oklch(14.5% 0 0)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--zinc-950"] - }, - { - "id": "6ad176d0b568c1d1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.5% 0.001 106.423)", - "raw": "oklch(98.5% 0.001 106.423)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--stone-50"] - }, - { - "id": "9025f62d7a7c2bac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.0% 0.001 106.424)", - "raw": "oklch(97.0% 0.001 106.424)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-100"] - }, - { - "id": "db3735791c334241", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.3% 0.003 48.717)", - "raw": "oklch(92.3% 0.003 48.717)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-200"] - }, - { - "id": "80bceef16d0e83f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.9% 0.005 56.366)", - "raw": "oklch(86.9% 0.005 56.366)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-300"] - }, - { - "id": "edca7bb4181dc40e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.9% 0.01 56.259)", - "raw": "oklch(70.9% 0.01 56.259)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-400"] - }, - { - "id": "231efa218cc8e55c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.3% 0.014 58.071)", - "raw": "oklch(55.3% 0.014 58.071)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-500"] - }, - { - "id": "3e2d31c83ba57eb9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.4% 0.011 73.638)", - "raw": "oklch(44.4% 0.011 73.638)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-600"] - }, - { - "id": "658c88f0270895cc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.4% 0.01 67.558)", - "raw": "oklch(37.4% 0.01 67.558)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-700"] - }, - { - "id": "82bb0d08d657d694", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(26.8% 0.007 34.298)", - "raw": "oklch(26.8% 0.007 34.298)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-800"] - }, - { - "id": "2416589afc6c0904", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(21.6% 0.006 56.044)", - "raw": "oklch(21.6% 0.006 56.044)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-900"] - }, - { - "id": "4680682e6cf14f30", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(13.1% 0.004 285.938)", - "raw": "oklch(13.1% 0.004 285.938)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--stone-950"] - }, - { - "id": "ac5d6c3e7d2f144c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.9% 0.015 12.422)", - "raw": "oklch(96.9% 0.015 12.422)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--rose-50"] - }, - { - "id": "d1f4fa3b1f67ca96", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(94.1% 0.03 12.58)", - "raw": "oklch(94.1% 0.03 12.58)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-100"] - }, - { - "id": "76c1a52d0a4fa9c3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(89.2% 0.058 10.001)", - "raw": "oklch(89.2% 0.058 10.001)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-200"] - }, - { - "id": "5b22976610b16f8a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(81.0% 0.117 11.638)", - "raw": "oklch(81.0% 0.117 11.638)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-300"] - }, - { - "id": "c5286974932fe658", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(71.2% 0.194 13.428)", - "raw": "oklch(71.2% 0.194 13.428)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-400"] - }, - { - "id": "3c8ad5d8cfa67877", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.5% 0.246 16.439)", - "raw": "oklch(64.5% 0.246 16.439)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-500"] - }, - { - "id": "e5c68d945bf99810", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(58.6% 0.253 17.585)", - "raw": "oklch(58.6% 0.253 17.585)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-600"] - }, - { - "id": "1c0615bb3cd9c8c2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.4% 0.222 16.935)", - "raw": "oklch(51.4% 0.222 16.935)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-700"] - }, - { - "id": "6540ae93efff239e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(43.6% 0.177 15.304)", - "raw": "oklch(43.6% 0.177 15.304)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-800"] - }, - { - "id": "a032602692ad49c0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(41.0% 0.159 10.272)", - "raw": "oklch(41.0% 0.159 10.272)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-900"] - }, - { - "id": "f7b7d17c9111f284", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.1% 0.105 12.094)", - "raw": "oklch(27.1% 0.105 12.094)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--rose-950"] - }, - { - "id": "1fa007ad7ed023ed", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.0% 0.016 73.684)", - "raw": "oklch(98.0% 0.016 73.684)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 1, - "usage": { - "token": 9 - }, - "tokens": ["--orange-50"] - }, - { - "id": "aa9101d5d518043a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.4% 0.038 75.164)", - "raw": "oklch(95.4% 0.038 75.164)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-100"] - }, - { - "id": "12bab8298fea5b30", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(90.0% 0.076 70.697)", - "raw": "oklch(90.0% 0.076 70.697)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-200"] - }, - { - "id": "600be8909cf8d1cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(83.7% 0.128 66.29)", - "raw": "oklch(83.7% 0.128 66.29)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-300"] - }, - { - "id": "8f49a7ba732a00f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(75.0% 0.183 55.934)", - "raw": "oklch(75.0% 0.183 55.934)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-400"] - }, - { - "id": "7db01b05169a0585", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.5% 0.213 47.604)", - "raw": "oklch(70.5% 0.213 47.604)", - "spec": { - "space": "oklch" - }, - "occurrences": 11, - "files_count": 1, - "usage": { - "token": 11 - }, - "tokens": ["--orange-500", "--trend-down"] - }, - { - "id": "1d6032ae97c1818c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.6% 0.222 41.116)", - "raw": "oklch(64.6% 0.222 41.116)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-600"] - }, - { - "id": "5abb474038a2d28a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.8% 0.227 37.304)", - "raw": "oklch(55.8% 0.227 37.304)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-700"] - }, - { - "id": "e27ac6fb17474c23", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(47.0% 0.157 37.304)", - "raw": "oklch(47.0% 0.157 37.304)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-800"] - }, - { - "id": "158485a17fc41b4e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.7% 0.127 29.234)", - "raw": "oklch(37.7% 0.127 29.234)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-900"] - }, - { - "id": "b3985a681cd53f8e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(26.6% 0.079 36.259)", - "raw": "oklch(26.6% 0.079 36.259)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--orange-950"] - }, - { - "id": "b5c1c8389b3d09df", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.7% 0.022 95.277)", - "raw": "oklch(98.7% 0.022 95.277)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--amber-50"] - }, - { - "id": "d1262cb4d5f9e5e7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.2% 0.059 95.617)", - "raw": "oklch(96.2% 0.059 95.617)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-100"] - }, - { - "id": "b1043c352e46e38c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(92.5% 0.096 101.664)", - "raw": "oklch(92.5% 0.096 101.664)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-200"] - }, - { - "id": "c505137f27054dab", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.9% 0.169 91.605)", - "raw": "oklch(87.9% 0.169 91.605)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-300"] - }, - { - "id": "fda6aaecf7feced0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.8% 0.189 84.429)", - "raw": "oklch(82.8% 0.189 84.429)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-400"] - }, - { - "id": "ab198aff5f40df88", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(76.9% 0.188 70.08)", - "raw": "oklch(76.9% 0.188 70.08)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-500"] - }, - { - "id": "e6d4a38030d98f52", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(66.6% 0.179 58.318)", - "raw": "oklch(66.6% 0.179 58.318)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-600"] - }, - { - "id": "7673c177ade61ce0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(55.5% 0.163 48.998)", - "raw": "oklch(55.5% 0.163 48.998)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-700"] - }, - { - "id": "552918a71b81b35c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(47.3% 0.137 46.201)", - "raw": "oklch(47.3% 0.137 46.201)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-800"] - }, - { - "id": "c85f481eaf5f65ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(41.4% 0.112 45.904)", - "raw": "oklch(41.4% 0.112 45.904)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-900"] - }, - { - "id": "c815ac8f1fa77bc2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.9% 0.077 45.635)", - "raw": "oklch(27.9% 0.077 45.635)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--amber-950"] - }, - { - "id": "7422d48f70b27d3a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.6% 0.031 120.757)", - "raw": "oklch(98.6% 0.031 120.757)", - "spec": { - "space": "oklch" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "token": 8 - }, - "tokens": ["--lime-50"] - }, - { - "id": "713a6aa806306ec2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.7% 0.067 122.328)", - "raw": "oklch(96.7% 0.067 122.328)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-100"] - }, - { - "id": "c0a237d6f965bfcb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(93.8% 0.127 124.321)", - "raw": "oklch(93.8% 0.127 124.321)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-200"] - }, - { - "id": "68731227a065e43d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(89.7% 0.196 126.665)", - "raw": "oklch(89.7% 0.196 126.665)", - "spec": { - "space": "oklch" - }, - "occurrences": 11, - "files_count": 2, - "usage": { - "token": 11 - }, - "tokens": ["--lime-300", "--chart-5"] - }, - { - "id": "d1f29144ca893be8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(84.1% 0.238 128.85)", - "raw": "oklch(84.1% 0.238 128.85)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 1, - "usage": { - "token": 9 - }, - "tokens": ["--lime-400", "--chart-15"] - }, - { - "id": "41aa8626973a1fa9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(76.8% 0.233 130.85)", - "raw": "oklch(76.8% 0.233 130.85)", - "spec": { - "space": "oklch" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "token": 5 - }, - "tokens": ["--lime-500"] - }, - { - "id": "5e40c7431ed9bde8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(64.8% 0.2 131.684)", - "raw": "oklch(64.8% 0.2 131.684)", - "spec": { - "space": "oklch" - }, - "occurrences": 17, - "files_count": 2, - "usage": { - "token": 17 - }, - "tokens": ["--lime-600", "--trend-up", "--chart-8"] - }, - { - "id": "23f0301f19a17704", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(53.2% 0.157 131.589)", - "raw": "oklch(53.2% 0.157 131.589)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-700"] - }, - { - "id": "b7d4e7ae9e95306e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.3% 0.124 130.933)", - "raw": "oklch(45.3% 0.124 130.933)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-800"] - }, - { - "id": "30de84b08d78351d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(40.5% 0.101 131.063)", - "raw": "oklch(40.5% 0.101 131.063)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-900"] - }, - { - "id": "5c415bf839533eda", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.4% 0.072 132.109)", - "raw": "oklch(27.4% 0.072 132.109)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--lime-950"] - }, - { - "id": "be3fde8a48c0cc9e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.9% 0.021 166.113)", - "raw": "oklch(97.9% 0.021 166.113)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--emerald-50"] - }, - { - "id": "34f43d8d9e395026", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.0% 0.052 163.051)", - "raw": "oklch(95.0% 0.052 163.051)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-100"] - }, - { - "id": "5210a7cad14e1287", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(90.5% 0.093 164.15)", - "raw": "oklch(90.5% 0.093 164.15)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-200"] - }, - { - "id": "19a91445a46c55c0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(84.5% 0.143 164.978)", - "raw": "oklch(84.5% 0.143 164.978)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 2, - "usage": { - "token": 10 - }, - "tokens": ["--emerald-300", "--chart-10"] - }, - { - "id": "d5123e3512ce0fcf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(76.5% 0.177 163.223)", - "raw": "oklch(76.5% 0.177 163.223)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-400"] - }, - { - "id": "8f48331377ec7df6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(69.6% 0.17 162.48)", - "raw": "oklch(69.6% 0.17 162.48)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--emerald-500"] - }, - { - "id": "474a66ed5017370c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(59.6% 0.145 163.225)", - "raw": "oklch(59.6% 0.145 163.225)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 2, - "usage": { - "token": 10 - }, - "tokens": ["--emerald-600", "--chart-4"] - }, - { - "id": "93411c0695c8107e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(50.8% 0.127 165.612)", - "raw": "oklch(50.8% 0.127 165.612)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-700"] - }, - { - "id": "511f0923e5ba07cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(43.2% 0.095 166.913)", - "raw": "oklch(43.2% 0.095 166.913)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-800"] - }, - { - "id": "6d24696a7539d577", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(37.8% 0.077 168.94)", - "raw": "oklch(37.8% 0.077 168.94)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-900"] - }, - { - "id": "e02735a0eaa9714d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(26.2% 0.051 172.552)", - "raw": "oklch(26.2% 0.051 172.552)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--emerald-950"] - }, - { - "id": "65196033c78bf5b1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.4% 0.014 180.72)", - "raw": "oklch(98.4% 0.014 180.72)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--teal-50"] - }, - { - "id": "a51a96688a439ff7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.3% 0.05 180.801)", - "raw": "oklch(95.3% 0.05 180.801)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-100"] - }, - { - "id": "b5372d88c17ba9ee", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.0% 0.096 180.426)", - "raw": "oklch(91.0% 0.096 180.426)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-200"] - }, - { - "id": "905a23ab041566f0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(85.5% 0.138 181.071)", - "raw": "oklch(85.5% 0.138 181.071)", - "spec": { - "space": "oklch" - }, - "occurrences": 11, - "files_count": 2, - "usage": { - "token": 11 - }, - "tokens": ["--teal-300", "--chart-7"] - }, - { - "id": "6dd15f31abe287dd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(77.7% 0.152 181.912)", - "raw": "oklch(77.7% 0.152 181.912)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 1, - "usage": { - "token": 9 - }, - "tokens": ["--teal-400", "--chart-14"] - }, - { - "id": "8704b1c6c647770d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.4% 0.14 182.503)", - "raw": "oklch(70.4% 0.14 182.503)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--teal-500"] - }, - { - "id": "3134584406248f69", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.0% 0.118 184.704)", - "raw": "oklch(60.0% 0.118 184.704)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 2, - "usage": { - "token": 10 - }, - "tokens": ["--teal-600", "--chart-2"] - }, - { - "id": "eeb6b7dd16f4b828", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.1% 0.096 186.391)", - "raw": "oklch(51.1% 0.096 186.391)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-700"] - }, - { - "id": "daa58af8b5555124", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(43.7% 0.078 188.216)", - "raw": "oklch(43.7% 0.078 188.216)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-800"] - }, - { - "id": "4344b7ca011def4e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.4% 0.068 188.416)", - "raw": "oklch(39.4% 0.068 188.416)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-900"] - }, - { - "id": "69b5b56194705d90", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(27.7% 0.046 192.524)", - "raw": "oklch(27.7% 0.046 192.524)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--teal-950"] - }, - { - "id": "1170a5c588fc1d0a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(98.4% 0.019 200.873)", - "raw": "oklch(98.4% 0.019 200.873)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--cyan-50"] - }, - { - "id": "f4a5677dde341405", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.6% 0.045 203.388)", - "raw": "oklch(95.6% 0.045 203.388)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-100"] - }, - { - "id": "f685b799fc68af92", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(91.7% 0.08 205.041)", - "raw": "oklch(91.7% 0.08 205.041)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-200"] - }, - { - "id": "a7da6ac6d0692907", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(86.5% 0.127 207.078)", - "raw": "oklch(86.5% 0.127 207.078)", - "spec": { - "space": "oklch" - }, - "occurrences": 11, - "files_count": 2, - "usage": { - "token": 11 - }, - "tokens": ["--cyan-300", "--chart-3"] - }, - { - "id": "dc4bea6dae90b81e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.9% 0.154 211.53)", - "raw": "oklch(78.9% 0.154 211.53)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-400"] - }, - { - "id": "f6ac07e331fa9abd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(71.5% 0.143 215.221)", - "raw": "oklch(71.5% 0.143 215.221)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--cyan-500"] - }, - { - "id": "492c112a73c8385c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.9% 0.126 221.723)", - "raw": "oklch(60.9% 0.126 221.723)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 2, - "usage": { - "token": 9 - }, - "tokens": ["--cyan-600", "--chart-9"] - }, - { - "id": "582924d189db3a1c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(52.0% 0.105 223.128)", - "raw": "oklch(52.0% 0.105 223.128)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-700"] - }, - { - "id": "0208846881a86e31", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.0% 0.085 224.283)", - "raw": "oklch(45.0% 0.085 224.283)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-800"] - }, - { - "id": "23c73f8fa2a170fa", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.8% 0.07 227.392)", - "raw": "oklch(39.8% 0.07 227.392)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-900"] - }, - { - "id": "2078c21099778bc2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(30.2% 0.056 229.695)", - "raw": "oklch(30.2% 0.056 229.695)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--cyan-950"] - }, - { - "id": "9278e43a9ad9396c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.7% 0.013 236.62)", - "raw": "oklch(97.7% 0.013 236.62)", - "spec": { - "space": "oklch" - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 7 - }, - "tokens": ["--sky-50"] - }, - { - "id": "bc57a8f6e593b98f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.1% 0.026 236.824)", - "raw": "oklch(95.1% 0.026 236.824)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-100"] - }, - { - "id": "a1b3175519fe23a5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(90.1% 0.058 230.902)", - "raw": "oklch(90.1% 0.058 230.902)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-200"] - }, - { - "id": "7662aa757d6da75b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.8% 0.111 230.318)", - "raw": "oklch(82.8% 0.111 230.318)", - "spec": { - "space": "oklch" - }, - "occurrences": 38, - "files_count": 2, - "usage": { - "token": 38 - }, - "tokens": ["--sky-300", "--chart-1"] - }, - { - "id": "ab65f276bb844eed", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(74.6% 0.16 232.661)", - "raw": "oklch(74.6% 0.16 232.661)", - "spec": { - "space": "oklch" - }, - "occurrences": 9, - "files_count": 1, - "usage": { - "token": 9 - }, - "tokens": ["--sky-400", "--chart-13"] - }, - { - "id": "1b1dc1a048bbbaea", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(68.5% 0.169 237.323)", - "raw": "oklch(68.5% 0.169 237.323)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--sky-500"] - }, - { - "id": "32d97a97d5dfff1c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(58.8% 0.158 241.966)", - "raw": "oklch(58.8% 0.158 241.966)", - "spec": { - "space": "oklch" - }, - "occurrences": 10, - "files_count": 2, - "usage": { - "token": 10 - }, - "tokens": ["--sky-600", "--chart-6"] - }, - { - "id": "3951a559ac551979", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(50.0% 0.134 242.749)", - "raw": "oklch(50.0% 0.134 242.749)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-700"] - }, - { - "id": "b5e3f81d92dbb35e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(44.3% 0.11 240.79)", - "raw": "oklch(44.3% 0.11 240.79)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-800"] - }, - { - "id": "ad1aad738856cbe0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.1% 0.09 240.876)", - "raw": "oklch(39.1% 0.09 240.876)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-900"] - }, - { - "id": "def0582dac927cf4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(29.3% 0.066 243.157)", - "raw": "oklch(29.3% 0.066 243.157)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--sky-950"] - }, - { - "id": "11d153ad5d313e08", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.2% 0.018 272.314)", - "raw": "oklch(96.2% 0.018 272.314)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--indigo-50"] - }, - { - "id": "31dff241d99aed10", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(93.0% 0.034 272.788)", - "raw": "oklch(93.0% 0.034 272.788)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-100"] - }, - { - "id": "31963ce5f61eebfd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(87.0% 0.065 274.039)", - "raw": "oklch(87.0% 0.065 274.039)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-200"] - }, - { - "id": "499d48943eef100d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(78.5% 0.115 274.713)", - "raw": "oklch(78.5% 0.115 274.713)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-300"] - }, - { - "id": "7d0b24cd9abe3b97", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(67.3% 0.182 276.935)", - "raw": "oklch(67.3% 0.182 276.935)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-400"] - }, - { - "id": "bf53b8d659437e1d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(58.5% 0.233 277.117)", - "raw": "oklch(58.5% 0.233 277.117)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-500"] - }, - { - "id": "5d98beeaf85d0206", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(51.1% 0.262 276.966)", - "raw": "oklch(51.1% 0.262 276.966)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-600"] - }, - { - "id": "e60591904f4f3b0d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.7% 0.24 277.023)", - "raw": "oklch(45.7% 0.24 277.023)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-700"] - }, - { - "id": "1cf512e5118c90d1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(39.8% 0.195 277.366)", - "raw": "oklch(39.8% 0.195 277.366)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-800"] - }, - { - "id": "aa11927587221c64", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(35.9% 0.144 278.697)", - "raw": "oklch(35.9% 0.144 278.697)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-900"] - }, - { - "id": "0360a9edbec25dfc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(25.7% 0.09 281.288)", - "raw": "oklch(25.7% 0.09 281.288)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--indigo-950"] - }, - { - "id": "298b084295184a68", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(96.9% 0.016 293.756)", - "raw": "oklch(96.9% 0.016 293.756)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--violet-50"] - }, - { - "id": "816f5a91739ef10e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(94.3% 0.029 294.588)", - "raw": "oklch(94.3% 0.029 294.588)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-100"] - }, - { - "id": "997c7426e5b5f6e4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(89.4% 0.057 293.283)", - "raw": "oklch(89.4% 0.057 293.283)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-200"] - }, - { - "id": "26bd0a55d5b2d42d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(81.1% 0.111 293.571)", - "raw": "oklch(81.1% 0.111 293.571)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-300"] - }, - { - "id": "a4f9b87df443e070", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(70.2% 0.183 293.541)", - "raw": "oklch(70.2% 0.183 293.541)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-400"] - }, - { - "id": "cbd92f6d008b1160", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(60.6% 0.25 292.717)", - "raw": "oklch(60.6% 0.25 292.717)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-500"] - }, - { - "id": "06448f3902cd8d66", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(54.1% 0.281 293.009)", - "raw": "oklch(54.1% 0.281 293.009)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-600"] - }, - { - "id": "12e1e040872eec20", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(49.1% 0.27 292.581)", - "raw": "oklch(49.1% 0.27 292.581)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-700"] - }, - { - "id": "03e6237bd732ca56", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(43.2% 0.232 292.759)", - "raw": "oklch(43.2% 0.232 292.759)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-800"] - }, - { - "id": "f3d12ed74b181dc0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(38.0% 0.189 293.745)", - "raw": "oklch(38.0% 0.189 293.745)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-900"] - }, - { - "id": "7452a18e913169f9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(28.3% 0.141 291.089)", - "raw": "oklch(28.3% 0.141 291.089)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--violet-950"] - }, - { - "id": "d4716b2d57ed3fc7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.7% 0.017 320.058)", - "raw": "oklch(97.7% 0.017 320.058)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--fuchsia-50"] - }, - { - "id": "0ba410f4eb43b945", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.2% 0.037 318.852)", - "raw": "oklch(95.2% 0.037 318.852)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-100"] - }, - { - "id": "b51eed83bd97a5ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(90.3% 0.076 319.562)", - "raw": "oklch(90.3% 0.076 319.562)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-200"] - }, - { - "id": "061c8cec943fa903", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(83.3% 0.145 321.434)", - "raw": "oklch(83.3% 0.145 321.434)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-300"] - }, - { - "id": "05e9ebeb3cc90590", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(74.0% 0.238 322.16)", - "raw": "oklch(74.0% 0.238 322.16)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-400"] - }, - { - "id": "761377664b096529", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(66.7% 0.295 322.15)", - "raw": "oklch(66.7% 0.295 322.15)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-500"] - }, - { - "id": "2bd554f14dfcbf90", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(59.1% 0.293 322.896)", - "raw": "oklch(59.1% 0.293 322.896)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-600"] - }, - { - "id": "01f69e76da6cf391", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(52.4% 0.253 323.046)", - "raw": "oklch(52.4% 0.253 323.046)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-700"] - }, - { - "id": "68944e01239770f0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.2% 0.211 324.591)", - "raw": "oklch(45.2% 0.211 324.591)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-800"] - }, - { - "id": "a9a132e90ad65608", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(40.2% 0.159 325.612)", - "raw": "oklch(40.2% 0.159 325.612)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-900"] - }, - { - "id": "885784aba34a730f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(29.6% 0.113 325.612)", - "raw": "oklch(29.6% 0.113 325.612)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--fuchsia-950"] - }, - { - "id": "36354be1202faf05", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(97.1% 0.014 343.198)", - "raw": "oklch(97.1% 0.014 343.198)", - "spec": { - "space": "oklch" - }, - "occurrences": 6, - "files_count": 1, - "usage": { - "token": 6 - }, - "tokens": ["--pink-50"] - }, - { - "id": "a0af1c9c8f19f012", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(94.8% 0.028 342.258)", - "raw": "oklch(94.8% 0.028 342.258)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-100"] - }, - { - "id": "b1896e856e876c26", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(90.9% 0.058 343.231)", - "raw": "oklch(90.9% 0.058 343.231)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-200"] - }, - { - "id": "52be2f86c0cbf50d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(82.3% 0.12 346.018)", - "raw": "oklch(82.3% 0.12 346.018)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-300"] - }, - { - "id": "47ce5a204031a2c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(71.8% 0.202 349.761)", - "raw": "oklch(71.8% 0.202 349.761)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-400"] - }, - { - "id": "73d0b48c30ae7abd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(65.6% 0.241 354.308)", - "raw": "oklch(65.6% 0.241 354.308)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-500"] - }, - { - "id": "1bcfd85c40fdd6eb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(59.2% 0.249 0.584)", - "raw": "oklch(59.2% 0.249 0.584)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-600"] - }, - { - "id": "fcd1646d27606568", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(52.5% 0.223 3.958)", - "raw": "oklch(52.5% 0.223 3.958)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-700"] - }, - { - "id": "124d1ee7855efe64", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(45.1% 0.187 3.815)", - "raw": "oklch(45.1% 0.187 3.815)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-800"] - }, - { - "id": "2c461f72c7169671", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(40.8% 0.153 2.432)", - "raw": "oklch(40.8% 0.153 2.432)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-900"] - }, - { - "id": "1272cdc472741e2a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(29.1% 0.109 3.907)", - "raw": "oklch(29.1% 0.109 3.907)", - "spec": { - "space": "oklch" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--pink-950"] - }, - { - "id": "c3eaa2c7bb4c927b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "4px", - "raw": "4px", - "spec": { - "unit": "px", - "scalar": 4 - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "token": 5 - }, - "tokens": ["--page-x-padding"] - }, - { - "id": "cebb205d33894eb5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklab(97.913% 0 -0.00011)", - "raw": "oklab(97.913% 0 -0.00011)", - "spec": { - "space": "lab" - }, - "occurrences": 50, - "files_count": 5, - "usage": { - "token": 50 - }, - "tokens": ["--elevation-0", "--sidebar"] - }, - { - "id": "d58fab8f23c9bc9d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "oklch(95.815% 0.00011 271.152)", - "raw": "oklch(95.815% 0.00011 271.152)", - "spec": { - "space": "oklch" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--elevation-2"] - }, - { - "id": "b5fe3e7faa1f3471", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "rgba(0, 0, 0, 0.1)", - "raw": "rgba(0, 0, 0, 0.1)", - "spec": { - "space": "srgb" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "token": 5 - }, - "tokens": ["--popover-border"] - }, - { - "id": "72a9684f9336d65f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "color-mix(", - "raw": "color-mix(", - "spec": { - "space": "unknown" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "token": 8 - }, - "tokens": ["--sidebar-accent"] - }, - { - "id": "9741f65e735ba0fb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FCFCFC", - "raw": "#FCFCFC", - "spec": { - "space": "srgb", - "hex": "#FCFCFC" - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "token": 8 - }, - "tokens": ["--panel"] - }, - { - "id": "a3a9d89b7e05e396", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "16px", - "raw": "16px", - "spec": { - "unit": "px", - "scalar": 16 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": [ - "--core-icon-small-size-width", - "--core-icon-small-size-height" - ] - }, - { - "id": "44c377a41ee3e2f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "24px", - "raw": "24px", - "spec": { - "unit": "px", - "scalar": 24 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": [ - "--core-icon-medium-size-width", - "--core-icon-medium-size-height" - ] - }, - { - "id": "b2506ab75c4f2975", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "32px", - "raw": "32px", - "spec": { - "unit": "px", - "scalar": 32 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": [ - "--core-icon-large-size-width", - "--core-icon-large-size-height" - ] - }, - { - "id": "e5072068caaf115d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "'Cash Sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"", - "raw": "'Cash Sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"", - "spec": { - "family": "'Cash Sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--font-sans"] - }, - { - "id": "4660e797acfd951d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "0.5px", - "raw": "0.5px", - "spec": { - "unit": "px", - "scalar": 0.5 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--border-width-hairline"] - }, - { - "id": "7fae2e20e0a7edcc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "4px", - "raw": "4px", - "spec": { - "unit": "px", - "scalar": 4 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--radius-xs"] - }, - { - "id": "2c4da16dd175ba0e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "6px", - "raw": "6px", - "spec": { - "unit": "px", - "scalar": 6 - }, - "occurrences": 7, - "files_count": 1, - "usage": { - "token": 1, - "arbitrary_class": 6 - }, - "tokens": ["--radius-sm", "rounded-[6px]"] - }, - { - "id": "5b57a02e62480d9f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "8px", - "raw": "8px", - "spec": { - "unit": "px", - "scalar": 8 - }, - "occurrences": 10, - "files_count": 1, - "usage": { - "token": 1, - "arbitrary_class": 9 - }, - "tokens": ["--radius-md", "rounded-[8px]"] - }, - { - "id": "d9a992434207a018", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "12px", - "raw": "12px", - "spec": { - "unit": "px", - "scalar": 12 - }, - "occurrences": 12, - "files_count": 4, - "usage": { - "token": 1, - "arbitrary_class": 11 - }, - "tokens": ["--radius-lg", "rounded-[12px]"] - }, - { - "id": "b45d78c2c53ae855", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "16px", - "raw": "16px", - "spec": { - "unit": "px", - "scalar": 16 - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 1, - "arbitrary_class": 3 - }, - "tokens": ["--radius-xl", "rounded-[16px]"] - }, - { - "id": "7a81b822a6285f10", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "20px", - "raw": "20px", - "spec": { - "unit": "px", - "scalar": 20 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--radius-2xl"] - }, - { - "id": "75e81c462a6ad62a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "24px", - "raw": "24px", - "spec": { - "unit": "px", - "scalar": 24 - }, - "occurrences": 4, - "files_count": 3, - "usage": { - "token": 1, - "arbitrary_class": 3 - }, - "tokens": ["--radius-3xl", "rounded-[24px]"] - }, - { - "id": "8596919e425244e9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "32px", - "raw": "32px", - "spec": { - "unit": "px", - "scalar": 32 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--radius-4xl"] - }, - { - "id": "2c87a5409dede4c5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "280px", - "raw": "280px", - "spec": { - "unit": "px", - "scalar": 280 - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": ["--width-sidebar"] - }, - { - "id": "30db367bad36c4d8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "calc(100vw - var(--width-sidebar) - (var(--spacing) * 8))", - "raw": "calc(100vw - var(--width-sidebar) - (var(--spacing) * 8))", - "spec": { - "raw": "calc(100vw - var(--width-sidebar) - (var(--spacing) * 8))" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--width-main"] - }, - { - "id": "8e8738715aa1cb4f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "48rem", - "raw": "48rem", - "spec": { - "unit": "rem", - "scalar": 48 - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "token": 2 - }, - "tokens": ["--width-content-narrow"] - }, - { - "id": "5354c579e7dae036", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "spacing", - "value": "82rem", - "raw": "82rem", - "spec": { - "unit": "rem", - "scalar": 82 - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "token": 2 - }, - "tokens": ["--width-content-wide"] - }, - { - "id": "1c8c50cba141e485", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 1px 0 0 rgba(0, 0, 0, 0.05)", - "raw": "0 1px 0 0 rgba(0, 0, 0, 0.05)", - "spec": { - "raw": "0 1px 0 0 rgba(0, 0, 0, 0.05)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-2xs"] - }, - { - "id": "b96eebb9bdfdc6b2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 0 1px 0 rgba(0, 0, 0, 0.05)", - "raw": "0 0 1px 0 rgba(0, 0, 0, 0.05)", - "spec": { - "raw": "0 0 1px 0 rgba(0, 0, 0, 0.05)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-xs"] - }, - { - "id": "365b8b58f009ad58", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 4px 8px -2px rgba(0, 0, 0, 0.06)", - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 4px 8px -2px rgba(0, 0, 0, 0.06)", - "spec": { - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 4px 8px -2px rgba(0, 0, 0, 0.06)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-sm"] - }, - { - "id": "7a9fdef8cb3ba41b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 8px 16px -4px rgba(0, 0, 0, 0.1)", - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 8px 16px -4px rgba(0, 0, 0, 0.1)", - "spec": { - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 8px 16px -4px rgba(0, 0, 0, 0.1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-md"] - }, - { - "id": "81685bd6f806d647", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 16px 32px -8px rgba(0, 0, 0, 0.1)", - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 16px 32px -8px rgba(0, 0, 0, 0.1)", - "spec": { - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 16px 32px -8px rgba(0, 0, 0, 0.1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-lg"] - }, - { - "id": "10720091123a1901", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 24px 48px -12px rgba(0, 0, 0, 0.1)", - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 24px 48px -12px rgba(0, 0, 0, 0.1)", - "spec": { - "raw": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 24px 48px -12px rgba(0, 0, 0, 0.1)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-xl"] - }, - { - "id": "50865f58424c5369", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)", - "raw": "0 25px 50px -12px rgba(0, 0, 0, 0.25)", - "spec": { - "raw": "0 25px 50px -12px rgba(0, 0, 0, 0.25)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-2xl"] - }, - { - "id": "b84d1edb9233d75a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "inset 0 0 1px 0 rgba(0, 0, 0, 0.40)", - "raw": "inset 0 0 1px 0 rgba(0, 0, 0, 0.40)", - "spec": { - "raw": "inset 0 0 1px 0 rgba(0, 0, 0, 0.40)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--shadow-inner"] - }, - { - "id": "221ce45eba92a1dd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "0.8125rem", - "raw": "0.8125rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 0.8125 - } - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--text-xs"] - }, - { - "id": "b716d8791fced903", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "1rem", - "raw": "1rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 1 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-xs--line-height", "--text-base"] - }, - { - "id": "ca0c9b0982e48130", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "0", - "raw": "0", - "spec": { - "family": "0" - }, - "occurrences": 5, - "files_count": 1, - "usage": { - "token": 5 - }, - "tokens": [ - "--text-xs--letter-spacing", - "--text-sm--letter-spacing", - "--text-base--letter-spacing", - "--text-lg--letter-spacing", - "--text-xl--letter-spacing" - ] - }, - { - "id": "72ec32430410457f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "0.875rem", - "raw": "0.875rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 0.875 - } - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--text-sm"] - }, - { - "id": "4c130e7b7f720d56", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "1.25rem", - "raw": "1.25rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 1.25 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-sm--line-height", "--text-xl"] - }, - { - "id": "ecc0cc0975ba2c1d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "1.5rem", - "raw": "1.5rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 1.5 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-base--line-height", "--text-2xl"] - }, - { - "id": "38a4dac6a1ce438b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "1.125rem", - "raw": "1.125rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 1.125 - } - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "token": 3 - }, - "tokens": ["--text-lg"] - }, - { - "id": "f85a5a66c1f3f6d9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "1.75rem", - "raw": "1.75rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 1.75 - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": ["--text-lg--line-height", "--text-xl--line-height"] - }, - { - "id": "b8d054eefa40de23", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "2rem", - "raw": "2rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 2 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-2xl--line-height", "--text-3xl"] - }, - { - "id": "f3b0269a4f87328a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "-0.2px", - "raw": "-0.2px", - "spec": { - "family": "-0.2px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--text-2xl--letter-spacing"] - }, - { - "id": "e7c3b09ef0f378ec", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "2.25rem", - "raw": "2.25rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 2.25 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-3xl--line-height", "--text-4xl"] - }, - { - "id": "14de835930ef2d6b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "-0.4px", - "raw": "-0.4px", - "spec": { - "family": "-0.4px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--text-3xl--letter-spacing"] - }, - { - "id": "a35b431cbea4a7d3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "2.5rem", - "raw": "2.5rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 2.5 - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--text-4xl--line-height"] - }, - { - "id": "471e3526386c251b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "-0.5px", - "raw": "-0.5px", - "spec": { - "family": "-0.5px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--text-4xl--letter-spacing"] - }, - { - "id": "4de6eb6b3d8498c6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "2.75rem", - "raw": "2.75rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 2.75 - } - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "token": 4 - }, - "tokens": ["--text-5xl", "--text-5xl--line-height"] - }, - { - "id": "5edf5b59c6c0ed1e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "-1.4px", - "raw": "-1.4px", - "spec": { - "family": "-1.4px" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--text-5xl--letter-spacing"] - }, - { - "id": "f6881ad450c1a601", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "3.5rem", - "raw": "3.5rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 3.5 - } - }, - "occurrences": 8, - "files_count": 1, - "usage": { - "token": 8 - }, - "tokens": [ - "--text-6xl", - "--text-6xl--line-height", - "--text-7xl", - "--text-7xl--line-height" - ] - }, - { - "id": "c32820d1859cf0ad", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "-2.2px", - "raw": "-2.2px", - "spec": { - "family": "-2.2px" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "token": 2 - }, - "tokens": ["--text-6xl--letter-spacing", "--text-7xl--letter-spacing"] - }, - { - "id": "11b9196172a76a84", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "motion", - "value": "highlights-tab-fade-in 150ms ease forwards", - "raw": "highlights-tab-fade-in 150ms ease forwards", - "spec": { - "easing": "highlights-tab-fade-in 150ms ease forwards" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "token": 1 - }, - "tokens": ["--animate-highlights-tab-fade-in"] - }, - { - "id": "8337d920e1a9eb71", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "35px", - "raw": "35px", - "spec": { - "unit": "px", - "scalar": 35 - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["rounded-[35px]"] - }, - { - "id": "94ebefa30e9b6845", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "inherit", - "raw": "inherit", - "spec": { - "raw": "inherit" - }, - "occurrences": 11, - "files_count": 6, - "usage": { - "arbitrary_class": 11 - }, - "tokens": ["rounded-[inherit]"] - }, - { - "id": "939a2f85152f29a5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "calc(var(--radius)-5px)", - "raw": "calc(var(--radius)-5px)", - "spec": { - "raw": "calc(var(--radius)-5px)" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "arbitrary_class": 3 - }, - "tokens": ["rounded-[calc(var(--radius)-5px)]"] - }, - { - "id": "a82dba3dc5a9a2c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "2rem", - "raw": "2rem", - "spec": { - "unit": "rem", - "scalar": 2 - }, - "occurrences": 3, - "files_count": 3, - "usage": { - "arbitrary_class": 3 - }, - "tokens": ["rounded-[2rem]"] - }, - { - "id": "58ad613d4a2e4d12", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "radius", - "value": "1.75rem", - "raw": "1.75rem", - "spec": { - "unit": "rem", - "scalar": 1.75 - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "arbitrary_class": 4 - }, - "tokens": ["rounded-[1.75rem]"] - }, - { - "id": "57a18a10198ca0a0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "9px", - "raw": "9px", - "spec": { - "size": { - "unit": "px", - "scalar": 9 - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["text-[9px]"] - }, - { - "id": "5c81370b44531868", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "10px", - "raw": "10px", - "spec": { - "size": { - "unit": "px", - "scalar": 10 - } - }, - "occurrences": 13, - "files_count": 8, - "usage": { - "arbitrary_class": 13 - }, - "tokens": ["text-[10px]"] - }, - { - "id": "3b91cce173ed9637", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "0.8rem", - "raw": "0.8rem", - "spec": { - "size": { - "unit": "rem", - "scalar": 0.8 - } - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "arbitrary_class": 2 - }, - "tokens": ["text-[0.8rem]"] - }, - { - "id": "67b1ddf851fab5a8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "11px", - "raw": "11px", - "spec": { - "size": { - "unit": "px", - "scalar": 11 - } - }, - "occurrences": 6, - "files_count": 4, - "usage": { - "arbitrary_class": 6 - }, - "tokens": ["text-[11px]"] - }, - { - "id": "27f6c5f2fb16e237", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "13px", - "raw": "13px", - "spec": { - "size": { - "unit": "px", - "scalar": 13 - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["text-[13px]"] - }, - { - "id": "635b1b4c479be3fc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "typography", - "value": "18px", - "raw": "18px", - "spec": { - "size": { - "unit": "px", - "scalar": 18 - } - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["text-[18px]"] - }, - { - "id": "b2da7ec9bbe789ec", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 18px 45px rgba(0,0,0,0.4)", - "raw": "0 18px 45px rgba(0,0,0,0.4)", - "spec": { - "raw": "0 18px 45px rgba(0,0,0,0.4)" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["shadow-[0_18px_45px_rgba(0,0,0,0.4)]"] - }, - { - "id": "69521975cec2a9bf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "shadow", - "value": "0 24px 60px rgba(0,0,0,0.4)", - "raw": "0 24px 60px rgba(0,0,0,0.4)", - "spec": { - "raw": "0 24px 60px rgba(0,0,0,0.4)" - }, - "occurrences": 4, - "files_count": 1, - "usage": { - "arbitrary_class": 4 - }, - "tokens": ["shadow-[0_24px_60px_rgba(0,0,0,0.4)]"] - }, - { - "id": "cda9c5402d445698", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#A3A3A3", - "raw": "#A3A3A3", - "spec": { - "space": "srgb", - "hex": "#A3A3A3" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#A3A3A3]"] - }, - { - "id": "90cd52c5eb5e7ffb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#00ADEF", - "raw": "#00ADEF", - "spec": { - "space": "srgb", - "hex": "#00ADEF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#00ADEF]"] - }, - { - "id": "12161ac078538904", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#F59E0B", - "raw": "#F59E0B", - "spec": { - "space": "srgb", - "hex": "#F59E0B" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "arbitrary_class": 1, - "inline_literal": 1 - }, - "tokens": ["[#f59e0b]", "#f59e0b"] - }, - { - "id": "97ec613a34da8049", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#D97706", - "raw": "#D97706", - "spec": { - "space": "srgb", - "hex": "#D97706" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#d97706]"] - }, - { - "id": "d227c246007ca3ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#7C3AED", - "raw": "#7C3AED", - "spec": { - "space": "srgb", - "hex": "#7C3AED" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#7c3aed]"] - }, - { - "id": "1dd06d66b16faee4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#6D28D9", - "raw": "#6D28D9", - "spec": { - "space": "srgb", - "hex": "#6D28D9" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#6d28d9]"] - }, - { - "id": "e4a60c8942297f93", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#D94729", - "raw": "#D94729", - "spec": { - "space": "srgb", - "hex": "#D94729" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "arbitrary_class": 1 - }, - "tokens": ["[#D94729]"] - }, - { - "id": "dd1d7d2145df3363", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#3B82F6", - "raw": "#3B82F6", - "spec": { - "space": "srgb", - "hex": "#3B82F6" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#3b82f6"] - }, - { - "id": "002b83359fff1995", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FFF3E0", - "raw": "#FFF3E0", - "spec": { - "space": "srgb", - "hex": "#FFF3E0" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#fff3e0"] - }, - { - "id": "a32ab1dd37c9bd84", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#E65100", - "raw": "#E65100", - "spec": { - "space": "srgb", - "hex": "#E65100" - }, - "occurrences": 2, - "files_count": 2, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#e65100"] - }, - { - "id": "fbada40dd0ed9541", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#E8F0FE", - "raw": "#E8F0FE", - "spec": { - "space": "srgb", - "hex": "#E8F0FE" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#e8f0fe"] - }, - { - "id": "1f5e2060e637cc86", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#1A73E8", - "raw": "#1A73E8", - "spec": { - "space": "srgb", - "hex": "#1A73E8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#1a73e8"] - }, - { - "id": "2e344194582e0e8c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#22C55E", - "raw": "#22C55E", - "spec": { - "space": "srgb", - "hex": "#22C55E" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#22c55e"] - }, - { - "id": "ff94ca1c034df921", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FF5733", - "raw": "#FF5733", - "spec": { - "space": "srgb", - "hex": "#FF5733" - }, - "occurrences": 4, - "files_count": 2, - "usage": { - "inline_literal": 4 - }, - "tokens": ["#FF5733"] - }, - { - "id": "b47c920d82dcf066", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#333333", - "raw": "#333333", - "spec": { - "space": "srgb", - "hex": "#333333" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#333333"] - }, - { - "id": "dfee701dabf94dd3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#3366FF", - "raw": "#3366FF", - "spec": { - "space": "srgb", - "hex": "#3366FF" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#3366FF"] - }, - { - "id": "dbb7bbef91eae825", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FF3366", - "raw": "#FF3366", - "spec": { - "space": "srgb", - "hex": "#FF3366" - }, - "occurrences": 3, - "files_count": 1, - "usage": { - "inline_literal": 3 - }, - "tokens": ["#FF3366"] - }, - { - "id": "3683fccc0d40f30a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#ECFEFF", - "raw": "#ECFEFF", - "spec": { - "space": "srgb", - "hex": "#ECFEFF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#ECFEFF"] - }, - { - "id": "5b01b06e6b199f8c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#F5F3FF", - "raw": "#F5F3FF", - "spec": { - "space": "srgb", - "hex": "#F5F3FF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#F5F3FF"] - }, - { - "id": "0a6dc8e7f0ab9dab", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FFF7ED", - "raw": "#FFF7ED", - "spec": { - "space": "srgb", - "hex": "#FFF7ED" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#FFF7ED"] - }, - { - "id": "f0436660115051c9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#ECFDF5", - "raw": "#ECFDF5", - "spec": { - "space": "srgb", - "hex": "#ECFDF5" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#ECFDF5"] - }, - { - "id": "ad7159d911e53af2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FEF2F2", - "raw": "#FEF2F2", - "spec": { - "space": "srgb", - "hex": "#FEF2F2" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#FEF2F2"] - }, - { - "id": "a09de7cc62201757", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#EFF6FF", - "raw": "#EFF6FF", - "spec": { - "space": "srgb", - "hex": "#EFF6FF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#EFF6FF"] - }, - { - "id": "5f3915d4834ec974", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FEFCE8", - "raw": "#FEFCE8", - "spec": { - "space": "srgb", - "hex": "#FEFCE8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#FEFCE8"] - }, - { - "id": "3c0be5c448bdacc7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FDF2F8", - "raw": "#FDF2F8", - "spec": { - "space": "srgb", - "hex": "#FDF2F8" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#FDF2F8"] - }, - { - "id": "31b7f4942c98915f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#EEF2FF", - "raw": "#EEF2FF", - "spec": { - "space": "srgb", - "hex": "#EEF2FF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#EEF2FF"] - }, - { - "id": "4cd41f327c3cc3a2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#F0FDF4", - "raw": "#F0FDF4", - "spec": { - "space": "srgb", - "hex": "#F0FDF4" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#F0FDF4"] - }, - { - "id": "7f6c83e1b042ed94", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#0000FF", - "raw": "#0000FF", - "spec": { - "space": "srgb", - "hex": "#0000FF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#0000FF"] - }, - { - "id": "7d5227ac5c608011", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#000000", - "raw": "#000000", - "spec": { - "space": "srgb", - "hex": "#000000" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#000000"] - }, - { - "id": "605ca1d9318e574c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#FFFFFF", - "raw": "#FFFFFF", - "spec": { - "space": "srgb", - "hex": "#FFFFFF" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#ffffff"] - }, - { - "id": "82ef5fe3b50492d4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#16A34A", - "raw": "#16A34A", - "spec": { - "space": "srgb", - "hex": "#16A34A" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#16a34a"] - }, - { - "id": "5a684d23518fb5ab", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#DC2626", - "raw": "#DC2626", - "spec": { - "space": "srgb", - "hex": "#DC2626" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#dc2626"] - }, - { - "id": "a4e562111b10bcd0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#2563EB", - "raw": "#2563EB", - "spec": { - "space": "srgb", - "hex": "#2563EB" - }, - "occurrences": 2, - "files_count": 1, - "usage": { - "inline_literal": 2 - }, - "tokens": ["#2563eb"] - }, - { - "id": "048de9eaf1f58923", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "color", - "value": "#84CC16", - "raw": "#84CC16", - "spec": { - "space": "srgb", - "hex": "#84CC16" - }, - "occurrences": 1, - "files_count": 1, - "usage": { - "inline_literal": 1 - }, - "tokens": ["#84cc16"] - }, - { - "id": "b3c9ad0811c2a1f5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "motion", - "value": "animate-spin", - "raw": "animate-spin", - "spec": { - "easing": "animate-spin" - }, - "occurrences": 23, - "files_count": 16, - "usage": { - "className": 23 - }, - "tokens": ["animate-spin"] - }, - { - "id": "befbc742f99d5aa1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "kind": "breakpoint", - "value": "768px", - "raw": "768px", - "spec": { - "unit": "px", - "scalar": 768 - }, - "occurrences": 1, - "files_count": 1 - } - ], - "tokens": [ - { - "id": "0c65ec41fc27c71e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--black", - "alias_chain": [], - "resolved_value": "oklch(0.00% 0.0000 0.00)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1f491ec0dc4e76ac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--white", - "alias_chain": [], - "resolved_value": "oklch(100.00% 0.0000 89.88)", - "occurrences": 13, - "files_count": 1, - "kind": "color" - }, - { - "id": "d85b579138db53c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-30", - "alias_chain": [], - "resolved_value": "oklch(97.72% 0.0000 89.88)", - "occurrences": 8, - "files_count": 1, - "kind": "color" - }, - { - "id": "258ad3d35293d8fd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-50", - "alias_chain": [], - "resolved_value": "oklch(95.42% 0.0000 89.88)", - "occurrences": 22, - "files_count": 1, - "kind": "color" - }, - { - "id": "ce0b39a11dfd4e7e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-80", - "alias_chain": [], - "resolved_value": "oklch(93.12% 0.0000 89.88)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "8310983acb1dc453", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-100", - "alias_chain": [], - "resolved_value": "oklch(91.57% 0.0000 89.88)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "085ec3d9fd20b451", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-150", - "alias_chain": [], - "resolved_value": "oklch(86.89% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "c0a22a6f77cedf94", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-200", - "alias_chain": [], - "resolved_value": "oklch(82.94% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "a98f371e3a9bcf9f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-250", - "alias_chain": [], - "resolved_value": "oklch(78.13% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "5c4ab1e4a09f5daf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-300", - "alias_chain": [], - "resolved_value": "oklch(74.07% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "7acb3d83634ebe78", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-350", - "alias_chain": [], - "resolved_value": "oklch(69.96% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2356ab016ce043a1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-400", - "alias_chain": [], - "resolved_value": "oklch(64.94% 0.0000 89.88)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "78587d67ca38987e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-450", - "alias_chain": [], - "resolved_value": "oklch(60.68% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "abec8927b8fe7d13", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-500", - "alias_chain": [], - "resolved_value": "oklch(56.34% 0.0000 89.88)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "d8e88d2774833c4b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-550", - "alias_chain": [], - "resolved_value": "oklch(51.92% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "fe2b23096ad7db3a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-600", - "alias_chain": [], - "resolved_value": "oklch(47.41% 0.0000 89.88)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "5b1feb42cf564010", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-650", - "alias_chain": [], - "resolved_value": "oklch(43.71% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2d8a935629388f1d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-700", - "alias_chain": [], - "resolved_value": "oklch(38.99% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "0fecd460aeab1698", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-750", - "alias_chain": [], - "resolved_value": "oklch(35.10% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "775684129e9d4b72", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-800", - "alias_chain": [], - "resolved_value": "oklch(30.08% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "c3e905b17df8c524", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-850", - "alias_chain": [], - "resolved_value": "oklch(26.97% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "8b01c2d34d7bc5ff", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-900", - "alias_chain": [], - "resolved_value": "oklch(21.56% 0.0000 89.88)", - "occurrences": 12, - "files_count": 1, - "kind": "color" - }, - { - "id": "acc0fe2f6f98f025", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-950", - "alias_chain": [], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 11, - "files_count": 1, - "kind": "color" - }, - { - "id": "a14cbf875743f88f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--neutral-base", - "alias_chain": ["--neutral-base", "--neutral-500"], - "resolved_value": "oklch(56.34% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "683def163c0302f2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-50", - "alias_chain": [], - "resolved_value": "oklch(95.78% 0.0180 17.47)", - "occurrences": 12, - "files_count": 1, - "kind": "color" - }, - { - "id": "d9f765b5682d5d06", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-100", - "alias_chain": [], - "resolved_value": "oklch(91.50% 0.0387 17.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "43479ef776d3e7fb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-150", - "alias_chain": [], - "resolved_value": "oklch(87.39% 0.0588 18.34)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6c37c2c6cac3e577", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-200", - "alias_chain": [], - "resolved_value": "oklch(83.31% 0.0812 18.93)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "59d44f505a1a9ef8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-250", - "alias_chain": [], - "resolved_value": "oklch(79.44% 0.1024 19.59)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7f484d077a19d912", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-300", - "alias_chain": [], - "resolved_value": "oklch(75.70% 0.1250 20.41)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "dee4b283ab4d374a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-350", - "alias_chain": [], - "resolved_value": "oklch(71.34% 0.1532 21.68)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "61b9ece882646c4f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-400", - "alias_chain": [], - "resolved_value": "oklch(67.45% 0.1801 23.23)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "b81474c3cb1d69cb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-450", - "alias_chain": [], - "resolved_value": "oklch(63.56% 0.2082 25.38)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "65747f39b163b1a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-500", - "alias_chain": [], - "resolved_value": "oklch(59.49% 0.2366 28.55)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "95d43ee97f66c855", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-550", - "alias_chain": [], - "resolved_value": "oklch(55.00% 0.2181 28.49)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d6cf5adc724ae4f6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-600", - "alias_chain": [], - "resolved_value": "oklch(50.42% 0.1991 28.41)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "a285664b038475a0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-650", - "alias_chain": [], - "resolved_value": "oklch(45.74% 0.1797 28.31)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9c0f7ca1c83b53d7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-700", - "alias_chain": [], - "resolved_value": "oklch(40.94% 0.1597 28.16)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "886a37ab781e16b5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-750", - "alias_chain": [], - "resolved_value": "oklch(37.10% 0.1441 28.08)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0f876e01b459a8ac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-800", - "alias_chain": [], - "resolved_value": "oklch(31.87% 0.1207 27.60)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "50f9ea992c82b6af", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-850", - "alias_chain": [], - "resolved_value": "oklch(27.75% 0.1037 27.37)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c9fe4d9801436bbe", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-900", - "alias_chain": [], - "resolved_value": "oklch(23.39% 0.0850 26.89)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7fc1c60aab3b61b1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-950", - "alias_chain": [], - "resolved_value": "oklch(17.60% 0.0618 26.34)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5c7ac93b40ad2df6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--red-base", - "alias_chain": ["--red-base", "--red-500"], - "resolved_value": "oklch(59.49% 0.2366 28.55)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "01eedda254a1976f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-50", - "alias_chain": [], - "resolved_value": "oklch(95.36% 0.0582 93.11)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "bd3b316e90338c91", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-100", - "alias_chain": [], - "resolved_value": "oklch(91.04% 0.1056 91.66)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "699f4269a309ac5a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-150", - "alias_chain": [], - "resolved_value": "oklch(86.57% 0.1493 90.18)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c21d413ddbac6939", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-200", - "alias_chain": [], - "resolved_value": "oklch(82.83% 0.1680 85.60)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "40652303d30d3128", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-250", - "alias_chain": [], - "resolved_value": "oklch(78.58% 0.1598 85.31)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "58b2d40bc717ece5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-300", - "alias_chain": [], - "resolved_value": "oklch(73.77% 0.1501 85.30)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "eb0f542909c43fb5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-350", - "alias_chain": [], - "resolved_value": "oklch(69.72% 0.1415 85.57)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b63099553590ab80", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-400", - "alias_chain": [], - "resolved_value": "oklch(65.31% 0.1324 87.61)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "91016f243d075b0d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-450", - "alias_chain": [], - "resolved_value": "oklch(60.56% 0.1226 85.92)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a0744fea1ba80818", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-500", - "alias_chain": [], - "resolved_value": "oklch(56.53% 0.1142 86.12)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9e84ffb09226b9c4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-550", - "alias_chain": [], - "resolved_value": "oklch(52.43% 0.1058 86.35)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cd0e7318a35ffcf7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-600", - "alias_chain": [], - "resolved_value": "oklch(48.67% 0.0979 88.54)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8ada2e54e5abf55b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-650", - "alias_chain": [], - "resolved_value": "oklch(44.10% 0.0888 86.90)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f9c2567dfbbf6f10", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-700", - "alias_chain": [], - "resolved_value": "oklch(39.59% 0.0792 87.47)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ce1951adc5604bce", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-750", - "alias_chain": [], - "resolved_value": "oklch(34.99% 0.0694 88.16)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e13d1fa56430bd2f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-800", - "alias_chain": [], - "resolved_value": "oklch(30.75% 0.0612 90.61)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "8ff7c6d092496de7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-850", - "alias_chain": [], - "resolved_value": "oklch(27.16% 0.0531 89.80)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6811caac36d00133", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-900", - "alias_chain": [], - "resolved_value": "oklch(22.28% 0.0437 91.63)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "17aa15bc73416fbd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-950", - "alias_chain": [], - "resolved_value": "oklch(16.77% 0.0313 93.87)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "abbb1ba3d0f44247", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--yellow-base", - "alias_chain": ["--yellow-base", "--yellow-250"], - "resolved_value": "oklch(78.58% 0.1598 85.31)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f8f7fd269eb9b6c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-50", - "alias_chain": [], - "resolved_value": "oklch(94.82% 0.0422 169.29)", - "occurrences": 9, - "files_count": 1, - "kind": "color" - }, - { - "id": "588b637377ebbc3a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-100", - "alias_chain": [], - "resolved_value": "oklch(89.95% 0.0807 168.66)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "2b76df9acd2a65f2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-150", - "alias_chain": [], - "resolved_value": "oklch(85.35% 0.1197 167.35)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "4ae455a3c76f79f0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-200", - "alias_chain": [], - "resolved_value": "oklch(80.58% 0.1574 162.70)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e0a9edd4c8eb9820", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-250", - "alias_chain": [], - "resolved_value": "oklch(76.38% 0.1641 160.63)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1ea3f0ea5e22d26a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-300", - "alias_chain": [], - "resolved_value": "oklch(72.79% 0.1560 160.70)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "729ec90a6c28573b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-350", - "alias_chain": [], - "resolved_value": "oklch(67.94% 0.1450 160.80)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c63b38c35203d21c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-400", - "alias_chain": [], - "resolved_value": "oklch(64.24% 0.1366 160.89)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "10296e80e20ba113", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-450", - "alias_chain": [], - "resolved_value": "oklch(59.23% 0.1253 161.04)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "020b93517e9fbf46", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-500", - "alias_chain": [], - "resolved_value": "oklch(55.40% 0.1166 161.17)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "8a97515b9c7643a9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-550", - "alias_chain": [], - "resolved_value": "oklch(50.19% 0.1047 161.37)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "94e650f95e4c53a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-600", - "alias_chain": [], - "resolved_value": "oklch(47.54% 0.0986 161.50)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "12ee8bc27e9ec22c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-650", - "alias_chain": [], - "resolved_value": "oklch(42.12% 0.0861 161.81)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ac7eb51341e97f87", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-700", - "alias_chain": [], - "resolved_value": "oklch(38.09% 0.0761 163.02)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "51b7f615389e88d3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-750", - "alias_chain": [], - "resolved_value": "oklch(33.77% 0.0661 163.42)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d983bbdcbdab7ded", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-800", - "alias_chain": [], - "resolved_value": "oklch(30.79% 0.0600 162.74)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "c329f11e7a8cfd7a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-850", - "alias_chain": [], - "resolved_value": "oklch(26.22% 0.0492 163.52)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8670e0edfa393ee9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-900", - "alias_chain": [], - "resolved_value": "oklch(21.43% 0.0378 164.98)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "00023b1dbfa76e75", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-950", - "alias_chain": [], - "resolved_value": "oklch(16.38% 0.0261 169.50)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "fdc2e1563f562b4b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--green-base", - "alias_chain": ["--green-base", "--green-300"], - "resolved_value": "oklch(72.79% 0.1560 160.70)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "76c6d9e378b20fbd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-50", - "alias_chain": [], - "resolved_value": "oklch(96.09% 0.0180 286.06)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "3e026a733ccf68a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-100", - "alias_chain": [], - "resolved_value": "oklch(91.95% 0.0390 285.61)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "21b067cc1570c5e4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-150", - "alias_chain": [], - "resolved_value": "oklch(86.69% 0.0647 284.97)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c34e6dc58deeaf80", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-200", - "alias_chain": [], - "resolved_value": "oklch(82.77% 0.0843 284.41)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "154efe2add899dcd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-250", - "alias_chain": [], - "resolved_value": "oklch(78.90% 0.1038 283.77)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "10d4c0ef48641ac0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-300", - "alias_chain": [], - "resolved_value": "oklch(74.76% 0.1273 282.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "85897b4ae86a793a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-350", - "alias_chain": [], - "resolved_value": "oklch(70.96% 0.1471 281.99)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e849197486e09285", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-400", - "alias_chain": [], - "resolved_value": "oklch(67.12% 0.1682 280.87)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "49fb40fabb8e2fa9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-450", - "alias_chain": [], - "resolved_value": "oklch(62.01% 0.1980 278.94)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "49c10da8a86e7964", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-500", - "alias_chain": [], - "resolved_value": "oklch(58.57% 0.2160 277.40)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "70c0cd54c1bed311", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-550", - "alias_chain": [], - "resolved_value": "oklch(54.14% 0.2411 274.78)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "eccb61a8e9096757", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-600", - "alias_chain": [], - "resolved_value": "oklch(50.25% 0.2633 271.74)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "0e731c4fac72e2c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-650", - "alias_chain": [], - "resolved_value": "oklch(46.47% 0.2854 267.82)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2afe4ce4c362e361", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-700", - "alias_chain": [], - "resolved_value": "oklch(42.24% 0.2846 265.00)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cb33e8a76aed616a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-750", - "alias_chain": [], - "resolved_value": "oklch(37.54% 0.2514 265.20)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b51d729753f695bb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-800", - "alias_chain": [], - "resolved_value": "oklch(33.39% 0.2220 265.44)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6d1cbcfd13ab1e4a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-850", - "alias_chain": [], - "resolved_value": "oklch(28.39% 0.1864 265.84)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "000582b98438cb84", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-900", - "alias_chain": [], - "resolved_value": "oklch(23.93% 0.1544 266.37)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "df3e541a2da8821e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-950", - "alias_chain": [], - "resolved_value": "oklch(18.40% 0.1160 267.07)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "94d820b9611e44c5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--blue-base", - "alias_chain": ["--blue-base", "--blue-600"], - "resolved_value": "oklch(50.25% 0.2633 271.74)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9bfb6cb250a41da4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-50", - "alias_chain": [], - "resolved_value": "oklch(95.51% 0.0262 309.51)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "9c031a84e7ecc10a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-100", - "alias_chain": [], - "resolved_value": "oklch(92.24% 0.0466 310.65)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3a8c833870dffd11", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-150", - "alias_chain": [], - "resolved_value": "oklch(87.78% 0.0736 309.66)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "14df9de2bfd86369", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-200", - "alias_chain": [], - "resolved_value": "oklch(83.40% 0.1012 309.30)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3d9060c89b4183d4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-250", - "alias_chain": [], - "resolved_value": "oklch(80.06% 0.1246 308.96)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3293dadcc5f12a4c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-300", - "alias_chain": [], - "resolved_value": "oklch(75.82% 0.1525 308.47)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2b5be6e54206768b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-350", - "alias_chain": [], - "resolved_value": "oklch(71.72% 0.1797 307.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "32980f98e00e0c7e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-400", - "alias_chain": [], - "resolved_value": "oklch(67.81% 0.2055 307.15)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3de95057c0d14cb5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-450", - "alias_chain": [], - "resolved_value": "oklch(63.28% 0.2344 305.98)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d02a7403dd55ead7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-500", - "alias_chain": [], - "resolved_value": "oklch(60.06% 0.2517 304.85)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "28cd3cb9ecb143c2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-550", - "alias_chain": [], - "resolved_value": "oklch(55.95% 0.2723 302.42)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b15e3165e6eab993", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-600", - "alias_chain": [], - "resolved_value": "oklch(51.81% 0.2718 299.74)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ba9de578416c9e39", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-650", - "alias_chain": [], - "resolved_value": "oklch(47.08% 0.2467 299.80)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a701f615d8c96e57", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-700", - "alias_chain": [], - "resolved_value": "oklch(42.06% 0.2184 300.28)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "19b63a30858e4402", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-750", - "alias_chain": [], - "resolved_value": "oklch(37.89% 0.1962 300.45)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "63895f820bc7d598", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-800", - "alias_chain": [], - "resolved_value": "oklch(32.65% 0.1672 301.01)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c2e39dfdfcdbae00", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-850", - "alias_chain": [], - "resolved_value": "oklch(28.09% 0.1411 301.82)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "78c161e5b0875fea", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-900", - "alias_chain": [], - "resolved_value": "oklch(23.39% 0.1148 302.86)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "681e90c6e0e8489c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-950", - "alias_chain": [], - "resolved_value": "oklch(18.39% 0.0887 304.57)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "64cbb94a3c166495", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--purple-base", - "alias_chain": [], - "resolved_value": "oklch(65.08% 0.2214 306.55)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f0310e8936eac555", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-50", - "alias_chain": [], - "resolved_value": "oklch(97.5% 0.065 145.0)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "a1d1448a1593149a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-100", - "alias_chain": [], - "resolved_value": "oklch(93.5% 0.215 143.5)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "94e6fa2827adc072", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-150", - "alias_chain": [], - "resolved_value": "oklch(88.0% 0.315 142.5)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2c412c794b9b8d51", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-200", - "alias_chain": [], - "resolved_value": "oklch(85.0% 0.302 142.3)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ff671a4a7c32fab9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-250", - "alias_chain": [], - "resolved_value": "oklch(81.5% 0.287 142.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "bcd3e462e0c57bf1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-300", - "alias_chain": [], - "resolved_value": "oklch(77.5% 0.269 141.9)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "80711099cf6eafa3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-350", - "alias_chain": [], - "resolved_value": "oklch(73.0% 0.251 141.7)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "270fb1a878da4949", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-400", - "alias_chain": [], - "resolved_value": "oklch(69.0% 0.233 141.6)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c34d19944345bdd9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-450", - "alias_chain": [], - "resolved_value": "oklch(64.5% 0.214 141.4)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b3ede2ef4d198f28", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-500", - "alias_chain": [], - "resolved_value": "oklch(60.0% 0.195 141.2)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5801cd047540f4c2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-550", - "alias_chain": [], - "resolved_value": "oklch(55.0% 0.176 141.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ed2972eaa3f4115c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-600", - "alias_chain": [], - "resolved_value": "oklch(49.5% 0.156 140.9)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7004cf3522018357", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-650", - "alias_chain": [], - "resolved_value": "oklch(44.5% 0.137 140.7)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "55cdcb666d449a15", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-700", - "alias_chain": [], - "resolved_value": "oklch(39.0% 0.117 140.5)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5b59a42850784d5e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-750", - "alias_chain": [], - "resolved_value": "oklch(34.0% 0.098 140.3)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6de47b8798322d9d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-800", - "alias_chain": [], - "resolved_value": "oklch(28.5% 0.079 140.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ffee886b491ccf75", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-850", - "alias_chain": [], - "resolved_value": "oklch(23.5% 0.061 139.9)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0cb5419e3473867e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-900", - "alias_chain": [], - "resolved_value": "oklch(18.0% 0.044 139.7)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cdad8b1639300676", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cashapp-950", - "alias_chain": [], - "resolved_value": "oklch(12.5% 0.028 139.5)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c05ec63a729309df", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-50", - "alias_chain": [], - "resolved_value": "oklch(96.0% 0.034 264.5)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "371b168c34364aee", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-100", - "alias_chain": [], - "resolved_value": "oklch(91.5% 0.060 264.3)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "69f2b2c767cefce4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-150", - "alias_chain": [], - "resolved_value": "oklch(87.0% 0.087 264.2)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8a1cb07008fe7c7a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-200", - "alias_chain": [], - "resolved_value": "oklch(82.5% 0.111 264.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9d69646d04c65bc2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-250", - "alias_chain": [], - "resolved_value": "oklch(78.0% 0.133 264.0)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "04752e48a7601709", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-300", - "alias_chain": [], - "resolved_value": "oklch(73.5% 0.153 263.9)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9f6c07bd19f5bb23", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-350", - "alias_chain": [], - "resolved_value": "oklch(69.0% 0.176 263.8)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2b0e0d34b9282034", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-400", - "alias_chain": [], - "resolved_value": "oklch(65.0% 0.204 263.7)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "fa7255bda85dadf4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-450", - "alias_chain": [], - "resolved_value": "oklch(61.0% 0.234 263.6)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5c155bd1f0484700", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-500", - "alias_chain": [], - "resolved_value": "oklch(57.0% 0.263 263.5)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "4bae616f0c5ae041", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-550", - "alias_chain": [], - "resolved_value": "oklch(51.5% 0.250 263.4)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "dfc46ae7d271fc69", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-600", - "alias_chain": [], - "resolved_value": "oklch(46.5% 0.236 263.3)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6fe83acd2bba800b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-650", - "alias_chain": [], - "resolved_value": "oklch(41.0% 0.220 263.2)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b5e8eab762db9341", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-700", - "alias_chain": [], - "resolved_value": "oklch(35.5% 0.202 263.1)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3fc8c406470e089a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-750", - "alias_chain": [], - "resolved_value": "oklch(30.5% 0.182 263.0)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "11112091c2a6e351", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-800", - "alias_chain": [], - "resolved_value": "oklch(25.0% 0.160 262.9)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e68d50aeac02f328", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-850", - "alias_chain": [], - "resolved_value": "oklch(20.0% 0.126 262.8)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ed97327c78cce4de", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-900", - "alias_chain": [], - "resolved_value": "oklch(14.5% 0.092 262.7)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7b9846a0a00b92ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--square-950", - "alias_chain": [], - "resolved_value": "oklch(9.0% 0.057 262.6)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e9381475f6d48828", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-50", - "alias_chain": [], - "resolved_value": "oklch(98.4% 0.003 247.858)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "b3729dbb04618d23", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-100", - "alias_chain": [], - "resolved_value": "oklch(96.8% 0.007 247.896)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "953c8333ce20f383", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-200", - "alias_chain": [], - "resolved_value": "oklch(92.9% 0.013 255.508)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d0c8a1b8d8eec927", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-300", - "alias_chain": [], - "resolved_value": "oklch(86.9% 0.022 252.894)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1cf8a027503ff5ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-400", - "alias_chain": [], - "resolved_value": "oklch(70.4% 0.04 256.788)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cb1bcb29af3aa24d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-500", - "alias_chain": [], - "resolved_value": "oklch(55.4% 0.046 257.417)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c1a2eb2e5d482103", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-600", - "alias_chain": [], - "resolved_value": "oklch(44.6% 0.043 257.281)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "34a88edc833bd35e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-700", - "alias_chain": [], - "resolved_value": "oklch(37.2% 0.044 257.287)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2fc8156c22a873c1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-800", - "alias_chain": [], - "resolved_value": "oklch(27.9% 0.041 260.031)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "33f40d9029b6a35f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-900", - "alias_chain": [], - "resolved_value": "oklch(20.8% 0.042 265.755)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2adaeca5eee41565", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--slate-950", - "alias_chain": [], - "resolved_value": "oklch(12.9% 0.042 264.695)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "281c0a41ea1eb353", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-50", - "alias_chain": [], - "resolved_value": "oklch(98.5% 0.002 247.839)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "272e900675c3fbf6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-100", - "alias_chain": [], - "resolved_value": "oklch(96.7% 0.003 264.542)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ec3160935dc6768d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-200", - "alias_chain": [], - "resolved_value": "oklch(92.8% 0.006 264.531)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5d30352af0770b36", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-300", - "alias_chain": [], - "resolved_value": "oklch(87.2% 0.01 258.338)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1d5452c7056d9eb0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-400", - "alias_chain": [], - "resolved_value": "oklch(70.7% 0.022 261.325)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7aa5be00ec4306b1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-500", - "alias_chain": [], - "resolved_value": "oklch(55.1% 0.023 264.364)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d5645a6fb8cfc2e7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-600", - "alias_chain": [], - "resolved_value": "oklch(44.6% 0.02 264.533)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "045d90e390a83c6f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-700", - "alias_chain": [], - "resolved_value": "oklch(37.3% 0.034 259.733)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a09c16b12f861786", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-800", - "alias_chain": [], - "resolved_value": "oklch(27.8% 0.033 256.848)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "41085387a70596ac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-900", - "alias_chain": [], - "resolved_value": "oklch(21.0% 0.034 264.665)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f1f714f4af9391b2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--gray-950", - "alias_chain": [], - "resolved_value": "oklch(13.0% 0.028 261.692)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0e42f9762ca51aff", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-50", - "alias_chain": [], - "resolved_value": "oklch(98.5% 0 0)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "bef86145bf481be9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-100", - "alias_chain": [], - "resolved_value": "oklch(96.7% 0.001 286.375)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ca44ed441a353337", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-200", - "alias_chain": [], - "resolved_value": "oklch(92.0% 0.004 286.32)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f520e1f842227c1f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-300", - "alias_chain": [], - "resolved_value": "oklch(87.1% 0.005 286.286)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "45cc3bb5b242360d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-400", - "alias_chain": [], - "resolved_value": "oklch(70.5% 0.015 286.067)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "62f1091f547ad117", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-500", - "alias_chain": [], - "resolved_value": "oklch(55.2% 0.016 285.786)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "50a6ab0df57edc83", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-600", - "alias_chain": [], - "resolved_value": "oklch(44.2% 0.013 285.786)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5bc3625d2203fc30", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-700", - "alias_chain": [], - "resolved_value": "oklch(37.0% 0.013 285.805)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a66b69426b4dfc98", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-800", - "alias_chain": [], - "resolved_value": "oklch(27.4% 0.006 286.618)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5c3f160c4241fc68", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-900", - "alias_chain": [], - "resolved_value": "oklch(21.0% 0 0)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "103347c56e4cf95b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--zinc-950", - "alias_chain": [], - "resolved_value": "oklch(14.5% 0 0)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "be9d81a1ae47b6cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-50", - "alias_chain": [], - "resolved_value": "oklch(98.5% 0.001 106.423)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "856c6dbac53912a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-100", - "alias_chain": [], - "resolved_value": "oklch(97.0% 0.001 106.424)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8beae19a19a879e8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-200", - "alias_chain": [], - "resolved_value": "oklch(92.3% 0.003 48.717)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b0d9fe4db7d65638", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-300", - "alias_chain": [], - "resolved_value": "oklch(86.9% 0.005 56.366)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "51fbb7f356bbf50d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-400", - "alias_chain": [], - "resolved_value": "oklch(70.9% 0.01 56.259)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f31bf6883a494fc6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-500", - "alias_chain": [], - "resolved_value": "oklch(55.3% 0.014 58.071)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "67fc6c6993cf8c8d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-600", - "alias_chain": [], - "resolved_value": "oklch(44.4% 0.011 73.638)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "70b8f95a6d932417", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-700", - "alias_chain": [], - "resolved_value": "oklch(37.4% 0.01 67.558)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b98a8abaaaa21e4a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-800", - "alias_chain": [], - "resolved_value": "oklch(26.8% 0.007 34.298)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "469af2d44ad502fe", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-900", - "alias_chain": [], - "resolved_value": "oklch(21.6% 0.006 56.044)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "91c5bc1c731bb796", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--stone-950", - "alias_chain": [], - "resolved_value": "oklch(13.1% 0.004 285.938)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c68301e0a52b46cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-50", - "alias_chain": [], - "resolved_value": "oklch(96.9% 0.015 12.422)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "fb75d6f68f2d50b8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-100", - "alias_chain": [], - "resolved_value": "oklch(94.1% 0.03 12.58)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9f21230e1c0122c0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-200", - "alias_chain": [], - "resolved_value": "oklch(89.2% 0.058 10.001)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a632cf1dea58af5c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-300", - "alias_chain": [], - "resolved_value": "oklch(81.0% 0.117 11.638)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3dc28ceaa8bd081a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-400", - "alias_chain": [], - "resolved_value": "oklch(71.2% 0.194 13.428)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "054dcfa2c6c482bb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-500", - "alias_chain": [], - "resolved_value": "oklch(64.5% 0.246 16.439)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "769c79ae845da9d9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-600", - "alias_chain": [], - "resolved_value": "oklch(58.6% 0.253 17.585)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "62119c56797ff8cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-700", - "alias_chain": [], - "resolved_value": "oklch(51.4% 0.222 16.935)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "43363cd6f3e38a43", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-800", - "alias_chain": [], - "resolved_value": "oklch(43.6% 0.177 15.304)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "79c13929ae85be7a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-900", - "alias_chain": [], - "resolved_value": "oklch(41.0% 0.159 10.272)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8ec4ca003ccaaf0b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--rose-950", - "alias_chain": [], - "resolved_value": "oklch(27.1% 0.105 12.094)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3034054eb927635e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-50", - "alias_chain": [], - "resolved_value": "oklch(98.0% 0.016 73.684)", - "occurrences": 9, - "files_count": 1, - "kind": "color" - }, - { - "id": "499a8d73e0e51323", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-100", - "alias_chain": [], - "resolved_value": "oklch(95.4% 0.038 75.164)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7e5946fd4a1ecb21", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-200", - "alias_chain": [], - "resolved_value": "oklch(90.0% 0.076 70.697)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a61a1a16822dcbe9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-300", - "alias_chain": [], - "resolved_value": "oklch(83.7% 0.128 66.29)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "4f58b70c3830867f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-400", - "alias_chain": [], - "resolved_value": "oklch(75.0% 0.183 55.934)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "adf34b51dd4154bb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-500", - "alias_chain": [], - "resolved_value": "oklch(70.5% 0.213 47.604)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "e5cbbf8b749f05ab", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-600", - "alias_chain": [], - "resolved_value": "oklch(64.6% 0.222 41.116)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "04755989ff44e4ef", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-700", - "alias_chain": [], - "resolved_value": "oklch(55.8% 0.227 37.304)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b815ebe687d856e1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-800", - "alias_chain": [], - "resolved_value": "oklch(47.0% 0.157 37.304)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2862ec48aa4f27d3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-900", - "alias_chain": [], - "resolved_value": "oklch(37.7% 0.127 29.234)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "b59442703d1cd6c7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--orange-950", - "alias_chain": [], - "resolved_value": "oklch(26.6% 0.079 36.259)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "70d89e8d48d4b803", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-50", - "alias_chain": [], - "resolved_value": "oklch(98.7% 0.022 95.277)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "97764d2aa68337a1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-100", - "alias_chain": [], - "resolved_value": "oklch(96.2% 0.059 95.617)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cf21dccd44a96d4c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-200", - "alias_chain": [], - "resolved_value": "oklch(92.5% 0.096 101.664)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0ddd6fcf5dfd9ba1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-300", - "alias_chain": [], - "resolved_value": "oklch(87.9% 0.169 91.605)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d3f49db11f81fd7b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-400", - "alias_chain": [], - "resolved_value": "oklch(82.8% 0.189 84.429)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "028e84f17ef893e0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-500", - "alias_chain": [], - "resolved_value": "oklch(76.9% 0.188 70.08)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7a9080e2cb2ef704", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-600", - "alias_chain": [], - "resolved_value": "oklch(66.6% 0.179 58.318)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2f2aaa5c1d56cf79", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-700", - "alias_chain": [], - "resolved_value": "oklch(55.5% 0.163 48.998)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7526341b8d132d52", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-800", - "alias_chain": [], - "resolved_value": "oklch(47.3% 0.137 46.201)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "70b8017edec4c319", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-900", - "alias_chain": [], - "resolved_value": "oklch(41.4% 0.112 45.904)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "25923843c58d94b6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--amber-950", - "alias_chain": [], - "resolved_value": "oklch(27.9% 0.077 45.635)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "429edec187f695d6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-50", - "alias_chain": [], - "resolved_value": "oklch(98.6% 0.031 120.757)", - "occurrences": 8, - "files_count": 1, - "kind": "color" - }, - { - "id": "8ff3eeb9d017b97b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-100", - "alias_chain": [], - "resolved_value": "oklch(96.7% 0.067 122.328)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "7699a7a292b08983", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-200", - "alias_chain": [], - "resolved_value": "oklch(93.8% 0.127 124.321)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "88d7cd1f76d8e708", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-300", - "alias_chain": [], - "resolved_value": "oklch(89.7% 0.196 126.665)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "478b523803bde0cd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-400", - "alias_chain": [], - "resolved_value": "oklch(84.1% 0.238 128.85)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "1183d550f7c0c16f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-500", - "alias_chain": [], - "resolved_value": "oklch(76.8% 0.233 130.85)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "f83c4cde9206bac5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-600", - "alias_chain": [], - "resolved_value": "oklch(64.8% 0.2 131.684)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "85c5302c9854b53e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-700", - "alias_chain": [], - "resolved_value": "oklch(53.2% 0.157 131.589)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3f7453826080525b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-800", - "alias_chain": [], - "resolved_value": "oklch(45.3% 0.124 130.933)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9b779072cda33f2e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-900", - "alias_chain": [], - "resolved_value": "oklch(40.5% 0.101 131.063)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "224abefa982cf2cd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--lime-950", - "alias_chain": [], - "resolved_value": "oklch(27.4% 0.072 132.109)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "440946e2ae1dd9b9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-50", - "alias_chain": [], - "resolved_value": "oklch(97.9% 0.021 166.113)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "82e15b588e583660", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-100", - "alias_chain": [], - "resolved_value": "oklch(95.0% 0.052 163.051)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ad2bee05ea764c0d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-200", - "alias_chain": [], - "resolved_value": "oklch(90.5% 0.093 164.15)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cf914e97957a5a5a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-300", - "alias_chain": [], - "resolved_value": "oklch(84.5% 0.143 164.978)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "938e5f5ff64428da", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-400", - "alias_chain": [], - "resolved_value": "oklch(76.5% 0.177 163.223)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f1252520224ec505", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-500", - "alias_chain": [], - "resolved_value": "oklch(69.6% 0.17 162.48)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "4f2c122e8b518f80", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-600", - "alias_chain": [], - "resolved_value": "oklch(59.6% 0.145 163.225)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "d769e4a4b434d9f2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-700", - "alias_chain": [], - "resolved_value": "oklch(50.8% 0.127 165.612)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8b7b491bfebd3997", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-800", - "alias_chain": [], - "resolved_value": "oklch(43.2% 0.095 166.913)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "04ee4ce7c5e03b56", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-900", - "alias_chain": [], - "resolved_value": "oklch(37.8% 0.077 168.94)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "df94c801a3901b8c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--emerald-950", - "alias_chain": [], - "resolved_value": "oklch(26.2% 0.051 172.552)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "064516bf72d4dedb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-50", - "alias_chain": [], - "resolved_value": "oklch(98.4% 0.014 180.72)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "54de58bfcbfea50e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-100", - "alias_chain": [], - "resolved_value": "oklch(95.3% 0.05 180.801)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1b4b476efee09e53", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-200", - "alias_chain": [], - "resolved_value": "oklch(91.0% 0.096 180.426)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a1cae95bb265ab62", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-300", - "alias_chain": [], - "resolved_value": "oklch(85.5% 0.138 181.071)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "6ccba7f23aa21a53", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-400", - "alias_chain": [], - "resolved_value": "oklch(77.7% 0.152 181.912)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "7903c14e7a563b3b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-500", - "alias_chain": [], - "resolved_value": "oklch(70.4% 0.14 182.503)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "fe130af0db93adfd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-600", - "alias_chain": [], - "resolved_value": "oklch(60.0% 0.118 184.704)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "c30ad7fd78827334", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-700", - "alias_chain": [], - "resolved_value": "oklch(51.1% 0.096 186.391)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "9d1b8664d0d15f19", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-800", - "alias_chain": [], - "resolved_value": "oklch(43.7% 0.078 188.216)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "2d5a518d2a71ea44", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-900", - "alias_chain": [], - "resolved_value": "oklch(39.4% 0.068 188.416)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ee9d87d35d3468c3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--teal-950", - "alias_chain": [], - "resolved_value": "oklch(27.7% 0.046 192.524)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3d3ad1488bc3fd13", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-50", - "alias_chain": [], - "resolved_value": "oklch(98.4% 0.019 200.873)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "1ee4fbdded37ce9f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-100", - "alias_chain": [], - "resolved_value": "oklch(95.6% 0.045 203.388)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "744f6e33ecda927c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-200", - "alias_chain": [], - "resolved_value": "oklch(91.7% 0.08 205.041)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5fe864efadfa79cc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-300", - "alias_chain": [], - "resolved_value": "oklch(86.5% 0.127 207.078)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "803cc5e058a16ebf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-400", - "alias_chain": [], - "resolved_value": "oklch(78.9% 0.154 211.53)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c7cb8ba04a8a3d2f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-500", - "alias_chain": [], - "resolved_value": "oklch(71.5% 0.143 215.221)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "75796d1e8d68c7a8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-600", - "alias_chain": [], - "resolved_value": "oklch(60.9% 0.126 221.723)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "02942b323f33b359", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-700", - "alias_chain": [], - "resolved_value": "oklch(52.0% 0.105 223.128)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "6127d0de13261bfd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-800", - "alias_chain": [], - "resolved_value": "oklch(45.0% 0.085 224.283)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f17ffd73c84c94bc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-900", - "alias_chain": [], - "resolved_value": "oklch(39.8% 0.07 227.392)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f120425633f80744", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--cyan-950", - "alias_chain": [], - "resolved_value": "oklch(30.2% 0.056 229.695)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "aa66af0e138c21f3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-50", - "alias_chain": [], - "resolved_value": "oklch(97.7% 0.013 236.62)", - "occurrences": 7, - "files_count": 1, - "kind": "color" - }, - { - "id": "dbd6316a8e485497", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-100", - "alias_chain": [], - "resolved_value": "oklch(95.1% 0.026 236.824)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "be7df7c0bcd5d6e3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-200", - "alias_chain": [], - "resolved_value": "oklch(90.1% 0.058 230.902)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0386a30908dd3568", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-300", - "alias_chain": [], - "resolved_value": "oklch(82.8% 0.111 230.318)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "0180829b84fbae7a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-400", - "alias_chain": [], - "resolved_value": "oklch(74.6% 0.16 232.661)", - "occurrences": 5, - "files_count": 1, - "kind": "color" - }, - { - "id": "f0066db6ed6c6654", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-500", - "alias_chain": [], - "resolved_value": "oklch(68.5% 0.169 237.323)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "867ed8963826b73b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-600", - "alias_chain": [], - "resolved_value": "oklch(58.8% 0.158 241.966)", - "occurrences": 4, - "files_count": 1, - "kind": "color" - }, - { - "id": "f1580b0a6f542cbe", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-700", - "alias_chain": [], - "resolved_value": "oklch(50.0% 0.134 242.749)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c4bd2fdf1419324d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-800", - "alias_chain": [], - "resolved_value": "oklch(44.3% 0.11 240.79)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "21988643813ad76f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-900", - "alias_chain": [], - "resolved_value": "oklch(39.1% 0.09 240.876)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f6b2bb6e5d75fc1a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sky-950", - "alias_chain": [], - "resolved_value": "oklch(29.3% 0.066 243.157)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "a7e855c59de493af", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-50", - "alias_chain": [], - "resolved_value": "oklch(96.2% 0.018 272.314)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "04651e172a1d377b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-100", - "alias_chain": [], - "resolved_value": "oklch(93.0% 0.034 272.788)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "26a043f289d2d041", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-200", - "alias_chain": [], - "resolved_value": "oklch(87.0% 0.065 274.039)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "bdf647b68681689b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-300", - "alias_chain": [], - "resolved_value": "oklch(78.5% 0.115 274.713)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "879229e77b0e9394", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-400", - "alias_chain": [], - "resolved_value": "oklch(67.3% 0.182 276.935)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "1c270f10dcf8572f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-500", - "alias_chain": [], - "resolved_value": "oklch(58.5% 0.233 277.117)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f2326dc434a3681d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-600", - "alias_chain": [], - "resolved_value": "oklch(51.1% 0.262 276.966)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "5cef32e427838521", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-700", - "alias_chain": [], - "resolved_value": "oklch(45.7% 0.24 277.023)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "54b23ef215e582bd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-800", - "alias_chain": [], - "resolved_value": "oklch(39.8% 0.195 277.366)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "83262aefbcdbf35e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-900", - "alias_chain": [], - "resolved_value": "oklch(35.9% 0.144 278.697)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "596868edc1eb5c8d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--indigo-950", - "alias_chain": [], - "resolved_value": "oklch(25.7% 0.09 281.288)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c926f62852346db1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-50", - "alias_chain": [], - "resolved_value": "oklch(96.9% 0.016 293.756)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "02b4837897fc3672", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-100", - "alias_chain": [], - "resolved_value": "oklch(94.3% 0.029 294.588)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "81e243535908f877", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-200", - "alias_chain": [], - "resolved_value": "oklch(89.4% 0.057 293.283)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ad5889d081a1ae3b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-300", - "alias_chain": [], - "resolved_value": "oklch(81.1% 0.111 293.571)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "4aae99a7d2a67981", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-400", - "alias_chain": [], - "resolved_value": "oklch(70.2% 0.183 293.541)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "86417b4df29c93a9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-500", - "alias_chain": [], - "resolved_value": "oklch(60.6% 0.25 292.717)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "f3a2bac63cf138ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-600", - "alias_chain": [], - "resolved_value": "oklch(54.1% 0.281 293.009)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "df991573fa32ec3e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-700", - "alias_chain": [], - "resolved_value": "oklch(49.1% 0.27 292.581)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "548e43f50363c589", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-800", - "alias_chain": [], - "resolved_value": "oklch(43.2% 0.232 292.759)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ddbd179c80d179e8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-900", - "alias_chain": [], - "resolved_value": "oklch(38.0% 0.189 293.745)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ca178d0edbc07d8b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--violet-950", - "alias_chain": [], - "resolved_value": "oklch(28.3% 0.141 291.089)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "ac0084a0a2f20768", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-50", - "alias_chain": [], - "resolved_value": "oklch(97.7% 0.017 320.058)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "275fee6e987552fa", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-100", - "alias_chain": [], - "resolved_value": "oklch(95.2% 0.037 318.852)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d222048689897303", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-200", - "alias_chain": [], - "resolved_value": "oklch(90.3% 0.076 319.562)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "087089ab8535d3c4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-300", - "alias_chain": [], - "resolved_value": "oklch(83.3% 0.145 321.434)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "0982d9146c5a4260", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-400", - "alias_chain": [], - "resolved_value": "oklch(74.0% 0.238 322.16)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c8705a2404a75d83", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-500", - "alias_chain": [], - "resolved_value": "oklch(66.7% 0.295 322.15)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "c4b202e8e3e66912", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-600", - "alias_chain": [], - "resolved_value": "oklch(59.1% 0.293 322.896)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "3c521fb5393af9f2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-700", - "alias_chain": [], - "resolved_value": "oklch(52.4% 0.253 323.046)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "31c65dbdfc23bf13", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-800", - "alias_chain": [], - "resolved_value": "oklch(45.2% 0.211 324.591)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "21091d3bad707724", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-900", - "alias_chain": [], - "resolved_value": "oklch(40.2% 0.159 325.612)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "49fe6b24cd135666", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--fuchsia-950", - "alias_chain": [], - "resolved_value": "oklch(29.6% 0.113 325.612)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8f2269737c101ee5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-50", - "alias_chain": [], - "resolved_value": "oklch(97.1% 0.014 343.198)", - "occurrences": 6, - "files_count": 1, - "kind": "color" - }, - { - "id": "7f693f4bb3f9652d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-100", - "alias_chain": [], - "resolved_value": "oklch(94.8% 0.028 342.258)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "4d65c4ee0297dd3a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-200", - "alias_chain": [], - "resolved_value": "oklch(90.9% 0.058 343.231)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "bc53ef05af40a4bf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-300", - "alias_chain": [], - "resolved_value": "oklch(82.3% 0.12 346.018)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "57222565b056c4ea", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-400", - "alias_chain": [], - "resolved_value": "oklch(71.8% 0.202 349.761)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "87203546455cdd68", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-500", - "alias_chain": [], - "resolved_value": "oklch(65.6% 0.241 354.308)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "48da3806ee1a6f87", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-600", - "alias_chain": [], - "resolved_value": "oklch(59.2% 0.249 0.584)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "d02e9667e55fe31a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-700", - "alias_chain": [], - "resolved_value": "oklch(52.5% 0.223 3.958)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "8c04fced0f12b96a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-800", - "alias_chain": [], - "resolved_value": "oklch(45.1% 0.187 3.815)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "96f1bf2ce908b58f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-900", - "alias_chain": [], - "resolved_value": "oklch(40.8% 0.153 2.432)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "cb119c813a816b24", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--pink-950", - "alias_chain": [], - "resolved_value": "oklch(29.1% 0.109 3.907)", - "occurrences": 3, - "files_count": 1, - "kind": "color" - }, - { - "id": "e925881bd77f6db2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--page-x-padding", - "alias_chain": [], - "resolved_value": "4px", - "occurrences": 5, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "1c19cf04d9cbb324", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--background", - "alias_chain": ["--background", "--white"], - "resolved_value": "oklch(100.00% 0.0000 89.88)", - "occurrences": 16, - "files_count": 5, - "kind": "color", - "by_theme": { - "default": "var(--white)", - "dark": "var(--neutral-900)", - "force_light": "var(--white)" - } - }, - { - "id": "ed931ba15fdcd4b0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--foreground", - "alias_chain": ["--foreground", "--neutral-950"], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 9, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-950)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-950)" - } - }, - { - "id": "ed06daa31657f8df", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--card", - "alias_chain": ["--card", "--white"], - "resolved_value": "oklch(100.00% 0.0000 89.88)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--white)", - "dark": "var(--neutral-900)", - "force_light": "var(--white)" - } - }, - { - "id": "cda55e3ae11c98db", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--card-foreground", - "alias_chain": ["--card-foreground", "--neutral-950"], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-950)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-950)" - } - }, - { - "id": "3cd7848423f9490a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--popover", - "alias_chain": ["--popover", "--white"], - "resolved_value": "oklch(100.00% 0.0000 89.88)", - "occurrences": 19, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--white)", - "dark": "rgba(36, 36, 36, 0.8)", - "force_light": "var(--white)" - } - }, - { - "id": "a045fbdb62ad1d25", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--popover-foreground", - "alias_chain": ["--popover-foreground", "--neutral-950"], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--neutral-950)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-950)" - } - }, - { - "id": "78257af983c19143", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--primary", - "alias_chain": ["--primary", "--neutral-900"], - "resolved_value": "oklch(21.56% 0.0000 89.88)", - "occurrences": 15, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--neutral-900)", - "dark": "var(--neutral-200)", - "force_light": "var(--neutral-900)" - } - }, - { - "id": "4db402235792d18a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--primary-foreground", - "alias_chain": ["--primary-foreground", "--neutral-50"], - "resolved_value": "oklch(95.42% 0.0000 89.88)", - "occurrences": 7, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-50)", - "dark": "var(--neutral-900)", - "force_light": "var(--neutral-50)" - } - }, - { - "id": "6b4c537d87f0d624", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--secondary", - "alias_chain": ["--secondary", "--neutral-50"], - "resolved_value": "oklch(95.42% 0.0000 89.88)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-50)", - "dark": "var(--neutral-800)", - "force_light": "var(--neutral-50)" - } - }, - { - "id": "61114eafad1817d4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--secondary-foreground", - "alias_chain": ["--secondary-foreground", "--neutral-900"], - "resolved_value": "oklch(21.56% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-900)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-900)" - } - }, - { - "id": "0f0a0bf2b603b2e0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--muted", - "alias_chain": ["--muted", "--neutral-50"], - "resolved_value": "oklch(95.42% 0.0000 89.88)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-50)", - "dark": "var(--neutral-850)", - "force_light": "var(--neutral-50)" - } - }, - { - "id": "07cd686f77b5cdba", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--muted-foreground", - "alias_chain": ["--muted-foreground", "--neutral-500"], - "resolved_value": "oklch(56.34% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-500)", - "dark": "var(--neutral-400)", - "force_light": "var(--neutral-500)" - } - }, - { - "id": "699d5be5bf0ac4c7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--subtle-foreground", - "alias_chain": ["--subtle-foreground", "--neutral-600"], - "resolved_value": "oklch(47.41% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-600)", - "dark": "var(--neutral-250)", - "force_light": "var(--neutral-600)" - } - }, - { - "id": "412489e6cfe5aa5c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--elevation-0", - "alias_chain": [], - "resolved_value": "oklab(97.913% 0 -0.00011)", - "occurrences": 11, - "files_count": 5, - "kind": "color", - "by_theme": { - "default": "oklab(97.913% 0 -0.00011)", - "dark": "oklch(0% 0 0)", - "force_light": "#F8F8F8" - } - }, - { - "id": "3988f02339976e3b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--elevation-1", - "alias_chain": ["--elevation-1", "--white"], - "resolved_value": "oklch(100.00% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--white)", - "dark": "oklch(19.125% 0.00002 271.152)", - "force_light": "var(--white)" - } - }, - { - "id": "0b663a28bc8542d7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--elevation-2", - "alias_chain": [], - "resolved_value": "oklch(95.815% 0.00011 271.152)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "oklch(95.815% 0.00011 271.152)", - "dark": "oklch(28.094% 0.00003 271.152)" - } - }, - { - "id": "cad76ae905e1dfb0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--accent", - "alias_chain": ["--accent", "--neutral-100"], - "resolved_value": "oklch(91.57% 0.0000 89.88)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-100)", - "dark": "var(--neutral-700)", - "force_light": "var(--neutral-100)" - } - }, - { - "id": "e8cb7ea70b2ad6a9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--accent-foreground", - "alias_chain": ["--accent-foreground", "--neutral-900"], - "resolved_value": "oklch(21.56% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-900)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-900)" - } - }, - { - "id": "e2289cd664c4ffc7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--destructive", - "alias_chain": ["--destructive", "--red-600"], - "resolved_value": "oklch(50.42% 0.1991 28.41)", - "occurrences": 11, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--red-600)", - "dark": "var(--red-400)", - "force_light": "var(--red-600)" - } - }, - { - "id": "bbc9190f0d9f2c9e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--destructive-foreground", - "alias_chain": ["--destructive-foreground", "--red-50"], - "resolved_value": "oklch(95.78% 0.0180 17.47)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--red-50)", - "dark": "var(--red-50)", - "force_light": "var(--red-50)" - } - }, - { - "id": "d6663ab277405f52", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--danger", - "alias_chain": ["--danger", "--red-600"], - "resolved_value": "oklch(50.42% 0.1991 28.41)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--red-600)", - "dark": "var(--red-800)", - "force_light": "var(--red-600)" - } - }, - { - "id": "1f76ab7846b95fd9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--danger-foreground", - "alias_chain": ["--danger-foreground", "--red-50"], - "resolved_value": "oklch(95.78% 0.0180 17.47)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--red-50)", - "dark": "var(--red-100)", - "force_light": "var(--red-50)" - } - }, - { - "id": "8bf3b44ca95f5e8f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--success", - "alias_chain": ["--success", "--green-600"], - "resolved_value": "oklch(47.54% 0.0986 161.50)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--green-600)", - "dark": "var(--green-800)", - "force_light": "var(--green-600)" - } - }, - { - "id": "5a9d6799c4d19545", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--success-foreground", - "alias_chain": ["--success-foreground", "--green-50"], - "resolved_value": "oklch(94.82% 0.0422 169.29)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--green-50)", - "dark": "var(--green-100)", - "force_light": "var(--green-50)" - } - }, - { - "id": "9cec86b9b8a1c619", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--warning", - "alias_chain": ["--warning", "--yellow-200"], - "resolved_value": "oklch(82.83% 0.1680 85.60)", - "occurrences": 10, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--yellow-200)", - "dark": "var(--yellow-800)", - "force_light": "var(--yellow-200)" - } - }, - { - "id": "9a99b547ebcd5efd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--warning-foreground", - "alias_chain": ["--warning-foreground", "--yellow-950"], - "resolved_value": "oklch(16.77% 0.0313 93.87)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--yellow-950)", - "dark": "var(--yellow-100)", - "force_light": "var(--yellow-950)" - } - }, - { - "id": "7c9a1c5b661b1e3d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--trend-up", - "alias_chain": ["--trend-up", "--lime-600"], - "resolved_value": "oklch(64.8% 0.2 131.684)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--lime-600)", - "dark": "var(--lime-500)", - "force_light": "var(--lime-600)" - } - }, - { - "id": "afffc55f1778c156", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--trend-down", - "alias_chain": ["--trend-down", "--orange-500"], - "resolved_value": "oklch(70.5% 0.213 47.604)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--orange-500)", - "dark": "var(--orange-500)", - "force_light": "var(--orange-500)" - } - }, - { - "id": "6473498936f19332", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--trend-neutral", - "alias_chain": ["--trend-neutral", "--neutral-300"], - "resolved_value": "oklch(74.07% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-300)", - "dark": "var(--neutral-600)", - "force_light": "var(--neutral-300)" - } - }, - { - "id": "5586f1ae878f5c88", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--border", - "alias_chain": ["--border", "--neutral-100"], - "resolved_value": "oklch(91.57% 0.0000 89.88)", - "occurrences": 9, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--neutral-100)", - "dark": "rgba(255, 255, 255, 0.1)", - "force_light": "var(--neutral-100)" - } - }, - { - "id": "7a3710fd96d49169", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--popover-border", - "alias_chain": [], - "resolved_value": "rgba(0, 0, 0, 0.1)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "rgba(0, 0, 0, 0.1)", - "dark": "rgba(255, 255, 255, 0.03)", - "force_light": "rgba(0, 0, 0, 0.1)" - } - }, - { - "id": "428558af4aae1c53", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--input", - "alias_chain": ["--input", "--neutral-150"], - "resolved_value": "oklch(86.89% 0.0000 89.88)", - "occurrences": 5, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-150)", - "dark": "rgba(255, 255, 255, 0.12)", - "force_light": "var(--neutral-150)" - } - }, - { - "id": "3908bdcd01dd7252", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--ring", - "alias_chain": ["--ring", "--neutral-400"], - "resolved_value": "oklch(64.94% 0.0000 89.88)", - "occurrences": 7, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-400)", - "dark": "var(--neutral-500)", - "force_light": "var(--neutral-400)" - } - }, - { - "id": "141424c97230cdbf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-1", - "alias_chain": ["--chart-1", "--sky-300"], - "resolved_value": "oklch(82.8% 0.111 230.318)", - "occurrences": 33, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--sky-300)", - "dark": "var(--sky-300)" - } - }, - { - "id": "505b8b56cf3a312d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-2", - "alias_chain": ["--chart-2", "--teal-600"], - "resolved_value": "oklch(60.0% 0.118 184.704)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--teal-600)", - "dark": "var(--teal-500)" - } - }, - { - "id": "9450783a724fccae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-3", - "alias_chain": ["--chart-3", "--cyan-300"], - "resolved_value": "oklch(86.5% 0.127 207.078)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--cyan-300)", - "dark": "var(--cyan-300)" - } - }, - { - "id": "c0051bb409ed892e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-4", - "alias_chain": ["--chart-4", "--emerald-600"], - "resolved_value": "oklch(59.6% 0.145 163.225)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--emerald-600)", - "dark": "var(--emerald-500)" - } - }, - { - "id": "9f6b429a8af15b29", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-5", - "alias_chain": ["--chart-5", "--lime-300"], - "resolved_value": "oklch(89.7% 0.196 126.665)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--lime-300)", - "dark": "var(--lime-300)" - } - }, - { - "id": "d356acef1914bfd3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-6", - "alias_chain": ["--chart-6", "--sky-600"], - "resolved_value": "oklch(58.8% 0.158 241.966)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--sky-600)", - "dark": "var(--sky-500)" - } - }, - { - "id": "5afd6ae67a723317", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-7", - "alias_chain": ["--chart-7", "--teal-300"], - "resolved_value": "oklch(85.5% 0.138 181.071)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--teal-300)", - "dark": "var(--teal-300)" - } - }, - { - "id": "69ff76efd62fe579", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-8", - "alias_chain": ["--chart-8", "--lime-600"], - "resolved_value": "oklch(64.8% 0.2 131.684)", - "occurrences": 6, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--lime-600)", - "dark": "var(--lime-500)" - } - }, - { - "id": "23617b0f1b9a63b0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-9", - "alias_chain": ["--chart-9", "--cyan-600"], - "resolved_value": "oklch(60.9% 0.126 221.723)", - "occurrences": 5, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--cyan-600)", - "dark": "var(--cyan-500)" - } - }, - { - "id": "44badcbbe9d91ce5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-10", - "alias_chain": ["--chart-10", "--emerald-300"], - "resolved_value": "oklch(84.5% 0.143 164.978)", - "occurrences": 5, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--emerald-300)", - "dark": "var(--emerald-300)" - } - }, - { - "id": "4a6a96793f33893e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-11", - "alias_chain": ["--chart-11", "--green-300"], - "resolved_value": "oklch(72.79% 0.1560 160.70)", - "occurrences": 5, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--green-300)", - "dark": "var(--green-300)" - } - }, - { - "id": "411158ec31f18bc1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-12", - "alias_chain": ["--chart-12", "--green-600"], - "resolved_value": "oklch(47.54% 0.0986 161.50)", - "occurrences": 5, - "files_count": 2, - "kind": "color", - "by_theme": { - "default": "var(--green-600)", - "dark": "var(--green-500)" - } - }, - { - "id": "c77f342fc1d75c9a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-13", - "alias_chain": ["--chart-13", "--sky-400"], - "resolved_value": "oklch(74.6% 0.16 232.661)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--sky-400)", - "dark": "var(--sky-400)" - } - }, - { - "id": "4323405e96c3c2b4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-14", - "alias_chain": ["--chart-14", "--teal-400"], - "resolved_value": "oklch(77.7% 0.152 181.912)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--teal-400)", - "dark": "var(--teal-400)" - } - }, - { - "id": "fb794e1adbe73a5b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--chart-15", - "alias_chain": ["--chart-15", "--lime-400"], - "resolved_value": "oklch(84.1% 0.238 128.85)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--lime-400)", - "dark": "var(--lime-400)" - } - }, - { - "id": "d60048d168cc6289", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar", - "alias_chain": ["--sidebar", "--elevation-0"], - "resolved_value": "oklab(97.913% 0 -0.00011)", - "occurrences": 39, - "files_count": 3, - "kind": "color", - "by_theme": { - "default": "var(--elevation-0)", - "dark": "var(--elevation-0)" - } - }, - { - "id": "445b51a13146b17e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-foreground", - "alias_chain": ["--sidebar-foreground", "--neutral-700"], - "resolved_value": "oklch(38.99% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-700)", - "dark": "var(--neutral-250)" - } - }, - { - "id": "afa292998286b124", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-primary", - "alias_chain": ["--sidebar-primary", "--primary"], - "resolved_value": "oklch(21.56% 0.0000 89.88)", - "occurrences": 8, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--primary)", - "dark": "var(--primary)" - } - }, - { - "id": "fd3019e8452b4270", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-primary-foreground", - "alias_chain": ["--sidebar-primary-foreground", "--primary-foreground"], - "resolved_value": "oklch(95.42% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--primary-foreground)", - "dark": "var(--primary-foreground)" - } - }, - { - "id": "603ced9addd83d88", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-accent", - "alias_chain": [], - "resolved_value": "color-mix(", - "occurrences": 8, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "color-mix(", - "dark": "color-mix(" - } - }, - { - "id": "38036f6b86eb0edd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-accent-foreground", - "alias_chain": ["--sidebar-accent-foreground", "--foreground"], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--foreground)", - "dark": "var(--foreground)" - } - }, - { - "id": "43bbcde55424ffd2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-border", - "alias_chain": ["--sidebar-border", "--border"], - "resolved_value": "oklch(91.57% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--border)", - "dark": "var(--border)" - } - }, - { - "id": "bf0e7a7cdc45de9b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--sidebar-ring", - "alias_chain": ["--sidebar-ring", "--ring"], - "resolved_value": "oklch(64.94% 0.0000 89.88)", - "occurrences": 4, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--ring)", - "dark": "var(--ring)" - } - }, - { - "id": "b856f40219a3f872", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--panel", - "alias_chain": [], - "resolved_value": "#FCFCFC", - "occurrences": 8, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "#FCFCFC", - "dark": "#181818", - "force_light": "#FCFCFC" - } - }, - { - "id": "392495d3256a0396", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--panel-foreground", - "alias_chain": ["--panel-foreground", "--neutral-950"], - "resolved_value": "oklch(16.98% 0.0000 89.88)", - "occurrences": 3, - "files_count": 1, - "kind": "color", - "by_theme": { - "default": "var(--neutral-950)", - "dark": "var(--neutral-50)", - "force_light": "var(--neutral-950)" - } - }, - { - "id": "703c1ce9b005f430", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-small-size-width", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "49f023111c92e7b5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-small-size-height", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "184c2c3f907000a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-medium-size-width", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "58ce405983a8d0fc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-medium-size-height", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "739a5bfd25920857", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-large-size-width", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "e3ecccb3865ddea6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--core-icon-large-size-height", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "7338165139ca7e6a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--font-sans", - "alias_chain": [], - "resolved_value": "'Cash Sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "c1b9e8e478361ffb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--border-width-hairline", - "alias_chain": [], - "resolved_value": "0.5px", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "fe5503588be16f00", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-xs", - "alias_chain": [], - "resolved_value": "4px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "12592c68f5c32482", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-sm", - "alias_chain": [], - "resolved_value": "6px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "2bcd14b4fb82faf5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-md", - "alias_chain": [], - "resolved_value": "8px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "6866b86b0a376c54", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-lg", - "alias_chain": [], - "resolved_value": "12px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "9dd3dd60631d984e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-xl", - "alias_chain": [], - "resolved_value": "16px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "9b6a19d04734a646", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-2xl", - "alias_chain": [], - "resolved_value": "20px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "0e2b6ef8c7e9cc4a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-3xl", - "alias_chain": [], - "resolved_value": "24px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "8b8623db9de311bf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--radius-4xl", - "alias_chain": [], - "resolved_value": "32px", - "occurrences": 1, - "files_count": 1, - "kind": "radius" - }, - { - "id": "c84027db122e0dc4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--width-sidebar", - "alias_chain": [], - "resolved_value": "280px", - "occurrences": 2, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "ad925dec44ef4d8d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--width-main", - "alias_chain": [], - "resolved_value": "calc(100vw - var(--width-sidebar) - (var(--spacing) * 8))", - "occurrences": 1, - "files_count": 1, - "kind": "spacing" - }, - { - "id": "c626405ba5d9a4b1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--width-content-narrow", - "alias_chain": [], - "resolved_value": "48rem", - "occurrences": 2, - "files_count": 2, - "kind": "spacing" - }, - { - "id": "7510bf0659c0b907", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--width-content-wide", - "alias_chain": [], - "resolved_value": "82rem", - "occurrences": 2, - "files_count": 2, - "kind": "spacing" - }, - { - "id": "fa65d4f2edcd08c1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-2xs", - "alias_chain": [], - "resolved_value": "0 1px 0 0 rgba(0, 0, 0, 0.05)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "5a27056f85891a62", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-xs", - "alias_chain": [], - "resolved_value": "0 0 1px 0 rgba(0, 0, 0, 0.05)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "a87de952d6a2da39", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-sm", - "alias_chain": [], - "resolved_value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 4px 8px -2px rgba(0, 0, 0, 0.06)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "94abf8590fdece38", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-md", - "alias_chain": [], - "resolved_value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 8px 16px -4px rgba(0, 0, 0, 0.1)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "b6c5a52932b369cf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-lg", - "alias_chain": [], - "resolved_value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 16px 32px -8px rgba(0, 0, 0, 0.1)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "1a364c72c87e1619", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-xl", - "alias_chain": [], - "resolved_value": "0 0 2px 0 rgba(0, 0, 0, 0.1), 0 24px 48px -12px rgba(0, 0, 0, 0.1)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "0043b50761b531cd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-2xl", - "alias_chain": [], - "resolved_value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "d6ecb2f85ba7bd89", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--shadow-inner", - "alias_chain": [], - "resolved_value": "inset 0 0 1px 0 rgba(0, 0, 0, 0.40)", - "occurrences": 1, - "files_count": 1, - "kind": "shadow" - }, - { - "id": "66e832b0660c1e41", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xs", - "alias_chain": [], - "resolved_value": "0.8125rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8e5392e78184ed9e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xs--line-height", - "alias_chain": [], - "resolved_value": "1rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ba081e832341d35d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xs--letter-spacing", - "alias_chain": [], - "resolved_value": "0", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ce0c2455fe8870ed", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-sm", - "alias_chain": [], - "resolved_value": "0.875rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "0281089151df7dfd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-sm--line-height", - "alias_chain": [], - "resolved_value": "1.25rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "225aa6e4aeed85e3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-sm--letter-spacing", - "alias_chain": [], - "resolved_value": "0", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "55123c3245f19aa4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-base", - "alias_chain": [], - "resolved_value": "1rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "ee0161a8e6ca99ef", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-base--line-height", - "alias_chain": [], - "resolved_value": "1.5rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "5ee269d063509968", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-base--letter-spacing", - "alias_chain": [], - "resolved_value": "0", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "97bbcfe8b6060fa0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-lg", - "alias_chain": [], - "resolved_value": "1.125rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "47300c39e633cdf6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-lg--line-height", - "alias_chain": [], - "resolved_value": "1.75rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "935c30866e13b3cb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-lg--letter-spacing", - "alias_chain": [], - "resolved_value": "0", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "d911833648b32e76", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xl", - "alias_chain": [], - "resolved_value": "1.25rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "373619ba2b51d110", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xl--line-height", - "alias_chain": [], - "resolved_value": "1.75rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "44df479ef6f4d1bc", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-xl--letter-spacing", - "alias_chain": [], - "resolved_value": "0", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "7eb3349faaca1a50", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-2xl", - "alias_chain": [], - "resolved_value": "1.5rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "73ca4e545a67df14", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-2xl--line-height", - "alias_chain": [], - "resolved_value": "2rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "a454cbddff737de5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-2xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-0.2px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "c63a0901f18a90c5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-3xl", - "alias_chain": [], - "resolved_value": "2rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "c4b7e2bd564a144d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-3xl--line-height", - "alias_chain": [], - "resolved_value": "2.25rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "8b570b82ffca8d45", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-3xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-0.4px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "4321c3a5d99db155", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-4xl", - "alias_chain": [], - "resolved_value": "2.25rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "c3f23bcc2f8b8eb4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-4xl--line-height", - "alias_chain": [], - "resolved_value": "2.5rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "b1ef6f9a3a134dd9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-4xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-0.5px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "18697afc25a36fff", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-5xl", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "568d9c986d055974", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-5xl--line-height", - "alias_chain": [], - "resolved_value": "2.75rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "4bb66ad6ded06cf3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-5xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-1.4px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "7f08cdfb9609571a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-6xl", - "alias_chain": [], - "resolved_value": "3.5rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "77a711438620a11f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-6xl--line-height", - "alias_chain": [], - "resolved_value": "3.5rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "aae2287c8c52cbc4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-6xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-2.2px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "eff7af68bd931850", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-7xl", - "alias_chain": [], - "resolved_value": "3.5rem", - "occurrences": 3, - "files_count": 1, - "kind": "typography" - }, - { - "id": "bb973a987a56afac", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-7xl--line-height", - "alias_chain": [], - "resolved_value": "3.5rem", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "31a9714a11c3f3a7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--text-7xl--letter-spacing", - "alias_chain": [], - "resolved_value": "-2.2px", - "occurrences": 1, - "files_count": 1, - "kind": "typography" - }, - { - "id": "53917d98c1276542", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "--animate-highlights-tab-fade-in", - "alias_chain": [], - "resolved_value": "highlights-tab-fade-in 150ms ease forwards", - "occurrences": 1, - "files_count": 1, - "kind": "motion" - } - ], - "components": [ - { - "id": "ddef674fd66fa3c6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Accordion", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/accordion.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d55058c19478ad1f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Actions", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/actions.tsx", - "group": "ai-elements", - "exports": ["Actions", "Action"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f4830fca93a31784", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Artifact", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/artifact.tsx", - "group": "ai-elements", - "exports": [ - "Artifact", - "ArtifactHeader", - "ArtifactClose", - "ArtifactTitle", - "ArtifactDescription", - "ArtifactActions", - "ArtifactAction", - "ArtifactContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2a22b533234d8314", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Branch", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/branch.tsx", - "group": "ai-elements", - "exports": [ - "Branch", - "BranchMessages", - "BranchSelector", - "BranchPrevious", - "BranchNext", - "BranchPage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "656dc10ec8323b86", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Canvas", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/canvas.tsx", - "group": "ai-elements", - "exports": ["Canvas"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "cf83cbcceee60aa7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ChainOfThought", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/chain-of-thought.tsx", - "group": "ai-elements", - "exports": [ - "ChainOfThought", - "ChainOfThoughtHeader", - "ChainOfThoughtStep", - "ChainOfThoughtSearchResults", - "ChainOfThoughtSearchResult", - "ChainOfThoughtContent", - "ChainOfThoughtImage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6ff69cb78359f6b7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "CodeBlockDownloadButton", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/code-block-download-button.tsx", - "group": "ai-elements", - "exports": ["CodeBlockDownloadButton"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6052ea94eeac95b3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "CodeBlock", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/code-block.tsx", - "group": "ai-elements", - "exports": ["CodeBlock", "CodeBlockCopyButton"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "20819056deb14473", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Confirmation", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/confirmation.tsx", - "group": "ai-elements", - "exports": [ - "Confirmation", - "ConfirmationTitle", - "ConfirmationRequest", - "ConfirmationAccepted", - "ConfirmationRejected", - "ConfirmationActions", - "ConfirmationAction" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c727e210edc319ae", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Connection", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/connection.tsx", - "group": "ai-elements", - "exports": ["Connection"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6f3ae4654fc37a20", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Context", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/context.tsx", - "group": "ai-elements", - "exports": [ - "Context", - "ContextTrigger", - "ContextContent", - "ContextContentHeader", - "ContextContentBody", - "ContextContentFooter", - "ContextInputUsage", - "ContextOutputUsage", - "ContextReasoningUsage", - "ContextCacheUsage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "545aa160b26014da", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Controls", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/controls.tsx", - "group": "ai-elements", - "exports": ["Controls"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b693f7bcda4e0d19", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Conversation", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/conversation.tsx", - "group": "ai-elements", - "exports": [ - "Conversation", - "ConversationContent", - "ConversationEmptyState", - "ScrollToBottomButton" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "08b2bbd894d5a6c0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Edge", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/edge.tsx", - "group": "ai-elements", - "exports": ["Edge"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "90c890f0a9e57665", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Image", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/image.tsx", - "group": "ai-elements", - "exports": ["Image"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e3a8ea67ca64a9a9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "InlineCitation", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/inline-citation.tsx", - "group": "ai-elements", - "exports": [ - "InlineCitation", - "InlineCitationText", - "InlineCitationCard", - "InlineCitationCardTrigger", - "InlineCitationCardBody", - "InlineCitationCarousel", - "InlineCitationCarouselContent", - "InlineCitationCarouselItem", - "InlineCitationCarouselHeader", - "InlineCitationCarouselIndex", - "InlineCitationCarouselPrev", - "InlineCitationCarouselNext", - "InlineCitationSource", - "InlineCitationQuote" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "dc07fd4400f59269", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "InputChip", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/input-chip.tsx", - "group": "ai-elements", - "exports": ["InputChip"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d6e276ccb13ce651", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Loader", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/loader.tsx", - "group": "ai-elements", - "exports": ["Loader"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8dd6010137bb4668", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ai-elements/Message", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/message.tsx", - "group": "ai-elements", - "exports": [ - "Message", - "MessageContent", - "MessageTitle", - "MessageSeparator", - "MessageAction", - "MessageGroup" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c30bf0f03bdb56e8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Node", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/node.tsx", - "group": "ai-elements", - "exports": [ - "Node", - "NodeHeader", - "NodeTitle", - "NodeDescription", - "NodeAction", - "NodeContent", - "NodeFooter" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b04ee52f466cc1ef", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "OpenInChat", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/open-in-chat.tsx", - "group": "ai-elements", - "exports": [ - "OpenIn", - "OpenInContent", - "OpenInItem", - "OpenInLabel", - "OpenInSeparator", - "OpenInTrigger", - "OpenInChatGPT", - "OpenInClaude", - "OpenInT3", - "OpenInScira", - "OpenInv0", - "OpenInCursor" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6cb61139926c4ef5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Panel", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/panel.tsx", - "group": "ai-elements", - "exports": ["Panel"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "be875baa1433ccf9", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Plan", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/plan.tsx", - "group": "ai-elements", - "exports": [ - "Plan", - "PlanHeader", - "PlanTitle", - "PlanDescription", - "PlanAction", - "PlanContent", - "PlanFooter", - "PlanTrigger" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a4f947fb8a6e6e1c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "PromptInput", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/prompt-input.tsx", - "group": "ai-elements", - "exports": [ - "PromptInputProvider", - "PromptInputAttachment", - "PromptInputAttachments", - "PromptInputActionAddAttachments", - "PromptInput", - "PromptInputBody", - "PromptInputTextarea", - "PromptInputHeader", - "PromptInputFooter", - "PromptInputTools", - "PromptInputButton", - "PromptInputActionMenu", - "PromptInputActionMenuTrigger", - "PromptInputActionMenuContent", - "PromptInputActionMenuItem", - "PromptInputSubmit", - "PromptInputSpeechButton", - "PromptInputModelSelect", - "PromptInputModelSelectTrigger", - "PromptInputModelSelectContent", - "PromptInputModelSelectItem", - "PromptInputModelSelectValue", - "PromptInputHoverCard", - "PromptInputHoverCardTrigger", - "PromptInputHoverCardContent", - "PromptInputTabsList", - "PromptInputTab", - "PromptInputTabLabel", - "PromptInputTabBody", - "PromptInputTabItem", - "PromptInputCommand", - "PromptInputCommandInput", - "PromptInputCommandList", - "PromptInputCommandEmpty", - "PromptInputCommandGroup", - "PromptInputCommandItem", - "PromptInputCommandSeparator" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0cf9789a6065bcd6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Queue", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/queue.tsx", - "group": "ai-elements", - "exports": [ - "QueueItem", - "QueueItemIndicator", - "QueueItemContent", - "QueueItemDescription", - "QueueItemActions", - "QueueItemAction", - "QueueItemAttachment", - "QueueItemImage", - "QueueItemFile", - "QueueList", - "QueueSection", - "QueueSectionTrigger", - "QueueSectionLabel", - "QueueSectionContent", - "Queue" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ca027b305fa65f1e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Reasoning", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/reasoning.tsx", - "group": "ai-elements", - "exports": ["Reasoning", "ReasoningTrigger", "ReasoningContent"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f731557ccc214089", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Response", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/response.tsx", - "group": "ai-elements", - "exports": ["Response"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "db78c133cff9d516", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ScrollStrategy", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/scroll-strategy.tsx", - "group": "ai-elements", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d1caf9be5dc09570", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Shimmer", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/shimmer.tsx", - "group": "ai-elements", - "exports": ["Shimmer"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "69b579fb708640a5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Sources", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/sources.tsx", - "group": "ai-elements", - "exports": ["Sources", "SourcesTrigger", "SourcesContent", "Source"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3980fc7d52af0d06", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Suggestion", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/suggestion.tsx", - "group": "ai-elements", - "exports": ["Suggestions", "Suggestion"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e155017cce9c2a00", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Task", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/task.tsx", - "group": "ai-elements", - "exports": [ - "TaskItemFile", - "TaskItem", - "Task", - "TaskTrigger", - "TaskContent" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "9549966a0b6b9a0e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Tool", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/tool.tsx", - "group": "ai-elements", - "exports": [ - "Tool", - "ToolHeader", - "ToolContent", - "ToolInput", - "ToolOutput" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "08ef4080b60d435f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Toolbar", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/toolbar.tsx", - "group": "ai-elements", - "exports": ["Toolbar"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f4fb1dbbfc537745", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "WebPreview", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/ai-elements/web-preview.tsx", - "group": "ai-elements", - "exports": [ - "WebPreview", - "WebPreviewNavigation", - "WebPreviewNavigationButton", - "WebPreviewUrl", - "WebPreviewBody", - "WebPreviewConsole" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1b7212a03e5f42a8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "AlertDialog", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/alert-dialog.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "19053f95a7f25d15", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Alert", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/alert.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2f7c7be6d7294243", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "AspectRatio", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/aspect-ratio.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "eeb9ed2cde45c888", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Avatar", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/avatar.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "48f212f4cc83a25a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Badge", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/badge.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0dbe004af50e9566", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Breadcrumb", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/breadcrumb.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "901180b5dbba0352", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ButtonGroup", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/button-group.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d7d00e3250cbac66", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Button", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/button.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f045ee949b640e7d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Calendar", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/calendar.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2944d908a6f479a4", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Card", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/card.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "379e8c91e39301fb", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Carousel", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/carousel.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7c88b4a1babc4ade", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Checkbox", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/checkbox.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "55af306de60e6aec", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Collapsible", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/collapsible.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "20e7deb821600237", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Combobox", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/combobox.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b351509da0976ad8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "CommandPalette", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/command-palette.tsx", - "group": "primitive", - "exports": ["CommandPalette"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "acc9159c7320d9bf", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Command", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/command.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0e55116780463e85", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Conditional", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/conditional.tsx", - "group": "primitive", - "exports": ["Conditional"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "502dd19d4eb7a5dd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ContextMenu", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/context-menu.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "5534e2b628bc144f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "conversation/Message", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/conversation/message.tsx", - "group": "conversation", - "exports": [ - "MessageList", - "Message", - "MessageOrnament", - "MessageContent", - "MessageAvatar", - "CollapsibleMessage", - "CollapsibleMessageTrigger", - "CollapsibleMessageOrnament", - "CollapsibleMessageContent", - "HumanMessage", - "AgentMessage" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "79fe20ecbc4339b0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "DateRangePicker", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/date-range-picker.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0484f932c657e3d1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "DetailLabel", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/detail-label.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a42d35a616e3c2f5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Dialog", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/dialog.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "2c28dc9aa9fa3a94", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Drawer", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/drawer.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "7d9889c37064820c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "DropdownMenu", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/dropdown-menu.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ef5c474ea2e11e4f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Empty", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/empty.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0487a45991b8a29e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Field", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/field.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3b48fc3f972b1da0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "FileChip", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/file-chip.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a46180aa75835386", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Form", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/form.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1a79031a3fb002f1", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "HoverCard", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/hover-card.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "4550d15ca8d80f9c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "IdDisplay", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/id-display.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ec5a71980f8acb0c", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "InputGroup", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/input-group.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "cc6a642b604214b3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "InputOtp", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/input-otp.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c73fdf12b2862fa7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Input", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/input.tsx", - "group": "primitive", - "exports": ["INPUT_BASE_CLASSES"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "335116a585faa1f0", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "InsightsCard", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/insights-card.tsx", - "group": "primitive", - "exports": [ - "InsightCard", - "InsightsCardRow", - "InsightsCardTitle", - "InsightsCardDescription", - "InsightsCardAction", - "InsightsCardPrimaryAction", - "InsightsCardDismiss", - "ActiveSessionRing", - "CardShimmer", - "InsightCardSkeleton" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c7127ddac8246213", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Item", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/item.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f47d929b9bfdd40a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Kbd", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/kbd.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ad28f62402fe0491", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Label", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/label.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a861cdf9a2420082", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ManagerbotIcon", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/managerbot-icon.tsx", - "group": "primitive", - "exports": ["ManagerbotIcon"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6742e1ac2e3a494d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Menubar", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/menubar.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "02cebf4fb30ee3e3", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "MetricDisplay", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/metric-display.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "dca18be357e470c8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "NavigationMenu", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/navigation-menu.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "8e79ae298f325db5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "OverviewRow", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/overview-row.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6e630497442f46ea", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Pagination", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/pagination.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "6af243e8538af662", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Popover", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/popover.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "0f00ff801f3b077d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Progress", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/progress.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f05f4e3a744d4848", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "RadioGroup", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/radio-group.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "17f00c0e0e50ff82", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Resizable", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/resizable.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d59edef7840c4489", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ScrollArea", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/scroll-area.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "459265439f2f0934", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Select", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/select.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "d5b5934bdc0be50a", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Separator", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/separator.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "ebbf4b1b84a55f3e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Sheet", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/sheet.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "20a2a273434edf53", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Shell", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/shell.tsx", - "group": "primitive", - "exports": ["Root", "Header", "Content"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "3ce0c7a5d98c5b30", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Sidebar", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/sidebar.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f4ff5cae7906ce6f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Skeleton", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/skeleton.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f3339aa3ac345a33", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Slider", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/slider.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "eec64df302434a6d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Slot", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/slot.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "441c199e3f6a13f6", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Sonner", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/sonner.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a5595d77a57dcb76", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Spinner", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/spinner.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "954a58ef1885adc5", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "StepIndicator", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/step-indicator.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "524371928e64aa4b", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Switch", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/switch.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a58ae4bf8d80bc3d", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Table", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/table.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "1c930288fae1cf79", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Tabs", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/tabs.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c42c6b72bc07a864", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "TasksBadge", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/tasks-popover/tasks-badge.tsx", - "group": "tasks-popover", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "59fce95b99f5d5ba", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "TasksPopoverPanels", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/tasks-popover/tasks-popover-panels.tsx", - "group": "tasks-popover", - "exports": ["TasksPopoverRootContext"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c470196f47145847", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "TasksPopover", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/tasks-popover/tasks-popover.tsx", - "group": "tasks-popover", - "exports": [ - "TasksPopoverHeader", - "TasksPopoverOrnament", - "TasksPopoverTitle", - "TasksPopoverActions" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "f39d57be0c508556", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Textarea", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/textarea.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "a623f84c72662c2f", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "TheManager", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/the-manager.tsx", - "group": "primitive", - "exports": ["TheManager"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "04aa9ac31b30b9dd", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "ToggleGroup", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/toggle-group.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "edab4f3febc047f8", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Toggle", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/toggle.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "e33eb699ddb46495", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Tooltip", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/tooltip.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "94edf5c718e151b7", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Trend", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/trend.tsx", - "group": "primitive", - "exports": [], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "b955e268e09c087e", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "TypingText", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/typing-text.tsx", - "group": "primitive", - "exports": ["TypingText"], - "variants": [], - "sizes": [], - "occurrences": 1 - }, - { - "id": "c5d41a3e7d542e30", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "View", - "discovered_via": "heuristic", - "file": "libs/managerbot/managerbot-ui/src/components/view.tsx", - "group": "primitive", - "exports": [ - "Root", - "Nav", - "NavTitle", - "Content", - "Footer", - "Section", - "SectionHeader", - "SectionTitle", - "SectionStatusIcon", - "SectionDescription", - "Header", - "HeaderTitle", - "HeaderDescription", - "HeaderOrnament", - "Seperator" - ], - "variants": [], - "sizes": [], - "occurrences": 1 - } - ], - "ui_surfaces": [ - { - "id": "2a314079a1bb4a31", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Managerbot conversation surface", - "kind": "source", - "locator": "apps/managerbot/managerbot-web/src/routes", - "renderability": "source-only", - "files": [ - "apps/managerbot/managerbot-web/src/routes", - "apps/managerbot/managerbot-web/src/components", - "libs/managerbot/managerbot-ui/src/components/ai-elements" - ], - "classification": { - "intent": "operate an AI workflow", - "surface_type": "agent-workspace", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.7 - }, - "signals": { - "dominant_components": [ - "PromptInput", - "Conversation", - "Artifact", - "Button" - ], - "layout_patterns": [ - "conversation pane with prompt controls and artifact surfaces" - ], - "notes": [ - "Source-only scan across web routes and managerbot UI components." - ] - } - }, - { - "id": "9962c42151b34553", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Pulse dashboard", - "kind": "source", - "locator": "apps/managerbot/managerbot-web/src/routes/pulse.tsx", - "renderability": "source-only", - "files": [ - "apps/managerbot/managerbot-web/src/routes/pulse.tsx", - "apps/managerbot/managerbot-web/src/components/pages/Pulse", - "apps/managerbot/managerbot-web/src/components/pinned-widgets" - ], - "classification": { - "intent": "monitor seller metrics and insights", - "surface_type": "dashboard", - "density": "standard", - "layout_shape": "tracker", - "confidence": 0.75 - }, - "signals": { - "dominant_components": ["View", "InsightsContent", "PinnedWidgets"], - "layout_patterns": [ - "wide content rail", - "section stack", - "metric cards" - ], - "notes": [ - "Pulse uses the View layout primitives with wide content and repeated insight/widget modules." - ] - } - }, - { - "id": "8e4012351bc48492", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Tasks list", - "kind": "source", - "locator": "apps/managerbot/managerbot-web/src/routes/tasks.tsx", - "renderability": "source-only", - "files": [ - "apps/managerbot/managerbot-web/src/routes/tasks.tsx", - "apps/managerbot/managerbot-web/src/components/tasks" - ], - "classification": { - "intent": "review and resume AI sessions", - "surface_type": "task-list", - "density": "standard", - "layout_shape": "tracker", - "confidence": 0.78 - }, - "signals": { - "dominant_components": [ - "View", - "ItemGroup", - "Item", - "Empty", - "Skeleton" - ], - "layout_patterns": [ - "sectioned list", - "recent and needs-attention groups" - ], - "notes": [ - "Tasks uses narrow View content, stacked sections, and item rows rather than freeform cards." - ] - } - }, - { - "id": "dc82cbaefa3594e2", - "source": { - "id": "managerbot", - "role": "primary", - "target": "squareup/square-web/apps/managerbot", - "commit": "002dd6938bf", - "scanned_at": "2026-05-04T00:00:00-04:00", - "scanner_version": "dogfood-managerbot" - }, - "name": "Automation management", - "kind": "source", - "locator": "apps/managerbot/managerbot-web/src/routes/panels/automations.tsx", - "renderability": "source-only", - "files": [ - "apps/managerbot/managerbot-web/src/routes/panels/automations.tsx", - "apps/managerbot/managerbot-web/src/components/automations" - ], - "classification": { - "intent": "configure recurring AI work", - "surface_type": "automation-panel", - "density": "standard", - "layout_shape": "control-surface", - "confidence": 0.75 - }, - "signals": { - "dominant_components": ["View", "Item", "Badge", "Popover", "Select"], - "layout_patterns": [ - "panel list", - "suggested automation cards", - "compact popover controls" - ], - "notes": [ - "Automation surfaces use Managerbot primitives but contain local rounded and shadow overrides for schedule popovers." - ] - } - } - ] -}