{
  "spec_version": 2,
  "extractor_version": "0.2.0",
  "url": "https://heptabase.com/",
  "final_url": "https://heptabase.com/",
  "slug": "heptabase.com",
  "captured_at": "2026-11-12T15:11:18.638Z",
  "title": "Heptabase",
  "meta": {
    "description": "Heptabase is an intelligent visual knowledge base for anyone who wants to understand and create knowledge, not just collect it.",
    "og_image": "https://heptabase.com/assets/images/opengraph-image.png",
    "og_title": "Heptabase",
    "lang": "en"
  },
  "capture": {
    "variants": [
      {
        "name": "desktop-light",
        "width": 1440,
        "height": 900,
        "scheme": "light",
        "page_height": 9008,
        "full": "screens/desktop-light-full.png",
        "fold": "screens/desktop-light-fold.png"
      },
      {
        "name": "desktop-dark",
        "width": 1440,
        "height": 900,
        "scheme": "dark",
        "page_height": 9008,
        "full": "screens/desktop-dark-full.png",
        "fold": "screens/desktop-dark-fold.png"
      },
      {
        "name": "mobile-light",
        "width": 390,
        "height": 844,
        "scheme": "light",
        "page_height": 9077,
        "full": "screens/mobile-light-full.png",
        "fold": "screens/mobile-light-fold.png"
      },
      {
        "name": "mobile-dark",
        "width": 390,
        "height": 844,
        "scheme": "dark",
        "page_height": 9077,
        "full": "screens/mobile-dark-full.png",
        "fold": "screens/mobile-dark-fold.png"
      }
    ],
    "status": 200,
    "warnings": [],
    "element_count": 6339,
    "render_quality": {
      "status": "ok",
      "reasons": [],
      "screenshot": "ok",
      "screenshot_reasons": []
    },
    "worker_os": "macos"
  },
  "color": {
    "scheme": "light",
    "palette": [
      {
        "hex": "#FFFFFF",
        "oklch": [
          1,
          0,
          0
        ],
        "role": "bg",
        "area": 0.5742,
        "uses": {
          "bg": 0.997,
          "text": 0.001,
          "border": 0,
          "fill": 0.001
        },
        "css_var": "--menu-bg",
        "variants": [
          "#FDFCFB",
          "#FCFCFC",
          "#FAF9F5",
          "#FBFAF7",
          "#FBFBFB"
        ]
      },
      {
        "hex": "#2E2E2E",
        "oklch": [
          0.301,
          0,
          0
        ],
        "role": "text",
        "area": 0.1272,
        "uses": {
          "bg": 0.011,
          "text": 0.989,
          "border": 0,
          "fill": 0
        },
        "css_var": "--text-color",
        "variants": [
          "#2B2A27",
          "#333333"
        ]
      },
      {
        "hex": "#EEEDED",
        "oklch": [
          0.947,
          0.001,
          17.2
        ],
        "role": "surface",
        "area": 0.1369,
        "uses": {
          "bg": 0.946,
          "text": 0,
          "border": 0.054,
          "fill": 0
        },
        "css_var": "--whiteboard-background",
        "variants": [
          "#F0F0EA",
          "#F0EEE6",
          "#EBEBEB",
          "#F5F3EE",
          "#F0EFED",
          "#F3F1EC"
        ]
      },
      {
        "hex": "#FCFCFC80",
        "oklch": [
          0.991,
          0,
          0
        ],
        "role": "other",
        "area": 0.0213,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--new-bg-section",
        "on_bg": "#FEFEFE"
      },
      {
        "hex": "#000000B8",
        "oklch": [
          0,
          0,
          0
        ],
        "role": "muted",
        "area": 0.0144,
        "uses": {
          "bg": 0.001,
          "text": 0.873,
          "border": 0,
          "fill": 0.125
        },
        "css_var": "--new-text-secondary",
        "on_bg": "#474747"
      },
      {
        "hex": "#F7F7F7",
        "oklch": [
          0.976,
          0,
          0
        ],
        "role": "other",
        "area": 0.0158,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--background-primary",
        "variants": [
          "#F6F6F6F5",
          "#F7F7F7F5",
          "#F4F4F4"
        ]
      },
      {
        "hex": "#D2E7EF66",
        "oklch": [
          0.915,
          0.025,
          222.6
        ],
        "role": "other",
        "area": 0.0094,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--bg-blue-sect",
        "on_bg": "#EDF5F9"
      },
      {
        "hex": "#53B1F3",
        "oklch": [
          0.731,
          0.131,
          242.2
        ],
        "role": "other",
        "area": 0.0093,
        "uses": {
          "bg": 0.09,
          "text": 0,
          "border": 0.047,
          "fill": 0.863
        },
        "css_var": "--border-blue-sect"
      },
      {
        "hex": "#00000014",
        "oklch": [
          0,
          0,
          0
        ],
        "role": "border",
        "area": 0.012,
        "uses": {
          "bg": 0.154,
          "text": 0,
          "border": 0.798,
          "fill": 0.048
        },
        "css_var": "--new-border-light",
        "on_bg": "#EBEBEB",
        "variants": [
          "#00000024",
          "#0000000A",
          "#0000000F",
          "#00000021",
          "#0000001A",
          "#0000001F"
        ]
      },
      {
        "hex": "#D8E4D366",
        "oklch": [
          0.905,
          0.026,
          136.3
        ],
        "role": "other",
        "area": 0.0074,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--bg-green-sect",
        "on_bg": "#EFF4ED"
      },
      {
        "hex": "#6A6972",
        "oklch": [
          0.525,
          0.014,
          291
        ],
        "role": "other",
        "area": 0.0052,
        "uses": {
          "bg": 0,
          "text": 0.981,
          "border": 0,
          "fill": 0.019
        },
        "css_var": "--new-text-tertiary"
      },
      {
        "hex": "#F7ECCA66",
        "oklch": [
          0.943,
          0.046,
          92.2
        ],
        "role": "other",
        "area": 0.0043,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--bg-yellow-sect",
        "on_bg": "#FCF7EA"
      },
      {
        "hex": "#F4E1CD66",
        "oklch": [
          0.92,
          0.034,
          68.8
        ],
        "role": "other",
        "area": 0.0043,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--bg-orange-sect",
        "on_bg": "#FBF3EB"
      },
      {
        "hex": "#31D86980",
        "oklch": [
          0.776,
          0.202,
          149.3
        ],
        "role": "other",
        "area": 0.0039,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--option-green",
        "on_bg": "#98ECB4"
      },
      {
        "hex": "#4B9BE61F",
        "oklch": [
          0.673,
          0.136,
          249.3
        ],
        "role": "other",
        "area": 0.0038,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "on_bg": "#E9F3FC"
      },
      {
        "hex": "#F5D6D866",
        "oklch": [
          0.902,
          0.035,
          13.4
        ],
        "role": "other",
        "area": 0.0037,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--bg-red-sect",
        "on_bg": "#FBEFEF"
      }
    ],
    "roles": {
      "bg": "#FFFFFF",
      "text": "#2E2E2E",
      "muted": "#000000B8",
      "surface": "#EEEDED",
      "accent": "#207DFF",
      "border": "#00000014"
    },
    "accent_strategy": "dual-accent",
    "contrast": {
      "text_on_bg": 13.58,
      "muted_on_bg": 9.23,
      "accent_on_bg": 3.86
    },
    "gradients": [
      "radial-gradient(110% 90% at 10% 10%, rgba(255, 255, 255, 0.35), rgba(0, 0, 0, 0) 52%), linear-gradient(rgb(233, 230, 223) 0%, rgb(213, 210, 202) 100%)",
      "linear-gradient(rgb(250, 249, 245), rgba(0, 0, 0, 0))",
      "linear-gradient(rgb(251, 251, 251) 0%, rgb(227, 227, 227) 100%)"
    ],
    "dark_mode": {
      "responds_to_prefers_color_scheme": false
    },
    "declared_accents": [],
    "accent_detail": {
      "method": "usage",
      "cta": "#2E2E2E",
      "candidates": [
        {
          "hex": "#207DFF",
          "css_var": "--new-text-link",
          "controls": 0,
          "links": 0,
          "text": 264,
          "elements": 276,
          "fills": 15,
          "area": 0.00163,
          "score": 682.7,
          "strong": true
        },
        {
          "hex": "#0F8F40",
          "controls": 0,
          "links": 0,
          "text": 114,
          "elements": 114,
          "fills": 5,
          "area": 0.00081,
          "score": 293.6,
          "strong": true
        },
        {
          "hex": "#B5801A",
          "controls": 0,
          "links": 0,
          "text": 57,
          "elements": 57,
          "fills": 0,
          "area": 0.00084,
          "score": 150.4,
          "strong": true
        },
        {
          "hex": "#3B63E0",
          "controls": 0,
          "links": 0,
          "text": 42,
          "elements": 42,
          "fills": 0,
          "area": 0.00006,
          "score": 110.6,
          "strong": true
        },
        {
          "hex": "#9333EA",
          "css_var": "--text-purple-editor",
          "controls": 0,
          "links": 0,
          "text": 36,
          "elements": 36,
          "fills": 0,
          "area": 0.00012,
          "score": 96.2,
          "strong": true
        },
        {
          "hex": "#31D86980",
          "css_var": "--option-green",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 32,
          "fills": 0,
          "area": 0.0039,
          "score": 41.2,
          "strong": true
        }
      ]
    },
    "highlights": [
      {
        "hex": "#53B1F3",
        "css_var": "--border-blue-sect",
        "elements": 20
      },
      {
        "hex": "#DE242B",
        "elements": 5
      },
      {
        "hex": "#E89A3B80",
        "css_var": "--option-orange",
        "elements": 9
      },
      {
        "hex": "#E89A3B",
        "css_var": "--border-orange-sect",
        "elements": 9
      }
    ]
  },
  "type": {
    "families": [
      {
        "family": "Inter",
        "css_family": "__Inter_582115",
        "role": "body",
        "roles": [
          "body"
        ],
        "weights": [
          400,
          450,
          500,
          600,
          700
        ],
        "share": 0.739,
        "kind": "webfont",
        "classification": "sans",
        "foundry": null,
        "stack": "__Inter_582115, __Inter_Fallback_582115, sans-serif",
        "files": [
          "https://heptabase.com/_next/static/media/ba9851c3c22cd980-s.woff2",
          "https://heptabase.com/_next/static/media/21350d82a1f187e9-s.woff2",
          "https://heptabase.com/_next/static/media/c5fe6dc8356a8c31-s.woff2",
          "https://heptabase.com/_next/static/media/19cfc7226ec3afaa-s.woff2"
        ],
        "internal_names": [
          "Inter"
        ]
      },
      {
        "family": "Instrument Sans",
        "css_family": "__instrumentSans_c1b0f9",
        "role": "display",
        "roles": [
          "display"
        ],
        "weights": [
          500
        ],
        "share": 0.187,
        "kind": "webfont",
        "classification": "sans",
        "foundry": null,
        "stack": "__instrumentSans_c1b0f9, __instrumentSans_Fallback_c1b0f9, \"Helvetica Neue\", Arial, sans-serif",
        "files": [
          "https://heptabase.com/_next/static/media/ae05c57c271ebcb0-s.p.woff2"
        ],
        "internal_names": [
          "Instrument Sans"
        ]
      },
      {
        "family": "蘋方-簡",
        "css_family": "__Inter_582115",
        "role": "other",
        "roles": [
          "other"
        ],
        "weights": [
          400
        ],
        "share": 0.04,
        "kind": "system",
        "classification": "sans",
        "stack": "__Inter_582115, __Inter_Fallback_582115, sans-serif",
        "resolved_on": "macos",
        "files": [
          "https://heptabase.com/_next/static/media/ba9851c3c22cd980-s.woff2",
          "https://heptabase.com/_next/static/media/21350d82a1f187e9-s.woff2",
          "https://heptabase.com/_next/static/media/c5fe6dc8356a8c31-s.woff2",
          "https://heptabase.com/_next/static/media/19cfc7226ec3afaa-s.woff2"
        ],
        "internal_names": [
          "蘋方-簡"
        ]
      },
      {
        "family": "Hiragino Sans",
        "css_family": "__Inter_582115",
        "role": "other",
        "roles": [
          "other"
        ],
        "weights": [
          400
        ],
        "share": 0.023,
        "kind": "system",
        "classification": "sans",
        "stack": "__Inter_582115, __Inter_Fallback_582115, sans-serif",
        "resolved_on": "macos",
        "files": [
          "https://heptabase.com/_next/static/media/ba9851c3c22cd980-s.woff2",
          "https://heptabase.com/_next/static/media/21350d82a1f187e9-s.woff2",
          "https://heptabase.com/_next/static/media/c5fe6dc8356a8c31-s.woff2",
          "https://heptabase.com/_next/static/media/19cfc7226ec3afaa-s.woff2"
        ],
        "internal_names": [
          "Hiragino Sans"
        ]
      },
      {
        "family": "Menlo",
        "css_family": "ui-monospace",
        "role": "mono",
        "roles": [
          "mono"
        ],
        "weights": [
          400
        ],
        "share": 0.001,
        "kind": "system",
        "classification": "mono",
        "stack": "ui-monospace, \"SF Mono\", \"Cascadia Code\", Menlo, monospace",
        "resolved_on": "macos",
        "internal_names": [
          "Menlo"
        ]
      }
    ],
    "declared_unused": [],
    "scale_px": [
      12,
      14,
      16,
      17,
      18,
      32,
      36,
      44,
      48
    ],
    "ratio": 1.231,
    "body_size": 17,
    "root_size": 16,
    "line_height": 1.5,
    "display_size": 48,
    "tracking_display": "-0.033em",
    "case": "sentence",
    "styles": [
      {
        "name": "display",
        "family": "Instrument Sans",
        "size_px": 48,
        "weight": 500,
        "line_height": 1.3,
        "letter_spacing_em": -0.033,
        "sample": "AI gives you answers. Heptabase builds y"
      },
      {
        "name": "headline",
        "family": "Instrument Sans",
        "size_px": 44,
        "weight": 500,
        "line_height": 1.4,
        "letter_spacing_em": -0.033,
        "sample": "All the essentials, done right."
      },
      {
        "name": "title",
        "family": "Inter",
        "size_px": 16,
        "weight": 600,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "James A. Hernández"
      },
      {
        "name": "body",
        "family": "Inter",
        "size_px": 17,
        "weight": 400,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "II's impression test applied to 'power':"
      },
      {
        "name": "body-sm",
        "family": "Inter",
        "size_px": 14,
        "weight": 400,
        "line_height": 1.429,
        "letter_spacing_em": 0,
        "sample": "An Enquiry Concerning Human Understandin"
      },
      {
        "name": "mono",
        "family": "Menlo",
        "size_px": 11,
        "weight": 400,
        "line_height": 1.455,
        "letter_spacing_em": 0,
        "sample": "search_by_semantic"
      }
    ],
    "mobile": {
      "body_size": 17,
      "display_size": 38
    }
  },
  "space": {
    "scale_px": [
      2,
      3,
      4,
      6,
      7,
      8,
      10,
      12,
      16,
      20,
      24,
      32,
      48
    ],
    "base": null,
    "base_fit": 0,
    "density": 0.126,
    "section_padding_px": 100
  },
  "shape": {
    "radii_px": [
      4,
      6,
      8,
      12,
      9999
    ],
    "dominant_radius": 6,
    "border_usage": "heavy",
    "border_width_px": 3
  },
  "depth": {
    "shadows": [
      "rgba(0, 0, 0, 0.08) -1px 0px 0px 0px inset",
      "rgba(0, 0, 0, 0.08) 0px -1px 0px 0px inset",
      "rgba(15, 15, 15, 0.1) 0px 2px 4px 0px",
      "rgba(0, 0, 0, 0.16) 0px 22px 50px 0px, rgba(0, 0, 0, 0.06) 0px 6px 14px 0px",
      "rgba(0, 0, 0, 0.08) 0px 1px 0px 0px inset"
    ],
    "style": "subtle"
  },
  "layout": {
    "container_px": 1300,
    "columns": 5,
    "hero": "centered+media-below",
    "nav": "top-sticky",
    "page_height_px": 9008,
    "section_count": 11
  },
  "motion": {
    "transitions": 105,
    "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
    "durations_ms": [
      150,
      200,
      300,
      500
    ],
    "animations": [
      "rotatingAgent_nameIn__9R8Pl",
      "hero-segment-content-in"
    ]
  },
  "components": {
    "button-primary": {
      "backgroundColor": "#2E2E2E",
      "textColor": "#FFFFFF",
      "rounded": "9999px",
      "padding": "8px 16px",
      "height": "36px",
      "fontFamily": "Inter",
      "fontSize": "16px",
      "fontWeight": 500,
      "sample": "Get started"
    },
    "button-secondary": {
      "textColor": "#000000B8",
      "rounded": "9999px",
      "padding": "3px 12px",
      "height": "28px",
      "fontFamily": "Inter",
      "fontSize": "14px",
      "fontWeight": 500,
      "border": "1px solid #00000014",
      "sample": "Readwise"
    },
    "card": {
      "rounded": "12px",
      "padding": "24px",
      "count": 15,
      "backgroundColor": "#FFFFFF",
      "border": "1px solid #00000014"
    }
  },
  "imagery": {
    "media_share": 0.57,
    "dominant_colors": [
      {
        "hex": "#EEEEEE",
        "share": 0.756
      },
      {
        "hex": "#BECBBC",
        "share": 0.097
      }
    ],
    "has_photography": null,
    "has_illustration": null
  },
  "stack": [
    "next.js",
    "tailwind",
    "posthog",
    "vercel"
  ],
  "sections": [
    {
      "index": 0,
      "kind": "nav",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 0,
        "y": 0,
        "w": 1440,
        "h": 72
      },
      "bg": "#FDFCFB",
      "crop": "img/section-00-nav.webp"
    },
    {
      "index": 1,
      "kind": "hero",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 22,
        "y": 4,
        "w": 1396,
        "h": 64
      },
      "heading": "Heptabase",
      "bg": "#FDFCFB",
      "crop": "img/section-01-hero.webp"
    },
    {
      "index": 2,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.4,
      "bbox": {
        "x": 70,
        "y": 68,
        "w": 1300,
        "h": 1600
      },
      "heading": "AI gives you answers. Heptabase builds your worldview.",
      "bg": "#FDFCFB",
      "crop": "img/section-02-feature-detail.webp"
    },
    {
      "index": 3,
      "kind": "logos",
      "kind_source": "dom",
      "confidence": 0.8,
      "bbox": {
        "x": 70,
        "y": 1668,
        "w": 1300,
        "h": 243
      },
      "heading": "Deeply understand your sources with .",
      "bg": "#FDFCFB",
      "crop": "img/section-03-logos.webp"
    },
    {
      "index": 4,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 70,
        "y": 1911,
        "w": 1300,
        "h": 808
      },
      "heading": "XII. Of the academical or sceptical Philosophy, Part III — Proper Objects of Sci",
      "bg": "#FDFCFB",
      "crop": "img/section-04-features.webp"
    },
    {
      "index": 5,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.45,
      "bbox": {
        "x": 70,
        "y": 2719,
        "w": 1300,
        "h": 1091
      },
      "heading": "Forge your worldview with nested .",
      "bg": "#FDFCFB",
      "crop": "img/section-05-feature-detail.webp"
    },
    {
      "index": 6,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 70,
        "y": 3810,
        "w": 1300,
        "h": 1592
      },
      "heading": ". divided and re-united without loss , and can be keep Metals won because they",
      "bg": "#FDFCFB",
      "crop": "img/section-06-features.webp"
    },
    {
      "index": 7,
      "kind": "gallery",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 70,
        "y": 5402,
        "w": 1300,
        "h": 930
      },
      "heading": "Designed with the best methods for learning.",
      "bg": "#FDFCFB",
      "crop": "img/section-07-gallery.webp"
    },
    {
      "index": 8,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 12,
        "y": 6332,
        "w": 1416,
        "h": 1247
      },
      "heading": "Loved by users worldwide.",
      "bg": "#FCFCFC",
      "crop": "img/section-08-features.webp"
    },
    {
      "index": 9,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 70,
        "y": 7578,
        "w": 1300,
        "h": 827
      },
      "heading": "Explore what people are making",
      "bg": "#FDFCFB",
      "crop": "img/section-09-features.webp"
    },
    {
      "index": 10,
      "kind": "footer",
      "kind_source": "dom",
      "confidence": 0.75,
      "bbox": {
        "x": 22,
        "y": 8405,
        "w": 1396,
        "h": 603
      },
      "heading": "Heptabase",
      "bg": "#FFFFFF",
      "crop": "img/section-10-footer.webp"
    }
  ],
  "images": {
    "manifest": "img/manifest.json",
    "count": 15
  },
  "review": {
    "threshold": 0.7,
    "needs_review": [
      "color.accent_strategy",
      "layout.columns",
      "layout.hero",
      "layout.section_count",
      "sections[].kind",
      "space.base",
      "space.section_padding_px"
    ],
    "vision": "not-run"
  },
  "provenance": {
    "color.roles.bg": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.roles.text": {
      "source": "dom",
      "confidence": 0.92
    },
    "color.roles.muted": {
      "source": "dom",
      "confidence": 0.82
    },
    "color.roles.surface": {
      "source": "dom",
      "confidence": 0.78
    },
    "color.roles.border": {
      "source": "dom",
      "confidence": 0.75
    },
    "color.roles.accent": {
      "source": "dom",
      "confidence": 0.72,
      "note": "most-used chromatic color on controls, links and text"
    },
    "color.accent_strategy": {
      "source": "dom",
      "confidence": 0.6,
      "note": "hue count over chromatic colors; product mockups rendered in the DOM inflate it",
      "needs_review": true
    },
    "color.palette": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.declared_accents": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.dark_mode": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.contrast": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.gradients": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.families": {
      "source": "dom",
      "confidence": 0.95,
      "note": "named from the @font-face rule that rendered (CDP platform fonts)"
    },
    "type.families[].roles": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.declared_unused": {
      "source": "dom",
      "confidence": 0.95
    },
    "type.scale_px": {
      "source": "dom",
      "confidence": 0.9
    },
    "type.body_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.display_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.styles": {
      "source": "dom",
      "confidence": 0.8
    },
    "type.ratio": {
      "source": "dom",
      "confidence": 0.7,
      "note": "geometric fit over the scale above body size"
    },
    "type.case": {
      "source": "dom",
      "confidence": 0.75
    },
    "type.line_height": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.tracking_display": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.base": {
      "source": "dom",
      "confidence": 0.5,
      "note": "no base unit explains 70% of spacing values",
      "needs_review": true
    },
    "space.scale_px": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.section_padding_px": {
      "source": "dom",
      "confidence": 0.65,
      "needs_review": true
    },
    "space.density": {
      "source": "dom",
      "confidence": 0.85
    },
    "shape.radii_px": {
      "source": "dom",
      "confidence": 0.88
    },
    "shape.dominant_radius": {
      "source": "dom",
      "confidence": 0.8
    },
    "shape.border_usage": {
      "source": "dom",
      "confidence": 0.8
    },
    "depth.shadows": {
      "source": "dom",
      "confidence": 0.9
    },
    "depth.style": {
      "source": "dom",
      "confidence": 0.75
    },
    "layout.container_px": {
      "source": "dom",
      "confidence": 0.8
    },
    "layout.columns": {
      "source": "dom",
      "confidence": 0.6,
      "note": "most common grid track count; layout grids and card grids are not separated",
      "needs_review": true
    },
    "layout.nav": {
      "source": "dom",
      "confidence": 0.78
    },
    "layout.hero": {
      "source": "dom",
      "confidence": 0.6,
      "note": "geometric heuristic over the h1 and nearby media",
      "needs_review": true
    },
    "layout.section_count": {
      "source": "dom",
      "confidence": 0.6,
      "needs_review": true
    },
    "motion": {
      "source": "dom",
      "confidence": 0.8
    },
    "components": {
      "source": "dom",
      "confidence": 0.78
    },
    "stack": {
      "source": "dom",
      "confidence": 0.85,
      "note": "globals, script URLs and response headers"
    },
    "meta": {
      "source": "dom",
      "confidence": 0.99
    },
    "sections[].bbox": {
      "source": "dom",
      "confidence": 0.8
    },
    "sections[].kind": {
      "source": "dom",
      "confidence": 0.61,
      "note": "class-name and content-count heuristics; per-section confidence in sections[].confidence",
      "needs_review": true
    },
    "imagery.media_share": {
      "source": "dom",
      "confidence": 0.8
    },
    "imagery.dominant_colors": {
      "source": "pixels",
      "confidence": 0.7,
      "note": "clustered screenshot pixels inside media boxes (approximate, OKLab ΔE 0.06 clusters)"
    }
  }
}